libs/gst/base/gstbasesink.c: Expose the render-delay as a property so things like...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4         (gst_base_sink_init), (gst_base_sink_set_property),
5         (gst_base_sink_get_property):
6         Expose the render-delay as a property so things like appsink can use it
7         to tweak the synchronisation.
8
9 2008-12-10  Peter Kjellerstedt  <pkj@axis.com>
10
11         * libs/gst/check/gstcheck.h: Allow check tests to use
12         MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
13         CK_FORK=no to be used with multiple check test that use threads.
14
15 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
16
17         * gst/gstutils.c: (gst_element_get_compatible_pad):
18         Fix a caps memory leak introduced by the last change.
19
20 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
21
22         * gst/gstutils.c: (gst_element_get_compatible_pad):
23         Check if the caps of the pads are compatible before returning
24         a pad and claiming it is compatible. This, among other things,
25         fixes a bug with gst-launch where an incompatible pad is chosen
26         and linking fails. Fixes bug #544003.
27
28 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
29
30         * libs/gst/check/gstcheck.c: (gst_check_init):
31         Revert accidentially commited patch for bug #404631 which
32         tries to print a backtrace if a testcase is terminated by
33         a signal. This code was never activated as the corresponding
34         configure.ac change wasn't committed.
35
36 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
37
38         * tests/check/libs/controller.c: (GST_START_TEST):
39         This test should return TRUE now as syncing an uncontrolled
40         object will succeed now (there's nothing to sync).
41
42 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
43
44         * libs/gst/controller/gstcontroller.c:
45           Aggregate return value for gst_controller_sync_values(). More info in
46           logging. Always set values on first sync-call.
47
48         * libs/gst/controller/gstcontrolsource.c:
49           Microoptimizations.
50
51         * libs/gst/controller/gsthelper.c:
52           Fix return code and comment.
53
54 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
55
56         * tools/gst-launch.1.in:
57           Fix description of how to specify a type in caps. Fixes #553873.
58           Also ranges and list contain values and not property-assignments.
59
60 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
61
62         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
63         Check for changed pads-list before checking the last returned
64         GstFlowReturn because the pad could have been removed and we
65         need to ignore the value in that case.
66
67 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
68
69         * libs/gst/base/gstbasetransform.c:
70         (gst_base_transform_prepare_output_buffer),
71         (gst_base_transform_getrange), (gst_base_transform_chain):
72         * libs/gst/base/gstbasetransform.h:
73         Add vmethod that is called before we start the transform and which can
74         be used to configure the transform, such as dynamic properties.
75
76 2008-12-05  David Schleef  <ds@schleef.org>
77
78         * gst/gst.c:
79         Search for plugins on win32 based on the location of the
80         gstreamer DLL.  Fixes #548786
81
82 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
83
84         * configure.ac:
85         Apparently AC_CONFIG_MACRO_DIR breaks when using more
86         than one macro directory, reverting last change.
87
88 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
89
90         * configure.ac:
91         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
92         our M4 macros.
93
94 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
95
96         Patch by: Cygwin Ports maintainer
97                   <yselkowitz at users dot sourceforge dot net>
98
99         * autogen.sh:
100         * configure.ac:
101         Require gettext 0.17 because older versions don't mix with libtool
102         2.2. At build time an older gettext version will still work.
103         Fixes bug #556091.
104
105 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
106
107         Patch by: 이문형 <iwings at gmail dot com>
108
109         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
110         Adds support for FD_CONNECT event (win32). See #562258.
111
112 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
113
114         * libs/gst/base/gstbasesink.c:
115           Turn comment into gtk-doc comment.
116
117 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
118
119         * libs/gst/base/gstbasetransform.c:
120         (gst_base_transform_acceptcaps):
121         Revert quick accepcaps attempt, it's not fully equivalent to the old
122         behaviour and thus causes regressions.
123
124 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
125
126         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
127         Fix memory leak.
128
129 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
130
131         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
132
133         * gst/gstregistry.c: (gst_registry_scan_path_level):
134         Reduce the number of stat() calls for every file from three times
135         to one time. Fixes bug #560360.
136
137 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
138
139         * libs/gst/base/gstbasetransform.c:
140         (gst_base_transform_acceptcaps):
141         Rename a variable to make the code clearer.
142
143 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
144
145         * plugins/elements/gstidentity.c:
146         Don't warning on offset==-1. Taken from _check_imperfect_offset().
147
148 2008-11-21  Michael Smith <msmith@songbirdnest.com>
149
150         * plugins/elements/gstfilesrc.c:
151           Check for localhost in URI was backwards, fix it. Fixes unit test.
152
153 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
154
155         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
156         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
157         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
158         Add beginnings of a more optimized acceptcaps function than the default
159         core one.
160
161 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
162
163         * gst/gstpad.c: (gst_pad_accept_caps):
164         Avoid getting the acceptcaps function too early.
165
166 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
167
168         * tools/gst-launch.c: (event_loop):
169         Make gst-launch handle LATENCY messages and make it recalculate the
170         latency.
171
172 2008-11-20  Michael Smith <msmith@songbirdnest.com>
173
174         * plugins/elements/gstfilesrc.c:
175           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
176           out own slightly incorrect version. Fixes use of some paths on
177           win32.
178
179 2008-11-20  Michael Smith <msmith@songbirdnest.com>
180
181         * gst/gstregistrybinary.c:
182           In win32 codepath, if we fail to write the registry, create the
183           directory for it and try again, matching the behaviour in non-win32
184           codepaths.
185
186 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
187
188         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
189         Changing the render delay changes the latency and so we must post a
190         latency message.
191
192 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
193
194         * gst/gstquery.c:
195         * gst/gstquery.h:
196         Add GstQueryType for custom queries instead of having to use the
197         not-so-very-convenient registration infrastructure to register new
198         types.
199
200 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
201
202         Patch by: Andrew Feren <acferen at yahoo dot com>
203
204         * gst/gstobject.c: (gst_object_default_deep_notify):
205         Unref the GEnumClass after usage again. Fixes bug #561501.
206
207 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
208
209         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
210         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
211         (gst_bin_change_state_func):
212         * gst/gstbin.h:
213         Add do-latency signal with the old default fallback implementation. This
214         allows for custom latency calculations for when the default is not
215         sufficient.
216         API: GstBin::do-latency signal.
217
218 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
219
220         * win32/common/libgstreamer.def:
221         Add new symbols to .def file.
222
223 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
224
225         * docs/gst/gstreamer-sections.txt:
226         * gst/gstbin.c: (gst_bin_recalculate_latency),
227         (gst_bin_change_state_func):
228         * gst/gstbin.h:
229         Add method to recalculate and redistribute the latency on a bin.
230         API: gst_bin_recalculate_latency().
231
232 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
233
234         * gst/gstbuffer.h:
235         Document the free_func.
236
237 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
238
239         * libs/gst/controller/gstinterpolation.c:
240         * libs/gst/controller/gstlfocontrolsource.c:
241         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
242         as it is mapped to a cast on non-win32 platforms.
243
244 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
245
246         * libs/gst/controller/gstcontroller.c:
247         * libs/gst/controller/gstcontrollerprivate.h:
248           Keep last-value and only call set_property if value has changed. This
249           supresses all the g_object_notifies we would trigger otherwise. It
250           also allows the user to chage the value while there is no controller
251           change.
252
253 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
254
255         * gst/gstvalue.c:
256           Don't crash if either of the string GValues is empty.
257
258 2008-11-17  Andy Wingo  <wingo@pobox.com>
259
260         * tools/gst-inspect.c (print_all_uri_handlers): New function,
261         prints a summary of what URI schemes are supported by what
262         elements.
263         (main): Plumb in support for --uri-handlers or -u, and fix the
264         argc check for -a and -u.
265
266 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
267
268         * gst/gstutils.h:
269         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
270         conversion functions.
271
272 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
273
274         * gst/gstbuffer.c: (gst_buffer_finalize):
275         Avoid costly typechecking for trivially correct pointers.
276
277         * gst/gstpoll.c: (gst_poll_wait):
278         Add some G_LIKELY here and there.
279
280         * libs/gst/base/gstadapter.c: (gst_adapter_push):
281         Add some debug info.
282
283 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
284
285         * docs/random/wtay/poll-timeout:
286         Small tweaks.
287
288 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
289
290         * tests/old/testsuite/caps/intersection.c: (main):
291         * tests/old/testsuite/plugin/loading.c: (main):
292         Remove references to deprecated API g_mem_chunk*.
293         Fixes #560442.
294
295 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
296
297         * tools/gst-inspect.c: (main):
298         Add --plugin option. Fixes #560301.
299
300 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
301
302         * docs/random/wtay/poll-timeout:
303         Quick braindump for a possible (not totally verified) atomic case.
304
305 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
306
307         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
308         (gst_registry_binary_initialize_magic),
309         (gst_registry_binary_write_cache),
310         (gst_registry_binary_check_magic):
311         * gst/gstregistrybinary.h:
312         Don't write and check a CRC for the binary registry file. It's
313         guaranteed that the registry is completely written (it's first written
314         to a temporary file and then moved) and if the registry was corrupted
315         by some hardware failure we would have bigger problems.
316
317         Bump binary registry version to 0.10.21.1 for this as it's an
318         incompatible change and to ensure that the registry gets rebuild
319         after the update.
320
321         This saves some milliseconds for reading/writing the registry.
322         Fixes bug #560399.
323
324 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
325
326         * docs/random/wtay/poll-timeout:
327         Some pseudo code for how we could implement clock timeouts with GstPoll.
328
329 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
330
331         * plugins/elements/gstfilesink.c:
332           Update Author string to match others.
333
334 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
335
336         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
337         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
338         being fixed and inline the trivial check.
339
340 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
341
342         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
343         (gst_caps_merge_structure), (gst_caps_get_structure),
344         (gst_caps_copy_nth), (gst_caps_set_simple),
345         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
346         (gst_caps_is_equal_fixed), (gst_caps_intersect),
347         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
348         (gst_caps_to_string):
349         Callgrind micro optimisations.
350         Avoid array bounds checks and force inline of trivial function.
351
352         * gst/gstobject.c: (gst_object_set_name_default):
353         -1 is equivalent to letting glib to the strlen but then there is more
354         room for optimisations and it's not our fault.
355
356         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
357         no need to clear the array, we're cool.
358
359         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
360         The most common _is_fixed() check is done on fundamental glib base
361         types so we check this first instead of doing a huge amount of
362         useless GST_TYPE_ARRAY calls.
363
364 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
365
366         * gst/gstevent.h:
367         Add a SKIP seek flag for use with advanced trickmodes.
368         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
369
370 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
371
372         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
373         No need to memset, we can clear the value ourselves.
374
375         * gst/gstvalue.c: (gst_type_is_fixed),
376         (gst_value_get_compare_func):
377         Some optimisations from a few callgrind sessions:
378         When checking if a type is fixed, check for trivial fundamental types
379         first before checking types for which we need to get the type followed
380         by the heavy duty type checks, this reduces the amount of
381         g_type_fundamental() calls a lot.
382         When getting the compare function, first check for our registered types.
383         If that fails, do the heavy duty g_type_is_a() checks, reduces the
384         amount of g_type_is_a() considerably.
385
386 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
387
388         * docs/design/part-TODO.txt:
389         Mumble something about removing GstXML.
390
391 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
392
393         * gst/gstbin.c: (gst_bin_handle_message_func):
394         Get the seqnum before we dispose the message.
395
396 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
397
398         * docs/design/part-TODO.txt:
399         Refer to the framestepping document.
400
401 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
402
403         * gst/gstbin.c: (bin_handle_async_start),
404         (gst_bin_handle_message_func), (gst_bin_query):
405         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
406         (gst_base_sink_event), (gst_base_sink_change_state):
407         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
408         (gst_base_src_loop), (gst_base_src_change_state):
409         Copy seqnums from events to messages so that they can all be related
410         back to eachother.
411
412 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
413
414         * tools/gst-launch.c: (event_loop):
415         Print the message seqnums.
416
417 2008-11-04  Andy Wingo  <wingo@pobox.com>
418
419         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
420
421 2008-11-04  Andy Wingo  <wingo@pobox.com>
422
423         Add sequence numbers to events and messages. See #559250.
424
425         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
426         API: New functions.
427
428         * gst/gstevent.h:
429         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
430         events with a new sequence number, and copy it when copying.
431         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
432         an event's sequence number.
433
434         * gst/gstmessage.h:
435         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
436         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
437         so with messages.
438
439         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
440
441 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
442
443         * docs/manual/advanced-position.xml:
444         * docs/manual/basics-bins.xml:
445         * docs/manual/basics-bus.xml:
446         * docs/manual/basics-pads.xml:
447         * docs/manual/intro-gstreamer.xml:
448         * docs/manual/intro-preface.xml:
449         Some Application Development Manual fixes thanks to
450         Andrew Feren. Fixes #558459.
451
452 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
453
454         * gst/gstregistrybinary.c:
455           Don't bother with the GTimer if we don't output the results.
456
457 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
458
459         Patch by: David Schleef  <ds@schleef.org>
460
461         * libs/gst/net/Makefile.am:
462         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
463
464 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
465
466         * gst/gstregistrybinary.c:
467           Oh my, studip, stupid me. Remove double stat() call.
468
469 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
470
471         * gst/gstpreset.c:
472           Use g_unlink instead of unlink.
473
474         * gst/gststructure.c:
475           Use glib type.
476
477         * gst/gstutils.c:
478           Add a FIXME:.
479
480         * gst/gsttaglist.c:
481         * gst/gsttypefind.c:
482         * gst/gstvalue.c:
483           Formatting & whitespaces.
484
485 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
486
487         * plugins/elements/gstidentity.c:
488           Doc typo. Use return value of parent_class->event.
489   
490         * plugins/elements/gsttypefindelement.c:
491           Chain up at the end for consistency.
492   
493 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
494
495         * docs/Makefile.am:
496         * docs/gst/gstreamer-docs.sgml:
497         * docs/gst/gstreamer-sections.txt:
498         * docs/gst/running.xml:
499         * docs/libs/gstreamer-libs-docs.sgml:
500           Change to xinclude based build - its faster and easier to maintain.
501
502 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
503
504         * gst/gstregistrybinary.c:
505         * gst/gstregistryxml.c:
506           Use g_unlink() as none of these are directories.
507
508 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
509
510         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
511         Some more comments.
512
513 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
514
515         * libs/gst/base/gstbasetransform.c:
516         (gst_base_transform_find_transform), (gst_base_transform_getrange):
517         If we have a fixate function, call it even if we already have fixed caps
518         because the subclass might add some caps. Makes audioconvert add a
519         default channel layout.
520
521 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
522
523         * libs/gst/base/gstbasetransform.c:
524         (gst_base_transform_prepare_output_buffer),
525         (gst_base_transform_getrange):
526         Clear the output buffer variable.
527         Cleanups to the error path in the getrange function.
528         Fixes #557649.
529
530 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
531
532         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
533         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
534         Use gst_buffer_try_new_and_alloc() and handle errors instead of
535         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
536         be allocated.
537
538 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
539
540         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
541         Set the last_stop to a more meaningful position when configuring the
542         segment. ie. the start/stop of the segment or clipped against the
543         updated segment boundaries.
544
545         * tests/check/gst/gstsegment.c: (GST_START_TEST):
546         Add some unit tests for the last_stop.
547
548 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
549
550         * libs/gst/base/gstbytereader.c:
551         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
552         copies of them.
553
554 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
555
556         * docs/gst/gstreamer-sections.txt:
557         * gst/gstutils.h:
558         API: Move float endianness conversion macros from libgstfloatcast
559         to core as it's useful in general, even in core. Fixes bug #555196.
560         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
561         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
562         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
563
564         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
565         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
566         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
567         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
568
569 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
570
571         * docs/libs/gstreamer-libs-sections.txt:
572         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
573         (gst_byte_reader_peek_data):
574         * libs/gst/base/gstbytereader.h:
575         * win32/common/libgstbase.def:
576         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
577         to get a pointer to the data at the current position and have
578         a guaranteed size.
579
580 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
581
582         * configure.ac:
583         Fix a bug in the output of the configure script summary
584         when --gst-disable-registry is supplied
585
586 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
587
588         * libs/gst/base/gstbitreader.c:
589         * libs/gst/base/gstbytereader.c:
590         Fix the names of 2 functions in the docs strings.
591
592 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
593
594         * libs/gst/base/gstbasetransform.c:
595         (gst_base_transform_prepare_output_buffer),
596         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
597         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
598         refcount problems as seen in banshee and maybe also in farsight2.
599         Remove atomic int now that we need to take the lock anyways.
600
601 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
602
603         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
604         (gst_base_sink_default_prepare_seek_segment),
605         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
606         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
607         (gst_base_sink_query):
608         Implement more seeking in pull mode.
609         Use pad convert functions to convert position to the requested format.
610         Fix position/duration reporting in pull mode.
611         Implement position and duration reporting in other formats than time.
612
613         * libs/gst/base/gstbasesink.h:
614         Add member to keep track of when the segment is playing.
615
616 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
617
618         * gst/gstpad.c: (gst_pad_configure_src):
619         When we use gst_pad_alloc_buffer() without wanting to set the caps we
620         also don't need to check if the caps are compatible because the caller
621         presumably is going to perform its own custom checks. Fixes some cases
622         where basetransform elements would error out when it was not needed.
623
624 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
625
626         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
627         Update comment.
628
629         * libs/gst/base/gstbasetransform.c:
630         (gst_base_transform_handle_buffer),
631         (gst_base_transform_reconfigure):
632         Add some debug info.
633
634         * win32/common/libgstbase.def:
635         Add new method.
636
637 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
638
639         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
640           Remove duplicated assignment and log a message in failure case.
641
642 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
643
644         Patch by: Dig Ge <dig.ge.cn at gmail com>
645
646         * tests/examples/helloworld/helloworld.c: (main):
647           Fix copy'n'paste bug in hello world example (#556900).
648
649 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
650
651         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
652         (gst_base_sink_query):
653         Query the total number of bytes when activating the pad in pull mode.
654         Implement duration query in pull mode by using the installed pad convert
655         function to convert from bytes to the requested format.
656
657 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
658
659         * docs/libs/gstreamer-libs-sections.txt:
660         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
661         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
662         (gst_base_sink_event), (gst_base_sink_perform_seek),
663         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
664         (gst_base_sink_send_event), (gst_base_sink_change_state):
665         * libs/gst/base/gstbasesink.h:
666         Add method to commit the state in subclasses.
667         Refactor the flush_start and flush_stop code because we need it for
668         flushing while seeking too.
669         Implement the beginnings of seeking in pull mode.
670         Use the segment last_stop field for the pulling offset.
671         Fix the pause method in pull mode.
672         Configure the segment to BYTES for pull mode.
673         API: GstBaseSink::gst_base_sink_do_preroll()
674
675 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
676
677         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
678         Update some docs.
679
680 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
681
682         * gst/gstquark.c: (_priv_gst_quarks_initialize):
683           Fix printf format warning.
684
685 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
686
687         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
688         Fix flow aggregation of tee. Error out immediately for all flow returns
689         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
690         and return OK if at least one pad is linked.
691
692         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
693         and otherwise returned the flow return of the last pad, which is wrong.
694         
695         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
696         (GST_START_TEST), (tee_suite):
697         Add unit tests for the flow aggregation.
698
699 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
700
701         * docs/design/part-TODO.txt:
702         Remove item from the todo list because it was fixed with the latency
703         state change rewrites.
704
705         * docs/design/part-seeking.txt:
706         * docs/design/part-segments.txt:
707         Update some docs.
708
709         * gst/gstevent.c: (gst_event_new_new_segment_full),
710         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
711         (gst_event_parse_buffer_size), (gst_event_new_qos),
712         (gst_event_parse_qos), (gst_event_new_seek),
713         (gst_event_parse_seek), (gst_event_new_latency),
714         (gst_event_parse_latency):
715         Use quarks to construct and parse events.
716
717         * gst/gstquark.c: (_priv_gst_quarks_initialize):
718         * gst/gstquark.h:
719         Add some more quarks to the table.
720         Emit a warning when the quark tables are not in sync.
721
722         * tests/check/gst/gstbus.c: (GST_START_TEST):
723         Add an assert.
724
725 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
726
727         * plugins/elements/Makefile.am:
728         * plugins/indexers/Makefile.am:
729           Don't install static libs for plugins. Fixes #550851 for core.
730
731 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
732
733         * gst/gstbus.c: (gst_bus_source_finalize),
734         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
735         (gst_bus_enable_sync_message_emission),
736         (gst_bus_disable_sync_message_emission),
737         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
738         Fix deadlock, g_source_get_id() cannot be called in finalize.
739         Keep track of the watch source by keeping a pointer to the source object
740         instead.
741         Use the bus lock to protect access to the pointer to the current
742         watch source.
743
744 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
745
746         Base on Patch by: Olivier Crete <tester at tester dot ca>
747
748         * gst/gstbus.c: (gst_bus_source_finalize),
749         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
750         Only allow one bus watch to be set at a time. This is necessary
751         because the dispatcher pops the message from the bus and the second
752         watcher will then get NULL or the next message (and the first won't
753         get this next message then, etc). If more than one "watcher" is
754         required signal watches should be used. Fixes bug #526044.
755
756 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
757
758         * tools/gst-launch.c:
759         Change the printing of the 'buffering...' output to avoid putting
760         a \r in a translateable string (flagged by the TP).
761
762 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
763
764         * gst/gstxml.c:
765         Clarify that the save_thyself() and restore_thyself() virtual
766         functions of GstObject need to be overriden, not
767         gst_object_(save|restore)_thyself() which is impossible.
768         Fixes bug #555700.
769
770 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
771
772         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
773         Revert a patch from 21 months ago that broke caps negotiation in pull
774         mode. Basically, having a buffer pass over a pad will trigger the
775         setcaps function when caps change, just like in push mode.
776
777 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
778
779         * docs/design/part-negotiation.txt:
780         Update the docs some more.
781
782         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
783         If we pull a buffer with non-trivial caps, suggest those caps with the
784         max probability.
785
786 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
787
788         * docs/design/part-TODO.txt:
789         Add another limitation of pad-blocking with segment seeks not pushing
790         EOS events.
791
792 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
793
794         * win32/common/libgstbase.def:
795         * win32/common/libgstreamer.def:
796         Add new symbols to the win32 defs files
797
798 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
799
800         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
801         (gst_bin_handle_message_func):
802         The message src can be NULL, don't try to print the object names in that
803         case.
804
805         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
806         Add some more debug info.
807
808         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
809         (GST_START_TEST):
810         Add some debug.
811         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
812         scheduling modes.
813
814 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
815
816         * docs/design/part-negotiation.txt:
817         Small doc update.
818
819         * docs/libs/gstreamer-libs-sections.txt:
820         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
821         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
822         (gst_base_sink_init), (gst_base_sink_set_blocksize),
823         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
824         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
825         (gst_base_sink_loop), (gst_base_sink_pad_activate),
826         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
827         (gst_base_sink_change_state):
828         * libs/gst/base/gstbasesink.h:
829         Add blocksize property and methods to control the amount of data
830         to pull.
831         Negotiate first before activating upstream in pull mode so that they can
832         negotiate themselves.
833         When we operate in pull mode, we only accept the caps that we
834         negotiated.
835         Make the sink go ASYNC to PAUSED, like all other sinks.
836         API: GstBaseSink::gst_base_sink_set_blocksize()
837         API: GstBaseSink::gst_base_sink_get_blocksize()
838         API: GstBaseSink::blocksize
839
840         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
841         (gst_base_src_set_live), (gst_base_src_is_live),
842         (gst_base_src_set_format), (gst_base_src_query_latency),
843         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
844         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
845         (gst_base_src_set_property), (gst_base_src_get_property):
846         * libs/gst/base/gstbasesrc.h:
847         Add typechecking in public API functions.
848         Add methods to control the blocksize in subclasses.
849         API: GstBaseSrc::gst_base_src_set_blocksize()
850         API: GstBaseSrc::gst_base_src_get_blocksize()
851
852 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
853
854         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
855         (buffer_probe), (event_probe), (GST_START_TEST):
856         We now see 3 events go through our pad, since basesink now sends
857         upstream latency events.
858
859 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
860
861         * gst/gstpipeline.c: (gst_pipeline_change_state):
862         Release the object lock before trying to flush the bus.
863
864 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
865
866         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
867         Forward LATENCY events upstreams so that elements know about the total
868         pipeline latency. Fixes #555307.
869
870 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
871
872         * plugins/elements/gstqueue.c:
873         Allow through queries when we don't know how
874         to adjust them (not TIME or BYTES), as otherwise it's
875         not possible to query the current position in order
876         to seek in other formats at all.
877
878 2008-10-08  Andy Wingo  <wingo@pobox.com>
879
880         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
881
882 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
883
884         * gst/gstghostpad.c:
885         * gst/gstghostpad.h:
886         Unbreak -good build, private is a reserved c++ keyword.
887
888 2008-10-08  Andy Wingo  <wingo@pobox.com>
889
890         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
891         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
892         removal: re-add GST_GHOST_PAD_CAST to the header.
893
894         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
895         (GstGhostPadClass): Publically expose these structures so as to
896         allow easy subclassing from C. Hide the member data behind a
897         private opaque data pointer.
898
899         * gst/gstghostpad.c: Adapt to store instance data in the type
900         instance's private data region, not in the public struct.
901
902 2008-10-08  Andy Wingo  <wingo@pobox.com>
903
904         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
905         template via g_object_get(), be sure to unref it.
906
907         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
908
909 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
910
911         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
912         If we can't get a cache file don't try to save something to it.
913         Dereferencing NULL pointers usually isn't a good idea.
914
915 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
916
917         * tests/check/Makefile.am:
918         * tests/check/gst/gstabi.c:
919         * tests/check/gst/struct_sparc.h:
920         * tests/check/libs/libsabi.c:
921         * tests/check/libs/struct_sparc.h:
922         Add Sparc ABI checks
923
924         * tests/check/gst/gstvalue.c: (GST_START_TEST):
925         Cast signed integer to unsigned to avoid a compiler warning.
926
927 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
928
929         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
930         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
931         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
932         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
933         (gst_byte_reader_peek_int24_be):
934         Use new GST_READ_UINT24_(LE|BE) macros.
935
936 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
937
938         * docs/gst/gstreamer-sections.txt:
939         * gst/gstutils.h:
940         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
941         as it's too easy to break the ISO C strict aliasing rules with simple
942         casts to the corresponding type and this would introduce hard to debug
943         bugs. Fixes bug #545714.
944
945         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
946
947 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
948
949         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
950         * gst/gstghostpad.c: (gst_ghost_pad_construct):
951           Add 'Since' bits to gtk-doc chunks for new API.
952
953 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
954
955         * docs/gst/gstreamer-sections.txt:
956         Fix documentation
957
958 2008-10-06  Andy Wingo  <wingo@pobox.com>
959
960         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
961         that will be called on the malloc_data to free it. Basically a way
962         to avoid subclassing when all you need is a different free
963         function, i.e. free() instead of g_free().
964
965         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
966         calling the free function.
967         (gst_buffer_init): Initialize the free function to g_free.
968
969 2008-10-06  Andy Wingo  <wingo@pobox.com>
970
971         * gst/gstghostpad.h:
972         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
973         finishes the initialization of ghost pad. Useful for language
974         bindings and subclassers of GstGhostPad. Fixes #539108.
975         (gst_ghost_pad_new_full): Use the new constructor.
976
977 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
978
979         Base on Patch by: Olivier Crete <tester at tester dot ca>
980
981         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
982         (gst_bin_remove_func), (update_degree),
983         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
984         Keep track of pads that are being linked/unlinked and resync the state
985         changes.
986
987         * gst/gstpad.c: (gst_pad_get_direction),
988         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
989         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
990         (gst_pad_link_prepare), (gst_pad_link),
991         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
992         (gst_pad_check_pull_range), (gst_pad_get_range),
993         (gst_pad_pull_range):
994         Some code cleanups, use macros to check pad direction.
995         Don't need to take the lock on the pad direction.
996         Post structure change when pads are linked/unlinked.
997         Change some checks into _return_if_fail().
998
999         * tests/check/gst/gstbin.c:
1000         (test_link_structure_change_state_changed_sync_cb),
1001         (GST_START_TEST), (gst_bin_suite):
1002         Add testcase for pad link/unlinke resync during a state change.
1003         Fixes #510354.
1004
1005 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1006
1007         * docs/gst/gstreamer-sections.txt:
1008         * gst/gstmessage.c: (gst_message_new_structure_change),
1009         (gst_message_parse_structure_change):
1010         * gst/gstmessage.h:
1011         Implement STRUCTURE_CHANGED messages. These messages will be used to
1012         signal the parent bin of link/unlink operations that could require a
1013         resync when doing a state change. See ##510354.
1014         API: gst_message_new_structure_change()
1015         API: gst_message_parse_structure_change()
1016
1017 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1018
1019         * gst/gstquark.c:
1020         * gst/gstquark.h:
1021         Add some more quarks for new message. See #510354.
1022
1023 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1024
1025         * docs/libs/gstreamer-libs-docs.sgml:
1026         * docs/libs/gstreamer-libs-sections.txt:
1027         * libs/gst/base/Makefile.am:
1028         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1029         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1030         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1031         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1032         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1033         (gst_bit_reader_skip_to_byte):
1034         * libs/gst/base/gstbitreader.h:
1035         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1036         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1037         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1038         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1039         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1040         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1041         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1042         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1043         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1044         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1045         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1046         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1047         * libs/gst/base/gstbytereader.h:
1048         * tests/check/Makefile.am:
1049         * tests/check/libs/bitreader.c: (GST_START_TEST),
1050         (gst_bit_reader_suite):
1051         * tests/check/libs/bytereader.c: (GST_START_TEST),
1052         (gst_byte_reader_suite):
1053         API: Add bit reader and byte reader classes, including documentation
1054         and an extensive unit test suite. Fixes bug #553554.
1055
1056 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1057
1058         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1059         (gst_base_sink_query):
1060         Improve position reporting while flushing and other intermediate state
1061         changes. Fixes #553874.
1062
1063 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1064
1065         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1066
1067         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1068         Original patch by : Simon Descaries
1069         Fix small refount leak in caps compatibility check.
1070         Fixes #551676.
1071
1072 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1073
1074         * docs/pwg/advanced-request.xml:
1075           Fix 0.8 api usage in example. Fixes #554561
1076
1077         * docs/pwg/appendix-porting.xml:
1078           Change 0.9 to 0.10 here.
1079
1080 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1081
1082         * docs/manual/basics-data.xml:
1083           Change "event-event interaction" to "element-element interaction".
1084           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1085           updates.
1086
1087 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1088
1089         * configure.ac:
1090         Back to development -> 0.10.21.1
1091
1092 === release 0.10.21 ===
1093
1094 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1095
1096         * configure.ac:
1097           releasing 0.10.21, "Take These Things From Me"
1098
1099 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1100
1101         * configure.ac:
1102         0.10.20.4 pre-release
1103
1104 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1105
1106         * libs/gst/base/gstbasetransform.c:
1107         * plugins/elements/gstcapsfilter.c:
1108         * tests/check/Makefile.am:
1109         * tests/check/elements/.cvsignore:
1110         * tests/check/elements/capsfilter.c:
1111         Fix assertion in basetransform when the subclass chooses not to
1112         allocate a buffer in prepare_buffer(), and make capsfilter error out
1113         cleanly if requested to apply caps that don't completely specify the
1114         buffer. Fixes #551509
1115
1116 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1117
1118         * libs/gst/base/gstbasetransform.c:
1119         (gst_base_transform_prepare_output_buffer):
1120         Take new caps ref because our old one might have been gone when the
1121         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1122
1123 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1124
1125         * configure.ac:
1126           Do not probe availability of check unit test library when cross
1127           compiling, as test would not work anyway. Also cleanup verbose output
1128           of the check test. Fixes #551952.
1129
1130 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1131
1132         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1133
1134         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1135         Avoid leaking the parent ref when we fail changing the state of the
1136         element using gst_element_sync_state_with_parent(). Fixes #551978.
1137
1138 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1139
1140         * docs/manual/intro-motivation.xml::
1141           Remove some bits that no longer apply, update others (#551642).
1142
1143 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1144
1145         * configure.ac:
1146         0.10.20.2 pre-release
1147
1148         * po/LINGUAS:
1149         * po/id.po:
1150         * po/pt_BR.po:
1151
1152         New translations.
1153
1154 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1155
1156         * win32/common/config.h.in:
1157           Add GST_DATADIR, hard-code cpu to x86.
1158
1159         * win32/common/libgstreamer.def:
1160           Spaces to tabs.
1161
1162 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1163
1164         * gst/gsttaglist.h:
1165           Fix Since: markers for new geo tags.
1166
1167 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1168
1169         * gst/gsttaglist.h:
1170           Fix actual tag name define after renaming from altitude to elevation.
1171
1172 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1173
1174         * gst/gstpad.c: (add_unref_pad_to_list),
1175         (gst_pad_get_internal_links_default):
1176         Add fallback when calling the deprecated function on an element that
1177         implements the new internal_link handler.
1178
1179 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1180
1181         * docs/gst/gstreamer-sections.txt:
1182         * gst/gsttaglist.c:
1183         * gst/gsttaglist.h:
1184           Add new tags for geo location and clarify purpose of existing location
1185           tag. Fixes #481169
1186
1187 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1188
1189         Patch by: Olivier Crete <tester at tester dot ca>
1190
1191         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1192         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1193         Use thread-safe internal links iterator. Fixes #549504.
1194
1195 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1196
1197         Based on patch by: Olivier Crete <tester at tester dot ca>
1198
1199         * docs/gst/gstreamer-sections.txt:
1200         * win32/common/libgstreamer.def:
1201         * gst/gstpad.c: (gst_pad_init),
1202         (gst_pad_set_iterate_internal_links_function),
1203         (int_link_iter_data_free), (iterate_pad),
1204         (gst_pad_iterate_internal_links_default),
1205         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1206         * gst/gstpad.h:
1207         Add threadsafe replacement functions for getting internal links of an
1208         element. Deprecate the old internal links functions.
1209         API:GstPad::gst_pad_set_iterate_internal_links_function()
1210         API:GstPad::GstPadIterIntLinkFunction
1211         API:GstPad::gst_pad_iterate_internal_links()
1212         API:GstPad::gst_pad_iterate_internal_links_default()
1213
1214         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1215         (gst_proxy_pad_init):
1216         Implement threadsafe internal links.
1217
1218         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1219         Unit test for internal links on tee. See #549504.
1220
1221 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1222
1223         * tests/check/Makefile.am:
1224         libs/transform1 test requires libs/test_transform.c
1225
1226 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1227
1228         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1229         Die evil deadlock, die !
1230
1231 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1232
1233         * gst/gstutils.c: (gst_element_get_compatible_pad):
1234         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1235         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1236         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1237         not steal the refcount of the given caps as stated.
1238
1239         REVERT THIS COMMIT ONCE FIXED !
1240         REVERT THIS COMMIT ONCE FIXED !
1241         REVERT THIS COMMIT ONCE FIXED !
1242         REVERT THIS COMMIT ONCE FIXED !
1243         REVERT THIS COMMIT ONCE FIXED !
1244         REVERT THIS COMMIT ONCE FIXED !
1245
1246 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1247
1248         * gst/gstiterator.c:
1249         * gst/gstiterator.h:
1250         After 3 years it's about time to revise the documentation of the
1251         iterator objects.
1252
1253 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1254
1255         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1256         Make the internal links function less thread-unsafe and add some
1257         comments, dunno why.
1258
1259 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1260
1261         * gst/gst_private.h:
1262           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1263           build with --disable-gst-debug.
1264
1265 2008-08-28  David Schleef  <ds@schleef.org>
1266
1267         * gst/gstpadtemplate.c: Revert last change, since it breaks
1268           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1269           but shouldn't be enabled until we've released fixed versions
1270           of -good and -ffmpeg.
1271
1272 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1273
1274         * gst/gstobject.c:
1275           Put the gst_object_get_name() back in.
1276
1277 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1278
1279         * gst/gstpadtemplate.c:
1280           The old behaviour was that gst_pad_template_new() takes ownership of
1281           the caps. As we now call g_object_new() which calls g_object_set() and
1282           which copies the caps, we have to unref them to not leak them. Fixes
1283           make valgrid for me.
1284
1285 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1286
1287         * gst/gsturi.c:
1288           Don't segfault on input like "tel:+1-123-555-1234".
1289
1290 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1291
1292         * gst/gstobject.c:
1293           Due to popular request also include ObjectType in
1294           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1295
1296 2008-08-26  David Schleef  <ds@schleef.org>
1297
1298         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1299           src_val must be positive, because that's not a requirement.
1300           This causes problems with converting negative granulepos
1301           values for Dirac.
1302         * gst/gstquery.c: Same, gst_query_new_convert().
1303
1304 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1305
1306         * gst/gstclock.c: (gst_clock_add_observation):
1307         Add some more debugging to the clock slaving code.
1308
1309         * win32/common/libgstbase.def:
1310         Add new basetransform method.
1311
1312 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1313
1314         * gst/gstbin.c: (gst_bin_element_set_state):
1315         Take the (recursive) state lock between getting the locked state of an
1316         element and changing the element state. This allows the application to
1317         lock an element's state and then change its state without races.
1318
1319 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1320
1321         * gst/gstbin.c: (gst_bin_element_set_state):
1322         When an element is in the locked state we still want to update the
1323         base_time of the element.
1324
1325 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1326
1327         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1328         Use the result from gst_pad_set_caps() instead of assuming the element
1329         always accepted the caps computed by the default negotiate function.
1330
1331 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1332
1333         * docs/libs/gstreamer-libs-sections.txt:
1334         * libs/gst/base/gstbasetransform.c:
1335         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1336         (gst_base_transform_chain), (gst_base_transform_suggest),
1337         (gst_base_transform_reconfigure):
1338         * libs/gst/base/gstbasetransform.h:
1339         Implement method for reconfiguring basetransform.
1340         API: GstBaseTransform::gst_base_transform_reconfigure()
1341
1342 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1343
1344         patch by: Murray Cumming <murrayc@murrayc.com>
1345
1346         * gst/gstutils.c:
1347           Mention that this is just like gst_buffer_merge() but with extra
1348           unreffing for C coders. Advise language bindings not to wrap it.
1349           Fixes Bug #533856.
1350           
1351           Also fix file comment.
1352
1353 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1354
1355         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1356
1357         * plugins/elements/gstfakesink.c:
1358         * plugins/elements/gstfakesrc.c:
1359           Call super::event() when not handling it. Fixes #544855.
1360
1361 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1362
1363         Patch by: Alessandro Decina <alessandro@nnva.org>
1364         * plugins/elements/gstfilesrc.c:
1365           Use 64 bit variants of stat functions on win32, to enable support
1366           of large files there.
1367           Fixes #547277.
1368
1369 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1370
1371         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1372         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1373         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1374         (gst_base_sink_get_position), (gst_base_sink_change_state):
1375         Improve position reporting in the flushing state.
1376         Also report the position when we are not yet prerolled but we
1377         have a newsegment event. Fixes #543444.
1378         Improve the pull-based negotiation code.
1379
1380         * tests/check/elements/fakesink.c: (GST_START_TEST),
1381         (fakesink_suite):
1382         Add testcase for position reporting while flushing in PAUSED and
1383         PLAYING.
1384
1385         * tests/check/generic/sinks.c: (GST_START_TEST):
1386         Update unit-test, we can now query the position as soon as we receive a
1387         NEWSEGMENT event.
1388
1389 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1390
1391         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1392
1393         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1394         When the subclass event handler releases the PREROLL_LOCK, we could be
1395         in the flushing state and we have to ignore the event. Fixes #548394.
1396
1397 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1398
1399         * tools/gst-launch.1.in:
1400           Document GST_REGISTRY_UPDATE environment variable.
1401
1402 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1403
1404         * libs/gst/base/gstbasetransform.c:
1405         (gst_base_transform_prepare_output_buffer):
1406         If the element is configured in passthrough mode but the
1407         prepare_output_buffer gave us a new output buffer, discard that buffer
1408         and reuse the input buffer.
1409
1410 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1411
1412         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1413
1414         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1415         (gst_tee_request_new_pad), (gst_tee_release_pad),
1416         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1417         * plugins/elements/gsttee.h:
1418         Protect pad_alloc with a new lock so that we can be sure that nothing is
1419         performing a pad_alloc when removing the pad. Fixes #547835.
1420
1421         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1422         (buffer_alloc_harness_teardown), (app_thread_func),
1423         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1424         Added testcase for shutdown race.
1425
1426 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1427
1428         * gst/gstpad.h:
1429         Add doc
1430
1431 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1432
1433         * libs/gst/base/gstbasetransform.c:
1434         (gst_base_transform_prepare_output_buffer),
1435         (gst_base_transform_buffer_alloc):
1436         Go over the buffer_alloc function again and make sure we always end up
1437         allocating a buffer.
1438         Add some more docs.
1439         Avoid doing pad alloc when we have a pending suggestion because we
1440         cannot yet deal with changing caps in that case. Fixes #547728
1441
1442 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1443
1444         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1445
1446         * docs/manual/advanced-clocks.xml:
1447         * docs/manual/clocks.png:
1448         * docs/manual/diagrams-clocks.svg:
1449           Add one more image showing different times together with a describing
1450           paragraph. Fixes #547729.
1451
1452 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1453
1454         * win32/common/libgstbase.def:
1455         Add new method.
1456
1457 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1458
1459         * libs/gst/base/gstbasetransform.c:
1460         (gst_base_transform_transform_caps),
1461         (gst_base_transform_prepare_output_buffer),
1462         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1463         Don't overwrite the outsize when calculating the expected size of a new
1464         buffer because we still need it in case we cannot process the new
1465         buffer.
1466         When converting the size of the new buffer to an upstream size, actually
1467         use the expected size of the buffer, not some other random value.
1468         Use an atomic int to signal that a new upstream caps suggestion is
1469         available.
1470         When we can convert the current buffer to a new format, check if the
1471         buffer size is of the expected size and allocate a new buffer of the
1472         expected size when this is not the case. Fixes #546883.
1473
1474         * tests/check/libs/transform1.c: (GST_START_TEST):
1475         remove ifdeffed code from the unit test.
1476
1477 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1478
1479         * pkgconfig/gstreamer-uninstalled.pc.in:
1480         * pkgconfig/gstreamer.pc.in:
1481           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1482           called gstcontroller-0.10.
1483
1484 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1485
1486         * gst/gstchildproxy.h:
1487         * gst/gstpreset.h:
1488           Remove double interface from doc-string.        
1489
1490 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1491
1492         * libs/gst/base/gstbasesrc.c:
1493         * libs/gst/base/gstbasetransform.c:
1494           Fix headings in docs and gtk-doc warnings.
1495
1496 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1497
1498         * gst/gstregistrybinary.c:
1499           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1500           libc.
1501           Fixes #544776.
1502
1503 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1504
1505         * libs/gst/base/gstbasetransform.c:
1506         (gst_base_transform_buffer_alloc):
1507         Fix a "may be used unitialized" warning.
1508
1509 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1510
1511         * docs/gst/gstreamer-sections.txt:
1512         * gst/gstpreset.h:
1513           Document preset-iface vmethods.
1514
1515 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1516
1517         * docs/manual/advanced-interfaces.xml:
1518           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1519           only used to discover devices.
1520
1521 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1522
1523         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1524
1525         * gst/gst.c: (init_pre):
1526         Make sure gettext returns translations in UTF-8 encoding rather
1527         than in the current locale encoding (#546822).
1528
1529 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1530
1531         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1532         Fix subset test.
1533
1534         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1535         Improve unit test subset tests and add a testcase for the subset failure
1536         cases.
1537
1538         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1539         Improve subtraction unit test.
1540
1541 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1542
1543         * plugins/elements/gsttee.c:
1544           Unlock, instead of locking again.
1545
1546 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1547
1548         * gst/gstpad.h:
1549         Clarify the docs a bit more.
1550
1551 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1552
1553         * tests/examples/metadata/read-metadata.c:
1554           Don't leak old taglist.
1555
1556 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1557
1558         Patch by: Olivier Crete <tester at tester dot ca>
1559
1560         * gst/gststructure.c:
1561         (gst_structure_fixate_field_nearest_fraction):
1562         Avoid overflows in fixation code when dealing with MAXINT values, which
1563         v4l2src seems to do.
1564         Fixes #546328.
1565
1566         * tests/check/gst/gststructure.c: (GST_START_TEST):
1567         Make a unit test to check the fix. 
1568
1569 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1570
1571         * plugins/elements/gstcapsfilter.c: (copy_func),
1572         (gst_capsfilter_set_property):
1573         Use new caps suggestion feature of basetransform to request a caps
1574         negotiation upstream.
1575
1576 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1577
1578         * docs/libs/gstreamer-libs-sections.txt:
1579         Add new function:
1580         API: GstBaseTransform::gst_base_transform_suggest()
1581
1582         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1583         (gst_base_transform_init), (gst_base_transform_transform_caps),
1584         (gst_base_transform_transform_size),
1585         (gst_base_transform_configure_caps),
1586         (gst_base_transform_can_transform),
1587         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1588         (gst_base_transform_prepare_output_buffer),
1589         (gst_base_transform_buffer_alloc),
1590         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1591         (gst_base_transform_chain), (gst_base_transform_activate),
1592         (gst_base_transform_set_passthrough),
1593         (gst_base_transform_is_passthrough),
1594         (gst_base_transform_set_in_place),
1595         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1596         (gst_base_transform_set_qos_enabled),
1597         (gst_base_transform_is_qos_enabled),
1598         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1599         (gst_base_transform_reconfigure):
1600         * libs/gst/base/gstbasetransform.h:
1601         Rewrite of basetransform to perform negotiation outside of the
1602         buffer_alloc functions.  Fixes #545853.
1603
1604         * tests/check/libs/transform1.c: (GST_START_TEST),
1605         (buffer_alloc_ct2):
1606         Update unit test.
1607
1608 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1609
1610         * tests/check/gst/gstpreset.c:
1611           Only run preset tests when $HOME is writable. Preliminary fix for
1612           #545433.
1613
1614 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1615
1616         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1617         (gst_bin_change_state_func), (bin_handle_async_done),
1618         (gst_bin_handle_message_func):
1619         Fix race for bins that simulate ASYNC state changes by inserting
1620         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1621         pending ASYNC messages even when the bin does not have ASYNC children.
1622         We note detect this behaviour because we will receive an ASYNC message
1623         that is originating from the bin itself. 
1624         Fixes races with decodebin2 state changes.
1625
1626         * tests/check/gst/gstbin.c: (GST_START_TEST):
1627         Add some more debug.
1628
1629 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1630
1631         * gst/gsttaglist.c: (_gst_tag_initialize):
1632           Fix typo.
1633
1634 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1635
1636         * gst/gsttaglist.c:
1637           Argh. actually save the text before committing. Now adds
1638           gst_tag_merge_strings_with_comma() to gst_tag_register().
1639
1640 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1641
1642         * gst/gsttaglist.c:
1643         * gst/gsttaglist.h:
1644           Do as tim pointed out and actually register the new tag. Also improve
1645           te docs and use gst_tag_merge_strings_with_comma() method to allow
1646           retriving all keywords merged in one list.
1647
1648 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1649
1650         * configure.ac:
1651         * docs/gst/gstreamer.types:
1652           Revert 'accidential' change of the configure option removal. We still
1653           need to generate the types file in configure --disable-load-save.
1654
1655 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1656
1657         * docs/gst/gstreamer-sections.txt:
1658         * gst/gsttaglist.h:
1659           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1660
1661 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1662
1663         * gst/gstpadtemplate.c:
1664           (gst_pad_template_class_init), (gst_static_pad_template_get),
1665           (gst_pad_template_new), (gst_pad_template_pad_created),
1666           (gst_pad_template_set_property), (gst_pad_template_get_property):
1667           Add "name-template", "direction", "presence" and "caps" properties,
1668           so that gst_pad_template_new() is just a thin wrapper around
1669           g_object_new(), which is better for bindings. (Fixes: #539772)
1670
1671 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1672
1673         * gst/gsturi.c:
1674           Be more liberal in what URIs we accept.
1675           Do not unescape bits of the URI for no apparent reason before passing to
1676           the element. Fixes #545352.
1677
1678 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1679
1680         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1681
1682         * gst/gst.c:
1683         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1684
1685 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1686
1687         * configure.ac:
1688         * docs/gst/gstreamer-sections.txt:
1689         * docs/gst/gstreamer.types:
1690         * docs/gst/gstreamer.types.in:
1691         * gst/Makefile.am:
1692         * gst/gst.c:
1693         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1694         * gst/gstconfig.h.in:
1695         * gst/gstelement.c: (gst_element_get_index):
1696         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1697         (gst_registry_binary_load_feature),
1698         (gst_registry_binary_read_cache):
1699         * gst/gstregistryxml.c: (load_feature),
1700         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1701         * plugins/Makefile.am:
1702         * tools/gst-indent:
1703         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1704         (print_plugin_features), (print_element_features):
1705         * tools/gst-xmlinspect.c: (print_event_masks),
1706         (print_element_info):
1707         * win32/common/gstconfig.h:
1708         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1709
1710         Disabling the indexers and URI handler code will only reduce the
1711         required amount of memory by a very small amount but on the other hand
1712         requires much more maintaince work. Apart from that many places of
1713         code are broken when disabling them.
1714
1715         Disabling the enum types doesn't reduce the required amount of memory
1716         by more than a few bytes and makes it hard to fix bugs like #539772,
1717         i.e. use the enums as GObject properties.
1718
1719 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1720
1721         * docs/design/part-TODO.txt:
1722         Add some thoughts and problems with upstream renegotiation.
1723
1724 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1725
1726         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1727         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1728         Remove silly redundant debug.
1729         Add some more debug info.
1730         Clarify the docs regarding new caps received from pad_alloc.
1731
1732 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1733
1734         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1735         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1736         Make setting the caps more threadsafe.
1737
1738 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1739
1740         * docs/design/part-element-transform.txt:
1741         Update docs.
1742
1743 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1744
1745         * plugins/elements/gstqueue.c: (gst_queue_init),
1746         (gst_queue_acceptcaps):
1747         Add and use a custom acceptcaps function instead of falling back to the
1748         potentially less optimized default implementation.
1749
1750 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1751
1752         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1753           Only sanity-check the buffer size if requested_caps == buffer_caps
1754           (ie. don't take pad caps into account, they're not relevant here)
1755
1756 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1757
1758         * plugins/elements/gsttee.c:
1759         * plugins/elements/gsttee.h:
1760           Reverting as not everything is clear yet. Needs some general design
1761           work.
1762
1763 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1764
1765         * ChangeLog:
1766           ChangeLog surgery for tee commit.
1767
1768 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1769
1770         * docs/gst/gstreamer-sections.txt:
1771           Cleanup section-file.
1772
1773 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1774
1775         * plugins/elements/gsttee.c:
1776         * plugins/elements/gsttee.h:
1777           Relay tag events in tee. Fixes parts of #474016.
1778           Downgrades 3 reoccurring debugs to log.
1779
1780 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1781
1782         * configure.ac:
1783         * libs/gst/Makefile.am:
1784           Build the net library if we have winsock2.
1785
1786 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1787
1788         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1789
1790         * docs/manual/advanced-threads.xml:
1791         * docs/manual/diagrams-pipelines.svg:
1792         * docs/manual/hello-world.png:
1793         * docs/manual/linked-elements.png:
1794         * docs/manual/mime-world.png:
1795         * docs/manual/queue.png:
1796         * docs/manual/thread-buffering.png:
1797         * docs/manual/thread-synchronizing.png:
1798           Replace one diagram with two separate ones and updates others.
1799           Fixes #542401.
1800
1801 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1802
1803         * gst/gstelement.h:
1804         Fix link in documentation.
1805
1806 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1807
1808         * gst/gstmessage.c:
1809         Fix confusing documentation.
1810
1811 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1812
1813         * libs/gst/base/gstbasesrc.h:
1814         revert the changes to the header file for the ABI.
1815
1816 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1817
1818         * libs/gst/base/gstbasesrc.c:
1819         * libs/gst/base/gstbasesrc.h:
1820         Don't cache the seekable status.
1821         Fixes bug #544174
1822
1823 2008-07-24  Rene Stadler  <mail@renestadler.de>
1824
1825         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1826         code to close the pipeline graph.  This prevents the program from
1827         printing internal data flow errors.
1828
1829 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1830
1831         * docs/manual/basics-bus.xml:
1832         Correct typo. Fixes bug #544320.
1833
1834 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1835
1836         * configure.ac:
1837           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1838           Add check (taken from -base) for winsock, adds WIN32_LIBS
1839         * gst/Makefile.am:
1840           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1841           winsock.
1842           Define GST_EXPORTS when building libgstreamer (only used on win32)
1843         * gst/gst_private.h:
1844         * gst/gstinfo.h:
1845           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1846           for symbols that we need to export in both these files.
1847         * gst/gstpoll.c:
1848           Include gst_private.h higher up to avoid some compile problems on win32.
1849
1850 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1851
1852         * gst/gstvalue.c:
1853         Fix typos.
1854
1855 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1856
1857         * gst/gstcaps.c:
1858         Previous commit was wrong NULL caps does not exist
1859         and indicate an error, so also add a FIXME to
1860         gst_caps_is_equal where NULL caps are accepted.
1861
1862 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1863
1864         * gst/gstcaps.c:
1865         Allow passing of NULL to gst_caps_union
1866
1867 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1868
1869         * gst/gstghostpad.c:
1870         Add in doc that gst_ghost_pad_set_target can accept
1871         NULL to clear target
1872
1873 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1874
1875         * gst/gstplugin.c:
1876         * gst/gstregistry.c:
1877           GstRegistryPool doesn't exist; don't refer to it in docs.
1878           Don't refer to functions that don't exist in docs, it's
1879           unhelpful.
1880
1881 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1882
1883         * gst/gst.c:
1884         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1885
1886 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1887
1888         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1889
1890         * docs/pwg/building-testapp.xml:
1891         Don't use an undeclared variable in the example program.
1892         Fixes bug #542573.
1893
1894 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1895
1896         * gst/gstdebugutils.c:
1897           Squeeze ghost-pad links and remove <> from classname labels to save
1898           more horizontal space.
1899
1900 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1901
1902         * gst/gstdebugutils.c:
1903           Give request and sometimes pads a different shpe style. Condense the
1904           graphs a little more.
1905
1906 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1907
1908         * configure.ac:
1909           Don't require flex and bison if the parser is disabled.
1910
1911 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1912
1913         * libs/gst/controller/gstinterpolationcontrolsource.c:
1914         (_list_find_sorted_custom):
1915         Don't use declarations after statements.
1916
1917 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1918
1919         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1920         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1921         of the the child-added / -removed signals as GstChildProxy
1922         only supports GstObjects.
1923
1924 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1925
1926         * gst/gstdebugutils.c:
1927         Fix memleak
1928
1929 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1930
1931         Patch by: Alessandro Decina <alessandro at nnva dot org>
1932
1933         * gst/gstpoll.c:
1934         Fix "ignored return value" compiler warning with newer glibc.
1935
1936 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1937
1938         * gst/gstchildproxy.c:
1939         Fix copy&paste error in gst_child_proxy_removed() documentation.
1940
1941 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1942
1943         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1944           Print error debug message if plugin description fields that should
1945           be set are NULL.
1946
1947         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1948           Don't crash if the string to serialise is NULL (it really should
1949           not be, but apparently this used to work with the xml registry ...).
1950
1951 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1952
1953         * tools/gst-plot-timeline.py:
1954         Fix parsing of log messages
1955
1956 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1957
1958         * win32/common/libgstbase.def::
1959           Sort alphabetically so make check-exports doesn't barf.
1960
1961 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1962
1963         * gst/gstevent.c:
1964           Use gst_format_get_name() to improve debug output.
1965
1966         * gst/gstpreset.c:
1967           Remove #ifdef'ed code. Add TODO comment.
1968
1969         * gst/gstsegment.c:
1970           Add debug output to ease spotting format != segment.format assertions.
1971
1972 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1973
1974         * tests/check/libs/gdp.c: (gst_dp_suite):
1975         Also enable the GDP unit test again on PPC now that the bug
1976         is fixed.
1977
1978 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1979
1980         * libs/gst/dataprotocol/dataprotocol.c:
1981         Don't write to the same region of memory as a uint64 and uint16
1982         as this breaks strict aliasing rules and apparantly breaks on PPC
1983         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1984
1985 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1986
1987         * libs/gst/controller/gstinterpolationcontrolsource.c:
1988           Optimize list handling. Use own find function. Exploit that fact that
1989           the list is sorted. Also pass back the node before, so that we can
1990           insert quickly. Have a fast path for append.
1991
1992 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1993
1994         * docs/design/draft-framestep.txt:
1995         * docs/design/part-negotiation.txt:
1996           Fix two typos.
1997
1998 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1999
2000         * configure.ac:
2001           Show configuration sumary after configure run. Based on patch by
2002           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2003
2004 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2005
2006         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2007
2008         * docs/manual/advanced-autoplugging.xml:
2009         * docs/manual/advanced-threads.xml:
2010         * docs/manual/basics-bins.xml:
2011         * docs/manual/basics-elements.xml:
2012         * docs/manual/basics-helloworld.xml:
2013         * docs/manual/basics-pads.xml:
2014           Add scale factor for pdf output.
2015
2016         * docs/manual/intro-basics.xml:
2017           Switched sections "pads" and "bins" and added a pipeline diagram.
2018
2019         * docs/manual/intro-gstreamer.xml:
2020           Added more info on gstreamer.
2021
2022         * docs/manual/intro-motivation.xml:
2023           Commented out the whole section "current problem", which sounds
2024           historical and somehow osolete; it could be turned in a positive
2025           way and reused to improve the design principles.
2026
2027         * docs/manual/intro-preface.xml:
2028           - Update URLs to library.gnome.org. 
2029           - Do not mention GTK+ in preliminary reading (irrelevant). 
2030           - Mention Plugin Writer's Manual and further reading only in the
2031             previous section.
2032           - Added a list of most relevant GObject/glib topics.
2033
2034         * docs/manual/Makefile.am:
2035         * docs/manual/bin-element-ghost.fig:
2036         * docs/manual/bin-element-ghost.png:
2037         * docs/manual/bin-element-noghost.fig:
2038         * docs/manual/bin-element-noghost.png:
2039         * docs/manual/bin-element.fig:
2040         * docs/manual/bin-element.png:
2041         * docs/manual/filter-element-multi.fig:
2042         * docs/manual/filter-element-multi.png:
2043         * docs/manual/filter-element.fig:
2044         * docs/manual/filter-element.png:
2045         * docs/manual/gstreamer-overview.png:
2046         * docs/manual/hello-world.fig:
2047         * docs/manual/hello-world.png:
2048         * docs/manual/linked-elements.fig:
2049         * docs/manual/linked-elements.png:
2050         * docs/manual/mime-world.fig:
2051         * docs/manual/mime-world.png:
2052         * docs/manual/queue.fig:
2053         * docs/manual/queue.png:
2054         * docs/manual/simple-player.png:
2055         * docs/manual/sink-element.fig:
2056         * docs/manual/sink-element.png:
2057         * docs/manual/src-element.fig:
2058         * docs/manual/src-element.png:
2059         * docs/manual/diagrams-general.svg:
2060         * docs/manual/diagrams-pipelines.svg:
2061           Removed .fig, added .png counterpart.
2062           
2063           Fixes: #539137
2064
2065 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2066
2067         * plugins/elements/gstmultiqueue.c:
2068         * plugins/elements/gstmultiqueue.h:
2069         revert extra-size-buffers stuff, caused some race conditions
2070         and extra-size-buffers is not used anymore. Docs needs some updates
2071
2072 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2073
2074         * win32/common/config.h:
2075         * win32/common/gstenumtypes.c:
2076         * win32/common/gstenumtypes.h:
2077         * win32/common/gstversion.h:
2078           Update win32 files.
2079
2080 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2081
2082         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2083           (GST_DEBUG_BIN_TO_DOT_FILE):
2084           Add missing Since' markers to gtk-doc blurbs.
2085
2086 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2087
2088         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2089         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2090         (set_caps_1), (set_caps_ct1), (transform_ct1),
2091         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2092         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2093         (transform_size_ct2), (buffer_alloc_ct2):
2094         Add some more tests with switching caps in buffer_alloc.
2095
2096 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2097
2098         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2099         (gst_test_trans_class_init), (result_sink_chain),
2100         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2101         (gst_test_trans_push), (gst_test_trans_pop):
2102         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2103         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2104         (set_caps_1), (set_caps_ct1), (transform_ct1),
2105         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2106         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2107         (transform_size_ct2), (buffer_alloc_ct2),
2108         (gst_basetransform_suite):
2109         More tests, prepare for tests with switching caps in buffer_alloc.
2110
2111 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2112
2113         * plugins/elements/gstmultiqueue.c:
2114         * plugins/elements/gstmultiqueue.h:
2115         Fix dead-lock in underrun_cb
2116
2117 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2118
2119         * docs/design/part-states.txt:
2120         Fix device open/close docs.
2121
2122 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2123
2124         * ChangeLog:
2125           Mention bugnumber for last commit.
2126
2127 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2128
2129         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2130
2131         * docs/manual/manual.xml:
2132         - Reorganised the previous "introduction" bundle into Foreword,
2133         Introduction, and About GStreamer. The two first are <preface>
2134         docbook elements. The later is the first part of the book.
2135         - added intro-gstreamer.xml (content partially from
2136         intro-preface.xml)
2137         - moved appendix-win32.xml into appendix-integration.xml
2138
2139         * docs/manual/intro-preface.xml: gstreamer section moved...
2140         * docs/manual/intro-gstreamer.xml: ...here. new file.
2141
2142         * docs/manual/appendix-win32.xml: removed file. Content moved...
2143         * docs/manual/appendix-integration.xml: ...here.
2144         
2145         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2146         * docs/manual/appendix-checklist.xml: ...here.
2147         
2148         Fixes: 538764
2149
2150 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2151
2152         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2153
2154         * docs/manual/basics-helloworld.xml:
2155         * docs/manual/hello-world.fig:
2156           - Explicitely include glib.h.
2157           - Do not use global variables.
2158           - Use g_printerr() instead of g_print().
2159           - Minor formating/renaming to increase readibility.
2160           - Renamed new_pad() to on_pad_added()
2161           - Improved explenatory comments.
2162           - renamed ogg parser to ogg demuxer
2163           - Use "autoaudiosink" instead of "alsasink".
2164           Fixes: #538619
2165
2166 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2167
2168         * ChangeLog:
2169           Remove cvs conflict marker.
2170
2171 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2172
2173         * docs/README:
2174           Document that for plgin-docs we extraxt he short-desc from the element
2175           details.
2176
2177         * docs/design/part-states.txt:
2178           Tell that devices should be closed in PAUSED -> READY.
2179
2180         * docs/manual/README:
2181           Document how tests in the manual are handled.
2182
2183         * docs/manuals.mak:
2184           Typo in comment.
2185
2186 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2187
2188         * gst/gstbin.c: (bin_query_latency_fold):
2189         Only care about latency min and max when the sink is actually a live
2190         sink.
2191
2192 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2193
2194         * docs/design/part-block.txt:
2195         Fix typo.
2196
2197         * docs/design/part-element-transform.txt:
2198         Add notes about why transform needs to know input/output sizes.
2199         Add some issues that need to be solved.
2200         Add some more use cases.
2201
2202         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2203         (gst_test_trans_class_init), (result_sink_chain),
2204         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2205         (gst_test_trans_push), (gst_test_trans_pop):
2206         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2207         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2208         (set_caps_1), (set_caps_ct1), (transform_ct1),
2209         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2210         (gst_basetransform_suite):
2211         Add suport for different pad templates and buffer-alloc.
2212         Add more checks for caps and buffer-alloc.
2213         Add checks for proxy buffer alloc.
2214         Add unit test for copy transform.
2215
2216 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2217
2218         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2219
2220         * docs/manual/appendix-integration.xml:
2221         * docs/manual/appendix-licensing.xml:
2222         * docs/manual/basics-elements.xml:
2223         * docs/manual/basics-helloworld.xml:
2224         * docs/manual/basics-pads.xml:
2225         * docs/manual/highlevel-components.xml:
2226         * docs/manual/highlevel-xml.xml:
2227         * docs/manual/intro-basics.xml:
2228         * docs/manual/intro-preface.xml:
2229           Typo and formatting fixes (#538594).
2230
2231 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2232
2233         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2234         Fix some memory leaks and uses of object instances that we don't
2235         actually own.
2236
2237 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2238
2239         * plugins/elements/gstmultiqueue.c:
2240         Add functionality to extra-size-buffers property.
2241
2242 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2243
2244         * plugins/elements/gstmultiqueue.c:
2245         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2246         activate the pads if they are added in STATE_NULL.
2247
2248 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2249
2250         * docs/libs/gstreamer-libs-sections.txt:
2251         Add new API to doc
2252         * libs/gst/check/gstcheck.c:
2253         * libs/gst/check/gstcheck.h:
2254         API: gst_check_teardown_pad_by_name
2255
2256 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2257
2258         * libs/gst/check/gstcheck.c:
2259         * libs/gst/check/gstcheck.h:
2260         Also setup request pads and allow setup pads by name (#537812)
2261         API: gst_check_setup_src_pad_by_name
2262         API: gst_check_setup_sink_pad_by_name
2263
2264 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2265
2266         * tests/check/gst/gstbuffer.c:
2267         * tests/check/pipelines/parse-launch.c:
2268           Use HAVE_VALGRIND_H some more.
2269
2270 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2271
2272         * scripts/cvs-update.sh:
2273           Pass arguments to make.
2274           Run autoregen.sh if Makefile is not there.
2275
2276 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2277
2278         * configure.ac:
2279         * gst/gstinfo.c:
2280           Don't assume that <valgrind/valgrind.h> exists just because
2281           the binary is there.
2282
2283 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2284
2285         * tests/check/Makefile.am:
2286         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2287         (gst_test_trans_class_init), (gst_test_trans_init),
2288         (gst_test_trans_set_data), (result_sink_chain),
2289         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2290         (gst_test_trans_pop):
2291         * tests/check/libs/transform1.c: (GST_START_TEST),
2292         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2293         Add some test basetransform element and the beginnings of various
2294         unit tests for it.
2295
2296 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2297
2298         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2299         Increase code readability.
2300         Don't try to compare buffer offsets when ther are invalid.
2301
2302 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2303
2304         * docs/design/Makefile.am:
2305           Dist some more design docs.
2306
2307         * docs/random/moving-plugins:
2308           Small addition: good plugins mustn't have functional code
2309           within assertion macros.
2310
2311 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2312
2313         * docs/design/draft-framestep.txt:
2314         Some ideas about a framestep API
2315
2316         * docs/design/part-element-transform.txt:
2317         Start design and use cases for basetransform in order to get it
2318         fixed soon.
2319
2320 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2321
2322         * gst/gsttaglist.h:
2323           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2324           be in UTF-8 encoding.
2325
2326 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2327
2328         * gst/gstbus.c:
2329           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2330
2331 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2332
2333         * plugins/elements/gstcapsfilter.c:
2334         * plugins/elements/gstfakesink.c:
2335         * plugins/elements/gstfakesrc.c:
2336         * plugins/elements/gstfdsink.c:
2337         * plugins/elements/gstfdsrc.c:
2338         * plugins/elements/gstfilesink.c:
2339         * plugins/elements/gstfilesrc.c:
2340         * plugins/elements/gstidentity.c:
2341         * plugins/elements/gstmultiqueue.c:
2342         * plugins/elements/gstqueue.c:
2343         * plugins/elements/gsttee.c:
2344         * plugins/elements/gsttypefindelement.c:
2345           Remove short_description. Add basic docs for gsttypefindelement.
2346           Simplify markup for fakesrc/fdsrc.
2347
2348 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2349
2350         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2351         Added Since doc.
2352
2353 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2354
2355         Patch by: Joel Larsson <tilljoel at gmail dot com>
2356
2357         * docs/plugins/gstreamer-plugins.args:
2358         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2359         (gst_fd_src_init), (gst_fd_src_update_fd),
2360         (gst_fd_src_set_property), (gst_fd_src_get_property),
2361         (gst_fd_src_create):
2362         * plugins/elements/gstfdsrc.h:
2363         Add timeout property like udpsrc. Fixes #538628.
2364         Add some more docs and example pipelines.
2365
2366 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2367
2368         * docs/libs/gstreamer-libs-sections.txt:
2369         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2370         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2371         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2372         (gst_base_sink_do_sync):
2373         * libs/gst/base/gstbasesink.h:
2374         * win32/common/libgstbase.def:
2375         Add method to allow sinks to specify additional delay between the sync
2376         times and the actual rendering of the data.
2377         API: gst_base_sink_set_render_delay()
2378         API: gst_base_sink_get_render_delay()
2379
2380 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2381
2382         * configure.ac:
2383         Bump version number back to dev -> 0.10.20.1
2384
2385 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2386
2387         * docs/gst/gstreamer-sections.txt:
2388         * gst/gsttaglist.c: (_gst_tag_initialize):
2389         * gst/gsttaglist.h:
2390         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2391         Fixes bug #538568.
2392
2393 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2394
2395         * libs/gst/controller/gstcontroller.c:
2396           Revert one change, that make ret value possible uninitialized.
2397
2398 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2399
2400         * libs/gst/controller/gstcontroller.c:
2401           Use freeze/thaw notify to sync notify emission a bit (its also more
2402           efficient). Move debug output to LOG (is called a lot in a loop).
2403           Always unset g_values if the have been initialized.
2404
2405 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2406
2407         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2408         (gst_base_sink_wait_eos), (gst_base_sink_event):
2409         If we have not seen a buffer before EOS, use the segment values to
2410         report the current position instead of invalid positions.
2411
2412 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2413
2414         * docs/plugins/tmpl/.cvsignore:
2415         * tests/check/gst/.cvsignore:
2416           Ignore more.
2417
2418 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2419
2420         * libs/gst/controller/gstinterpolation.c:
2421         * libs/gst/controller/gstinterpolationcontrolsource.c:
2422         * tests/check/libs/controller.c:
2423           Rewrite handling of default values. Fix overflow with unsigned types
2424           in linear interpolation. Remove now obsolete _first_value() function.
2425           Add more tests. Fixes #538201.
2426
2427 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2428
2429         * libs/gst/base/gstbasetransform.c:
2430         (gst_base_transform_class_init), (gst_base_transform_init),
2431         (gst_base_transform_transform_caps),
2432         (gst_base_transform_prepare_output_buffer):
2433         Add debug info.
2434         When a buffer is writable, its metadata is also writable so we don't
2435         need to subbuffer (which then makes the buffer not-writable anymore).
2436
2437 === release 0.10.20 ===
2438
2439 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2440
2441         * configure.ac:
2442           releasing 0.10.20, "You Crazy Diamond"
2443
2444 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2445
2446         * configure.ac:
2447         0.10.19.3 pre-release
2448
2449 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2450
2451         * configure.ac:
2452         * gst/gstpreset.c:
2453         Rename DATADIR to GST_DATADIR to avoid build problems
2454         on win32. Patch By: David Schleef <ds@schleef.org>
2455         Fixes: #536857
2456
2457 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2458
2459         * configure.ac:
2460         Explicitely link with -ldl if dladdr() is found there. Before it was
2461         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2462         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2463
2464 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2465
2466         * gst/gsterror.c: (_gst_stream_errors_init):
2467           Fix typo (spotted by Fabricio Godoy, #536723).
2468
2469 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2470
2471         * configure.ac:
2472         0.10.19.2 pre-release
2473
2474 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2475
2476         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2477         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2478         Add some debug.
2479         Make sure we don't generate invalid QoS messages.
2480
2481 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2482
2483         * gst/gstevent.c: (gst_event_new_qos):
2484         Add some assert and docs for invalid input to the qos function.
2485
2486 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2487
2488         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2489         (gst_base_sink_get_position):
2490         The reported position must always be smaller than the last seen
2491         timestamps (or timestamp + duration for reverse).
2492
2493 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2494
2495         Patch by: Rob Bradford <rob at robster dot org dot uk>
2496
2497         * gst/gstregistry.c: (gst_registry_scan_path_level):
2498         Don't recurse into .debug directories as some distros install
2499         the debugging symbols next to the plugins in .debug directories
2500         and dlopen() crashes on them sometimes. Fixes bug #508070.
2501
2502         Add FIXME for 0.11 to not recurse into directories at all because
2503         it's very inconsistent to the behaviour of other PATH environment
2504         variables.
2505
2506 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2507
2508         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2509         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2510         Fix position query range checks in reverse playback.
2511
2512 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2513
2514         * gst/gstelement.c:
2515         * gst/gstelement.h:
2516         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2517         clear of the reference to the resulting pad must be released later
2518         or not, resulting in possible leaks. Fixes bug #533865.
2519
2520 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2521
2522         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2523
2524         * gst/gstelementfactory.c:
2525         Small doc fix. Fixes #535285.
2526
2527 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2528
2529         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2530
2531         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2532         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2533         (gst_base_src_loop), (gst_base_src_set_flushing),
2534         (gst_base_src_change_state):
2535         Make sending an EOS event to the basesrc non-blocking even if the
2536         implementation does blocking waits in the create function. This is done
2537         by unlocking the create function when EOS is sent.
2538         Fixes #535218.
2539
2540 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2541
2542         * tools/gst-inspect.c: (print_element_properties_info):
2543         If possible print the element type of GValueArray properties.
2544
2545 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2546
2547         * gst/gstiterator.c:
2548         Remove an unused field from the private GstListIterator struct.
2549
2550 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2551
2552         * libs/gst/controller/gstcontroller.c:
2553           Add parameter guards.
2554
2555 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2556
2557         * tests/check/gst/gstpipeline.c:
2558           Revert test change and add comment why it should not work.
2559
2560 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2561
2562         * tests/check/gst/gstpipeline.c:
2563           Extending the test a little to verify that we also get the NULL state-
2564           change message.
2565
2566 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2567
2568         * gst/gstpreset.c: (gst_preset_default_get_meta),
2569           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2570           (gst_preset_load_preset), (gst_preset_save_preset),
2571           (gst_preset_rename_preset), (gst_preset_delete_preset),
2572           (gst_preset_set_meta):
2573           Add Since: markers to docs blurbs.
2574
2575         * win32/common/libgstreamer.def:
2576           Add recently-added API.
2577
2578 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2579
2580         Patch by: Stefan Kost  <ensonic@users.sf.net>
2581
2582         * configure.ac:
2583         Add DATADIR for storing presets.
2584
2585         * docs/gst/gstreamer-docs.sgml:
2586         * docs/gst/gstreamer-sections.txt:
2587         * docs/gst/gstreamer.types.in:
2588         Add GstPreset to docs.
2589
2590         * gst/Makefile.am:
2591         * gst/gst.h:
2592         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2593         (preset_open_and_parse_header), (preset_parse_version),
2594         (preset_merge), (preset_get_keyfile),
2595         (gst_preset_default_get_preset_names),
2596         (gst_preset_default_get_property_names),
2597         (gst_preset_default_load_preset),
2598         (gst_preset_default_save_presets_file),
2599         (gst_preset_default_save_preset),
2600         (gst_preset_default_rename_preset),
2601         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2602         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2603         (gst_preset_default_reset), (gst_preset_get_preset_names),
2604         (gst_preset_get_property_names), (gst_preset_load_preset),
2605         (gst_preset_save_preset), (gst_preset_rename_preset),
2606         (gst_preset_delete_preset), (gst_preset_set_meta),
2607         (gst_preset_get_meta), (gst_preset_class_init),
2608         (gst_preset_base_init), (gst_preset_get_type):
2609         * gst/gstpreset.h:
2610         Add GstPreset to core. Fixes #396779
2611
2612         * tests/check/Makefile.am:
2613         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2614         (gst_preset_test_set_property), (gst_preset_test_class_init),
2615         (gst_preset_test_base_init), (gst_preset_test_get_type),
2616         (gst_preset_test_plugin_init), (GST_START_TEST),
2617         (remove_preset_file), (test_setup), (test_teardown),
2618         (gst_preset_suite):
2619         Add GstPreset unit tests.
2620
2621 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2622
2623         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2624         The default event function on a sinkpad should return TRUE when
2625         there are no internal links but should collect the return values from
2626         the internal links otherwise.
2627
2628 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2629
2630         * plugins/elements/gsttypefindelement.c:
2631         (gst_type_find_element_src_event),
2632         (gst_type_find_element_handle_event):
2633         Use faster and safer _pad_push_event().
2634
2635 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2636
2637         * docs/gst/gstreamer-sections.txt:
2638         * gst/gstutils.c: (element_find_unlinked_pad),
2639           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2640         * gst/gstutils.h:
2641           API: add gst_bin_find_unlinked_pad()
2642           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2643
2644 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2645
2646         * gst/gstclock.c:
2647         * gst/gstclock.h:
2648         * gst/gsttask.c:
2649         * gst/gsttask.h:
2650         Fixed a bunch of typos.
2651
2652 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2653
2654         * gst/gstpad.h:
2655         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2656           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2657           (gst_parse_bin_from_description_full):
2658         * gst/gstutils.h:
2659           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2660
2661 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2662
2663         * docs/pwg/advanced-tagging.xml:
2664           Small docs update, can't be bothered to rewrite the nonsensical
2665           examples right now.
2666
2667 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2668
2669         * gst/gstevent.h:
2670           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2671
2672 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2673
2674         * gst/parse/grammar.y:
2675           Remove unneeded casts.
2676
2677 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2678
2679         * gst/parse/grammar.y:
2680         * tests/check/pipelines/parse-launch.c:
2681           Get all missing elements from a parse launch string if possible
2682           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2683
2684 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2685
2686         * tests/check/Makefile.am:
2687         * tests/check/pipelines/parse-launch.c:
2688           Add some unit tests for the new gst_parse_launch*_full() API.
2689           (Exposes a previously-existing memory leak in the error code
2690           path, so adding to VALGRIND_TO_FIX for now).
2691
2692 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2693
2694         * docs/gst/gstreamer-sections.txt:
2695         * gst/gst.c: (init_post):
2696         * gst/gst_private.h: (_GstParseContext):
2697         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2698           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2699           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2700           (gst_parse_launch_full):
2701         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2702           (GstParseFlags), (GstParseContext):
2703         * gst/gstutils.c: (gst_parse_bin_from_description),
2704           (gst_parse_bin_from_description_full):
2705         * gst/gstutils.h:
2706         * gst/parse/grammar.y:
2707         * gst/parse/types.h:
2708         * win32/common/libgstreamer.def:
2709           Add new gst_parse_*_full API (#528178):
2710           API: gst_parse_launch_full()
2711           API: gst_parse_launchv_full()
2712           API: gst_parse_bin_from_description_full()
2713           API: gst_parse_context_new()
2714           API: gst_parse_context_free()
2715           API: gst_parse_context_get_missing_elements()
2716
2717 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2718
2719         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2720
2721         * docs/faq/gst-uninstalled:
2722           Also support ffmpeg in gst-uninstalled.
2723
2724 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2725
2726         * configure.ac:
2727         After discussion on IRC use the binary registry as default
2728         but allow to disable it with --disable-binary-registry.
2729
2730         * win32/common/libgstreamer.def:
2731         Add the two new symbols for the binary registry.
2732
2733 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2734
2735         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2736         * gst/gstutils.c: (gst_parse_bin_from_description):
2737         * gst/parse/grammar.y: (graph):
2738           More guards against bad input; typo fix; some minor clean-ups.
2739
2740 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2741
2742         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2743
2744         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2745         If nothing else can be used, use the last buffer's start time as
2746         the segment's last stop. Fixes bug #534258.
2747
2748 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2749
2750         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2751           Move size sanity check to the right place: downstream may return
2752           a buffer with a smaller size if the buffer caps are different than
2753           the requested ones, as may happen when doing reverse negotiation.
2754
2755 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2756
2757         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2758         (gst_file_sink_render):
2759         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2760         (gst_file_src_start):
2761         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2762         use it yet.
2763
2764 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2765
2766         * gst/gstpad.c: (gst_pad_load_and_link):
2767         * gst/gstutils.c: (gst_element_link_pads),
2768         (gst_element_unlink_pads):
2769         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2770         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2771         (gst_check_teardown_sink_pad),
2772         (gst_check_element_push_buffer_list):
2773         * tests/check/elements/fakesink.c: (GST_START_TEST):
2774         * tests/check/elements/filesink.c:
2775         * tests/check/elements/filesrc.c: (GST_START_TEST):
2776         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2777         (mq_sinkpad_to_srcpad):
2778         * tests/check/elements/tee.c: (GST_START_TEST):
2779         * tests/check/generic/sinks.c: (GST_START_TEST):
2780         * tests/check/gst/gstbin.c: (GST_START_TEST):
2781         * tests/check/gst/gstevent.c: (GST_START_TEST):
2782         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2783         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2784         * tests/check/gst/gstquery.c: (GST_START_TEST):
2785         * tests/check/gst/gstutils.c: (GST_START_TEST):
2786         * tests/check/libs/basesrc.c: (GST_START_TEST):
2787         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2788         (gst_parse_test_element_change_state):
2789         Don't use gst_element_get_pad().
2790
2791 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2792
2793         * docs/Makefile.am:
2794         Fix installing plugin documentation when gtk-doc is disabled.
2795
2796 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2797
2798         * docs/manual/advanced-autoplugging.xml:
2799         * docs/manual/basics-helloworld.xml:
2800         * docs/manual/basics-pads.xml:
2801         * docs/manual/highlevel-components.xml:
2802         Avoid using a bad function in the example code.
2803
2804 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2805
2806         * gst/gstclock.c: (gst_clock_set_calibration):
2807         Fix debug of the new clock rate.
2808
2809 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2810
2811         * win32/common/libgstbase.def:
2812         Add gst_base_sink_wait_clock() to the exported symbols.
2813
2814 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2815
2816         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2817
2818         * libs/gst/base/gstbasetransform.c:
2819         (gst_base_transform_sink_event):
2820         Unref events that the GstBaseTransform::event vfunc didn't want to
2821         have forwarded by the base class. Closes a leak in identity.
2822         Fixes bug #446763.
2823
2824 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2825
2826         * docs/libs/gstreamer-libs-sections.txt:
2827         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2828         * libs/gst/base/gstbasesink.h:
2829         Expose a method that was previously used internally to synchronize
2830         against the clock because it can be useful for subclasses too.
2831         API: GstBaseSink::gst_base_sink_wait_clock()
2832
2833 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2834
2835         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2836           Add sanity check to make sure we don't get smaller buffers
2837           than requested (and fallback to normal buffer alloc if we do).
2838
2839 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2840
2841         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2842         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2843         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2844         Refactor adjusting the running_time with latency and offset into a
2845         separate method.
2846         When doing clipping, we still want to use the subclass get_times method,
2847         just in case the DURATION or TIMESTAMP are not set.
2848
2849 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2850
2851         * docs/gst/gstreamer-sections.txt:
2852         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2853         * gst/gsttypefind.h:
2854         * win32/common/libgstreamer.def:
2855           API: add gst_type_find_suggest_simple(), #533740.
2856
2857 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2858
2859         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2860           Use right error code when typefinding fails, so we can use
2861           the default (translated) error messages.
2862
2863 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2864
2865         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2866         (gst_base_src_start):
2867         When the subclass did not set caps on outgoing buffers, configure the
2868         caps we negotiated on the source pad.
2869         When the typefind helper does not find caps, error out properly instead
2870         of doing things with NULL caps.
2871
2872 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2873
2874         * gst/gsttypefind.h:
2875           Tabs to spaces, oh yes!
2876
2877 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2878
2879         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2880           Add David's and Benjamin's tests for array intersection to the
2881           unit test suite (#147931).
2882
2883 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2884
2885         * gst/gstevent.c:
2886           Document that gst_event_new_tag() and gst_event_new_navigation()
2887           take ownership of the taglist/structure passed to them. (#533635).
2888
2889 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2890
2891         * docs/Makefile.am:
2892         Don't descend into the plugins dir if plugin docs building
2893         is disabled.
2894
2895         * docs/README:
2896         Add a note about the new type:GTypeName syntax for the plugin
2897         documentation .types file.
2898
2899 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2900
2901         * gst/gstmessage.c: (gst_message_new_error),
2902         (gst_message_new_warning), (gst_message_new_info):
2903         * gst/gstmessage.h:
2904         Mark the debug string parameters as const. Fixes bug #533490.
2905
2906 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2907
2908         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2909         Sort buffer cache list by end offsets. This makes sure that we don't
2910         stop to search for a cached buffer that contains the requested data
2911         too early.
2912         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2913         more efficient. Fixes bug #459862.
2914
2915 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2916
2917         * gst/gstinfo.c:
2918           Explain why we copy the list.
2919
2920         * gst/gstpipeline.c:
2921           Improve docs.
2922
2923         * gst/gstutils.c:
2924           Add one debug-log statement to help tracing probelms with linking pads.
2925
2926 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2927
2928         * tests/check/gst/gstinfo.c:
2929         Add a test for removing the default log handler. Seems to fail under
2930         windows.
2931
2932 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2933
2934         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2935         Release pad lock before calling out to avoid a possible deadlock.
2936
2937 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2938
2939         * gst/parse/grammar.y:
2940         Remove unneeded value unset.
2941
2942         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2943         Add unit test for de/serialization of caps.
2944
2945 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2946
2947         * plugins/elements/gstfakesink.c:
2948         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2949         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2950         (gst_fake_src_class_init):
2951         Use custom marshalers that take GstMiniObject as first parameter.
2952         Using OBJECT as parameter while a GstMiniObject is given will lead
2953         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2954
2955 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2956
2957         * plugins/elements/gsttypefindelement.c:
2958         (gst_type_find_element_handle_event),
2959         (gst_type_find_element_send_cached_events),
2960         (gst_type_find_element_change_state):
2961         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2962         immediately.
2963
2964 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2965
2966         * plugins/elements/gsttypefindelement.c:
2967         (gst_type_find_handle_src_query), (stop_typefinding),
2968         (gst_type_find_element_handle_event),
2969         (gst_type_find_element_send_cached_events),
2970         (gst_type_find_element_change_state):
2971         Forward FLUSH_START events immediately and clean up instead of
2972         caching them.
2973
2974 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2975
2976         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2977
2978         * libs/gst/base/gstbasetransform.c:
2979         (gst_base_transform_buffer_alloc):
2980         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2981         fall back to default negotiation in the chain function if the caps
2982         are different from what was requested. Fixes bug #526768.
2983
2984 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2985
2986         * gst/gstsegment.c:
2987         * tests/check/gst/gstsegment.c:
2988           No, let's not use g_slice_{dup|copy} here, since they only exist
2989           since GLib 2.14 and we still depend only on >= 2.12. Also add
2990           unit test for gst_segment_copy().
2991
2992 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2993
2994         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2995           Try to fix 'dereferencing type-punned pointer will break strict
2996           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2997           changed the default GType typedef from gulong to gsize at some point,
2998           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2999           g_once_* functions all take a gsize * though, so work around the type
3000           mismatch for C++ by doing everything in gsize and casting to GType
3001           later.
3002
3003 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
3004
3005         * plugins/elements/gstmultiqueue.c:
3006         Add documentation for the signals to push our core plugin docs
3007         coverage back up to 100%.
3008
3009 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3010
3011         * gst/gstinfo.h (GST_FUNCTION):
3012           Reverted GST_FUNCTION to the old version as we don't want the
3013           full signature in C++ code. Also added support for MSVC.
3014
3015 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3016
3017         * gst/gstutils.h:
3018         Intern the type name string, similar to what G_DEFINE_TYPE does.
3019
3020 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3021
3022         * gst/gstutils.h:
3023         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3024
3025 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3026
3027         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3028
3029         * libs/gst/base/gstbasetransform.c:
3030         (gst_base_transform_buffer_alloc):
3031         Don't passthrough buffer allocation too easily if the caps change.
3032         This breaks when working in passthrough mode and upstream changes
3033         it's caps. Fixes bug #526768.
3034
3035 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3036
3037         * gst/gstinfo.c (gst_debug_log_valist):
3038           Improved the __FILE__ part of debug output for MSVC.
3039
3040 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3041
3042         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3043           Declaration after statement fix for compilers like MSVC.
3044
3045 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3046
3047         * win32/common/config.h.in:
3048           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3049           use the real thing than having "???" unconditionally.
3050
3051 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3052
3053         * gst/gstinfo.h (GST_FUNCTION):
3054           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3055
3056 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3057
3058         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3059         Small code cleanup.
3060
3061         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3062         (gst_base_sink_set_flushing):
3063         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3064         Fix some comments.
3065
3066 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3067
3068         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3069         (gst_fake_src_init), (gst_fake_src_set_property),
3070         (gst_fake_src_get_property), (gst_fake_src_start):
3071         * plugins/elements/gstfakesrc.h:
3072         Added format property to control the format of the newsegment events.
3073         API: GstFakeSrc:format
3074
3075 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3076
3077         * win32/common/libgstreamer.def:
3078         Add gst_pad_has_name() to the exported symbols.
3079
3080 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3081
3082         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3083         * libs/gst/base/gstbasetransform.c:
3084         (gst_base_transform_prepare_output_buffer):
3085         Don't allow negative sizes when allocating new buffers.
3086         Fixes bug #461253.
3087
3088 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3089
3090         Patch by: Sjoerd Simons <sjoerd at luon net>
3091
3092         * gst/gstbus.c: (gst_bus_source_dispatch):
3093           Don't print a warning if the queue is empty when we try to pop
3094           here. That could happen if another thread or callback set the
3095           bus to flushing between the source's check/prepare and the
3096           dispatch being called (#531538).
3097
3098 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3099
3100         * plugins/elements/gstmultiqueue.c:
3101           Small docs fix.
3102         
3103 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3104
3105         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3106         Add unit test for deserializing uint64s and check some really large
3107         numbers in the int64 test.
3108
3109 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3110
3111         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3112         (print_interfaces), (print_element_properties_info),
3113         (print_signal_info):
3114         Use "%s" as format string instead of printing strings directly.
3115
3116 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3117
3118         * gst/gstclock.c: (gst_clock_set_calibration):
3119         Make some checks actually useful.
3120
3121         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3122         Remove some unused code. Unsigned integers tend to be >= 0.
3123
3124 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3125
3126         * gst/gstminiobject.c: (gst_value_get_mini_object):
3127           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3128           function was not in the unscheduled 0.10.19 release.
3129
3130 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3131
3132         * gst/gstregistry.c: (gst_registry_scan_path_level):
3133           Only print one log message per non-plugin file.
3134
3135 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3136
3137         * gst/gstinfo.c: (gst_debug_log_default):
3138           Fix alignment of debug log columns on 64-bit.
3139
3140 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3141
3142         * docs/libs/Makefile.am:
3143         * docs/libs/gstreamer-libs-sections.txt:
3144           Ignore private controller headers for docs.
3145
3146 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3147
3148         * libs/gst/controller/gstcontrollerprivate.h:
3149         * libs/gst/controller/gsthelper.c:
3150         * libs/gst/controller/gstinterpolation.c:
3151         * libs/gst/controller/gstinterpolationcontrolsource.c:
3152         (gst_interpolation_control_source_set_interpolation_mode):
3153         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3154         * libs/gst/controller/lib.c:
3155         Move some private declarations into private headers.
3156
3157 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3158
3159         * gst/gstdebugutils.c: (debug_dump_element_pad):
3160         Remove some code that is unused after Stefan's refactoring and uses
3161         uninitialized variables now, resulting in a compiler warning.
3162
3163 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3164
3165         * gst/gstregistry.c: (gst_registry_scan_path_level):
3166           Run g_str_has_suffix() only on the file name, not the
3167           entire file path.
3168
3169 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3170
3171         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3172           Since we're not called only from the chain function any longer,
3173           we can't assume that there's always data in the queue, so move
3174           the is_full check to the beginning of the loop (otherwise we'd
3175           hit the assert when changing the limit properties while the
3176           queue is empty or not running yet).
3177           Also, only set a discont if items were actually removed from
3178           the queue.
3179
3180         * tests/check/elements/queue.c: (test_leaky_downstream):
3181           Test case for the above.
3182
3183 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3184
3185         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3186
3187         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3188         (gst_queue_chain), (queue_capacity_change),
3189         (gst_queue_set_property):
3190         When changing thr max capacity of a leaky queue, immediatly drop buffers
3191         instead of waiting for a push on the sinkpad. Fixes #530637.
3192
3193 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3194
3195         * gst/gstdebugutils.c:
3196           Refactor code and fix handling of ghostpads and their proxypads.
3197
3198 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3199
3200         * docs/gst/gstreamer-sections.txt:
3201         * gst/gstevent.c: (gst_event_has_name):
3202         * gst/gstevent.h:
3203         * tests/check/gst/gstevent.c: (GST_START_TEST):
3204         Add method to conveniently check the name of a custom event with
3205         gst_event_has_name().
3206         Reformat the event docs so that related methods are put together instead
3207         of the default alphabetical sort.
3208         Update unit test with new method.
3209         API: GstEvent::gst_event_has_name()
3210
3211 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3212
3213         * libs/gst/check/Makefile.am:
3214           Don't add an explicit link to libgstreamer-0.10.la; it's already
3215           included in GST_OBJ_LIBS.
3216
3217 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3218
3219         * gst/gst.c:
3220         Register GstClock type from a type-safe context. Fixes bug #530317.
3221
3222 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3223
3224         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3225         * tools/gst-run.c:
3226           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3227
3228 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3229
3230         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3231         (gst_bin_dispose):
3232         Use the GLib stuff to create a private structure.
3233         Add some locking around some dispose methods to make them a little
3234         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3235
3236 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3237
3238         * libs/gst/base/gstbasesink.h:
3239         * libs/gst/base/gstbasesrc.h:
3240         * libs/gst/base/gstbasetransform.h:
3241         * libs/gst/base/gstcollectpads.h:
3242           Fix doc typos and unify caps a bit.
3243
3244 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3245
3246         * tools/gst-launch.1.in:
3247           Forgot to also add the envvar docs here.
3248
3249 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3250
3251         * gst/gst.c: (init_post), (gst_deinit):
3252         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3253           (test_concurrent_create), (gst_pipeline_suite):
3254           Ref some more classes in gst_init() to work around thread-safety
3255           issues in pre-2.16 GLibs, and add basic unit test.
3256
3257 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3258
3259         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3260         (gst_base_sink_send_event):
3261         Rearrange the latency query code. We always want to do the upstream
3262         query, even if we are not live so that the upstream elements can get the
3263         latency results too. If we fail doing the query and we are live, we
3264         return TRUE afterwards.
3265
3266 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3267
3268         patch by: Jason Zhao <e3423c@motorola.com>
3269
3270         * docs/gst/running.xml:
3271         * gst/gst.c:
3272           Enable/disable scan_and_update_registry() based on commandline switch
3273           or environment variable. Fixes #520468.
3274           
3275         * ChangeLog:
3276           Fix typo in my previous commit.
3277
3278 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3279
3280         * gst/gstregistrybinary.c:
3281           Add a warning if we hit unhandled factories when saving.
3282           More debug logging detail, but move to LOG category.
3283
3284 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3285
3286         * gst/gstregistry.c:
3287           Tell the *truth* when improving the documentation.
3288
3289 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3290
3291         * gst/gstelementfactory.c: (gst_element_factory_make):
3292         Unref the factory after it was used the last time, not before.
3293
3294         * gst/gstindexfactory.c: (gst_index_factory_make):
3295         Improve debugging a bit and don't leak a ref to the index factory with
3296         each call.
3297
3298 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3299
3300         * gst/gstregistry.c:
3301           Improve the documentation.
3302
3303 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3304
3305         * gst/gstsegment.c:
3306           The glib macro seems to be borked. Use g_slice_copy directly and cast
3307           in the hope that this fixes the warning on 64bit.
3308
3309 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3310
3311         * gst/gstsegment.c:
3312           Document the new function. Use g_slice_dup() (no need for
3313           gst_segment_init()).    
3314
3315 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3316
3317         * docs/gst/gstreamer-sections.txt:
3318           Move GParamSepc macros to standart section.
3319   
3320         * gst/gstbin.c:
3321           Dn't document _get_type - its in private section in docs anyway and
3322           this doc-blob was incomplete.
3323
3324         * gst/gstclock.h:
3325           Fix wrong symbol names in docs.
3326
3327         * gst/gstmacros.h:
3328           Add once doc sentence.
3329
3330         * tests/check/gst/.cvsignore:
3331           Ignore more.
3332
3333 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3334
3335         * docs/gst/Makefile.am:
3336           And remove those libs here.
3337
3338 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3339
3340         * docs/libs/Makefile.am:
3341           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3342
3343 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3344
3345         Patch by: Olivier Crete <tester at tester dot ca>
3346
3347         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3348         Add the min-threshold to the min latency if possible. Fixes #529148.
3349
3350 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3351
3352         * docs/gst/gstreamer.types.in:
3353           Stupid editor, I removed that line as it should go in yet.
3354
3355 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3356
3357         * docs/gst/gstreamer.types.in:
3358         * docs/libs/gstreamer-libs.types:
3359           Remove library types fro core docs and have them in libs docs.
3360           Reformat and cleanup. Add comment for miniobject types.
3361
3362 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * gst/gsturi.c: (gst_uri_get_protocol):
3365           Fix leak: g_strdown operates on the string in place, while
3366           g_ascii_strdown() returns a newly-allocated string.
3367
3368 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3369
3370         * tools/gst-inspect.c: (print_uri_handler_info),
3371         (print_element_info):
3372         Print the URI protocols and the URI type supported by the element.
3373
3374 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3375
3376         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3377         Use g_value_take_string() instead of the deprecated
3378         g_value_set_string_take_ownership().
3379
3380 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3381
3382         * gst/gstregistrybinary.c: (_gst_crc32):
3383         Return the old CRC instead of 0 if we give a NULL buffer
3384         or a buffer with a length of 0.
3385
3386 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3387
3388         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3389         (gst_uri_get_protocol), (gst_uri_has_protocol),
3390         (gst_uri_construct), (gst_uri_handler_set_uri):
3391         A valid URI scheme can also include '+', '-' and '.' additional
3392         to alphanumeric characters as per RFC 3986 Section 3.1.
3393
3394         Handle URI schemes case insensitive in all places and convert
3395         to lower-case when constructing an URI or setting an URI with
3396         the GstURIHandler interface. Fixes bug #528868.
3397         All elements can still assume (as before) that they will
3398         get passed URIs with a lower-case URI scheme by the GstURIHandler
3399         interface.
3400
3401 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3402
3403         * gst/gstcaps.c: (gst_static_caps_get):
3404         * gst/gstclock.c: (gst_clock_entry_new):
3405           Don't use g_atomic_set_int where it's not needed.
3406
3407 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3408
3409         * gst/gstvalue.c: (gst_value_deserialize_caps):
3410         * gst/parse/grammar.y:
3411         Fix 2 caps leaks.
3412
3413 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3414
3415         * gst/gstutils.c: (gst_atomic_int_set):
3416         Use g_atomic_int_set() here too instead of assignment +
3417         g_atomic_int_get().
3418
3419 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3420         
3421         * gst/gstutils.c:
3422         * gst/gstutils.h:
3423         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3424         now that we depend on new enough GLib.
3425
3426         * gst/gstcaps.c: (gst_static_caps_get):
3427         * gst/gstclock.c: (gst_clock_entry_new):
3428         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3429         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3430         (gst_debug_category_set_threshold):
3431         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3432         (gst_base_sink_set_qos_enabled):
3433         * libs/gst/net/gstnettimeprovider.c:
3434         (gst_net_time_provider_set_property):
3435         Use g_atomic_int_set() instead of gst_atomic_int_set().
3436
3437 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3438
3439         * gst/gstquery.c:
3440           Also use G_GINT64_CONSTANT for the queries.
3441
3442 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3443
3444         * gst/gstmessage.c:
3445           Use G_GINT64_CONSTANT in varargs function.
3446
3447 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3448
3449         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3450         Initialize the registry magic with zeroes.
3451
3452 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3453
3454         * gst/gstregistrybinary.c: (_gst_crc32),
3455         (gst_registry_binary_write),
3456         (gst_registry_binary_initialize_magic),
3457         (gst_registry_binary_write_cache),
3458         (gst_registry_binary_check_magic),
3459         (gst_registry_binary_read_cache):
3460         * gst/gstregistrybinary.h:
3461         Add crc32 checksum to the binary registry file and check this before
3462         accepting a registry file.
3463
3464         Also free the data list when writing to the registry file fails.
3465
3466 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3467
3468         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3469         (gst_registry_binary_load_feature),
3470         (gst_registry_binary_load_plugin):
3471         If an element supports the Uri interface, returns a valid pointer
3472         to the supported URI protocols but this pointer contains nothing
3473         don't try to save that as it will corrupt the registry.
3474
3475         Don't unref the plugin if we added it to the registry already but
3476         fail to load a feature as gst_registry_add_plugin() takes ownership
3477         of the plugin.
3478
3479         Improve debugging a bit.
3480
3481 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3482
3483         * gst/gsttaglist.h:
3484           Clarify some tag item docs after discussion on irc.
3485
3486 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3487
3488         * docs/gst/gstreamer-docs.sgml:
3489           Remove commented out plugins (they have their own docs). Update
3490           comments.
3491
3492 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3493
3494         * docs/gst/gstreamer-docs.sgml:
3495         * docs/gst/gstreamer-sections.txt:
3496         * gst/gstparamspecs.c:
3497         * gst/gstparamspecs.h:
3498           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3499           docs to own section.
3500
3501         * gst/gstvalue.c:
3502           This now only documents GValue.
3503           
3504         * docs/libs/gstreamer-libs-sections.txt:
3505         * libs/gst/controller/gstcontroller.h:
3506           Remove GST_PARAM_CONTROLLABLE.
3507
3508 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3509
3510         * docs/README:
3511           Correct file path. Tell about how to use -overrides.txt.
3512         * docs/design/draft-tagreading.txt:
3513           Small design update.
3514
3515 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3516
3517         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3518         (gst_registry_binary_load_plugin):
3519         Fix a typo in a debug message and revert change from yesterday as
3520         gst_registry_add_plugin() will only fail if something is really wrong
3521         already and we can't survive it anyway.
3522
3523 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3524
3525         * gst/gst.c: (init_post), (gst_deinit):
3526           Pre-register GstGError GType from a thread-safe context
3527           (fixes #527967); unref enum type classes in deinit.
3528
3529 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3530
3531         Patch by: Rene Stadler <mail at renestadler de>
3532
3533         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3534           Merging an empty list with another list in KEEP_ALL mode should
3535           yield an empty list as result and not the second list (#512578).
3536
3537         * tests/check/gst/gsttagsetter.c:
3538           Add unit test for tag merge modes and the aforementioned bug.
3539
3540 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3541
3542         Patch by: Rene Stadler <mail at renestadler de>
3543
3544         * gst/gsttaglist.h:
3545           Fix description to match the order in the table (#512577).
3546   
3547 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3548
3549         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3550
3551         * libs/gst/net/gstnettimepacket.h:
3552         * docs/libs/gstreamer-libs-sections.txt:
3553           Define socklen_t as int if it's not defined yet. Fixes compilation
3554           with MSVC6 and other versions where socklen_t is not defined in
3555           the windows headers (#518022).
3556
3557 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3558
3559         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3560         If gst_registry_add_plugin() fails our reference to the plugin is
3561         invalid so don't try to use it anymore and instead error out.
3562
3563 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3564
3565         * tools/gst-xmlinspect.c: (print_element_info), (main):
3566           De-cruft a bit. If no argument is specified, print all elements in
3567           XML syntax rather than a freestyle list of elements like gst-inspect.
3568           Also, don't print XML header chunk unless we actually have something
3569           to print (ie. don't print it before an error message); print error
3570           message to stderr not stdout. Remove support for printing plugin
3571           info (it would just output something freestyle along the lines of
3572           gst-inspect so far), which fixes #514507. Also add license header.
3573
3574 2008-04-11  Julien Moutte  <julien@fluendo.com>
3575
3576         Mac OS X love...
3577         * configure.ac: Merge platform specific defines, introduce a new
3578         define on OS X to remember that forking when updating registry is
3579         unsafe.
3580         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3581         module.
3582         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3583         is defined.
3584         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3585         condition that leads to absolutely no plugins being registered on
3586         OS X.
3587
3588 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3589
3590         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3591
3592         * gst/gstutils.c: (gst_pad_add_data_probe),
3593           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3594           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3595           (gst_pad_add_buffer_probe_full):
3596         * gst/gstutils.h:
3597         * docs/gst/gstreamer-sections.txt:
3598         * win32/common/libgstreamer.def:
3599           Add gst_pad_add_*_probe_full() functions with a notify callback that
3600           lets the caller free the data it passes to the probe functions. This
3601           is useful for bindings such as gst-python or gstreamermm (#526814).
3602           API: gst_pad_add_data_probe_full
3603           API: gst_pad_add_buffer_probe_full
3604           API: gst_pad_add_event_probe_full
3605
3606         * tests/check/gst/gstutils.c:
3607           Add minimal unit test to make sure freeing the data actually works
3608           as expected.
3609
3610         * tests/benchmarks/.cvsignore:
3611           Random cvsignore addendum.
3612
3613 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3614
3615         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3616           (GST_DEBUG_BIN_TO_DOT_FILE):
3617           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3618           to it in the docs (since these are macros the types of the arguments
3619           won't be shown in the docs otherwise).
3620
3621 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3622
3623         * gst/gstpad.c:
3624           Do not abort on out of memory for pad_alloc_buffer.
3625
3626 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3627
3628         * libs/gst/check/gstcheck.c:
3629           Remove blank line between symbol name ad parameters to fix gtkdoc
3630           warning.
3631
3632 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3633
3634         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3635
3636         * docs/gst/gstreamer-sections.txt:
3637         * gst/gstsegment.c:
3638         * gst/gstsegment.h:
3639         * win32/common/libgstreamer.def:
3640           Expose gst_segment_copy() to make things easier for the c++ bindings.
3641           Fixes #518932.
3642           API: gst_segment_copy()
3643
3644 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3645
3646         * gst/gst.c: (gst_init_get_option_group), (init_post):
3647           Fix const position; ref GType classes for enum types to work
3648           around thread-safety issues in GLib versions < 2.16.
3649
3650 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3651
3652         * docs/design/part-buffering.txt:
3653         Fix some typos and set the estimated total for push mode to -1.
3654
3655         * gst/gstquery.c: (gst_query_new_buffering):
3656         Set buffering-left to 0 as we're not buffering by default.
3657
3658         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3659         Implement BUFFERING query.
3660
3661 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3662
3663         Based on patch by: Milosz Derezynski <internalerror gmail com>
3664
3665         * gst/gsterror.c: (_gst_stream_errors_init):
3666         * gst/gsterror.h:
3667           Add two new error codes for encrypted content. Fixes #524659.
3668           API: GST_STREAM_ERROR_DECRYPT
3669           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3670
3671 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3672
3673         * gst/gstquery.h:
3674           Fix typo.
3675
3676         * win32/common/libgstreamer.def:
3677           Add new functions.
3678
3679 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3680
3681         * plugins/elements/gstidentity.c: (gst_identity_event),
3682         (gst_identity_start):
3683         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3684         event after processing some data. Fixes bug #526042.
3685
3686 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3687
3688         * docs/gst/gstreamer-sections.txt:
3689         * gst/gstquery.c: (gst_query_parse_latency),
3690         (gst_query_set_buffering_percent),
3691         (gst_query_parse_buffering_percent),
3692         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3693         * gst/gstquery.h:
3694         Rename _avail -> _range
3695         API: gst_query_set_buffering_range
3696         API: gst_query_parse_buffering_range
3697
3698 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3699
3700         * docs/design/part-buffering.txt:
3701         * gst/gstquark.c:
3702         * gst/gstquark.h:
3703         * gst/gstquery.c: (gst_query_parse_latency),
3704         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3705         (gst_query_parse_buffering_percent):
3706         * gst/gstquery.h:
3707         Add busy field and quark for the buffering query so that the app can
3708         only use the query to see if buffering is in progress.
3709
3710 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3711
3712         * docs/gst/gstreamer-sections.txt:
3713         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3714         (gst_message_parse_buffering_stats):
3715         * gst/gstmessage.h:
3716         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3717         (gst_query_parse_latency), (gst_query_new_buffering),
3718         (gst_query_set_buffering_percent),
3719         (gst_query_parse_buffering_percent),
3720         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3721         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3722         * gst/gstquery.h:
3723         Reorder the message docs and headers for clarity.
3724         Add aditional buffering stats API for messages.
3725         Add buffering query.
3726         Convert some leftover queries to use GstQuark.
3727         API: gst_message_set_buffering_stats
3728         API: gst_message_parse_buffering_stats
3729         API: GST_QUERY_BUFFERING
3730         API: GstBufferingMode
3731         API: gst_query_new_buffering
3732         API: gst_query_set_buffering_percent
3733         API: gst_query_parse_buffering_percent
3734         API: gst_query_set_buffering_stats
3735         API: gst_query_parse_buffering_stats
3736
3737 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3738
3739         * gst/gstmessage.c: (gst_message_new_error),
3740         (gst_message_new_warning), (gst_message_new_info),
3741         (gst_message_new_buffering), (gst_message_new_state_changed),
3742         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3743         (gst_message_new_new_clock), (gst_message_new_segment_start),
3744         (gst_message_new_segment_done), (gst_message_new_duration),
3745         (gst_message_new_async_start), (gst_message_parse_buffering),
3746         (gst_message_parse_state_changed),
3747         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3748         (gst_message_parse_new_clock), (gst_message_parse_error),
3749         (gst_message_parse_warning), (gst_message_parse_info),
3750         (gst_message_parse_segment_start),
3751         (gst_message_parse_segment_done), (gst_message_parse_duration),
3752         (gst_message_parse_async_start):
3753         Use GstQuark for messages.
3754
3755 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3756
3757         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3758         * gst/gstquark.h:
3759         Add some more quarks needed for messages and queries.
3760
3761 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3762
3763         * docs/design/part-buffering.txt:
3764         Remove the "none" buffering mode, STREAM is a good default.
3765         Move estimated-time to the avail query, that's when it will be needed.
3766         Other small typo fixes and updates.
3767
3768 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3769
3770         * gst/gstindex.c: (gst_index_resolver_get_type):
3771           Don't put descriptions into the nick field of a GEnumValue: it's not
3772           meant for that and some language bindings rely on the nick field to
3773           construct constants and the like. Fixes #526705.
3774
3775 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3776
3777         * NEWS:
3778         * RELEASE:
3779         * gstreamer.doap:
3780           Merge other changes from 0.10.19 release branch.
3781
3782 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3783
3784         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3785
3786         * configure.ac:
3787         Actually build dlls when cross-compiling with mingw32.
3788         Fixes bug #526247.
3789
3790 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3791
3792         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3793
3794         * gst/gstpoll.c:
3795         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3796
3797 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3798
3799         * docs/design/draft-latency.txt:
3800         Fix typo.
3801
3802         * docs/design/part-buffering.txt:
3803         Update design docs with more buffering ideas.
3804
3805 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3806
3807         * configure.ac:
3808           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3809
3810 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3811
3812         * configure.ac:
3813           Revert part that belongs to the preset patch.
3814
3815 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3816
3817         * configure.ac:
3818           Add qoutes to the define. Fixes # 525961.
3819
3820 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3821
3822         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3823         (gst_file_index_load), (gst_file_index_add_id),
3824         (gst_file_index_get_assoc_entry):
3825         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3826         (gst_mem_index_free_id), (gst_mem_index_add_id),
3827         (gst_mem_index_index_format):
3828         Use GSlice when possible.
3829
3830 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3831
3832         * libs/gst/controller/gstinterpolationcontrolsource.c:
3833         (gst_control_point_free),
3834         (gst_interpolation_control_source_set_internal):
3835         Use GSlice for allocating the control points.
3836
3837 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3838
3839         * plugins/elements/gsttypefindelement.c:
3840         (gst_type_find_element_class_init),
3841         (gst_type_find_element_set_property),
3842         (gst_type_find_element_get_property),
3843         (gst_type_find_element_activate):
3844         * plugins/elements/gsttypefindelement.h:
3845         Cleanup properties.
3846         Fix pad leak when peer query fails.
3847         We can still typefind when the peer returns -1.
3848         Add property to force caps and bypass typefinding. This will be used in
3849         uridecodebin.
3850         API::force-caps
3851
3852 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3853
3854         * configure.ac:
3855         Require GLib 2.12.
3856
3857         * gst/glib-compat-private.h:
3858         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3859         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3860         Unconditionally use GSlice for allocation.
3861
3862         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3863         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3864         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3865         (gst_structure_free):
3866         Use GSlice for allocation.
3867
3868 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3869
3870         * gst/parse/Makefile.am:
3871         * gst/parse/grammar.tab.pre.c:
3872         * gst/parse/grammar.tab.pre.h:
3873         * gst/parse/lex._gst_parse_yy.pre.c:
3874         Require a new enough flex and bison and remove the parser hacks to use
3875         a pre-regenerated version.
3876
3877 2008-04-01  Julien Moutte  <julien@fluendo.com>
3878
3879         patch by: Jason Zhao <E3423C@motorola.com>
3880
3881         * configure.ac: Add a configure switch to disable option parsing
3882         in gst_init.
3883         Fixes #522882.
3884
3885 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3886
3887         * configure.ac:
3888         * gst/gstregistry.c:
3889           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3890           and handle this case.
3891
3892         * gst/gst.c:
3893           Add a comment here describing, why we stat each plugin and not try to
3894           be smart.
3895
3896 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3897
3898         * libs/gst/base/gstbasetransform.c:
3899         (gst_base_transform_prepare_output_buffer):
3900         Also unset the GAP flag on buffers if we're working inplace but
3901         the element is not GAP-aware.
3902
3903         Mark a comment as FIXME 0.11.
3904
3905 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3906
3907         * gst/gst.c:
3908           Fix type in log message and add one to ease seeing how long registry
3909           cache verification takes.
3910
3911         * gst/gstregistry.c:
3912           Only test plugin filenames against G_MODULE_SUFFIX.
3913
3914 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3915
3916         * gst/gstdebugutils.c:
3917           Improve handling ghost/proxy pads.
3918
3919 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3920
3921         * docs/gst/gstreamer-sections.txt:
3922         * gst/gstpad.c:
3923         * gst/gstpad.h:
3924           Expose macro to docs and fix link to it.
3925
3926 2008-03-27  Michael Smith <msmith@fluendo.com>
3927
3928         * libs/gst/dataprotocol/dataprotocol.c:
3929         (gst_dp_packet_from_event_1_0):
3930           When calculating GDP body CRC, use the correct pointer. 
3931           Fixes part of #522401.
3932
3933 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3934
3935         Patch by: Mark Nauwelaerts <manauw at skynet be>
3936
3937         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3938         (gst_identity_init), (gst_identity_prepare_output_buffer):
3939         Identity is not always a passthrough element, it can modify the buffer
3940         timestamps when it has a datarate and operates in single-segment mode.
3941         We therefore make it an in_place filter with a custom buffer prepare
3942         function that conditionally makes the input buffer metadata writable
3943         when needed.  Fixes #523985.
3944
3945 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3946
3947         Patch by: Mark Nauwelaerts <manauw at skynet be>
3948
3949         * gst/gstclock.h:
3950         * libs/gst/base/gstbasesrc.h:
3951         * libs/gst/base/gstbasetransform.c:
3952         * libs/gst/check/gstcheck.c:
3953         Small documentation fixes. Fixes #523978.
3954
3955 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3956
3957         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3958         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3959         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3960
3961 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3962
3963         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3964         (single_queue_underrun_cb):
3965         When trying to make room in the queue, bump the max allowed buffers
3966         bigger than the current amount of buffers in the queue. this fixes some
3967         nasty deadlocks in multiqueue when dynamically changing the limits of
3968         the queue.
3969
3970 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3971
3972         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3973
3974         * gst/gstcaps.c: (gst_caps_set_simple),
3975         (gst_caps_set_simple_valist), (gst_caps_intersect):
3976         * gst/gstcaps.h:
3977         Constify the field gchar * params in set_simple and friends.
3978         Fixes #522326.
3979
3980 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3981
3982         * gst/gstvalue.c: (gst_value_transform_object_string):
3983         Transform a GstObject to a more meaningfull string that includes the
3984         object type in addition to its name.
3985
3986 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3987
3988         * ChangeLog:
3989           ChangeLog surgery to add bugnumber to commit.
3990
3991 2008-03-23  Rene Stadler  <mail@renestadler.de>
3992
3993         * libs/gst/base/gstbasetransform.c:
3994         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3995
3996 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3997
3998         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3999         Rename constant everywhere and don't forget one occurence.
4000
4001 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4002
4003         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4004         Align memory to the pointer size even if the architecture allows
4005         unaligned memory access. Unaligned memory access usually comes with
4006         performance penality.
4007
4008 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4009
4010         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4011         (gst_registry_binary_check_magic),
4012         (gst_registry_binary_load_pad_template),
4013         (gst_registry_binary_load_feature),
4014         (gst_registry_binary_load_plugin):
4015         Align memory to the pointer size instead of always 32 bit. Fixes
4016         unaligned memory accesses on ia64 and friends.
4017
4018         * gst/gstregistrybinary.h:
4019         Bump binary registry format version for this as it changes the
4020         format on those architectures that don't have unaligned access
4021         and 64 bit pointers.
4022
4023 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4024
4025         * docs/pwg/advanced-dparams.xml:
4026         * docs/pwg/building-props.xml:
4027         * docs/pwg/other-source.xml:
4028         * gst/glib-compat.h:
4029         * gst/gstbin.c: (gst_bin_class_init):
4030         * gst/gstclock.c: (gst_clock_class_init):
4031         * gst/gstindex.c: (gst_index_class_init):
4032         * gst/gstobject.c: (gst_object_class_init):
4033         * gst/gstpad.c: (gst_pad_class_init):
4034         * gst/gstpipeline.c: (gst_pipeline_class_init):
4035         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4036         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4037         * libs/gst/base/gstbasetransform.c:
4038         (gst_base_transform_class_init):
4039         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4040         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4041         (_gst_check_fault_handler_sighandler),
4042         (_gst_check_fault_handler_setup), (gst_check_init):
4043         * libs/gst/controller/gstcontroller.c:
4044         (_gst_controller_class_init):
4045         * libs/gst/controller/gstlfocontrolsource.c:
4046         (gst_lfo_control_source_class_init):
4047         * libs/gst/net/gstnetclientclock.c:
4048         (gst_net_client_clock_class_init):
4049         * libs/gst/net/gstnettimeprovider.c:
4050         (gst_net_time_provider_class_init):
4051         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4052         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4053         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4054         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4055         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4056         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4057         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4058         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4059         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4060         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4061         * plugins/elements/gsttee.c: (gst_tee_class_init):
4062         * plugins/elements/gsttypefindelement.c:
4063         (gst_type_find_element_class_init):
4064         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4065         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4066         use it everywhere for GParamSpecs that use static strings (i.e. all).
4067         This gives us less memory usage, fewer allocations and thus less
4068         memory defragmentation. Fixes bug #523806.
4069
4070 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4071
4072         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4073         (gst_param_spec_mini_object):
4074         * gst/gstminiobject.h:
4075         * win32/common/libgstreamer.def:
4076         * docs/gst/gstreamer-sections.txt:
4077         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4078         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4079         GstParamSpecMiniObject into a public header for this.
4080
4081         This make GstMiniObject a bit more consistent with GObject and makes
4082         it possible to extend the param specs.
4083
4084         gst_value_dup_mini_object is mainly useful for set_property methods.
4085
4086         Fixes bug #523798.
4087
4088         * tools/gst-inspect.c: (print_element_properties_info):
4089         Print something useful for GstMiniObject properties and not just
4090         "unknown type".
4091
4092 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4093
4094         * docs/gst/gstreamer-sections.txt:
4095         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4096         (gst_registry_binary_check_magic):
4097         * gst/gstregistrybinary.h:
4098         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4099         and add it to the (private part) of the docs to fix the build.
4100
4101 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4102
4103         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4104         (gst_registry_binary_check_magic),
4105         (gst_registry_binary_read_cache):
4106         * gst/gstregistrybinary.h:
4107         Don't use GST_MAJORMINOR for the binary registry version. Instead
4108         hardcode a value that must be changed whenever the format changes
4109         in an incompatible way.
4110         Also don't GST_ERROR when there is a version mismatch, just
4111         regenerate the registry silently.
4112
4113 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4114
4115         * configure.ac:
4116         Back to development - 0.10.18.1
4117
4118 === release 0.10.18 ===
4119
4120 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4121
4122         * configure.ac:
4123           releasing 0.10.18, "So far away"
4124
4125 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4126
4127         * configure.ac:
4128         * win32/common/config.h:
4129         0.10.17.4 pre-release
4130
4131 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4132
4133         Patch by: Ole André Vadla Ravnås
4134             <ole dot andre dot ravnas at tandberg dot com>
4135
4136         * docs/gst/gstreamer-sections.txt:
4137         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4138         (gst_poll_update_winsock_event_mask),
4139         (gst_poll_prepare_winsock_active_sets),
4140         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4141         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4142         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4143         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4144         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4145         * gst/gstpoll.h:
4146         * win32/common/libgstreamer.def:
4147         Add new function gst_poll_fd_ignored() for improved Windows
4148         compatibility.
4149         Various minor fixes and cleanups. See #520808.
4150
4151 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4152
4153         * gst/gstindex.c: (gst_index_entry_free):
4154         * gst/gstindex.h:
4155           Don't free key strings which we don't own. Fixes crash in
4156           gst_index_entry_free() (#522741).
4157
4158         * tests/check/Makefile.am:
4159         * tests/check/gst/.cvsignore:
4160         * tests/check/gst/gstindex.c: (test_index_entries),
4161           (gst_index_suite), (gst_index):
4162           Add unit test for the above.
4163
4164 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4165
4166         * win32/common/libgstreamer.def:
4167         Remove symbols that were removed recently. Fixes bug #521740.
4168
4169 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4170
4171         * configure.ac:
4172         * win32/common/config.h:
4173         0.10.17.3 pre-release
4174
4175 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4176
4177         Patch by: Ole André Vadla Ravnås
4178             <ole dot andre dot ravnas at tandberg dot com>
4179
4180         * docs/gst/gstreamer-sections.txt:
4181         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4182         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4183         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4184         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4185         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4186         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4187         (gst_poll_fd_can_write), (gst_poll_wait),
4188         (gst_poll_set_controllable), (gst_poll_restart),
4189         (gst_poll_set_flushing):
4190         * gst/gstpoll.h:
4191         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4192         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4193         (gst_net_time_provider_new):
4194         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4195         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4196         * tests/benchmarks/gstpollstress.c: (main):
4197         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4198         Remove GstPollMode from the API, it does not make sense to let the
4199         application control this.
4200         Add support for Win32.
4201         Fix the testsuite. Fixes #520671.
4202
4203 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4204
4205         Patch by: Ole André Vadla Ravnås
4206             <ole dot andre dot ravnas at tandberg dot com>
4207
4208         * gst/gstregistrybinary.c:
4209         Include io.h for write() and close() when building with MSVC. Fixes
4210         bug #520877.
4211
4212 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4213
4214         * configure.ac:
4215         * gst/gst_private.h:
4216         * gst/gstconfig.h.in:
4217         * gst/gstregistry.h:
4218         * gst/gstregistrybinary.c:
4219         * win32/common/gstconfig.h:
4220           Move registry backend API to private headers where we can. Add
4221           fixme-0.11 comments for the others. Add stubs for the xml backend when
4222           using the binary to ensure they functions exists (they should not be
4223           used though). Fixes #520756.
4224
4225 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4226
4227         * configure.ac:
4228         * win32/common/config.h:
4229         0.10.17.2 prelease
4230
4231 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4232
4233         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4234         (gst_registry_binary_read_cache):
4235         * gst/gstregistryxml.c: (gst_registry_save):
4236         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4237         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4238         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4239         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4240         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4241         Fixes #520152
4242
4243 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4244
4245         * gst/gstminiobject.c:
4246         Import gst_private.h before any other header that might include other
4247         glib headers. This fixes the build on windows using native compilers.
4248
4249 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4250
4251         * win32/common/gstconfig.h:
4252           Add here too, just for completeness.
4253
4254 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4255
4256         * configure.ac:
4257         * gst/gstconfig.h.in:
4258         * gst/gstregistry.h:
4259           Fix broken use of config.h-defined preprocessor directive in a public
4260           header file. Add a corresponding define to gstconfig.h, since we can't
4261           really remove those function declarations from the header file now
4262           (or can we? and why are they there in the first place?).
4263
4264 2008-03-03  Andy Wingo  <wingo@pobox.com>
4265
4266         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4267         the new warning.
4268
4269         * gst/gststructure.c (gst_structure_from_string): Warn if
4270         structure_from_string didn't consume the whole string, but the
4271         caller did not provide an end pointer.
4272
4273 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4274
4275         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4276
4277         * gst/gstregistryxml.c: (read_string), (load_feature):
4278           Strings allocated by libxml2 should be freed with xmlFree(), not
4279           with g_free(). Fixes issues on windows in certain contexts (#519698).
4280
4281 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4282
4283         * gst/gstinterface.c: (gst_element_implements_interface):
4284           Don't crash if the element supports the interface queried, but does
4285           not implement GstImplementsInterface. Fixes #519584.
4286
4287         * tests/check/Makefile.am:
4288         * tests/check/gst/.cvsignore:
4289         * tests/check/gst/gstinterface.c:
4290           Add unit test for the above.
4291
4292 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4293
4294         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4295         Small doc update.
4296
4297 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4298
4299         * gst/gstsegment.c: (gst_segment_set_seek),
4300         (gst_segment_to_stream_time):
4301         Improve some comment.
4302         Update variables where it makes more sense.
4303
4304 2008-02-29  Rene Stadler  <mail@renestadler.de>
4305
4306         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4307         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4308         URIHandlers implemented using language bindings.
4309
4310 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4311
4312         * gst/gstelementfactory.h:
4313         * tests/check/elements/fakesink.c:
4314         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4315         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4316         * tests/check/elements/filesink.c: (setup_filesink):
4317         * tests/check/elements/filesrc.c: (setup_filesrc):
4318         * tests/check/elements/identity.c: (setup_identity):
4319         * tests/check/elements/tee.c:
4320         * tests/check/generic/sinks.c:
4321         * tests/check/generic/states.c: (setup), (teardown):
4322         * tests/check/gst/gst.c:
4323         * tests/check/gst/gstabi.c:
4324         * tests/check/gst/gstbin.c:
4325         * tests/check/gst/gstbus.c: (pull_messages):
4326         * tests/check/gst/gstcaps.c:
4327         * tests/check/gst/gstelement.c:
4328         * tests/check/gst/gstevent.c:
4329         * tests/check/gst/gstghostpad.c:
4330         * tests/check/gst/gstiterator.c:
4331         * tests/check/gst/gstmessage.c:
4332         * tests/check/gst/gstminiobject.c: (my_foo_init):
4333         * tests/check/gst/gstobject.c: (thread_name_object),
4334         (gst_object_suite):
4335         * tests/check/gst/gstpad.c:
4336         * tests/check/gst/gstplugin.c:
4337         * tests/check/gst/gstpoll.c:
4338         * tests/check/gst/gstquery.c:
4339         * tests/check/gst/gstsegment.c:
4340         * tests/check/gst/gststructure.c:
4341         * tests/check/gst/gstsystemclock.c:
4342         * tests/check/gst/gsttask.c:
4343         * tests/check/gst/gstutils.c:
4344         * tests/check/gst/gstvalue.c:
4345         * tests/check/gst/struct_hppa.h:
4346         * tests/check/gst/struct_i386.h:
4347         * tests/check/gst/struct_ppc32.h:
4348         * tests/check/gst/struct_ppc64.h:
4349         * tests/check/gst/struct_x86_64.h:
4350         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4351         * tests/check/libs/basesrc.c:
4352         * tests/check/libs/controller.c: (GST_START_TEST):
4353         * tests/check/libs/gdp.c:
4354         * tests/check/libs/gstnetclientclock.c:
4355         * tests/check/libs/gstnettimeprovider.c:
4356         * tests/check/libs/libsabi.c:
4357         * tests/check/libs/struct_hppa.h:
4358         * tests/check/libs/struct_i386.h:
4359         * tests/check/libs/struct_ppc32.h:
4360         * tests/check/libs/struct_ppc64.h:
4361         * tests/check/libs/struct_x86_64.h:
4362         * tests/check/pipelines/cleanup.c:
4363         * tests/check/pipelines/simple-launch-lines.c:
4364         * tests/check/pipelines/stress.c:
4365         And correct even more valid sparse warnings.
4366
4367         * win32/common/libgstreamer.def:
4368         Add gst_poll_fd_init to the list of symbols.
4369
4370 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4371
4372         * gst/gstconfig.h.in:
4373         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4374         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4375         (gst_check_log_critical_func), (gst_check_drop_buffers),
4376         (gst_check_element_push_buffer_list):
4377         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4378         (gst_controller_get_type):
4379         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4380         (gst_object_get_controller), (gst_object_get_control_source):
4381         * libs/gst/controller/gstinterpolationcontrolsource.c:
4382         (gst_interpolation_control_source_new):
4383         * libs/gst/controller/gstlfocontrolsource.c:
4384         (gst_lfo_control_source_new):
4385         * libs/gst/dataprotocol/dataprotocol.c:
4386         (gst_dp_event_from_packet_0_2):
4387         * plugins/elements/gstfdsrc.c:
4388         * plugins/elements/gstmultiqueue.c:
4389         * plugins/elements/gsttee.c:
4390         * plugins/elements/gsttypefindelement.c:
4391         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4392         (gst_file_index_add_association):
4393         * plugins/indexers/gstmemindex.c:
4394         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4395         * tests/check/elements/queue.c: (setup_queue):
4396         * tests/check/gst/gstpipeline.c:
4397         * tests/check/libs/collectpads.c: (setup), (teardown),
4398         (gst_collect_pads_suite):
4399         * tests/examples/adapter/adapter_test.c:
4400         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4401         * tests/examples/xml/createxml.c:
4402         * tests/examples/xml/runxml.c:
4403         * tools/gst-inspect.c:
4404         * tools/gst-run.c:
4405         Correct all relevant warnings found by the sparse semantic code
4406         analyzer. This include marking several symbols static, using
4407         NULL instead of 0 for pointers, not using variable sized arrays
4408         on the stack, moving variable declarations to the beginning of
4409         a block and using "foo (void)" instead of "foo ()" for declarations.
4410
4411 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4412
4413         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4414         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4415         Don't reset GstPollFDs, this is not necessary at all.
4416
4417         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4418         (delayed_restart), (delayed_control):
4419         Use GST_POLL_FD_INIT.
4420
4421 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4422
4423         * gst/gstpoll.c: (gst_poll_fd_init):
4424         * gst/gstpoll.h:
4425         Added Since tags.
4426
4427         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4428         Use some more init macros.
4429
4430 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4431
4432         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4433         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4434         Use init macros and functions.
4435
4436 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4437
4438         * docs/gst/gstreamer-sections.txt:
4439         * gst/gstpoll.c: (gst_poll_fd_init):
4440         * gst/gstpoll.h:
4441         Add INIT macro and _init method for initializing the GstPollFD.
4442
4443 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4444
4445         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4446         (gst_fd_sink_update_fd):
4447         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4448         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4449         (delayed_restart), (delayed_control):
4450         Initialize some uninitialized variables as spotted by valgrind.
4451
4452 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4453
4454         * tests/benchmarks/Makefile.am:
4455         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4456         (main):
4457         Add poll stress test.
4458
4459 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4460
4461         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4462
4463         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4464         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4465         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4466         * plugins/elements/gstfdsink.h:
4467         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4468         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4469         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4470         (gst_fd_src_uri_set_uri):
4471         * plugins/elements/gstfdsrc.h:
4472         Port to GstPoll. See #505417.
4473
4474 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4475
4476         * win32/common/libgstreamer.def:
4477         Add new gst_poll_ symbols to win32 defs.
4478
4479 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4480
4481         * docs/libs/gstreamer-libs-sections.txt:
4482         * libs/gst/net/gstnetclientclock.c:
4483         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4484         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4485         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4486         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4487         * libs/gst/net/gstnetclientclock.h:
4488         * libs/gst/net/gstnettimeprovider.c:
4489         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4490         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4491         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4492         (gst_net_time_provider_new):
4493         * libs/gst/net/gstnettimeprovider.h:
4494         Use a private stuct to not break ABI.
4495
4496 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4497
4498         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4499
4500         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4501         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4502         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4503         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4504         * libs/gst/net/gstnetclientclock.h:
4505         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4506         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4507         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4508         (gst_net_time_provider_new):
4509         * libs/gst/net/gstnettimeprovider.h:
4510         Massive code removal and cleanups because of GstPoll.
4511         Fixes #505417.
4512
4513 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4514
4515         * configure.ac:
4516         Add checks for poll, ppoll and pselect.
4517
4518         * docs/gst/gstreamer-docs.sgml:
4519         * docs/gst/gstreamer-sections.txt:
4520         Add docs for GstPoll.
4521
4522         * gst/Makefile.am:
4523         * gst/gst.h:
4524         * gst/gstpoll.c: (find_index), (selectable_fds),
4525         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4526         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4527         (gst_poll_set_mode), (gst_poll_get_mode),
4528         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4529         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4530         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4531         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4532         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4533         (gst_poll_fd_can_write), (gst_poll_wait),
4534         (gst_poll_set_controllable), (gst_poll_restart),
4535         (gst_poll_set_flushing):
4536         * gst/gstpoll.h:
4537         Add generic poll abstraction. We ideally don't want to have this in core
4538         here but in glib intead...
4539         This code will be used in various network elements and ultimately for
4540         the nanosecond precision monotonic clock (that's why it's here in core).
4541         It'll allow us to implement cancelable socket operations for windows too.
4542
4543         * tests/check/Makefile.am:
4544         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4545         (delayed_stop), (delayed_restart), (delayed_flush),
4546         (delayed_control), (gst_poll_suite):
4547         Add GstPoll unit test.
4548
4549 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4550
4551         * gst/gstfilter.c:
4552           Improve documentation of gst_filter_run(). Fixes #518627.
4553
4554 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4555
4556         * docs/README:
4557           Add a few lines about the new 'check-inspected-versions' target.
4558
4559 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4560
4561         * tests/check/gst/gstevent.c:
4562           Add qos to the event test. Rename tcase/tsuite; is not only about
4563           custom events.
4564
4565 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4566
4567         * plugins/elements/gstqueue.c:
4568           Ensure that buffer metadata is writeable, before modifying. Spotted by
4569           Mike.
4570
4571 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4572
4573         * plugins/elements/gstqueue.c:
4574         * plugins/elements/gstqueue.h:
4575           When dropping buffers in leaky modes, mark next buffers we sent as
4576           DISCONT.
4577
4578 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4579
4580         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4581           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4582
4583 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4584
4585         * plugins/elements/Makefile.am:
4586         * plugins/elements/gstbufferstore.c:
4587         * plugins/elements/gstbufferstore.h:
4588         * plugins/elements/gsttypefindelement.h:
4589           Remove GstBufferStore, no idea why we were still building it.
4590           It's not used anywhere and superseded by GstAdapter.
4591
4592         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4593           (gst_file_src_create_mmap):
4594         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4595           Printf format fixes for 64-bit integers.
4596
4597 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4598
4599         * configure.ac:
4600         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4601         We're not in 0.8 times anymore.
4602
4603 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4604
4605         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4606         (gst_check_element_push_buffer_list):
4607         * libs/gst/check/gstcheck.h:
4608         Make the declaration in the header for
4609         gst_check_element_push_buffer_list match the implementation.
4610
4611         Fix up spelling, grammar and wording of the documentation in a few
4612         places, and add the Since keyword to new API functions.
4613         Use g_list_delete_link instead of g_list_remove in
4614         gst_check_drop_buffers, since it's immeasurably more efficient.
4615
4616         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4617         Use new gst_check_drop_buffers function where appropriate.
4618
4619         * win32/common/libgstbase.def:
4620         * win32/common/libgstreamer.def:
4621         Add new symbols gst_collect_pads_take_buffer, 
4622         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4623         exports
4624
4625         Changelog surgery to add API keyword to new gst_check API.
4626
4627 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4628
4629         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4630         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4631         Update pre-generated flex files with flex 2.3.34.
4632
4633 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4634
4635         * gst/gstminiobject.c:
4636           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4637           friendly to subclasses and not require them to know all internals
4638           of their parent class.
4639
4640 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4641
4642         * docs/libs/gstreamer-libs-sections.txt:
4643         * libs/gst/base/gstcollectpads.c:
4644         * libs/gst/base/gstcollectpads.h:
4645           Add sub-buffer functions to collectpads. Fixes #516187.
4646           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4647
4648 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4649
4650         * gst/gstbuffer.c:
4651           Copy selected buffer-flags when creating subbuffers.
4652           Fixes #516395.
4653
4654 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4655
4656         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4657         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4658         * gst/gstmessage.c: (gst_message_class_init),
4659         (gst_message_finalize):
4660         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4661         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4662         (gst_mmap_buffer_finalize):
4663         Properly chain up finalize functions to the parent class.
4664
4665 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4666
4667         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4668
4669         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4670         (gst_index_set_resolver_full):
4671         * gst/gstindex.h:
4672         Add new function with option to dispose of user_data in resolver.
4673         Actually call the dispose function when finalizing the object and not
4674         just when changing the resolver/filter.
4675         API: GstIndex::gst_index_set_resolver_full()
4676
4677         * docs/gst/gstreamer-sections.txt:
4678         Add new function to docs. Fixes #515469.
4679
4680 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4681
4682         * gst/gstindex.c: (gst_index_finalize):
4683         Chain up finalize to the parent class. Fixes leaking the GstObject
4684         name and other things.
4685
4686 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4687
4688         * configure.ac:
4689         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4690         pre-releases or releases.
4691
4692         * docs/faq/gst-uninstalled:
4693         Add gst-plugins-gl
4694
4695         * docs/random/release:
4696         Change one of the steps - we only upload core & base to Gnome FTP
4697
4698 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4699
4700         * gst/gstconfig.h.in:
4701           Add 'id' for example.
4702
4703         * gst/gstpad.c:
4704         * gst/gstutils.c:
4705         * plugins/elements/gstfdsink.c:
4706           Link to signals. Doc and comment fixes.
4707
4708 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4709
4710         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4711         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4712           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4713           unused and unimplemented; finally, it is plugin features, not
4714           plugins, that have ranks.
4715           
4716 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4717
4718         * gst/gstpluginfeature.h:
4719           Clarify GstRank range docs.
4720
4721 2008-02-05  David Schleef  <ds@schleef.org>
4722
4723         * gst/gst.c: Add a separate gst_deinitialized that prevents
4724           gst_init() from being called after gst_deinit().  Fixes #509559
4725
4726 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4727
4728         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4729         (gst_bin_class_init):
4730         * gst/gstelement.c: (gst_element_base_class_init),
4731         (gst_element_class_add_pad_template):
4732         * gst/gstpadtemplate.c: (gst_pad_template_init):
4733         * gst/gstpipeline.c: (gst_pipeline_get_type),
4734         (gst_pipeline_base_init), (gst_pipeline_class_init):
4735         * libs/gst/base/gstbasesink.c:
4736         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4737         (gst_base_src_base_init), (gst_base_src_class_init):
4738         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4739         (gst_capsfilter_class_init):
4740         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4741         (gst_fake_sink_class_init):
4742         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4743         (gst_fake_src_class_init):
4744         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4745         (gst_fd_sink_class_init):
4746         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4747         (gst_fd_src_class_init):
4748         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4749         (gst_file_sink_class_init):
4750         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4751         (gst_file_src_class_init):
4752         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4753         (gst_identity_class_init):
4754         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4755         (gst_multi_queue_class_init):
4756         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4757         (gst_queue_class_init):
4758         * plugins/elements/gsttee.c: (gst_tee_base_init),
4759         (gst_tee_class_init):
4760         * plugins/elements/gsttypefindelement.c:
4761         (gst_type_find_element_base_init),
4762         (gst_type_find_element_class_init):
4763         * tests/check/gst/gstelement.c: (gst_element_suite):
4764         Revert previous changes to the behaviour of GstPadTemplates, etc
4765         and the possiblity to call them in class_init as it breaks too
4766         many elements. Reopens bug #491501.
4767
4768         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4769         several places.
4770
4771 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4772
4773         * tools/gst-launch.c:
4774         Dump one graph per pipeline state-change and state change name
4775         (if GST_DEBUG_DUMP_DOT_DIR is set).
4776
4777 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4778
4779         * gst/gstpad.c:
4780         * tests/check/gst/gstpad.c:
4781         Be sure that we have a new copy of the caps and not
4782         reffed caps from a template
4783
4784 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4785
4786         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4787         * gst/gstpipeline.c: (gst_pipeline_get_type),
4788         (gst_pipeline_class_init):
4789         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4790         (gst_base_sink_class_init):
4791         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4792         (gst_base_src_class_init):
4793         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4794         (gst_base_transform_class_init):
4795         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4796         (gst_collect_pads_class_init):
4797         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4798         * libs/gst/net/gstnettimeprovider.c:
4799         (gst_net_time_provider_base_init),
4800         (gst_net_time_provider_class_init):
4801         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4802         (gst_capsfilter_class_init):
4803         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4804         (gst_fake_sink_class_init):
4805         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4806         (gst_fake_src_class_init):
4807         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4808         (gst_fd_sink_class_init):
4809         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4810         (gst_fd_src_class_init):
4811         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4812         (gst_file_sink_class_init):
4813         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4814         (gst_file_src_class_init):
4815         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4816         (gst_identity_class_init):
4817         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4818         (gst_multi_queue_class_init):
4819         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4820         (gst_queue_class_init):
4821         * plugins/elements/gsttee.c: (gst_tee_base_init),
4822         (gst_tee_class_init):
4823         * plugins/elements/gsttypefindelement.c:
4824         (gst_type_find_element_base_init),
4825         (gst_type_find_element_class_init):
4826         Don't use base_init where not absolutely necessary. For example it's
4827         not necessary anymore for adding pad templates or setting element
4828         details.
4829
4830         Leave empty base_init functions in several places as GST_BOILERPLATE
4831         still defines and uses them.
4832
4833 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4834
4835         * gst/gstelement.c: (gst_element_base_class_init),
4836         (gst_element_class_add_pad_template):
4837         * gst/gstpadtemplate.c:
4838         Make it possible (and recommended) to set element details and add
4839         pad templates in the class_init functions by copying the details/pad
4840         templates in GstElement's base_init.
4841
4842         Also make it possible to replace existing pad templates by adding
4843         a new one with the same name. This was done in a hackish fashion
4844         in same elements before already.
4845
4846         Don't reference pad templates that are added a second time. A
4847         new pad template has a refcount of one and is not floating anymore
4848         and to be owned by the element's class. Make this more explicit by
4849         mentioning it in the docs of gst_element_class_add_pad_template().
4850
4851         These changes are backwards compatible. Fixes bug #491501.
4852
4853         * tests/check/gst/gstelement.c:
4854         Add unit test for setting element details, adding pad templates and
4855         replacing them in a subclass.
4856
4857 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4858
4859         * tools/gst-inspect.c: (print_interfaces),
4860         (print_element_properties_info), (print_pad_info),
4861         (print_signal_info), (print_element_info):
4862         Fix a few memory leaks.
4863
4864 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4865
4866         * docs/libs/gstreamer-libs-sections.txt:
4867         * libs/gst/check/gstcheck.c:
4868         * libs/gst/check/gstcheck.h:
4869         Add more functions for unit testing: gst_check_drop_buffers,
4870         gst_check_caps_equal, gst_check_element_push_buffer_list,
4871         gst_check_element_push_buffer
4872         API: gst_check_drop_buffers
4873         API: gst_check_caps_equal
4874         API: gst_check_element_push_buffer_list
4875         API: gst_check_element_push_buffer
4876
4877 2008-02-01  Julien Moutte  <julien@fluendo.com>
4878
4879         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4880         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4881         (gst_index_finalize), (gst_index_entry_free),
4882         (gst_index_add_association): Fix memory leaks.
4883         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4884         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4885         (gst_mem_index_free_format), (gst_mem_index_free_id),
4886         (gst_mem_index_finalize): Fix memory leaks.
4887         * win32/common/config.h: Updated to CVS HEAD.
4888
4889 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4890
4891         * docs/README:
4892           Some more details about how the plugin docs works.
4893
4894         * docs/plugins/gstreamer-plugins-sections.txt:
4895           Whitespace cleanup.
4896
4897 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4898
4899         * gst/parse/grammar.tab.pre.c:
4900         * gst/parse/grammar.tab.pre.h:
4901         * gst/parse/grammar.y:
4902         * gst/parse/lex._gst_parse_yy.pre.c:
4903           Add delayed set-property. This allows to set properties on dynamicaly
4904           created objects (pads in videomxer). Fixes #509391.
4905
4906 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4907
4908         * gst/gstutils.c:
4909         Check if caps are not NULL (fix bug #510194)
4910
4911 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4912
4913         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4914         (gst_base_sink_get_position_paused):
4915         Add fixme regarding EOS in pull mode.
4916         Fix position reporting in PAUSED for negative rates.
4917
4918 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4919
4920         * gst/gstminiobject.c: (gst_mini_object_replace):
4921         When replacing a miniobject, do a quick equality check first so that we
4922         can avoid a ref/unref pair.
4923
4924 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4925
4926         * docs/design/part-synchronisation.txt:
4927         Update some docs.
4928
4929         * docs/plugins/Makefile.am:
4930         * docs/plugins/gstreamer-plugins-docs.sgml:
4931         * docs/plugins/gstreamer-plugins-sections.txt:
4932         * plugins/elements/gstmultiqueue.c:
4933         Add multiqueue to the docs.
4934
4935 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4936
4937         * configure.ac:
4938           Back to CVS
4939
4940 === release 0.10.17 ===
4941
4942 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4943
4944         * configure.ac:
4945           releasing 0.10.17, "Due Negligence"
4946
4947 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4948
4949         * gst/gstutils.c:
4950         Revert caps != NULL check temporarily for 0.10.17 release.
4951
4952 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4953
4954         * gst/gstutils.c:
4955         Check if caps are not NULL (fix bug #510194)
4956
4957 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4958
4959         * gst/gstutils.c:
4960         Fix compilation on systems that have posix timers but no
4961         monotonic clock.
4962         Fixes: #512715
4963         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4964         dot net>
4965
4966 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4967
4968         * tools/gst-inspect.c:
4969         Revert previous commit in preparation for an impromptu 0.10.17 release
4970
4971 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4972
4973         * tools/gst-inspect.c: (print_interfaces),
4974         (print_element_properties_info), (print_pad_info),
4975         (print_signal_info), (print_element_info):
4976         Fix a few memory leaks.
4977
4978 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4979
4980         * configure.ac:
4981         Back to CVS
4982
4983 === release 0.10.16 ===
4984
4985 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4986
4987         * configure.ac:
4988           releasing 0.10.16, "Special Dispensation"
4989
4990 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4991
4992         * configure.ac:
4993           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4994           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4995           not fail when trying to crosscompile on OpenEmbedded (#511750).
4996
4997 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4998
4999         * docs/manuals.mak:
5000         Use $(MAKE) instead of make to fix the build if GNU make is
5001         called different. Fixes bug #510747.
5002
5003 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5004
5005         * gst/gstplugin.c: (_gst_plugin_initialize):
5006           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5007           again, which I broke two commits ago when changing the API
5008           of gst_plugin_register_static(): the g_list_foreach() in
5009           _gst_plugin_register_static still assumed the old function
5010           signature and would therefore fail (re-fixes #510187).
5011
5012         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5013           (_gst_plugin_register_static), (gst_plugin_register_static):
5014           Revert the (technically correct) change to call g_thread_init() from
5015           the pre-main() constructor. This will break programs which call
5016           g_thread_init() without an if (!g_thread_supported()) guard in their
5017           main function. We could just blame it on GLib or the application, but
5018           it's probably best to just avoid this altogether and simply not use
5019           any GLib functions here and use plain old malloc() with a simple
5020           array to store the plugins to register later when gst_init() is
5021           finally called (re-fixes #510187).
5022
5023         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5024           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5025           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5026           (GST_START_TEST), (gst_plugin_suite):
5027           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5028           works.
5029
5030 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5031
5032         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5033           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5034           This makes gtk-doc complain, but results in slightly better
5035           compiler errors. The old _gst_plugin_register_static() is
5036           still guarded, so there'll be a compiler warning about that
5037           instead. Fixes #510187 too.
5038
5039 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5040
5041         * gst/gst.c: (init_post):
5042         * gst/gstplugin.c: (_gst_plugin_register_static),
5043           (gst_plugin_register_static), (_gst_plugin_initialize):
5044         * gst/gstplugin.h: (GstPluginFilter):
5045           Change API of gst_plugin_register_static() to not take
5046           a GstPluginDesc, but rather just take all the arguments
5047           in a GstPluginDesc directly. This is more intuitive and
5048           avoids certain mistakes when porting code from
5049           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5050           Fixes #510187.
5051
5052         * tests/check/gst/gstplugin.c:
5053           Fix up for changed API.
5054
5055 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5056
5057         * docs/faq/legal.xml:
5058           Update FAQ, Totem actually has an exception these days.
5059
5060 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5061
5062         * win32/common/libgstreamer.def:
5063         Add new API declarations
5064
5065 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5066
5067         * gst/gstminiobject.c:
5068           Spelling fixes for the API docs.
5069
5070 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5071
5072         * libs/gst/base/gstbasetransform.c:
5073           Fix long property description for QoS.
5074
5075 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5076
5077         * gst/gst.c:
5078         _gst_trace_on is already provided by gsttrace.h, no need to declare
5079         it ourselves.
5080
5081         * docs/libs/gstreamer-libs-sections.txt:
5082         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5083         and remove strange tcase_add_test which is outputting a warning.
5084
5085         * libs/gst/check/gstcheck.c:
5086         * libs/gst/check/gstcheck.h:
5087         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5088         and define them in gstcheck.c instead of having every .c file whcih
5089         includes gstcheck.h be defining its own copy and relying on symbol
5090         interposing to marry them all, which doesn't work on Solaris.
5091
5092         * tests/check/elements/identity.c: (GST_START_TEST):
5093         Don't define 'buffers' locally, it comes from libgstcheck.
5094
5095         * tests/check/generic/sinks.c: (send_buffer):
5096         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5097
5098         * tests/check/gst/gststructure.c: (GST_START_TEST):
5099         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5100         * tests/check/gst/gstutils.c: (GST_START_TEST):
5101         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5102         Add a bunch of casts to make various constants fit the types
5103         they're being assigned to.
5104
5105 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5106
5107         * gst/gstchildproxy.c:
5108           Improve docs and add some ideas for making this more general-purpose.
5109
5110 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5111
5112         * gst/gst_private.h: (GST_CAT_TYPES):
5113           Add GST_CAT_TYPES, for consistency, and so that the other
5114           debug categories don't make fun of it. Spotted by Saur on IRC.
5115
5116 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5117
5118         * gst/parse/Makefile.am:
5119           Move types.h from EXTRA_DIST to noinst_HEADERS.
5120
5121 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5122
5123         * autogen.sh:
5124           Add -Wno-portability to the automake parameters to stop warnings
5125           about GNU make extensions being used. We require GNU make in almost
5126           every Makefile anyway.
5127
5128         * configure.ac:
5129           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5130           at the same time is required for per target flags.
5131
5132 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5133
5134         * gst/gstmacros.h:
5135           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5136           __GNUC__ is defined before using it.
5137
5138 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5139
5140         * docs/gst/gstreamer-sections.txt:
5141         * gst/gst.c: (init_post):
5142         * gst/gstplugin.c: (_gst_plugin_register_static),
5143           (gst_plugin_register_static), (_gst_plugin_initialize),
5144           (gst_plugin_register_func):
5145         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5146           API: add gst_plugin_register_static() and deprecate
5147           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5148           (#498924).
5149           Also, in _gst_plugin_register_static(), make sure to call
5150           g_thread_init() before calling GLib functions such as
5151           g_list_append() if we're not initialised yet, since that
5152           may lead to random crashes with older GSlice/GLib versions.
5153
5154         * tests/check/gst/gstplugin.c:
5155           Adapt unit test to above changes.
5156
5157 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5158
5159         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5160         * gst/gstcaps.c: (gst_caps_to_string):
5161         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5162           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5163           Yet another gratuitous GString micro-optimisation: add a (private)
5164           function that serialises a structure appending to an existing
5165           GString, so that when we serialise caps we don't need to alloc+free
5166           a throwaway GString for each structure (each of which also entailing
5167           multiple reallocs on the way); also use g_string_sized_new() in
5168           various places with an approximate string length to avoid reallocs
5169           within GString. See #500143.
5170
5171 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5172
5173         * gst/gststructure.c: (gst_structure_id_set_value):
5174           Always check UTF-8 conformance of structure strings and not only
5175           if the debugging system is enabled; reasoning: the behaviour of
5176           the actual code shouldn't really change depending on whether the
5177           debugging system is enabled or not (#508291).
5178
5179 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5180
5181         * Makefile.am:
5182           Remove old coverage target in favour of "make lcov".
5183
5184 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5185
5186         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5187         (gst_base_src_loop):
5188         The start segment for reverse playback goes from start to last_stop.
5189
5190 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5191
5192         Patch by: Peter Kjellerstedt <pkj axis com>
5193
5194         * gst/gstclock.h:
5195         Cast the results from the timeval/spec_to_time macros to what the
5196         docs say it casts to, a GstClockTime. fixes #508175.
5197
5198 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5199
5200         * gst/gstbuffer.c:
5201         Update some comments.
5202
5203         * tools/gst-inspect.c: (print_element_properties_info):
5204         Improve printing of flags.
5205
5206 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5207
5208         * libs/gst/base/gstbasetransform.c:
5209           (gst_base_transform_transform_size):
5210           Print element name with g_warning() if there's a problem
5211           with the unit size.
5212
5213 2008-01-07  David Schleef  <ds@schleef.org>
5214
5215         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5216
5217         * libs/gst/controller/gstcontroller.h:
5218         * libs/gst/controller/gstcontrolsource.h:
5219         * libs/gst/controller/gstinterpolationcontrolsource.h:
5220         * libs/gst/controller/gstlfocontrolsource.h:
5221         * libs/gst/dataprotocol/dataprotocol.h:
5222           Fix empty prototypes.  Fixes bug #507957.
5223
5224 2008-01-07  David Schleef  <ds@schleef.org>
5225
5226         * docs/faq/dependencies.xml: Fix typo.
5227
5228 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5229
5230         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5231         (gst_base_src_loop):
5232         Don't update the last_stop position in do_seek, that's the position we
5233         did a seek to.
5234         Read backwards when we have a negative rate.
5235
5236         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5237         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5238         (filesrc_suite):
5239         Add check for reverse reading.
5240
5241 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5242
5243         Patch by: Alexis Ballier <aballier at gentoo org>
5244
5245         * tests/check/gst/gstabi.c:
5246         * tests/check/gst/struct_ppc64.h:
5247         * tests/check/libs/libsabi.c:
5248         * tests/check/libs/struct_ppc64.h:
5249           Decide which header to include based on the userland ABI target
5250           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5251           for 64-bit userland (#503590).  Might need something similar for
5252           x86 too.
5253
5254 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5255
5256         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5257           Log the reason why fopen fails in addition to the fact that it failed.
5258           
5259 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5260
5261         * gst/parse/parse.l:
5262         Use "%option never-interactive" to prevent useless calls to isatty()
5263         on every input when parsing. Also use "%option noinput" to not define
5264         the static input/yyinput functions which we don't use anyway. This
5265         removes a compiler warning with gcc 4.3 and saves some bytes in the
5266         library.
5267         
5268         * gst/parse/lex._gst_parse_yy.pre.c:
5269         Regenerated for the above change.
5270
5271 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5272
5273         * gst/gstpad.c: (fixate_value):
5274         Don't crash when trying to fixate and empty list.
5275         Fixes #506643.
5276
5277 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5278
5279         * docs/faq/gst-uninstalled:
5280         Clarify the comments to make the usage of this script and what it
5281         does easier to understand.
5282
5283 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5284
5285         * tools/gst-plot-timeline.py:
5286         Add more options to gst-plot-timeline
5287
5288 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5289
5290         * docs/design/part-synchronisation.txt:
5291         Some more info on how the stream_time in GstBaseSink is done.
5292
5293 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5294
5295         * tests/check/generic/sinks.c: (gst_sinks_suite):
5296           Put back the tcase_set_timeout(), apparently it's needed after
5297           all; fix it up in a way that makes things work with valgrind too.
5298
5299 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5300
5301         * gst/gstdebugutils.c:
5302           Add warning when failed to open file for writing.
5303
5304 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5305
5306         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5307
5308         * gst/gstvalue.c: (gst_value_is_fixed):
5309           Optimisation: bail out of the loop as early as possible (#500143).
5310
5311 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5312
5313         * gst/gstcaps.c: (gst_caps_to_string):
5314         * gst/gstinfo.c: (gst_debug_construct_term_color):
5315         * gst/gstparse.c: (gst_parse_launchv):
5316         * gst/gstutils.c: (gst_util_dump_mem):
5317         * gst/gstvalue.c: (gst_value_serialize_any_list),
5318           (gst_value_transform_any_list_string):
5319           Bunch of gratuitous nano-optimisations.
5320
5321 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5322
5323         * tests/check/generic/sinks.c: (async_done_func),
5324           (async_done_eos_func):
5325           Fix leak in unit test (bus sync handler must unref the message
5326           if it returns GST_BUS_DROP). Don't fiddle with the default test
5327           timeout, this is smaller than the current preconfigured value
5328           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5329           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5330
5331 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5332
5333         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5334
5335         * configure.ac:
5336         Check for stdio_ext.h for the filesink changes.
5337
5338         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5339         (gst_file_sink_class_init), (gst_file_sink_init),
5340         (gst_file_sink_dispose), (gst_file_sink_set_property),
5341         (gst_file_sink_get_property), (gst_file_sink_open_file),
5342         (gst_file_sink_close_file):
5343         * plugins/elements/gstfilesink.h:
5344         Add two properties to control the buffering mode and size.
5345         API: GstFileSink::buffer-mode
5346         API: GstFileSink::buffer-size
5347         Fixes #500150.
5348
5349 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5350
5351         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5352         Add some more docs to explain why a FIXME was wrongly added. 
5353
5354 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5355
5356         * gst/gstobject.c:
5357           Fix typo in the gst_object_{ref,unref} documentation.
5358
5359 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5360
5361         * tests/check/libs/controller.c:
5362         * tests/check/libs/typefindhelper.c:
5363         * tests/check/pipelines/parse-launch.c:
5364           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5365           going to be deprecated (see #498924).
5366
5367 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5368
5369         * gst/gsttypefind.c: (gst_type_find_register):
5370           Make gst_type_find_register work for static typefind functions,
5371           ie. allow passing plugin == NULL (prerequisite for #498924).
5372
5373         * gst/gstelementfactory.c: (gst_element_register):
5374           Small docs addition.
5375
5376 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5377
5378         * gst/gstpad.c: (gst_pad_dispose):
5379         Really unlink the peer pad instead of setting the peer pointer to NULL
5380         when we dispose the pad.
5381         This correctly calls the unlink functions and makes sure that the peer
5382         does not have a handle to invalid memory. See #504671.
5383
5384         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5385         Add testsuite for above case.
5386
5387 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5388
5389         Patch by: Peter Kjellerstedt <pkj axis com>
5390
5391         * libs/gst/check/gstcheck.h:
5392           Fix detection of the check version we're compiling against (would
5393           otherwise break if check goes v0.10.0); correctly report the
5394           name of the failed test again in case of failure, instead of
5395           just 'tf' (fixes #504499).
5396
5397 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5398
5399         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5400         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5401         (gst_base_src_loop), (gst_base_src_set_flushing),
5402         (gst_base_src_change_state):
5403         Allow sending EOS to the source to make it send out an EOS event from
5404         the streaming thread.
5405         Update docs and deprecate the old NULL/READY shutdown method.
5406
5407         * tests/check/libs/basesrc.c: (GST_START_TEST),
5408         (gst_basesrc_suite):
5409         Add unit test for controlled shutdown.
5410
5411 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5412
5413         * docs/design/part-synchronisation.txt:
5414         Small updates.
5415
5416         * gst/gstsegment.c: (gst_segment_set_seek),
5417         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5418         (gst_segment_to_running_time):
5419         The seek format can be different from the segment format when the start
5420         and stop values are not to be updated, when we only do a rate change for
5421         example.
5422
5423         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5424         (gst_segment_suite):
5425         Add a testcase for the rate-only seeks, checking that the format is
5426         correctly ignored when start and stop are not updated.
5427
5428 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5429
5430         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5431
5432         * win32/vs8/grammar.vcproj:
5433         * win32/vs8/libgstcontroller.vcproj:
5434         * win32/vs8/libgstreamer.vcproj:
5435         Fix compilation with VS8 and include some missing files.
5436
5437 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5438
5439         * gst/gsttaglist.c:
5440           Small docs addition: mention that the strings returned by
5441           gst_tag_list_get_string*() are in UTF-8 encoding.
5442
5443 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5444
5445         * Makefile.am:
5446           The check-exports stuff moved to common/win32.mak, so include that.
5447
5448 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5449
5450         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5451         (gst_base_src_perform_seek), (gst_base_src_get_range),
5452         (gst_base_src_set_playing), (gst_base_src_change_state):
5453         Make _wait_playing() not check any variables so that we can call this
5454         function from subclasses. Move the checks elsewhere similar to
5455         _wait_preroll() in basesink.
5456         Add some debugging.
5457         Only signal the LIVE cond when we are going back to PLAYING.
5458
5459 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5460
5461         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5462           Use g_remove() and g_rename(). Check result of g_rename(), and
5463           don't leak the open file descriptor if we error out when writing.
5464
5465         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5466           Must check the return value of close() after writing out the new
5467           registry file.  Sometimes write problems such as out-of-diskspace
5468           are only reported when the file is closed and not already during
5469           the write.  This may have caused partial/broken registry files in
5470           some rare circumstances. Should fix #503675.
5471
5472 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5473
5474         * docs/gst/.cvsignore:
5475         * docs/libs/.cvsignore:
5476         * docs/plugins/.cvsignore:
5477         Ignore files generated by new common/* modifications
5478
5479 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5480
5481         * win32/common/libgstbase.def:
5482           Yes, you can also have a <TAB> if you want.
5483
5484 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5485
5486         * win32/common/libgstbase.def:
5487           Add new basetransform API to win export file.
5488
5489 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5490
5491         * tests/check/gst/gstbin.c:
5492           Adjust the test to the refcount change two days ago.
5493
5494 2007-12-14  David Schleef  <ds@schleef.org>
5495
5496         * docs/faq/getting.xml: Fix typo.
5497
5498 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5499
5500         * docs/libs/gstreamer-libs-sections.txt:
5501         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5502           (gst_base_transform_prepare_output_buffer),
5503           (gst_base_transform_set_gap_aware):
5504         * libs/gst/base/gstbasetransform.h:
5505           API: Add gst_base_transform_set_gap_aware() to control whether
5506           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5507           get buffers with this flag at all. Fixes #503231.
5508
5509 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5510
5511         * libs/gst/base/gstbasesink.c:
5512         * libs/gst/base/gstbasesrc.c:
5513         * libs/gst/base/gstbasetransform.c:
5514           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5515           thread. Correct log message in gstbasesrc.c.
5516
5517 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5518
5519         * gst/gstutils.c: (element_find_unconnected_pad):
5520           Fix possible compiler warning (#503417).
5521
5522 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5523
5524         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5525           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5526
5527 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5528
5529         * tools/gst-inspect.c: (print_element_properties_info):
5530           Add support for GstFraction properties.
5531
5532 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5533
5534         * Makefile.am:
5535           Add check-exports target and run it as part of 'make check'
5536           (see #499140 and #493983).
5537
5538         * gst/gst_private.h:
5539         * gst/gstelementfactory.h:
5540         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5541         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5542           (_priv_gst_in_valgrind):
5543         * gst/gstinfo.h: (GstLogFunction):
5544         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5545           (gst_type_find_register):
5546         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5547           (gst_type_find_factory_get_type):
5548         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5549           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5550           (gst_controller_new_valist), (gst_controller_new_list),
5551           (_gst_controller_dispose), (_gst_controller_class_init):
5552         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5553         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5554           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5555           (gst_object_get_controller), (gst_object_set_controller),
5556           (gst_object_suggest_next_sync), (gst_object_sync_values),
5557           (gst_object_set_control_source), (gst_object_get_control_source),
5558           (gst_object_get_value_arrays), (gst_object_get_value_array),
5559           (gst_object_get_control_rate), (gst_object_set_control_rate):
5560         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5561         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5562           Make some functions that should be static static; rename some
5563           private symbols so that they don't get exported; add some FIXME
5564           comments so we can move accidentally exported functions into
5565           our private section in 0.11.
5566
5567         * win32/common/libgstreamer.def:
5568           Add gst_utils_get_timestamp().
5569
5570 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5571
5572         * gst/gstvalue.c:
5573         * gst/gstvalue.h:
5574           Add more missing "Since:" tags to docs.
5575
5576 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5577
5578         * gst/gstutils.c:
5579           Add mising "Since:" to docs.
5580
5581 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5582
5583         * gst/gstplugin.c:
5584           Include "glib-compat-private.h" to fix the build on system with
5585           glib < 2.10. Fixes #503131.
5586
5587 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5588
5589         * gst/gstutils.c:
5590         * gst/gstutils.h:
5591           Actually its not PURE as it gets the time from elsewhere.
5592
5593 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5594
5595         * docs/gst/gstreamer-sections.txt:
5596         * gst/gstclock.h:
5597         * gst/gstdebugutils.c:
5598         * gst/gstinfo.c:
5599         * gst/gstutils.c:
5600         * gst/gstutils.h:
5601         * libs/gst/base/gstbasesink.c:
5602         * tools/gst-launch.c:
5603           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5604           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5605           Thanks Tim for spotting.
5606           API: gst_util_get_timestamp
5607
5608 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5609
5610         * configure.ac:
5611           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5612
5613 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5614
5615         * gst/gststructure.c: (gst_structure_validate_name),
5616           (gst_structure_new_valist), (gst_structure_parse_value),
5617           (gst_structure_from_string):
5618           Don't crash in _from_string() if the structure name is not valid
5619           (fixes #501560).  Allow structure names to start with a number
5620           again (this apparently broke the ubuntu codec installer).
5621
5622         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5623           (GST_START_TEST):
5624           Add unit test for the crash; update unit tests for new behaviour.
5625
5626 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5627
5628         * gst/gstutils.c:
5629         Clarify gst_element_get_compatible_pad() documentation.
5630         Fixes #500919.
5631
5632 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5633
5634         * tests/check/Makefile.am:
5635           Don't forget to dist {gst,libs}/struct_hppa.h.
5636
5637 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5638
5639         * libs/gst/base/gstbasesink.c:
5640           Use new API to get elapsed time.
5641
5642 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5643
5644         * gst/gstdebugutils.c:
5645         * gst/gstinfo.c:
5646           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5647
5648         * tools/gst-launch.c:
5649           Use new API to get elapsed time.
5650
5651 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5652
5653         * docs/gst/gstreamer-sections.txt:
5654         * gst/gstclock.h:
5655         * gst/gstdebugutils.c:
5656         * gst/gstinfo.c:
5657           Rename new API + ChangeLog surgery to remove old name from last entry..
5658
5659 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5660
5661         * docs/gst/gstreamer-sections.txt:
5662         * gst/gstclock.h:
5663         * gst/gstdebugutils.c:
5664         * gst/gstinfo.c:
5665           Now hide the different clock stuff behind a macro.
5666
5667 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5668
5669         * configure.ac:
5670         * gst/gstdebugutils.c:
5671         * gst/gstinfo.c:
5672           Apply the posix-timer check from #361155. Conditionally use the posix
5673           timer for logging. This gives better timestamp precission, less
5674           overhead and no ntp jitter.
5675
5676 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5677
5678         * gst/gstminiobject.c: (gst_mini_object_get_type),
5679         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5680         (gst_mini_object_finalize), (gst_mini_object_copy),
5681         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5682         (gst_mini_object_replace), (param_mini_object_validate),
5683         (gst_param_spec_mini_object_get_type):
5684         Some cleanup and checking against invalid function parameters.
5685
5686 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5687
5688         * docs/gst/gstreamer-sections.txt:
5689         * gst/gstclock.h:
5690         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5691         (gst_systemclock_suite):
5692         Start merging in the easy bits of #361155, the monotonic clock patch.
5693         This one adds a few handy macros with docs and a testsuite.
5694
5695 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5696
5697         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5698         Be a bit smarter when seeking, like, don't try to do a seek when it's
5699         not needed. This avoids errors when the file is not seekable.
5700         Fixes #499771.
5701
5702 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5703
5704         * docs/gst/gstreamer-docs.sgml:
5705         * docs/gst/gstreamer-sections.txt:
5706         * docs/gst/gstreamer.types.in:
5707         * gst/Makefile.am:
5708         * gst/gst.h:
5709         * gst/gstpreset.c:
5710         * gst/gstpreset.h:
5711         * plugins/elements/gstqueue.c:
5712           Due to popular request remove preset interface again. :-(.
5713
5714 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5715
5716         * tools/gst-inspect.c:
5717           Print 'default value' for enums and flags too.
5718
5719 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5720
5721         * docs/random/ensonic/profiling.txt:
5722           More ideas.
5723
5724         * gst/gstbin.c:
5725           Fix typo and give better log output.
5726
5727         * gst/gstdebugutils.c:
5728         * gst/gstdebugutils.h:
5729           More ideas, make graphs a bit smaller and fix param name in macro.
5730
5731 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * gst/gstpreset.c:
5734           Try harder to use the return value from fgets().
5735
5736 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5737
5738         * gst/gstpreset.c:
5739           For theses two fgets we handle the error below.
5740
5741 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5742
5743         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5744         Only send upstream events upstream. Fixes #498746.
5745
5746 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5747
5748         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5749
5750         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5751         (gst_identity_init), (gst_identity_transform_ip),
5752         (gst_identity_set_property), (gst_identity_get_property):
5753         * plugins/elements/gstidentity.h:
5754         Add property to disable handoff signal emission. Fixes #498694.
5755         API: GstIdentity::signal-handoffs
5756
5757 2007-11-21  Julien Moutte  <julien@fluendo.com>
5758
5759         * docs/faq/gst-uninstalled: Yet another missing library for the
5760         uninstalled script (fft)
5761
5762 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5763
5764         * docs/faq/developing.xml:
5765         Add a question about how to submit new translations.
5766
5767         * docs/random/release:
5768         Update the contact email address for the Translation Project
5769
5770         * plugins/elements/gstfdsrc.c:
5771         The parent_class for fdsrc is pushsrc, not GstElement.
5772
5773 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5774
5775         * gst/gstpreset.c:
5776           Plug a leak and fix saving.
5777
5778 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5779
5780         * docs/gst/gstreamer-sections.txt:
5781         Add new gst_preset__get_property_names() function to the docs
5782         to fix the build.
5783
5784 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5785
5786         * gst/gstpreset.c:
5787         * gst/gstpreset.h:
5788           Change _get_preset_names API to return a strv with copies. Add
5789           _get_property_names to allow implementations to filter and provide
5790           good default implementation.
5791
5792 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5793
5794         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5795         script (sdp).
5796
5797 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5798
5799         * gst/gstpreset.c:
5800           More cleanups, docs, and TODOs from comments that now slowly come in.
5801
5802 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5803
5804         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5805         search path.
5806
5807 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5808
5809         * gst/gstpreset.c:
5810           Fix bogus warning and make the property type specific code more
5811           similar.
5812
5813 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5814
5815         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5816         it build on OS X.
5817
5818 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5819
5820         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5821         (gst_bin_add_func), (gst_bin_remove_func),
5822         (gst_bin_change_state_func), (gst_bin_continue_func):
5823         Change email, cleanups add some more debug and comments.
5824         Also set bus and clock on new elements when the pipeline was in error.
5825
5826 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5827
5828         * gst/gstbin.c:
5829         * gst/gstdebugutils.c:
5830           Fix build with --disable-gst-debug. Fixes #497859.
5831           Spotted by Sameer Naik.
5832
5833 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5834
5835         * gst/gstevent.c:
5836           Little documentation improvment.
5837
5838         * gst/gstpreset.c:
5839           More TODO cleanups. Remove c++ comments.
5840
5841         * libs/gst/controller/gstcontroller.c:
5842           Add TODO and use quark from static string.
5843
5844         * tests/check/gst/gstmessage.c:
5845         * tests/check/gst/gststructure.c:
5846           Use quark from static string.
5847
5848 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5849
5850         * gst/gstpreset.c:
5851           Add some comments and TODOs.
5852
5853         * gst/gstpreset.h:
5854           Add padding for future changes.
5855
5856         * plugins/elements/gstqueue.c:
5857           Implement the iface.    
5858
5859 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5860
5861         * docs/gst/gstreamer-docs.sgml:
5862         * docs/gst/gstreamer-sections.txt:
5863         * docs/gst/gstreamer.types.in:
5864         * gst/Makefile.am:
5865         * gst/gst.h:
5866         * gst/gstpreset.c:
5867         * gst/gstpreset.h:
5868           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5869
5870 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5871
5872         * configure.ac:
5873
5874         Back to CVS
5875
5876 === release 0.10.15 ===
5877
5878 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5879
5880         * configure.ac:
5881           releasing 0.10.15, "October"
5882
5883 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5884
5885         * win32/vs6/libgstreamer.dsp:
5886         Convert line endings back to DOS.
5887
5888 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5889
5890         * docs/design/draft-tagreading.txt:
5891         * docs/random/ensonic/profiling.txt:
5892         Update fast tagreading draft and performance profiling ideas.
5893
5894 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5895
5896         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5897         Don't hold the object lock when unreffing a buffer because it could
5898         cause a deadlock when the finalize function wants to grab the object
5899         lock too. Fixes #495133.
5900
5901 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5902
5903         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5904         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5905         Also accumulate time correctly when doing reverse playback. Fixes
5906         #488201,
5907         When converting to running and stream time, use default values for
5908         start/stop/time/accum when comparing different formats. Fixes #494245.
5909
5910         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5911         Do running/stream time in TIME format.
5912
5913         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5914         (gst_segment_suite):
5915         2 new unit tests for segment accumulation.
5916
5917 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5918
5919         * gst/gst.c: (init_pre):
5920         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5921           (_gst_debug_bin_to_dot_file):
5922           Move getenv() back into gst_init, so everyone can live happily
5923           ever after. Make sure the symbol isn't exported though.
5924
5925 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5926
5927         Patch by: Sebastien Moutte  <sebastien moutte net>
5928
5929         * win32/common/gstenumtypes.c:
5930         * win32/common/gstenumtypes.h:
5931           Update enum types.
5932
5933         * win32/vs6/libgstreamer.dsp:
5934           Update vs6 project files (#494343).
5935
5936 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5937
5938         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5939         (gst_base_src_perform_seek), (gst_base_src_default_event),
5940         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5941         (gst_base_src_activate_pull):
5942         Unify flushing code, remove some old unlock code that is no longer used.
5943         Take the streaming lock when seeking to avoid races. Fixes #492729.
5944         Added some more comments.
5945
5946 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5947
5948         * gst/gst.c: (_gst_disable_segtrap):
5949           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5950           we can use gst_segtrap_is_enabled() there now that we have that API.
5951           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5952           to do the getenv here (and export the variable).
5953
5954         * gst/gstdebugutils.c: (debug_dump_element),
5955           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5956           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5957
5958         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5959           (gst_debug_log_default):
5960           Rename _gst_info_start_time to priv_gst_info_start_time so it
5961           doesn't get exported (was never in any header).
5962
5963         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5964           (gst_plugin_loading_mutex):
5965           Make static mutex gst_plugin_loading_mutex really static (was never
5966           in any header), and use gst_segtrap_is_enabled() instead of
5967           _gst_disable_segtrap.
5968
5969         * gst/gsttrace.c: (_gst_trace_default):
5970           Make local _gst_trace_default static (was never in any header).
5971
5972 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5973
5974         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5975
5976         * win32/common/libgstbase.def:
5977         * win32/common/libgstcontroller.def:
5978         * win32/common/libgstdataprotocol.def:
5979         * win32/common/libgstnet.def:
5980         * win32/common/libgstreamer.def:
5981           Add more missing symbols, remove some duplicates, and sort
5982           as the 'sort' command sorts it (partially fixes #493983).
5983
5984 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5985
5986         * gst/gstelement.c: (gst_element_set_state_func):
5987         Only change the state cookie if a different state was set on the
5988         element. See #492729.
5989
5990 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5991
5992         * gst/gstvalue.c:
5993           Remove unused and uninitialised type variables that were still
5994           exported for some reason (they were never in any header files
5995           though).
5996
5997 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5998
5999         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6000         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6001         (gst_base_sink_event), (gst_base_sink_get_position_last),
6002         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6003         (gst_base_sink_change_state):
6004         Don't try to report a 0 position when we don't know, return -1 and FALSE
6005         instead. This mostly happens when we are prerolling.
6006         Make sure we can report the right position before we post the ASYNC_DONE
6007         message so that a message handler can query position without races.
6008
6009         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6010         (async_done_handoff), (async_done_func), (send_buffer),
6011         (async_done_eos_func), (gst_sinks_suite):
6012         Add two tests for the above.
6013
6014 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6015
6016         * MAINTAINERS:
6017         Update with new email address.
6018
6019         * docs/design/part-TODO.txt:
6020         Add some more info about future pad-block and negotiation changes.
6021
6022         * docs/design/part-buffering.txt:
6023         Add some ideas about buffering reporting.
6024
6025 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6026
6027         * tests/check/gst/gstobject.c:
6028         Disable silly racy test that always fails on this combination of CPU
6029         and kernel.
6030
6031 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6032
6033         Patch by: Murray Cumming  <murrayc@murrayc.com>
6034
6035         * gst/gstobject.c:
6036           Corrected the registration of the parent-set and parent-unset
6037           signals: The parameter is a GstObject, not a GObject (#493134).
6038
6039 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6040
6041         * gst/gst_private.h:
6042         * gst/gstbuffer.h:
6043         * gst/gstevent.h:
6044         * gst/gstformat.h:
6045         * gst/gstmessage.h:
6046         * gst/gstplugin.h:
6047         * gst/gstquery.h:
6048         * gst/gsttaglist.h:
6049         * gst/gstvalue.h:
6050           Move declaration of private _gst_foo_initialize() functions into
6051           our private header file where they should have been all along.
6052
6053 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6054
6055         * docs/plugins/gstreamer-plugins-sections.txt:
6056         * gst/gstdebugutils.h:
6057         * gst/gstxml.h:
6058         * plugins/elements/gstqueue.c:
6059           gtk-doc fixes; trailing-comma-in-enum fix.
6060
6061 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6062
6063         * gst/gst.c: (gst_deinit):
6064           Clean up on deinit (not the external ones though, doesn't seem to be
6065           needed for some reason).
6066
6067 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6068
6069         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6070           Remove __declspec(dllimport) for MSVC that was copied over into core
6071           from a plugin, obviously without ever having been tested (note the
6072           single underscore in _declspec in the initial commit), and that doesn't
6073           really make sense.  See #492077.
6074
6075 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6076
6077         * gst/gst.c: (init_post):
6078         * gst/gstevent.c: (_gst_event_initialize):
6079         * gst/gstquery.c: (_gst_query_initialize):
6080         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6081           g_type_class_ref() other types as well, see #349410 and #64764.
6082
6083         * gst/gstbuffer.c: (_gst_buffer_initialize):
6084         * gst/gstmessage.c: (_gst_message_initialize):
6085           Simplify existing g_type_class_ref().
6086
6087 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6088
6089         * gst/gstformat.c: (_gst_format_initialize):
6090           g_type_class_ref() our GstFormat type to make sure we avoid the
6091           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6092           bug #64764. Should fix intermittent tee unit test failures (#474823).
6093
6094 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6095
6096         * tests/check/elements/tee.c: (test_num_buffers):
6097           Simplify, simplify, simplify - or not.  Rewrite unit test
6098           not to use gst_parse_launch(); allow N sub-streams. Increasing
6099           the number of sub-streams seems to reproduce #474823 more easily.
6100
6101 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6102
6103         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6104
6105         * gst/gsttrace.c:
6106         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6107         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6108         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6109           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6110           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6111           so use _pipe() directly (#492077).
6112
6113         * win32/common/dirent.c: (_treaddir):
6114           Add a couple of casts to make it build without warnings with MSVC.
6115
6116         * win32/common/libgstreamer.def:
6117           Add some more symbols that need to be exported.
6118
6119 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6120
6121         * tests/examples/metadata/read-metadata.c: (message_loop):
6122           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6123           arriving in a second or third tag message are added to
6124           the tag list as well.
6125
6126 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6127
6128         * libs/gst/base/gstbasesrc.c:
6129           Its "Since:" and not "@Since:". And remove an superflous cast.
6130
6131 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6132
6133         * docs/libs/gstreamer-libs-sections.txt:
6134         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6135         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6136         (gst_base_sink_get_property), (gst_base_sink_render_object),
6137         (gst_base_sink_preroll_object),
6138         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6139         (gst_base_sink_change_state):
6140         * libs/gst/base/gstbasesink.h:
6141         Add a new last-buffer property that contains the last buffer used in
6142         basesink for preroll or rendering. useful for making snapshots.
6143         API: gst_base_sink_get_last_buffer()
6144         API: GstBaseSink::last-buffer
6145
6146 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6147
6148         * docs/gst/running.xml:
6149         * gst/gst.c:
6150         * gst/gstdebugutils.c:
6151         * gst/gstdebugutils.h:
6152         * tools/gst-launch.c:
6153           Improve bin graph dumping, by using the envvar to specify a path.
6154           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6155
6156 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6157
6158         * plugins/elements/gsttypefindelement.c:
6159           (gst_type_find_element_handle_event),
6160           (gst_type_find_element_activate):
6161           Post special error message if we can't determine the type of a stream
6162           because it's empty.
6163
6164 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6165
6166         * docs/gst/running.xml:
6167         * gst/gstdebugutils.c:
6168           Document new env-var. Add one log-line after dumpng a graph.
6169
6170 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6171
6172         * configure.ac:
6173           Ugly hack to put the (recently removed and non-portable, apparently)
6174           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6175           GNU ld, because without that 'make check' fails miserably on my debian
6176           stable box.  Someone with more knowledge of linker intricacies and
6177           portability issues than me fix this properly please.
6178
6179 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6180
6181         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6182         Reset last seen position after flushing so that we don't report the old
6183         position anymore.
6184
6185 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6186
6187         * gst/gstelementfactory.c: (gst_element_register):
6188         * gst/gsturi.h:
6189         Patch from Alessandro Decina adding get_type_full and
6190         get_protocols_full private vfuncs to the URIHandler interface
6191         to allow bindings to support creating URI handlers. 
6192         Partially fixes: #339279
6193         API: GstURIHandlerInterface::get_type_full
6194         API: GstURIHandlerInterface::get_protocols_full
6195
6196 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6197
6198         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6199         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6200         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6201         Make it so that pads are considered linked until a buffer is pushed
6202         and discovered otherwise. This avoids problems with decodebin2 hanging
6203         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6204         case.
6205
6206         Make sure we lock the multiqueue when updating the max-size properties.
6207         
6208         Fix a crash on Solaris in a debug statement in get_request_pad that
6209         passes a NULL string to GST_DEBUG. 
6210
6211         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6212         (run_output_order_test):
6213         Fix the test to allow the first buffer on not-linked pads to come out
6214         of sequence while multiqueue discovers that they are not-linked.
6215
6216 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6217
6218         * configure.ac:
6219         * libs/gst/check/Makefile.am:
6220         Use a custom export symbol regex for libgstcheck, as it needs
6221         to export symbols that don't match the standard GStreamer gst_*
6222         pattern, and  --export-dynamic is not portable (only works on 
6223         GNU ld)
6224
6225         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6226         (gst_check_setup_sink_pad):
6227         Make sure to pass a message parameter to the fail_* macros.
6228
6229         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6230         Fix some compiler warnings.
6231
6232 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6233
6234         * tests/check/gst/gststructure.c: (test_to_string):
6235           Disable test that checks that white spaces are not allowed
6236           in structure names or field names, since we need to
6237           support that for now for backwards compatibility reasons.
6238
6239 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6240
6241         * docs/gst/gstreamer-sections.txt:
6242         * gst/gsttaglist.c:
6243         * gst/gsttaglist.h:
6244           API: add GST_TAG_ARTIST_SORTNAME
6245           API: add GST_TAG_ALBUM_SORTNAME
6246           API: add GST_TAG_TITLE_SORTNAME
6247           Add tag variants for sorting (#414539).
6248
6249 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6250
6251         * gst/gststructure.c:
6252           Also allow white space for names so we don't break
6253           backwards compatibility.
6254
6255 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6256
6257         * docs/design/part-TODO.txt:
6258         * docs/design/part-segments.txt:
6259         * docs/design/part-streams.txt:
6260         Small updates.
6261
6262 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6263
6264         * docs/gst/gstreamer-sections.txt:
6265          Fixed documentation from my previous commit (added new API add
6266          gst_value_set_structure(), add gst_value_get_structure() and
6267          GST_VALUE_HOLDS_STRUCTURE).
6268
6269 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6270
6271         * gst/gstdebugutils.c:
6272           Reflow code to fix uninitialized variable warning.
6273
6274 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6275
6276         * gst/gstcaps.c: (gst_caps_to_string),
6277         (gst_caps_from_string_inplace):
6278         * gst/gststructure.c: (gst_structure_get_abbrs),
6279         (gst_structure_to_string), (gst_structure_from_string):
6280         * gst/gstvalue.c: (gst_value_set_structure),
6281         (gst_value_get_structure), (gst_value_serialize_structure),
6282         (gst_value_deserialize_structure), (_gst_value_initialize):
6283         * gst/gstvalue.h:
6284         * tests/check/gst/gststructure.c: (GST_START_TEST),
6285         (gst_structure_suite):
6286         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6287          Added GstStructure to gst_value_table and its related functions.
6288          Changed gst_structure_to_string to print ';' in the end.
6289          Changed gst_caps_to_string to not print ';' beteween its
6290          fields (structures) anymore and remove the lastes ';' from latest
6291          structure. Now it is possible to have nested structures.
6292          In addition, backward compatibilty is assured by accepting '\0' as
6293          end delimiter. Fixes: #487969.
6294          API: add gst_value_set_structure()
6295          API: add gst_value_get_structure()
6296          API: add GST_VALUE_HOLDS_STRUCTURE
6297
6298 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6299
6300         * gst/gstbus.c:
6301           When no GSource callback has been set up, tell developer
6302           to use a function that actually exists.
6303
6304 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6305
6306         * docs/gst/gstreamer-sections.txt:
6307         * gst/Makefile.am:
6308         * gst/gst.c:
6309         * gst/gst.h:
6310         * gst/gstdebugutils.c:
6311         * gst/gstdebugutils.h:
6312         * gst/gstinfo.c:
6313         * gst/gstinfo.h:
6314         * tools/gst-launch.c:
6315           Allow dumping pipelines as dot graphs. Fixes #456573.
6316
6317 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6318
6319         * gst/gststructure.c:
6320           Allow '+' as well, it can be part of media or mime types
6321           such as image/svg+xml.
6322
6323 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6324
6325         * docs/gst/gstreamer-sections.txt:
6326         * gst/gstbus.c:
6327         * gst/gstbus.h:
6328           API: add gst_bus_pop_filtered
6329           API: add gst_bus_timed_pop_filtered
6330           Two new functions for waiting for specific message types on the
6331           bus for a specified amount of time without iterating any main
6332           loops or main contexts.
6333
6334         * tests/check/gst/gstbus.c:
6335           Some tests for the new functions.
6336
6337 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6338
6339         * docs/libs/gstreamer-libs-sections.txt:
6340           Make gtk-doc ignore stuff it should ignore.
6341
6342 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6343
6344         * libs/gst/check/gstcheck.c:
6345         * libs/gst/check/gstcheck.h:
6346           Allow runtime selection of unit tests to run via the GST_CHECKS
6347           environment variable (test case function names, comma-separated).
6348
6349 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6350
6351         * gst/gststructure.c:
6352         * tests/check/gst/gststructure.c:
6353           Revert serialisation change and constrain structure-names after
6354           consensus on irc. Update api documentation to reflect the change.
6355
6356 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6357
6358         * gst/gststructure.c:
6359           Improve serialization and fix tests.
6360
6361         * tests/check/gst/gststructure.c:
6362           Add another test that covers why I actually did the previous structure
6363           change.
6364
6365 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6366
6367         * tools/gst-inspect.c: (print_element_info):
6368         Don't crash when inspecting an element.
6369
6370 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6371
6372         * tests/check/gst/gststructure.c:
6373           Add unit test for escaping of structure name when serialising
6374           and deserialising to/from strings.
6375
6376 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6377
6378         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6379         (gst_single_queue_new):
6380         * plugins/elements/gstqueue.c: (gst_queue_init),
6381         (gst_queue_push_one):
6382         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6383         upstream is tricked into thinking it can suggest a format downstream
6384         while downstream does not support that format. The real problem is that
6385         core calls acceptcaps when pushing a buffer with new caps, for which we
6386         do a little workaround by setting the caps on the srcpad ourselves
6387         before pushing the buffer (until this is figured out). Fixes #486758.
6388
6389 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6390
6391         * gst/gststructure.c:
6392         * gst/gstvalue.c:
6393           Add some more comments and debug output. Quote structure name to fix
6394           deserialisation of some strings.
6395
6396 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6397
6398         * gst/gstbuffer.h:
6399           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6400           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6401
6402 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6403
6404         * tools/gst-inspect.c:
6405           Save approx. 400 1 byte allocs when printing. Use API to acces element
6406           details.
6407
6408         * tools/gst-run.c:
6409           Avoid a strdup.
6410
6411         * tools/gst-xmlinspect.c:
6412           Use API to acces element details.
6413
6414 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6415
6416         * gst/gstinfo.c:
6417           Fix some spelling errors.
6418
6419 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6420
6421         * gst/gstbin.c: (bin_handle_async_done):
6422         Correctly set the next state if all of our async children commited their
6423         state. This makes sure we can actually cancel the state change in
6424         progress. Fixes a regression in Rhythmbox when seeking.
6425
6426 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6427
6428         * gst/gstbin.c:
6429           Don't shadow local variable.
6430
6431         * gst/gstinfo.c:
6432           Don't shadow global function name.
6433
6434 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6435
6436         * gst/gstelementfactory.c:
6437         * gst/gstpluginfeature.c:
6438         * gst/gstpluginfeature.h:
6439         * gst/gstregistrybinary.c:
6440         * gst/gstregistryxml.c:
6441         * gst/gsttypefind.c:
6442           Use already-interned string for the private GstPluginFeature
6443           plugin_name field.
6444
6445 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6446
6447         * docs/libs/gstreamer-libs-sections.txt:
6448           Add new API to docs; fixes the build.
6449
6450 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6451         
6452         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6453
6454         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6455         (gst_base_sink_event):
6456         * libs/gst/base/gstbasesink.h:
6457         Add function to wait for EOS, subclasses can use this to correctly wait
6458         for devices to drain before performing the EOS logic. Fixes #485343.
6459         API: gst_base_sink_wait_eos()
6460
6461 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6462
6463         * gst/gstplugin.h:
6464           Cast description string constants in GST_PLUGIN_DEFINE macros
6465           to a (gchar*) to make C++ code using these macros compile
6466           without warning with g++-4.2 (see #462737).  Even if slightly
6467           ugly, this seems preferable to putting the description strings
6468           into the GLib quark table or making the structure member a
6469           const gchar * and doing casts in core code that allocs and
6470           frees these strings, or requiring a cast in the C++ code.
6471
6472 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6473
6474         * gst/gstinfo.h:
6475           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6476           to print the entire class/function signature into the log
6477           file for C++ code.  This only affects C++ code, for C code
6478           everything remains the same.
6479
6480 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6481
6482         * gst/gstbin.c: (remove_from_queue):
6483         Work around a problem with pipelines containing (semi)loops until a
6484         proper, more complicated solution is ready. See #475455.
6485
6486 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6487
6488         * gst/gstplugin.c:
6489         * gst/gstplugin.h:
6490         * gst/gstregistrybinary.c:
6491         * gst/gstregistryxml.c:
6492           Put more strings into the GLib quark table. No need to keep
6493           a hundred-something copies of identical version strings,
6494           license strings, package name strings and package origin
6495           strings around. 
6496
6497 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6498
6499         * docs/manual/advanced-dataaccess.xml:
6500           Don't imply that it's okay to unconditionally change
6501           buffer data or buffer metadata in a pad probe callback,
6502           and a bunch of other comments. Fixes #430031.
6503
6504 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6505
6506         * win32/common/gstenumtypes.c:
6507         * win32/common/gstenumtypes.h:
6508         * win32/common/gstversion.h:
6509           Update generated files.
6510
6511 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6512
6513         * docs/manual/advanced-autoplugging.xml:
6514           Prefix section with broken code with a warning (see #342432).
6515
6516 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6517
6518         * docs/manual/appendix-integration.xml:
6519         * docs/manual/basics-init.xml:
6520           Call g_thread_init() before g_option_context_new() to
6521           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6522
6523 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6524
6525         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6526         (gst_base_sink_queue_object_unlocked),
6527         (gst_base_sink_queue_object), (gst_base_sink_event),
6528         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6529         When we received EOS and are waiting for when to post the EOS message,
6530         our state is prerolled and we should not return ASYNC.
6531         Reorganize some code paths to implement this behavior.
6532
6533         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6534         (gst_sinks_suite):
6535         Add unit test to verify above EOS fix.
6536
6537 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6538
6539         * plugins/elements/gsttypefindelement.c:
6540         (gst_type_find_element_have_type), (gst_type_find_element_init),
6541         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6542         Move detecting the input caps of the sinkpad to the setcaps function.
6543         This allows us to update the output caps when we receive new input caps
6544         instead of always using the first detected caps.
6545
6546 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6547
6548         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6549         (gst_base_sink_get_position):
6550         Don't try to preroll non-async elements after a flush.
6551         Subtract latency form clock times when reporting position.
6552
6553 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6554
6555         * gst/gstpad.c: (gst_pad_pause_task):
6556         * gst/gstutils.c:
6557         Small comment and documentation update.
6558
6559 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6560
6561         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6562         (gst_base_src_set_live), (gst_base_src_is_live),
6563         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6564         (gst_base_src_default_event), (gst_base_src_wait),
6565         (gst_base_src_do_sync), (gst_base_src_get_range),
6566         (gst_base_src_pad_get_range), (gst_base_src_loop),
6567         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6568         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6569         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6570         (gst_base_src_change_state):
6571         Rework the locking of basesrc in a similar fashion to basesink. We
6572         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6573         us to handle live sources and semi live ones much better.
6574         Simplify flushing.
6575         Fix unlocking when seeking, shutting down and pausing in live sources.
6576
6577 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6578
6579         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6580         Fix compilation again.
6581
6582 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6583
6584         * gst/gstelement.c:
6585           Use meaningful categories for the logs to clean the default one.
6586
6587 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6588
6589         * tests/check/pipelines/cleanup.c:
6590           Print message name and not just number.
6591
6592 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6593
6594         * docs/design/draft-tagreading.txt:
6595           Add some more thoughts.
6596
6597 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6598
6599         * tests/check/pipelines/simple-launch-lines.c:
6600           Print message name and not just number.
6601
6602 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6603
6604         * libs/gst/base/gsttypefindhelper.c:
6605           Speedup typefinding. This is work in progress (see #459862).
6606
6607 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6608
6609         * gst/gstplugin.c:
6610           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6611           Spotted by Josep Torra Valles <josep@fluendo.com>.
6612
6613 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6614
6615         * gst/gstclock.h:
6616           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6617           field has moved to GstObject.
6618
6619 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6620
6621         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6622         (gst_base_src_get_range), (gst_base_src_change_state):
6623         Call unlock for live sources so that they can't get stuck in _create and
6624         produce a buffer before they are set back to PLAYING.
6625
6626 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6627
6628         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6629         (gst_queue_locked_dequeue):
6630         Comment the segment-related code... in the PROPER function.
6631         See #482147 and my commit from yesterday.
6632
6633 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6634
6635         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6636         Also initialize the counter that calculates the first timestamp on a
6637         buffer correctly for non-live sources.
6638
6639 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6640
6641         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6642         Disable code that's breaking the current-time-level reporting.
6643         See #482147
6644
6645 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6646
6647         * docs/gst/gstreamer-sections.txt:
6648         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6649         as they shouldn't show up. Fixes the docs build.
6650
6651 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6652         
6653         * gst/gstinfo.h:
6654         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6655         Define M_PI which is used in files which are including gstinfo.h. 
6656         VS6 includes doesn't define it.
6657         * win32/common/libgstbase.def:
6658         * win32/common/libgstcontroller.def:
6659         * win32/common/libgstreamer.def:
6660         Add new exported functions and variables.
6661         * win32/vs6/libgstcontroller.dsp:
6662         * win32/vs6/libgstreamer.dsp:
6663         Update the list of files to build.
6664         
6665 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6666
6667         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6668
6669         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6670         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6671         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6672         Improve debugging. Fixes #480858.
6673
6674 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6675
6676         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6677
6678         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6679         First patch of code cleanups, use the macros and right arguments in the
6680         macros to signal and lock the queue. See #480858.
6681
6682 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6683
6684         * gst/gstbus.c: (poll_func):
6685         Improve debugging when dealing with _poll().
6686
6687 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6688
6689         * gst/gstregistryxml.c:
6690           Fix memory leak I introduced a few days ago.
6691
6692 2007-09-26  Michael Smith <msmith@fluendo.com>
6693
6694         * gst/gstbuffer.c: (gst_buffer_finalize):
6695           Make it once again possible to free GstBuffers in the default
6696           build.
6697           The poisoning scribbles on parts of the miniobject we need in
6698           order to free it.
6699           Fixes #480341
6700
6701 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6702
6703         * docs/gst/gstreamer-sections.txt:
6704         * gst/gsttaglist.c:
6705         * gst/gsttaglist.h:
6706         API: add GST_TAG_COMPOSER, fixes #459809.
6707
6708 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6709
6710         * gst/gstplugin.c:
6711         * gst/gstplugin.h:
6712         Add the 3-clause BSD license and the MIT/X11 license to the license
6713         list. Fixes #479784.
6714
6715 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6716
6717         * docs/faq/getting.xml:
6718           Add Q+A about different GStreamer versions (#364056).
6719
6720 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6721
6722         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6723         (gst_base_sink_event), (gst_base_sink_change_state):
6724         Return correct gboolean from query function.
6725
6726 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6727
6728         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6729         (gst_base_sink_event), (gst_base_sink_query),
6730         (gst_base_sink_change_state):
6731         Simplify latency query.
6732         When not synchronizing, we can report latency without querying the peer
6733         element.
6734
6735 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6736
6737         * gst/gstobject.h:
6738         * gst/gstvalue.c:
6739         Fix small typos in the docs.
6740
6741 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6742
6743         * docs/design/draft-latency.txt:
6744         * docs/design/draft-push-pull.txt:
6745         * docs/design/draft-tagreading.txt:
6746         * docs/design/part-MT-refcounting.txt:
6747         * docs/design/part-activation.txt:
6748         * docs/design/part-block.txt:
6749         * docs/design/part-element-source.txt:
6750         * docs/design/part-events.txt:
6751         * docs/design/part-gstbin.txt:
6752         * docs/design/part-gstelement.txt:
6753         * docs/design/part-gstobject.txt:
6754         * docs/design/part-gstpipeline.txt:
6755         * docs/design/part-messages.txt:
6756         * docs/design/part-preroll.txt:
6757         * docs/design/part-push-pull.txt:
6758         * docs/design/part-qos.txt:
6759         * docs/design/part-query.txt:
6760         * docs/design/part-scheduling.txt:
6761         * docs/design/part-seeking.txt:
6762         * docs/design/part-segments.txt:
6763         * docs/design/part-states.txt:
6764         Documentation updates and typo fixes.
6765
6766 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6767
6768         * plugins/elements/gstfakesink.c:
6769           Add some debug text to error message to indicate that
6770           we errored out on request.
6771
6772         * tools/gst-launch.c:
6773           When the state change to PLAYING fails, check for an
6774           error message on the bus and print it.
6775
6776 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6777
6778         translated by: Jorge González González <aloriel@gmail.com>
6779
6780         * po/LINGUAS:
6781         * po/es.po:
6782           Added Spanish translation.
6783
6784 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6785
6786         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6787         Fix printf arguments.
6788
6789 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6790
6791         * tests/check/generic/states.c:
6792           Improved state change unit test.
6793
6794 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6795
6796         * gst/gstbin.h:
6797           Move priv to the right place.
6798
6799         * gst/gstsystemclock.c:
6800           Add FIXME: and improve log.
6801
6802         * tests/check/Makefile.am:
6803         * tests/examples/manual/Makefile.am:
6804           Work with all types of registries.
6805
6806 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6807
6808         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6809         Don't unref the event after pushing it. Fixes #478401.
6810
6811 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6812
6813         * .cvsignore:
6814         * tests/examples/manual/.cvsignore:
6815           Ignore registries in any format.
6816
6817 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6818
6819         * gst/glib-compat-private.h:
6820           Add compatibility macro for g_intern_string() for
6821           GLib-2.8 (any reason we can't just bump the
6822           requirement to at least 2.10?)
6823
6824         * gst/gstpadtemplate.h:
6825         * gst/gstelementfactory.c:
6826         * gst/gstregistryxml.c:
6827         * gst/gstregistrybinary.c:
6828           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6829           up the internal code accordingly.  This shouldn't be a problem, since
6830           there is no reason external code could ever assume the string in such
6831           a structure is dynamically allocated unless it did that itself;  the
6832           use of g_strdup() is private to element factories.  The new code also
6833           saves some memory by putting pad template name strings into the GLib
6834           quark table instead of allocating them dynamically.
6835           Declaring this field constant fixes warnings with g++-4.2 when using
6836           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6837
6838 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6839
6840         * gst/gstelementfactory.c:
6841           Release static caps. Fixes #475723.
6842
6843 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6844
6845         * gst/gstinfo.c:
6846         * gst/gstinfo.h:
6847           Make some internal API take const gchar * instead of just
6848           gchar * to avoid compiler warnings with g++-4.2.2 when
6849           passing string constants (partially fixes #478092).
6850
6851 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6852
6853         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6854         A latency query fails when one of the sinks fail.
6855
6856         * gst/gstelement.c: (gst_element_set_base_time):
6857         Improve debugging.
6858
6859 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6860
6861         * gst/gstbin.c: (gst_bin_continue_func):
6862         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6863         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6864         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6865
6866         Fix minor compilation warnings shown with Forte.
6867
6868 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6869
6870         * plugins/elements/gstqueue.c: (apply_buffer),
6871         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6872         Measure queue level based on the diff between head and tail timestamps
6873         even when pushing the first buffer.
6874
6875 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6876
6877         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6878         (gst_base_sink_event), (gst_base_sink_change_state):
6879         Sinks that don't preroll can always be queried for the latency.
6880         Don't post ASYNC start when we are not async.
6881
6882 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6883
6884         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6885         (gst_queue_handle_sink_event), (gst_queue_chain),
6886         (gst_queue_push_one), (gst_queue_handle_src_query),
6887         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6888         * plugins/elements/gstqueue.h:
6889         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6890         push more buffers but allow pushing of EOS and NEWSEGMENT.
6891         Add some more debug info here and there. Fixes #476514.
6892
6893 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6894
6895         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6896         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6897         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6898         (gst_base_sink_set_flushing), (gst_base_sink_query),
6899         (gst_base_sink_change_state):
6900         Latency query is allowed after we are prerolled. Introduce a new flag
6901         for this and stop abusing other variables.
6902
6903 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6904
6905         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6906         Push OOB events downstream when we get them in send_event. This allows
6907         the application to insert events in the pipeline.
6908         Add some more comments.
6909
6910 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6911
6912         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6913         (do_bin_latency), (gst_bin_change_state_func):
6914         * gst/gstpipeline.c: (gst_pipeline_change_state):
6915         Move latency query from GstPipeline to GstBin so that we can also
6916         use it when async-handling is enabled on bins.
6917
6918 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6919
6920         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6921         (gst_base_src_do_sync), (gst_base_src_change_state):
6922         Update docs.
6923         Clean up the timestamping and syncing code for pseudo live sources.
6924
6925 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6926
6927         Patch by: Steve Fink  <sphink gmail com>
6928
6929         * docs/manual/appendix-checklist.xml:
6930           Mention less -R switch in the section about debug output (#474055).
6931
6932 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6933
6934         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6935         Queue can latency to the pipeline up to the configured max size in time.
6936         Report this fact in the latency query.
6937
6938 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6939
6940         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6941
6942         * libs/gst/controller/gstinterpolation.c:
6943         * libs/gst/controller/gstlfocontrolsource.c:
6944         Use gst_guint64_to_gdouble() when converting from a uint64 or
6945         GstClockTime to double to fix the build on win32. Fixes #474371.
6946
6947 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6948
6949         * gst/gstbuffer.c: (gst_buffer_finalize):
6950         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6951         When finalizing a buffer the complete struct is filled with 0xff,
6952         thus making a use of the buffer after the final unref impossible.
6953
6954 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6955
6956         * tests/check/libs/controller.c: (GST_START_TEST):
6957         Use fail_unless_equals_int(a, b) instead of
6958         fail_unless_equals (a == b) to get better output on failures.
6959
6960 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6961
6962         * tests/check/gst/gsturi.c:
6963           Also check for the other file URI variant on win32.
6964
6965 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6966
6967         * gst/gsturi.c: (gst_uri_get_location):
6968           If there's no hostname, we want to return 'c:/foo/bar.txt'
6969           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6970
6971         * tests/check/gst/gsturi.c:
6972           Unit test for the above and a few more things.
6973
6974 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6975
6976         * docs/design/part-live-source.txt:
6977         Add docs on how live sources should timestamp.
6978
6979         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6980         Add some more debug info.
6981         For subclasses that are live and like to sync, add aditional startup
6982         latency to sync time and timestamps so that we timstamp according to the
6983         design doc.
6984
6985 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6986
6987         * gst/gstbuffer.c:
6988           Also do a g_type_class_ref() for the subbuffer type in
6989           the init function.
6990
6991 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6992
6993         * docs/gst/gstreamer-sections.txt:
6994         * gst/gstpad.c: (gst_pad_peer_query):
6995         * gst/gstpad.h:
6996         Add function to perform a query on the peer of a pad.
6997         API: gst_pad_peer_query()
6998
6999 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
7000
7001         * tests/check/gst/gstsystemclock.c:
7002           Cleanup the test a little (use gst-logging and not g_message). Improve
7003           test to check if a wait reached the target.
7004
7005 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7006
7007         * docs/libs/gstreamer-libs-sections.txt:
7008           Add new API to docs and fix the build.
7009
7010 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
7011
7012         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7013         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7014         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7015         (gst_base_src_get_property), (gst_base_src_do_sync):
7016         * libs/gst/base/gstbasesrc.h:
7017         Add property to make the basesrc timestamp buffers based on the current
7018         running time.
7019         API: GstBaseSrc::do-timestamp
7020         API: gst_base_src_set_do_timestamp()
7021         API: gst_base_src_get_do_timestamp()
7022
7023 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7024
7025         * docs/random/release:
7026           Really make sure translations are up-to-date before
7027           a release (#465010).
7028
7029 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7030
7031         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7032         Always destroy the timer, also in error cases.
7033
7034 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7035
7036         * docs/manual/highlevel-xml.xml:
7037         Fix XML example code. Fixes #472714.
7038
7039 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7040
7041         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7042         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7043         (gst_base_sink_query):
7044         Protect eos and have_preroll with the OBJECT lock so we don't need to
7045         take the PREROLL lock when querying the latency. Fixes #473846.
7046
7047 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7048
7049         * gst/gstelement.c:
7050           Give some log-messages a category.
7051
7052 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7053
7054         * gst/gststructure.c:
7055         (gst_structure_fixate_field_nearest_fraction):
7056         Fix fraction list fixation code. Take the fraction with the smallest
7057         difference with the target instead of the first one in the list.
7058
7059         * tests/check/gst/gststructure.c: (GST_START_TEST),
7060         (gst_structure_suite):
7061         Added test to verify correct fraction list fixation behaviour.
7062
7063 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7064
7065         * win32/common/libgstreamer.def:
7066           Export gst_bus_add_signal_watch too.
7067
7068 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7069
7070         * docs/libs/gstreamer-libs-sections.txt:
7071         Add new methods to docs.
7072
7073         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7074         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7075         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7076         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7077         * libs/gst/base/gstbasesink.h:
7078         Add ts-offset property to fine-tune the synchronisation.
7079         API: GstBaseSink::ts-offset property
7080         API: gst_base_sink_set_ts_offset()
7081         API: gst_base_sink_get_ts_offset()
7082
7083 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7084
7085         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7086         (gst_base_sink_init), (gst_base_sink_set_sync),
7087         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7088         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7089         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7090         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7091         (gst_base_sink_get_property), (gst_base_sink_change_state):
7092         * libs/gst/base/gstbasesink.h:
7093         Add async property to instruct the sink never to inform the parent about
7094         ASYNC state changes, update docs.
7095         Check argument with g_return_* for the public functions.
7096         API: GstBaseSink::async property
7097         API: gst_base_sink_set_async_enabled()
7098         API: gst_base_sink_is_async_enabled()
7099
7100 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7101
7102         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7103         Improve debugging.
7104
7105         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7106         (gst_base_src_default_query), (gst_base_src_wait),
7107         (gst_base_src_do_sync), (gst_base_src_change_state):
7108         Rearrange some code so that we can add support for measuring the 
7109         startup latency.
7110
7111 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7112
7113         * docs/random/ensonic/dynlink.txt:
7114           More thoughs on this.
7115
7116         * plugins/elements/gstcapsfilter.c:
7117           Add bugzilla ticket number to FIXME comment.
7118
7119 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7120
7121         * docs/design/part-TODO.txt:
7122         * docs/design/part-block.txt:
7123         Update some docs.
7124
7125 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7126
7127         * gst/Makefile.am:
7128           Revert patch which uses $(gst_headers) instead of $^ because it
7129           breaks make dist.
7130
7131 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7132
7133         * tests/check/gst/gstbin.c: (GST_START_TEST):
7134           Fix leaks in the new unit test.
7135
7136 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7137
7138         * gst/gst.c:
7139           Don't use GST_INFO before the debug system is actually initialised
7140           (shouldn't do any harm, but won't print anything either, so we can
7141           just as well remove it).
7142
7143         * gst/gstinfo.h:
7144           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7145           compilers that don't support variadic macros (such as MSVC), should
7146           check for debug_level <= __gst_debug_min as well, since that's the
7147           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7148           inline helper functions. Should improve performance a bit, but also
7149           makes sure uses of GST_INFO et.al are ignored if the debugging
7150           system isn't initialised yet (instead of printing an assertion
7151           failure).
7152
7153 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7154
7155         patch by: David Nečas <yeti@physics.muni.cz>
7156
7157         * gst/Makefile.am:
7158           Replace some non portable makefile constructs.
7159
7160 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7161
7162         * common/gtk-doc-plugins.mak:
7163           Grrrrr. Don't remove the types file on make clean.
7164
7165 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7166
7167         * tools/gst-launch.1.in:
7168         Add colorspace to example pipeline. Fixes #458274.
7169
7170 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7171
7172         * docs/random/release:
7173           The release manager should run 'make download-po' before making a
7174           release to make sure translations are up-to-date.
7175
7176         * po/LINGUAS:
7177         * po/be.po:
7178         * po/pl.po:
7179         * po/rw.po:
7180           Add some new translations.
7181
7182 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7183
7184         * tools/gst-launch.c: (event_loop), (main):
7185         Don´t try to do any state management when a live pipeline posts
7186         buffering messages.
7187         Also make the buffering string translatable.
7188
7189 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7190
7191         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7192         (bin_handle_async_start), (gst_bin_handle_message_func):
7193         Improve debugging.
7194         When adding elements, insert messages into the bus of the newly added
7195         element and make sure the element is the source of the message. This
7196         allows the parent bin to intercept the message and do the
7197         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7198         messages to the app (which is not allowed).
7199         Update some docs.
7200
7201         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7202         Fix testsuite so that is does not work around messages that should not
7203         have been posted in the first place.
7204
7205 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7206
7207         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7208         (update_degree), (gst_bin_sort_iterator_next):
7209         Fix annoying bug in the sorted iterator where a sink that is not really
7210         a sink (when it has downstream links) screwed up the iterator.
7211
7212         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7213         Unit test to verify the fix.
7214
7215 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7216
7217         * gst/gstmessage.h:
7218         Add some more docs for the messages.
7219
7220         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7221         (gst_base_sink_query):
7222         Add some more debugging.
7223
7224         * tools/gst-launch.c: (event_loop):
7225         When interrupting, don't try to set pipeline to PAUSED twice.
7226
7227 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7228
7229         
7230         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7231         (bin_handle_async_start), (gst_bin_handle_message_func):
7232         Move ASYNC_START message posting to where it belongs, similar to
7233         async_done. 
7234         Don't post ASYNC_START when we are in error. 
7235         Post ASYNC_START when we added an async element to a bin.
7236
7237 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7238
7239         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7240         generation from vargs. Fixes #466595.
7241
7242 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7243
7244         * gst/gstbin.c: (gst_bin_element_set_state):
7245         Always change the state of a NO_PREROLL element even if it has ASYNC
7246         elements inside (in case of a bin).
7247
7248         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7249         Unit test for this case.
7250
7251 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7252
7253         * libs/gst/check/gstbufferstraw.c:
7254         * libs/gst/check/gstcheck.h:
7255         * libs/gst/controller/gstcontroller.c:
7256         * libs/gst/controller/gstcontrolsource.h:
7257         * libs/gst/controller/gstlfocontrolsource.h:
7258         * plugins/elements/gstcapsfilter.h:
7259         * plugins/elements/gstfdsink.h:
7260         * plugins/elements/gstfdsrc.h:
7261           Add more missing docs.
7262
7263 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7264
7265         * gst/gststructure.c:
7266         Add Since tag to docs.
7267
7268 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7269
7270         * docs/gst/gstreamer-sections.txt:
7271         * gst/gststructure.c: (gst_structure_get_uint):
7272         * gst/gststructure.h:
7273         Add function to get uint from a structure.
7274         API: gst_structure_get_uint()
7275
7276 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7277
7278         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7279         (gst_caps_intersect):
7280         Fix proper check for simple caps.
7281
7282 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7283
7284         * docs/gst/Makefile.am:
7285         * docs/libs/Makefile.am:
7286           Remove cruft and do some cleanups.
7287
7288         * docs/gst/gstreamer-docs.sgml:
7289         * docs/libs/gstreamer-libs-docs.sgml:
7290           Prepare for comming gtkdoc features (rebase against online docs).
7291
7292 2007-08-10  Michael Smith <msmith@fluendo.com>
7293
7294         * docs/gst/gstreamer-sections.txt:
7295           Add gst_registry_add_path to docs.
7296
7297 2007-08-10  Michael Smith <msmith@fluendo.com>
7298
7299         * gst/gstregistry.h:
7300           Add gst_registry_add_path, which was missing from this header.
7301
7302 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7303
7304         * libs/gst/controller/gstlfocontrolsource.c:
7305           Printf format fix.
7306
7307 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7308
7309         * libs/gst/base/gstbasesink.c:
7310           Don't send an async_start message during downwards state change if 
7311           target state is less than READY
7312
7313 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7314
7315         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7316
7317         * po/LINGUAS:
7318         * po/hu.po:
7319           Added Hungarian translation.
7320
7321 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7322
7323         * po/fi.po:
7324         * po/it.po:
7325         * po/nl.po:
7326         * po/sv.po:
7327         * po/uk.po:
7328           Updated translations.
7329
7330 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7331
7332         * libs/gst/controller/Makefile.am:
7333         Dist gstlfocontrolsourceprivate.h
7334
7335 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7336
7337         * docs/libs/gstreamer-libs.types:
7338         Don't register the enum type gst_lfo_waveform_get_type() in the
7339         .types file - only GObject derived types belong.
7340
7341 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7342
7343         Patch by: <arenevier at fdn dot fr>
7344
7345         * gst/gstbuffer.h:
7346         Remove comma from last element in enum to avoid compile errors when
7347         using -pendantic. Fixes #464366.
7348
7349 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7350
7351         * docs/design/part-TODO.txt:
7352         Add some more TODO items
7353
7354         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7355         Improve debugging.
7356
7357         * gst/gstcaps.c: (gst_caps_intersect):
7358         Optimize trivial intersection case between identical caps pointers.
7359
7360         * gst/gstelement.c: (gst_element_continue_state),
7361         (gst_element_set_state_func):
7362         * gst/gstpad.c:
7363         Fix spelling and grammar mistakes.
7364
7365 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7366
7367         * po/POTFILES.in:
7368         * po/POTFILES.skip:
7369           Update POTFILES. Fixes #461599.
7370
7371 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7372
7373         * gst/gst.c:
7374         Fix confusing typo in debug output.
7375
7376 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7377
7378         reviewed by: Stefan Kost <ensonic@users.sf.net>
7379
7380         * libs/gst/controller/Makefile.am:
7381         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7382         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7383         (gst_lfo_control_source_new),
7384         (gst_lfo_control_source_set_waveform),
7385         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7386         (gst_lfo_control_source_finalize),
7387         (gst_lfo_control_source_dispose),
7388         (gst_lfo_control_source_set_property),
7389         (gst_lfo_control_source_get_property),
7390         (gst_lfo_control_source_class_init):
7391         * libs/gst/controller/gstlfocontrolsource.h:
7392         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7393         API: Add GstLFOControlSource, a control source that gives values
7394         for specific timestamps based on several periodic waveforms.
7395         Fixes #459717.
7396
7397         * tests/check/libs/controller.c: (GST_START_TEST),
7398         (gst_controller_suite):
7399         * docs/libs/gstreamer-libs-docs.sgml:
7400         * docs/libs/gstreamer-libs-sections.txt:
7401         * docs/libs/gstreamer-libs.types:
7402         Add documentation and unit tests for GstLFOControlSource.
7403
7404 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7405
7406         * configure.ac:
7407         Back to CVS
7408
7409 === release 0.10.14 ===
7410
7411 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7412
7413         * configure.ac:
7414           releasing 0.10.14, "Breathing Vacuum"
7415
7416 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7417
7418         * gst/gstelement.c: (gst_element_class_set_details_simple):
7419         * gst/gstelement.h:
7420           Make strings passed to gst_element_class_set_details_simple()
7421           constant, as they should be (#462752).
7422
7423 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7424
7425         * gst/gstbin.c: (gst_bin_change_state_func),
7426         (bin_handle_async_done), (gst_bin_handle_message_func):
7427         Don't forget about the fact that some element went ASYNC even after a
7428         resync. This makes us post the ASYNC_DONE message correctly.
7429         Fixes #462558.
7430
7431 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7432
7433         * gst/gstregistry.c: (gst_registry_add_feature):
7434         When replacing an existing feature in the registry, make sure to
7435         continue holding a reference until we've replaced the name string
7436         within our feature hash table. Make sure to use g_hash_table_replace
7437         instead of g_hash_table_insert to ensure the new name string is used
7438         as a key instead of the old one that we're about to free.
7439         Fixes: #462085
7440
7441 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7442
7443         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7444         (gst_plugin_feature_set_name):
7445         Revert patch from #459466 until after the release and we can work
7446         out exactly what the problem is (if any).
7447
7448 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7449
7450         * docs/gst/gstreamer-sections.txt:
7451         * gst/gsttaglist.c:
7452         * gst/gsttaglist.h:
7453           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7454
7455 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7456
7457         * docs/libs/Makefile.am:
7458         Include our build-prefix libs and includes before the generic ones to
7459         avoid linking against the installed libs when we want the build-tree
7460         ones.
7461
7462 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7463
7464         Patch by: Steve Fink  <sphink gmail com>
7465
7466         * docs/pwg/building-testapp.xml:
7467           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7468           if people try to build or install the example from the plugin
7469           template against a GStreamer from package using the configure
7470           defaults.
7471
7472 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7473
7474         Patch by: Steve Fink  <sphink gmail com>
7475
7476         * tools/gst-inspect.1.in:
7477           Document --print-all and --print-plugin-auto-install-info command
7478           line options in man page.
7479
7480 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7481
7482         * docs/gst/gstreamer-sections.txt:
7483         Add docs for new api function.
7484
7485 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7486
7487         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7488         * gst/gstelementfactory.h:
7489         API: gst_element_factory_has_interface()
7490         Added method to check if an element factory implements a named
7491         interface.
7492
7493 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7494
7495         * configure.ac:
7496         * docs/gst/gstreamer.types.in:
7497           Another conditional doc check.
7498
7499         * gst/gstmessage.c:
7500         * gst/gstparamspecs.h:
7501         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7502         * gst/gstvalue.c:
7503         * gst/gstxml.h:
7504           API-doc fixes.
7505
7506 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7507
7508         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7509         (gst_registry_binary_load_feature),
7510         (gst_registry_binary_load_plugin),
7511         (gst_registry_binary_read_cache):
7512           Print error just once and with additional info.
7513
7514 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7515
7516         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7517         (helper_find_suggest), (helper_find_get_length),
7518         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7519         (gst_type_find_helper_for_buffer):
7520           Cleanup the typefindhelper code and add private doc comments.
7521
7522 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7523
7524         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7525         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7526         Fix capsfilter for cases where the caps set on capsfilter will provide
7527         additional information.
7528         Fixes #449197
7529
7530 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7531
7532         * gst/gsttypefindfactory.c:
7533           Fix docs that recommened wrong function to use.
7534
7535 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7536
7537         * tools/gst-inspect.c: (print_plugin_features):
7538           Also give media-type for typefinders in element output.
7539
7540 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7541
7542         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7543         (gst_registry_remove_features_for_plugin_unlocked),
7544         (gst_registry_add_feature), (gst_registry_remove_feature),
7545         (gst_registry_lookup_feature_locked):
7546         * gst/gstregistry.h:
7547           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7548           Fixes #459501.
7549
7550 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7551
7552         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7553         (gst_plugin_feature_set_name):
7554           Avoid double memory usage for pluginfeature names. Fixes #459466.
7555
7556 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7557
7558         * gst/gstpad.h:
7559           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7560           driving the pipeline may need to explicitly check for NOT_LINKED as
7561           well, since IS_FATAL doesn't cover that.
7562
7563 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7564
7565         * docs/pwg/advanced-types.xml:
7566           Fix typo and duplicate entry in video formats list.
7567
7568 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7569
7570         * libs/gst/controller/gstinterpolation.c:
7571         Also round to the nearest int when using cubic interpolation.
7572
7573 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7574
7575         * libs/gst/controller/gstinterpolation.c:
7576         When linearly interpolating integer types, round to the nearest int
7577         by adding 0.5. Don't do it for float/double types.
7578         Fixes the failing controller test on my machine, which is somehow
7579         rounding differently than on the buildbots.
7580
7581 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7582
7583         * tools/gst-plot-timeline.py:
7584           Better log parsing (categories can have -). Adjust text vs. lines, so
7585           that they span the same y-range.        
7586
7587 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7588
7589         * docs/random/ensonic/audiobaseclasses.txt:
7590         * docs/random/ensonic/dynlink.txt:
7591         * docs/random/ensonic/profiling.txt:
7592           Save my thoughts.
7593
7594         * docs/random/moving-plugins:
7595           Add note to use g_assert type macros.
7596
7597 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7598
7599         * configure.ac:
7600         * libs/gst/check/Makefile.am:
7601           Add libm check as we use in for plugins.
7602
7603 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7604
7605         * gst/gstbin.c: (gst_bin_continue_func):
7606         Check that the state_cookie hasn't changed since the continue_func
7607         was scheduled. Avoids problems where the state changes back to
7608         something it shouldn't be because it was changed in the meantime.
7609
7610 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7611
7612         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7613         (gst_registry_binary_save_string),
7614         (gst_registry_binary_save_pad_template),
7615         (gst_registry_binary_save_feature),
7616         (gst_registry_binary_save_plugin),
7617         (gst_registry_binary_load_feature),
7618         (gst_registry_binary_load_plugin),
7619         (gst_registry_binary_read_cache):
7620           Fix memory leak. Be less verbose in the log.
7621
7622 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7623
7624         * tests/check/elements/.cvsignore:
7625         Add file to cvsignore as commanded.
7626
7627 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7628
7629         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7630         (mq_dummypad_event), (run_output_order_test):
7631         Use a GStaticMutex to protect all cases where libcheck
7632         fail_if/fail_unless macros might be called from multiple threads
7633         simultaneously to avoid errors like:
7634           "check_pack.c:107: :-1081725400:Bad message type arg"
7635
7636 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7637
7638         * tests/check/pipelines/stress.c: (GST_START_TEST):
7639         Make sure we set the pipeline back to the NULL state before
7640         dropping our final reference.
7641
7642 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7643
7644         * tests/check/elements/tee.c: (GST_START_TEST):
7645         Make the tee stress-test a little less stressful so it doesn't just
7646         time out on slow-machines, and remove a small race when it's starting 
7647         up by adding a get_state() call.
7648
7649 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7650
7651         * gst/gst.c:
7652           Avoid reading registry twice on startup. Fixes #457322.
7653
7654 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7655
7656         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7657         * pkgconfig/gstreamer-check.pc.in:
7658         Substitute the CFLAGS for libcheck into our .pc file too so that
7659         dependent modules will pick it up properly if libcheck is installed
7660         into some other prefix.
7661
7662 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7663
7664         * configure.ac:
7665         Revert the pkg-config check for libcheck, since it pulls in the
7666         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7667         a proper solution, either from the check project, or something else.
7668
7669 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7670
7671         * configure.ac:
7672           Use pkg-config to locate check.
7673
7674 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7675
7676         * gst/gsttaglist.c:
7677           Fix doc syntax.
7678
7679         * gst/gstutils.c:
7680         * gst/gstutils.h:
7681           Add deprecation guards.
7682
7683         * libs/gst/base/gstcollectpads.h:
7684           Don't document object (this is implicitly private).
7685
7686 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7687
7688         * gst/gststructure.c: (gst_structure_parse_value):
7689           When deserialising foo=bar without a type cast, check if it's a
7690           boolean before falling back to a string type, otherwise things like
7691           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7692           because the filtercaps end up having a signed=(string)true field,
7693           which causes problems later when intersection caps.
7694
7695         * tests/check/gst/gststructure.c: (GST_START_TEST):
7696           Add a unit test for this.
7697
7698 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7699
7700         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7701
7702         * libs/gst/controller/Makefile.am:
7703         * libs/gst/controller/gstcontroller.c:
7704         (gst_controlled_property_add_interpolation_control_source),
7705         (gst_controlled_property_new), (gst_controlled_property_free),
7706         (gst_controller_find_controlled_property),
7707         (gst_controller_new_valist), (gst_controller_new_list),
7708         (gst_controller_new), (gst_controller_remove_properties_valist),
7709         (gst_controller_remove_properties_list),
7710         (gst_controller_remove_properties),
7711         (gst_controller_set_property_disabled),
7712         (gst_controller_set_disabled), (gst_controller_set_control_source),
7713         (gst_controller_get_control_source), (gst_controller_get),
7714         (gst_controller_sync_values), (gst_controller_get_value_array),
7715         (_gst_controller_dispose), (gst_controller_get_type),
7716         (gst_controlled_property_set_interpolation_mode),
7717         (gst_controller_set), (gst_controller_set_from_list),
7718         (gst_controller_unset), (gst_controller_unset_all),
7719         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7720         * libs/gst/controller/gstcontroller.h:
7721         * libs/gst/controller/gstcontrollerprivate.h:
7722         * libs/gst/controller/gstcontrolsource.c:
7723         (gst_control_source_class_init), (gst_control_source_init),
7724         (gst_control_source_get_value),
7725         (gst_control_source_get_value_array), (gst_control_source_bind):
7726         * libs/gst/controller/gstcontrolsource.h:
7727         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7728         (gst_object_get_control_source):
7729         * libs/gst/controller/gstinterpolation.c:
7730         (gst_interpolation_control_source_find_control_point_node),
7731         (gst_interpolation_control_source_get_first_value),
7732         (_interpolate_none_get), (interpolate_none_get),
7733         (interpolate_none_get_boolean_value_array),
7734         (interpolate_none_get_enum_value_array),
7735         (interpolate_none_get_string_value_array),
7736         (_interpolate_trigger_get), (interpolate_trigger_get),
7737         (interpolate_trigger_get_boolean_value_array),
7738         (interpolate_trigger_get_enum_value_array),
7739         (interpolate_trigger_get_string_value_array):
7740         * libs/gst/controller/gstinterpolationcontrolsource.c:
7741         (gst_control_point_free), (gst_interpolation_control_source_reset),
7742         (gst_interpolation_control_source_new),
7743         (gst_interpolation_control_source_set_interpolation_mode),
7744         (gst_interpolation_control_source_bind),
7745         (gst_control_point_compare), (gst_control_point_find),
7746         (gst_interpolation_control_source_set_internal),
7747         (gst_interpolation_control_source_set),
7748         (gst_interpolation_control_source_set_from_list),
7749         (gst_interpolation_control_source_unset),
7750         (gst_interpolation_control_source_unset_all),
7751         (gst_interpolation_control_source_get_all),
7752         (gst_interpolation_control_source_get_count),
7753         (gst_interpolation_control_source_init),
7754         (gst_interpolation_control_source_finalize),
7755         (gst_interpolation_control_source_dispose),
7756         (gst_interpolation_control_source_class_init):
7757         * libs/gst/controller/gstinterpolationcontrolsource.h:
7758         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7759         API: Refactor GstController into the core controller which can take
7760         a GstControlSource for providing actual values for timestamps.
7761         Implement a interpolation control source and use this for backward
7762         compatibility, deprecate a bunch of functions that are now handled
7763         by GstControlSource or GstInterpolationControlSource.
7764         Make it possible to disable the controller completely or only for
7765         specific properties. Fixes #450711.
7766         * docs/libs/gstreamer-libs-docs.sgml:
7767         * docs/libs/gstreamer-libs-sections.txt:
7768         * docs/libs/gstreamer-libs.types:
7769         Add new functions and classes to the docs.
7770         * tests/check/libs/controller.c: (GST_START_TEST),
7771         (gst_controller_suite):
7772         * tests/examples/controller/audio-example.c: (main):
7773         Port unit test and example to the new API and add some new
7774         unit tests.
7775
7776 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7777
7778         Patch by: Mark Nauwelaerts <manauw at skynet be>
7779
7780         * plugins/elements/gstmultiqueue.c:
7781         (gst_multi_queue_get_internal_links), (apply_buffer),
7782         (single_queue_overrun_cb), (gst_single_queue_new):
7783         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7784         the pipeline layout can be tracked correctly. Fixes #453732.
7785
7786 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7787
7788         * docs/gst/Makefile.am:
7789         * docs/libs/Makefile.am:
7790         * docs/plugins/Makefile.am:
7791           Simplify --extra-dir as gtkdoc scans recursively.
7792
7793 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7794
7795         * tools/gst-launch.c: (main):
7796         When we got an error, there is no point in waiting for preroll when
7797         shutting down.
7798
7799 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7800
7801         * plugins/elements/gsttee.c: (gst_tee_base_init),
7802         (gst_tee_request_new_pad), (gst_tee_release_pad),
7803         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7804         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7805         (gst_tee_chain):
7806         Be a lot smarter when deciding what srcpad to use for proxying
7807         the buffer_alloc. Also handle pad added/removed when doing so.
7808         Fixes #357959.
7809         Keep track of what pads we already pushed on in case we have pads
7810         added/removed while pushing. Fixes #374639 
7811
7812         * tests/check/Makefile.am:
7813         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7814         (tee_suite):
7815         Added unit test for pad resync.
7816
7817 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7818
7819         * po/nl.po:
7820         * po/sv.po:
7821           Updated translations.
7822
7823 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7824
7825         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7826
7827         * po/LINGUAS:
7828         * po/fi.po:
7829           Added new Finnish translation.
7830
7831 2007-06-28  Wim Taymans  <wim@fluendo.com>
7832
7833         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7834         (single_queue_overrun_cb):
7835         When figuring out when a queue is filled, use our internal time estimate
7836         based on segments, just like check_full does.
7837
7838 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7839
7840         * gst/gstminiobject.c: (gst_mini_object_get_type):
7841           Remove 3 do-nothing methods.
7842
7843 2007-06-27  Wim Taymans  <wim@fluendo.com>
7844
7845         Patch by: Tim Angus <tim at ngus dot net>
7846
7847         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7848         (gst_capsfilter_set_property):
7849         Take a reference instead of a copy when setting "caps".
7850         Fix documentation to clarify this behaviour. Fixes #449414.
7851
7852 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7853
7854         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7855         * gst/gstplugin.c: (gst_plugin_init):
7856         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7857         * gst/gstquery.c: (gst_query_get_type):
7858         * gst/gstregistry.c: (gst_registry_init):
7859         * gst/gsturi.c: (gst_uri_handler_base_init):
7860           Remove empty instance_init() functions to save relocs and lessen the
7861           noise. Remove some of the function prototypes that are doubled by
7862           G_DEFINE_TYPE.
7863           
7864 2007-06-27  Wim Taymans  <wim@fluendo.com>
7865
7866         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7867
7868         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7869         Add peer and direction in the XML serialisation of ghostpads.
7870         Fixes #449226.
7871
7872 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7873
7874         * configure.ac:
7875           Preserve useful information, thanks Tim.
7876
7877 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7878
7879         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7880         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7881         (gst_single_queue_push_one), (gst_multi_queue_loop),
7882         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7883         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7884         (compute_high_id), (gst_single_queue_new):
7885         * plugins/elements/gstmultiqueue.h:
7886         Take the multiqueue lock when updating the fill level so we don't get
7887         confused. 
7888
7889         After applying a buffer or event on the src pad segment, make sure to
7890         call gst_data_queue_limits_changed() to get the data queue to unblock
7891         and check the filled state again.
7892         
7893         Rework the not-linked pad handling so the logic is that not-linked 
7894         pads can push as fast as they like, but only so they never get 
7895         ahead of any linked pads.
7896
7897         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7898         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7899         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7900
7901         Add a test to check that not-linked pads always stay behind
7902         linked pads.
7903
7904         Fixes: #430682
7905
7906 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7907
7908         * docs/random/release:
7909           Some updates to the release procedure.
7910
7911 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7912
7913         * gst/gstelementfactory.c: (__gst_element_details_clear):
7914           Microoptimization that saves stunning 80 bytes.
7915
7916 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7917
7918         * docs/plugins/gstreamer-plugins.args:
7919         * docs/plugins/inspect/plugin-coreelements.xml:
7920         * docs/plugins/inspect/plugin-coreindexers.xml:
7921           Update docs with caps info.
7922
7923 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7924
7925         * po/it.po:
7926           Updated Italian translation.
7927
7928 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7929
7930         * ChangeLog:
7931         * po/vi.po:
7932           Update Vietnamese translations.
7933
7934 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7935
7936         * libs/gst/base/gstbasesink.c:
7937           Remove unused signal enum.
7938
7939 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7940
7941         * docs/gst/gstreamer-sections.txt:
7942         * gst/gstelement.c:
7943         * gst/gstutils.c: (gst_type_register_static_full):
7944         Beef up and include the docs for gst_type_register_static_full and
7945         gst_element_class_set_details_simple and add the API keyword
7946         in the ChangeLog.
7947
7948 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7949
7950         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7951         (update_time_level), (gst_single_queue_push_one),
7952         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7953         (single_queue_overrun_cb), (single_queue_underrun_cb),
7954         (single_queue_check_full):
7955         Fix setting max-* properties after adding queues.
7956         Use IS_FILLED for checking visible items.
7957         Signal overrun if multiple queues overrun.
7958         Add extra debug output.
7959         Patch by: Wim Taymans <wim@fluendo.com>
7960
7961 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7962
7963         * gst/gstelement.c: (gst_element_class_set_details_simple):
7964         * gst/gstelement.h:
7965         * gst/gstutils.c: (gst_type_register_static_full):
7966         * gst/gstutils.h:
7967         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7968         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7969         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7970         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7971         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7972         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7973         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7974         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7975         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7976         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7977         (apply_buffer), (gst_queue_chain):
7978         * plugins/elements/gsttee.c: (gst_tee_base_init):
7979         * plugins/elements/gsttypefindelement.c:
7980         (gst_type_find_element_base_init),
7981         (gst_type_find_element_class_init):
7982           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7983           API: add gst_type_register_static_full
7984           API: add gst_element_class_set_details_simple
7985
7986 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7987
7988         * docs/pwg/advanced-types.xml:
7989           Fix typo in iana.org URI.
7990
7991 2007-06-19  Andy Wingo  <wingo@pobox.com>
7992
7993         * tests/check/pipelines/simple-launch-lines.c
7994         (test_state_change_returns): Enable pull-mode tests now that
7995         basesink has been fixed.
7996
7997         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7998         Changed from gst_base_sink_is_prerolled, reversing the sense of
7999         the return value. Returns FALSE also if the sink is in pull mode,
8000         in which case it needs no preroll.
8001         (gst_base_sink_query, gst_base_sink_change_state): Update for
8002         needs_preroll change.
8003         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8004         chaining up, in which we return SUCCESS directly if we activated
8005         in pull mode instead of ASYNC. Involves countering an async_start
8006         message sent before chaining up; not sure if this is correct, in
8007         an ideal world we only send async-start when activating in push
8008         mode.
8009
8010         * tests/check/pipelines/simple-launch-lines.c
8011         (test_state_change_returns): New test, partially disabled until
8012         basesink is fixed.
8013
8014 2007-06-19  Wim Taymans  <wim@fluendo.com>
8015
8016         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8017         (gst_multi_queue_sink_event):
8018         Fix event leak.
8019
8020 2007-06-19  Wim Taymans  <wim@fluendo.com>
8021
8022         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8023         (gst_bin_change_state_func), (bin_push_state_continue),
8024         (bin_handle_async_start), (bin_handle_async_done),
8025         (gst_bin_handle_message_func):
8026         Move the common code for posting state-change messages into
8027         one function.
8028         Broadcast the state signal after we posted the messages.
8029         Mark the bin as busy when it's doing a state-change.
8030         Make sure async-start/done messages don't interfere with the bin's
8031         state when it's busy.
8032         After the state change, let the bin check which elements completed the
8033         state change while it was busy so that it can update its state.
8034
8035 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8036
8037         * docs/random/release:
8038         Add a note about updating the doap file to the release checklist
8039
8040 2007-06-18  Wim Taymans  <wim@fluendo.com>
8041
8042         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8043         (gst_single_queue_push_one), (gst_multi_queue_chain),
8044         (gst_multi_queue_sink_event):
8045         Make sure we don't reference the buffer/event after we have given away
8046         ownership in the queue.
8047
8048 2007-06-18  Wim Taymans  <wim@fluendo.com>
8049
8050         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8051         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8052         Update queue state _after_ adding the item in the queue because else we
8053         could end up being full without the element added yet.
8054
8055 2007-06-18  Wim Taymans  <wim@fluendo.com>
8056
8057         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8058         (gst_bin_remove_func), (gst_bin_get_state_func),
8059         (gst_bin_element_set_state), (gst_bin_continue_func),
8060         (bin_push_state_continue), (bin_handle_async_start),
8061         (bin_handle_async_done), (gst_bin_handle_message_func):
8062         * gst/gstbin.h:
8063         Immediatly commit the toplevel bin state when receiving an async-done
8064         message. This enables us to avoid spawning a thread to commit the state
8065         in some common cases and it also avoids some races.
8066         Avoid spawning a state thread when adding/removing async elements to a
8067         toplevel bin. Instead we immediatly update the bin state.
8068         Get rid of iterating all the children when getting the state in the bin
8069         because it is now always up-to-date.
8070         Fix bug where locked elements would always return _SUCCESS even it they
8071         returned NO_PREROLL before being locked.
8072         Fix the order of the state_change, async-start/done messages that was
8073         sometimes incorrect.
8074         Mark the state_dirty field as deprecated, we don't need it anymore as we
8075         are always up-to-date.
8076
8077         * gst/gstelement.c: (gst_element_get_state_func),
8078         (gst_element_continue_state):
8079         Small debug inprovements.
8080         Return the previous element state return when nothing is pending instead
8081         of blindly returning SUCCESS.
8082
8083         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8084         (gst_sinks_suite):
8085         Add a whole bunch of new testcases.
8086
8087 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8088
8089         * po/uk.po:
8090         * po/vi.po:
8091           Update translations.
8092
8093 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8094
8095         * gst/gstpad.c:
8096         Fix typo in the docs.
8097
8098 2007-06-15  Wim Taymans  <wim@fluendo.com>
8099
8100         * docs/libs/gstreamer-libs-sections.txt:
8101         Add docs for new methods.
8102
8103 2007-06-15  Wim Taymans  <wim@fluendo.com>
8104
8105         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8106         (gst_multi_queue_item_new):
8107         Don't use GSlice because we don't depend on >= 2.10 yet.
8108
8109 2007-06-15  Wim Taymans  <wim@fluendo.com>
8110
8111         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8112         (update_time_level), (apply_segment), (apply_buffer),
8113         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8114         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8115         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8116         (single_queue_underrun_cb), (single_queue_check_full):
8117         Remove debug printf.
8118
8119 2007-06-15  Wim Taymans  <wim@fluendo.com>
8120
8121         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8122         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8123         (gst_data_queue_set_flushing), (gst_data_queue_push),
8124         (gst_data_queue_pop), (gst_data_queue_drop_head),
8125         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8126         * libs/gst/base/gstdataqueue.h:
8127         Various cleanups.
8128         Added methods to get the current levels and to inform the queue that the
8129         'full' limits changed.
8130
8131         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8132         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8133         (gst_single_queue_flush), (update_time_level), (apply_segment),
8134         (apply_buffer), (gst_single_queue_push_one),
8135         (gst_multi_queue_item_steal_object),
8136         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8137         (gst_multi_queue_loop), (gst_multi_queue_chain),
8138         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8139         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8140         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8141         (single_queue_underrun_cb), (single_queue_check_full),
8142         (gst_single_queue_new):
8143         Keep track of time in the queue by measuring the difference between
8144         running_time on input and output. This gives more accurate results and
8145         can compensate for segments correctly.
8146         Make a queue by default only 5 buffers deep. We will now increase the
8147         buffer size depending on the filledness of the other queues.
8148         Factor out commong flush code.
8149         Make sure we don't add additional refcounts to buffers when we can avoid
8150         it.
8151         Propagate GstFlowReturn differently.
8152         Use GSlice for intermediate GstMultiQueueItems.
8153         Keep track of EOS.
8154         Resize queues on over and underruns based on filled level of other
8155         queues.
8156         When checking if the queue is filled, prefer to measure in time if we
8157         can and fall back to bytes when no time is known.
8158
8159         * plugins/elements/gstqueue.c:
8160         Fix return value.
8161
8162 2007-06-15  Wim Taymans  <wim@fluendo.com>
8163
8164         * libs/gst/base/gstbasetransform.c:
8165         (gst_base_transform_sink_event):
8166         Work around the brokenness of the event vmethod in basetransform. Prefer
8167         to return TRUE when the subclass returned FALSE (meaning don't forward
8168         the event). 
8169
8170         * libs/gst/base/gstbasetransform.h:
8171         Clarify the docs.
8172
8173 2007-06-15  Wim Taymans  <wim@fluendo.com>
8174
8175         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8176         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8177         (gst_base_src_default_query), (gst_base_src_get_range),
8178         (gst_base_src_start):
8179         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8180         Improve debugging.
8181
8182 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8183
8184         * docs/pwg/advanced-types.xml:
8185           Added more formats to caps table.
8186
8187 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8188
8189         * tools/gst-launch.c: (main):
8190           Remove crufy code. GOption does not need this workaround.
8191
8192 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8193
8194         * libs/gst/controller/gstcontroller.c:
8195         (gst_controlled_property_set_interpolation_mode):
8196           Fix wrong getter for enums in controller.
8197
8198 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8199
8200         * libs/gst/check/gstcheck.c: (gst_check_init):
8201           Intercept criticals and warnings in the Gst-Phonon log domain, so
8202           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8203           well.
8204         
8205 2007-06-14  Edward Hervey  <edward@fluendo.com>
8206
8207         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8208         Since this file doesn't include "gst.h" it will not go through the
8209         macros that disable GST_LOG if debugging was disabled.
8210
8211 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8212
8213         * libs/gst/check/Makefile.am:
8214         * libs/gst/check/gstcheck.h:
8215         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8216         * pkgconfig/gstreamer-check.pc.in:
8217           Ugly 'fix' for the controller unit test on the p5 bot: in
8218           fail_unless_equals_float() check whether the values are 'almost
8219           equal' by allowing a small absolute error, which should be good
8220           enough for our use cases (normal numbers and values close to 0).
8221           Proper fixage left to floating point arithmetic aficionados.
8222
8223 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8224
8225         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8226         (gst_base_sink_render_object), (gst_base_sink_get_position):
8227           Add two breaks thats where missing.
8228
8229 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8230
8231         * docs/libs/gstreamer-libs-sections.txt:
8232         * libs/gst/check/gstcheck.h:
8233           API: add fail_unless_equals_float() and assert_equals_float().
8234           Add documentation for some of the macros.
8235
8236         * tests/check/libs/controller.c: (GST_START_TEST):
8237           Use newly-added asserts.
8238
8239 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8240
8241         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8242           Show the caps change in the log to help spotting the case of not
8243           exactly matching caps.
8244
8245 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8246
8247         * docs/pwg/building-boiler.xml:
8248           Fix typos, spotted by Thijs Vermeir (#447190).
8249
8250 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8251
8252         * docs/plugins/tmpl/.cvsignore:
8253         Ignore file to keep the buildbots happy
8254
8255 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8256
8257         * docs/plugins/Makefile.am:
8258         * docs/plugins/gstreamer-plugins-docs.sgml:
8259         * docs/plugins/gstreamer-plugins-sections.txt:
8260         Pull fdsink into the docs too.
8261
8262 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8263
8264         * libs/gst/controller/gstinterpolation.c:
8265         Actually use the new functions with min/max checks for the trigger and
8266         none interpolation modes for get() and get_value_array() instead of
8267         just the latter.
8268
8269 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8270
8271         * libs/gst/controller/gstcontroller.c:
8272         (gst_controlled_property_free):
8273         Unset the minimum and maximum GValues when freeing the corresponding
8274         GstControllerProperty struct.
8275
8276 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8277
8278         * libs/gst/controller/gstcontroller.c:
8279         (gst_controlled_property_new):
8280         * libs/gst/controller/gstcontrollerprivate.h:
8281         * libs/gst/controller/gstinterpolation.c:
8282         (gst_controlled_property_find_control_point_node),
8283         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8284         (interpolate_none_get_string_value_array),
8285         (interpolate_trigger_get),
8286         (interpolate_trigger_get_enum_value_array),
8287         (interpolate_trigger_get_string_value_array):
8288         Protect against values larger or smaller than the minimum or maximum
8289         allowed value for the property when using values that can be compared.
8290
8291         Optimize trigger interpolator a bit by taking the last requested value
8292         into account instead of always looping through the complete list.
8293
8294         Fix coding style a bit, everywhere else we use "return foo" instead
8295         of "return (foo)".
8296         
8297         * tests/check/libs/controller.c: (GST_START_TEST),
8298         (gst_controller_suite):
8299         Add unit test for the protection against too large or too small
8300         values.
8301
8302 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8303
8304         * docs/random/slomo/controller.txt:
8305         Add some thoughts about the future of the controller.
8306
8307 2007-06-08  Wim Taymans  <wim@fluendo.com>
8308
8309         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8310         Don't overflow in retimestamping code.
8311
8312 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8313
8314         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8315         Use gst_util_guint64_to_gdouble for conversions.
8316         * win32/common/libgstreamer.def:
8317         Add new exported functions.
8318
8319 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8320
8321         * gst/gstutils.c:
8322           Small docs addition.
8323
8324 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8325
8326         * README:
8327           Remove that test line again.
8328
8329 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8330
8331         * README:
8332           Test commit mail sending.
8333
8334 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8335
8336         * configure.ac:
8337           Fix typo and test commit mail sending.
8338
8339 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8340
8341         * tests/examples/controller/audio-example.c:
8342           Improve comment and test commit mail sending.
8343
8344 2007-06-07  Wim Taymans  <wim@fluendo.com>
8345
8346         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8347         (gst_bin_remove_func), (gst_bin_element_set_state),
8348         (bin_handle_async_start), (bin_handle_async_done),
8349         (gst_bin_handle_message_func):
8350         Add helper function to find messages.
8351         Generate the async-done messages together with the state change
8352         messages.
8353         Small cleanups in handling toplevel bins.
8354
8355 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8356
8357         * libs/gst/base/gstdataqueue.c:
8358         * libs/gst/base/gstdataqueue.h:
8359         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8360         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8361         (gst_multi_queue_sink_event):
8362         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8363           Fix multiqueue leaking buffers and events when downstream or the
8364           queue are flushing. Make refcounting assumptions explicit and
8365           document them (shouldn't break existing code that uses it other than
8366           maybe leak miniobjects, but that already happens anyway). Add unit
8367           test for the most common flushing case. Fixes #423700.
8368           
8369 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8370
8371         * libs/gst/controller/gstcontroller.c:
8372         Clarify docs: The get_all, get_value_array(s) functions
8373         don't modify the GObject properties.
8374
8375 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8376
8377         * libs/gst/controller/gstcontroller.c:
8378         (gst_controlled_property_set_interpolation_mode),
8379         (gst_controlled_property_prepend_default),
8380         (gst_controlled_property_new), (gst_controller_set_unlocked),
8381         (gst_controller_set), (gst_controller_set_from_list),
8382         (gst_controller_unset), (gst_controller_unset_all):
8383         * libs/gst/controller/gstcontrollerprivate.h:
8384         * libs/gst/controller/gstinterpolation.c:
8385         Factor out the 'set' logic into gst_controller_set_unlocked for the
8386         gst_controller_set and gst_controller_set_from_list functions.
8387
8388         To make life of the interpolators easier always add a control point
8389         at timestamp zero with the default value.
8390
8391         In the linear interpolator make things more obvious by better variable
8392         naming (slope).
8393
8394         Implement cubic interpolation mode (by using a natural cubic spline)
8395         and map the quadratic interpolation mode to this too (as quadratic
8396         doesn't make much sense, see discussion on the list).
8397
8398         * tests/check/libs/controller.c: (GST_START_TEST),
8399         (gst_controller_suite):
8400         Add unit test for the cubic interpolation mode and check everywhere
8401         if the interpolation mode could be set as expected.
8402
8403 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8404
8405         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8406           Don't use GLib-2.10 functions, we still depend on
8407           GLib-how-old-is-it-again-2.8.
8408
8409 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8410
8411         * docs/gst/gstreamer-sections.txt:
8412         * gst/Makefile.am:
8413         * gst/gst.c:
8414         * gst/gst.h:
8415         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8416         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8417         (_gst_param_fraction_values_cmp),
8418         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8419         * gst/gstparamspecs.h:
8420         * gst/gstvalue.c:
8421         * tests/check/Makefile.am:
8422         * tests/check/gst/.cvsignore:
8423         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8424         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8425         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8426         (GST_START_TEST), (gst_param_spec_suite):
8427           API: add GstParamSpecFraction, so elements can have fraction
8428           properties without lots of painful string parsing (#444648).
8429
8430 2007-06-05  Wim Taymans  <wim@fluendo.com>
8431
8432         * gst/gstobject.c: (gst_object_class_init):
8433         Fix signal signature.
8434
8435         * gst/gstsegment.c:
8436         Add small clarification in the api docs.
8437
8438         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8439         States are protected with object lock.
8440
8441 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8442
8443         * AUTHORS:
8444         I should probably be listed as an author by now.
8445
8446         * docs/random/release:
8447         Update the release doc
8448
8449 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8450
8451         * gst/gstvalue.c:
8452           Make docs for gst_value_compare() mention return enums that
8453           actually exist.
8454
8455 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8456
8457         * configure.ac:
8458           Back to CVS
8459
8460 === release 0.10.13 ===
8461
8462 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8463
8464         * configure.ac:
8465           releasing 0.10.13, "With or without you"
8466
8467 2007-05-25  Wim Taymans  <wim@fluendo.com>
8468
8469         * gst/gstbin.c: (bin_handle_async_done):
8470         Make sure that the child bin stops after completing the async state
8471         change so that the parent can continue the state change to PLAYING.
8472         Fixes #441159.
8473
8474 2007-05-25  Wim Taymans  <wim@fluendo.com>
8475
8476         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8477         (unref_data), (gst_collect_pads_remove_pad),
8478         (gst_collect_pads_check_pads):
8479         Use additional refcounting to avoid crashes when dynamically adding and
8480         removing pads. Fixes #420206.
8481
8482 2007-05-24  Wim Taymans  <wim@fluendo.com>
8483
8484         * tools/gst-launch.c: (event_loop):
8485         When buffering goes from a two digit to a single digit number, make sure
8486         to remove the old second digit by writing a blank over it.
8487
8488 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8489
8490         * libs/gst/base/gstdataqueue.c:
8491           Eliminate tabs and trailing comma in enum list; fix some typos.
8492
8493 2007-05-24  Wim Taymans  <wim@fluendo.com>
8494
8495         * tests/check/gst/gstbin.c: (GST_START_TEST):
8496         Allow refcount of 3 and 4 because some state thread might still be busy
8497         with it.
8498
8499 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8500
8501         * plugins/elements/Makefile.am:
8502         * plugins/elements/gstmultiqueue.h:
8503         * plugins/elements/gstqueue.h:
8504           These are not installed headers, no need for padding.
8505
8506 2007-05-24  Wim Taymans  <wim@fluendo.com>
8507
8508         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8509         (gst_bin_continue_func):
8510         Enable latency for next release.
8511         Restore STATE_LOCK around recalc_state that was left out during the
8512         rewrite and could result in racy behaviour when _get_state and
8513         recalc_state are run concurrently. See #440463.
8514
8515 2007-05-23  Wim Taymans  <wim@fluendo.com>
8516
8517         * tests/check/gst/gstsystemclock.c: (store_callback),
8518         (GST_START_TEST):
8519         Improve test_async_order to also work when both timers are already
8520         expired when we get scheduled to check it.
8521
8522 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8523
8524         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8525         (gst_bin_set_property), (gst_bin_get_property),
8526         (gst_bin_remove_func), (gst_bin_handle_message_func):
8527         * gst/gstbin.h:
8528           'private' is a c++ keyword, let's not use that in header files,
8529           otherwise c++ compilers will throw a tantrum.
8530
8531 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8532
8533         * plugins/elements/gstelements.c:
8534         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8535         (gst_file_sink_get_current_offset):
8536         * plugins/indexers/gstindexers.c: (plugin_init):
8537           Use #ifdef for HAVE_XYZ for consistency.
8538
8539         * tests/check/Makefile.am:
8540         * tests/check/elements/.cvsignore:
8541         * tests/check/elements/filesink.c: (setup_filesink),
8542         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8543           Add some unit tests for filesink.
8544
8545 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8546
8547         Patch by: Mark Nauwelaerts <manauw at skynet be>
8548
8549         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8550         (gst_file_sink_query), (gst_file_sink_do_seek),
8551         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8552         * plugins/elements/gstfilesink.h:
8553           Fix position reporting; rename data_written member to current_pos to
8554           reflect its real meaning (fixes #412648).
8555
8556 2007-05-22  Edward Hervey  <edward@fluendo.com>
8557
8558         * docs/gst/gstreamer-sections.txt:
8559         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8560         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8561         (gst_bin_remove_func), (gst_bin_handle_message_func):
8562         * gst/gstbin.h:
8563         Add a property for bins that handle the state change of their childs.
8564         Fixes #435880
8565
8566 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8567
8568         * libs/gst/controller/gstinterpolation.c:
8569         Use an array of the correct type when using _get_value_array with
8570         linear interpolation.
8571
8572 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8573
8574         * gst/gstelement.c (gst_element_requires_clock,
8575           gst_element_provides_clock, gst_element_request_pad,
8576           gst_element_class_set_details, gst_element_class_set_details_simple,
8577           gst_element_default_send_event, gst_element_abort_state,
8578           gst_element_continue_state, gst_element_set_state,
8579           gst_element_set_state_func, iterator_activate_fold_with_resync):
8580         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8581           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8582           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8583           gst_pad_get_range, gst_pad_pull_range):
8584         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8585           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8586           GstPadActivateModeFunction, GstPadChainFunction,
8587           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8588           GstPadFixateCapsFunction, GstPadTemplate):
8589         * gst/gstpipeline.c (gst_pipeline_change_state,
8590           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8591           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8592           gst_pipeline_get_delay):
8593           Whitespace and docs fixes.
8594
8595 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8596
8597         * libs/gst/controller/gstinterpolation.c:
8598         (interpolate_trigger_get_enum_value_array),
8599         (interpolate_trigger_get_string_value_array):
8600         Add support for retrieving value arrays when using the trigger
8601         interpolation mode. 
8602
8603 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8604
8605         * libs/gst/controller/gstcontroller.c:
8606         (gst_controller_get_value_array):
8607         * libs/gst/controller/gstcontroller.h:
8608         Clarify the docs of gst_controller_get_value_array(): The array where
8609         the values should be written to must be allocated as there seems to be
8610         no way to get the size of a random GType. This doesn't change any
8611         behaviour. Also fix some typos all over the place and remove an unused,
8612         commented function that is not necessary as g_object_set() could be
8613         used instead.
8614         * tests/check/libs/controller.c: (GST_START_TEST),
8615         (gst_controller_suite):
8616         Add unit test for gst_controller_get_value_array().
8617
8618 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8619
8620         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8621
8622         Disable part of the gst_buffer_try_new_and_alloc test, because
8623         it can happily succeed on 64-bit systems where there's more address
8624         space available.
8625
8626 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8627
8628         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8629         Add unit test for the improved caps checking from bug #421543.
8630
8631 2007-05-21  Wim Taymans  <wim@fluendo.com>
8632
8633         * docs/design/part-synchronisation.txt:
8634         Small addition.
8635
8636         * gst/gstbin.c: (gst_bin_query):
8637         * plugins/elements/gstqueue.c: (apply_segment):
8638         Improve debugging.
8639
8640         * gst/gstmessage.h:
8641         Improve docs.
8642
8643 2007-05-21  Wim Taymans  <wim@fluendo.com>
8644
8645         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8646         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8647         (gst_pad_configure_src):
8648         Added simple version of improved caps checking. It was previously
8649         assumed that a setcaps function would check the validity of the caps but
8650         people prefer us to check caps against the template automatically. 
8651         Fixes #421543.
8652
8653 2007-05-21  Wim Taymans  <wim@fluendo.com>
8654
8655         * libs/gst/base/gstbasetransform.h:
8656         Fix macro for locking/unlocking the transform lock.
8657
8658 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8659
8660         * docs/plugins/tmpl/.cvsignore:
8661           Ignore more.
8662
8663 2007-05-18  Edward Hervey  <edward@fluendo.com>
8664
8665         * plugins/elements/gstqueue.c: (gst_queue_loop):
8666         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8667         for the subtle art of warning a potentially blocking thread that it
8668         should check the source pad return value, and relay the information
8669         upstream.
8670
8671 2007-05-18  Edward Hervey  <edward@fluendo.com>
8672
8673         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8674         Release the queue lock !
8675
8676 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8677
8678         * docs/libs/gstreamer-libs-sections.txt:
8679         Add the two new controller functions to the appropiate places.
8680
8681 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8682
8683         reviewed by: Stefan Kost <ensonic@users.sf.net>
8684
8685         * libs/gst/controller/gstcontroller.c:
8686         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8687         (_gst_controller_get_property), (_gst_controller_set_property),
8688         (_gst_controller_init), (_gst_controller_class_init):
8689         * libs/gst/controller/gstcontroller.h:
8690         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8691         (gst_object_get_control_rate), (gst_object_set_control_rate):
8692         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8693         Add API that provides sync suggestion timestamps for elements that
8694         call gst_object_sync_values() from which those elements can subdivide
8695         their processing loop to get the best results for the controlled
8696         properties. For now it just suggests last_sync + control_rate as
8697         new timestamp but this will be improved in the future.
8698
8699         While doing that change the control-rate property to a GstClockTime
8700         from guint and change it's meaning from samples to nanoseconds as
8701         the GstController doesn't know anything about sampling rate. Strictly
8702         speaking this breaks ABI but as the control-rate property didn't do
8703         anything in the past and as such couldn't be used this should be no
8704         problem.        
8705
8706 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8707
8708         reviewed by: Stefan Kost <ensonic@users.sf.net>
8709
8710         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8711         (gst_controller_unset_all):
8712         * libs/gst/controller/gstcontrollerprivate.h:
8713         * libs/gst/controller/gstinterpolation.c:
8714         (gst_controlled_property_find_control_point_node):
8715         Save last synced value from the list to continue searching from there
8716         in future syncs. This speeds everything up a bit.
8717         
8718 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8719
8720         reviewed by: Stefan Kost <ensonic@users.sf.net>
8721
8722         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8723         (gst_control_point_find), (gst_controlled_property_new),
8724         (gst_control_point_free), (gst_controlled_property_free),
8725         (gst_controller_set), (gst_controller_set_from_list),
8726         (gst_controller_unset), (gst_controller_unset_all),
8727         (gst_controller_sync_values):
8728         * libs/gst/controller/gstcontroller.h:
8729         * libs/gst/controller/gstcontrollerprivate.h:
8730         * libs/gst/controller/gstinterpolation.c:
8731         (gst_controlled_property_find_control_point_node),
8732         (interpolate_none_get), (interpolate_trigger_get):
8733         Add a new private GstControlPoint struct which "inherits" from
8734         GstTimedValue to allow different interpolators to store internal
8735         values next to each control point. From the outside everything is
8736         still a GstControlPoint so we don't loose binary compatibility.
8737         Also fixup all the GValue handling to not leak GValues or list nodes.
8738         * tests/check/libs/controller.c: (GST_START_TEST):
8739         Free the list nodes and GValues in the controller_misc test.
8740
8741 2007-05-17  Edward Hervey  <edward@fluendo.com>
8742
8743         * gst/gstsegment.c:
8744         Small doc fix.
8745
8746 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8747
8748         * gst/gstplugin.c: (gst_plugin_load_file):
8749           If we fail to load a plugin because of unresolved symbols or missing
8750           libraries and spew a warning to stderr, we may just as well mention
8751           which plugin it was that failed to load.
8752
8753 2007-05-13  David Schleef  <ds@schleef.org>
8754
8755         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8756           handles the case when ENABLE_GTK_DOC is false, and installs
8757           the prebuilt documentation.  So gtk-doc subdirs are 
8758           unconditionally enabled.  Fixes: #349099.
8759
8760 2007-05-13  David Schleef  <ds@schleef.org>
8761
8762         * gst/gstutils.h: Reword some documentation.
8763
8764 2007-05-12  David Schleef  <ds@schleef.org>
8765
8766         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8767           do anything with the passed "module" parameter, so remove it.
8768           Allows removal of additional vestigal code.
8769
8770 2007-05-12  David Schleef  <ds@schleef.org>
8771
8772         * gst/gstplugin.c:
8773           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8774           Switch to using g_stat() because it's more portable.
8775
8776 2007-05-12  David Schleef  <ds@schleef.org>
8777
8778         * gst/gst.c:
8779           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8780           parsing for embedded systems.
8781         * gst/gstelementfactory.c:
8782           Allow gst_element_register() to be called with plugin==NULL.
8783           Did nobody notice that static elements were broken?
8784
8785 2007-05-12  Wim Taymans  <wim@fluendo.com>
8786
8787         * tools/gst-launch.c: (event_loop):
8788         Give more interesting info when buffering starts and stops.
8789         Fix case where buffering starts but we fail to update the buffering flag
8790         because the target state is not PLAYING.
8791
8792 2007-05-12  Wim Taymans  <wim@fluendo.com>
8793
8794         * plugins/elements/gstqueue.c: (gst_queue_init),
8795         (gst_queue_finalize), (update_time_level), (apply_segment),
8796         (apply_buffer), (gst_queue_locked_flush),
8797         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8798         (gst_queue_handle_sink_event), (gst_queue_chain),
8799         (gst_queue_push_one), (gst_queue_loop):
8800         * plugins/elements/gstqueue.h:
8801         Refactor an cleanup queue a bit.
8802         Do better time level calculations that also work when the srcpad is not
8803         yet running.
8804         Remove some unneeded debug lines.
8805
8806         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8807         Added testcase for time level measurement.
8808         Try to make some stuff more racefree.
8809
8810 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8811
8812         * gst/gsturi.c: (gst_element_make_from_uri):
8813           Don't leak plugin feature.
8814
8815         * tests/check/Makefile.am:
8816         * tests/check/gst/.cvsignore:
8817         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8818           Add brain-dead unit test.
8819
8820 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8821
8822         Patch by: Jeroen Wouters <woutersj at gmail com>
8823
8824         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8825           Treat protocol strings in a case-insensitive way (#437563).
8826
8827 2007-05-11  Michael Smith <msmith@fluendo.com>
8828
8829         * gst/gstplugin.c: (gst_plugin_load_file):
8830         * gst/gstregistry.c: (gst_registry_scan_path_level):
8831           Don't print a g_warning for any failure to load a shared object.
8832           Instead, push this down into gstplugin.c, and warn _only_ if we
8833           failed to open the module (i.e. failure to link).
8834           Avoids warnings on normal, working, non-plugin .so files.
8835
8836 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8837
8838         * gst/gstplugin.c (gst_plugin_load_file):
8839         * gst/gstregistry.c (GST_CAT_DEFAULT,
8840           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8841           Print a g_warning if there was an error when loading a plugins during
8842           registry scan. The shuld help beginners starting with gst-plugin
8843           template.
8844
8845 2007-05-10  Wim Taymans  <wim@fluendo.com>
8846
8847         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8848         (update_time_level), (gst_queue_locked_flush),
8849         (gst_queue_handle_sink_event), (gst_queue_chain),
8850         (gst_queue_push_one), (gst_queue_loop):
8851         * plugins/elements/gstqueue.h:
8852         Be smarter when calculating the current amount of data in the queue by
8853         measuring the difference between start and end timestamps (in running
8854         time) inside the queue. Fixes #432876.
8855         API: GstQueue::pushing to notify elements that we are pushing data again
8856         since the running signal is rather broken for this purpose.
8857
8858 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8859
8860         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8861           gst_queue_base_init, gst_queue_init):
8862           use GST_BOILERPLATE
8863
8864 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8865
8866         * win32/common/libgstreamer.def:
8867         Add new exported functions.
8868         * win32/vs6/grammar.dsp:
8869         Use grammar pre-generated files.
8870
8871 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8872
8873         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8874
8875         * gst/Makefile.am:
8876         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8877         * gst/gstparse.h:
8878         * gst/gstutils.c: (gst_parse_bin_from_description):
8879         * gst/gstutils.h:
8880           Maintain API and ABI when --disable-parse is used. Now that
8881           we have an appropriate error code, we can just return NULL and the
8882           appropriate error when gst_parse_launch() is used despite it having
8883           been disabled (#342564).
8884
8885         * tests/check/Makefile.am:
8886         * tests/check/pipelines/.cvsignore:
8887         * tests/check/pipelines/parse-disabled.c:
8888           Make sure these functions exist and return NULL plus a GError when
8889           --disable-parse is used.
8890
8891 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8892
8893         * tests/benchmarks/complexity.c: (main):
8894         * tests/benchmarks/mass-elements.c: (main):
8895           Set a good example and don't leak messages.
8896
8897 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8898
8899         * docs/gst/Makefile.am:
8900         * docs/libs/Makefile.am:
8901           Correct fixxrefs options.
8902
8903         * docs/plugins/Makefile.am:
8904         * docs/plugins/gstreamer-plugins-docs.sgml:
8905         * docs/plugins/gstreamer-plugins-sections.txt:
8906         * plugins/elements/Makefile.am:
8907         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8908         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8909           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8910           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8911           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8912           _GstCapsFilterClass, trans_class):
8913         * plugins/elements/gstelements.c (name, rank, type, _elements):
8914         * plugins/elements/gstidentity.c
8915           (gst_identity_check_imperfect_timestamp,
8916           gst_identity_check_imperfect_offset):
8917           Document capsfilter and add doc-blurb to identity.
8918
8919 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8920
8921         * libs/gst/controller/gstcontroller.c:
8922         (gst_controlled_property_set_interpolation_mode):
8923         * libs/gst/controller/gstinterpolation.c:
8924           Don't crash if someone tries to set an interpolation mode that
8925           is invalid or that isn't supported yet. Fixes #422295.
8926
8927         * tests/check/libs/controller.c: (GST_START_TEST),
8928         (gst_controller_suite):
8929           Add a test case for the above.
8930
8931 2007-05-03  Edward Hervey  <edward@fluendo.com>
8932
8933         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8934         Properly set the last_stop position on GstSegment. This will only happen
8935         if there is a buffer to push out.
8936
8937 2007-05-03  Wim Taymans  <wim@fluendo.com>
8938
8939         * libs/gst/base/gstbasetransform.c:
8940         (gst_base_transform_buffer_alloc):
8941         always_in_place does not mean that the sink and source caps are the
8942         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8943
8944 2007-05-03  Wim Taymans  <wim@fluendo.com>
8945
8946         * docs/libs/gstreamer-libs-sections.txt:
8947         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8948         (gst_base_src_default_query), (gst_base_src_get_range):
8949         * libs/gst/base/gstbasesrc.h:
8950         API: gst_base_src_query_latency(). Added method so that subclasses can
8951         easily get the latency values of the base source class.
8952
8953 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8954
8955         * tools/gst-inspect.c (print_implementation_info):
8956         Remove 0.8 cruft.
8957
8958 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8959
8960         * tools/Makefile.am:
8961         * tools/gst-launch.1.in:
8962           Don't create a customised man page based on the host architecture,
8963           describe the default registry path generically. That way the man
8964           page is the same for all architectures and packagers have one
8965           multilib issue less to deal with. Fixes #434926.
8966
8967 2007-05-02  Wim Taymans  <wim@fluendo.com>
8968
8969         * gst/gstpad.c:
8970         Fix documentation as spotted by rg on IRC. 
8971
8972 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8973
8974         * gst/gstutils.c:
8975           Improve docs for gst_element_{link,unlink}.
8976
8977 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8978
8979         * docs/design/part-events.txt:
8980         * docs/design/part-overview.txt:
8981         * gst/gstevent.c:
8982         * gst/gsturi.c:
8983         * gst/gsturi.h:
8984         * libs/gst/base/gstbasesink.c:
8985           Typo fixes; minor docs addition.
8986
8987 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8988
8989         * docs/gst/gstreamer-sections.txt:
8990         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8991         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8992         * gst/gsturi.h:
8993         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8994         or src that supports a given URI protocol exists.
8995
8996 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8997
8998         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8999         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9000         Set the location to NULL if "file://" is set as URI. Otherwise
9001         some random previous URI would still be set if "file://" is
9002         set on an already used filesink/filesrc.
9003
9004 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9005
9006         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9007         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9008         Special case the "file://" URI as as this is used by some
9009         applications to test with gst_element_make_from_uri if there's
9010         an element that supports the URI protocol.
9011         Also move the g_path_is_absolute() check for the location part
9012         of the URI to also check this for "file://localhost/bla" URIs.
9013
9014 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9015
9016         * docs/gst/gstreamer-sections.txt:
9017         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9018         * gst/gstbuffer.h:
9019         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9020         (gst_buffer_suite):
9021           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9022
9023 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9024
9025         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9026         (gst_registry_binary_load_pad_template),
9027         (gst_registry_binary_load_plugin),
9028         (gst_registry_binary_read_cache):
9029         * gst/gstregistrybinary.h:
9030           Implement no-mmap alternative for registry reading. Do code cleanups.
9031           Add more comments about avoiding strdups for all text data. Comments
9032           welcome.
9033
9034 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9035
9036         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9037           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9038           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9039           Comment structs and reformat to fix the build (that stuff should go
9040           into a priv. header).
9041
9042 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9043
9044         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9045         (gst_registry_binary_load_feature):
9046         * gst/gstregistrybinary.h:
9047           Refactor so that we can implement multiple features. Add support for
9048           TypeFindFactory features.
9049
9050 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9051
9052         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9053
9054         * configure.ac:
9055           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9056
9057 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9058
9059         * gst/gstbin.c: (gst_bin_element_set_state),
9060         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9061         (bin_handle_async_done), (gst_bin_handle_message_func):
9062           Fix build with --gst-disable-gst-debug
9063
9064 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9065
9066         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9067           Make sure streaming has finished before calling the ::stop() vfunc,
9068           since that vfunc might clear state which is being used in the
9069           streaming thread. This fixes a race that caused crashes in
9070           audioresample when shutting down a pipeline (#420106).
9071
9072 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9073
9074         * docs/gst/gstreamer-sections.txt:
9075           That was one byte missing.
9076
9077 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9078
9079         * configure.ac:
9080         * docs/gst/gstreamer-sections.txt:
9081         * gst/Makefile.am:
9082         * gst/gstconfig.h.in:
9083         * gst/gstobject.c: (gst_object_class_init),
9084         (gst_signal_object_class_init):
9085         * gst/gstobject.h:
9086           2nd attempt to have a xml-less build as a joined effort of #413123
9087           and #421480.
9088
9089 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9090
9091         * docs/design/draft-tagreading.txt:
9092           Added open issues/thoughts to draft.
9093
9094 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9095
9096         * gst/parse/grammar.tab.pre.c:
9097         * gst/parse/grammar.tab.pre.h:
9098         * gst/parse/lex._gst_parse_yy.pre.c:
9099         Update the prebuild parser sources.
9100
9101 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9102
9103         * gst/parse/Makefile.am:
9104         And now fix the building of the flex sources. Now everything should
9105         work as expected.
9106
9107 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9108
9109         * gst/parse/Makefile.am:
9110         Now hopefully fix the build failures by setting proper rule
9111         dependencies and moving instead of copying.
9112
9113 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9114
9115         * tests/benchmarks/complexity.gnuplot:
9116         * tests/benchmarks/complexity.scm:
9117         * tests/benchmarks/mass-elements.gnuplot:
9118         * tests/benchmarks/mass-elements.scm:
9119           Total licensification.
9120
9121 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9122
9123         * gst/parse/Makefile.am:
9124           Fix the build by correcting the rule that gave wrong files to flex.
9125
9126 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9127
9128         * tests/benchmarks/complexity.c:
9129         * tests/benchmarks/mass-elements.c:
9130           Change licence to LGPL as granted by Benjamin and Andy.
9131
9132 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9133
9134         * gst/parse/Makefile.am:
9135         Add correct grammar.tab.h dependency if compiling without new enough
9136         flex. Fixes #431150.
9137
9138 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9139
9140         * gst/parse/Makefile.am:
9141         Fix typo and use outdated sources if the flex/bison sources are newer
9142         than the pregenerated ones but flex is too old. Print a warning in
9143         that case. This should fix the build on the build bot.
9144
9145 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9146
9147         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9148         * gst/parse/Makefile.am:
9149         * gst/parse/grammar.y:
9150         * gst/parse/parse.l:
9151         Make the parser reentrant and recursively callable. This requires flex
9152         >= 2.5.31, for older versions pregenerated sources are used as we
9153         can't bump the build dependency. Finally fixes #349180.
9154
9155         * gst/gstparse.c: (gst_parse_launch):
9156         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9157         now anyway.
9158
9159         * docs/gst/Makefile.am:
9160         * docs/gst/Makefile.am:
9161         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9162         (__gst_parse_strfree), (__gst_parse_link_new),
9163         (__gst_parse_link_free), (__gst_parse_chain_new),
9164         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9165         (gst_parse_element_set), (gst_parse_free_link),
9166         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9167         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9168         (_gst_parse_launch):
9169         * gst/parse/grammar.tab.pre.h:
9170         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9171         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9172         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9173         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9174         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9175         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9176         (_gst_parse_yypop_buffer_state),
9177         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9178         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9179         (yy_fatal_error), (_gst_parse_yyget_extra),
9180         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9181         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9182         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9183         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9184         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9185         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9186         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9187         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9188         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9189         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9190         (_gst_parse_yyfree):
9191         If the installed flex version is too old use pre-generated parser
9192         sources. These pre-generated parser sources are always updated when
9193         the actual flex/bison sources change but require everybody who wants
9194         to change something in the parser to have flex >= 2.5.31 installed.
9195
9196 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9197
9198         * common/m4/gst-gettext.m4:
9199         * gst/gst-i18n-lib.h:
9200           Make --disable-nls to work
9201
9202 2007-04-17  Wim Taymans  <wim@fluendo.com>
9203
9204         * gst/gstconfig.h.in:
9205         Revert previous change that broke the build.
9206
9207 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9208
9209         * configure.ac:
9210         * gst/Makefile.am:
9211         * gst/gstconfig.h.in:
9212           Drop libxml2 dependency when building with 
9213           --enable-binary-registry --disable-loadsave
9214
9215 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9216
9217         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9218         (gst_registry_binary_read_cache):
9219         * gst/gstregistrybinary.h:
9220           Remove unnecessary <sys/mman.h> include which broke the win32 build
9221           with MingW; move includes from header file to .c file, even if the
9222           header file isn't installed; use g_strerror() where UTF-8 strings
9223           are expected, such as in GST_DEBUG messages.
9224
9225 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9226
9227         * docs/libs/gstreamer-libs-sections.txt:
9228         Remove bogus addition for API I didn't end up keeping.
9229
9230         * libs/gst/base/gstbasesrc.h:
9231         Mention Since: 0.10.13 in the documentation.
9232
9233         Add the API keyword to the previous ChangeLog entry.
9234
9235 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9236
9237         * docs/libs/gstreamer-libs-sections.txt:
9238         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9239         (gst_base_src_default_prepare_seek_segment),
9240         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9241         * libs/gst/base/gstbasesrc.h:
9242         Allow basesrc derived classes to execute seeks in other formats
9243         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9244         to prepare the GstSegment in any format that their perform_seek method
9245         will be able to understand. The default implementation provides the
9246         old behaviour of attempting to convert the seek offsets to the 
9247         configured native format.
9248
9249         API: basesrc::prepare_seek_segment vmethod.
9250
9251 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9252
9253         * gst/gstelement.c: (gst_element_get_state_func):
9254         Don't output the same debug statement twice.
9255
9256         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9257         (gst_adapter_peek), (gst_adapter_take_buffer):
9258         Optimise the case where we have buffers at the head of the queue that
9259         can be joined quickly (because they're contiguous sub-buffers) by
9260         merging them together rather than copying data out into new memory.
9261
9262         * gst/parse/grammar.y:
9263         * tests/check/pipelines/parse-launch.c:
9264         Fix a leak in an error path for parse_launch, and add a check 
9265         for it to the testsuite.
9266
9267 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9268
9269         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9270           Don't deadlock when releasing a pad - gst_pad_set_active may try
9271           and take the multiqueue lock too.
9272
9273 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9274
9275         * gst/gsterror.c: (_gst_core_errors_init):
9276         * gst/gsterror.h:
9277           API: add GST_CORE_ERROR_DISABLED (#392804).
9278
9279 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9280
9281         * docs/faq/gst-uninstalled:
9282           don't get empty paths on the PATH variables
9283         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9284           Don't format for the uncommon terminal width of 84 characters.
9285
9286 2007-04-06  Wim Taymans  <wim@fluendo.com>
9287
9288         * gst/gstpipeline.c: (reset_stream_time),
9289         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9290         Only try to select a different pipeline clock when we went back to
9291         PAUSED and not when we merely got flushed.
9292
9293 2007-04-05  Michael Smith  <msmith@fluendo.com>
9294
9295         * tools/gst-launch.1.in:
9296           fractions are better supported in gstreamer than ractions, so
9297           suggest using those.
9298
9299 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9300
9301         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9302
9303         * po/LINGUAS:
9304         * po/da.po:
9305           Added Danish translation.
9306
9307 2007-04-05  Wim Taymans  <wim@fluendo.com>
9308
9309         * libs/gst/base/gstbasesink.c:
9310         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9311         Fix leak caused when refusing newsegment after EOS.
9312
9313         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9314         (gst_fake_sink_init), (gst_fake_sink_set_property),
9315         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9316         (gst_fake_sink_render), (gst_fake_sink_change_state):
9317         * plugins/elements/gstfakesink.h:
9318         Add num-buffers property to make the element generate EOS after a
9319         configurable amount of buffers.
9320         API: fakesink::num-buffers property.
9321
9322         * tests/check/elements/fakesink.c: (GST_START_TEST),
9323         (fakesink_suite):
9324         Fix GstBus leak in test.
9325         Test for fakesink num-buffers.
9326
9327 2007-04-05  Wim Taymans  <wim@fluendo.com>
9328
9329         * libs/gst/base/gstbasesink.c:
9330         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9331         (gst_base_sink_change_state):
9332         Don't accept anything after an EOS, return UNEXPECTED instead.
9333
9334         * tests/check/elements/fakesink.c: (GST_START_TEST),
9335         (fakesink_suite):
9336         Unit test for new EOS behaviour.
9337
9338 2007-04-05  Wim Taymans  <wim@fluendo.com>
9339
9340         * gst/gstelement.c: (gst_element_get_request_pad):
9341         Make padtemplates also work when they don't contain %s or %d.
9342
9343 2007-04-05  Wim Taymans  <wim@fluendo.com>
9344
9345         * docs/gst/gstreamer-sections.txt:
9346         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9347         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9348         * gst/gstclock.h:
9349         Improve _adjust_unlocked() so that it overflows less.
9350         Add gst_clock_unadjust_unlocked to convert from external time to
9351         internal time based on calibration.
9352         Add some more debug.
9353         API: GstClock::gst_clock_unadjust_unlocked()
9354
9355 2007-04-03  Wim Taymans  <wim@fluendo.com>
9356
9357         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9358
9359         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9360         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9361         when releasing sink pad. Fixes #425400.
9362
9363 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9364
9365         * docs/random/ensonic/dynlink.txt:
9366           More work on proposal for new core api.
9367
9368         * docs/libs/gstreamer-libs-sections.txt:
9369         * libs/gst/base/gstbasetransform.h:
9370           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9371           
9372         * libs/gst/controller/gstcontroller.c:
9373         (on_object_controlled_property_changed),
9374         (gst_controller_sync_values),
9375         (gst_controller_set_interpolation_mode):
9376         * libs/gst/controller/gstcontroller.h:
9377           Less verbose logging add docs for unimplemented parts and correctly
9378           return when using unavailable parts.
9379
9380 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9381
9382         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9383         Move all the debug to the CLOCK category, and associate it with
9384         the clock object.
9385
9386 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9387
9388         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9389         Make take_buffer a bit quicker by removing redundant checks
9390         caused by calling gst_adapter_take.
9391
9392 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9393
9394         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9395           Don't leak GCond.
9396
9397         * tests/check/Makefile.am:
9398         * tests/check/elements/.cvsignore:
9399         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9400         (GST_START_TEST), (multiqueue_suite):
9401           Add some dead simple unit tests for the 'multiqueue' element
9402           (some bits don't work yet and are disabled for now).
9403
9404 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9405
9406         * gst/gstelement.c: (gst_element_get_request_pad),
9407         (gst_element_class_get_request_pad_template):
9408           Make gst_element_get_request_pad() create request pads only for
9409           request pad templates and not for, say, sometimes pad templates.
9410
9411 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9412
9413         * docs/design/draft-klass.txt:
9414           Add example that needs more thinking.
9415         
9416         * docs/design/draft-missing-plugins.txt:
9417           More thoughts about wrapper plugins.
9418         
9419         * docs/random/ensonic/embedded.txt:
9420         * docs/random/ensonic/profiling.txt:
9421           More design work.
9422
9423 2007-03-25  Wim Taymans  <wim@fluendo.com>
9424
9425         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9426         (gst_base_src_loop):
9427         Only push the segment events in the PLAYING state for live sources.
9428
9429 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9430
9431         * gst/gstpipeline.c: (gst_pipeline_change_state):
9432         Modify the clock distribution path in PAUSED->PLAYING so that we 
9433         never attempt to choose a new clock unless we're actually leaving
9434         the PAUSED state for the first time. This prevents choosing a
9435         different clock when the state_change gets called for a 2nd time due
9436         to some element doing an async state change.
9437
9438 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9439
9440         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9441         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9442         (gst_pad_chain_unchecked), (gst_pad_push):
9443         Revert last commit. This needs some more thoughts.
9444
9445 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9446
9447         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9448         (gst_pad_chain_unchecked), (gst_pad_push):
9449         Check in set_caps if the caps are compatible with the pad and remove
9450         two functions that are redundant now. Fixes #421543.
9451
9452 2007-03-22  Wim Taymans  <wim@fluendo.com>
9453
9454         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9455         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9456         Unref some more to make valgrind happy.
9457
9458 2007-03-22  Wim Taymans  <wim@fluendo.com>
9459
9460         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9461         (gst_system_clock_id_wait_jitter),
9462         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9463         Fix anoying regression that survived a few releases. When adding an
9464         async entry while blocking on a sync entry, the sync entry will unblock
9465         but still be busy, so it should continue to wait instead of returning
9466         _BUSY to the app.
9467         Add some comments here and there.
9468
9469         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9470         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9471         Add testcase for this.
9472
9473 2007-03-22  Wim Taymans  <wim@fluendo.com>
9474
9475         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9476         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9477         WRONG_STATE and can silently pause the task. All other cases should
9478         error out.
9479
9480 2007-03-22  Wim Taymans  <wim@fluendo.com>
9481
9482         Patch by: Ville Syrjala <syrjala at sci dot fi>
9483
9484         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9485         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9486         Improve debugging.
9487
9488 2007-03-21  Michael Smith  <msmith@fluendo.com>
9489
9490         * docs/pwg/advanced-types.xml:
9491           Fix some errors in the typefinding docs pointed out on irc.
9492
9493 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9494
9495         * libs/gst/base/gstbasesrc.c:
9496         Clarify FIXME comment in the face of having added unlock_stop()
9497
9498 2007-03-21  Wim Taymans  <wim@fluendo.com>
9499
9500         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9501         Prepare for release where we warn against possible app breakage in the
9502         case of live pipelines along with an env var to enable/disable live
9503         preroll mode (GST_COMPAT=[no-]live-preroll).
9504
9505 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9506
9507         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9508         So we should use correct constants for checking for None offset.
9509
9510 2007-03-20  Wim Taymans  <wim@fluendo.com>
9511
9512         * docs/design/part-block.txt:
9513         Mention the fact that the newly switched element should be set to at
9514         least PAUSED.
9515
9516 2007-03-20  Wim Taymans  <wim@fluendo.com>
9517
9518         * gst/gst.c:
9519         Fix compilation with registry disabled as spotted by Saur.
9520
9521 2007-03-20  Wim Taymans  <wim@fluendo.com>
9522
9523         Patch by: Olivier Crete <tester at tester dot ca>
9524
9525         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9526         Look at the pending state too when syncing the element state to the
9527         parent. Fixes #420133.
9528
9529 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9530
9531         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9532         (gst_base_sink_change_state):
9533         * libs/gst/base/gstbasesink.h:
9534         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9535         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9536         (gst_base_src_deactivate):
9537         * libs/gst/base/gstbasesrc.h:
9538         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9539         for sub-classes to correctly clear any state they set trying to
9540         unlock, such as clearing out unlock commands from a command fd.
9541         API: basesrc::unlock_stop
9542         API: basesink::unlock_stop
9543
9544         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9545         (gst_fd_sink_render), (gst_fd_sink_unlock),
9546         (gst_fd_sink_unlock_stop):
9547         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9548         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9549         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9550
9551         Implement unlock_stop in fdsrc and fdsink.
9552         Implement seeking in fdsrc when a seekable fd is passed, as in
9553         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9554
9555 2007-03-19  Wim Taymans  <wim@fluendo.com>
9556
9557         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9558
9559         * gst/gstelement.c: (gst_element_class_init):
9560         Fix pad-added and pad-removed signal signatures so that the pad type is
9561         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9562
9563 2007-03-19  Wim Taymans  <wim@fluendo.com>
9564
9565         * docs/gst/gstreamer-sections.txt:
9566         Add new element field and method.
9567
9568         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9569         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9570         (gst_bin_recalc_state), (gst_bin_get_state_func),
9571         (gst_bin_element_set_state), (gst_bin_change_state_func),
9572         (gst_bin_continue_func), (bin_bus_handler),
9573         (bin_push_state_continue), (bin_handle_async_start),
9574         (bin_handle_async_done), (gst_bin_handle_message_func):
9575         Make async state changes a bit smarter by using new ASYNC_START and
9576         ASYNC_DONE messages. This reduces the number of times we run the state
9577         recalculation thread.
9578         Don't change state of element with a pending ASYNC_START message.
9579         Deprecate STATE_DIRTY messages.
9580         
9581         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9582         (gst_element_get_state_func), (gst_element_continue_state),
9583         (gst_element_lost_state), (gst_element_set_state_func),
9584         (gst_element_change_state):
9585         * gst/gstelement.h:
9586         Keep the state that was last set by the app in a new element field.
9587         Don't allow state changes when handling an element event.
9588         Post ASYNC_START and ASYNC_DONE messages.
9589         Change lost_state so that we go to PAUSED and wait for the parent to set
9590         us to PLAYING again (so latency calculation can be performed)
9591         Export gst_element_change_state() method so that subclasses can use it.
9592         API: gst_element_change_state()
9593         API: GST_STATE_TARGET
9594
9595         * gst/gstpipeline.c: (gst_pipeline_class_init),
9596         (reset_stream_time), (gst_pipeline_change_state),
9597         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9598         Using the new ASYNC_START message we can reset the base_time when
9599         needed. This can then be used to implement base_time redistribution in
9600         flushing seeks so that we can remove the explicit seek handling.
9601         Perform latency query and configuration when going to PLAYING.
9602
9603         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9604         (gst_base_sink_query), (gst_base_sink_change_state):
9605         Post new ASYNC_START/ASYNC_DONE messages.
9606
9607         * tests/check/generic/sinks.c: (GST_START_TEST):
9608         Fix test because the bin will not set the async element to PLAYING right
9609         away.
9610
9611         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9612         Make the message check a little stronger.
9613         Handle ASYNC messages.
9614
9615         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9616         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9617         Expect ASYNC_DONE messages.
9618
9619 2007-03-19  Wim Taymans  <wim@fluendo.com>
9620
9621         * docs/gst/gstreamer-sections.txt:
9622         * gst/gstmessage.c: (gst_message_new_async_start),
9623         (gst_message_new_async_done), (gst_message_parse_info),
9624         (gst_message_parse_async_start):
9625         * gst/gstmessage.h:
9626         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9627         support.
9628
9629 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9630
9631         * tools/gst-inspect.c:
9632         (print_plugin_automatic_install_info_codecs):
9633           Now that we don't check for the 'Codec' keyword any longer in the
9634           klass, we shouldn't spew a warning if the klass isn't a decoder or
9635           encoder (since it might be a Source/Network, for example).
9636
9637 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9638
9639         * tools/gst-inspect.c:
9640         (print_plugin_automatic_install_info_codecs):
9641           Don't require decoder/demuxer/depayloader elements or
9642           encoder/muxer/paylader elements to have 'Codec' as part of their
9643           factory class string when introspecting a plugin's capabilities.
9644           draft-klass.txt mentions that it might be removed in future, and
9645           flump3dec doesn't have it as part of its class string, so chances
9646           are others might also not have it.
9647
9648 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9649
9650         * po/af.po:
9651         * po/az.po:
9652         * po/bg.po:
9653         * po/ca.po:
9654         * po/cs.po:
9655         * po/de.po:
9656         * po/en_GB.po:
9657         * po/fr.po:
9658         * po/it.po:
9659         * po/nb.po:
9660         * po/nl.po:
9661         * po/ru.po:
9662         * po/sq.po:
9663         * po/sr.po:
9664         * po/sv.po:
9665         * po/tr.po:
9666         * po/uk.po:
9667         * po/vi.po:
9668         * po/zh_CN.po:
9669         * po/zh_TW.po:
9670           Update translations from translation project
9671
9672 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9673
9674         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9675         (gst_child_proxy_set_property):
9676           Invert precondition check to be alike the ones in the mimiced gobject
9677           api.
9678
9679 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9680
9681         * docs/design/draft-tagreading.txt:
9682         * docs/random/ensonic/audiobaseclasses.txt:
9683           Do some Architect work.
9684
9685         * gst/gstobject.c: (gst_object_set_name):
9686           Add a WARNING.
9687
9688         * gst/gstpad.c:
9689           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9690
9691 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9692
9693         * gst/gstsystemclock.c: (gst_system_clock_init),
9694         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9695         Defer starting the async system clock thread until the first async
9696         wait is scheduled. Fixes #414986.
9697
9698 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9699
9700         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9701         (gst_single_queue_free):
9702           Fix small leak (free GstSingleQueue structure too, not only contents).
9703
9704 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9705
9706         * gst/gstbin.c:(gst_bin_add):
9707         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9708         * win32/common/libgstbase.def:
9709         * win32/common/libgstreamer.def:
9710         Add new exported functions.
9711
9712 2007-03-09  Wim Taymans  <wim@fluendo.com>
9713
9714         * docs/plugins/gstreamer-plugins-sections.txt:
9715         Fix GstTee docs.
9716
9717 2007-03-09  Wim Taymans  <wim@fluendo.com>
9718
9719         * docs/gst/gstreamer-sections.txt:
9720         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9721         * gst/gstbuffer.h:
9722         Add metadata copy functions. Fixes #393099.
9723         API: gst_buffer_copy_metadata()
9724
9725         * gst/gstutils.c: (gst_buffer_stamp):
9726         * libs/gst/base/gstbasetransform.c:
9727         (gst_base_transform_prepare_output_buffer):
9728         Use new metadata copy functions.
9729
9730 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9731
9732         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9733         (gst_identity_init), (gst_identity_check_perfect),
9734         (gst_identity_check_imperfect_timestamp),
9735         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9736         (gst_identity_set_property), (gst_identity_get_property):
9737         * plugins/elements/gstidentity.h:
9738         Separate out check-imperfect-timestamp and check-imperfect-offset.
9739         Put back check-perfect as it was to keep compatibility.
9740
9741 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9742
9743         * gst/gstelement.c: (gst_element_dispose):
9744         There's no need to warn if VOID_PENDING is not NONE here, as
9745         long as the state is NULL it's ok, and that's checked immediately
9746         above.
9747
9748 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9749
9750         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9751         Fix check for perfect stream to ignore buffers with -1 
9752         offsets/offset ends when checking data contiguity.
9753
9754 2007-03-08  Wim Taymans  <wim@fluendo.com>
9755
9756         * tools/gst-launch.c: (event_loop):
9757         Print INFO messages.
9758
9759 2007-03-08  Wim Taymans  <wim@fluendo.com>
9760
9761         * libs/gst/base/gstbasetransform.c:
9762         (gst_base_transform_sink_eventfunc),
9763         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9764         (gst_base_transform_activate):
9765         * libs/gst/base/gstbasetransform.h:
9766         Add support for dropping buffers with custom GstFlowReturn.
9767         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9768         buffers or dropped buffers.
9769
9770         * docs/libs/gstreamer-libs-sections.txt:
9771         docs for new custom return code.
9772
9773         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9774         Use drop support in base class to implement drop-probability.
9775
9776 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9777
9778         * gst/gst.c: (load_plugin_func):
9779         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9780         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9781         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9782           Remove newlines at end of debug log strings.
9783
9784 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9785
9786         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9787         Only post bus message at max, once per buffer received.
9788
9789 2007-03-07  Wim Taymans  <wim@fluendo.com>
9790
9791         * docs/design/Makefile.am:
9792         * docs/design/part-synchronisation.txt:
9793         Add doc about synchronisation
9794
9795         * docs/design/draft-latency.txt:
9796         * docs/design/part-TODO.txt:
9797         * docs/design/part-clocks.txt:
9798         * docs/design/part-events.txt:
9799         * docs/design/part-gstbus.txt:
9800         * docs/design/part-gstpipeline.txt:
9801         * docs/design/part-live-source.txt:
9802         * docs/design/part-messages.txt:
9803         * docs/design/part-overview.txt:
9804         * docs/design/part-streams.txt:
9805         * docs/design/part-trickmodes.txt:
9806         Documentation updates.
9807
9808 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9809
9810         * gstreamer.doap:
9811         Update the doap file.
9812
9813 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9814
9815         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9816         Rename non-perfect to imperfect for Mike and for the sanctity of the
9817         language.
9818         Also make sure bus message gets emitted for data-incontiguities.
9819
9820 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9821
9822         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9823         (gst_identity_start):
9824         * plugins/elements/gstidentity.h:
9825         Emit bus message if check-perfect is true and we encounter a
9826         non-perfect stream between 2 consecutive buffers.
9827         Fixes #415394.
9828
9829 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9830
9831         * configure.ac:
9832         Back to CVS
9833
9834 === release 0.10.12 ===
9835
9836 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9837
9838         * configure.ac:
9839           releasing 0.10.12, "Inevitable Demise"
9840
9841 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9842
9843         * configure.ac:
9844          Version 0.10.11.2 (0.10.12 pre-release)
9845          Bump libtool versioning.
9846
9847 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9848
9849         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9850           Log flow-names and not numbers.
9851
9852 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9853
9854         * configure.ac:
9855           Convert to new AG_GST style.
9856
9857 2007-02-28  Wim Taymans  <wim@fluendo.com>
9858
9859         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9860         Don't unref query twice.
9861
9862 2007-02-28  Wim Taymans  <wim@fluendo.com>
9863
9864         * gst/gstvalue.c: (gst_value_transform_object_string),
9865         (_gst_value_initialize):
9866         Implement GstObject -> string transform so we print object names
9867         when serializing GValues containing GstObjects.
9868
9869 2007-02-28  Wim Taymans  <wim@fluendo.com>
9870
9871         * docs/gst/gstreamer-sections.txt:
9872         Add new stuff to docs.
9873
9874 2007-02-28  Wim Taymans  <wim@fluendo.com>
9875
9876         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9877         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9878         (gst_base_sink_change_state):
9879         Improve latency query code.
9880         Don't leak latency events.
9881
9882         * tests/check/gst/gstbin.c: (GST_START_TEST):
9883         Improve debugging.
9884
9885 2007-02-28  Wim Taymans  <wim@fluendo.com>
9886
9887         * gst/gstelement.c: (gst_element_message_full),
9888         (gst_element_get_state_func):
9889         * gst/gstelement.h:
9890         Improve docs a little. Added Since: for new macro.
9891
9892         * gst/gstobject.c: (gst_object_sink):
9893         * gst/gstpipeline.c: (gst_pipeline_change_state),
9894         (gst_pipeline_set_new_stream_time):
9895         * gst/gstpipeline.h:
9896         Improve debugging and docs.
9897
9898         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9899         Improve debugging.
9900
9901 2007-02-28  Wim Taymans  <wim@fluendo.com>
9902
9903         * gst/gstelement.c: (gst_element_message_full),
9904         (gst_element_set_locked_state), (gst_element_get_state_func),
9905         (gst_element_change_state):
9906         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9907         Documentation updates.
9908         Small code cleanups.
9909
9910         * gst/gstmessage.c: (gst_message_new_info),
9911         (gst_message_parse_info):
9912         * gst/gstmessage.h:
9913         API: gst_message_new_info()
9914         API: gst_message_parse_info()
9915         Add INFO message create and parse code.
9916
9917 2007-02-28  Wim Taymans  <wim@fluendo.com>
9918
9919         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9920         (bin_query_latency_done):
9921         Also report the live parameter of a latency query.
9922
9923 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9924
9925         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9926           Copy the current generic/states example from -base and adapt so
9927           we can use the exact same code everywhere.
9928           Check a STATES_IGNORE_ELEMENTS env var which can be used
9929           to ignore certain element factories for this test, which is
9930           what is being done in -base
9931         * tests/check/Makefile.am:
9932           Mention this environment variable.
9933
9934 2007-02-27  Wim Taymans  <wim@fluendo.com>
9935
9936         * docs/gst/gstreamer-sections.txt:
9937         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9938         (gst_bus_timed_pop), (gst_bus_pop):
9939         * gst/gstbus.h:
9940         API: gst_bus_timed_pop()
9941         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9942         message to arrive on the bus.
9943
9944         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9945         (gst_bus_suite):
9946         Two unit tests for new _timed_pop() function.
9947
9948 2007-02-23  Wim Taymans  <wim@fluendo.com>
9949
9950         * gst/gstpipeline.c: (gst_pipeline_change_state),
9951         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9952         Don't ref a NULL clock in _provide_clock_func().
9953         Don't allow an INVALID delay.
9954         Don't try to calculate base_time with an invalid start_time.
9955         Also distribute and notify a NULL clock when it was selected.
9956
9957         * tools/gst-launch.c: (event_loop):
9958         Don't crash when a NULL clock was selected in the pipeline.
9959
9960 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9961
9962         * docs/design/Makefile.am:
9963         * docs/design/draft-missing-plugins.txt:
9964         * docs/random/draft-missing-plugins.txt:
9965           Some small updates: update plugin system identifier prefix
9966           ('gstreamer.net' to 'gstreamer'), mention our new install
9967           API in libgstbaseutils rather than libgimme-codec, add
9968           reference to the online docs.
9969
9970 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9971
9972         * win32/common/config.h:
9973           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9974           use moap cl ci to only check in what is mentioned in the ChangeLog.
9975
9976 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9977
9978         * docs/gst/gstreamer-sections.txt:
9979         * gst/gstelement.h:
9980           Fix up documentation to link to the correct GstGError section.
9981           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9982
9983 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9984
9985         * tools/gst-launch.c: (event_loop):
9986           Make sure that we actually show the important message part of a
9987           warning message.
9988           No need to check if the gerror is not NULL to free; first of all
9989           g_free accepts NULL; and second the default error handler would
9990           segfault if gerror was NULL.
9991
9992 2007-02-21  Wim Taymans  <wim@fluendo.com>
9993
9994         * docs/gst/gstreamer-sections.txt:
9995         Removed docs as well.
9996
9997 2007-02-21  Wim Taymans  <wim@fluendo.com>
9998
9999         * gst/gstmessage.c: (gst_message_parse_duration):
10000         * gst/gstmessage.h:
10001         Remove new messages for release.
10002
10003 2007-02-20  Wim Taymans  <wim@fluendo.com>
10004
10005         * docs/design/part-gstghostpad.txt:
10006         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10007         (gst_ghost_pad_new_full):
10008         Make the ghostpad a parent of the internal pad again for better backward
10009         compatibility. Don't write code that relies on this however.
10010
10011         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10012         (gst_pad_link_check_hierarchy):
10013         Require that parents should be GstElements in the hierarchy check.
10014
10015 2007-02-20  Wim Taymans  <wim@fluendo.com>
10016
10017         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10018         (gst_bin_change_state_func), (bin_query_min_max_init),
10019         (bin_query_latency_fold), (bin_query_latency_done),
10020         (gst_bin_query):
10021         Improve debug info.
10022         Implement latency query.
10023
10024 2007-02-20  Wim Taymans  <wim@fluendo.com>
10025
10026         * docs/design/part-gstghostpad.txt:
10027         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10028         (gst_ghost_pad_internal_do_activate_push),
10029         (gst_ghost_pad_internal_do_activate_pull),
10030         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10031         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10032         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10033         Do not set the internal pad as a parent anymore so we can avoid
10034         hierarchy linking errors when the ghostpad has no parent yet. This also
10035         fixes failed activation because of unlinked internal pads, which in
10036         turn fixes the impossible case where you have to activate a pad before
10037         you can add it to a running element.
10038         Also fix the docs.
10039
10040         * gst/gstpad.c: (pre_activate), (post_activate),
10041         (gst_pad_set_active), (gst_pad_activate_pull),
10042         (gst_pad_activate_push), (gst_pad_check_pull_range):
10043         Add some more debug info.
10044         Mark activation mode in pre_activate so that we don't try to activate in
10045         endless loops. Fixes #385084.
10046
10047 2007-02-19  Wim Taymans  <wim@fluendo.com>
10048
10049         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10050         (gst_base_transform_check_get_range):
10051         Implement a checkgetrange function instead of relying on the default
10052         core behaviour that assumes we can operate in pull mode if we have a
10053         getrange function. First step at fixing #385084.
10054
10055 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10056
10057         * gst/gstchildproxy.h:
10058         * libs/gst/base/gstbasesink.h:
10059         * libs/gst/base/gstbasesrc.h:
10060         * libs/gst/base/gstbasetransform.h:
10061         More docs coverage and some ChangeLog surgery (add missing names)
10062
10063 2007-02-15  Wim Taymans  <wim@fluendo.com>
10064
10065         * docs/design/part-TODO.txt:
10066         * docs/design/part-activation.txt:
10067         * docs/design/part-block.txt:
10068         * docs/design/part-buffering.txt:
10069         * docs/design/part-clocks.txt:
10070         * docs/design/part-element-source.txt:
10071         * docs/design/part-events.txt:
10072         * docs/design/part-gstbin.txt:
10073         * docs/design/part-gstbus.txt:
10074         * docs/design/part-gstpipeline.txt:
10075         * docs/design/part-live-source.txt:
10076         * docs/design/part-messages.txt:
10077         * docs/design/part-overview.txt:
10078         * docs/design/part-qos.txt:
10079         * docs/design/part-query.txt:
10080         * docs/design/part-states.txt:
10081         * docs/design/part-trickmodes.txt:
10082         Some doc updates. Start renaming from stream_time to running_time where
10083         it was used wrongly.
10084
10085 2007-02-15  Wim Taymans  <wim@fluendo.com>
10086
10087         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10088         Answer LATENCY query.
10089
10090 2007-02-15  Wim Taymans  <wim@fluendo.com>
10091
10092         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10093         (GST_START_TEST):
10094         Improve debugging.
10095
10096 2007-02-15  Wim Taymans  <wim@fluendo.com>
10097
10098         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10099         (gst_pad_dispatcher):
10100         Improve debugging of default pad dispatcher and query functions.
10101
10102 2007-02-15  Wim Taymans  <wim@fluendo.com>
10103
10104         * docs/gst/gstreamer-sections.txt:
10105         Remove old unused method.
10106
10107 2007-02-13  Wim Taymans  <wim@fluendo.com>
10108
10109         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10110         Fix check
10111
10112 2007-02-13  Wim Taymans  <wim@fluendo.com>
10113
10114         * docs/design/part-seeking.txt:
10115         Some small update.
10116
10117         * gst/gstsegment.c: (gst_segment_set_seek):
10118         Revert old bogus change that should make seeking work again.
10119
10120 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10121
10122         * docs/random/ensonic/dynlink.txt:
10123         * docs/random/ensonic/interfaces.txt:
10124         * docs/random/ensonic/receipies.txt:
10125           Possible dynamic reconnection api, plus some type fixes the other two
10126           docs.
10127
10128 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10129
10130         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10131         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10132         Also check for an absolute path following file:// in the filesrc
10133         element. Remove redundant check and call g_path_is_absolute() on the
10134         unescaped location.
10135
10136 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10137
10138         * docs/design/draft-klass.txt:
10139           Add existing category analysis.
10140           
10141         * gst/gstcaps.c:
10142           Fix doc example, framerate is a fraction.
10143
10144 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10145
10146         * configure.ac:
10147         * docs/gst/Makefile.am:
10148         * docs/gst/gstreamer-sections.txt:
10149         * docs/libs/Makefile.am:
10150           Erm, forgot a bunch of --extra-dir.
10151
10152 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10153
10154         * configure.ac:
10155         * docs/gst/Makefile.am:
10156         * docs/libs/Makefile.am:
10157         * docs/plugins/Makefile.am:
10158           Add crossreferences to glib/gobject docs.
10159
10160 2007-02-12  Wim Taymans  <wim@fluendo.com>
10161
10162         * docs/design/draft-latency.txt:
10163         Small update.
10164
10165         * docs/libs/gstreamer-libs-sections.txt:
10166         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10167         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10168         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10169         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10170         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10171         (gst_base_sink_get_position), (gst_base_sink_query),
10172         (gst_base_sink_change_state):
10173         * libs/gst/base/gstbasesink.h:
10174         API: gst_base_sink_query_latency() to let subclasses query the upstream
10175         latency.
10176         API: gst_base_sink_get_latency() to let subclasses query the configured
10177         latency in the sink.
10178         Implement query and set latency.
10179         Update some docs.
10180         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10181         don't continue preroll when we are flushing. Fixes #405284.
10182
10183         * tests/check/pipelines/stress.c: (change_state_timeout),
10184         (quit_timeout), (GST_START_TEST), (stress_suite):
10185         Test for #405284.
10186
10187 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10188
10189         Patch by: René Stadler <mail at renestadler de>
10190
10191         * docs/gst/gstreamer-sections.txt:
10192         * gst/gsttaglist.c: (_gst_tag_initialize):
10193         * gst/gsttaglist.h:
10194           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10195
10196 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10197
10198         * docs/libs/Makefile.am:
10199           Fix path to core docs.
10200
10201         * gst/gstbin.c: (gst_bin_get_by_interface),
10202         (gst_bin_iterate_all_by_interface):
10203           Refix docs by also renaming 'interface' to 'iface' in implementation.
10204
10205         * docs/gst/gstreamer-sections.txt:
10206         * gst/gstcaps.c:
10207         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10208         * gst/gstchildproxy.h:
10209         * gst/gstelementfactory.c:
10210         * gst/gstpadtemplate.h:
10211         * libs/gst/controller/gstcontroller.c:
10212         (gst_controlled_property_new):
10213           Document more.
10214
10215 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10216
10217         * gst/gstbin.h:(gst_bin_get_by_interface),
10218         (gst_bin_iterate_all_by_interface):
10219         Replace interface parameter name by iface as interface is 
10220         a reserved keyword in Visual Studio for C++ projects so it removes
10221         a build error for application developpers using VS.
10222         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10223         Fix a bug on Windows in uri format check. Now the prefix checked
10224         is file:// and next we check if the path after file:// is absolute.
10225         * win32/common/libgstbase.def:
10226         * win32/common/libgstdataprotocol.def:
10227         * win32/common/libgstgstreamer.def:
10228         Add new exported functions.
10229
10230 2007-02-09  Andy Wingo  <wingo@pobox.com>
10231
10232         * tests/check/pipelines/simple-launch-lines.c
10233         (simple_launch_lines_suite, test_tee): Disable tee test until I
10234         have time to fix it :-(
10235
10236         * tests/check/Makefile.am (noinst_HEADERS): 
10237         * tests/check/libs/libsabi.c: 
10238         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10239         * tests/check/gst/gstabi.c: 
10240         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10241
10242         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10243         tests for push and pull tee behavior.
10244
10245         * plugins/elements/gsttee.h: 
10246         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10247         mark as deprecated as well as unimplemented. It was a crack idea.
10248         Add support for tee operating in pull mode, off by default.
10249
10250         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10251         normal-case logs down to LOG, raise errors to WARNING.
10252         (gst_registry_xml_read_cache): Don't log before calling a function
10253         that logs.
10254
10255         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10256         exit (registry finalize).
10257         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10258         DEBUG log when we emit signals that people don't even have the
10259         chance to connect to.
10260         (gst_registry_scan_path_level): Less logging in the normal case.
10261
10262 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10263
10264         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10265
10266         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10267         Correctly generate EOS for non-seekable files. We don't have a total
10268         length for them and would get an unexpected end of file if we only
10269         special-cased for regular files. (Fixes: #404569)
10270
10271 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10272
10273         * tests/check/elements/filesrc.c: (GST_START_TEST),
10274         (filesrc_suite):
10275         Add unit test for the GstURIHandler interface in filesrc. This also
10276         tests the newly added file://localhost/foo/bar support.
10277
10278 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10279
10280         * gst/gstelementfactory.h:
10281           The klass string is not a hierarchy. Add reference to the design doc
10282           for more information and common types.
10283
10284 2007-02-02  Wim Taymans  <wim@fluendo.com>
10285
10286         * gst/gstquery.c: (gst_query_new_latency):
10287         Remove old structure field.
10288
10289 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10290
10291         * tools/gst-launch.1.in:
10292           Give example for network streaming (#351998)
10293
10294 2007-02-02  Wim Taymans  <wim@fluendo.com>
10295
10296         * docs/gst/gstreamer-sections.txt:
10297         Add docs for new methods.
10298
10299         * gst/gstevent.c: (gst_event_new_latency),
10300         (gst_event_parse_latency):
10301         * gst/gstevent.h:
10302         Add new LATENCY event to configure latency in a pipeline.
10303         API: gst_event_new_latency
10304         API: gst_event_parse_latency
10305
10306         * gst/gstmessage.c: (gst_message_new_buffering),
10307         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10308         (gst_message_new_latency), (gst_message_parse_buffering),
10309         (gst_message_parse_lost_preroll):
10310         * gst/gstmessage.h:
10311         Added messages used in draft-latency.
10312         API: gst_message_new_lost_preroll
10313         API: gst_message_parse_lost_preroll
10314         API: gst_message_new_prerolled
10315         API: gst_message_new_latency
10316
10317         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10318         (gst_query_parse_latency):
10319         * gst/gstquery.h:
10320         Implemented new latency query as in design doc.
10321         API: gst_query_new_latency
10322         API: gst_query_set_latency
10323         API: gst_query_parse_latency
10324
10325 2007-02-02  Wim Taymans  <wim@fluendo.com>
10326
10327         * docs/design/draft-latency.txt:
10328         Slight redesign to allow for dynamic latency adjustments.
10329
10330         * docs/design/part-negotiation.txt:
10331         Fix some typos.
10332
10333 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10334
10335         reviewed by: Wim Taymans <wim@fluendo.com>
10336
10337         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10338         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10339         Allow file://localhost/foo/bar URLs and correctly fail for every other
10340         hostname that one sets. This was gnomevfssrc is linked for those if
10341         installed as it can handle it (#403172)
10342
10343 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10344
10345         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10346
10347         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10348         (unref_data), (gst_collect_pads_add_pad_full):
10349         * libs/gst/base/gstcollectpads.h:
10350         Don't put the previously added destroy notify in the GstCollectData
10351         struct as all it's padding is already used and we don't want to break
10352         ABI. Instead put in the pad's GObject data for now. This should be
10353         cleaned up for 0.11 (#402393).
10354
10355 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10356
10357         reviewed by: Wim Taymans <wim@fluendo.com>
10358
10359         * docs/libs/gstreamer-libs-sections.txt:
10360         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10361         (unref_data), (gst_collect_pads_add_pad),
10362         (gst_collect_pads_add_pad_full):
10363         * libs/gst/base/gstcollectpads.h:
10364         API: Add function to specify a destroy notification for custom
10365         GstCollectData when adding new pads in GstCollectPads (#402393).
10366
10367 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10368
10369         * po/sv.po:
10370           Update Swedish translation (#378255).
10371
10372 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10373
10374         * docs/design/draft-klass.txt:
10375           Fix the previous change, this is a list of categories and not a hierarchy.
10376
10377 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10378
10379         * docs/design/draft-klass.txt:
10380           Add info about how to get a list of used classes.
10381
10382 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10383
10384         * plugins/elements/gsttypefindelement.c:
10385         (gst_type_find_element_chain_do_typefinding),
10386         (gst_type_find_element_change_state):
10387           Don't leak found caps in chain function (no idea why that never
10388           showed up as a leak anywhere).
10389
10390 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10391
10392         * gst/gstplugin.h:
10393           Fix and expand GstPluginDesc API docs.
10394
10395 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10396
10397         * gst/gstcaps.c:
10398         * gst/gstelementfactory.c:
10399         * gst/gstpadtemplate.h:
10400           api doc fixes
10401
10402         * libs/gst/controller/gstcontroller.c:
10403         (gst_controlled_property_new):
10404         * tests/examples/controller/audio-example.c:
10405           comment fixes
10406
10407 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10408
10409         * configure.ac:
10410           comment about refining the xml deps
10411
10412         * docs/manuals.mak:
10413           comments about moving away from jade for docs
10414         
10415         * gst/gst.c:
10416           recommit the ifdefs to use the binary registry
10417         
10418         * gst/gstbin.c: (gst_bin_change_state_func):
10419           this break is obsolete
10420
10421         * gst/gstelementfactory.h:
10422           better GST_ELEMENT_DETAILS docs, add comment about translation
10423
10424         * gst/gstinfo.h:
10425           remove eol slash
10426
10427         * gst/gstobject.c: (gst_signal_object_get_type):
10428           add G_UNLIKELY as usual
10429
10430         * gst/gstpad.c: (gst_pad_event_default):
10431           add fall trhu comment
10432
10433         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10434         (gst_registry_binary_initialize_magic),
10435         (gst_registry_binary_save_string),
10436         (gst_registry_binary_save_pad_template),
10437         (gst_registry_binary_save_feature),
10438         (gst_registry_binary_save_plugin),
10439         (gst_registry_binary_write_cache),
10440         (gst_registry_binary_check_magic),
10441         (gst_registry_binary_load_pad_template),
10442         (gst_registry_binary_load_feature),
10443         (gst_registry_binary_load_plugin),
10444         (gst_registry_binary_read_cache):
10445           comment typo and formatting
10446
10447         * gst/gstutils.c: (gst_element_state_get_name),
10448         (gst_element_state_change_return_get_name):
10449           remove obsolete breaks
10450
10451         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10452           add FIXME 0.11 and remove cpp comment
10453
10454 2007-01-29  Edward Hervey  <edward@fluendo.com>
10455
10456         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10457         Fix print statement in an even more portable way.
10458
10459 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10460
10461         * docs/gst/gstreamer-sections.txt:
10462         * gst/gstutils.h:
10463           API: add GST_ROUND_DOWN_* macros (#401781).
10464
10465 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10466
10467         * docs/gst/gstreamer.types.in:
10468         * gst/gstregistry.c: (gst_registry_class_init):
10469           Document registry signals and make gtk-doc pick them up (#401381).
10470
10471 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10472
10473         * docs/pwg/building-testapp.xml:
10474           Add some audioconverts and audioresample to the pipeline, and some
10475           more comments and error handling.
10476
10477 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10478
10479         * docs/manual/manual.xml:
10480         * docs/pwg/pwg.xml:
10481           Fix typo (#400987).
10482
10483 2007-01-26  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/gstcaps.c: (gst_static_caps_get):
10486         Init caps flags too.
10487
10488 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10489
10490         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10491
10492         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10493         If not using mmap'ed files try to seek to the end instead of the
10494         start to determine whether we can seek at all. This fixes the case
10495         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10496         seeks for everything afterwards fail. Fixes #400656
10497
10498 2007-01-25  Wim Taymans  <wim@fluendo.com>
10499
10500         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10501         Add some refcount debugging.
10502         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10503         in multiple streaming threads.
10504
10505 2007-01-25  Wim Taymans  <wim@fluendo.com>
10506
10507         Patch by: David Schleef <ds at schleef dot org>
10508
10509         * docs/libs/gstreamer-libs-sections.txt:
10510         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10511         * libs/gst/base/gstadapter.h:
10512         API: gst_adapter_copy() that can reduce the amount of memcpy when
10513         getting data from the adapter. Fixes #388201.
10514
10515 2007-01-25  Edward Hervey  <edward@fluendo.com>
10516
10517         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10518         In print statements, "%x" is for guint. Fixes build on macosx.
10519
10520 2007-01-24  Edward Hervey  <edward@fluendo.com>
10521
10522         * plugins/elements/gstmultiqueue.c:
10523         (gst_multi_queue_loop):
10524         Small fix.
10525         (single_queue_overrun_cb), (single_queue_underrun_cb),
10526         (single_queue_check_full), (gst_single_queue_new):
10527         Implement single queue growth system.
10528         This uses the extra-size properties, and will grow single queues by
10529         that much if one goes full whereas there are others empty. This is
10530         called extra-mode in the code.
10531         When a single queue's levels go back below the initial max-size
10532         limits, it is no longer in extra-mode. This is to ensure we don't
10533         consume too much memory.
10534         Fixes #399875
10535
10536 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10537
10538         * gst/gst.c: (gst_init_get_option_group):
10539           Make warning about late g_thread_init() calls a bit more explicit,
10540           so that it's more obvious to application developers what they need
10541           to do if a user files a bug against their application.
10542
10543 2007-01-22  Edward Hervey  <edward@fluendo.com>
10544
10545         * plugins/elements/gstmultiqueue.c:
10546         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10547         Remove previous hack of unsetting the flushing flag for the source pad
10548         instead of activating it. Instead, fix the source pad activate function
10549         so that it no longer depends on having a parent set or not.
10550
10551 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10552
10553         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10554
10555         * docs/manual/basics-bus.xml:
10556           Fix example code, gst_element_unref() doesn't exist any longer.
10557
10558 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10559
10560         Patch by: Mark Nauwelaerts <manauw at skynet be>
10561
10562         * gst/gstpad.c:
10563           Fix two docs typoes (#399094).
10564
10565 2007-01-19  Edward Hervey  <edward@fluendo.com>
10566
10567         * docs/faq/gst-uninstalled:
10568         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10569         depending on libgstbaseutils can work in uninstalled environment.
10570
10571 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10572
10573         * gst/gsttaglist.h:
10574         * gst/gsttagsetter.c:
10575         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10576         statement for new tag.
10577
10578 2007-01-17  Edward Hervey  <edward@fluendo.com>
10579
10580         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10581         When dynamically creating single queues, activate sinkpad before adding
10582         it.
10583         We should be doing the same thing for the source pad, but we can't
10584         since it would call a method which needs the parent to be set in order
10585         to work propertly. Instead of activating the source pad, we just unset
10586         the flushing flag, which is the minimal requirement for adding a pad
10587         to an element in a state greater than READY.
10588
10589 2007-01-17  Edward Hervey  <edward@fluendo.com>
10590
10591         * docs/faq/gst-uninstalled:
10592         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10593         Mac OS X.
10594
10595 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10596
10597         * tests/check/gst/gstabi.c:
10598         * tests/check/gst/struct_hppa.h:
10599         * tests/check/libs/libsabi.c:
10600         * tests/check/libs/struct_hppa.h:
10601           Add ABI structs for HPPA (see #393796).
10602
10603 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10604
10605         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10606           Actually write ABI structs to the file specified in the GST_ABI
10607           environment variable, as the message we print claims we would.
10608
10609 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10610
10611         * tests/check/gst/gsttask.c:
10612           Fix header comment.
10613
10614 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10615
10616         * gst/gsttaglist.c: (_gst_tag_initialize):
10617           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10618           previous two entries.
10619
10620 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10621
10622         * docs/gst/gstreamer-sections.txt:
10623         * gst/gsttaglist.c: (_gst_tag_initialize):
10624         * gst/gsttaglist.h:
10625           Add tag support for beat-per-minute.
10626
10627 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10628
10629         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10630         (gst_registry_binary_initialize_magic),
10631         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10632         (gst_registry_binary_save_pad_template),
10633         (gst_registry_binary_save_feature),
10634         (gst_registry_binary_save_plugin),
10635         (gst_registry_binary_write_cache),
10636         (gst_registry_binary_check_magic),
10637         (gst_registry_binary_load_pad_template),
10638         (gst_registry_binary_load_feature),
10639         (gst_registry_binary_load_plugin),
10640         (gst_registry_binary_read_cache):
10641         * gst/gstregistrybinary.h:
10642           Use glib types, cleanup comments, impement interfaces and uri-types.
10643
10644 2007-01-13  Andy Wingo  <wingo@pobox.com>
10645
10646         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10647         getrange() to return buffers with other caps, while we fix
10648         demuxers and typefind, or otherwise change part-negotiation.txt.
10649
10650 2007-01-12  Andy Wingo  <wingo@pobox.com>
10651
10652         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10653         Factor start/stop into this private function instead of partially
10654         in activate functions and partially in the change_state function.
10655         Fixes setup before the element has changed from READY->PAUSED, as
10656         is the case in pull-mode pipelines.
10657         (gst_base_transform_sink_activate_push)
10658         (gst_base_transform_src_activate_pull): Refactor to use
10659         gst_base_transform_activate().
10660         (gst_base_transform_change_state): Removed, not needed any more.
10661
10662         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10663         Truncate before fixating.
10664         
10665         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10666         Don't set_caps() if the result of fixating is ANY, as it's not
10667         supported, and not necessary in the case of a link with no
10668         template caps on either side. Fixes tests/check/libs/basesrc in
10669         some pull-mode tests.
10670
10671         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10672         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10673         (gst_base_transform_src_activate_pull): 
10674         Track the activation mode.
10675         (gst_base_transform_setcaps): In pull mode, when activating the
10676         src pad, after activating the sink pad, activate the sink pad's
10677         peer, as discussed in part-negotiation.txt.
10678
10679         * libs/gst/base/gstbasesrc.h: 
10680         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10681         vmethod, as in basesink.
10682
10683         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10684
10685         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10686         mode, first proxy the setcaps to the peer pad.
10687         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10688         new fixate vmethod.
10689         (gst_base_sink_default_activate_pull): Rename from
10690         gst_base_sink_activate_pull.
10691         (gst_base_sink_negotiate_pull): New function, performs negotiation
10692         in pull mode before calling ::activate_pull().
10693         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10694         vmethod instead of the default implementation. I have no idea how
10695         this worked before. Negotiate before calling activate_pull.
10696
10697         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10698         sink pads in pull mode. In addition to being correct, fixes
10699         filesrc ! decodebin ! identity ! fakesink.
10700         (gst_pad_get_range, gst_pad_pull_range): Don't call
10701         gst_pad_set_caps() if the caps changes; instead error out with
10702         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10703
10704 2007-01-12  Andy Wingo  <wingo@pobox.com>
10705
10706         * docs/design/part-negotiation.txt: Update with more policy.
10707
10708 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10709
10710         * libs/gst/check/gstbufferstraw.h:
10711         * libs/gst/check/gstcheck.h:
10712           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10713           belongs.
10714
10715 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10716
10717         * tests/check/Makefile.am:
10718         * tests/check/gst/.cvsignore:
10719         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10720         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10721         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10722         (GST_START_TEST), (gst_tag_setter_suite):
10723           Add minimal unit test for beforementioned GstTagSetter bug.
10724
10725 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10726
10727         Patch by: René Stadler <mail at renestadler dot de>
10728
10729         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10730           gst_tag_list_merge() returns a new list, so it's not the best idea
10731           to ingore its return value. Effectively meant that tags could only
10732           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10733           Also add function guard to require a non-NULL taglist as input (has
10734           always been so due to gst_tag_list_copy(), just making it explicit).
10735
10736 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10737
10738         * docs/random/draft-missing-plugins.txt:
10739           Some additions: mention new API that is supposed to be used at the
10740           various stages; short blob about new gst-inspect introspection
10741           option; mention potential future problem with plugins that have
10742           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10743
10744 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10745
10746         * tools/gst-inspect.c:
10747         (print_plugin_automatic_install_info_codecs),
10748         (print_plugin_automatic_install_info_protocols),
10749         (print_plugin_automatic_install_info), (main):
10750         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10751         introspect plugin files and get machine-parsable output that corresponds
10752         to the last bit of the missing-plugin installer string (small gotcha:
10753         doesn't take into account ranks).
10754
10755 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10756
10757         * configure.ac:
10758         * docs/gst/gstreamer-sections.txt:
10759         * gst/Makefile.am:
10760         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10761         (gst_registry_lookup_locked):
10762         * gst/gstregistry.h:
10763         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10764         (gst_registry_binary_initialize_magic),
10765         (gst_registry_binary_save_string),
10766         (gst_registry_binary_save_pad_template),
10767         (gst_registry_binary_save_feature),
10768         (gst_registry_binary_save_plugin),
10769         (gst_registry_binary_write_cache),
10770         (gst_registry_binary_check_magic),
10771         (gst_registry_binary_load_pad_template),
10772         (gst_registry_binary_load_feature),
10773         (gst_registry_binary_load_plugin),
10774         (gst_registry_binary_read_cache):
10775         * gst/gstregistrybinary.h:
10776         * gst/gstregistryxml.c: (load_feature),
10777         (gst_registry_xml_read_cache):
10778           commit binary registry (disabled by default, see #359653)
10779
10780 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10781
10782         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10783           Fix 'make check' too.
10784
10785 2007-01-10  Andy Wingo  <wingo@pobox.com>
10786
10787         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10788         notes.
10789         
10790         * docs/design/part-negotiation.txt: Update with, um, one way that
10791         pull-mode negotiation might work?
10792
10793         * gst/gstpad.h: 
10794         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10795         that the pad must be a src pad; makes sense to call it the other
10796         way in pull mode, and the logic is symmetric anyway.
10797
10798 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10799
10800         * plugins/elements/gstfilesink.c:
10801           Include <stdio.h> for fseeko().
10802
10803 2007-01-10  Wim Taymans  <wim@fluendo.com>
10804
10805         * gst/gstevent.c:
10806         * gst/gstevent.h:
10807         Reserve LATENCY event.
10808
10809 2007-01-09  Wim Taymans  <wim@fluendo.com>
10810
10811         * docs/design/draft-latency.txt:
10812         Updates.
10813
10814 2007-01-09  Wim Taymans  <wim@fluendo.com>
10815
10816         * docs/design/draft-latency.txt:
10817         Updates.
10818
10819         * gst/gstelement.h:
10820         * gst/gststructure.c:
10821         * gst/gsttrace.c:
10822         Small typo fixes.
10823
10824 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10825
10826         * tests/check/.cvsignore:
10827           Ignore test-registry.xml as well.
10828
10829 2007-01-09  Wim Taymans  <wim@fluendo.com>
10830
10831         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10832         unref data at the end when we are done with the pad.
10833
10834 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10835
10836         * docs/gst/gstreamer-sections.txt:
10837         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10838         (init_post), (gst_deinit), (gst_update_registry):
10839         * gst/gst.h:
10840           API: add gst_update_registry() (#391296).
10841
10842         * tests/check/Makefile.am:
10843         * tests/check/gst/gstregistry.c:
10844         * tests/check/gst/.cvsignore:
10845           Simple unit test for the above.
10846
10847 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10848
10849         * gst/gstregistry.c: (gst_registry_scan_path_level):
10850           Plugin extension on HP-UX is .sl, add that to the list of approved
10851           plugin extensions (see #393796).
10852
10853         * tests/check/gst/gstpad.c: (GST_START_TEST):
10854           ulong => gulong. Fixes compilation with HP-UX compiler.
10855
10856         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10857           Fix compilation if valgrind headers are not available.
10858
10859 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10860
10861         * win32/common/libgstreamer.def: 
10862           Add new exported function.
10863         * win32/vs6/libgstbase.dsp: 
10864           Add gstdataqueue.c to the build.
10865         * win32/vs6/libgstcoreelements.dsp:
10866           Add gstmultiqueue.c to the build.
10867         
10868 2007-01-06  Andy Wingo  <wingo@pobox.com>
10869
10870         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10871         activate_pull(), providing for a way to specialize the process of
10872         spawning a thread to pull on the sink pad. There is a default
10873         implementation.
10874
10875         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10876         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10877         (gst_base_sink_init): Renamed pad activation functions (inserting
10878         "_pad" in their names). Refactor to use the new activate_pull
10879         vmethod, as appropriate.
10880         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10881         default activate_pull function to start a task pulling from the
10882         sink pad, as before.
10883
10884         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10885         on the pads if necessary, as in push()/chain(). Update docs.
10886         Shouldn't affect existing pull() usage as it is currently only
10887         being used on buffers without caps.
10888
10889 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10890
10891         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10892         (init_pre):
10893           Call g_thread_init() first thing in gst_init() / gst_check_init().
10894           When initialisation is done via gst_init_get_option_group() and
10895           GOption parsing, issue a warning if the GLib thread system has not
10896           been initialised yet by the time gst_init_get_option_group() is
10897           called, as it's quite likely other GLib functions such as
10898           g_option_context_new() have been called already then, and
10899           g_thread_init() must be called before any other GLib function. The
10900           application in question must be fixed in that case, since memory
10901           corruption might happen otherwise.
10902           We issue the warning because even if the GLib folks decide to work
10903           around the problem on their end in future, this is still an issue
10904           with all GLib versions >= 2.10.0, so we should warn until we depend
10905           on a GLib version we know to be safe.
10906           Update documentation as well.
10907           Closes bug #391278.
10908
10909 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10910
10911         * tools/gst-inspect.c: (main):
10912         * tools/gst-launch.c: (main):
10913         * tools/gst-typefind.c: (main):
10914         * tools/gst-xmlinspect.c: (main):
10915           Call g_thread_init() really really early, before any other GLib
10916           function (see #342564 and recent discussion on gtk-devel-list).
10917
10918 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10919
10920         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10921
10922         * gst/gst_private.h:
10923         * gst/gstconfig.h.in:
10924         * gst/gstinfo.h:
10925           On win32, all the __declspec stuff for symbol exporting is
10926           apparently only needed with MSVC, but doesn't work with MingW.
10927           Fixes compilation with MingW and #391909.
10928
10929 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10930
10931         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10932           Change some GST_ERROR_OBJECT that aren't really errors to
10933           GST_WARNING_OBJECT in order to reduce terminal spam.
10934
10935 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10936
10937         * tests/check/Makefile.am:
10938           disable test again, as there seem to be still race problems
10939
10940 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10941
10942         * tests/check/Makefile.am:
10943         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10944         (GST_START_TEST), (queue_suite):
10945           enable queue test again, add tests for the leaky behaviour
10946
10947 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10948
10949         * configure.ac:
10950         * tests/examples/Makefile.am:
10951           Compile adapter test/example only if the required headers are
10952           available (fixes #391915).
10953
10954 2007-01-01  David Schleef  <ds@schleef.org>
10955
10956         * gst/gstplugin.c:
10957           Restore the previous signal handler for SIGSEGV instead of
10958           setting to default, since we may have stolen it away from
10959           someone.  (i.e., Mono)
10960
10961 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10962
10963         * docs/random/draft-missing-plugins.txt:
10964           Some small additions and clarifications.
10965
10966 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10967
10968         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10969           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10970           since that can lead to random memory corruptions and crashes
10971           (may or may not be related to #383244, #386711, and #386711).
10972
10973 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10974
10975         * tests/check/.cvsignore:
10976         * tests/check/Makefile.am:
10977           sync .cvsignome and CLEANFILES
10978
10979 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10980
10981         * tests/check/Makefile.am:
10982           fix distcheck
10983
10984 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10985
10986         * docs/design/part-states.txt:
10987           two tiny additional comments
10988         
10989         * gst/gststructure.c:
10990           doc fixing
10991
10992         * tests/check/Makefile.am:
10993         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10994         (GST_START_TEST):
10995           disable test for now, unless it gets fixed
10996
10997 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10998
10999         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11000         (GST_START_TEST):
11001           fix race in underrun test
11002
11003 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11004
11005         * tests/check/elements/.cvsignore:
11006           ignore more
11007
11008         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11009         (GST_START_TEST):
11010           try to narrow test failure
11011
11012 2006-12-21  David Schleef  <ds@schleef.org>
11013
11014         * plugins/elements/gstfakesrc.c:
11015           Use g_random_int_range(), since it produces better random
11016           numbers in a range than almost-correct floating point code.
11017
11018 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11019
11020         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11021         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11022         (gst_check_teardown_sink_pad):
11023           do not automatically (de)activate pads
11024
11025         * tests/check/Makefile.am:
11026         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11027         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11028           add new, yet simple tests for queue
11029
11030         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11031         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11032         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11033         (GST_START_TEST):
11034         * tests/check/elements/identity.c: (cleanup_identity):
11035           consistent pad (de)activation
11036
11037 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11038
11039         Patch by: Sebastian Dröge  <slomo ubuntu com>
11040
11041         * libs/gst/base/gstcollectpads.c:
11042           Fix two doc typos (#387866).
11043
11044 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11045
11046         * docs/manual/advanced-dparams.xml:
11047           Fix typo (g_object_control_properties() doesn't exist).
11048
11049 2006-12-19  Edward Hervey  <edward@fluendo.com>
11050
11051         * gst/gstsegment.c: (gst_segment_set_seek):
11052         Fine tune the cases where the segment start/stop values are really
11053         updated.
11054         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11055         Add tests for the return values of gst_segment_set_seek().
11056
11057 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11058
11059         * gst/gst.c:
11060           Docs typo fix.
11061
11062         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11063         (gst_queue_init):
11064           Fix incorrect documentation and flesh it out a bit more.
11065           Set default values for the max properties on the GParamSpec as well,
11066           so it shows up correctly in gst-inspect.
11067
11068 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11069
11070         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11071           Correct docs of queue, add more detail and crosslink it more.
11072
11073 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11074
11075         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11076           Print additional debug info when the stream isn't perfectly
11077           timestamped; don't try to use invalid durations.
11078
11079 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11080
11081         * docs/design/Makefile.am:
11082           Dist new design docs.
11083
11084 2006-12-16  Wim Taymans  <wim@fluendo.com>
11085
11086         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11087
11088         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11089         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11090         (gst_collect_pads_stop), (gst_collect_pads_event),
11091         (gst_collect_pads_chain):
11092         * libs/gst/base/gstcollectpads.h:
11093         Add refcounting to the collectpads data so we can track when it's safe
11094         to free the data. Fixes #383382.
11095
11096 2006-12-15  Wim Taymans  <wim@fluendo.com>
11097
11098         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11099         (gst_collect_pads_remove_pad):
11100         Automatically activate/deactivate pads when they are added to a
11101         started/stoped collectpads.
11102
11103 2006-12-15  Wim Taymans  <wim@fluendo.com>
11104
11105         * gst/gstelement.c: (gst_element_add_pad):
11106         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11107         * gst/gstpad.c: (gst_pad_init):
11108         Set pads to FLUSHING when they are created. Check, warn and fix when a
11109         demuxer adds an inactive pad to itself when running. Fixes #339326.
11110
11111 2006-12-15  Wim Taymans  <wim@fluendo.com>
11112
11113         * gst/gstelement.c: (gst_element_class_init),
11114         (gst_element_default_send_event), (gst_element_send_event),
11115         (gst_element_default_query), (gst_element_query):
11116         Expose default element send_event and query handling as vmethods that
11117         subclasses can chain up to.
11118
11119 2006-12-15  Wim Taymans  <wim@fluendo.com>
11120
11121         * gst/gstelement.c: (gst_element_set_state_func):
11122         Small documentation fixes.
11123
11124 2006-12-15  Wim Taymans  <wim@fluendo.com>
11125
11126         * docs/design/draft-latency.txt:
11127         Checked in draft for handling latency in pipelines.
11128
11129 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11130
11131         * Makefile.am:
11132         * gstreamer.doap:
11133         * gstreamer.spec.in:
11134           adding .doap file
11135
11136 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11137
11138         * gst/gst.c: (init_pre), (init_post):
11139           init_pre() and init_post() might be called via our GOptionGroup or
11140           from gst_init(), and we should skip both of them if we've already
11141           been initialised, otherwise we will init some things twice or add
11142           two default log functions.
11143
11144 2006-12-13  Edward Hervey  <edward@fluendo.com>
11145
11146         * docs/manual/basics-bus.xml:
11147         No, gst_main_loop does not exist. Its g_main_loop.
11148         Discovered by somebody who abused the copy-paste technique of coding :)
11149
11150 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11151
11152         * gst/gstghostpad.c:
11153           Log ghostpad debug stuff to the GST_PADS category as well rather
11154           than just to the default category.
11155
11156 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11157
11158         * configure.ac:
11159         * gst/gst.c: (init_pre):
11160           Add some basic system details such as OS and architecture
11161           to the debug output if possible, courtesy of uname().
11162
11163 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11164
11165         * docs/gst/running.xml:
11166           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11167           environment variables.
11168
11169 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11170
11171         * tests/check/gst/gstbin.c: (GST_START_TEST):
11172         It is acceptable to have a refcount of 2 or 3 at this point in the
11173         test, because the pipeline might be just posting its state_change
11174         message. The next line then waits for that message to appear using
11175         bus_poll, so that should be fine too.
11176
11177 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11178
11179         * gst/gst.c: (ensure_current_registry_forking):
11180         Ignore EINTR when reading from the child registry pipe.
11181         Explicitly ignore the return value from close, since it makes no
11182         difference.
11183
11184         * gst/gstminiobject.c: (gst_mini_object_ref),
11185         (gst_mini_object_unref):
11186         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11187
11188         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11189         When removing cached plugins, remove their features too, so they're
11190         not visible after they've disappeared.
11191
11192         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11193         In the unlikely case that we are linking pads with no parents, don't
11194         crash trying to get the non-existent parent bin.
11195
11196         * gst/parse/grammar.y:
11197         Output debug in the PIPELINE category
11198
11199 2005-03-08  Wim Taymans  <wim@fluendo.com>
11200
11201         Patch by: René Stadler <mail at renestadler dot de>
11202
11203         * gst/gstclock.c: (gst_clock_new_periodic_id):
11204         Reject invalid clock times for interval of periodic ids.
11205         Fixes ##383506.
11206
11207 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11208
11209         * gst/gstelementfactory.c: (gst_element_factory_create):
11210         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11211         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11212         * tools/gst-inspect.c: (print_element_info):
11213         Fix refcounting of gst_plugin_feature_load to match the docs. 
11214         Fixes: #380129
11215
11216 2006-12-07  Wim Taymans  <wim@fluendo.com>
11217
11218         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11219         (gst_base_sink_get_position):
11220         Improve debugging of events.
11221
11222 2006-12-07  Wim Taymans  <wim@fluendo.com>
11223
11224         Patch by: René Stadler <mail at renestadler dot de>
11225
11226         * gst/gstclock.c: (gst_clock_id_wait):
11227         Make period ids add the interval to the origial requested time instead
11228         of the possibly updated time which can be wrong when there are multiple
11229         waiters for the same id. Fixes #382592.
11230
11231         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11232         (gst_system_clock_id_wait_jitter_unlocked),
11233         (gst_system_clock_id_wait_jitter):
11234         Fix restart in the async notify thread when an async entry is added to
11235         the front of the list. Fixes #381492. 
11236
11237         * tests/check/gst/gstsystemclock.c: (store_callback),
11238         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11239         Added test for multiple async waits.
11240         Added test for async wait order.
11241
11242 2006-12-07  Wim Taymans  <wim@fluendo.com>
11243
11244         * gst/gstbin.c: (gst_bin_query):
11245         Add some more docs about the POSITION query.
11246
11247 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11248
11249         * configure.ac:
11250         Bump version nano - back to CVS.
11251
11252 === release 0.10.11 ===
11253
11254 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11255
11256         * configure.ac:
11257           releasing 0.10.11, "Love never runs on time"
11258
11259 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11260
11261         * win32/common/libgstbase.def:
11262         * win32/common/libgstreamer.def:
11263         * win32/vs8/libgstbase.vcproj:
11264         * win32/vs8/libgstcoreelements.vcproj:
11265         * win32/vs8/libgstreamer.vcproj:
11266         Fix compilation on win32 under VS8
11267         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11268         Partially fixes #381175
11269
11270 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11271
11272         * gst/gstvalue.c: (gst_value_compare_fraction):
11273         If someone is foolish enough to compare 2 fractions with denominator =
11274         0, return UNORDERED rather than aborting.
11275
11276 2006-11-28  Edward Hervey  <edward@fluendo.com>
11277
11278         * libs/gst/base/Makefile.am:
11279         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11280         (gst_data_queue_base_init), (gst_data_queue_class_init),
11281         (gst_data_queue_init), (gst_data_queue_new),
11282         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11283         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11284         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11285         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11286         (gst_data_queue_set_flushing), (gst_data_queue_push),
11287         (gst_data_queue_pop), (gst_data_queue_drop_head),
11288         (gst_data_queue_set_property), (gst_data_queue_get_property):
11289         * libs/gst/base/gstdataqueue.h:
11290         New GstDataQueue object for threadsafe queueing. Most useful for
11291         elements that need some queueing functionnality.
11292         * docs/libs/gstreamer-libs-docs.sgml:
11293         * docs/libs/gstreamer-libs-sections.txt:
11294         Insert documentation for GstDataQueue
11295         * plugins/elements/Makefile.am:
11296         * plugins/elements/gstelements.c:
11297         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11298         (gst_multi_queue_class_init), (gst_multi_queue_init),
11299         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11300         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11301         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11302         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11303         (gst_multi_queue_loop), (gst_multi_queue_chain),
11304         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11305         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11306         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11307         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11308         (wake_up_next_non_linked), (compute_next_non_linked),
11309         (single_queue_overrun_cb), (single_queue_underrun_cb),
11310         (single_queue_check_full), (gst_single_queue_new):
11311         * plugins/elements/gstmultiqueue.h:
11312         New multiqueue element, using GstDataQueue. Used for queuing multiple
11313         streams.
11314         Closes #344639 and #347785
11315
11316 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11317
11318         * docs/pwg/advanced-types.xml:
11319           add more missing type details
11320
11321         * tools/gst-run.c: (main):
11322           remove unused variable
11323
11324 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11325
11326         * docs/libs/Makefile.am:
11327         * docs/libs/gstreamer-libs.types:
11328           add types of base classes to enable gobject specific stuff in the docs
11329
11330         * docs/random/ensonic/embedded.txt:
11331           more ideas about isolating platform specific things
11332
11333 2006-11-20  Wim Taymans  <wim@fluendo.com>
11334
11335         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11336
11337         * libs/gst/check/gstcheck.h:
11338         Fix compilation and running against 0.9.4. Fixes #377332.
11339
11340 2006-11-20  Wim Taymans  <wim@fluendo.com>
11341
11342         * gst/gstsegment.c: (gst_segment_set_seek),
11343         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11344         (gst_segment_to_running_time):
11345         Fix boundary checking in to_running_time() and to_stream_time().
11346         Fixes #377183.
11347
11348         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11349         stream and running time can now be calculated for the complete
11350         clipped segment.
11351
11352 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11353
11354         * gst/gstpad.c: (gst_pad_push_event):
11355           Can't access event structure after giving away ownership of
11356           the event.
11357
11358 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11359
11360         * docs/random/ensonic/embedded.txt:
11361         * docs/random/ensonic/profiling.txt:
11362         * docs/random/ensonic/receipies.txt:
11363           more thinking
11364
11365 2006-11-13  Wim Taymans  <wim@fluendo.com>
11366
11367         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11368
11369         * gst/gstpad.c:
11370         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11371
11372 2006-11-13  Wim Taymans  <wim@fluendo.com>
11373
11374         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11375
11376         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11377         Store new length in segment duration so we don't keep on calling the
11378         potentially expensize get_size() call. Fixes #370865.
11379
11380 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11381
11382         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11383
11384         * win32/common/libgstreamer.def:
11385           Add two missing symbols (#366492).
11386
11387 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11388
11389         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11390         (gst_adapter_take_buffer):
11391         Fix format string to use all its arguments.
11392         Remove useless >= check on a guint
11393
11394 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11395
11396         * tests/examples/adapter/.cvsignore:
11397         Ignore build file as commanded by the build-bot
11398
11399 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11400
11401         * tests/examples/adapter/Makefile.am:
11402         * tests/examples/adapter/adapter_test.c: (run_test_take),
11403         (run_test_take_buffer), (run_tests), (main):
11404
11405         Add new files from the previous commit
11406
11407 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11408
11409         * Makefile.am:
11410         * configure.ac:
11411         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11412         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11413         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11414         * libs/gst/base/gstadapter.h:
11415         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11416         (GST_START_TEST), (gst_adapter_suite):
11417         * tests/examples/Makefile.am:
11418         Do some optimisation work in GstAdapter to avoid copies in more cases.
11419         It could still do slightly better by merging buffers when
11420         gst_buffer_is_span_fast is true, but is already faster. 
11421
11422         Also, avoid traversing a single-linked list to append each incoming 
11423         buffer inside the adapter.
11424
11425         Add simple test app that times the adapter behaviour in different
11426         situations, and extend the unit test to check that bytes enter and
11427         exit the adapter in their original order.
11428
11429 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11430
11431         * docs/random/draft-missing-plugins.txt:
11432           Update: use element message instead of adding a new message
11433           type to the core; don't provide GStreamer API to initiate the
11434           plugin download, just provide API to compose the strings needed
11435           and let an external libgimmestuff handle the rest.
11436
11437 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11438
11439         * tools/gst-inspect.c: (print_element_properties_info):
11440         Print a string instead of 'unknown type' for GValueArray properties
11441
11442 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11443
11444         * docs/random/draft-missing-plugins.txt:
11445         More small fixes.
11446
11447 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11448
11449         * tests/examples/typefind/typefind.c: (type_found), (main):
11450           Make typefind element example work again (#371894); add a
11451           license header.
11452
11453 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11454
11455         * docs/random/draft-missing-plugins.txt:
11456           Commit initial draft about how to deal with missing plugins,
11457           needs work (API too).
11458
11459 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11460
11461         * docs/pwg/advanced-types.xml:
11462           documents the new caps elements (see #363118)
11463
11464 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11465
11466         * gst/gstplugin.c: (gst_plugin_load_file):
11467         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11468         (gst_file_src_map_region), (gst_file_src_start):
11469         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11470         (gst_file_index_commit):
11471           Use g_strerror() instead of strerror() - we want UTF-8.
11472
11473 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11474
11475         Patch by: Peter Kjellerstedt <pkj at axis com>
11476
11477         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11478           Another printf fix (#371493).
11479
11480 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11481
11482         * tests/check/gst/gsttag.c:
11483           relicence (okay with author=company)
11484
11485 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11486
11487         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11488         (gst_pad_push_event):
11489           Enhance debug and improve docs
11490         
11491         * gst/gsturi.c:
11492           Fix docs
11493
11494 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11495
11496         * docs/random/ensonic/distributed.txt:
11497         * docs/random/ensonic/profiling.txt:
11498           more ideas
11499
11500 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11501
11502         * docs/gst/gstreamer-sections.txt:
11503           add new API and fix the build
11504           
11505         * gst/gstbin.c: (gst_bin_recalc_state):
11506         * gst/gstelement.c: (gst_element_message_full),
11507         (gst_element_get_state_func), (gst_element_set_state_func):
11508           use new API and improve logging
11509         
11510         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11511         * gst/gstutils.h:
11512           API: add function to get StateChangereturn names to improve logs 
11513
11514 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11515
11516         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11517           I'm considering shooting the next person to put strerror stuff
11518           in the translateable part of the message.
11519
11520 2006-11-03  Wim Taymans  <wim@fluendo.com>
11521
11522         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11523         Get the type and printf conversion specifiers right.
11524
11525 2006-11-03  Wim Taymans  <wim@fluendo.com>
11526
11527         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11528
11529         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11530         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11531         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11532         Some small cleanups. Improve debugging.
11533         * gst/gstpad.h:
11534         Signal all waiting threads with a broadcast instead of just one.
11535         Fixes #369942.
11536
11537 2006-11-03  Wim Taymans  <wim@fluendo.com>
11538
11539         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11540         (gst_fd_src_create):
11541         Add some debugging. 
11542         Only update fd when it's different from the old.
11543
11544 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11545
11546         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11547           Printf fixes for PPC/OSX, take two (#369366).
11548
11549 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11550
11551         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11552
11553         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11554         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11555         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11556           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11557           don't cast to long long for portability reasons, but use
11558           GLib's types instead.
11559
11560 2006-10-30  Michael Smith  <msmith@fluendo.com>
11561
11562         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11563           Get the arguments to lseek() the right way around.
11564           Fixes 367677.
11565
11566 2006-10-30  Wim Taymans  <wim@fluendo.com>
11567
11568         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11569
11570         * gst/gstinfo.h:
11571         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11572
11573 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11574
11575         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11576
11577         * docs/design/part-MT-refcounting.txt:
11578         * docs/random/wtay/capsnego2-docs:
11579         * gst/gstclock.c:
11580         * gst/gstxml.c:
11581           Typo fixes (#366212).
11582
11583 2006-10-28  Wim Taymans  <wim@fluendo.com>
11584
11585         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11586
11587         * gst/gst.c:
11588         * win32/common/libgstbase.def:
11589         * win32/common/libgstreamer.def:
11590         * win32/vs8/libgstbase.vcproj:
11591         * win32/vs8/libgstcontroller.vcproj:
11592         Add needed entries in .def files.
11593         Use HAVE_UNISTD_H.
11594         Rearrange def files in vs8 solutions. Fixes #366286.
11595
11596 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11597
11598         * win32/common/gstconfig.h:
11599           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11600           hand-made win32 gstconfig.h. Fixes #366321.
11601
11602 2006-10-27  Wim Taymans  <wim@fluendo.com>
11603
11604         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11605         (gst_ghost_pad_new_full):
11606         Make acceptcaps return TRUE when we don't have a target, just like
11607         setcaps does.
11608
11609 2006-10-27  Wim Taymans  <wim@fluendo.com>
11610
11611         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11612         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11613
11614 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11615
11616         * gst/gststructure.c: (gst_structure_id_set_value):
11617           If someone tries to set a non-UTF8 string field on a structure,
11618           don't just print a warning, but also ignore the request and do
11619           not change/add that field to the structure.
11620
11621         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11622           Test for the above.
11623
11624 2006-10-25  David Schleef  <ds@schleef.org>
11625
11626         * gst/gstinfo.c:
11627           g_hash_table_insert() needs a cast to a non-const pointer duh.
11628
11629 2006-10-25  David Schleef  <ds@schleef.org>
11630
11631         * gst/gstinfo.c:
11632         * gst/gstinfo.h:
11633           Change name parameter of _gst_debug_register_funcptr to const
11634           to reflect the constness of its use in the function as well
11635           as to quiet a gcc warning.
11636
11637 2006-10-25  Edward Hervey  <edward@fluendo.com>
11638
11639         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11640         Don't push the buffer if it's empty.
11641         Closes #363095
11642
11643 2006-10-24  Wim Taymans  <wim@fluendo.com>
11644
11645         * gst/gstevent.h:
11646         Add small comment.
11647
11648         * libs/gst/base/gstbasetransform.c:
11649         (gst_base_transform_sink_eventfunc):
11650         Debug segment values *after* updating them as this is more
11651         interesting.
11652
11653 2006-10-23  Wim Taymans  <wim@fluendo.com>
11654
11655         * docs/design/part-events.txt:
11656         Update some docs.
11657
11658         * docs/design/part-block.txt:
11659         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11660         (gst_pad_push_event):
11661         Revert BLOCKING patch, it tries to be smart without really having a
11662         clear idea what or how. So, now we discard all FLUSHING events again on
11663         a blocking pad. Should fix gnonlin again.
11664
11665 2006-10-23  Wim Taymans  <wim@fluendo.com>
11666
11667         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11668
11669         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11670         (gst_base_src_start), (gst_base_src_activate_push):
11671         Make sure size is always initialized. Fixes #364388.
11672
11673 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11674
11675         * docs/random/ensonic/distributed.txt:
11676           add some ideas about doing distributed processing
11677
11678         * docs/random/ensonic/profiling.txt:
11679           get_rusage look promising
11680
11681 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11682
11683         * docs/manual/basics-helloworld.xml:
11684           Add a cast in example to fix compile warning
11685
11686 2006-10-18  Wim Taymans  <wim@fluendo.com>
11687
11688         * gst/gstsegment.c: (gst_segment_set_last_stop),
11689         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11690         Relax arg checking again, -1 is allowed.
11691
11692 2006-10-18  Wim Taymans  <wim@fluendo.com>
11693
11694         * gst/gstsegment.c: (gst_segment_set_last_stop),
11695         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11696         _set_last_stop() must be with a value != -1
11697         A _TYPE_SET to -1 means seek to 0.
11698         Calc last_stop correctly for negative rates.
11699         Make sure we work with positive durations when updating a segment.
11700
11701 2006-10-18  Wim Taymans  <wim@fluendo.com>
11702
11703         * docs/design/part-live-source.txt:
11704         * gst/gstclock.h:
11705         Small docs fixes.
11706
11707 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11708
11709         * gst/gstbuffer.h:
11710           Add an explicit cast to GstBuffer** to keep old code that added an
11711           explicit cast to GstMiniObject** for gst_mini_object_replace()
11712           compiling without warning.
11713
11714 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11715
11716         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11717           check for validity of dates
11718
11719 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11720
11721         * docs/gst/gstreamer-sections.txt:
11722           Forgot this one, makes gtk-doc shut up.
11723
11724 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11725
11726         Patch by: Peter Kjellerstedt <pkj at axis com>
11727
11728         * gst/gstobject.h:
11729           Don't define xmlNodePtr to gpointer if the core was built with
11730           --disable-loadsave and --disable-registry, this will break
11731           applications that want to use libxml2 but are buildling against a
11732           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11733           instead so we don't have to mess with the libxml2 namespace
11734           (#361675).
11735
11736 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11737
11738         * gst/gstbuffer.h:
11739           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11740           type-punned pointer warnings.
11741
11742 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11743
11744         * gst/gstelement.h:
11745           Add casts to the correct return type to state <=> state transition
11746           macros.
11747
11748 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11749
11750         * docs/design/part-live-source.txt:
11751           describe howto handle latency
11752         
11753         * docs/random/ensonic/profiling.txt:
11754           more ideas
11755
11756         * tools/gst-plot-timeline.py:
11757           fix log parsing for solaris, remove unused function
11758
11759 2006-10-16  Wim Taymans  <wim@fluendo.com>
11760
11761         * docs/design/part-trickmodes.txt:
11762         * gst/gstevent.c:
11763         Update some docs regarding reverse playback.
11764
11765 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11766
11767         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11768
11769         * win32/vs8/grammar.vcproj:
11770           Error out with a warning if glib-genmarshal.exe is not in path,
11771           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11772
11773 2006-10-13  Wim Taymans  <wim@fluendo.com>
11774
11775         * gst/gstsegment.c: (gst_segment_set_seek):
11776         When seeking to stop -1, set last_stop (current position) to the
11777         duration of the segment.
11778
11779 2006-10-13  Wim Taymans  <wim@fluendo.com>
11780
11781         * gst/gstelement.h:
11782         Clarify _NO_PREROLL a bit more.
11783
11784         * gst/gstevent.c:
11785         Fix docs.
11786
11787         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11788         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11789         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11790         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11791         due to wrong locking order. Fixes #361769.
11792         Remove some redundant/misplaced checks in pad_block.
11793
11794         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11795         For negative rates, count backwards from the duration.
11796
11797 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11798
11799         * gst/gsterror.c: (_gst_library_errors_init):
11800           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11801           up with something better).
11802
11803 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11804
11805         * win32/vs6/libgstreamer.dsp:
11806         * win32/vs7/libgstreamer.vcproj:
11807         * win32/vs8/libgstreamer.vcproj:
11808           Don't reference glib-compat.c which is currently not used and not
11809           disted; add gstquark.c which was recently added. Fixes #361730.
11810
11811 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11812
11813         * win32/common/libgstbase.def:
11814         * win32/common/libgstcontroller.def:
11815         * win32/common/libgstreamer.def:
11816           Add gst_caps_merge() and a bunch of other recently-added functions.
11817           Fixes #361732.
11818
11819 2006-10-11  Wim Taymans  <wim@fluendo.com>
11820
11821         * docs/plugins/gstreamer-plugins.args:
11822         * docs/plugins/inspect/plugin-coreelements.xml:
11823         * docs/plugins/inspect/plugin-coreindexers.xml:
11824         Update element args.
11825
11826         * gst/gstsystemclock.c:
11827         Small comment update.
11828
11829         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11830         (gst_tee_request_new_pad), (gst_tee_release_pad),
11831         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11832         (gst_tee_sink_activate_pull):
11833         * plugins/elements/gsttee.h:
11834         Some tee loving:
11835         Add default property defines.
11836         Implement release pad function.
11837         Give properties better blubs etc.
11838         Activate pads before adding them to a running tee.
11839         Do simple buffer_alloc on the first requested pad.
11840         Post error when activation fails.
11841
11842 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11843
11844         * gst/gst.c: (ensure_current_registry_forking):
11845           Check return value of write() to make compiler happy.
11846
11847 2006-10-11  Wim Taymans  <wim@fluendo.com>
11848
11849         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11850
11851         * plugins/elements/gstqueue.c: (gst_queue_chain):
11852         Recheck queue filledness after signalling the overrun when we're about
11853         to leak downstream because we released the lock when emitting the signal
11854         and the queue could be empty again. Fixes #352345.
11855
11856 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11857
11858         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11859           Fix refcounting here too, just like we did for _new_valist() a few
11860           days ago (#357180) (thanks to René Stadler). Also remove all those
11861           'Since: 0.9' from the gtk-doc blobs.
11862
11863         * tests/check/libs/controller.c: (controller_refcount_new_list),
11864         (gst_controller_suite):
11865           Unit test for the above.
11866
11867 2006-10-10  Wim Taymans  <wim@fluendo.com>
11868
11869         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11870
11871         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11872         (gst_pad_save_thyself):
11873         Update some docs.
11874         Write pad direction in XML output. Fixes #345496.
11875
11876 2006-10-10  Wim Taymans  <wim@fluendo.com>
11877
11878         Patch by: René Stadler <mail at renestadler dot de>
11879
11880         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11881         (gst_controller_new_list), (_gst_controller_dispose),
11882         (_gst_controller_finalize), (_gst_controller_class_init):
11883         Take ref to controlled object so that it cannot disappear. 
11884         Fixes #357432.
11885
11886 2006-10-10  Wim Taymans  <wim@fluendo.com>
11887
11888         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11889         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11890         (gst_check_teardown_sink_pad):
11891         Activate/deactivate pads in setup/teardown respectively.
11892
11893 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11894
11895         Patch by: Josep Torra Valles <josep@fluendo.com>
11896
11897         * gst/Makefile.am:
11898         Cast values when making gstenumtypes.h.  This pacifies Forte
11899         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11900         in the enumeration.
11901
11902 2006-10-09  Wim Taymans  <wim@fluendo.com>
11903
11904         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11905         Rename some more @cur to @start to fix docs. 
11906
11907         * gst/gstsegment.c: (gst_segment_set_seek):
11908         Fix typo.
11909         time and start must always stay in sync as defined in design doc.
11910
11911         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11912         Rename param to fix docs.
11913
11914         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11915         Check that start and time are in sync.
11916
11917         * tests/check/pipelines/parse-launch.c:
11918         (gst_parse_test_element_change_state):
11919         Activate pad before adding to the element.
11920
11921 2006-10-09  Wim Taymans  <wim@fluendo.com>
11922
11923         * docs/design/part-qos.txt:
11924         Fix typo.
11925
11926         * gst/gstevent.c:
11927         * gst/gstevent.h:
11928         Update seek event docs regarding negative rates.
11929         Rename @cur to @start. 
11930
11931         * gst/gstsegment.c: (gst_segment_set_seek):
11932         * gst/gstsegment.h:
11933         Update set_seek docs regarding negative rates.
11934         Correctly update last_stop to @stop when dealing with negative
11935         rates.
11936         Rename @cur to @start. 
11937
11938         * tests/check/gst/gstpad.c: (GST_START_TEST):
11939         Activate pads before trying to use them.
11940
11941         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11942         (gst_segment_suite):
11943         Add simple check for segments and negative rates.
11944
11945 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11946
11947         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11948         * gst/gsttaglist.h:
11949         * docs/gst/gstreamer-sections.txt:
11950           API: add gst_tag_list_is_empty() (#360467).
11951
11952         * tests/check/gst/gsttag.c: (GST_START_TEST):
11953           And a test case.
11954
11955 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11956
11957         * gst/gstmessage.h:
11958         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11959         a value that doesn't fit on enumeration.
11960
11961 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11962
11963         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11964         Remove local debugging system and use Gstreamer's instead.
11965
11966 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11967
11968         Patch by: Josep Torra Valles <josep@fluendo.com>
11969
11970         * common/m4/gst-error.m4:
11971         Disable warning of statement not reached on Forte.
11972         * gst/gstmessage.h:
11973         Fix warning on Forte (value doesn't fit on enumeration).
11974         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11975         Fix warning on Forte (value doesn't fit on enumeration).
11976         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11977         DEBUG macro says it takes minimum of 2 args and so Forte
11978         complains about the use with just 1 arg.
11979         * plugins/elements/gstfdsink.c:
11980         * plugins/elements/gstfdsrc.c:
11981         * plugins/elements/gstfilesink.c:
11982         * plugins/elements/gstfilesrc.c:
11983         Use correct return type for the uri handler implementations.
11984
11985         All these fix warnings in Forte.  Fixes bug #360860.
11986
11987 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11988
11989         * gst/gstelement.h:
11990           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11991           format string, so don't use G_GNUC_PRINTF for those versions.
11992
11993 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11994
11995         * gst/gsttaglist.c: (gst_is_tag_list):
11996         * gst/gsttaglist.h:
11997           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11998
11999         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12000           Small test for the above.
12001
12002 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12003
12004         * gst/gsttaglist.h:
12005           Less tabs, more spaces.
12006
12007 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
12008
12009         * gst/gstinfo.h:
12010           Those two function declarations do actually belong there, revert
12011           commit from yesterday that turned them intro macros.
12012
12013 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12014
12015         Patch by: Josep Torra Valles <josep@fluendo.com>
12016
12017         * gst/gst.c: (gst_init_get_option_group):
12018         Fix empty declaration and type mismatch.
12019         * gst/gstbin.c: (gst_bin_change_state_func):
12020         Fix type mismatch.
12021         * gst/gstelement.c: (gst_element_continue_state),
12022         (gst_element_set_state_func), (gst_element_change_state),
12023         (gst_element_change_state_func):
12024         Fix type mismatches.
12025         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12026         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12027         Cast as appropriate.
12028         * gst/gstobject.c: (gst_class_signal_connect):
12029         Cast as appropriate.  The function pointer parameter really
12030         has the wrong type but would break API if we change it.
12031         * gst/gstquery.c:
12032         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12033         order of including string.h.
12034         * gst/gstutils.c: (gst_element_state_get_name):
12035         Remove unreachable line.
12036         * gst/gstxml.c: (gst_xml_parse_doc):
12037         Fix type mismatch.
12038         All these caught by Forte.
12039
12040 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12041
12042         Patch by: Josep Torra Valles <josep@fluendo.com>
12043
12044         * common/m4/gst-error.m4:
12045         Fixed bug #360151.
12046         We need to disable warnings on Forte for empty declarations
12047         due to gst-indent adding ;s to lines that just use macros
12048         where the macro actually doesn't need a ; at end to end
12049         statement.
12050
12051 2006-10-06  Wim Taymans  <wim@fluendo.com>
12052
12053         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12054         (gst_file_sink_close_file), (gst_file_sink_event),
12055         (gst_file_sink_render):
12056         Add some FIXME for the NEWSEGMENT handling.
12057
12058 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12059
12060         * gst/parse/grammar.y:
12061         Remove static function gst_parse_element_lock as all it does
12062         is return.  Looks like cruft from 0.8.
12063
12064 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12065
12066         Patch by: Josep Torra Valles <josep@fluendo.com>
12067
12068         * common/m4/gst-error.m4:
12069         * configure.ac:
12070         * libs/gst/net/Makefile.am:
12071         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12072         libresolv.
12073
12074 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12075
12076         * gst/gstpad.c: (pre_activate):
12077         * gst/gstregistry.c: (gst_registry_scan_path_level):
12078         * gst/gstregistryxml.c: (load_plugin):
12079         * libs/gst/controller/gstcontroller.c:
12080         (gst_controlled_property_set_interpolation_mode):
12081         * libs/gst/dataprotocol/dataprotocol.c:
12082         (gst_dp_packet_from_event_1_0):
12083         * libs/gst/net/gstnetclientclock.c:
12084         (gst_net_client_clock_observe_times):
12085         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12086           Printf fixes.
12087
12088 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12089
12090         * configure.ac:
12091         * docs/gst/gstreamer-sections.txt:
12092         * gst/gstconfig.h.in:
12093         * gst/gstelement.h:
12094         * gst/gstinfo.h:
12095           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12096           whether we can use G_GNUC_PRINTF in other header files and at
12097           least check the printf format/arguments of debug messages and
12098           GST_ELEMENT_ERROR messages when the printf extension is not
12099           being used.
12100           Replace more tabs with spaces in gstinfo.h and remove two spurious
12101           function declarations in GST_DISABLE_DEBUG part with macros.
12102
12103 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12104
12105         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12106           More docs for the sync-message signal (mention that it is not
12107           emitted by default); log message structures of messages posted on
12108           the bus as well.
12109
12110 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12111
12112         * gst/gst.c: (ensure_current_registry_forking):
12113         Use a pipe pair to receive status results from the forked child, and
12114         ignore the result from waitpid. Fixes #355499
12115
12116 2006-10-02  Wim Taymans  <wim@fluendo.com>
12117
12118         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12119         (gst_ghost_pad_suite):
12120         Fix leak in check.
12121
12122 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12123
12124         * gst/gstpad.c:
12125           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12126
12127 2006-10-02  Edward Hervey  <edward@fluendo.com>
12128
12129         * docs/design/part-block.txt:
12130         Further explain the use of flushing on blocked pads.
12131         * docs/gst/gstreamer-sections.txt:
12132         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12133         (gst_pad_push_event):
12134         * gst/gstpad.h:
12135         Added new GstPadFlag : GST_PAD_BLOCKING.
12136         Adds the notion of pads really blocking, which enables to properly
12137         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12138         Fixes #358999
12139         API: gst_pad_is_blocking()
12140         API: GST_PAD_IS_BLOCKING() macro
12141         API: GST_PAD_BLOCKING GstPadFlag
12142         
12143 2006-10-02  Wim Taymans  <wim@fluendo.com>
12144
12145         Patch by: mrcgran <mrc.gran at gmail dot com>
12146
12147         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12148         Filter the proxied caps against the padtemplate if we have one.
12149
12150         * gst/gstquery.c: (gst_query_new_segment):
12151         Add include for gstinfo.h so that compilation with
12152         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12153
12154 2006-10-02  Wim Taymans  <wim@fluendo.com>
12155
12156         Patch by: Alessandro Decina  <alessandro at nnva org>
12157
12158         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12159         (gst_file_sink_set_location), (gst_file_sink_open_file),
12160         (gst_file_sink_close_file), (gst_file_sink_event),
12161         (gst_file_sink_render):
12162         Set file to NULL when closing filesink so that we can set a new filename
12163         in READY. Fixes #358613.
12164
12165 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12166
12167         Patch by: Alessandro Decina  <alessandro at nnva org>
12168
12169         * gst/gstevent.c: (_gst_event_copy):
12170           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12171           with event structures by setting the parent refcount address of the
12172           copied structure to the address of the refcount member of the newly
12173           copied event rather than the address of the refcount member of the
12174           original event. Fixes #358737.
12175
12176         * tests/check/gst/gstevent.c: (GST_START_TEST):
12177           Unit test for the above.
12178
12179 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12180
12181         * docs/design/Makefile.am:
12182           Dist some more files.
12183
12184 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12185
12186         * tests/check/libs/controller.c: (GST_START_TEST),
12187         (gst_controller_suite):
12188           Add test for the previous fix; add some more tests
12189           for correct refcounting behaviour; fix a few leaks
12190           in test cases; call gst_controller_init() at start
12191           of all tests.
12192
12193 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12194
12195         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12196         (gst_controller_set_from_list):
12197           Don't g_return_val_if_fail() on timed values with invalid timestamps
12198           inside a critical section without unlocking the mutex. Spotted by
12199           René Stadler. (#357617)
12200           Also, fix up refcounting properly: when returning an existing
12201           controller, we should increase the reference only once and not
12202           once per property and when trying to control a property again
12203           we should also increase the refcount.
12204
12205 2006-09-29  Wim Taymans  <wim@fluendo.com>
12206
12207         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12208         * libs/gst/net/gstnettimeprovider.c:
12209         (gst_net_time_provider_thread):
12210         Stop reading commands when EOF as well.
12211
12212         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12213         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12214         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12215         Unify description of the dump property.
12216
12217 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12218
12219         * tests/examples/manual/.cvsignore:
12220         OK, so it's actually cvsignore that needs changing. Stop laughing.
12221
12222 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12223
12224         * tests/examples/manual/Makefile.am:
12225         Gah, declare vars *before* using them
12226
12227 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12228
12229         * gst/gst.c: (init_pre), (scan_and_update_registry),
12230         (ensure_current_registry_nonforking),
12231         (ensure_current_registry_forking), (ensure_current_registry),
12232         (init_post), (gst_debug_help), (gst_deinit):
12233         * gst/gst_private.h:
12234         * gst/gstregistry.c: (gst_registry_finalize),
12235         (gst_registry_remove_features_for_plugin_unlocked),
12236         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12237         (gst_registry_scan_path),
12238         (_priv_gst_registry_remove_cache_plugins),
12239         (_priv_gst_registry_cleanup):
12240         * gst/gstregistry.h:
12241         Re-commit the registry changes, along with an extra fix:
12242           When a cached plugin is encountered at a different file path,
12243           update the stored path in the registry cache so that the parent
12244           process knows where it actually is now when it re-reads the registry
12245           cache. Fixes the thing that broke distcheck with the previous commit.
12246
12247         * tests/check/Makefile.am:
12248         Clean up files named 'core' too when running make clean.
12249
12250         * tests/examples/manual/Makefile.am:
12251         Set up a registry path for running these tests, and clean it properly
12252         for distcheck.
12253
12254 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12255
12256         * configure.ac:
12257         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12258         want gmodule-no-export-2.0.pc instead so that we don't drag in
12259         --export-dynamic on every project that links to GStreamer.
12260
12261         Also, make our export regex only match the start of symbols, rather 
12262         than any symbol that contains '_gst' somewhere.
12263
12264         * libs/gst/check/Makefile.am:
12265         The libgstcheck we build does however need export-dynamic, as it
12266         produces some symbols that don't match our _gst... style regex.
12267         Fixes: #318031
12268
12269 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12270
12271         * gst/gst.c: (init_pre), (scan_and_update_registry),
12272         (ensure_current_registry_nonforking),
12273         (ensure_current_registry_forking), (ensure_current_registry),
12274         (init_post), (gst_debug_help), (gst_deinit):
12275         * gst/gst_private.h:
12276         * gst/gstregistry.c: (gst_registry_finalize),
12277         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12278         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12279         (_gst_registry_cleanup):
12280         * gst/gstregistry.h:
12281           Revert previous change until I figure out why it breaks distcheck.
12282
12283 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12284
12285         * gst/gst.c: (init_pre), (scan_and_update_registry),
12286         (ensure_current_registry_nonforking),
12287         (ensure_current_registry_forking), (ensure_current_registry),
12288         (init_post), (gst_debug_help), (gst_deinit):
12289
12290           Make init_pre and init_post take the full complement of GOptionFunc
12291           args so they can return useful GErrors. Make the registry updating
12292           functions do so.
12293
12294           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12295           ensure that the registry we're about to write out doesn't contain
12296           stale information about old-deleted plugin files.
12297
12298           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12299           that deletion of plugin files is considered a registry change.
12300
12301         * gst/gst_private.h:
12302         * gst/gstregistry.c: (gst_registry_finalize),
12303         (gst_registry_remove_features_for_plugin_unlocked),
12304         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12305         (gst_registry_scan_path),
12306         (_priv_gst_registry_remove_cache_plugins),
12307         (_priv_gst_registry_cleanup):
12308         * gst/gstregistry.h:
12309         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12310         by adding _priv prefix, so that they won't appear in the global
12311         symbol table. They still do atm though because of #318031. Move the
12312         prototypes to gst_private.h
12313
12314         When removing a plugin, remove all features for that plugin too. 
12315         Fixes #340878.
12316
12317 2006-09-27  Wim Taymans  <wim@fluendo.com>
12318
12319         * docs/random/moving-plugins:
12320         Make it clear that the "compiled-in descriptions" really mean
12321         the element details.
12322
12323         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12324         (gst_base_sink_wait_preroll):
12325         Update docs.
12326
12327         * docs/libs/gstreamer-libs-sections.txt:
12328         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12329         (gst_base_src_get_range), (gst_base_src_activate_push):
12330         * libs/gst/base/gstbasesrc.h:
12331         Added function to block while waiting for PLAYING, this function
12332         is used by live sources that block on the clock.
12333         API: gst_base_src_wait_playing()
12334
12335 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12336
12337         Patch by: Peter Kjellerstedt <pkj at axis com>
12338
12339         * Makefile.am:
12340           gst-element-check.m4 is generated and should therefore be
12341           copied from the build dir rather than the source dir (#357593).
12342           'make distcheck' hasn't noticed this because we were disting
12343           the file as well, so stop doing that.
12344
12345 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12346
12347         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12348           Add some tests for gst_caps_intersect().
12349
12350         * tools/gst-launch.c: (event_loop):
12351           Print all buffering percentages we get, even the 100% one.
12352
12353 2006-09-26  Wim Taymans  <wim@fluendo.com>
12354
12355         * tools/gst-inspect.c: (print_element_properties_info),
12356         (print_signal_info):
12357         Fix printing of flags to match the look of enums.
12358
12359 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12360
12361         * gst/gstelementfactory.c:
12362           Fix typo in docs blurb.
12363
12364 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12365
12366         * gst/gsturi.c: (search_by_entry):
12367           Don't assert/crash here if a uri handler doesn't return any
12368           supported protocols. The list of protocols could be generated
12369           dynamically at runtime or at plugin registration, and an error
12370           in the underlying library shouldn't be fatal (#353301).
12371
12372 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12373
12374         * gst/gstinfo.c:
12375           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12376           (spotted by Peter Kjellerstedt).
12377
12378 2006-09-23  Wim Taymans  <wim@fluendo.com>
12379
12380         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12381
12382         * libs/gst/base/gstbasesrc.c:
12383         (gst_base_src_default_check_get_range), (gst_base_src_start),
12384         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12385         (gst_base_src_change_state):
12386         Match _start/_stop calls in the activate functions. Remove redundant
12387         _stop call from the state change function. Fixes #356910.
12388         Turn failure DEBUG into ERROR. 
12389
12390 2006-09-22  Wim Taymans  <wim@fluendo.com>
12391
12392         * docs/design/part-buffering.txt:
12393         * gst/gstmessage.c: (gst_message_new_buffering),
12394         (gst_message_parse_buffering):
12395         Update docs about buffering.
12396
12397         * docs/design/part-trickmodes.txt:
12398         Fix typo.
12399
12400 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12401
12402         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12403         (gst_controller_new_list):
12404           Ref instances when returning them again (fixes #357180)
12405
12406 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12407
12408         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12409           Don't forget to release proxy lock when there's an error.
12410
12411 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12412
12413         * gst/gstcaps.h:
12414           Add extra initialisers for Caps things, to fix some plugin warnings
12415           when using -Wextra
12416
12417 2006-09-18  Wim Taymans  <wim@fluendo.com>
12418
12419         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12420           Also set template on the internal pad so that a getcaps from the 
12421           target pad returns the template caps.
12422
12423 2006-09-18  Wim Taymans  <wim@fluendo.com>
12424
12425         * gst/gstelement.c: (gst_element_post_message),
12426         (gst_element_dispose):
12427         Use _DEBUG_OBJECT some more.
12428
12429         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12430         Avoid typechecks.
12431
12432         * tools/gst-launch.c: (main):
12433         If the toplevel element is not a GstPipeline, it must be put in a
12434         pipeline so that a bus and clock is selected.
12435
12436 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12437
12438         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12439           JITTER, RATE, and LATENCY query should be handled by the
12440           default case and not by the CONVERT query code.
12441
12442 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12443
12444         * gst/gstformat.c: (gst_format_register):
12445           Fix locking order (must take lock before using n_values).
12446
12447         * gst/gstvalue.c: (gst_value_serialize_enum),
12448         (gst_value_deserialize_enum_iter_cmp),
12449         (gst_value_deserialize_enum):
12450           Fix serialisation/deserialisation of custom registered GstFormats.
12451
12452         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12453           Unit test for custom format serialisation/deserialisation.
12454
12455 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12456
12457         * docs/pwg/building-boiler.xml:
12458         * plugins/elements/gstcapsfilter.c:
12459         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12460         section.
12461
12462 2006-09-16  Edward Hervey  <edward@fluendo.com>
12463
12464         * libs/gst/base/gstbasetransform.c:
12465         (gst_base_transform_buffer_alloc):
12466         Check if requested caps are the same as the sinks caps IF
12467         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12468         is FALSE.
12469         This fixes the renegotiation issues stated in #352827.
12470
12471 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12472
12473         * configure.ac:
12474         * docs/manual/advanced-autoplugging.xml:
12475         * tests/examples/Makefile.am:
12476         * tests/examples/manual/.cvsignore:
12477         * tests/examples/manual/Makefile.am:
12478         * tests/examples/manual/extract.pl:
12479           Extract the manual examples again like we used to do.
12480           Fix one of them.
12481
12482 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12483
12484         * win32/common/config.h:
12485           update for version
12486
12487 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12488
12489         * gst/gsterror.c:
12490           Documents how to receive errors.
12491
12492 2006-09-15  Wim Taymans  <wim@fluendo.com>
12493
12494         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12495         (event_loop), (main):
12496         Added some comments here and there.
12497         Post an application message when an interrupt is caught instead of doing
12498         an uncontrolled state change.
12499         Clean up the event loop.
12500         Handle buffering messages, pause/resume the pipeline.
12501         Make shutdown because of an interrupt more reliable.
12502
12503 2006-09-15  Wim Taymans  <wim@fluendo.com>
12504
12505         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12506         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12507         (gst_base_sink_preroll_object):
12508         Make sure that our internal state is correct when we commit our state
12509         asynchronously. This solves a race where a state change to PLAYING
12510         could cause the sink to remain blocked in preroll in some situations.
12511
12512 2006-09-15  Wim Taymans  <wim@fluendo.com>
12513
12514         * tools/gst-inspect.c: (print_element_properties_info),
12515         (print_signal_info):
12516         List flags as hex so it's easier to deal with.
12517
12518 2006-09-15  Wim Taymans  <wim@fluendo.com>
12519
12520         * docs/libs/gstreamer-libs-sections.txt:
12521         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12522         (gst_base_sink_do_sync):
12523         * libs/gst/base/gstbasesink.h:
12524         Expose logic to wait for preroll so that subclasses such as audiosink
12525         can also use this method.
12526         API: gst_base_sink_wait_preroll()
12527
12528 2006-09-15  Wim Taymans  <wim@fluendo.com>
12529
12530         * gst/gstobject.c: (gst_object_set_parent):
12531         * gst/gstpipeline.c: (do_pipeline_seek):
12532         Small cleanups in docs and code.
12533
12534         * gst/gstsegment.c: (gst_segment_clip):
12535         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12536         if stop == start and start is in the segment, no clipping should be
12537         done. Also add a test for this.
12538
12539 2006-09-15  Wim Taymans  <wim@fluendo.com>
12540
12541         * docs/design/part-buffering.txt:
12542         * docs/gst/gstreamer-sections.txt:
12543         * gst/gstmessage.c: (gst_message_new_buffering),
12544         (gst_message_parse_buffering):
12545         * gst/gstmessage.h:
12546         Added methods to create and parse BUFFERING messages.
12547         Added preliminary docs about buffering.
12548         API: gst_message_new_buffering
12549         API: gst_message_parse_buffering
12550
12551 2006-09-06  Wim Taymans  <wim@fluendo.com>
12552
12553         * gst/gstbin.c:
12554         Update documentation.
12555
12556         * gst/gstelement.c: (gst_element_class_init),
12557         (gst_element_release_request_pad), (gst_element_set_clock),
12558         (gst_element_get_index), (gst_element_add_pad),
12559         (gst_element_remove_pad), (gst_element_get_random_pad),
12560         (gst_element_send_event), (gst_element_get_query_types),
12561         (gst_element_query), (gst_element_post_message),
12562         (gst_element_message_full), (gst_element_continue_state),
12563         (gst_element_lost_state), (gst_element_save_thyself),
12564         (gst_element_restore_thyself):
12565         Documentation updates.
12566         Rename last bit of the new-pad -> pad-added signal rename.
12567         Fix the case where an element query would only work if the source
12568         pad was linked.
12569         Avoid some useless type checking in message handling.
12570
12571         * gst/gstevent.c:
12572         * gst/gstevent.h:
12573         * gst/gstutils.c:
12574         Documentation updates.
12575
12576 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12577
12578         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12579           add an INFO line for when we actually update the fd
12580
12581 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12582
12583         * configure.ac:
12584           back to TRUNK
12585
12586 === release 0.10.10 ===
12587
12588 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12589
12590         * configure.ac:
12591           releasing 0.10.10, "Pais"
12592
12593 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12594
12595         * docs/manual/advanced-position.xml:
12596           Fix typo in sample code.
12597
12598 2006-09-05  Wim Taymans  <wim@fluendo.com>
12599
12600         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12601         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12602         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12603         * libs/gst/net/gstnetclientclock.h:
12604         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12605         * libs/gst/net/gstnettimepacket.h:
12606         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12607         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12608         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12609         * libs/gst/net/gstnettimeprovider.h:
12610         Make stuff compile on windows. Fixes #345295.
12611
12612 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12613
12614         * gst/gst.c: (ensure_current_registry_forking):
12615           Print better details when child was terminated by signal.
12616
12617 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12618
12619         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12620           Print a warning rather than g_assert() if a plugin feature
12621           is a URI handler but returns no protocols (#353976).
12622
12623 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12624
12625         * docs/random/moving-plugins:
12626         Fix two typos.         
12627
12628 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12629
12630         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12631           Fix locking order, handle NULL function values properly.
12632
12633         * gst/gstinfo.h:
12634           Fix docs.
12635
12636         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12637           Initialise variable before using it and fix debug statement to
12638           print the address of the function rather than the address of the
12639           variable on the stack holding the address of the function.
12640
12641 2006-09-01  Wim Taymans  <wim@fluendo.com>
12642
12643         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12644         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12645         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12646         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12647         (gst_ghost_pad_parent_unset),
12648         (gst_ghost_pad_internal_do_activate_push),
12649         (gst_ghost_pad_internal_do_activate_pull),
12650         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12651         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12652         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12653         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12654         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12655         (gst_ghost_pad_new_no_target_from_template),
12656         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12657         More cleanups.
12658         Avoid needless typechecking in macros.
12659         Since the internal pad is always present and never changes, there is
12660         no need to locking or ref when retrieving it.
12661         Improve debugging a bit.
12662         Handle link errors when setting the target. Fixes #341029.
12663
12664 2006-09-01  Wim Taymans  <wim@fluendo.com>
12665
12666         * docs/libs/gstreamer-libs-sections.txt:
12667         * docs/plugins/gstreamer-plugins-sections.txt:
12668         Fix docs some more.
12669
12670         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12671         (gst_collect_pads_event):
12672         * libs/gst/base/gstcollectpads.h:
12673         Documentation updates.
12674         Free queued buffer when removing a pad.
12675
12676 2006-08-31  Michael Smith  <msmith@fluendo.com>
12677
12678         * gst/gstutils.c: (gst_element_link_pads),
12679         (gst_element_link_pads_filtered):
12680           Ensure that we set a capsfilter to NULL if we failed to link it
12681           when doing filtered linking, to avoid criticals.
12682
12683           No need to check for unreffing srcpad, which is explicly NULLed
12684           above (a trivial code cleanup).
12685
12686 2006-08-31  Wim Taymans  <wim@fluendo.com>
12687
12688         * docs/design/part-gstghostpad.txt:
12689         Update ascii art in documentation.
12690
12691         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12692         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12693         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12694         (gst_ghost_pad_internal_do_activate_push),
12695         (gst_ghost_pad_internal_do_activate_pull),
12696         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12697         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12698         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12699         (gst_ghost_pad_set_target):
12700         Small cleanups and leak fixes.
12701         Remove some checks now that the internal pad is never NULL.
12702         Fix the case where linking pads without a target would create nasty
12703         criticals. Fixes #341029.
12704         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12705         value of _set_target().
12706
12707         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12708         (gst_ghost_pad_suite):
12709         Some more tests for creating and linking untargeted ghostpads.
12710
12711 2006-08-31  Edward Hervey  <edward@fluendo.com>
12712
12713         * docs/gst/gstreamer-sections.txt:
12714         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12715         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12716         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12717         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12718         (gst_ghost_pad_new_from_template),
12719         (gst_ghost_pad_new_no_target_from_template):
12720         * gst/gstghostpad.h:
12721         Refactored *_new() functions.
12722         Templates are now used as a g_object_new() parameter.
12723         Use template in _do_getcaps() if we don't have a target.
12724         Small documentation cleanups.
12725         Added two new constructors:
12726         gst_ghost_pad_new_from_template()
12727         gst_ghost_pad_new_no_target_from_template()
12728         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12729         (gst_ghost_pad_suite):
12730         Added tests for new ghostpad instanciation functions.
12731
12732         API additions: gst_ghost_pad_new_from_template,
12733         gst_ghost_pad_new_no_target_from_template
12734
12735 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12736
12737         * docs/random/ensonic/profiling.txt:
12738           Ideas about qos profiling.
12739
12740 2006-08-29  Wim Taymans  <wim@fluendo.com>
12741
12742         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12743         Code cleanups.
12744         Fix memleak.
12745
12746 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12747
12748         * gst/gstxml.c:
12749           Improve and detypofy docs.
12750
12751         * tests/check/Makefile.am:
12752         * tests/check/gst/.cvsignore:
12753         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12754           Add a basic test suite for GstXML.
12755
12756 2006-08-29  Wim Taymans  <wim@fluendo.com>
12757
12758         * gst/gstelement.c: (activate_pads), (clear_caps),
12759         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12760         Clear the pad caps when the element shut down all of the pads and
12761         is not streaming data that could modify the caps. 
12762         Fixes #352958.
12763
12764 2006-08-28  Michael Smith  <msmith@fluendo.com>
12765
12766         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12767           Revert previous change; I misunderstood single-segment mode.
12768
12769 2006-08-28  Michael Smith  <msmith@fluendo.com>
12770
12771         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12772           Unset DISCONT on buffers when using single-segment mode.
12773
12774 2006-08-28  Wim Taymans  <wim@fluendo.com>
12775
12776         * gst/gstcaps.c: (gst_caps_merge_structure):
12777         * gst/gstcaps.h:
12778         Fix docs and indentation again.
12779
12780         * tests/check/gst/gstquery.c: (GST_START_TEST):
12781         Fix leak in tests and add some more tests.
12782
12783 2006-08-28  Edward Hervey  <edward@fluendo.com>
12784
12785         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12786         Inform GstSegment of the last stop position in order for the current
12787         segment to have a proper duration if it doesn't have a specific stop
12788         position from which a duration could be calculated.
12789         This bug was noticeable when a non-flushing, non-update new segment was
12790         followed by another segment (all buffers from the new segment were being
12791         dropped).
12792
12793 2006-08-28  Wim Taymans  <wim@fluendo.com>
12794
12795         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12796         Small comment update.
12797
12798         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12799         (gst_identity_transform_ip):
12800         Drop-probability is broken, mention this in the code with a 
12801         FIXME and also in the property description.
12802         Make silent also be silent about the drop messages.
12803
12804 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12805
12806         * docs/manual/appendix-win32.xml:
12807           Remove mention of popt, we don't depend on that any
12808           longer (#353136). Add some comments pointing out that
12809           this section is slightly outdated.
12810
12811 2006-08-28  Wim Taymans  <wim@fluendo.com>
12812
12813         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12814
12815         * gst/gstquery.c: (gst_query_new_segment):
12816         * tests/check/gst/gstquery.c: (GST_START_TEST):
12817         Initialize variables when creating a new segment query.
12818         Fixes #353121.
12819
12820 2006-08-28  Wim Taymans  <wim@fluendo.com>
12821
12822         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12823
12824         * gst/gstelement.c: (gst_element_get_bus):
12825         * tests/check/gst/gstelement.c: (GST_START_TEST):
12826         Check for NULL before _reffing the bus. Fixes #353122.
12827
12828 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12829
12830         * docs/manual/basics-bus.xml:
12831           Docs update: fix wrong callback return value explanation; add
12832           some lines about the implicit relationship between main loop
12833           and main context; remove duplicate main loop variable declaration.
12834
12835 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12836
12837         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12838           Don't leak caps in unit test; add a few more simple
12839           checks. 
12840
12841 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12842
12843         * docs/gst/gstreamer-sections.txt:
12844         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12845         (gst_caps_structure_is_subset), (gst_caps_merge),
12846         (gst_caps_merge_structure):
12847         * gst/gstcaps.h:
12848         * libs/gst/base/gstbasetransform.c:
12849         (gst_base_transform_transform_caps):
12850         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12851           implement caps merging (fixes #352580)
12852
12853 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12854
12855         * tools/Makefile.am:
12856         * tools/gst-plot-timeline.py:
12857           add debug-log plotting developer tool (#340674)
12858
12859 2006-08-23  Wim Taymans  <wim@fluendo.com>
12860
12861         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12862         (gst_pad_stop_task):
12863         Improve debugging for task functions.
12864
12865         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12866         (gst_task_start), (gst_task_pause), (gst_task_join):
12867         Make sure that the task function started and finished after a 
12868         join(). 
12869         Don't try to push the task function on the threadpool multiple
12870         times.
12871         Improve the g_warning message with some useful suggestions
12872         about how to fix the problem. 
12873
12874 2006-08-23  Wim Taymans  <wim@fluendo.com>
12875
12876         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12877         Handle RESYNC correctly in _proxy_getcaps.
12878
12879 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12880
12881         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12882         (gst_xml_parse_memory), (gst_xml_get_element):
12883           Chain up to parent class in dispose function and also
12884           unref the elements in the toplevel_elements GList.
12885           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12886           Always return a reference in gst_xml_get_element() rather
12887           than only sometimes.
12888
12889         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12890           Don't leak GstXml object.
12891
12892 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12893
12894         * docs/gst/gstreamer-sections.txt:
12895         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12896         (gst_caps_merge):
12897         * gst/gstcaps.h:
12898         * libs/gst/base/gstbasetransform.c:
12899         (gst_base_transform_transform_caps):
12900           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12901           in a better way
12902
12903 2006-08-21  Edward Hervey  <edward@fluendo.com>
12904
12905         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12906         Implement GObject::dispose virtual method in GstXML so we can free the
12907         top_elements GList.
12908
12909 2006-08-21  Wim Taymans  <wim@fluendo.com>
12910
12911         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12912         (gst_buffer_create_sub):
12913         Copy duration/offset_end/caps when creating a subbuffer of the
12914         complete parent.
12915         Make the subbuffer read-only when we make the metadata writable for
12916         now. Fixes #351768.
12917
12918         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12919         Added check for metadata copy when creating subbuffers.
12920
12921 2006-08-21  Edward Hervey  <edward@fluendo.com>
12922
12923         * libs/gst/base/gstbasetransform.c:
12924         (gst_base_transform_buffer_alloc):
12925         Only call downstream buffer_alloc if transform element is passthrough
12926         or always_in_place. Closes #350449.
12927
12928 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12929
12930         * ChangeLog:
12931           ChangeLog surgery to add comments to previous changes
12932
12933 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12934
12935         * gst/gst.c:
12936           Add comments
12937
12938         * gst/gstpad.c: (gst_pad_set_active):
12939           Be more verbose in the log
12940
12941         * libs/gst/base/gstbasetransform.c:
12942         (gst_base_transform_transform_caps):
12943           Simplify caps to get rid of duplicates, fixes #345444
12944
12945 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12946
12947         * gst/gstvalue.c:
12948         * gst/gstvalue.h:
12949           Use these optimizations only internally.
12950
12951 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12952
12953         * gst/gstvalue.c: (gst_value_compare_list),
12954         (gst_value_compare_fraction_range),
12955         (gst_value_intersect_fraction_fraction_range),
12956         (gst_value_intersect_fraction_range_fraction_range),
12957         (gst_value_subtract_fraction_fraction_range),
12958         (gst_value_subtract_fraction_range_fraction_range),
12959         (gst_value_get_compare_func), (gst_value_compare),
12960         (gst_value_compare_with_func):
12961         * gst/gstvalue.h:
12962           Saves the expensive lookup of the compare function in many cases
12963          (#345444)
12964
12965 2006-08-18  Edward Hervey  <edward@fluendo.com>
12966
12967         * tests/check/gst/gstinfo.c: (gst_info_suite):
12968         Disable test that require gstdebug if it wasn't built in core.
12969
12970 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12971
12972         * docs/random/ensonic/logging.txt:
12973           update ideas
12974           
12975         * gst/gstinfo.c: (gst_debug_log_default):
12976           reorder fields, save some columns, add optional color codes for log
12977           levels
12978
12979 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12980
12981         * docs/random/ensonic/logging.txt:
12982           add ideas about making the logs a bit more useful
12983
12984 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12985
12986         * docs/pwg/advanced-events.xml:
12987         * docs/pwg/titlepage.xml:
12988           Update for 0.10 API (#340627). Add myself
12989           to authors list.
12990
12991 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12992
12993         * docs/libs/gstreamer-libs-docs.sgml:
12994         * docs/libs/gstreamer-libs-sections.txt:
12995         * libs/gst/check/gstbufferstraw.c:
12996           Make gstcheck stuff show up in docs (still needs to
12997           be documented properly though).
12998
12999 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
13000
13001         * docs/gst/gstreamer-sections.txt:
13002         * gst/Makefile.am:
13003         * gst/gst.c: (init_post):
13004         * gst/gst_private.h:
13005         * gst/gstquark.c: (_priv_gst_quarks_initialize):
13006         * gst/gstquark.h:
13007         * gst/gstquery.c: (gst_query_new_position),
13008         (gst_query_set_position), (gst_query_parse_position),
13009         (gst_query_new_duration), (gst_query_set_duration),
13010         (gst_query_parse_duration), (gst_query_new_convert),
13011         (gst_query_set_convert), (gst_query_parse_convert),
13012         (gst_query_new_segment), (gst_query_set_segment),
13013         (gst_query_parse_segment), (gst_query_new_seeking),
13014         (gst_query_set_seeking), (gst_query_parse_seeking):
13015         Add internal helpers for pre-registering quarks from static strings
13016         and using the quark values directly instead of looking them up when
13017         creating and parsing queries. Can be used for event construction too.
13018         Closes #350432.
13019
13020 2006-08-16  Wim Taymans  <wim@fluendo.com>
13021
13022         * gst/gstbin.c:
13023         Fix bogus docs.
13024
13025 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13026
13027         * gst/gstutils.c: (gst_util_set_value_from_string):
13028           Fix memleak (#351502).
13029
13030         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13031           Add unit test for most of gst_util_set_value_from_string()
13032           (not that one would want to encourage use of this function).
13033
13034 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13035
13036         * libs/gst/check/gstcheck.h:
13037           Use const gchar * variables in fail_unless_equals_string
13038           macro to avoid compiler warnings (and don't use tabs for
13039           indenting).
13040
13041 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13042
13043         * tools/gst-launch.c: (print_tag):
13044           More space on the left for the tag names, to cater
13045           for the 'extended comment' tag (not touching the
13046           string for the first line since it's translated).
13047
13048 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13049
13050         * libs/gst/check/gstcheck.h:
13051           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13052           print something when they fail.
13053
13054 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13055
13056         * docs/gst/gstreamer-sections.txt:
13057         * gst/gsttaglist.c: (_gst_tag_initialize):
13058         * gst/gsttaglist.h:
13059           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13060           Also change merge function for GST_TAG_COMMENT to
13061           use_first.
13062
13063 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13064
13065         * gst/gstinfo.c: (gst_debug_print_object):
13066           Make GST_PTR_FORMAT print messages as well.
13067
13068         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13069         (GST_START_TEST), (gst_info_suite):
13070           More tests.
13071
13072 2006-08-14  Edward Hervey  <edward@fluendo.com>
13073
13074         * gst/gstelementfactory.c: (gst_element_register):
13075         If the GstElementClass doesn't have a GstElementDetails with all fields
13076         filled up correctly (longname, description AND author), then error out
13077         nicely instead of crashing.
13078
13079 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13080
13081         * gst/gststructure.c:
13082           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13083
13084         * gst/gstvalue.h:
13085           Expand on the difference between arrays and lists as we use them.
13086           
13087 2006-08-14  Wim Taymans  <wim@fluendo.com>
13088
13089         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13090         If the parent state change function failed, don't assume we can safely
13091         stop the source, this will be done when the pads are deactivated.
13092
13093 2006-08-14  Wim Taymans  <wim@fluendo.com>
13094
13095         * gst/gstbuffer.c:
13096         * gst/gsttask.c: (gst_task_join):
13097         Small doc updates.
13098
13099         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13100         (gst_pad_stop_task):
13101         When pad (de)activation failed for some reason, restore the old
13102         activation mode and set the pad to flushing instead of assuming the
13103         pad is deactivated.
13104         If the _task_join() failed, reinstall the task on the pad so that it can
13105         be stopped later and return an error.
13106
13107 2006-08-11  Andy Wingo  <wingo@pobox.com>
13108
13109         * configure.ac:
13110         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13111         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13112         is only for users of API that don't want to see deprecated
13113         functions in the headers; people that want to compile out
13114         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13115         CFLAGS. Fixes the build of multifdsink, or will soon..
13116
13117 2006-08-11  Wim Taymans  <wim@fluendo.com>
13118
13119         * docs/gst/gstreamer-sections.txt:
13120         Add GstClockClass vmethod docs.
13121
13122         * gst/gstcaps.h:
13123         Mark #endif with comment for associated #if
13124
13125         * gst/gstclock.c: (gst_clock_id_wait):
13126         * gst/gstclock.h:
13127         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13128         most clock implementations.
13129         Document vmethods.
13130         Flesh out docs about resolution methods.
13131         API: GstClockClass::wait_jitter
13132
13133         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13134         (gst_system_clock_async_thread),
13135         (gst_system_clock_id_wait_jitter_unlocked),
13136         (gst_system_clock_id_wait_jitter):
13137         Use base class wait_jitter variant for improved performance
13138         due to less clock polling.
13139
13140 2006-08-11  Edward Hervey  <edward@fluendo.com>
13141
13142         * gst/gst.c: (gst_init_check), (init_post):
13143         Set gst as being initialized before scanning/updating the registry,
13144         since there might be my python plugin loader that calls gst_init() and
13145         we don't want to loop back in.
13146         Closes #350879
13147
13148 2006-08-11  Wim Taymans  <wim@fluendo.com>
13149
13150         * docs/design/part-qos.txt:
13151         Bring docs in line with the code. Mostly the sign of the jitter was
13152         wrong in the docs. Fixes #349943.
13153
13154         * gst/gstclock.c:
13155         Fix the docs for the jitter.
13156
13157         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13158         (gst_event_parse_tag), (gst_event_new_buffer_size),
13159         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13160         (gst_event_new_seek), (gst_event_parse_seek),
13161         (gst_event_new_navigation):
13162         Make sure the GstStructure has no parent when creating custom
13163         events.
13164         Add some more argument checking so that we avoid 0.0 rates.
13165         Flesh out the docs for the QoS event some more.
13166
13167 2006-08-11  Wim Taymans  <wim@fluendo.com>
13168
13169         * docs/gst/gstreamer-sections.txt:
13170         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13171         (ensure_current_registry_forking), (ensure_current_registry),
13172         (parse_one_option), (parse_goption_arg), (gst_deinit),
13173         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13174         * gst/gst.h:
13175         Doc updates.
13176         Added API and command line option to disable registry forking in
13177         addition to the environment variable.
13178         Constify some static arrays.
13179         Added some more debug.
13180         Don't deinit twice.
13181         API: gst_registry_fork_is_enabled()
13182         API: gst_registry_fork_set_enabled()
13183         API: --gst-disable-registry-fork command line option
13184         Fixes #348918.
13185
13186 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13187
13188         * gst/gst.c: (gst_init):
13189           Fix typo in error message.
13190
13191 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13192
13193         * libs/gst/controller/gstcontroller.h:
13194           fix ABI size-correction
13195
13196         * tests/check/libs/gdp.c: (gst_dp_suite):
13197           make tests that use deprecated API conditional
13198
13199 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13200
13201         * docs/libs/gstreamer-libs-sections.txt:
13202         * libs/gst/controller/gstcontroller.c:
13203         (_gst_controller_get_property), (_gst_controller_set_property),
13204         (_gst_controller_init), (_gst_controller_class_init):
13205         * libs/gst/controller/gstcontroller.h:
13206         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13207         (gst_object_set_control_rate):
13208           API: add gst_object_{s,g}et_control_rate(), add private data section,
13209           fix docs
13210
13211         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13212         * libs/gst/dataprotocol/dataprotocol.h:
13213           add deprecation guards to make gtk-doc happy and allow disabling cruft
13214
13215 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13216
13217         * tests/check/Makefile.am:
13218         * tests/check/gst/.cvsignore:
13219           Let's enable the new unit test as well.
13220
13221 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13222
13223         * configure.ac:
13224         * docs/gst/gstreamer-sections.txt:
13225         * gst/gstconfig.h.in:
13226         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13227         (_gst_info_printf_extension_ptr),
13228         (_gst_info_printf_extension_segment):
13229           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13230           register that lets us easily dump GstSegments into debug
13231           logs (#350419).
13232
13233         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13234         (info_segment_format_printf_extension), (gst_info_suite):
13235           Add simple unit test that logs a bunch of different segments (not
13236           valgrinded at the moment because of leaks in
13237           gst_debug_add_log_function).
13238
13239 2006-08-09  Edward Hervey  <edward@fluendo.com>
13240
13241         * libs/gst/base/gstbasetransform.c:
13242         (gst_base_transform_buffer_alloc):
13243         Even if we can't figure out the proper format to request downstream,
13244         call buffer_alloc() downstream with the input parameters without setting
13245         the caps on the srcpad. This will force negotiation in the chain
13246         function.
13247         Closes #350449
13248
13249 2006-08-08  Edward Hervey  <edward@fluendo.com>
13250
13251         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13252         Unlinking from a pad without a target is now a perfectly valid case
13253         which should NOT raise an assertion.
13254         This case would happen if a linked ghostpad its target set to NULL after
13255         it was previously linked.
13256
13257 2006-08-08  Edward Hervey  <edward@fluendo.com>
13258
13259         * tests/check/libs/gdp.c:
13260         Also comment out the test (see below).
13261
13262 2006-08-08  Edward Hervey  <edward@fluendo.com>
13263
13264         * tests/check/libs/gdp.c: (gst_dp_suite):
13265         Use the architecture information from config.h and not gcc macros
13266         in order to properly disable a test that fails on PPC64.
13267
13268 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13269
13270         * gst/gstelement.c: (gst_element_remove_pad):
13271           Don't crash printing the warning if the pad has no parent.
13272
13273 2006-08-02  Wim Taymans  <wim@fluendo.com>
13274
13275         * libs/gst/dataprotocol/dataprotocol.c:
13276         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13277         (gst_dp_crc), (gst_dp_header_payload_length),
13278         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13279         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13280         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13281         (gst_dp_event_from_packet), (gst_dp_validate_header),
13282         (gst_dp_validate_payload):
13283         Make debug category static
13284         Constify the crc table.
13285         Do some more arg checking in public functions.
13286         Fix some docs and do some small cleanups.
13287
13288         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13289         Add some more checks to see if GDP deals with bogus input.
13290
13291 2006-07-31  Wim Taymans  <wim@fluendo.com>
13292
13293         * gst/gstvalue.c: (gst_value_compare_list):
13294         Fix GstValueList comparison code. Fixes #347293.
13295
13296         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13297         Check to test GstValueList comparison.
13298
13299 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13300
13301         * gst/gstelementfactory.c: (gst_element_factory_create):
13302         Remove unnecessary ref/unref pair
13303
13304         * gst/parse/grammar.y:
13305         Make sure to free the parse buffer on all code paths.
13306         Move a g_free up to the error handler where it's easier to see.
13307
13308         * tests/check/gst/gstevent.c: (test_event):
13309         Extending timeout for downstream travelling events to 10 seconds to
13310         hopefully avoid intermittent failure on the buildbots.
13311
13312         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13313         Don't manually set the state of the src element - it will happen as a
13314         natural consequence of the pipeline changing state, and that way it
13315         will do it in the right order too.
13316
13317 2006-07-31  Wim Taymans  <wim@fluendo.com>
13318
13319         * libs/gst/base/gstbasetransform.c:
13320         (gst_base_transform_buffer_alloc):
13321         Use OBJECT_LOCK and refcounting to get the pad caps in the
13322         buffer_alloc function because the caps could change while we are
13323         busy with them. Fixes #349105
13324
13325 2006-07-31  Wim Taymans  <wim@fluendo.com>
13326
13327         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13328         Protect _PAD_CAPS with OBJECT_LOCK.
13329
13330 2006-07-31  Wim Taymans  <wim@fluendo.com>
13331
13332         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13333         (gst_pad_get_property), (gst_pad_activate_pull),
13334         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13335         (gst_pad_set_activate_function),
13336         (gst_pad_set_activatepull_function),
13337         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13338         (gst_pad_set_getrange_function),
13339         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13340         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13341         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13342         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13343         (gst_pad_set_acceptcaps_function),
13344         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13345         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13346         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13347         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13348         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13349         (gst_pad_configure_sink), (gst_pad_configure_src),
13350         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13351         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13352         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13353         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13354         (gst_pad_send_event):
13355         Use _DEBUG_OBJECT when it makes sense.
13356         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13357         Small cleanups and code reflows.
13358         Avoid caps refcounting in _accept_caps.
13359         Refactor alloc_buffer so that the code performed on the peer is in a
13360         separate function. Also if the pad does not implement a buffer alloc
13361         function, we should still check if the pad is flushing before falling
13362         back to the default allocator.
13363
13364 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13365
13366         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13367         Make all uses of identity and fakesink have silent=true to avoid
13368         serialising every passing data structure, which is breaking tests
13369         on FC4 for some unknown reason.
13370
13371 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13372
13373         * gst/parse/Makefile.am:
13374         * gst/parse/grammar.y:
13375         * gst/parse/parse.l:
13376           Reverted previous patch as it required to bump the flex dependency to
13377           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13378
13379 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13380
13381         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13382
13383         * gst/parse/Makefile.am:
13384         * gst/parse/grammar.y:
13385         * gst/parse/parse.l:
13386           push & pop the state of the lexer for reentrant use case
13387           Fixes #349180
13388
13389 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13390
13391         * libs/gst/base/gstbasesrc.h:
13392           Note in the docs that the ::newsegment vfunc is not actually used by
13393           GstBaseSrc.
13394
13395 2006-07-28  Wim Taymans  <wim@fluendo.com>
13396
13397         * libs/gst/base/gstcollectpads.c:
13398         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13399         (gst_collect_pads_clear), (gst_collect_pads_flush),
13400         (gst_collect_pads_event), (gst_collect_pads_chain):
13401         When flushing a pad, also clear the queued buffer so that we don't
13402         accidentally use it when we shouldn't.
13403         Fix leaks by inreffing incomming buffer.
13404         Flush out queued buffers in case of errors.
13405         Fixes #347452.
13406
13407 2006-07-28  Wim Taymans  <wim@fluendo.com>
13408
13409         * docs/random/phonon-gst:
13410         Random notes about a Phonon backend.
13411
13412 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13413
13414         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13415         Extra debug output
13416         * tests/check/libs/gdp.c: (gst_dp_suite):
13417         Take a whack at fixing the ppc compile using a different define to
13418         disable the broken test.
13419
13420         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13421         Remove excess g_print()
13422
13423 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13424
13425         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13426         Oops, meant to uncomment this line too to dampen the noise a bit.
13427
13428 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13429
13430         * gst/parse/grammar.y:
13431         * gst/parse/parse.l:
13432         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13433         (GST_START_TEST), (parse_suite):
13434         Fix some of the leaks exposed by extending the parse-launch testsuite,
13435         and move the 3 I can't figure out into a separate test that won't run
13436         the pipelines unless the appropriate line is uncommented.
13437
13438 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13439
13440         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13441           Requesting 0 bytes before the end of the file should result in
13442           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13443           unit test.
13444
13445 2006-07-27  Wim Taymans  <wim@fluendo.com>
13446
13447         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13448         Fix useless assert, a uint is always positive.
13449
13450         * gst/gststructure.c: (gst_structure_nth_field_name),
13451         (gst_structure_foreach), (gst_structure_map_in_place):
13452         Check input arguments for public functions to avoid obvious crashes.
13453
13454         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13455         * plugins/elements/gstfakesink.h:
13456         Do less useless typechecking.
13457
13458 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13459
13460         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13461           Do not use mmap() by default since there are a number of error
13462           conditions that we would like to handle in a non-fatal way that
13463           will result in a SIGBUS if we use mmap(). Examples: external
13464           devices (USB harddrive, portable music player) being unplugged
13465           while in use; file on mounted CD/DVD that can't be read because
13466           the medium is partly damaged. Fixes #348455 and #348475.
13467
13468 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13469
13470         * gst/gstquery.h:
13471         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13472         rates are a gdouble
13473
13474 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13475
13476         * gst/gstregistry.c:
13477           Move big documentation comment into class section header, so that it
13478           appears in the API docs.
13479
13480 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13481
13482         * docs/gst/gstreamer-sections.txt:
13483         Oops. Commit the docs additions too for new API.
13484         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13485
13486 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13487
13488         * gst/gststructure.c: (gst_structure_id_set),
13489         (gst_structure_id_set_valist):
13490         * gst/gststructure.h:
13491         Add API for setting values into structures without performing
13492         a quark lookup, if the appropriate quark is already known.
13493
13494         API: gst_structure_id_set
13495         API: gst_structure_id_set_valist
13496
13497         * gst/parse/grammar.y:
13498         * gst/parse/parse.l:
13499         Remove some dead code shown by the coverage information.
13500         Don't throw a critical g_warning when encountering a syntax error,
13501         just warn and let the normal error path handle it.
13502
13503         * plugins/elements/gstelements.c:
13504         Bump the rank of filesink up to PRIMARY so that it is preferred over
13505         gnomevfssink for file:// sink uri's
13506
13507         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13508         (GST_START_TEST), (run_delayed_test),
13509         (gst_parse_test_element_base_init),
13510         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13511         (gst_parse_test_element_change_state),
13512         (gst_register_parse_element), (parse_suite):
13513         Beef up the tests for parse syntax to check that more error cases
13514         fail as they are supposed to. Increases the test coverage a bit.
13515
13516 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13517
13518         * docs/manual/basics-elements.xml:
13519           Fix gst_element_link() example.
13520
13521         * gst/gstutils.c:
13522           Mention in API docs that one should usually gst_bin_add()
13523           elements to a bin or pipeline before doing the linking.
13524           
13525 2006-07-26  Wim Taymans  <wim@fluendo.com>
13526
13527         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13528         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13529         Avoid function call for known types by keeping the buffer and
13530         subbuffer GType global.
13531
13532         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13533         Random silly optimisations in read() path.
13534
13535 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13536
13537         * tools/gst-launch.c: (main):
13538           If the top-level of the parse is a normal bin, it doesn't do the
13539           right logic to run as a top-level element, so place it inside a
13540           pipeline.
13541
13542 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13543
13544         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13545           Remove superfluous g_object_notify() calls, GObject does
13546           that for us automatically.
13547
13548 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13549
13550         * gst/gstinfo.h:
13551           on Win32, use dllspec to export the debug category symbols
13552
13553 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13554
13555         * gst/gsttaglist.c: (_gst_tag_initialize):
13556           Allow more than one GST_TAG_IMAGE per taglist.
13557
13558 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13559
13560         * gst/gstminiobject.c:
13561           update docs
13562         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13563         (gst_fd_src_create):
13564           log recurring events at LOG level
13565           add more debug for when the fd gets set
13566
13567 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13568
13569         * gst/gstparse.c: (gst_parse_launch):
13570           Also remove reentrance checks if flex is MT safe (#348179)
13571          Fix my empty ChangeLog entry below
13572
13573 2006-07-21  Andy Wingo  <wingo@pobox.com>
13574
13575         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13576
13577         * libs/gst/check/Makefile.am
13578         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13579         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13580         * libs/gst/check/gstbufferstraw.h:
13581         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13582         functions, thus proving I am still a GStreamer haxor. OK I wrote
13583         them a long time ago, but anyways.
13584
13585 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13586
13587         * configure.ac:
13588         * gst/gstparse.c: (gst_parse_launch):
13589           Check for flex version and omit mutex if we have a MT save flex
13590           (fixes #348179)
13591
13592 2006-07-21  Wim Taymans  <wim@fluendo.com>
13593
13594         * gst/gstparse.c: (gst_parse_launch):
13595         Protect recursive calls to _parse with a recursive mutex
13596         and busy flag.
13597
13598 2006-07-21  Wim Taymans  <wim@fluendo.com>
13599
13600         * tests/check/gst/gstpad.c: (GST_START_TEST):
13601         Fix leak in test.
13602
13603 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13604
13605         * gst/gstparse.c: (gst_parse_launch):
13606           Do not hang on recursive usage of gst_parse_launch()
13607
13608 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13609
13610         * gst/gsttaglist.c:
13611           Add some more docs, comments and FIXME 0.11s here and there
13612           and also fix some typos.
13613
13614 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13615
13616         * gst/gstsegment.h:
13617           Convert tabs to spaces for better readability. 
13618
13619 2006-07-20  Edward Hervey  <edward@fluendo.com>
13620
13621         * tests/check/libs/gdp.c: (gst_dp_suite):
13622         the test_buffer test fails at line 140 on ppc64 at the following
13623         check:
13624         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13625                 GST_BUFFER_FLAG_IN_CAPS),
13626                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13627         See bug #348114 for more details.
13628
13629 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13630
13631         * docs/pwg/advanced-scheduling.xml:
13632         * gst/gstpad.c:
13633           Fix typos (#348000).
13634
13635 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13636
13637         * docs/pwg/intro-basics.xml:
13638           Fix wrong links (#347927).
13639
13640 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13641
13642         * gst/gstregistry.h:
13643         * gst/gstregistryxml.c: (load_feature),
13644         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13645         * win32/common/config.h:
13646           make --disable-index work (#342564)
13647
13648 2006-07-18  Wim Taymans  <wim@fluendo.com>
13649
13650         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13651
13652         * gst/Makefile.am:
13653         * gst/gsttrace.h:
13654         The attached patch adds two missing defines to gsttrace.h when tracing
13655         is disabled.  It also corrects one existing define.
13656         Fixes #347756.
13657
13658 2006-07-17  Wim Taymans  <wim@fluendo.com>
13659
13660         * docs/gst/gstreamer-sections.txt:
13661         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13662         * gst/gst.h:
13663         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13664         Add two functions to check and change the SIGSEGV behaviour
13665         when loading plugins.
13666         Don't mess with the SIGSEGV handler when we were told not to.
13667         Fixes #347794.
13668         API: gst_segtrap_is_enabled
13669         API: gst_segtrap_set_enabled
13670
13671 2006-07-14  Wim Taymans  <wim@fluendo.com>
13672
13673         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13674         * tests/check/elements/filesrc.c: (GST_START_TEST):
13675         Revert fix for regression in #347408 after release.
13676
13677 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13678
13679         Patch by: Antoine Tremblay <hexa00 at gmail com>
13680
13681         * gst/gstutils.c: (gst_element_unlink):
13682           Free iterator when done (#347311).
13683
13684         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13685           And add a test case for this.
13686
13687 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13688
13689         * configure.ac:
13690         Bump nano back to CVS
13691
13692 === release 0.10.9 ===
13693
13694 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13695
13696         * configure.ac:
13697           releasing 0.10.9, "On the road again"
13698
13699 2006-07-13  Wim Taymans  <wim@fluendo.com>
13700
13701         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13702         * tests/check/elements/filesrc.c: (GST_START_TEST):
13703         Revert pull-0 fix for release. Disable check. Fixes #347408.
13704
13705 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13706
13707         * libs/gst/dataprotocol/dataprotocol.c:
13708         (gst_dp_event_from_packet_1_0):
13709           Fixes #347337: failure to deserialize event packets with
13710           empty payload (only event type)
13711
13712 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13713
13714         * gst/Makefile.am:
13715           do not install a .c file in the header directory
13716
13717 2006-07-13  Edward Hervey  <edward@fluendo.com>
13718
13719         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13720         GhostPad no longer implicitely use the padtemplates of the targets.
13721         Fixes #347384
13722
13723 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13724
13725         * gst/gstvalue.c: (gst_value_compare_list),
13726         (gst_value_compare_array), (_gst_value_initialize):
13727         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13728         Make GstValueArray comparison be order dependent as designed.
13729         Add checks for value lists and value array comparisons.
13730         Fixes #347221
13731
13732 2006-07-11  Edward Hervey  <edward@fluendo.com>
13733
13734         * gst/gstbin.c: (activate_pads),
13735         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13736         (gst_bin_change_state_func):
13737         (de)activate src pads before calling state_change on the childs.
13738         This is to avoid the case where a src ghostpad is blocked (holding the
13739         stream lock), which would block the deactivation of the ghostpad's
13740         target pad.
13741         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13742         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13743         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13744         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13745         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13746         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13747         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13748         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13749         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13750         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13751         (gst_ghost_pad_class_init),
13752         (gst_ghost_pad_internal_do_activate_push),
13753         (gst_ghost_pad_internal_do_activate_pull),
13754         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13755         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13756         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13757         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13758         GhostPads now create their internal GstProxyPad at creation (and not
13759         when they're linked, as it was being done previously).
13760         The internal and target pads are linked straight away.
13761         The data will also travel through the other pad in order to make
13762         pad blocking and probes non-hackish (the probe/block now really happens
13763         on the GhostPad and not on the target).
13764         * gst/gstpad.c: (gst_pad_set_blocked_async),
13765         (gst_pad_link_prepare), (gst_pad_push_event):
13766         Remove previous ghostpad cruft.
13767         * gst/gstutils.c: (gst_pad_add_data_probe),
13768         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13769         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13770         (gst_pad_remove_buffer_probe):
13771         Remove previous ghost pad cruft.
13772         Added more detailed debug statements.
13773         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13774         Fix the testsuite for refcounting changes.
13775         The comments about who has references were correct, but the refcount
13776         being checked wasn't the same (!?!).
13777
13778         Fixes #341029
13779
13780 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13781
13782         * docs/gst/gstreamer-sections.txt:
13783         * gst/gstconfig.h.in:
13784         More docs for configuration options, add docs to gtk-doc.
13785
13786 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13787
13788         * gst/Makefile.am:
13789         * gst/gstconfig.h.in:
13790         * win32/common/config.h:
13791         Fix build when disabling tracing (fixes #344016). Also start to document
13792         the defines that disable the sub-systems.
13793
13794 2006-07-10  Edward Hervey  <edward@fluendo.com>
13795
13796         * gst/gst.c: (ensure_current_registry_forking):
13797         let's make valgrind happy...
13798
13799 2006-07-09  Wim Taymans  <wim@fluendo.com>
13800
13801         * gst/gstelement.c: (activate_pads),
13802         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13803         Better pad activation code: Reset the collect value too on resync.
13804         Add some comments.
13805
13806 2006-07-09  Wim Taymans  <wim@fluendo.com>
13807
13808         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13809         (gst_pad_activate_push):
13810         Use some more macros where it makes sense.
13811         Allow pad mode switching instead of asserting. When a pad
13812         is activated in one mode and we activate it in another, 
13813         deactivate it first before activating it in a different mode.
13814         Fixes #329198.
13815
13816 2006-07-08  Andy Wingo  <wingo@pobox.com>
13817
13818         * tools/gst-launch.c (main): Handle err == NULL.
13819
13820         * gst/gst.c (init_post, ensure_current_registry)
13821         (ensure_current_registry_forking)
13822         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13823         factoring out the registry scanning into separate functions. Don't
13824         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13825         Better environment var name/interface suggestions accepted.
13826
13827 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13828
13829         * gst/gstobject.c: (gst_object_set_name_default),
13830         (gst_object_set_name):
13831           Random micro-optimisation: don't use a hash table
13832           with strings as keys and the usual strdup/strcmp
13833           involved, but rather just use the GQuark of the
13834           type name as key, since it needs to be looked up
13835           anyway to get the type name string.
13836
13837         * tests/check/gst/gstobject.c: (GST_START_TEST):
13838           Fix various leaks.
13839
13840 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13841
13842         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13843         (gst_bin_iterate_all_by_interface):
13844           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13845           GTypes are gulongs and thus the top 4 bytes might be cut
13846           off on some platforms when doing GPOINTER_TO_INT, leading
13847           to invalid GTypes and bad things happening (see RH bug #179654).
13848           Also add a check to make sure the type passed in is really
13849           an interface type.
13850
13851 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13852
13853         * .cvsignore:
13854           Ignore more.
13855
13856 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13857
13858         * Makefile.am:
13859         * configure.ac:
13860         * gst-element-check.m4:
13861         * gst-element-check.m4.in:
13862           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13863           instead of the unversioned gst-inspect (#324176, #168659).
13864
13865 2006-07-06  Wim Taymans  <wim@fluendo.com>
13866
13867         * gst/gstmessage.h:
13868         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13869         warnings.
13870
13871 2006-07-06  Wim Taymans  <wim@fluendo.com>
13872
13873         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13874         (gst_base_src_wait), (gst_base_src_update_length),
13875         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13876         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13877         (gst_base_src_loop), (gst_base_src_start),
13878         (gst_base_src_activate_pull):
13879         Update docs.
13880         blocksize == 0 now means the default blocksize when working in push
13881         based mode.
13882         Remove some pointless asserts in _wait function.
13883         Fix offset/length calculations and EOS handling. We can now pull 0
13884         bytes as well, which is allowed.
13885         use _check_get_range() to decide if we can operate in _pull based
13886         mode.
13887         Fix refcounting leak when check_get_range function was not 
13888         implemented.
13889         API GstBaseSrc::blocksize range can be 0 too now (default)
13890
13891         * tests/check/elements/filesrc.c: (GST_START_TEST),
13892         (filesrc_suite):
13893         Added check to test _get_range() behaviour.
13894
13895 2006-07-06  Wim Taymans  <wim@fluendo.com>
13896
13897         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13898         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13899         (gst_pad_pull_range):
13900         * gst/gstpad.h:
13901         Lots of comments and docs added to the pad functions.
13902         Flesh out the expected behaviour of the get_range() functions.
13903
13904 2006-07-06  Wim Taymans  <wim@fluendo.com>
13905
13906         * gst/gstbus.h:
13907         * gst/gstclock.h:
13908         * gst/gstevent.h:
13909         * gst/gstiterator.h:
13910         * gst/gstpad.h:
13911         * gst/gstplugin.h:
13912         * gst/gsttask.h:
13913         Remove comma at end of enumerator list. 
13914
13915 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13916
13917         * win32/common/libgstbase.def:
13918         * win32/common/libgstdataprotocol.def:
13919         * win32/common/libsgtreamer.def:
13920         Add new exported functions.
13921
13922 2006-07-05  Wim Taymans  <wim@fluendo.com>
13923
13924         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13925         Add some more docs here and there.
13926
13927 2006-07-05  Wim Taymans  <wim@fluendo.com>
13928
13929         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13930         (gst_base_sink_loop), (gst_base_sink_get_position):
13931         When operating in pull mode update the offset so that we
13932         read sequentially.
13933
13934 2006-07-05  Wim Taymans  <wim@fluendo.com>
13935
13936         * gst/gstregistryxml.c: (read_string):
13937         Avoid strdup. (will happen in libxml, but hey!)
13938
13939         * gst/gsturi.c:
13940         Add some more docs.
13941
13942 2006-07-05  Wim Taymans  <wim@fluendo.com>
13943
13944         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13945         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13946         (gst_buffer_suite):
13947         No point in checking if the size of the subbuffer > 0, the
13948         code handles it correclty as demonstrated by unit test.
13949         Also add a unit test for the zero sized _new_and_alloc and
13950         _copy. Fixes #346663.
13951
13952 2006-07-05  Wim Taymans  <wim@fluendo.com>
13953
13954         * libs/gst/base/gstbasetransform.c:
13955         (gst_base_transform_prepare_output_buffer),
13956         (gst_base_transform_buffer_alloc),
13957         (gst_base_transform_handle_buffer):
13958         Make sure the buffer we pass to transform_ip has a refcount of
13959         1 and thus is writable. Fixes #343196
13960
13961 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13962
13963         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13964         (gst_file_src_init), (gst_file_src_set_property),
13965         (gst_file_src_get_property), (gst_file_src_map_region):
13966         * plugins/elements/gstfilesrc.h:
13967         Add "sequential" property, off by default, to use madvise and hint
13968         to the kernel that sequential access is desired.
13969         Touch all retrieved pages by default to ensure they are pulled
13970         into memory. (Closes #345720)
13971
13972 2006-07-03  Wim Taymans  <wim@fluendo.com>
13973
13974         * docs/design/part-block.txt:
13975         * docs/design/part-dynamic.txt:
13976         Small docs updates.
13977
13978 2006-07-03  Wim Taymans  <wim@fluendo.com>
13979
13980         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13981         (gst_caps_unref), (gst_static_caps_get),
13982         (gst_caps_append_structure):
13983         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13984         Use GSlice when the glib we build against is >= 2.10
13985
13986 2006-07-03  Wim Taymans  <wim@fluendo.com>
13987
13988         * gst/gstelement.c: (gst_element_pads_activate):
13989         Small cleanup in pad activation code.
13990
13991 2006-07-03  Wim Taymans  <wim@fluendo.com>
13992
13993         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13994
13995         * gst/gst-i18n-app.h:
13996         * gst/gst-i18n-lib.h:
13997         * tools/gst-inspect.c: (print_signal_info):
13998         The attached patch will make the inclusion of gettext.h unconditional in
13999         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14000         libintl.h in tools/gst-inspect.c.
14001         This allows use of --disable-nls again and fixes #344642.
14002
14003 2006-07-03  Edward Hervey  <edward@fluendo.com>
14004
14005         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14006         Implement pad blocking on events according to part-block.txt.
14007         More comments on behaviour.
14008         * tests/check/gst/gstevent.c: (test_event):
14009         Send event to peer pad of blocked pad (else it will block).
14010
14011 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14012
14013         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14014         (gst_check_run_suite):
14015           if we get the wrong message, give us the types as string
14016         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14017           Fix a translatable
14018         * tests/check/elements/filesrc.c: (GST_START_TEST):
14019           add a test for trying to open a non-existing file
14020
14021 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14022
14023         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14024           add a test for adding self
14025
14026 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14027
14028         * libs/gst/check/gstcheck.h:
14029           add some assert_ as alias for fail_unless_*
14030         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14031           increase test coverage
14032
14033 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14034
14035         * Makefile.am:
14036           include lcov.mak for lcov coverage generation
14037         * tools/Makefile.am:
14038           add to CLEANFILES
14039
14040 2006-07-02  Edward Hervey  <edward@fluendo.com>
14041
14042         * tests/check/elements/.cvsignore:
14043         moaping
14044
14045 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14046
14047         * configure.ac:
14048           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14049         * tests/check/Makefile.am:
14050           clean up gcov files
14051
14052 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14053
14054         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14055           remove gst_caps_simplify; it was not declared and not used
14056           and deprecated in 0.8
14057
14058 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14059
14060         * docs/faq/gst-uninstalled:
14061           don't put empty paths on PYTHONPATH
14062         * docs/gst/gstreamer-sections.txt:
14063           remove some symbols that are not there
14064
14065 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14066
14067         * gst/gstcaps.c: (gst_caps_compare_structures):
14068           whitespace fixes
14069         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14070         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14071           add more tests
14072
14073 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14074
14075         * libs/gst/dataprotocol/Makefile.am:
14076           build dataprotocol test by linking to the lib, instead of
14077           compiling the source, so we get coverage
14078         * tests/check/Makefile.am:
14079         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14080         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14081           add a test for filesrc
14082
14083 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14084
14085         * tests/check/gst/gststructure.c: (GST_START_TEST),
14086         (gst_structure_suite):
14087           Push coverage from 59.04% to 70.00%
14088
14089 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14090
14091         * tests/check/Makefile.am:
14092           gst-inspect every element; this makes sure that we also get
14093           coverage on element's get/set functions
14094
14095 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14096
14097         * configure.ac:
14098           set CFLAGS and friends to -O0 if gcov is being used
14099           add GCOV LIBS
14100         * gst/Makefile.am:
14101         * libs/gst/base/Makefile.am:
14102         * libs/gst/check/Makefile.am:
14103         * libs/gst/controller/Makefile.am:
14104         * libs/gst/dataprotocol/Makefile.am:
14105         * libs/gst/net/Makefile.am:
14106         * plugins/elements/Makefile.am:
14107         * plugins/indexers/Makefile.am:
14108           add makefile rules to generate gcov data and clean up
14109         * tests/check/Makefile.am:
14110           add a coverage target that generates an html overview
14111           of coverage data
14112
14113 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14114
14115         * tests/check/elements/fakesink.c:
14116         * tests/check/elements/fakesrc.c:
14117         * tests/check/elements/fdsrc.c:
14118         * tests/check/elements/identity.c:
14119         * tests/check/generic/sinks.c: (gst_sinks_suite):
14120         * tests/check/generic/states.c:
14121         * tests/check/gst/gst.c:
14122         * tests/check/gst/gstabi.c:
14123         * tests/check/gst/gstbin.c:
14124         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14125         * tests/check/gst/gstbus.c: (gst_bus_suite):
14126         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14127         * tests/check/gst/gstelement.c:
14128         * tests/check/gst/gstevent.c: (gst_event_suite):
14129         * tests/check/gst/gstghostpad.c:
14130         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14131         * tests/check/gst/gstmessage.c: (gst_message_suite):
14132         * tests/check/gst/gstminiobject.c:
14133         * tests/check/gst/gstobject.c:
14134         * tests/check/gst/gstpad.c:
14135         * tests/check/gst/gstpipeline.c:
14136         * tests/check/gst/gstplugin.c:
14137         * tests/check/gst/gstquery.c: (gst_query_suite):
14138         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14139         * tests/check/gst/gststructure.c:
14140         * tests/check/gst/gstsystemclock.c:
14141         * tests/check/gst/gsttag.c:
14142         * tests/check/gst/gsttask.c: (gst_task_suite):
14143         * tests/check/gst/gstutils.c:
14144         * tests/check/gst/gstvalue.c:
14145         * tests/check/libs/adapter.c:
14146         * tests/check/libs/basesrc.c:
14147         * tests/check/libs/collectpads.c:
14148         * tests/check/libs/controller.c:
14149         * tests/check/libs/gdp.c: (gst_dp_suite):
14150         * tests/check/libs/gstnetclientclock.c:
14151         * tests/check/libs/gstnettimeprovider.c:
14152         * tests/check/libs/libsabi.c: (libsabi_suite):
14153         * tests/check/libs/typefindhelper.c:
14154         * tests/check/pipelines/cleanup.c:
14155         * tests/check/pipelines/parse-launch.c:
14156         * tests/check/pipelines/simple-launch-lines.c:
14157         * tests/check/pipelines/stress.c: (stress_suite):
14158           use the new macro
14159
14160 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14161
14162         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14163         * libs/gst/check/gstcheck.h:
14164           create a macro and function so that the simple unit test
14165           case can be just one macro to create main()
14166
14167 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14168
14169         * gst/gstbin.c: (gst_bin_restore_thyself):
14170         * gst/gstxml.c: (gst_xml_make_element):
14171           Fix deserialisation from XML. Set parent manually
14172           instead of using gst_bin_add(), since gst_bin_add()
14173           will unlink all pads of the element being added.
14174           Fixes #341667.
14175
14176 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14177
14178         Patch by: Peter Kjellerstedt <pkj at axis com>
14179
14180         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14181           Fix missing g_strdup() and double free when using the
14182           --gst-plugin-load command line option (#346097).
14183
14184 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14185
14186         * gst/gstinfo.c:
14187           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14188
14189         * libs/gst/net/gstnetclientclock.c:
14190         * libs/gst/net/gstnettimeprovider.c:
14191           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14192
14193 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14194
14195         * docs/manual/advanced-dataaccess.xml:
14196           Fix buffer probe example compilation in
14197           ADM (#345708).
14198         
14199 2006-06-22  Edward Hervey  <edward@fluendo.com>
14200
14201         * gst/gstelement.c: (gst_element_pads_activate):
14202         We need to deactivate src pads first and then sink pads.
14203         The reason is the src pads might be blocking while holding the streaming
14204         lock, so we need to deactivate them first so that deactivating the sink
14205         pads doesn't block (since it will require the streaming lock).
14206
14207 2006-06-22  Wim Taymans  <wim@fluendo.com>
14208
14209         * libs/gst/base/gstbasetransform.c:
14210         (gst_base_transform_buffer_alloc):
14211         Forgot to remove two unneeded unrefs.
14212         Simplify a check _is_equal allready checks the obvious case.
14213
14214 2006-06-22  Wim Taymans  <wim@fluendo.com>
14215
14216         * docs/design/part-block.txt:
14217         Some docs about what pad_block should do.
14218
14219 2006-06-22  Wim Taymans  <wim@fluendo.com>
14220
14221         * gst/gstcaps.c: (gst_caps_replace):
14222         Fix crasher when passed NULL. Doc clarification.
14223         Optimize for the trivial case.
14224
14225         * gst/gstpipeline.c: (gst_pipeline_change_state):
14226         Small cleanups.
14227
14228         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14229         Small documentation cleanup.
14230
14231         * libs/gst/base/gstbasetransform.c:
14232         (gst_base_transform_buffer_alloc):
14233         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14234         is what we need and it avoids a whole lot of redundant 
14235         refcount operations.
14236
14237 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14238
14239         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14240
14241         * docs/manual/advanced-dataaccess.xml:
14242           Fix 'Embedding static elements' section to use
14243           GST_PLUGIN_DEFINE_STATIC (#345607).
14244
14245 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14246
14247         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14248           Attempt to 'fix' spuriously failing test case: it seems like the
14249           timeout of half a second is simply too small when the system is under
14250           load otherwise, and the timeout doesn't really seem to serve any
14251           particular purpose here. Give the pipeline a few seconds to preroll
14252           first, and then give it another half a second to go from PAUSED to
14253           PLAYING and marshal the message into the main thread.
14254
14255 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14256
14257         * tools/gst-feedback-m.m:
14258           Don't only use unversioned tools, try versioned tools as well
14259           (#345086).
14260
14261 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14262
14263         * gst/gstbus.c: (gst_bus_class_init):
14264           Fix some typos, make docs more explicit.
14265
14266 2006-06-20  Wim Taymans  <wim@fluendo.com>
14267
14268         * tests/check/gst/gstghostpad.c: (block_callback),
14269         (GST_START_TEST), (gst_ghost_pad_suite):
14270         Added some more ghostpad tests, mainly blocking
14271         and probes.
14272
14273 2006-06-16  Wim Taymans  <wim@fluendo.com>
14274
14275         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14276         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14277         (gst_file_sink_event), (gst_file_sink_render):
14278         * plugins/elements/gstfilesink.h:
14279         Check if we can seek in the file instead of assuming
14280         we always can. Post an error when we are asked to seek in a
14281         non-seekable file (like a fifo). Fixes #343312.
14282         Some cleanups.
14283
14284 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14285
14286         * tools/gst-launch.1.in:
14287           Un-garble (fourcc) bit in filtered caps section.
14288
14289 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14290
14291         * docs/manual/advanced-autoplugging.xml:
14292         * docs/manual/basics-helloworld.xml:
14293         * docs/manual/highlevel-components.xml:
14294           Don't leak bus reference in sample code.
14295
14296 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14297
14298         * autogen.sh:
14299           Add default for new --enable-plugin-docs switch.
14300
14301         * configure.ac:
14302           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14303           Fixes #344039.
14304
14305         * docs/Makefile.am:
14306           Use new ENABLE_PLUGIN_DOCS conditional.
14307
14308 2006-06-14  Wim Taymans  <wim@fluendo.com>
14309
14310         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14311         Make it clear with a FIXME and a real define what the #if 0
14312         previously disabled.
14313
14314 2006-06-14  Wim Taymans  <wim@fluendo.com>
14315
14316         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14317         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14318         * libs/gst/base/gstbasetransform.c:
14319         (gst_base_transform_sink_eventfunc):
14320         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14321         Don't randomly and silently reset a segment when the format 
14322         changes as this is a bug somewhere upstream. Fixes #330379.
14323
14324 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14325
14326         Patch by: Wouter Paesen  <wouter at kangaroot net>
14327
14328         * libs/gst/controller/gstcontroller.c:
14329         (gst_controlled_property_new):
14330           Fix controlling of float properties (#344849).
14331
14332         * tests/check/libs/controller.c:
14333         (gst_test_mono_source_get_property),
14334         (gst_test_mono_source_set_property),
14335         (gst_test_mono_source_class_init), (GST_START_TEST):
14336           While we're at it, add some float stuff to unit test.
14337
14338 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14339
14340         * docs/README:
14341         * docs/images/gdp-header.svg:
14342           add a gdp image
14343         * docs/libs/Makefile.am:
14344         * docs/libs/gdp-header.png:
14345         * libs/gst/dataprotocol/dataprotocol.c:
14346           add it to the API docs
14347         * docs/manual/intro-motivation.xml:
14348           fix typo
14349
14350 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14351
14352         * gst/gst.c: (scan_and_update_registry), (init_post):
14353           If the fork()'ed child process can't write the updated registry cache
14354           file to disk for some reason, make it exit with a failure exit code,
14355           so that the parent can then re-scan the plugins itself and update the
14356           registry structures in memory and work with that (rather than failing
14357           when creating elements because seemingly no plugins are available).
14358           Refactor registry scanning code into separate function for this and
14359           also separate fork() and non-fork() code paths. Fixes #344748.
14360
14361 2006-06-13  Wim Taymans  <wim@fluendo.com>
14362
14363         * docs/manual/advanced-dataaccess.xml:
14364         Fix wrong PluginDesc. Fixes #344755.
14365
14366 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14367
14368         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14369           Fix silly bug that prevented us from creating
14370           ~/.gstreamer-0.10 and writing the registry in one
14371           go (the first call to g_mkstemp() would overwrite the
14372           placeholder in the template string, so the second call
14373           to g_mkstemp() after creating the missing directory
14374           would then error out with 'invalid argument').
14375
14376 2006-06-13  Edward Hervey  <edward@fluendo.com>
14377
14378         * gst/gst.c: (init_post):
14379         Free string.
14380
14381 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14382
14383         * gst/glib-compat-private.h:
14384         * gst/glib-compat.c:
14385         * gst/glib-compat.h:
14386         * gst/gstvalue.c: (gst_value_serialize_flags):
14387           remove GLib 2.6 compatibility code
14388
14389 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14390
14391         * gst/parse/Makefile.am:
14392           Fix build with 'make -j N' even more (#340016).
14393
14394 2006-06-12  Wim Taymans  <wim@fluendo.com>
14395
14396         * docs/gst/gstreamer-sections.txt:
14397         Fix docs.
14398
14399 2006-06-12  Wim Taymans  <wim@fluendo.com>
14400
14401         * gst/gstsegment.c: (gst_segment_set_duration),
14402         (gst_segment_set_last_stop), (gst_segment_set_seek),
14403         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14404         (gst_segment_to_running_time), (gst_segment_clip):
14405         Use G_UNLIKELY to help the compiler a bit.
14406
14407 2006-06-12  Wim Taymans  <wim@fluendo.com>
14408
14409         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14410
14411         * gst/gstevent.c: (gst_event_get_type):
14412         * gst/gstmessage.c:
14413         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14414         (gst_pad_push):
14415         constify quark registration strings. Fixes #344115
14416         Avoid unneeded type checking is _pad_push() by internally
14417         calling gst_pad_chain_unchecked().
14418
14419 2006-06-12  Wim Taymans  <wim@fluendo.com>
14420
14421         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14422         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14423         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14424         (gst_buffer_is_span_fast), (gst_buffer_span):
14425         Init _type for consistency.
14426         Use _FLAGS macro to avoid type check.
14427         Avoid unneeded type checks in subbufer code.
14428
14429 2006-06-12  Wim Taymans  <wim@fluendo.com>
14430
14431         * gst/gst.c: (gst_debug_help):
14432         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14433         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14434         (gst_plugin_feature_list_free):
14435         * gst/gstregistry.c: (gst_registry_add_plugin),
14436         (gst_registry_add_feature), (gst_registry_plugin_filter),
14437         (gst_registry_feature_filter), (gst_registry_find_plugin),
14438         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14439         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14440         * gst/gstregistryxml.c: (load_feature),
14441         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14442         * gst/gstminiobject.c: (gst_mini_object_unref),
14443         (gst_mini_object_replace), (gst_value_mini_object_free),
14444         (gst_value_mini_object_copy):
14445         Use _CAST macros to avoid unneeded type checking.
14446         Added some more G_UNLIKELY.
14447
14448 2006-06-12  Wim Taymans  <wim@fluendo.com>
14449
14450         * gst/gstbuffer.h:
14451         Avoid unneeded type checking.
14452         API: GST_BUFFER_IS_DISCONT
14453
14454         * gst/gstminiobject.h:
14455         Avoid type check in flag accessor.
14456
14457         * gst/gstelementfactory.h:
14458         * gst/gstplugin.h:
14459         * gst/gstpluginfeature.h:
14460         Add _CAST macros.
14461         API: GST_ELEMENT_FACTORY_CAST
14462         API: GST_PLUGIN_CAST
14463         API: GST_PLUGIN_FEATURE_CAST
14464
14465 2006-06-12  Wim Taymans  <wim@fluendo.com>
14466
14467         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14468         (gst_object_unref):
14469         Add G_UNLIKELY in type registration.
14470         Avoid type check in _ref/_unref since that is also
14471         done in glib.
14472
14473 2006-06-12  Wim Taymans  <wim@fluendo.com>
14474
14475         * gst/gsterror.c: (gst_g_error_get_type):
14476         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14477         (gst_static_pad_template_get_type):
14478         * gst/gsttaglist.c: (gst_tag_list_get_type):
14479         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14480         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14481         * gst/gsturi.c: (gst_uri_handler_get_type):
14482         * gst/gstvalue.c: (gst_date_get_type):
14483         * gst/gstxml.c: (gst_xml_get_type):
14484         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14485         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14486         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14487         Add G_UNLIKELY in type registration.
14488
14489 2006-06-12  Wim Taymans  <wim@fluendo.com>
14490
14491         * tools/gst-inspect.c: (print_signal_info):
14492         Properly print enum values.
14493
14494 2006-06-12  Wim Taymans  <wim@fluendo.com>
14495
14496         * gst/gstinfo.c: (gst_debug_set_active),
14497         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14498         * gst/gstinfo.h:
14499         Add some G_[UN]LIKELY.
14500         Maintain __gst_debug_min to avoid formatting the arguments of
14501         debug messages that will be dropped anyway to avoid a lot of 
14502         overhead from the debugging system.
14503
14504 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14505
14506         * po/POTFILES.in:
14507         * po/POTFILES.skip:
14508           add missing files containing translatable strings, tell intltool about
14509           one exception
14510
14511 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14512
14513         * tests/check/libs/.cvsignore:
14514         add test-binary to ignore list
14515
14516 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14517
14518         * docs/libs/gstreamer-libs-docs.sgml:
14519         reorder (put dp into a chapter) and indent
14520
14521 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14522
14523         * configure.ac:
14524           back to HEAD
14525
14526 === release 0.10.8 ===
14527
14528 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14529
14530         * configure.ac:
14531           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14532
14533 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14534
14535         * gst/gst.c: (init_post):
14536           move pid declaration to declaration block
14537
14538 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14539
14540         * gst/gst.c: (init_post):
14541           use _exit() instead of exit() in our forked child; this ensures
14542           that none of the registered exit handlers from whatever is using
14543           GStreamer get executed.  This fixes gnome-mixer-applet failing
14544           to load, because ORBit would shut down.
14545           Spotted by: Edward Hervey  <edward@fluendo.com>
14546           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14547           Fixes #344474
14548
14549 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14550
14551         * configure.ac:
14552           back to TRUNK
14553
14554 === release 0.10.7 ===
14555
14556 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14557
14558         * configure.ac:
14559           releasing 0.10.7, "Soepeke, ik zie ou"
14560
14561 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14562
14563         * configure.ac:
14564         * po/af.po:
14565         * po/az.po:
14566         * po/bg.po:
14567         * po/ca.po:
14568         * po/cs.po:
14569         * po/de.po:
14570         * po/en_GB.po:
14571         * po/fr.po:
14572         * po/it.po:
14573         * po/nb.po:
14574         * po/nl.po:
14575         * po/ru.po:
14576         * po/sq.po:
14577         * po/sr.po:
14578         * po/sv.po:
14579         * po/tr.po:
14580         * po/uk.po:
14581         * po/vi.po:
14582         * po/zh_CN.po:
14583         * po/zh_TW.po:
14584         * win32/common/config.h:
14585           0.10.6.2 prerelease
14586
14587 2006-06-07  Wim Taymans  <wim@fluendo.com>
14588
14589         * gst/gstindex.c: (gst_index_gtype_resolver):
14590         * tools/gst-xmlinspect.c: (print_plugin_info):
14591         Fix leak spotted by coverity checker. Fixes #343827
14592         Fix another other leak found by paolo borelli.
14593
14594 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14595
14596         * libs/gst/dataprotocol/dataprotocol.c:
14597         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14598         (gst_dp_version_get_type), (gst_dp_init),
14599         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14600         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14601         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14602         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14603         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14604         (gst_dp_packetizer_free):
14605         * libs/gst/dataprotocol/dataprotocol.h:
14606           API: add a GstDPPacketizer object, and create/free functions
14607           API: add GstDPVersion enum
14608           Add 1.0 event function that uses the string serialization
14609           Serialize more useful buffer flags
14610           Fixes #343988
14611
14612 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14613
14614         * tests/check/Makefile.am:
14615         * tests/check/gst/gstabi.c:
14616         * tests/check/gst/struct_ppc64.h:
14617         * tests/check/libs/libsabi.c:
14618         * tests/check/libs/struct_ppc64.h:
14619           add ppc64 structure sizes
14620
14621 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14622
14623         * tests/check/Makefile.am:
14624         * tests/check/gst/gstabi.c:
14625         * tests/check/gst/struct_x86_64.h:
14626         * tests/check/libs/libsabi.c:
14627         * tests/check/libs/struct_x86_64.h:
14628           generate and add structure size lists for x86_64
14629
14630 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14631
14632         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14633         * libs/gst/check/gstcheck.h:
14634           factor out the method from tests that checks size of structures,
14635           and add code to generate the header containing these sizes
14636         * tests/check/gst/gstabi.c: (GST_START_TEST):
14637         * tests/check/gst/struct_i386.h:
14638         * tests/check/libs/libsabi.c: (GST_START_TEST):
14639         * tests/check/libs/struct_i386.h:
14640           use it
14641
14642 2006-06-06  Michael Smith  <msmith@fluendo.com>
14643
14644         * gst/gstsegment.h:
14645           Don't use c++-style comments, fixes #343929
14646
14647 2006-06-05  Edward Hervey  <edward@fluendo.com>
14648
14649         * gst/gst.c:
14650         plugin_paths is not used if we build without registry support.
14651
14652         * gst/gstsegment.c: (gst_segment_copy): 
14653         _copy() was always returning NULL...
14654
14655 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14656
14657         * libs/gst/dataprotocol/dataprotocol.c:
14658         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14659         (gst_dp_packet_from_event):
14660           factor out CRC code
14661
14662 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14663
14664         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14665           make sure we unset caps
14666
14667 2006-06-02  Michael Smith  <msmith@fluendo.com>
14668
14669         * libs/gst/check/gstcheck.c: (gst_check_init),
14670         (gst_check_chain_func):
14671         * libs/gst/check/gstcheck.h:
14672           Add a cond/mutex to the check support lib, signal this whenever we
14673           add to the buffers list. This will allow tests to not busy-wait on
14674           the buffer-list.
14675
14676 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14677
14678         * libs/gst/dataprotocol/dataprotocol.c:
14679         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14680         (gst_dp_packet_from_event):
14681           factor out some common header init code
14682
14683 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14684
14685         * docs/libs/gstreamer-libs-sections.txt:
14686         * docs/libs/tmpl/gstdataprotocol.sgml:
14687         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14688         * libs/gst/dataprotocol/dataprotocol.h:
14689           API: make gst_dp_crc() public
14690
14691 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14692
14693         * plugins/indexers/gstindexers.c: (plugin_init):
14694         conditionally register fileindexer (fixes #343598)
14695
14696 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14697
14698         * gst/gsttagsetter.h:
14699         Can't cast ifaces to a class
14700
14701         * libs/gst/net/gstnetclientclock.h:
14702         * libs/gst/net/gstnettimeprovider.h:
14703         * plugins/elements/gstfakesink.h:
14704         * plugins/elements/gstfakesrc.h:
14705         * plugins/elements/gstfdsink.h:
14706         * plugins/elements/gstfdsrc.h:
14707         * plugins/elements/gstfilesink.h:
14708         * plugins/elements/gstfilesrc.h:
14709         * plugins/elements/gstidentity.h:
14710         * plugins/elements/gstqueue.h:
14711         * plugins/elements/gsttee.h:
14712         * plugins/indexers/gstfileindex.c:
14713         * plugins/indexers/gstmemindex.c:
14714         * tests/old/examples/plugins/example.h:
14715         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14716
14717 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14718
14719         * libs/gst/dataprotocol/dataprotocol.c:
14720         (gst_dp_header_from_buffer):
14721           make sure we zero the whole ABI-compatible area
14722
14723 2006-06-01  Wim Taymans  <wim@fluendo.com>
14724
14725         Patch by: Alessandro Decina <alessandro at nnva dot org>
14726
14727         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14728         Make sure the EOS flag is cleared from pads after a flush
14729         or stop. Fixes #343538.
14730
14731         * tests/check/libs/collectpads.c: (GST_START_TEST),
14732         (gst_collect_pads_suite):
14733         Added test for collectpads reusage after EOS.
14734
14735 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14736
14737         * gst/gst.c:
14738          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14739         * win32/common/libgstbase.def:
14740          export gst_collect_pads_set_flushing
14741         * win32/common/libgstreamer.def:
14742          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14743          gst_value_fraction_multiply
14744         * win32/vs6/gst_inspect.dsp:
14745          add a link to intl.lib
14746
14747 2006-05-30  Wim Taymans  <wim@fluendo.com>
14748
14749         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14750         (gst_collect_pads_chain):
14751         Handle the case where a pad is removed from the collection
14752         that could cause the other pads to become collectable.
14753
14754 2006-05-30  Wim Taymans  <wim@fluendo.com>
14755
14756         * gst/gstelement.c:
14757         Clarify the use of _release_request_pad() and
14758         _get_request_pad() a bit better.
14759
14760         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14761         (gst_adapter_take_buffer):
14762         Fix some doc and comment typos.
14763
14764 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14765
14766         * docs/gst/gstreamer-sections.txt:
14767         * docs/libs/gstreamer-libs-sections.txt:
14768           add declared symbols
14769
14770 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14771
14772         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14773         Add debug that can be enabled using a #define at the top of the file,
14774         for dumping stats about how late/early we were when waking up from
14775         waiting on the clock.
14776
14777 2006-05-30  Wim Taymans  <wim@fluendo.com>
14778
14779         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14780         When rebuilding the pad list, don't leak the previous list.
14781
14782 2006-05-30  Wim Taymans  <wim@fluendo.com>
14783
14784         Patch by: Lutz Mueller <lutz at topfrose dot de>
14785
14786         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14787         (gst_base_src_get_query_types), (gst_base_src_update_length):
14788         Publish supported query types.
14789         Update last_stop field in get_range mode so the position
14790         query works. Fixes #342321.
14791
14792 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14793
14794         * docs/gst/gstreamer-sections.txt:
14795         * gst/gsttaglist.c: (_gst_tag_initialize):
14796         * gst/gsttaglist.h:
14797           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14798
14799 2006-05-30  Wim Taymans  <wim@fluendo.com>
14800
14801         Patch by: Alessandro Decina <alessandro at nnva dot org>
14802
14803         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14804         Unlock mutex when removing an unknown pad.
14805         Fixes #343334.
14806
14807         * tests/check/Makefile.am:
14808         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14809         (push_event), (setup), (teardown), (GST_START_TEST),
14810         (gst_collect_pads_suite), (main):
14811         Added collecpads check, disabled for now as check crashes for
14812         some reason.
14813
14814 2006-05-29  Wim Taymans  <wim@fluendo.com>
14815
14816         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14817         Don't leak pads lists.
14818
14819 2006-05-29  Wim Taymans  <wim@fluendo.com>
14820
14821         * docs/libs/gstreamer-libs-sections.txt:
14822         * libs/gst/base/gstcollectpads.c:
14823         (gst_collect_pads_set_flushing_unlocked),
14824         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14825         (gst_collect_pads_stop):
14826         * libs/gst/base/gstcollectpads.h:
14827         API: gst_collect_pads_set_flushing()
14828         Added api to set the pads to flushing, useful for seeking
14829         code in elements using collectpads.
14830         Clear segment when receiving a flush.
14831
14832 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14833
14834         * gst/gst.c: (add_path_func), (init_post):
14835           Don't scan registry paths passed via --gst-plugin-path immediately
14836           (will crash, because absolutely nothing is set up and no types are
14837           registered etc.); do this later in init_post(). Fixes #343057.
14838
14839 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14840
14841         * gst/gst.c: (init_post):
14842           if we have fork, fork while reading/rebuilding the registry
14843           so the parent doesn't take the hit of having all plugins loaded
14844           in memory.  Fixes #342777.
14845         * configure.ac:
14846           Check if we have fork()
14847         * win32/common/config.h.in:
14848           no fork() on win32
14849
14850 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14851
14852         * plugins/elements/gstelements.c:
14853         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14854         (gst_file_src_init), (gst_file_src_set_property),
14855         (gst_file_src_get_property), (gst_file_src_start):
14856         * plugins/elements/gstfilesrc.h:
14857           API: GstFileSrc::use-mmap
14858
14859         Add a use-mmap property to enable easier testing of all code paths.
14860         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14861         in the absence of gnomevfssrc. (Closes #340501)
14862
14863 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14864
14865         * tools/gst-inspect.c:
14866         Add missing include, removes warning of ngettext not being defined on
14867         some arches.
14868
14869 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14870
14871         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14872         Handle NULL input and output pointers silently as a failed conversion,
14873         rather than g_warnings.
14874
14875 2006-05-25  Wim Taymans  <wim@fluendo.com>
14876
14877         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14878         Initialize variable before using. Fixes #342820.
14879
14880 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14881
14882         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14883           Fix off-by-one bug that would only allow peeks of N-1 bytes
14884           from the start even if the buffer to typefind on contains
14885           in fact N bytes of data (makes vorbis typefinding from a
14886           vorbis identification header buffer work).
14887
14888         * tests/check/Makefile.am:
14889         * tests/check/libs/.cvsignore:
14890         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14891         (gst_typefindhelper_suite), (main), (foobar_typefind),
14892         (plugin_init):
14893           Add very basic unit test for gst_type_find_helper_for_buffer()
14894           that checks for the problem fixed above.
14895
14896 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14897
14898         * tools/gst-inspect.c: (print_interfaces),
14899         (print_element_properties_info), (print_element_list), (main):
14900           add more translatable strings
14901
14902 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14903
14904         Patch by: Julien Moutte  <julien at moutte net>
14905
14906         * docs/gst/gstreamer-sections.txt:
14907           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14908           
14909         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14910         (gst_fake_sink_preroll):
14911         * plugins/elements/gstfakesink.h:
14912           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14913
14914 2006-05-23  Wim Taymans  <wim@fluendo.com>
14915
14916         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14917         * gst/gstpad.h:
14918         Added _CUSTOM error and success GstFlowReturn that can be
14919         used be elements internally. 
14920         Added macro to check for SUCCESS flowreturns.
14921         API: GST_FLOW_CUSTOM_SUCCESS
14922         API: GST_FLOW_CUSTOM_ERROR
14923         API: GST_FLOW_IS_SUCCESS
14924
14925         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14926         Added check for GstFlowReturn sanity.
14927
14928 2006-05-23  Wim Taymans  <wim@fluendo.com>
14929
14930         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14931
14932         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14933         (gst_collect_pads_event):
14934         clear/reset segment info in FLUSH_STOP.
14935         Fixes #336929.
14936
14937 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14938
14939         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14940         (gst_collect_pads_check_collected):
14941         Flush queued buffer on _stop(), fixes playing again (#342454)
14942
14943 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14944
14945         * tests/check/gst/gststructure.c: (GST_START_TEST),
14946         (gst_structure_suite):
14947           add a test for a complete structure
14948
14949 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14950
14951         * docs/faq/developing.xml:
14952         * docs/faq/faq.xml:
14953         * docs/faq/troubleshooting.xml:
14954         * docs/faq/using.xml:
14955           Some minor FAQ updates that won't change the fact that
14956           our FAQ is badly structured, full of information hardly
14957           anyone new to GStreamer needs to know and lacking lots
14958           of information people constantly ask for.
14959           
14960 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14961
14962         * gst/gstpad.c: (gst_pad_set_caps):
14963           Short-circuit gst_pad_set_caps if setting the existing
14964           caps pointer again, and avoid printing debug and 
14965           reffing/unreffing the caps.
14966
14967         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14968           There's actually no need to set the caps before pushing -
14969           the acceptcaps method will handle it anyway.
14970
14971 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14972
14973         * docs/gst/gstreamer-sections.txt:
14974         * win32/common/libgstreamer.def:
14975         * gst/gstutils.c: (gst_element_seek_simple):
14976         * gst/gstutils.h:
14977           API: add gst_element_seek_simple() (#342238).
14978
14979 2006-05-18  Edward Hervey  <edward@fluendo.com>
14980
14981         * gst/gsttypefind.c: (gst_type_find_get_type):
14982         * gst/gsttypefind.h:
14983         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14984         registered for GstTypeFind pointers. This allows wrapping the structure
14985         in bindings (i.e. gst-python).
14986
14987 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14988
14989         * gst/gsttagsetter.c:
14990           Docs additions and fixes (see #339918).
14991
14992 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14993
14994         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14995         The caps intersection algorithm can produce multiple copies of the
14996         caps. Until that is fixed, we need to simplify the result to be
14997         sure whether the allowed caps are fixed or not.
14998
14999         * plugins/elements/gstqueue.c: (gst_queue_init),
15000         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15001         (gst_queue_push_one):
15002         Proxied buffer alloc should not set the caps on the source pad.
15003         When pushing buffers, we always accept the caps change that triggers.
15004         This prevents negotiation errors caused by caps changing mid-stream 
15005         and then being refused on our source pad (because upstream is now
15006         refusing those caps).
15007
15008 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15009
15010         * tests/examples/helloworld/helloworld.c: (main):
15011           Must plug audioconvert and audioresample between decoder
15012           and audio sink.
15013
15014 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15015
15016         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15017         (load_feature), (load_plugin):
15018         Allow empty strings for some of the plugin fields so we don't 
15019         drop valid plugin entries that were written out correctly
15020         (Fixes #341479)
15021
15022 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15023         
15024         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15025           Use g_remove and g_rename instead of remove and rename that don't 
15026           handle utf8 characters. rename was failing for users who had specific
15027           characters in their name then the registry was built at each 
15028           gstreamer init.
15029         * win32/vs6/gst_inspect.dsp:
15030         * win32/vs6/gst_launch.dsp:
15031         * win32/vs6/libgstbase.dsp:
15032         * win32/vs6/libgstcoreelements.dsp:
15033         * win32/vs6/libgstreamer.dsp:
15034           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15035           build of libgstreamer and clean unused libraries in projects link 
15036           settings.
15037
15038 2006-05-17  Edward Hervey  <edward@fluendo.com>
15039
15040         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15041         The queue is not responsible for pushing an EOS when receiving a fatal
15042         flow error. It's up to the real element driving the pipeline to do that.
15043
15044 2006-05-16  Edward Hervey  <edward@fluendo.com>
15045
15046         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15047         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15048         buffer returned a fatal error. It should just send an EOS and stop
15049         its task.
15050         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15051         when pushing buffers on the queue and will be able to handle the event.
15052
15053 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15054
15055         * docs/manual/basics-bins.xml:
15056         * docs/manual/basics-init.xml:
15057           Fix typos and minor errors in sample code (#341856).
15058
15059 2006-05-16  Wim Taymans  <wim@fluendo.com>
15060
15061         * docs/design/part-qos.txt:
15062         Fix indexes in formulas to make more sense.
15063
15064 2006-05-15  Wim Taymans  <wim@fluendo.com>
15065
15066         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15067         Don't report POSITION based on clock time if sync is
15068         disabled in a sink.
15069
15070 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15071
15072         * gst/gstobject.h:
15073           Add cast to make compiler happy - refcount variable was a gint
15074           in GstObject but is a guint in GObject and g_atomic_int_get()
15075           wants a gint *.
15076
15077 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15078
15079         * gst/parse/Makefile.am:
15080           chain commands using &&, which also makes parallel make work
15081
15082 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15083
15084         * docs/gst/gstreamer-sections.txt:
15085         * gst/gstevent.c:
15086         * gst/gstevent.h:
15087         * gst/gstmessage.h:
15088           Minor docs fixes.
15089
15090 === release 0.10.6 ===
15091
15092 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15093
15094         * configure.ac:
15095           releasing 0.10.6, "Take the cannoli"
15096
15097 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15098
15099         * tools/gst-launch.c: (print_tag):
15100           Fix use of uninitialized variable in the hypothetical
15101           case that some broken plugin creates a GST_TAG_IMAGE
15102           tag containing a NULL buffer (#341667).
15103
15104 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15105
15106         * tools/gst-launch.c: (print_tag):
15107           Print something more intelligible for image tags when
15108           using the -t switch (#341556).
15109
15110 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15111
15112         * Makefile.am:
15113           updates for win32
15114         * configure.ac:
15115           define GST_MAJORMINOR so we have it available in win32/common/config.h
15116           Possibly remove it from our Makefile.am files later
15117         * win32/common/config.h:
15118         * win32/common/config.h.in:
15119           added GST_MAJORMINOR
15120         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15121         * win32/common/gstversion.h:
15122           updated
15123
15124 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15125
15126         * win32/MANIFEST:
15127           Update win32 files listing.
15128         * win32/common/gstversion.h:
15129           Add GST_MAJORMINOR definition.
15130         * win32/common/libgstreamer.def:
15131           Add new exported functions.
15132           
15133 2006-05-12  Michael Smith  <msmith@fluendo.com>
15134
15135         * gst/gstplugin.c: (gst_plugin_load_file):
15136           If an so file has no plugin entry point, unload the module.
15137
15138 2006-05-11  Wim Taymans  <wim@fluendo.com>
15139
15140         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15141         (gst_queue_set_property):
15142         Don't forget to signal the _chain or _loop function 
15143         when the queue size or thresholds change since that might
15144         cause them to make progres again.
15145
15146 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15147
15148         * gst/gstclock.c: (gst_clock_class_init):
15149         * gst/gstindex.c: (gst_index_class_init):
15150         * gst/gstobject.c: (gst_object_class_init):
15151         * gst/gstpad.c: (gst_pad_class_init):
15152         * gst/gstpipeline.c: (gst_pipeline_class_init):
15153         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15154         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15155         * libs/gst/base/gstbasetransform.c:
15156         (gst_base_transform_class_init):
15157         * libs/gst/net/gstnetclientclock.c:
15158         (gst_net_client_clock_class_init):
15159         * libs/gst/net/gstnettimeprovider.c:
15160         (gst_net_time_provider_class_init):
15161         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15162         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15163         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15164         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15165         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15166         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15167         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15168         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15169         * plugins/elements/gsttee.c: (gst_tee_class_init):
15170         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15171         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15172           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15173
15174 2006-05-11  Wim Taymans  <wim@fluendo.com>
15175
15176         * gst/gstbuffer.c: (_gst_buffer_initialize):
15177         Register subbufer along with the buffer type so that
15178         it does not accidentally gets registered from N
15179         different streaming threads in a non threadsafe way.
15180
15181 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15182
15183         * gst/gstbuffer.h:
15184         * gst/gstevent.h:
15185         * gst/gstmessage.h:
15186           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15187           gst_event_ref() and gst_message_ref() functions again
15188           (ugly hack, please do fix if there's a better way besides
15189           overrides.txt, which doesn't seem to work).
15190
15191 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15192
15193         * libs/gst/check/gstcheck.h:
15194           add an assert for setting state to avoid lots of repetitive code
15195           in the future
15196
15197 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15198
15199         * gst/gstvalue.c: (gst_value_serialize_flags):
15200           fix a leak if no flags are set
15201         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15202           fix leak in tests
15203
15204 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15205
15206         * docs/manual/basics-pads.xml:
15207           Expand a bit on caps and filtered links and update
15208           examples that were still using the no longer existing
15209           gst_pad_link_filtered() (#338206).
15210
15211 2006-05-10  Wim Taymans  <wim@fluendo.com>
15212
15213         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15214         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15215         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15216         (gst_collect_pads_stop):
15217         * libs/gst/base/gstcollectpads.h:
15218         No need to call _stop in _finalize.
15219         Iterate the main pad list in _finalize.
15220         Added some more debug.
15221         Free lists and data in the right order.
15222         Also free data whem doing _remove_pad when stopped for
15223         backward compatibility protect ::started with PAD_LOCK as
15224         well.
15225
15226 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15227
15228         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15229         (gst_structure_parse_value):
15230           add some comments
15231           rename a method so that it actually says what it does better
15232
15233 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15234
15235         * gst/gstevent.c: (_gst_event_initialize):
15236         * gst/gstformat.c: (_gst_format_initialize):
15237           make sure some essential types used by events are registered
15238           as part of gst_init()
15239         * gst/gstvalue.c: (gst_value_serialize_flags):
15240           if no flags are set, serialize them to a value that represents NONE
15241           so that deserializing them works
15242         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15243           add tests for serialization and deserialization of flags
15244
15245 2006-05-10  Wim Taymans  <wim@fluendo.com>
15246
15247         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15248         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15249         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15250         (gst_collect_pads_event), (gst_collect_pads_chain):
15251         Update docs.
15252         Better debug info.
15253         Catch and return errors from the collect function
15254         Refuse data on eos pads.
15255
15256 2006-05-10  Edward Hervey  <edward@fluendo.com>
15257
15258         * gst/gstinterface.h:
15259         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15260         GInterface type checking.
15261         They were previously using non-defined macros.
15262
15263 2006-05-09  Wim Taymans  <wim@fluendo.com>
15264
15265         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15266         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15267         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15268         (gst_collect_pads_start), (gst_collect_pads_stop),
15269         (gst_collect_pads_peek), (gst_collect_pads_pop),
15270         (gst_collect_pads_available), (gst_collect_pads_read),
15271         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15272         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15273         (gst_collect_pads_chain):
15274         * libs/gst/base/gstcollectpads.h:
15275         Clean up the mess that is collectpads, add comments and
15276         FIXMEs where needed.
15277         Maintain a separate pad list so we can add pads while
15278         collecting the other ones. For this we need a new separate 
15279         lock (see comics).
15280         Fix memory leak in finalize.
15281         Refactor some weird code to set/unset pad flushing flags, mark
15282         with comments.
15283         Don't crash in _available, _read, _flush when we're EOS.
15284
15285         * tests/check/libs/.cvsignore:
15286         Ignore adapter check binary.
15287
15288 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15289
15290         * gst/gstindex.c: (gst_index_resolver_get_type):
15291         * plugins/elements/gstfakesink.c:
15292         (gst_fake_sink_state_error_get_type):
15293         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15294         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15295         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15296           Const-ify GEnumValue arrays.
15297
15298 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15299
15300         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15301           Add test case for flags + gst_buffer_make_metadata_writable().
15302
15303 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15304
15305         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15306           gst_buffer_make_metadata_writable() should maintain the
15307           buffer flags (those that make sense at least) (see #340859).
15308
15309 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15310
15311         * tools/gst-inspect.c:
15312         * tools/gst-launch.c:
15313         * tools/gst-typefind.c:
15314         * tools/gst-xmlinspect.c:
15315         * tools/tools.h:
15316           Fix up includes: need to include stdlib.h in tools.h for exit().
15317
15318 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15319
15320         * gst/gsttaglist.c: (_gst_tag_initialize):
15321         * gst/gsttaglist.h:
15322           API: add GST_TAG_IMAGE tag (#340721).
15323
15324 2006-05-08  Wim Taymans  <wim@fluendo.com>
15325
15326         * gst/gstquery.c:
15327         Added some docs for the segment query.
15328
15329 2006-05-08  Wim Taymans  <wim@fluendo.com>
15330
15331         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15332         (gst_base_src_loop), (gst_base_src_change_state):
15333         Always push non-flushing serialized events in the streaming 
15334         thread.
15335
15336 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15337
15338         * gst/gsterror.c: (_gst_stream_errors_init):
15339           Add a missing error string.
15340
15341 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15342
15343         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15344         Add applied_rate to the debug
15345
15346         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15347         Copy applied_rate into the outgoing NEWSEGMENT event
15348
15349 2006-05-08  Wim Taymans  <wim@fluendo.com>
15350
15351         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15352
15353         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15354         (gst_base_sink_change_state):
15355         call ::unlock before taking the PREROLL_LOCK so we can safely
15356         handle elements that lock in ::render.
15357         Fixes #340174.
15358
15359 2006-05-08  Edward Hervey  <edward@fluendo.com>
15360
15361         * autogen.sh: (CONFIGURE_DEF_OPT): 
15362         Darwin's libtoolize is in fact called glibtoolize.
15363         Adding glibtoolize to the list of accepted names for libtoolize.
15364
15365 2006-05-08  Wim Taymans  <wim@fluendo.com>
15366
15367         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15368         Unify error handling, don't post an error message
15369         when a push() returns EOS but perform our normal EOS
15370         handling code. Fixes #340772.
15371
15372 2006-05-08  Wim Taymans  <wim@fluendo.com>
15373
15374         * docs/design/part-overview.txt:
15375         Make upsteam/downstream concepts more clear.
15376         Give an example of serialized/non-serialized events.
15377
15378         * docs/design/part-events.txt:
15379         * docs/design/part-streams.txt:
15380         Mention applied_rate.
15381
15382         * docs/design/part-trickmodes.txt:
15383         Mention applied rate, flesh out some more use cases.
15384
15385         * gst/gstevent.c: (gst_event_new_new_segment),
15386         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15387         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15388         (gst_event_parse_tag), (gst_event_new_buffer_size),
15389         (gst_event_parse_buffer_size), (gst_event_new_qos),
15390         (gst_event_parse_qos), (gst_event_parse_seek),
15391         (gst_event_new_navigation):
15392         * gst/gstevent.h:
15393         Add applied_rate field to NEWSEGMENT event.
15394         API: gst_event_new_new_segment_full()
15395         API: gst_event_parse_new_segment_full()
15396
15397         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15398         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15399         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15400         * gst/gstsegment.h:
15401         Add applied_rate to GstSegment structure.
15402         Make calculation of stream_time and running_time more correct
15403         wrt rate/applied_rate.
15404         Add some more docs.
15405         API: GstSegment::applied_rate field
15406         API: gst_segment_set_newsegment_full();
15407
15408         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15409         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15410         * libs/gst/base/gstbasetransform.c:
15411         (gst_base_transform_sink_eventfunc),
15412         (gst_base_transform_handle_buffer):
15413         Parse and use applied_rate in the GstSegment field.
15414
15415         * tests/check/gst/gstevent.c: (GST_START_TEST):
15416         Add check for applied_rate field.
15417
15418         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15419         (gstsegments_suite):
15420         Add more checks for various GstSegment operations.
15421
15422 2006-05-08  Wim Taymans  <wim@fluendo.com>
15423
15424         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15425         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15426         (gst_base_sink_get_position), (gst_base_sink_change_state):
15427         Store the sync time of the buffer end position separatly in a
15428         new variable eos_rtime so we can properly sync the EOS event.
15429         Fixes #340697.
15430         Fix the docs for gst_base_sink_set_qos_enabled().
15431         Don't set segment start to invalid value when we receive a 
15432         non TIME newsegment.
15433         get closer to handling position reporting for negative rates 
15434         correctly.
15435
15436 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15437
15438         * gst/gstcaps.c:
15439         Docs about how to print caps for debug purposes.
15440
15441         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15442         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15443
15444 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15445
15446         * gst/gstelement.c:
15447           use full enum names and preprend a '%' in docs strings to make recent 
15448           gtk-doc turn that into a link
15449
15450 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15451
15452         * docs/manual/basics-bins.xml:
15453         * docs/manual/basics-bus.xml:
15454         * docs/manual/basics-pads.xml:
15455           Some typo fixes, some additions, some clarifications. 
15456
15457 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15458
15459         * tools/gst-inspect.c: (main):
15460         * tools/gst-launch.c: (main):
15461         * tools/gst-run.c: (main):
15462         * tools/gst-typefind.c: (main):
15463         * tools/gst-xmlinspect.c: (main):
15464           Use the string passed to g_option_context_new() for
15465           what it's intended for - the program name is already
15466           printed elsewhere.
15467
15468 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15469
15470         * tools/Makefile.am:
15471         * tools/gst-inspect.c: (main):
15472         * tools/gst-launch.c: (main):
15473         * tools/gst-xmlinspect.c: (main):
15474         * tools/tools.h:
15475           Add back --version command line option (#340460).
15476
15477         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15478           Add --version option and use GOption for argument parsing; refactor a
15479           bit; accept directories as arguments and recurse into them; lastly,
15480           print a decent error message when things go wrong.
15481
15482 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15483
15484         * docs/manual/basics-bins.xml:
15485         Don't mention GstThread (#340611)
15486         * docs/manual/basics-elements.xml:
15487         Update link to GObject tutorial (#340607)
15488         
15489 2006-05-05  Wim Taymans  <wim@fluendo.com>
15490
15491         * gst/gstbuffer.h:
15492         * gst/gstminiobject.c:
15493         Add note about refcounting and miniobject/buffer writeability
15494         to docs. Fixes #340604
15495
15496         * gst/gstelementfactory.h:
15497         Added some explanation about @klass.
15498
15499 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15500
15501         * docs/manual/intro-motivation.xml:
15502         * docs/manual/manual.xml:
15503         Avoid CORBA & Bonobo references (#340598)
15504
15505 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15506
15507         * docs/manual/basics-bus.xml:
15508         * docs/manual/basics-pads.xml:
15509         Fix up some inaccuracies and omissions (#340609)
15510         
15511 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15512
15513         * gst/gstghostpad.c:
15514           Small typo in docs (#340625)
15515
15516 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15517
15518         * gst/parse/Makefile.am:
15519           Make 'make -j' proof (see #340698).
15520
15521 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15522
15523         * configure.ac:
15524           Require GLib-2.8 here as well.
15525
15526 2006-05-05  Wim Taymans  <wim@fluendo.com>
15527
15528         * gst/glib-compat.c:
15529         * gst/gst.c: (init_pre):
15530         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15531         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15532         (gst_object_dispatch_properties_changed):
15533         * gst/gstobject.h:
15534         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15535         * gst/gststructure.c: (gst_structure_set_valist):
15536         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15537         Remove pre glib2.8 compatibility, fixes #340508
15538
15539 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15540
15541         * gst/gsttaglist.h:
15542           Mention type of tags in doc blurbs.
15543
15544 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15545
15546         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15547         (gst_pad_configure_src), (gst_pad_push):
15548         Restore acceptcaps checking behaviour now that good plugins have
15549         been released.
15550
15551 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15552
15553         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15554
15555         * gst/gst.c:
15556         * gst/gstbus.c:
15557         * gst/gstclock.c:
15558         * gst/gstevent.c:
15559         * gst/gstformat.c:
15560         * gst/gstmessage.c:
15561         * gst/gstparse.c:
15562         * gst/gstquery.c:
15563         * gst/gstutils.c:
15564         * gst/parse/Makefile.am:
15565         * libs/gst/base/gstadapter.c:
15566         * libs/gst/base/gstbasesrc.c:
15567         * libs/gst/base/gstpushsrc.c:
15568         * libs/gst/base/gsttypefindhelper.c:
15569         * plugins/elements/gstfakesrc.c:
15570         * plugins/elements/gstidentity.c:
15571           Make sure gstprivate.h and/or config.h are
15572           always included first, otherwise some of our
15573           defines (like _FILE_OFFSET_BITS) might be
15574           redefined in the system headers. Fixes build
15575           on opensolaris (#340016).
15576
15577 2006-05-04  Wim Taymans  <wim@fluendo.com>
15578
15579         * docs/libs/gstreamer-libs-sections.txt:
15580         API: addition: gst_adapter_take_buffer()
15581         
15582         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15583         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15584         (gst_adapter_available_fast):
15585         * libs/gst/base/gstadapter.h:
15586         Prepare for optimizing the hell out of this hugely inefficient
15587         piece of code. 
15588         Added gst_adapter_take_buffer() so we can at least start thinking
15589         about subbuffering and merging.
15590         Added some comments.
15591
15592         * tests/check/Makefile.am:
15593         * tests/check/libs/adapter.c: (GST_START_TEST),
15594         (gst_adapter_suite), (main):
15595         Added GstAdapter check.
15596
15597 2006-05-04  Wim Taymans  <wim@fluendo.com>
15598
15599         * docs/design/part-overview.txt:
15600         Fix some typos, add blurb about buffer flags.
15601
15602 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15603
15604         * docs/libs/gstreamer-libs-sections.txt:
15605           make sure GstBaseTransformClass shows up in the docs
15606         * libs/gst/base/gstbasetransform.c:
15607         * libs/gst/base/gstbasetransform.h:
15608           move docs so gtk-doc picks it up now
15609
15610 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15611
15612         * docs/libs/gstreamer-libs-sections.txt:
15613           add missing symbols to docs
15614
15615 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15616
15617         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15618           back out the newsegment handling change, see #340060 for ongoing
15619           discussion
15620
15621 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15622
15623         * tools/gst-run.c: (get_candidates), (main):
15624           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15625           work); fix typo in error message. Fixes #340079.
15626
15627 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15628
15629         * common/Makefile.am:
15630         * docs/Makefile.am:
15631         * docs/faq/Makefile.am:
15632         * docs/gst/Makefile.am:
15633         * docs/libs/Makefile.am:
15634         * docs/manual/Makefile.am:
15635         * docs/plugins/Makefile.am:
15636         * docs/pwg/Makefile.am:
15637         * docs/slides/Makefile.am:
15638         * docs/upload.mak:
15639         * common/upload.mak:
15640           move upload.mak to common
15641
15642 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15643
15644         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15645           add more asserts on refcounts
15646           do more cleanup at end of tests
15647           fix test leaks showing in FC5
15648
15649 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15650
15651         * plugins/elements/gsttypefindelement.c:
15652         (gst_type_find_element_handle_event):
15653         reverted wrong change and reflowed code to avoid others falling into
15654         this trap
15655
15656 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15657
15658         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15659           fix changelog entry about last collectpads change,
15660           add notes about proper fix
15661
15662 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15663
15664         * gst/gst.c:
15665         * gst/gstregistry.c: (gst_registry_scan_path_level),
15666         (gst_registry_scan_path):
15667         * gst/gstregistry.h:
15668           only write out registry if it has changed, fixes #338339
15669
15670 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15671
15672         * gst/gstbin.c:
15673         * gst/gstpipeline.c:
15674         * plugins/elements/gstcapsfilter.c:
15675         * plugins/elements/gstfakesink.c:
15676         * plugins/elements/gstfakesrc.c:
15677         * plugins/elements/gstfdsink.c:
15678         * plugins/elements/gstfdsrc.c:
15679         * plugins/elements/gstfilesink.c:
15680         * plugins/elements/gstfilesrc.c:
15681         * plugins/elements/gstidentity.c:
15682         * plugins/elements/gstqueue.c:
15683         * plugins/elements/gsttee.c:
15684         * plugins/elements/gsttypefindelement.c:
15685         (gst_type_find_element_handle_event):
15686           make GstElementDetails const
15687
15688 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15689
15690         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15691         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15692         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15693           more detailed debug and formatting cleanup,
15694           forward newsegments to src-pad (so that e.g. adder not eats them)
15695
15696 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15697
15698         * gst/gstutils.c: (gst_element_link_pads):
15699           cleanup double code
15700
15701 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15702
15703         * libs/gst/controller/gstcontroller.c:
15704         (gst_controller_sync_values):
15705           some little tuning
15706         * tests/check/libs/controller.c: (GST_START_TEST),
15707         (gst_controller_suite):
15708           a new test for live value handling
15709
15710 2006-04-28  Wim Taymans  <wim@fluendo.com>
15711
15712         * gst/gstutils.c: (push_and_ref):
15713         Added some more docs.
15714         Fix refcount issue whith gst_element_found_tags() helper 
15715         function. Fixes #338335
15716
15717         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15718         Added testsuite for gst_element_found_tags().
15719
15720 2006-04-28  Michael Smith  <msmith@fluendo.com>
15721
15722         * gst/gstvalue.c: (gst_value_serialize_flags):
15723           Avoid NULL dereference when trying to serialize flags containing
15724           invalid values.
15725
15726 2006-04-28  Michael Smith  <msmith@fluendo.com>
15727
15728         * plugins/elements/gsttypefindelement.c:
15729         (gst_type_find_element_handle_event):
15730           If we get EOS before any data is accumulated, don't use
15731           uninitialised local variables.
15732
15733 2006-04-28  Michael Smith  <msmith@fluendo.com>
15734
15735         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15736         (gst_dp_event_from_packet):
15737           Fixes in reading/writing events over GDP (not currently used?) - 
15738           dereferencing NULL events for unknown/invalid event types, memory
15739           leak, and change g_warning to GST_WARNING.
15740
15741 2006-04-28  Wim Taymans  <wim@fluendo.com>
15742
15743         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15744         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15745         (gst_base_sink_get_position), (gst_base_sink_change_state):
15746         When frame dropping is enabled, we should not ignore frames
15747         without a duration.
15748         Update some documentation.
15749
15750 2006-04-28  Wim Taymans  <wim@fluendo.com>
15751
15752         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15753         (gst_base_src_send_event), (gst_base_src_change_state):
15754         Documentation updates.
15755
15756 2006-04-28  Wim Taymans  <wim@fluendo.com>
15757
15758         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15759         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15760         handle EAGAIN, EINTR and short writes correctly. Also clean
15761         up some error cases, avoid a deadlock on bad file descriptors and
15762         use GST_DEBUG_OBJECT.
15763         Fixes #339843
15764
15765 2006-04-28  Wim Taymans  <wim@fluendo.com>
15766
15767         * gst/gstvalue.c: (gst_value_serialize_buffer),
15768         (gst_value_deserialize_buffer):
15769         Don't try to serialize a GValue with a NULL buffer. 
15770         Fixes #339821.
15771
15772         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15773         Added check for serialisation of NULL buffers.
15774
15775 2006-04-28  Wim Taymans  <wim@fluendo.com>
15776
15777         * gst/gstminiobject.c: (gst_value_take_mini_object):
15778         Taking a NULL miniobject is valid, fix the case where
15779         we try to unref the NULL miniobject.
15780
15781 2006-04-28  Wim Taymans  <wim@fluendo.com>
15782
15783         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15784
15785         * gst/gstbin.c: (gst_bin_handle_message_func):
15786         Update docs.
15787         Don't leak bin refcount when a state recalc is
15788         in progress and we delay another one #339808.
15789
15790 2006-04-28  Wim Taymans  <wim@fluendo.com>
15791
15792         * docs/design/part-TODO.txt:
15793         Mention QoS as an ongoing work item.
15794
15795         * docs/design/part-buffering.txt:
15796         New doc about buffering that needs to be fleshed out
15797         at some point.
15798
15799         * docs/design/part-qos.txt:
15800         More QoS policy for decoders/demuxers/transforms
15801
15802         * docs/design/part-trickmodes.txt:
15803         Small update.
15804
15805 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15806
15807         * configure.ac:
15808           back to HEAD
15809
15810 === release 0.10.5 ===
15811
15812 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15813
15814         * configure.ac:
15815           releasing 0.10.5, "Fogo"
15816
15817 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15818
15819         patch by: Wim Taymans
15820
15821         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15822         (gst_pad_configure_src), (gst_pad_push):
15823         * gst/gstpipeline.c: (gst_pipeline_init):
15824           Fix internal data flow errors.  Fixes #338711.
15825
15826 2006-04-12  Wim Taymans  <wim@fluendo.com>
15827
15828         * tests/check/gst/gstelement.c: (GST_START_TEST):
15829         Don't leak the factory.
15830
15831 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15832
15833         * configure.ac:
15834         * win32/common/config.h:
15835           prerelease
15836
15837 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15838
15839         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15840         (gst_controller_unset_all):
15841           Free allocated GstTimedValues when freeing list nodes.
15842           Should fix leaks 'make check-valgrind' complains about.
15843
15844         * win32/common/libgstcontroller.def:
15845           Add gst_controller_unset_all.
15846
15847 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15848
15849         * docs/libs/gstreamer-libs-sections.txt:
15850         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15851         (gst_controller_unset_all):
15852         * libs/gst/controller/gstcontroller.h:
15853         API: Added new method gst_controller_unset_all()
15854         fixed gst_controller_unset()
15855         * tests/check/libs/controller.c: (GST_START_TEST),
15856         (gst_controller_suite):
15857         Added two testcases for new and fixed method
15858
15859 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15860
15861         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15862           MSG_DONTWAIT is not defined on Cygwin, so work
15863           around that (fixes #317048).
15864           
15865 2006-04-11  Wim Taymans  <wim@fluendo.com>
15866
15867         * gst/gstelementfactory.c: (gst_element_register),
15868         (gst_element_factory_create), (gst_element_factory_make):
15869         Some cleanups.
15870         Fixed a FIXME.
15871         Updated docs (Fixes #131079)
15872
15873         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15874         Small cleanups.
15875
15876         * tests/check/gst/gstelement.c: (GST_START_TEST),
15877         (gst_element_suite):
15878         Added testcase for elementfactory class field.
15879
15880 2006-04-10  Wim Taymans  <wim@fluendo.com>
15881
15882         * gst/gstsegment.c:
15883         Added some more docs.
15884
15885         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15886         (gst_base_sink_reset_qos):
15887         Calculate more accurate rate values.
15888
15889 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15890
15891         * gst/gst_private.h:
15892           add a new #ifdef to use __declspec(dllimport) only for
15893           other modules and not for gstreamer core
15894         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15895           use gst_guint64_to_gdouble for conversion
15896         * win32/common/libgstreamer.def:
15897           add new exported functions
15898         * win32/vs6/gst_inspect.dsp:
15899         * win32/vs6/gst_launch.dsp:
15900         * win32/vs6/libgstbase.dsp:
15901         * win32/vs6/libgstcontroller.dsp:
15902         * win32/vs6/libgstcoreelements.dsp:
15903         * win32/vs6/libgstdataprotocol.dsp:
15904         * win32/vs6/libgstnet.dsp:
15905           update project files
15906
15907 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15908
15909         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15910         * gst/gstclock.c: (gst_clock_class_init):
15911         * gst/gstelement.c: (gst_element_class_init):
15912         * gst/gstindex.c: (gst_index_class_init):
15913         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15914         * gst/gstobject.c: (gst_object_class_init),
15915         (gst_signal_object_class_init):
15916         * gst/gstpad.c: (gst_pad_class_init):
15917         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15918         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15919         * gst/gstregistry.c: (gst_registry_class_init):
15920         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15921         * gst/gsttask.c: (gst_task_class_init):
15922         * gst/gstxml.c: (gst_xml_class_init):
15923         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15924         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15925         (gst_base_src_loop):
15926         * libs/gst/controller/gstcontroller.c:/
15927         (_gst_controller_class_init):
15928         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15929         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15930         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15931         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15932         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15933         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15934
15935 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15936
15937         * gst/gstpad.c: (gst_pad_link):
15938           Must set peer pads before calling the link function, otherwise
15939           a task started from a link function might get a flow-not-linked
15940           result when trying to push because the other thread where the
15941           linking happens hasn't had a chance to set the peers yet. This
15942           might happen for example when a queue gets linked to a downstream
15943           element, as queue starts a streaming task when its source pad
15944           gets linked. Happens in real life when playing back flac/musepack
15945           files in playbin (#332390).
15946           
15947 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15948
15949         * gst/gstindex.h:
15950         * gst/gstxml.h:
15951         * libs/gst/base/gstadapter.h:
15952         * libs/gst/base/gstbasesink.h:
15953         * libs/gst/base/gstbasesrc.h:
15954         * libs/gst/base/gstbasetransform.h:
15955         * libs/gst/base/gstcollectpads.h:
15956         * libs/gst/base/gstpushsrc.h:
15957         Fix broken GObject macros
15958
15959 2006-04-07  Wim Taymans  <wim@fluendo.com>
15960
15961         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15962         Initialize start and stop times, thanks valgrind.
15963
15964 2006-04-07  Wim Taymans  <wim@fluendo.com>
15965
15966         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15967         Be a bit nicer to badly behaving upstream elements that expect
15968         us to deal with non TIME segments and timestamps (such as fakesrc
15969         in the testsuite).
15970
15971 2006-04-07  Wim Taymans  <wim@fluendo.com>
15972
15973         * gst/gstbus.c:
15974         Small documentation clarification about the signal watch.
15975
15976         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15977         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15978         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15979         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15980         (gst_base_sink_get_position_last),
15981         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15982         Convert and store timestamps in stream time and running time, the
15983         raw timestamps are not useful, also document this better.
15984         Use different window sizes for good and bad QoS observations so
15985         we react to badness a little quicker.
15986         Keep track of the amount of rendered and dropped buffers.
15987         Send QoS timestamps in running time.
15988
15989         * libs/gst/base/gstbasetransform.c:
15990         (gst_base_transform_sink_eventfunc),
15991         (gst_base_transform_handle_buffer):
15992         Compare QoS timestamps against running time.
15993
15994 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15995
15996         * gst/gstpad.c:
15997           Typo fixes in docs.
15998
15999 2006-04-06  Michael Smith  <msmith@fluendo.com>
16000
16001         * gst/gstpad.c: (gst_pad_set_property):
16002           Use g_value_get_object() instead of g_value_dup_gst_object(),
16003           to avoid double-reffing the pad template (which we then sink,
16004           so this worked previously if (and only if) the pad template
16005           was floating.
16006
16007         * gst/gstpadtemplate.c: (gst_pad_template_init),
16008         (gst_pad_template_pad_created):
16009           Never return floating references to pad templates, create
16010           them as initially-sunken.
16011
16012           Document an extra function (and make this stop sinking our
16013           pad template, since that is now guaranteed to do nothing,
16014           since we created it sunken).
16015
16016         * gst/gstghostpad.c:
16017           Fix docs typo.
16018
16019 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16020
16021         * gst/gstinfo.c: (__gst_in_valgrind):
16022           Add some newlines.
16023
16024         * plugins/elements/gsttypefindelement.c:
16025         (gst_type_find_element_chain):
16026           Don't leak buffer caps.
16027
16028 2006-04-06  Michael Smith  <msmith@fluendo.com>
16029
16030         * gst/parse/grammar.y:
16031           Fix a leak in parse-launch for any source-or-sink named element 
16032           references used.
16033
16034         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16035           Unref the pipeline if it exists after we've failed parsing.
16036
16037 2006-04-05  Michael Smith  <msmith@fluendo.com>
16038
16039         * gst/gstpipeline.c: (gst_pipeline_init):
16040           When we create a pipeline bus, initially create it in flushing mode.
16041           Fixes leaks in at least one test, and makes a new pipeline work the
16042           same as one that has gone to READY and then back to NULL.
16043
16044         * gst/gstelement.c:
16045           Typo fix in docs.
16046
16047 2006-04-05  Michael Smith  <msmith@fluendo.com>
16048
16049         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16050           Unref a pad we reffed.
16051         * tests/check/gst/gstutils.c: (GST_START_TEST):
16052           Unref bins
16053
16054 2006-04-05  Michael Smith  <msmith@fluendo.com>
16055
16056         * gst/gstquery.c: (gst_query_set_formats),
16057         (gst_query_set_formatsv):
16058           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16059
16060 2006-04-05  Michael Smith  <msmith@fluendo.com>
16061
16062         * tests/check/generic/sinks.c: (GST_START_TEST):
16063           Fix a variety of memleaks in sinks check, which are only sometimes 
16064           shown by running the tests under valgrind (weird?).
16065
16066 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16067
16068         * docs/version.entities.in:
16069           Fix the substituted entity name after thomas' changes on the
16070           weekend.
16071
16072 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16073
16074         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16075         VALGRIND_PRINTF
16076         
16077 2006-04-05  Andy Wingo  <wingo@pobox.com>
16078
16079         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16080
16081         * libs/gst/base/gstbasetransform.c
16082         (gst_base_transform_sink_eventfunc): When resetting our segment on
16083         FLUSH_STOP, also update the flag saying we haven't seen a
16084         newsegment.
16085
16086 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16087
16088         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16089
16090         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16091         (gst_plugin_check_license):
16092           minor clean-ups: G_DEFINE_TYPE already takes care of the
16093           parent_class stuff, no need to do it twice. Mark array of
16094           license strings as constant. (#337103)
16095           
16096 2006-04-04  Michael Smith  <msmith@fluendo.com>
16097
16098         * tools/gst-inspect.c: (print_element_list):
16099           Free the right plugin list; fixes a memory leak.
16100
16101 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16102
16103         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16104
16105         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16106           Don't error out on empty buffers (#336945).
16107           
16108 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16109
16110         * docs/libs/gstreamer-libs-sections.txt:
16111         * gst/gsttaglist.c:
16112         * libs/gst/base/gstbasesink.c:
16113         * libs/gst/base/gstbasesink.h:
16114         * libs/gst/base/gstbasesrc.c:
16115         * libs/gst/base/gstbasesrc.h:
16116           Documentation updates. Make BaseSink and BaseSrc docs contain the
16117           class structure so that people can actually see the prototypes for
16118           virtual functions they're supposed to be overriding.
16119
16120 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16121
16122         * plugins/elements/gsttypefindelement.c:
16123         (gst_type_find_element_chain):
16124           More debug info; when skipping typefinding, send cached
16125           events in all cases.
16126
16127 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16128
16129         * configure.ac:
16130           use new AS_VERSION and AS_NANO macros
16131         * gst/gst-i18n-lib.h:
16132         * gst/gst.c:
16133         * gst/gsterror.c:
16134         * gst/gstversion.h.in:
16135         * win32/common/config.h:
16136         * win32/common/config.h.in:
16137           update accordingly
16138
16139 2006-03-31  Michael Smith  <msmith@fluendo.com>
16140
16141         * plugins/elements/gsttypefindelement.c:
16142         (gst_type_find_element_chain):
16143           Do not typefind content if the buffers already have caps.
16144           Neccesary for icydemux (#333657), and the right thing to do anyway.
16145
16146 2006-03-30  Wim Taymans  <wim@fluendo.com>
16147
16148         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16149         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16150         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16151         (gst_base_sink_record_qos_observation),
16152         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16153         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16154         (gst_base_sink_change_state):
16155         More QoS measurements as described in the design doc.
16156         Get rid of ringbuffer with observations, running average is
16157         more simple and equally good.
16158         Calculates valid proportion now.
16159         Added beginning of flood measurement.
16160
16161 2006-03-29  Wim Taymans  <wim@fluendo.com>
16162
16163         * docs/design/part-qos.txt:
16164         * gst/gstclock.c:
16165         Small documentation updates and additions.
16166
16167 2006-03-29  Wim Taymans  <wim@fluendo.com>
16168
16169         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16170         (gst_base_src_send_event), (gst_base_src_loop),
16171         (gst_base_src_change_state):
16172         Perform the EOS logic when we reach the segment stop position.
16173         Fix compilation on gcc4.1
16174
16175 2006-03-29  Wim Taymans  <wim@fluendo.com>
16176
16177         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16178
16179         * plugins/elements/gstqueue.c: (gst_queue_init),
16180         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16181         (gst_queue_set_property):
16182         * plugins/elements/gstqueue.h:
16183         In queue, when EOS is received, if minimum threshold > max_size -
16184         current_level, there is chance that queue blocks forever in conditional
16185         item del wait. This is because the queue is not emptied completely due
16186         to minimum threshold.  Here is another approach. Instead of setting
16187         cur_levels to max in EOS, just zero all minimum threshold levels. This
16188         should make sure that queue gives out all data. When going to READY
16189         (stop) state, just reset the original minimum threshold levels.
16190         Fixes #336336.
16191
16192 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16193
16194         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16195         (gst_type_find_element_handle_event),
16196         (gst_type_find_element_send_cached_events),
16197         (gst_type_find_element_change_state):
16198         * plugins/elements/gsttypefindelement.h:
16199           When typefinding is done in push mode, we should cache
16200           events we receive during typefinding instead of just
16201           dropping them (e.g. newsegment, custom events from
16202           dvdreadsrc etc.) and then send them out once we've
16203           determined the type of the stream (and decodebin
16204           has had a chance to plug in a decoder/demuxer).
16205           
16206 2006-03-27  Wim Taymans  <wim@fluendo.com>
16207
16208         * docs/design/part-qos.txt:
16209         First QoS ideas.
16210
16211 2006-03-27  Wim Taymans  <wim@fluendo.com>
16212
16213         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16214
16215         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16216         (gst_base_src_send_event), (gst_base_src_change_state):
16217         Handle element seek correctly when we are streaming.
16218         Fixes #326998.
16219
16220 2006-03-24  Michael Smith  <msmith@fluendo.com>
16221
16222         * docs/faq/gst-uninstalled:
16223           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16224           allow you to correctly run intalled applications built against old 
16225           core, using plugins that require updated core (e.g. running
16226           installed totem against a full uninstalled gstreamer stack)
16227
16228 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16229
16230         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16231         more debug details
16232
16233 2006-03-24  Wim Taymans  <wim@fluendo.com>
16234
16235         * docs/gst/gstreamer-sections.txt:
16236         Rearrange the order of the methods so that related methods
16237         are grouped together in sections.
16238
16239 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16240
16241         * gst/gstelement.c:
16242           Little clarification in the docs
16243
16244 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16245
16246         * docs/README:
16247         formatting fix
16248         * plugins/elements/gstidentity.c:
16249         * plugins/elements/gstqueue.c:
16250         * plugins/elements/gsttee.c:
16251         * plugins/elements/gsttypefindelement.c:
16252         GST_ELEMENT_DETAILS formatting
16253
16254 2006-03-24  Wim Taymans  <wim@fluendo.com>
16255
16256         * libs/gst/base/gstbasesink.h:
16257         Only add fields, not insert or we break ABI.
16258
16259 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16260
16261         * win32/common/libgstbase.def:
16262         * win32/common/libgstreamer.def:
16263           Update, add recently added functions.
16264
16265 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16266
16267         * docs/gst/gstreamer-sections.txt:
16268         * gst/gstutils.c: (gst_pad_query_peer_position),
16269         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16270         * gst/gstutils.h:
16271           API: add some new utility functions:
16272            - gst_pad_query_peer_position()
16273            - gst_pad_query_peer_duration()
16274            - gst_pad_query_peer_convert()
16275           
16276 2006-03-23  Wim Taymans  <wim@fluendo.com>
16277
16278         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16279         (gst_base_sink_init), (gst_base_sink_finalize),
16280         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16281         (gst_base_sink_set_property), (gst_base_sink_get_property),
16282         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16283         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16284         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16285         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16286         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16287         (gst_base_sink_preroll_object), (gst_base_sink_event),
16288         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16289         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16290         (gst_base_sink_query), (gst_base_sink_change_state):
16291         Decouple max-lateness and the fact that QoS messages are generated
16292         with a new property (qos).
16293         added API: GstBaseSink::async_play()
16294         Add vmethod so subclasses can be notified of ASYNC playing
16295         state changes.
16296         Collect timestamp start and stop to report better current
16297         position in EOS/PLAYING/PAUSED/READY/NULL.
16298         Refactor QoS/frame dropping and other measurements.
16299         API: GstBaseSrc::qos
16300         Fixes #326311
16301
16302         * libs/gst/base/gstbasesink.h:
16303         Added Private struct.
16304         API: gst_base_sink_set_qos_enabled()
16305         API: gst_base_sink_is_qos_enabled()
16306
16307 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16308
16309         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16310           If compiling against GLib-2.8 or newer, try to read the
16311           registry file using GMappedFile first before falling back
16312           to fopen() + fread() (#332151).
16313
16314 2006-03-22  Wim Taymans  <wim@fluendo.com>
16315
16316         * gst/gstinfo.c: (gst_debug_set_active),
16317         (gst_debug_category_set_threshold):
16318         Disable debugging unless explicitly activated.
16319         Fixes #335480.
16320
16321 2006-03-22  Wim Taymans  <wim@fluendo.com>
16322
16323         * gst/gstelement.c: (gst_element_set_locked_state),
16324         (gst_element_dispose):
16325         Cleanup the error case.
16326
16327         * gst/gstobject.c: (gst_object_dispose):
16328         print a critical when some object was disposed with
16329         a parent, also revive the object since it might
16330         crash the parent.
16331
16332 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16333
16334         * tools/gst-launch.1.in:
16335           Fix another typo.
16336
16337 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16338
16339         * configure.ac:
16340         * tests/check/Makefile.am:
16341           disable some tests when we don't have a registry
16342         * tests/check/gst/gstutils.c: (gst_utils_suite):
16343           don't build the part that needs parsing
16344
16345 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16346
16347         * gst/Makefile.am
16348         * tests/examples/Makefile.am:
16349           fix --disable-parse build
16350
16351 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16352
16353         * tools/gst-feedback.1.in:
16354           Fix typo: s/feeback/feedback/ (#133494).
16355
16356 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16357
16358         * tools/Makefile.am:
16359         * tools/gst-launch.1.in:
16360           Add FILES section and correct entry about GST_REGISTRY_PATH
16361           environment variable (#133495; #133494).
16362
16363 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16364
16365         * tools/Makefile.am:
16366         * tools/gst-md5sum.1.in:
16367         * tools/gst-md5sum.c:
16368           Remove gst-md5sum and man page (the md5sink element
16369           required was removed ages ago)
16370
16371 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16372
16373         * gst/gststructure.c: (gst_structure_id_set_value):
16374           Make sure that string fields in structures/taglists
16375           contain valid UTF-8 - we don't want to pass rubbish to
16376           applications because of a buggy plugin (cp. #334167).
16377
16378 2006-03-21  Edward Hervey  <edward@fluendo.com>
16379
16380         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16381         (gst_bin_handle_message_func):
16382         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16383         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16384         (gst_element_set_bus_func):
16385         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16386         * gst/gstminiobject.c: (gst_value_set_mini_object),
16387         (gst_value_take_mini_object):
16388         * gst/gstpad.c: (gst_pad_set_pad_template):
16389         * gst/gstpipeline.c: (gst_pipeline_dispose),
16390         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16391         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16392         (gst_collect_pads_chain):
16393         * libs/gst/net/gstnettimeprovider.c:
16394         (gst_net_time_provider_set_property):
16395         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16396         It's in fact all issues with gst_*object_replace().
16397
16398 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16399
16400         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16401         
16402         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16403         * pkgconfig/gstreamer-check.pc.in:
16404           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16405
16406 2006-03-21  Edward Hervey  <edward@fluendo.com>
16407
16408         * gst/gstbuffer.h:
16409         * gst/gstevent.h:
16410         * gst/gstmessage.h:
16411         gst_[buffer|event|message]_ref() macros are replaced by a static
16412         inline functions because gcc-4.1 will about if the return value
16413         isn't used.
16414         * tests/check/gst/gstevent.c: (event_probe):
16415         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16416
16417 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16418
16419         * gst/gstutils.h:
16420         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16421         the type' case. (Closes: #335195 for now). In the future, when we
16422         depend on GLib 2.10, we could also intern the type name using
16423         g_intern_static_string()
16424
16425 2006-03-20  Wim Taymans  <wim@fluendo.com>
16426
16427         * gst/gstbin.c: (gst_bin_handle_message_func),
16428         (bin_query_max_init), (bin_query_position_fold),
16429         (bin_query_position_done), (gst_bin_query):
16430         Position query should also take max of all streams.
16431
16432 2006-03-20  Wim Taymans  <wim@fluendo.com>
16433
16434         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16435         (gst_fake_src_finalize):
16436         Fix leaks in fakesrc.
16437
16438         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16439         Fix leaks in the testcase.
16440
16441 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16442
16443         * gst/gst_private.h:
16444           add win32 specific import decoration(__declspec(dllimport)) 
16445           for all extern GstDebugCategory * variables
16446         * win32/common/libgstbase.def:
16447         * win32/common/libgstcontroller.def:
16448         * win32/common/libgstreamer.def:
16449           Add some exports, remove empty lines
16450         * win32/common/libgstdataprotocol.def:
16451         * win32/common/libgstdataprotocol.dsp:
16452         * win32/common/libgstnet.def:
16453         * win32/common/libgstnet.dsp:
16454           new project files and exportation files added
16455         
16456 2006-03-19  Wim Taymans  <wim@fluendo.com>
16457
16458         * tests/check/libs/basesrc.c: (eos_event_counter):
16459         Use proper return value for probe.
16460
16461 2006-03-17  Wim Taymans  <wim@fluendo.com>
16462
16463         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16464         (gst_pad_push):
16465         Don't leak buffers, caps and pads on negotiation errors.
16466
16467 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16468
16469         * docs/faq/cvs.xml:
16470         * docs/faq/dependencies.xml:
16471         * docs/faq/developing.xml:
16472         * docs/faq/faq.xml:
16473         * docs/faq/general.xml:
16474         * docs/faq/getting.xml:
16475         * docs/faq/legal.xml:
16476         * docs/faq/troubleshooting.xml:
16477         * docs/faq/using.xml:
16478         Faq review and update.
16479
16480 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16481
16482         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16483         (gst_pad_push):
16484         Don't pound the cpu to pieces by checking get_caps when accept_caps
16485         is called with the same caps as the pad already has.
16486         Use GST_DEBUG_OBJECT when outputting caps change information.
16487
16488 2006-03-15  Wim Taymans  <wim@fluendo.com>
16489
16490         * gst/gstclock.c: (gst_clock_class_init):
16491         Fix docs.
16492
16493 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16494
16495         * gst/gstbuffer.h:
16496         Documentation fix.
16497
16498         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16499         (gst_pad_accept_caps), (gst_pad_configure_sink),
16500         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16501         Make the default acceptcaps behaviour be to check the requested 
16502         caps against the gst_pad_get_caps output. 
16503
16504         Ensure that gst_pad_accept_caps is used to check caps when a pad
16505         doesn't have a setcaps function, so that pads automatically refuse 
16506         caps that they don't allow in their pad template. (Fixes #332986)
16507
16508         When a buffer with attached caps is pushed, ensure that the source 
16509         pad receives those caps even if the element didn't call
16510         gst_pad_set_caps first.
16511
16512 2006-03-15  Wim Taymans  <wim@fluendo.com>
16513
16514         * libs/gst/base/gstadapter.c:
16515         Add some docs.
16516
16517 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16518
16519         * win32/common/libgstbase.def:
16520         * win32/common/libgstcontroller.def:
16521         * win32/common/libgstreamer.def:
16522           Add a whole bunch of missing functions (#334434).
16523
16524 2006-03-14  Wim Taymans  <wim@fluendo.com>
16525
16526         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16527         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16528         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16529         Better debug info when we receive a segment event.
16530         Reorganize a bit so we can pass the get_times() results around.
16531         Use the segment format when calculating the running time.
16532         Don't do QoS is sync is disabled or we have no clock or the
16533         element does not want us to sync to the clock.
16534         Don't drop buffers if QoS is disabled for now.
16535
16536 2006-03-14  Wim Taymans  <wim@fluendo.com>
16537
16538         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16539         Marked the stats property as unimplemented so people don't get
16540         wild ideas.
16541         Add debug message when regression goes wrong.
16542         Added some more docs.
16543
16544 2006-03-14  Wim Taymans  <wim@fluendo.com>
16545
16546         * gst/gstsegment.c: (gst_segment_to_stream_time):
16547         Return correct return type in case of errors.
16548
16549 2006-03-14  Wim Taymans  <wim@fluendo.com>
16550
16551         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16552           Don't segfault on invalid formats.
16553
16554 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16555
16556         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16557           Can't use gst_segment_to_running_time() when the segment
16558           is not in GST_TIME_FORMAT (like with filesink, for example).
16559           Stops flac encoding pipelines from spewing critical warnings
16560           at EOS (#331248).
16561           
16562 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16563
16564         * gst/gstpipeline.c: (gst_pipeline_class_init):
16565           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16566
16567         * plugins/elements/gsttypefindelement.c:
16568         (gst_type_find_element_handle_event):
16569           Don't try to typefind empty streams.
16570
16571 2006-03-14  Wim Taymans  <wim@fluendo.com>
16572
16573         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16574         (gst_base_sink_do_qos):
16575         Separate QoS calculation.
16576         Only drop buffers when lateness is bigger than the 
16577         duration of the buffer.
16578
16579 2006-03-13  Wim Taymans  <wim@fluendo.com>
16580
16581         * gst/gstpipeline.c: (gst_pipeline_set_property),
16582         (gst_pipeline_get_property), (do_pipeline_seek),
16583         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16584         (gst_pipeline_get_delay):
16585         Don't deadlock when reading properties.
16586
16587 2006-03-13  Wim Taymans  <wim@fluendo.com>
16588
16589         * libs/gst/base/gstbasetransform.c:
16590         (gst_base_transform_class_init), (gst_base_transform_init),
16591         (gst_base_transform_sink_event),
16592         (gst_base_transform_sink_eventfunc),
16593         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16594         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16595         (gst_base_transform_set_property),
16596         (gst_base_transform_get_property),
16597         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16598         (gst_base_transform_set_qos_enabled),
16599         (gst_base_transform_is_qos_enabled):
16600         * libs/gst/base/gstbasetransform.h:
16601         Make basetransform virtual method for src events too.
16602         Handle QOS in basetransform.
16603         API: gst_base_transform_update_qos()
16604         API: gst_base_transform_set_qos_enabled()
16605         API: gst_base_transform_is_qos_enabled()
16606
16607 2006-03-13  Wim Taymans  <wim@fluendo.com>
16608
16609         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16610         (gst_base_sink_do_sync):
16611         Small cleanups.
16612         Use QOS debug category.
16613
16614 2006-03-13  Wim Taymans  <wim@fluendo.com>
16615
16616         * plugins/elements/gstqueue.c:
16617         Very small doc update.
16618
16619 2006-03-13  Wim Taymans  <wim@fluendo.com>
16620
16621         * gst/gst_private.h:
16622         * gst/gstinfo.c: (_gst_debug_init):
16623         Added QOS debug category
16624
16625 2006-03-13  Wim Taymans  <wim@fluendo.com>
16626
16627         * docs/gst/gstreamer-sections.txt:
16628         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16629         * gst/gstbin.h:
16630         * gst/gstbus.c: (gst_bus_class_init):
16631         * gst/gstbus.h:
16632         * gst/gstclock.c:
16633         * gst/gstelement.c: (gst_element_set_locked_state):
16634         * gst/gstsegment.c:
16635         Documentation updates.
16636
16637         * gst/gstpipeline.c: (gst_pipeline_get_type),
16638         (gst_pipeline_class_init), (gst_pipeline_init),
16639         (gst_pipeline_dispose), (gst_pipeline_set_property),
16640         (gst_pipeline_get_property), (do_pipeline_seek),
16641         (gst_pipeline_send_event), (gst_pipeline_change_state),
16642         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16643         (gst_pipeline_get_delay):
16644         * gst/gstpipeline.h:
16645         Added methods for setting the delay.
16646         API: gst_pipeline_set_delay()
16647         API: gst_pipeline_get_delay()
16648         Add pipeline debug category
16649         Various cleanups.
16650         Updated docs.
16651         Don't reset stream time when seek failed.
16652
16653 2006-03-13  Wim Taymans  <wim@fluendo.com>
16654
16655         * docs/design/draft-klass.txt:
16656         * docs/design/part-clocks.txt:
16657         * docs/design/part-events.txt:
16658         * docs/design/part-gstbin.txt:
16659         * docs/design/part-gstpipeline.txt:
16660         * docs/design/part-messages.txt:
16661         * docs/design/part-negotiation.txt:
16662         * docs/design/part-overview.txt:
16663         * docs/design/part-preroll.txt:
16664         * docs/design/part-seeking.txt:
16665         * docs/design/part-states.txt:
16666         * docs/design/part-streams.txt:
16667         Documentation updates.
16668
16669 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16670
16671         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16672         us to leak strings...
16673
16674 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16675
16676         * libs/gst/net/gstnettimeprovider.c:
16677           fix docs
16678         * win32/common/config.h:
16679           update
16680
16681 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16682
16683         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16684
16685         * configure.ac:
16686           Don't check for libgnomeui (leftover from old examples
16687           that aren't built or disted any longer) (#334303).
16688           
16689 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16690
16691         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16692         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16693           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16694           there's no space left on the device.
16695
16696 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16697
16698         * gst/gstclock.h:
16699           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16700           to cast the input to GstClockTime before comparing with
16701           another GstClockTime value.
16702
16703 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16704
16705         * configure.ac:
16706           back to trunk
16707
16708 === release 0.10.4 ===
16709
16710 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16711
16712         * configure.ac:
16713           releasing 0.10.4, "Light"
16714
16715 2006-03-10  Michael Smith  <msmith@fluendo.com>
16716
16717         * libs/gst/dataprotocol/dataprotocol.c:
16718           Fix docs for dataprocotol to not get the return types completely
16719           wrong for a few functions.
16720
16721 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16722
16723         * docs/gst/gstreamer-sections.txt:
16724         * gst/gstpipeline.c: (gst_pipeline_class_init),
16725         (gst_pipeline_init), (gst_pipeline_set_property),
16726         (gst_pipeline_get_property), (gst_pipeline_change_state),
16727         (gst_pipeline_set_auto_flush_bus),
16728         (gst_pipeline_get_auto_flush_bus):
16729         * gst/gstpipeline.h:
16730           Add new API: gst_pipeline_set_auto_flush_bus() and
16731           gst_pipeline_get_auto_flush_bus() to disable automatic
16732           flushing of the pipeline's GstBus when going from READY
16733           to NULL state (#332045).
16734
16735 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16736
16737         * docs/gst/gstreamer-sections.txt:
16738         * gst/gsturi.c: (gst_uri_has_protocol):
16739         * gst/gsturi.h:
16740            Add new API: gst_uri_has_protocol() (#333779).
16741
16742 2006-03-09  Wim Taymans  <wim@fluendo.com>
16743
16744         * gst/gstclock.c: (gst_clock_entry_new),
16745         (gst_clock_id_compare_func), (gst_clock_id_wait),
16746         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16747         (gst_clock_init), (gst_clock_get_internal_time),
16748         (gst_clock_set_master), (do_linear_regression),
16749         (gst_clock_add_observation), (gst_clock_set_property):
16750         * gst/gstclock.h:
16751         Review docs.
16752         Small cleanups.
16753         Fix a possible segfault when the window-size is made smaller.
16754         Calculate jitter before performing the clock wait. Ideally
16755         the clock implementation should calculate jitter but we need
16756         API breakage for that.
16757
16758         * gst/gstsystemclock.c: (gst_system_clock_init):
16759         Docs review.
16760         
16761         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16762         Remove leftover else
16763
16764         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16765         (gst_systemclock_suite):
16766         Added check to test GST_CLOCK_DIFF.
16767
16768 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16769
16770         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16771         (gst_type_find_helper_get_range):
16772           If we are provided with the size, we should implement
16773           GstTypeFind::get_length, so that typefind functions who
16774           want to can actually peek at the middle of a file.
16775
16776 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16777
16778         * docs/manual/advanced-dataaccess.xml:
16779           Add some very very basic error checking.
16780
16781         * docs/pwg/appendix-checklist.xml:
16782           Some updates to the list of things to check when writing an element.
16783
16784 2006-03-08  Wim Taymans  <wim@fluendo.com>
16785
16786         * docs/design/part-element-transform.txt:
16787         Added some docs about the design of tranform elements.
16788
16789         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16790         (gst_base_src_loop), (gst_base_src_change_state):
16791         Mark buffers with the DISCONT flag.
16792
16793 2006-03-08  Michael Smith  <msmith@fluendo.com>
16794
16795         * gst/gstregistry.h:
16796         * gst/gstregistryxml.c: (gst_registry_save),
16797         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16798         (gst_registry_xml_save_pad_template),
16799         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16800         (gst_registry_xml_write_cache):
16801           Rewrite registry-saving to avoid race conditions and check for
16802           failed writes.
16803
16804 2006-03-08  Wim Taymans  <wim@fluendo.com>
16805
16806         * libs/gst/base/gstbasetransform.c:
16807         (gst_base_transform_transform_caps),
16808         (gst_base_transform_transform_size),
16809         (gst_base_transform_prepare_output_buffer),
16810         (gst_base_transform_get_unit_size),
16811         (gst_base_transform_buffer_alloc),
16812         (gst_base_transform_handle_buffer),
16813         (gst_base_transform_change_state):
16814         Cleanups, separate normal flow from errors, add sensible
16815         DEBUG lines.
16816         Don't try to renegotiate when allocating an output buffer.
16817         Also copy DISCONT buffer flag when copying a buffer.
16818         Reset the transform after we finish streaming, not during.
16819
16820 2006-03-08  Wim Taymans  <wim@fluendo.com>
16821
16822         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16823         Use last buffer timestamp in qos message.
16824
16825 2006-03-07  Wim Taymans  <wim@fluendo.com>
16826
16827         Patch by: Christophe Fergeau
16828
16829         * docs/pwg/advanced-tagging.xml:
16830         * docs/pwg/building-pads.xml:
16831           fixes #333416
16832
16833 2006-03-07  Wim Taymans  <wim@fluendo.com>
16834
16835         * docs/libs/gstreamer-libs-sections.txt:
16836         Added basesink new methods.
16837
16838         * gst/gstevent.c:
16839         * gst/gstevent.h:
16840         Docs updates. Flesh out the QoS docs.
16841
16842         * libs/gst/base/gstadapter.c:
16843         Small doc clarification about ownership and flushing.
16844
16845         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16846         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16847         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16848         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16849         * libs/gst/base/gstbasesink.h:
16850         API additions: 
16851         Added new methods to allow subclass to control max-lateness 
16852         and sync.
16853         Generate very basic QoS events based on last sync observation.
16854         Updated docs, fix typo, added some QoS blurb.
16855
16856         * libs/gst/base/gstbasesrc.c:
16857         Remove obsolete _get_state() calls from docs.
16858
16859 2006-03-07  Wim Taymans  <wim@fluendo.com>
16860
16861         * docs/libs/gstreamer-libs-sections.txt:
16862         * libs/gst/base/gstbasetransform.h:
16863         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16864         Fix docs for GstBaseSrc.
16865
16866 2006-03-07  Wim Taymans  <wim@fluendo.com>
16867
16868         * docs/gst/gstreamer-sections.txt:
16869         * gst/gstbuffer.h:
16870         * gst/gstvalue.c:
16871         * libs/gst/base/gstbasetransform.h:
16872         Small documentation fixes.
16873
16874 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16875
16876         * gst/gstvalue.c:
16877           Document thread-unsafety of gst_value_register_foo_func()
16878           when used at the same time as gst_value_foo() (#322628).
16879
16880 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16881
16882         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16883         (gst_push_src_check_get_range):
16884           Push sources don't support pull mode by default.
16885
16886 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16887
16888         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16889         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16890         (gst_base_src_default_check_get_range):
16891         * libs/gst/base/gstbasesrc.h:
16892           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16893           provide default implementation, and rename
16894           gst_base_src_check_get_range() to
16895           gst_base_src_pad_check_get_range() for clarity.
16896
16897 2006-03-06  Wim Taymans  <wim@fluendo.com>
16898
16899         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16900         Make property overridable.
16901
16902 2006-03-06  Wim Taymans  <wim@fluendo.com>
16903
16904         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16905         (gst_base_sink_init), (gst_base_sink_set_property),
16906         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16907         * libs/gst/base/gstbasesink.h:
16908         API addition: Make max-lateness a property.
16909
16910 2006-03-06  Wim Taymans  <wim@fluendo.com>
16911
16912         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16913         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16914         Don't ever draw a frame that is >10ms late.
16915
16916 2006-03-06  Michael Smith  <msmith@fluendo.com>
16917
16918         * gst/gstmessage.c: (_gst_message_copy):
16919           When copying a message, set the parent_refcount of the enclosed
16920           structure to point at the copy, not the original message.
16921
16922 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16923
16924         Patch by: Christophe Fergeau
16925
16926         * gst/gstutils.h:
16927           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16928           usable in c++ code (#333417)
16929
16930 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16931
16932         * gst/gstclock.h:
16933           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16934
16935 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16936
16937         * libs/gst/base/gstbasetransform.c:
16938         (gst_base_transform_transform_caps):
16939           Make sure caps are writable before passing them to
16940           gst_caps_append().
16941
16942 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16943
16944         * gst/gsterror.h:
16945           Fix some minor docs errors.
16946
16947 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16948
16949           Patch by: Ross Burton <ross at burtonini dot com>
16950
16951         * gst/gsterror.c: (_gst_resource_errors_init):
16952         * gst/gsterror.h:
16953           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16954
16955 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16956
16957         * gst/gst.c:
16958         Add a check and output a g_warning when GStreamer is built
16959         against GLib 2.6 but running against 2.8 or higher, and vice 
16960         versa. (Closes: #323542)
16961
16962 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16963
16964         * gst/parse/parse.l:
16965           Commit patch for parse_launch syntax from #331255. Removes 
16966           support for quoted strings and mimetypes when writing filtered 
16967           caps. See the bug report for more details - I'm pretty sure this
16968           obscure feature is not in use by _anyone_ anywhere.
16969
16970           With this simple change, the size of the gstreamer.so here 
16971           drops from 2193KB to 1565KB.
16972
16973 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16974
16975         * plugins/elements/gsttypefindelement.h:
16976         * plugins/elements/gsttypefindelement.c:
16977         (gst_type_find_element_src_event), (start_typefinding),
16978         (stop_typefinding), (gst_type_find_element_handle_event),
16979         (gst_type_find_element_chain),
16980         (gst_type_find_element_chain_do_typefinding):
16981           Use gst_type_find_helper_for_buffer() for chain-based
16982           typefinding.
16983
16984 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16985
16986         * plugins/elements/gsttypefindelement.c:
16987         (gst_type_find_element_class_init),
16988         (gst_type_find_element_set_property),
16989         (gst_type_find_element_get_property):
16990           Deprecate "maximum" property (not only was it only taken into
16991           account for typefinding in push-mode anyway, it also was never
16992           actually possible to set it in the first place because the
16993           property was registered with the numeric property ID for the
16994           "minimum" property). Register "maximum" property correctly,
16995           for the sake of future copy'n'pasters. Remove some cruft
16996           from property get/set functions.
16997
16998 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16999
17000         * plugins/elements/gsttypefindelement.c:
17001         (gst_type_find_element_activate):
17002           Use gst_type_find_helper_get_range() here, so we
17003           can honour the "minimum" property and also emit
17004           the signal with the correct probability of the found caps.
17005
17006 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
17007
17008         * docs/libs/gstreamer-libs-sections.txt:
17009         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17010         (helper_find_suggest), (gst_type_find_helper_get_range),
17011         (gst_type_find_helper):
17012         * libs/gst/base/gsttypefindhelper.h:
17013           New API: gst_type_find_helper_get_range() (#333042).
17014
17015 2006-03-02  Michael Smith  <msmith@fluendo.com>
17016
17017         * gst/gstregistryxml.c: (load_feature):
17018           Asserting on a failure to read part of the registry is Not Cool.
17019           Just log a warning and return NULL (which is already handled)
17020
17021 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17022
17023         * win32/common/libgstbase.def:
17024           added export of gst_type_find_helper_for_buffer
17025         * win32/common/libgstbase.def:
17026           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17027           gst_ghost_pad_get_target
17028
17029 2006-02-28  Wim Taymans  <wim@fluendo.com>
17030
17031         * docs/design/draft-klass.txt:
17032         We use Filter now.
17033         Added Connector to mark elements that are only used to
17034         allow pipeline connections.
17035         Moved Debug to extra feature since most of them are 
17036         functionally something else.
17037
17038 2006-02-28  Wim Taymans  <wim@fluendo.com>
17039
17040         * docs/design/draft-klass.txt:
17041         Some updates and clarifications.
17042
17043 2006-02-28  Wim Taymans  <wim@fluendo.com>
17044
17045         * docs/design/draft-klass.txt:
17046         Proposal for klass field values.
17047
17048         * docs/design/part-streams.txt:
17049         Start of a doc describing stream anatomy.
17050
17051 2006-02-28  Wim Taymans  <wim@fluendo.com>
17052
17053         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17054         Help the compiler a bit with type registration.
17055         Use existing forward cod path instead of duplicating it when 
17056         handling a message.
17057         
17058         * gst/gstbus.c: (gst_bus_get_type):
17059         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17060         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17061         * gst/gstclock.c: (gst_clock_get_type):
17062         * gst/gstelement.c: (gst_element_get_type),
17063         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17064         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17065         * gst/gstminiobject.c: (gst_mini_object_get_type):
17066         * gst/gstpad.c: (gst_pad_get_type):
17067         * gst/gstsegment.c: (gst_segment_get_type):
17068         * gst/gststructure.c: (gst_structure_get_type):
17069         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17070         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17071         * gst/gstvalue.c:
17072         Help compiler with type registration.
17073
17074         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17075         Small doc update.
17076
17077 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17078
17079         * plugins/elements/gsttypefindelement.c:
17080         (gst_type_find_element_handle_event):
17081           When we get an EOS event and have not found a type yet
17082           (most likely because we had not yet accumulated
17083           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17084           type given the data we have so far. Fixes typefinding
17085           for very short streams again, most notably quicktime
17086           redirections as used on Apple's trailer site (#331701).
17087
17088 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17089
17090         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17091         (gst_type_find_helper):
17092           Try typefinding factories with the highest rank first.
17093
17094 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17095
17096         * docs/libs/gstreamer-libs-docs.sgml:
17097         * docs/libs/gstreamer-libs-sections.txt:
17098         * libs/gst/base/gsttypefindhelper.c:
17099           Add section for typefind helper and add documentation
17100           for the old and the new function.
17101
17102 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17103
17104         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17105         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17106         (gst_type_find_helper_for_buffer):
17107         * libs/gst/base/gsttypefindhelper.h:
17108           New API: gst_type_find_helper_for_buffer() (#332723).
17109           
17110 2006-02-27  Michael Smith  <msmith@fluendo.com>
17111
17112         Patch by: Loïc Minier
17113
17114         * configure.ac:
17115         * docs/Makefile.am:
17116         * docs/slides/Makefile.am:
17117           prevent CVS directories getting disted.
17118
17119 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17120
17121         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17122           Use the REFCOUNTING category for caps refcounting.
17123           
17124 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17125
17126         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17127           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17128
17129 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17130
17131         * plugins/elements/gsttypefindelement.c:
17132         (gst_type_find_element_activate):
17133           Use gst_pad_check_pull_range() before _activate_pull()
17134           to avoid unnecessary open/close (see #331690).
17135
17136 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17137
17138         * gst/gstutils.c:
17139           Docs enhancement: make it crystal clear what the
17140           gst_pad_add_*_probe() callbacks should look like.
17141
17142 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17143
17144         * libs/gst/base/gstbasesrc.c:
17145           Document how applications can stop recording from
17146           live sources (see #330996).
17147
17148 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17149
17150         * tests/check/Makefile.am:
17151         * tests/check/libs/basesrc.c: (eos_event_counter),
17152         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17153         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17154         (gst_basesrc_suite), (main):
17155           ... and add some tests for the base source EOS stuff.
17156
17157 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17158
17159         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17160           Test case originally showed the problem fixed below,
17161           but was then amended. Add checks back at the place
17162           where they used to be.
17163
17164 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17165
17166         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17167         (gst_base_src_init), (gst_base_src_loop),
17168         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17169         (gst_base_src_change_state):
17170         * libs/gst/base/gstbasesrc.h:
17171           Don't unconditionally send EOS when going from PAUSED to
17172           READY state, esp. make sure we don't send two EOS events
17173           in some cases (e.g. one when reaching EOS and one when
17174           going from PAUSED to READY). Also, we don't want to send
17175           EOS events when operating in pull mode. However, we do
17176           want to send an EOS event when shutting down a live
17177           source explicitly, for example (fixes #330996).
17178           
17179 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17180
17181         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17182           Update src->read_position after a seek when not using mmap.
17183           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17184
17185 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17186
17187         * gst/Makefile.am:
17188         * gst/gstparse.h:
17189         * gst/gstutils.c:
17190         * gst/gstutils.h:
17191         Make things work with --disable-parse as they do with 
17192         --disable-load-save - the symbols involved disappear, but the
17193         header is still installed and GST_DISABLE_PARSE is included via
17194         gstconfig.h
17195
17196 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17197
17198         * libs/gst/base/gstbasetransform.c:
17199         (gst_base_transform_change_state): Fix a stupid bug. I was 
17200         sure I compiled that.
17201
17202 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17203
17204         * gst/gstpad.c: (gst_pad_set_blocked_async):
17205         * gst/gstutils.c: (gst_pad_add_data_probe),
17206         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17207         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17208         (gst_pad_remove_buffer_probe): Make those function act on the
17209         ghostpad target when it's a ghostpad. (Closes #331727)
17210
17211 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17212
17213         * libs/gst/base/gstbasetransform.c:
17214         (gst_base_transform_change_state): Make basetransform reusable.
17215         (Closes #331898)
17216
17217 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17218
17219         * docs/random/release:
17220         Move the current documentation of how to do a release to the top
17221         of the file.
17222
17223         * gst/gstbin.c: (gst_bin_class_init),
17224         (gst_bin_handle_message_func):
17225         Allow multiple state-recalculation threads. (Closes #328873)
17226
17227 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17228
17229         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17230         * gst/gstpad.c: (gst_pad_set_event_function),
17231         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17232         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17233         2 strings. You can't use the STR_NULL macro on that.
17234
17235 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17236
17237         * gst/gstpad.c: (gst_pad_set_event_function),
17238         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17239         (gst_pad_set_getcaps_function)
17240         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17241           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17242           So now, we can use --gst-debug-level=5 on Windows
17243         * win32/common/libgstcontroller.def:
17244           Added export of gst_controller_init
17245         * win32/vs6/libgstcontroller.dsp:
17246           Fixed Release post build configuration
17247
17248 2006-02-17  Wim Taymans  <wim@fluendo.com>
17249
17250         * tests/check/gst/gstquery.c: (GST_START_TEST):
17251         Added another check.
17252
17253 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17254
17255         * plugins/elements/gsttypefindelement.c: (find_peek):
17256           We can do peeks at non-zero offsets, as long as they
17257           fall within the buffer we have.
17258
17259 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17260
17261         * tests/check/Makefile.am:
17262         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17263         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17264         (parse_suite), (main):
17265           Add testsuite for parse launch syntax
17266
17267 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17268
17269         * plugins/elements/gsttypefindelement.c:
17270         (gst_type_find_element_chain):
17271           When typefinding is unsuccessful in the chain function, don't
17272           error out immediately. Only error out with NO_CAPS_FOUND if
17273           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17274           otherwise simply wait for more data so we can try typefinding
17275           again with more data later. Also, don't attempt to typefind
17276           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17277           this should improve typefinding from network sources where the
17278           size of the first buffer can be somewhat random.
17279
17280 2006-02-14  Wim Taymans  <wim@fluendo.com>
17281
17282         * docs/gst/gstreamer-sections.txt:
17283         * gst/gstpadtemplate.c:
17284         * gst/gstpadtemplate.h:
17285         Fix padtemplate docs, fixes #328805.
17286
17287 2006-02-14  Wim Taymans  <wim@fluendo.com>
17288
17289         * tools/gst-launch.c: (main):
17290         NO_PREROLL is not an ERROR so don't send confusing messages
17291         to the user.
17292
17293 2006-02-14  Wim Taymans  <wim@fluendo.com>
17294
17295         Patch by: Torsten Schoenfeld
17296
17297         * gst/gstregistry.c: (gst_registry_get_default),
17298         (_gst_registry_cleanup):
17299         Protect default registry with lock and ref/sink it.
17300         Fixes #324818
17301
17302 2006-02-14  Wim Taymans  <wim@fluendo.com>
17303
17304         * gst/gstbuffer.c:
17305         * gst/gstquery.c: (gst_query_list_add_format),
17306         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17307         (gst_query_parse_formats_nth):
17308         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17309         Docs fixes.
17310
17311 2006-02-14  Wim Taymans  <wim@fluendo.com>
17312
17313         * docs/gst/gstreamer-sections.txt:
17314         Reworked query docs.
17315
17316         * gst/gstquery.c: (gst_query_new_formats),
17317         (gst_query_list_add_format), (gst_query_set_formats),
17318         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17319         (gst_query_parse_formats_nth):
17320         * gst/gstquery.h:
17321         Flesh out formats query, added some new methods.
17322         Fix part of #324398.
17323
17324         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17325         Added query creation tests.
17326
17327 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17328
17329         * gst/gstpad.c: (fixate_value):
17330         Add a default fixation for fraction lists.
17331
17332 2006-02-13  Wim Taymans  <wim@fluendo.com>
17333
17334         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17335         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17336         (gst_task_join):
17337         * gst/gsttask.h:
17338         Detect and warn for obvious deadlocks. fixes #320340
17339         Fix error case where lock was not released.
17340
17341         * tests/check/Makefile.am:
17342         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17343         (task_func), (gst_element_suite), (main):
17344         Add task check.
17345
17346 2006-02-13  Wim Taymans  <wim@fluendo.com>
17347
17348         * docs/gst/gstreamer-sections.txt:
17349         * gst/gstbus.c:
17350         Add new functions to docs.
17351
17352 2006-02-13  Wim Taymans  <wim@fluendo.com>
17353
17354         * docs/design/part-TODO.txt:
17355         Updated TODO list, basesrc supports seeking to non-bytes
17356         formats.
17357
17358         * docs/design/part-element-sink.txt:
17359         Update docs.
17360
17361         * gst/gstbin.c: (bin_replace_message),
17362         (gst_bin_handle_message_func):
17363         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17364         * gst/gstevent.c: (gst_event_finalize):
17365         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17366         (gst_pad_send_event):
17367         Use shiny new _TYPE_NAME macros.
17368
17369         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17370         Move debug statement up.
17371
17372         * gst/gstelement.c: (gst_element_set_locked_state):
17373         Add some debugging.
17374
17375 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17376
17377         * docs/gst/gstreamer-sections.txt:
17378         * gst/gstmessage.h:
17379         * gst/gstquery.h:
17380           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17381           macros (#330906). Also, document the already existing
17382           GST_QUERY_TYPE macro.
17383
17384 2006-02-13  Wim Taymans  <wim@fluendo.com>
17385
17386         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17387         (event_probe), (GST_START_TEST):
17388         Only events up to the pipeline EOS are counted, there are
17389         some more when going to NULL currently which we don't care
17390         about for now.
17391
17392 2006-02-13  Wim Taymans  <wim@fluendo.com>
17393
17394         * gst/gstpad.c: (gst_pad_send_event):
17395         Correctly check flushing and emit probes. fixes #330125
17396
17397 2006-02-10  Andy Wingo  <wingo@pobox.com>
17398
17399         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17400         structure.
17401         (gst_bus_init): Cache the location of the private data in the
17402         instance structure.
17403         (gst_bus_enable_sync_message_emission) 
17404         (gst_bus_disable_sync_message_emission): Implement new public
17405         functions.
17406         (gst_bus_post): Emit the sync-message signal if the user asked for
17407         it. Fixes #330684.
17408
17409         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17410         location of the bus-private structure.
17411         (gst_bus_enable_sync_message_emission)
17412         (gst_bus_disable_sync_message_emission): API addition
17413
17414 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17415
17416         Patch by: Vincent Torri
17417
17418         * docs/pwg/building-boiler.xml:
17419         PWG patch from #326800
17420
17421 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17422
17423         * configure.ac:
17424         * docs/Makefile.am:
17425         * docs/design/Makefile.am:
17426           Dist design docs.
17427
17428 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17429
17430         * configure.ac:
17431           back to CVS
17432
17433 === release 0.10.3 ===
17434
17435 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17436
17437         * configure.ac:
17438           releasing 0.10.3, "Like a virgin"
17439
17440 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17441
17442         * configure.ac:
17443           2nd prerelease of 0.10.3
17444           Bump libtool versioning.
17445
17446 2006-02-07  Andy Wingo  <wingo@pobox.com>
17447
17448         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17449         update last_stop if we're in TIME format and the timestamp is
17450         valid.
17451
17452         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17453         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17454         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17455         If we get a new newsegment with a different format, adapt
17456         accordingly.
17457
17458         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17459         of 0. Not a problem, really.
17460
17461         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17462         warn if sync=true.
17463
17464 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17465
17466         * configure.ac:
17467           Prelease of 0.10.3
17468
17469 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17470
17471         * win32/vs7:
17472           project files updated to the default vs7 configuration
17473         * win32/common/libgstbase.def:
17474         * win32/common/libgstreamer.def:
17475           added new symbols,
17476           removed empty lines,
17477           sorted all exported symbols alphabetically
17478         * win32/common/dirent.c:
17479         * win32/common/dirent.h:
17480         * win32/common/gchar.h:
17481           use windows line end.
17482           
17483 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17484
17485         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17486           Send EOS event when stopping.
17487
17488 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17489
17490         * docs/README:
17491           Tell folks what to do if the plugin-foobar.xml file
17492           hasn't been generated for a newly-added plugin.
17493
17494 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17495
17496         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17497         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17498         (gst_collect_pads_start), (gst_collect_pads_stop),
17499         (gst_collect_pads_event): Collectpads now holds a reference
17500         to the GstPad that was added. Indeed we don't want to look
17501         at pads that might just go away with no warning...
17502
17503 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17504
17505         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17506         (gst_collect_pads_start), (gst_collect_pads_stop),
17507         (gst_collect_pads_event), (gst_collect_pads_chain):
17508         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17509         Mark Nauwelaerts's patch on bug #328491.
17510
17511 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17512
17513         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17514         (gst_utils_suite):
17515           Add some simple tests for gst_parse_bin_from_description() and
17516           gst_bin_find_unconnected_pad() (#329069).
17517
17518 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17519
17520         * tools/gst-launch.c: (event_loop), (main):
17521           Catch errors during preroll (#320084).
17522
17523 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17524
17525         * plugins/elements/gsttypefindelement.c:
17526         (gst_type_find_element_activate):
17527           Post TYPE_NOT_FOUND error message when typefinding
17528           is unsuccessful in the activate function as well.
17529
17530 2006-02-02  Wim Taymans  <wim@fluendo.com>
17531
17532         * docs/design/part-element-sink.txt:
17533         Updated doc.
17534
17535 2006-02-02  Wim Taymans  <wim@fluendo.com>
17536
17537         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17538         (gst_base_sink_render_object),
17539         (gst_base_sink_queue_object_unlocked):
17540         Only keep track of prerollable items when we are 
17541         prerolling.
17542         Before rendering after preroll, always check if we
17543         have queued items.
17544         Added some more debugging.
17545
17546 2006-02-02  Wim Taymans  <wim@fluendo.com>
17547
17548         * gst/gstelement.c: (gst_element_continue_state),
17549         (gst_element_set_state_func), (gst_element_change_state):
17550         Fixed #326576, been running this for quite some time with
17551         no regressions at all.
17552
17553 2006-02-02  Wim Taymans  <wim@fluendo.com>
17554
17555         * common/gst.supp:
17556         Added more suppressions
17557
17558 2006-02-02  Wim Taymans  <wim@fluendo.com>
17559
17560         * docs/design/part-element-sink.txt:
17561         Updated document.
17562
17563         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17564         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17565         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17566         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17567         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17568         (gst_base_sink_preroll_object),
17569         (gst_base_sink_queue_object_unlocked),
17570         (gst_base_sink_queue_object), (gst_base_sink_event),
17571         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17572         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17573         (gst_base_sink_get_position), (gst_base_sink_change_state):
17574         * libs/gst/base/gstbasesink.h:
17575         Totally refactored matching the design doc.
17576         Use two segments, one to clip incomming buffers and another to
17577         perform sync.
17578         Handle queueing correctly, bypass the queue when playing.
17579         Make EOS cancelable.
17580         Handle errors correctly when operating in pull based mode.
17581
17582         * tests/check/elements/fakesink.c: (GST_START_TEST),
17583         (fakesink_suite):
17584         Added new check for sinks.
17585
17586 2006-02-02  Wim Taymans  <wim@fluendo.com>
17587
17588         * gst/gstsegment.c: (gst_segment_clip):
17589         No reason to refuse to clip when start == -1
17590
17591 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17592
17593         * docs/README:
17594         * docs/manual/intro-basics.xml:
17595         * docs/manual/intro-preface.xml:
17596         * docs/manual/manual.xml:
17597         * docs/pwg/advanced-dparams.xml:
17598         * docs/pwg/intro-basics.xml:
17599         * docs/pwg/intro-preface.xml:
17600         * docs/pwg/pwg.xml:
17601           describe dparams (controller) for plugins
17602           unify docs a little more
17603
17604 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17605
17606         * docs/gst/gstreamer-sections.txt:
17607         * gst/gstutils.c: (element_find_unconnected_pad),
17608         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17609         * gst/gstutils.h:
17610           Add new API: gst_parse_bin_from_description() and
17611           gst_bin_find_unconnected_pad() (#329069).
17612
17613 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17614
17615         * docs/manual/README:
17616           uncover a nasty detail of the docs build
17617
17618 2006-01-31  Wim Taymans  <wim@fluendo.com>
17619
17620         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17621         Don't cache duration messages if we're not going to use or
17622         free them.
17623
17624 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17625
17626         * docs/manual/advanced-dparams.xml:
17627         * docs/pwg/advanced-dparams.xml:
17628           more dparam docs
17629         * gst/gstindex.c:
17630           fix docs
17631         * libs/gst/controller/lib.c: (gst_controller_init):
17632           init just once
17633
17634 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17635
17636         * gst/gstelement.c: (gst_element_message_full):
17637           also show file/line/func if no additional debug was given
17638
17639 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17640         
17641         * win32/vs7/grammar.vcproj:
17642           activate copy of autogenerated files for Release mode
17643
17644 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17645         
17646         * win32/common/libgstreamer.def:
17647           export gst_value_compare
17648
17649 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17650
17651         * plugins/elements/Makefile.am:
17652         * plugins/elements/gstelements.c:
17653         * plugins/elements/gstfdsink.c: (_do_init),
17654         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17655         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17656         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17657         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17658         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17659         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17660         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17661         * plugins/elements/gstfdsink.h:
17662         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17663
17664 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17665
17666         * docs/manual/advanced-dparams.xml:
17667           describe controller
17668         * docs/manual/advanced-position.xml:
17669         * docs/manual/basics-init.xml:
17670         * docs/manual/manual.xml:
17671         * docs/manual/titlepage.xml:
17672         * docs/pwg/pwg.xml:
17673         * docs/pwg/titlepage.xml:
17674           cleanup xml (more to come)
17675         * libs/gst/controller/gstcontroller.c:
17676           fix typo
17677
17678 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17679         
17680         * win32/vs6/grammar.dsp:
17681           add autogen of gstmarshal.c,h for Release mode
17682                 
17683 2006-01-30  Wim Taymans  <wim@fluendo.com>
17684
17685         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17686         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17687         (gst_base_sink_handle_object), (gst_base_sink_event),
17688         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17689         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17690         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17691         (gst_base_sink_deactivate), (gst_base_sink_activate),
17692         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17693         (gst_base_sink_query), (gst_base_sink_change_state):
17694         Basesink cleanups, remove some old code.
17695         Handle the case where a subclass can preroll in the render
17696         method (mostly audiosinks).
17697         Handle more events.
17698         Remove some locks around variables that are now protected
17699         with the PREROLL_LOCK (clock_id, flushing, ..).
17700         Optimize position query some more, do correct locking.
17701         Remove old code to push queue in state change, this is not
17702         needed anymore since preroll blocks on all prerollable items 
17703         now.
17704         Almost implemented as described in design doc.
17705
17706 2006-01-30  Wim Taymans  <wim@fluendo.com>
17707
17708         * tests/check/gst/gstbin.c: (GST_START_TEST):
17709         Wait for refcount to settle down before checking.
17710
17711 2006-01-30  Wim Taymans  <wim@fluendo.com>
17712
17713         * docs/design/part-element-sink.txt:
17714         Pseudo code overview of desired sink behaviour regarding
17715         preroll.
17716
17717 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17718         * win32/vs6/grammar.dsp:
17719           fix some bugs in Release mode for autogenerated files
17720                 
17721 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17722         * win32/common/libgstbase.def:
17723         * win32/common/libgstreamer.def:
17724           export some new symbols: gst_base_src_set_format,
17725           gst_iterator_next, gst_structure_set_valist
17726
17727 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17728
17729         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17730         Set pad functions unconditionally. Fixes #329105.
17731
17732 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17733         * win32/vs8:
17734           add vs8 project files created by Sergey Scobich
17735
17736 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17737
17738         * gst/gstutils.c: (gst_element_unlink_pads):
17739         Don't leak pad references.
17740
17741         * tests/check/elements/fakesink.c: (GST_START_TEST):
17742         * tests/check/generic/sinks.c: (GST_START_TEST):
17743         * tests/check/generic/states.c: (GST_START_TEST):
17744         * tests/check/gst/gstbin.c: (GST_START_TEST):
17745         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17746         * tests/check/gst/gstelement.c: (GST_START_TEST):
17747         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17748         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17749         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17750         Fix a bunch of leaks. Make generic/sinks.c
17751         use a bit less cpu by slowing the buffer rate
17752         between fakesrc and fakesink.
17753         
17754 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17755         * gst/gstcaps.c:
17756         * gst/gstelement.c: (gst_element_send_event):
17757         * gst/gstevent.c:
17758         * gst/gstinfo.c:
17759         * gst/gstiterator.c:
17760         * gst/gstiterator.h:
17761         * gst/gstpad.c: (gst_pad_send_event):
17762         * gst/gststructure.c:
17763         * gst/gsturi.c:
17764         * gst/gstutils.c:
17765         * gst/gstvalue.c:
17766         * libs/gst/base/gstadapter.c:
17767           doc fixes, to link to function, just write gst_cool_function(), don't
17768           prefix with '#'
17769
17770 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17771
17772         * plugins/elements/gsttee.c: (gst_tee_do_push),
17773         (gst_tee_handle_buffer):
17774         Always prefer an actual return value from a src
17775         pad in place of NOT_LINKED. This means we return
17776         WRONG_STATE when all src pads are WRONG_STATE
17777         instead of NOT_LINKED.
17778
17779         Lock when replacing the last message to prevent
17780         racing with the get_property method.
17781
17782         Add debug output
17783
17784 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17785
17786         * tests/check/Makefile.am:
17787         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17788         (main):
17789         Add a very simple check that should have caught the memleak I fixed
17790         last night (if not for the slice allocator hiding it)
17791
17792 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17793
17794         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17795         (gst_bin_remove_func), (gst_bin_handle_message_func),
17796         (bin_query_duration_fold), (bin_query_generic_fold):
17797         Clean up references to the clock provider when disposed or when
17798         handling a clock-lost message from it.
17799
17800         Unref sinks when performing a query via gst_iterator_fold, as the
17801         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17802
17803         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17804         (gst_clock_set_master):
17805         Drop our reference to the master clock, if any, when we are disposed.
17806
17807         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17808         Chain up in dispose. 
17809
17810 2006-01-26  Wim Taymans  <wim@fluendo.com>
17811
17812         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17813         Add some debugging.
17814
17815 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17816
17817         * plugins/elements/gsttee.c: (gst_tee_do_push),
17818         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17819         handles pad being NOT_LINKED or in WRONG_STATE.
17820
17821 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17822
17823         * win32/MANIFEST:
17824           more updating
17825
17826 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17827
17828         * win32/MANIFEST:
17829           remove obsolete entry
17830
17831 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17832
17833         * docs/gst/gstreamer-sections.txt:
17834         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17835         (gst_bin_iterate_sources), (gst_bin_send_event):
17836         * gst/gstbin.h:
17837         * gst/gstelement.c: (gst_element_send_event):
17838         * gst/gstevent.c:
17839         * gst/gstpad.c: (gst_pad_send_event):
17840           added code for downstream events, reviewed docs in gstevent.c
17841
17842 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17843
17844         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17845         We only query position using the clock in the playing state.
17846         Query peer in the other cases.
17847         * win32/common/config.h: Updates.
17848
17849 2006-01-24  Wim Taymans  <wim@fluendo.com>
17850
17851         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17852         A clock entry that is scheduled for the exact time of the
17853         clock is still in time.
17854
17855         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17856         (gst_base_sink_do_sync):
17857         Add some more debug info.
17858
17859 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17860
17861         * win32/vs7:
17862           Add new vs7 project files and solution.
17863
17864 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17865
17866         * win32/vs7:
17867           all files removed as they were out-dated.
17868
17869 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17870
17871         * docs/random/release:
17872           update notes
17873         * gst/gstbin.c: (gst_bin_init):
17874         * gst/gstbus.c: (gst_bus_new):
17875         * gst/gstbus.h:
17876         * gst/gstpipeline.c: (gst_pipeline_init):
17877           use gst_bus_new(), improve logging, fix docs
17878         * win32/common/config.h:
17879           update for cvs build
17880
17881 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17882
17883         * autogen.sh:
17884           up required version of automake to 1.7
17885
17886 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17887
17888         * win32/common/libgstreamer.def:
17889           export gst_buffer_is_metadata_writable
17890
17891 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17892
17893         * docs/gst/gstreamer-sections.txt:
17894         * gst/gstevent.h:
17895           Add gst_event_replace() (#327001)
17896
17897 2006-01-20  Wim Taymans  <wim@fluendo.com>
17898
17899         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17900         Make it actually compile too..
17901
17902 2006-01-20  Wim Taymans  <wim@fluendo.com>
17903
17904         * gst/gstcaps.c:
17905         Clarify behaviour of _is_equal() when passing NULL parameters.
17906
17907         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17908         (gst_pad_set_caps):
17909         Cleanups. Don't unref NULL caps.
17910         When setting the same caps, protect caps of the pad with
17911         proper lock.
17912         Use full functionality of _is_equal() when comparing caps.
17913
17914 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17915
17916         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17917         Don't loop infinitely if there are no buffers to present. Partially
17918         fixes #327197, but collectpads is just broken for reusing elements
17919         to do multiple encodes atm.
17920
17921 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17922
17923         * tools/gst-inspect.c: (print_element_features):
17924         * tools/gst-xmlinspect.c: (main):
17925         URL_HANDLER is not a plugin feature we can search for in
17926         the registry.
17927
17928 2006-01-19  Edward Hervey  <edward@fluendo.com>
17929
17930         * gst/gstelement.c: (gst_element_pads_activate): 
17931         When activating, do src pads first, then sink pads.
17932         When de-activating, do sink pads first, then src pads.
17933
17934 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17935
17936         * docs/gst/gstreamer-sections.txt:
17937         Add gst_index_add_associationv to the docs
17938
17939 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17940
17941         * gst/gstevent.c:
17942           Fix docs typo
17943
17944         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17945         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17946           Do some refactoring. Doesn't actually change functionality,
17947           but makes landing the DRAIN event easier later.
17948
17949 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17950
17951         * docs/pwg/advanced-scheduling.xml:
17952           Update from 0.9.x to 0.10 API and make example a bit
17953           clearer.
17954
17955 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17956
17957         * docs/gst/gstreamer-sections.txt:
17958         Add gst_buffer_(is|make)_metadata_writable methods.
17959
17960 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17961
17962         * docs/design/part-sparsestreams.txt:
17963         Update sparse streams doc, hopefully for greater clarity
17964
17965 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17966
17967         * docs/design/part-events.txt:
17968         Remove mention of FILLER events.
17969         Add DRAIN event.
17970
17971         * docs/design/part-sparsestreams.txt:
17972         Write some things about using NEWSEGMENT to keep sparse streams
17973         flowing.
17974
17975 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17976
17977         * gst/gstbin.c: (gst_bin_dispose):
17978           Guard gst_object_unref call against a NULL object (dispose
17979           can theoretically be called multiple times).
17980           
17981 2006-01-18  Wim Taymans  <wim@fluendo.com>
17982
17983         * gst/gstbin.c: (gst_bin_element_set_state):
17984         * gst/gstclock.c: (gst_clock_id_wait):
17985         Added some more debug info.
17986
17987         * libs/gst/base/gstadapter.c:
17988         Added more docs.
17989
17990         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17991         (gst_base_sink_do_sync), (gst_base_sink_chain):
17992         Added some comments.
17993
17994 2006-01-18  Wim Taymans  <wim@fluendo.com>
17995
17996         * tests/check/Makefile.am:
17997         * tests/check/elements/fakesink.c: (chain_async_buffer),
17998         (chain_async), (chain_async_return), (GST_START_TEST),
17999         (fakesink_suite), (main):
18000         Added fakesink test that checks prerolling and clipping
18001         behaviour.
18002
18003         * tests/check/gst/gstutils.c: (GST_START_TEST):
18004         Make check run faster so that buildbots don't timeout.
18005
18006 2006-01-18  Wim Taymans  <wim@fluendo.com>
18007
18008         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18009         (gst_base_sink_do_sync):
18010         Some cleanups.
18011         When the sink finishes blocking on the preroll buffer, it can
18012         immediatly render it instead of rendering when the next buffer
18013         arrives.
18014
18015 2006-01-18  Wim Taymans  <wim@fluendo.com>
18016
18017         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18018         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18019         (gst_base_sink_chain):
18020         Small cleanups.
18021         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18022         Don't store _last_stop if the buffer is dropped.
18023
18024 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18025
18026         * plugins/elements/gsttypefindelement.c:
18027         (gst_type_find_element_class_init):
18028           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18029           object method handler that sets the caps on the pad and we want
18030           that to happen before we emit the signal (fixes e.g. feeding a
18031           plain text file to decodebin).
18032
18033 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18034
18035         * gst/gstplugin.c: Add MPL and Proprietary as license options
18036
18037 2006-01-18  Andy Wingo  <wingo@pobox.com>
18038
18039         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18040         symbol was exported before, it appears this was just an oversight.
18041         Fixes #168703.
18042         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18043
18044         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18045         prototype to gint. OK since this prototype was not in the header.
18046
18047 2006-01-17  Andy Wingo  <wingo@pobox.com>
18048
18049         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18050         registry while we remove plugins.
18051
18052         * tools/gst-inspect.c (print_element_info): Don't unref the
18053         factory arg, that should be the responsibility of whatever code
18054         received the ref. Fixes a double-free when called from
18055         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18056         (main): Unref the factory if we have one.
18057         (print_element_list): No change -- relies on the
18058         plugin_feature_list_free to free the list of features.
18059
18060 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18061
18062         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18063         (gst_buffer_make_metadata_writable):
18064         * gst/gstbuffer.h:
18065         * libs/gst/base/gstbasetransform.c:
18066         (gst_base_transform_prepare_output_buf):
18067         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18068         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18069           Replace gst_buffer_(make|is)_metadata_writable patch now
18070           that the release is out.
18071
18072 2006-01-17  Andy Wingo  <wingo@pobox.com>
18073
18074         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18075         in the present tense without reference to versions.
18076
18077         * gst/gstregistry.c (gst_registry_add_plugin)
18078         (gst_registry_remove_plugin, gst_registry_remove_feature)
18079         (gst_registry_find_feature, gst_registry_get_feature_list)
18080         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18081         (gst_registry_lookup, gst_registry_scan_path)
18082         (_gst_registry_remove_cache_plugins)
18083         (gst_registry_get_feature_list_by_plugin): Add argument
18084         validation.
18085
18086 === release 0.10.2 ===
18087
18088 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18089
18090         * configure.ac:
18091           releasing 0.10.2, "If man is five"
18092
18093 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18094
18095         * gst/gstbuffer.c:
18096         * gst/gstbuffer.h:
18097         * libs/gst/base/gstbasetransform.c:
18098         (gst_base_transform_prepare_output_buf):
18099         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18100         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18101           Back out patch until after the release.
18102
18103 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18104
18105         * gst/gstminiobject.c:
18106           Spelling fix in docs.
18107         * ChangeLog - remove conflict indicator
18108
18109 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18110
18111         Reviewed By: Andy Wingo
18112
18113         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18114         (gst_buffer_make_metadata_writable):
18115         * gst/gstbuffer.h:
18116           Add gst_buffer_(is|make)_metadata_writable as analogues of
18117           gst_buffer_(is|make)_writable.
18118
18119         * libs/gst/base/gstbasetransform.c:
18120         (gst_base_transform_prepare_output_buf):
18121         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18122           Use name gst_buffer_(is|make)_metadata_writable functions.
18123
18124         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18125           Test gst_buffer_(is|make)_metadata_writable
18126         
18127           (Closes: #324162)
18128
18129 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18130
18131         * docs/manual/Makefile.am:
18132           don't do parallel make
18133         * configure.ac:
18134           AC_SUBST HOST_CPU
18135         * win32/common/config.h.in:
18136           add generations for HOST_CPU and GST_MAJORMINOR
18137         * win32/common/config.h:
18138           commit generated result
18139
18140 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18141
18142         * docs/manual/appendix-integration.xml:
18143           Update GNOME integration section to use gst_init_get_option_group()
18144           instead of the old popt stuff (#322911). Also, GNOME applications
18145           should  now use gconf*sink and gconf*src instead of the old gconf
18146           helper lib we had.
18147
18148 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18149
18150
18151         * docs/gst/gstreamer-docs.sgml:
18152         * docs/gst/gstreamer-sections.txt:
18153         * docs/libs/gstreamer-libs-sections.txt:
18154           add new API entries to the docs
18155         * libs/gst/controller/Makefile.am:
18156         * libs/gst/controller/gstcontroller.c:
18157         * libs/gst/controller/gstcontroller.h:
18158         * libs/gst/controller/gstcontrollerprivate.h:
18159         * libs/gst/controller/gsthelper.c:
18160         * libs/gst/controller/gstinterpolation.c:
18161           move private structs to private header
18162         * po/README:
18163           gstreamer-0.7 -> gstreamer-0.10
18164         * tests/check/libs/struct_i386.h:
18165           remove private structs
18166
18167 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18168
18169         * plugins/indexers/Makefile.am:
18170           Fixes as part of #317048
18171
18172 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18173
18174         * plugins/indexers/Makefile.am:
18175           fix #316086 - compilation when mmap is missing
18176
18177 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18178
18179         * libs/gst/base/gstbasesink.c:
18180           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18181           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18182         * win32/common/config.h:
18183           added some defines GST_MAJORMINOR and HOST_CPU
18184         * win32/common/libgstbase.def:
18185         * win32/common/libgstreamer.def:
18186           added some exported functions.
18187
18188 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18189
18190         * libs/gst/controller/gstcontroller.c:
18191         (gst_controlled_property_set_interpolation_mode),
18192         (gst_controlled_property_new):
18193         * libs/gst/controller/gstcontroller.h:
18194         * libs/gst/controller/gstinterpolation.c:
18195         (interpolate_none_get_string_value_array):
18196           make G_TYPE_STRING controlable
18197
18198 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18199
18200         * tools/README:
18201         * tools/gst-feedback.1.in:
18202         * tools/gst-inspect.1.in:
18203         * tools/gst-launch.1.in:
18204         * tools/gst-md5sum.1.in:
18205         * tools/gst-typefind.1.in:
18206         * tools/gst-xmlinspect.1.in:
18207         * tools/gst-xmllaunch.1.in:
18208           cleanup man-pages, remove reference to gst-register, document env-vars
18209
18210 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18211
18212         * gst/gstbuffer.c: (gst_buffer_span):
18213           gst_buffer_span should copy the timestamp of the first buffer
18214           if they were both originally overlapping subbuffers of the 
18215           same parent, using the same logic as the 'slow copy' case.
18216
18217 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18218
18219         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18220           Need to awaken ALL the pads when we pop a buffer, otherwise
18221           collectpads only works when there is 2 input streams.
18222
18223 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18224
18225         * docs/random/ensonic/media-device-daemon.txt:
18226           more ideas (dbus)
18227         * gst/gstbuffer.c:
18228           fix doc example, add clarification
18229         * tools/gst-launch.1.in:
18230           add initial info about GST_PLUGIN_PATH, needs more work
18231
18232 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18233
18234         * docs/manual/basics-bins.xml:
18235         * docs/manual/basics-elements.xml:
18236         * docs/manual/intro-basics.xml:
18237           Some more minor docs additions and updates.
18238
18239 2006-01-11  Wim Taymans  <wim@fluendo.com>
18240
18241         * docs/manual/basics-bins.xml:
18242         * docs/manual/basics-elements.xml:
18243         Some small fixes as pointed out by Ser-ver on IRC.
18244
18245 2006-01-10  Edward Hervey  <edward@fluendo.com>
18246
18247         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18248         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18249         the single-segment mode.
18250
18251 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18252
18253         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18254
18255         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18256         (gst_base_src_perform_seek), (gst_base_src_send_event),
18257         (gst_base_src_set_property), (gst_base_src_get_property),
18258         (gst_base_src_loop), (gst_base_src_start),
18259         (gst_base_src_activate_push):
18260         * libs/gst/base/gstbasesrc.h:
18261           Name (private) union; makes Sun's Forte compiler happy (#324900).
18262
18263 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18264
18265         * README:
18266           gst-register is gone.
18267
18268 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18269
18270         * gst/gstvalue.c: (_gst_value_initialize):
18271           make the G_TYPE_DATE instantiation work if debug is disabled
18272
18273 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18274
18275         * gst/gstmessage.c: (gst_message_parse_tag),
18276         (gst_message_parse_error), (gst_message_parse_warning):
18277           Don't crash when return location for error/warning debug
18278           string is NULL; add fact that return locations can be
18279           NULL to docs where appropriate.
18280
18281 2006-01-05  Wim Taymans  <wim@fluendo.com>
18282
18283         * gst/gstplugin.c: (gst_plugin_load_file):
18284         Replace strdup by g_strdup.
18285
18286 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18287
18288         * docs/pwg/advanced-types.xml:
18289           fix doc borkage
18290
18291 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18292
18293         submitted by: Abel Cheung
18294
18295         * po/LINGUAS:
18296         * po/zh_TW.po:
18297           Added Chinese (traditional) translation
18298
18299 2006-01-04  Wim Taymans  <wim@fluendo.com>
18300
18301         * docs/manual/basics-pads.xml:
18302         * docs/plugins/Makefile.am:
18303         * docs/plugins/gstreamer-plugins-docs.sgml:
18304         * docs/plugins/gstreamer-plugins-sections.txt:
18305         * docs/pwg/advanced-clock.xml:
18306         * docs/pwg/advanced-scheduling.xml:
18307         * docs/pwg/advanced-types.xml:
18308         * plugins/elements/gstfdsink.c:
18309         * plugins/elements/gstfdsrc.c:
18310         * plugins/elements/gstfdsrc.h:
18311         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18312         * plugins/elements/gstidentity.h:
18313         * plugins/elements/gstqueue.h:
18314         * plugins/elements/gsttee.c:
18315         * plugins/elements/gsttee.h:
18316         * plugins/elements/gsttypefindelement.c:
18317         (gst_type_find_element_class_init):
18318         * plugins/elements/gsttypefindelement.h:
18319         Small updates to various docs.
18320         Added core plugins to docs.
18321
18322 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18323
18324         * common/gst.supp:
18325           add a suppression for liboil's uninitialized variable
18326
18327 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18328
18329         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18330
18331         * gst/gstutils.h:
18332           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18333           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18334           compiler switch is being used (#325429).
18335
18336 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18337
18338         * gst/gstbin.c: (gst_bin_query):
18339           Disable duration query caching in bins until it gets
18340           fixed (see #324807).
18341
18342 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18343
18344         * tools/gst-inspect.c: (print_element_properties_info):
18345           Handle properties of POINTER and BOXED type.
18346
18347 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18348
18349         * gst/gst.c: (init_post):
18350           Init tags stuff and some other things before loading
18351           any static plugins (there may be other static plugins
18352           than just the GStreamer ones, and they may want to
18353           register their own tags or formats or whatever, and
18354           preferably without segfaulting).
18355
18356         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18357           Print at least a warning in the debug logs if we drop a
18358           query just because we don't know how to adjust the value
18359           in the particular format.
18360
18361 2005-12-24  David Schleef  <ds@schleef.org>
18362
18363         * tools/gstreamer-completion:
18364           Replacement for gst-complete written in sh and sed.  Only
18365           completes names of features, but that's 90% of what I want
18366           it for.  Properties are not available in registry.xml.  (Maybe
18367           they should be...)
18368
18369 === release 0.10.1 ===
18370
18371 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18372
18373         * configure.ac:
18374           releasing 0.10.1, "Nollaig chridheil"
18375
18376 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18377
18378         * docs/faq/cvs.xml:
18379           Add missing quote, should be make ERROR_CFLAGS="".
18380
18381 2005-12-20  Wim Taymans  <wim@fluendo.com>
18382
18383         * docs/design/part-trickmodes.txt:
18384         More documentation on trickmodes.
18385
18386 2005-12-20  Edward Hervey  <edward@fluendo.com>
18387
18388         * gst/gstcaps.c: (gst_static_caps_get_type):
18389         * gst/gstcaps.h:
18390           API addition: GST_TYPE_STATIC_CAPS
18391         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18392         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18393         * gst/gstpadtemplate.h:
18394           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18395         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18396         bindings.
18397
18398 2005-12-18  Wim Taymans  <wim@fluendo.com>
18399
18400         * libs/gst/base/gstadapter.c:
18401         * libs/gst/base/gstadapter.h:
18402         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18403         (gst_base_sink_get_position):
18404         * libs/gst/base/gstbasesink.h:
18405         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18406         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18407         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18408         (gst_base_src_send_event), (gst_base_src_update_length),
18409         (gst_base_src_get_range), (gst_base_src_loop),
18410         (gst_base_src_start):
18411         * libs/gst/base/gstbasesrc.h:
18412         * libs/gst/base/gstbasetransform.h:
18413         * libs/gst/base/gstcollectpads.h:
18414         * libs/gst/base/gstpushsrc.c:
18415         * libs/gst/base/gstpushsrc.h:
18416         * libs/gst/dataprotocol/dataprotocol.c:
18417         * libs/gst/dataprotocol/dataprotocol.h:
18418         * libs/gst/net/gstnetclientclock.h:
18419         * libs/gst/net/gstnettimeprovider.h:
18420         Documentation updates.
18421
18422 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18423
18424         * docs/manual/basics-helloworld.xml:
18425           Remove superfluous closing bracket in helloworld example.
18426
18427 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18428
18429         * tools/gst-launch.1.in:
18430           Update gst-launch man page; add a section with useful
18431           environment variables. Fixes #323882.
18432
18433 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18434
18435         * gst/gst.c:
18436         * gst/gst_private.h:
18437           change some char* into char[]
18438
18439 2005-12-16  Wim Taymans  <wim@fluendo.com>
18440
18441         * gst/gstregistryxml.c: (load_feature):
18442         Cleanups.
18443         Don't use g_object_unref on GstObjects so that we avoid
18444         leaks on unsafe glibs.
18445
18446 2005-12-16  Wim Taymans  <wim@fluendo.com>
18447
18448         * gst/gstbin.c: (gst_bin_recalc_state):
18449         Small doc updates.
18450
18451 2005-12-16  Wim Taymans  <wim@fluendo.com>
18452
18453         * common/check.mak:
18454         Added make forever target for check.
18455
18456 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18457
18458         * gst/gst.c: (init_post):
18459           make the registry cache file HOST_CPU-dependent
18460
18461 2005-12-16  Andy Wingo  <wingo@pobox.com>
18462
18463         * plugins/elements/gstbufferstore.c
18464         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18465         return value.
18466
18467         * tests/check/gst/gstobject.c
18468         (test_fake_object_name_threaded_unique): Pay attention to
18469         g_list_sort return value.
18470
18471 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18472
18473         * tools/gst-feedback-m.m:
18474           Update for 0.9/0.10 (fixes #323870).
18475
18476 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18477
18478         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18479           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18480           
18481         * tests/check/gst/gstminiobject.c: (my_foo_init),
18482         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18483         (test_value_collection), (gst_mini_object_suite):
18484           Add test to ensure refcounts end up as expected when passing
18485           GstMiniObjects through g_object_get() and g_object_set().
18486
18487 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18488
18489         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18490         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18491         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18492         of collectpads. This version removes a lot of races without
18493         touching API/ABI. Yay !
18494
18495 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18496
18497         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18498           Don't allow activation of a srcpad in pull_range if it has no
18499           getrange function.
18500           Change some debug statements to be a little clearer
18501
18502         * plugins/elements/gsttypefindelement.c:
18503         (gst_type_find_handle_src_query):
18504           Check that we have a peer before executing queries thereupon.
18505
18506         * tests/examples/metadata/read-metadata.c: (message_loop):
18507           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18508           immediately return us any available message with 0 timeout.
18509
18510 2005-12-12  Michael Smith  <msmith@fluendo.com>
18511
18512         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18513           Don't unref factories after calling them.
18514         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18515         * plugins/elements/gsttypefindelement.c:
18516         (gst_type_find_element_chain):
18517           Free lists of factories after using them. Fixing typefinding memory
18518           leaks.
18519
18520 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18521
18522         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18523         (gst_plugin_feature_load):
18524           more meaningful debug output
18525         * configure.ac:
18526         * tests/Makefile.am:
18527         * tests/old/examples/Makefile.am:
18528           make make distcheck happy again
18529
18530 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18531
18532         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18533           Catch the special case where we are operating chain-based,
18534           but the downstream peer pad has no chain function. Emit a
18535           custom error message in this case instead of letting the
18536           core generate one implying that this is some sort of core
18537           bug. It's not, it just means that whatever got plugged
18538           into the pipeline downstream when we announced the type
18539           can only operate pull-based, while our source can only
18540           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18541           Error string has not been marked for translation yet, as
18542           it probably needs some more work first.
18543
18544         (gst_type_find_element_get_best_possibility):
18545           Add helper function to find the best of all available
18546           found possibilities that qualify given the min. threshold.
18547
18548         (gst_type_find_element_handle_event):
18549           Fix the case where we get an EOS while still in TYPEFIND
18550           mode (we want to chose the best of all possible types,
18551           not just the first type that happens to be in our unsorted
18552           list of possible types).
18553
18554         (gst_type_find_element_chain):
18555           Make sure we return GST_FLOW_ERROR when we errored out
18556           in stop_typefinding(); also, don't just find the best of
18557           all found type entries and then use the last examined
18558           type entry, but actually use the best entry.
18559
18560 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18561
18562         * tests/examples/typefind/typefind.c: (type_found):
18563         * tests/examples/xml/runxml.c: (xml_loaded):
18564           More gcc4 fixes and a mem leak fix.
18565
18566 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18567
18568         * tests/examples/xml/createxml.c: (object_saved):
18569           gcc 4 fixes
18570
18571 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18572
18573         * tests/Makefile.am:
18574           enable the examples even more
18575
18576 2005-12-12  Andy Wingo  <wingo@pobox.com>
18577
18578         * libs/gst/net/gstnettimeprovider.c
18579         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18580         (gst_net_time_provider_set_property)
18581         (gst_net_time_provider_get_property):
18582         API addition: Export "active" as a GObject property.
18583         (gst_net_time_provider_thread): Only respond to time queries if
18584         the time provider is active.
18585
18586         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18587         NetTimeProvider, preserving binary compat.
18588
18589 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18590
18591         * tests/examples/controller/audio-example.c: (main):
18592         * tests/examples/launch/Makefile.am:
18593           convert comments again
18594
18595 2005-12-12  Wim Taymans  <wim@fluendo.com>
18596
18597         * libs/gst/base/gstpushsrc.c:
18598         Fix typo.
18599
18600 2005-12-12  Wim Taymans  <wim@fluendo.com>
18601
18602         * docs/libs/gstreamer-libs-sections.txt:
18603         Added new symbol to docs.
18604
18605         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18606         (gst_base_src_init), (gst_base_src_set_format),
18607         (gst_base_src_default_query), (gst_base_src_query),
18608         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18609         (gst_base_src_perform_seek), (gst_base_src_send_event),
18610         (gst_base_src_default_event), (gst_base_src_event_handler),
18611         (gst_base_src_set_property), (gst_base_src_get_property),
18612         (gst_base_src_wait), (gst_base_src_do_sync),
18613         (gst_base_src_update_length), (gst_base_src_get_range),
18614         (gst_base_src_check_get_range), (gst_base_src_loop),
18615         (gst_base_src_default_negotiate), (gst_base_src_start),
18616         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18617         (gst_base_src_change_state):
18618         * libs/gst/base/gstbasesrc.h:
18619         Implement seeking to other formats than _BYTES.
18620         Implement more seeking methods correctly.
18621         Doc updates.
18622         Added query vmethod.
18623         Added do_seek vmethod to make life easier for subclasses
18624         when seeking.
18625         API addition: gst_base_src_set_format()
18626
18627 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18628
18629         * tests/examples/Makefile.am:
18630           added that too
18631
18632 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18633
18634         * configure.ac:
18635         * docs/random/ensonic/media-device-daemon.txt:
18636         * tests/examples/controller/.cvsignore:
18637         * tests/examples/controller/Makefile.am:
18638         * tests/examples/controller/audio-example.c: (main):
18639         * tests/examples/helloworld/.cvsignore:
18640         * tests/examples/helloworld/Makefile.am:
18641         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18642         * tests/examples/launch/.cvsignore:
18643         * tests/examples/launch/Makefile.am:
18644         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18645         * tests/examples/metadata/.cvsignore:
18646         * tests/examples/metadata/Makefile.am:
18647         * tests/examples/metadata/read-metadata.c: (message_loop),
18648         (make_pipeline), (print_tag), (main):
18649         * tests/examples/queue/.cvsignore:
18650         * tests/examples/queue/Makefile.am:
18651         * tests/examples/queue/queue.c: (event_loop), (main):
18652         * tests/examples/typefind/.cvsignore:
18653         * tests/examples/typefind/Makefile.am:
18654         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18655         (main):
18656         * tests/examples/xml/.cvsignore:
18657         * tests/examples/xml/Makefile.am:
18658         * tests/examples/xml/createxml.c: (object_saved), (main):
18659         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18660         * tests/old/examples/Makefile.am:
18661         * tests/old/examples/TODO:
18662         * tests/old/examples/controller/.cvsignore:
18663         * tests/old/examples/controller/Makefile.am:
18664         * tests/old/examples/controller/audio-example.c:
18665         * tests/old/examples/helloworld/.cvsignore:
18666         * tests/old/examples/helloworld/Makefile.am:
18667         * tests/old/examples/helloworld/helloworld.c:
18668         * tests/old/examples/launch/.cvsignore:
18669         * tests/old/examples/launch/Makefile.am:
18670         * tests/old/examples/launch/mp3parselaunch.c:
18671         * tests/old/examples/launch/mp3play:
18672         * tests/old/examples/manual/Makefile.am:
18673         * tests/old/examples/metadata/Makefile.am:
18674         * tests/old/examples/metadata/read-metadata.c:
18675         * tests/old/examples/queue/.cvsignore:
18676         * tests/old/examples/queue/Makefile.am:
18677         * tests/old/examples/queue/queue.c:
18678         * tests/old/examples/typefind/.cvsignore:
18679         * tests/old/examples/typefind/Makefile.am:
18680         * tests/old/examples/typefind/typefind.c:
18681         * tests/old/examples/xml/.cvsignore:
18682         * tests/old/examples/xml/Makefile.am:
18683         * tests/old/examples/xml/createxml.c:
18684         * tests/old/examples/xml/runxml.c:
18685           applied some simple fixing to some examples
18686           re-enabled the working examples
18687
18688 2005-12-12  Wim Taymans  <wim@fluendo.com>
18689
18690         * gst/gstsegment.c: (gst_segment_init),
18691         (gst_segment_set_last_stop), (gst_segment_set_seek),
18692         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18693         (gst_segment_to_running_time):
18694         Added more documentation.
18695         Make sure the last_pos value is updated properly.
18696         Make sure to_stream_time and to_running_time don't
18697         operate on wrong values.
18698
18699         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18700         Update check.
18701
18702 2005-12-12  Michael Smith  <msmith@fluendo.com>
18703
18704         * plugins/elements/gsttypefindelement.c: (free_entry),
18705         (gst_type_find_element_chain):
18706           Now that we're not leaking factories, make sure we keep references
18707           to them while we need them.
18708
18709 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18710
18711         * tests/check/gst/struct_i386.h:
18712           ifdef out the XML structs
18713
18714 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18715
18716         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18717           floor is not needed, F is always positive; this obviates the
18718           need for adding -lm when building without libxml
18719
18720 2005-12-12  Wim Taymans  <wim@fluendo.com>
18721
18722         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18723         Take current playback rate into account when reporting
18724         the position.
18725
18726 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18727
18728         * docs/manual/mime-world.fig:
18729           Let's try this again, this time with a file that is
18730           actually in XFig format.
18731
18732 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18733
18734         * docs/manual/mime-world.fig:
18735           Add audioconvert element to diagram so that it
18736           matches the text and the code (fixes #319526).
18737
18738 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18739
18740         * docs/pwg/building-chainfn.xml:
18741         * docs/pwg/building-pads.xml:
18742         * docs/pwg/building-state.xml:
18743         * docs/pwg/other-source.xml:
18744           Update state change stuff for 0.10 (fixes #322969).
18745
18746 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18747
18748         * docs/manual/advanced-dataaccess.xml:
18749         * docs/manual/appendix-checklist.xml:
18750         * docs/manual/appendix-programs.xml:
18751         * docs/manual/basics-pads.xml:
18752         * docs/manual/highlevel-components.xml:
18753         * docs/manual/manual.xml:
18754           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18755           add converters in front of pipelines; remove curly
18756           brackets for threads stuff, they no longer exist; use
18757           GST_TYPE_FRACTION for framerates; update some pieces of
18758           code to 0.10, but there's plenty more to do.
18759
18760         * docs/manual/appendix-porting.xml:
18761           Expand on asynchroneous state changes; s/0.9/0.10/;
18762           mention disappearance of gst_init_get_popt_table()
18763           (fixes #322916).
18764
18765 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18766
18767         * docs/faq/using.xml:
18768           Spider no longer exists, and neither does gst-launch-ext.
18769           Update examples to use decodebin and playbin and put
18770           converters in front of sinks (fixes #323726).
18771
18772 2005-12-09  Michael Smith  <msmith@fluendo.com>
18773
18774         * plugins/elements/gsttypefindelement.c: (find_peek),
18775         (gst_type_find_element_chain):
18776           Fix leaking element factories in typefinding.
18777           Fix problem where we forgot about a probable type on non-seekable
18778           files, and thus later mis-typefound it.
18779
18780 2005-12-09  Michael Smith  <msmith@fluendo.com>
18781
18782         * common/m4/gst-makecontext.m4:
18783         * common/m4/gst-mcsc.m4:
18784         * configure.ac:
18785         * win32/common/config.h:
18786         * win32/common/config.h.in:
18787           Remove makecontext stuff; not used in 0.10 and causes problems on
18788           HPUX according to bug #322441
18789
18790 2005-12-07  Wim Taymans  <wim@fluendo.com>
18791
18792         * tests/check/Makefile.am:
18793         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18794         (main):
18795         * tests/check/libs/struct_i386.h:
18796         Added ABI check for libs
18797
18798 2005-12-07  Wim Taymans  <wim@fluendo.com>
18799
18800         * tests/check/Makefile.am:
18801         And add the struct_i386.h to dist.
18802
18803 2005-12-07  Wim Taymans  <wim@fluendo.com>
18804
18805         * tests/check/Makefile.am:
18806         * tests/check/gst/.cvsignore:
18807         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18808         (main):
18809         * tests/check/gst/struct_i386.h:
18810         Added check for ABI compatibility.
18811
18812 2005-12-07  Wim Taymans  <wim@fluendo.com>
18813
18814         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18815         (gst_fake_src_get_times), (gst_fake_src_create):
18816         Fix broken sync option, fixes #323259
18817
18818 2005-12-07  Wim Taymans  <wim@fluendo.com>
18819
18820         * gst/gstbuffer.c:
18821         Small docs update.
18822
18823         * gst/gstcaps.c: (gst_caps_is_equal):
18824         Don't assert on NULL <--> X. Fixes #323260
18825
18826         * gst/gstminiobject.c: (gst_mini_object_replace):
18827         If we're doing atomic operations, we might just as well use
18828         the proper way to get an atomic pointer.
18829
18830         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18831         Clean up debugging.
18832
18833 2005-12-07  Michael Smith  <msmith@fluendo.com>
18834
18835         * gst/parse/grammar.y:
18836           Remove handling of { } for threads.
18837
18838 2005-12-06  David Schleef  <ds@schleef.org>
18839
18840         * libs/gst/base/gstbasetransform.c: speling fix.
18841
18842 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18843
18844         * docs/libs/tmpl/gstdataprotocol.sgml:
18845         * docs/random/omega/testing/gstobject.c:
18846         * gst/gst.c:
18847         * gst/gstclock.c:
18848         * gst/gstelement.c:
18849         * gst/gstelementfactory.c:
18850         * gst/gsterror.c:
18851         * gst/gstevent.c:
18852         * gst/gstghostpad.c:
18853         * gst/gstinfo.c:
18854         * gst/gstpadtemplate.c:
18855         * gst/gstregistryxml.c:
18856         * gst/gsttaglist.c:
18857         * gst/gsttagsetter.c:
18858         * gst/gsttypefind.c:
18859         * gst/gstvalue.c:
18860         * libs/gst/base/gstbasesrc.c:
18861         * libs/gst/net/gstnetclientclock.c:
18862         * libs/gst/net/gstnettimeprovider.c:
18863         * plugins/elements/gstfakesrc.c:
18864         * plugins/elements/gstfdsrc.c:
18865         * plugins/elements/gstfilesrc.c:
18866         * plugins/elements/gstidentity.c:
18867         * plugins/elements/gstqueue.c:
18868         * plugins/elements/gsttypefindelement.c:
18869         * plugins/indexers/gstfileindex.c:
18870         * plugins/indexers/gstmemindex.c:
18871         * tests/check/gst/gsttag.c:
18872         * tests/old/examples/cutter/cutter.c:
18873         * tests/old/examples/mixer/mixer.c:
18874         * tests/old/examples/xml/runxml.c: (main):
18875         * tests/old/testsuite/caps/normalisation.c:
18876         * tests/old/testsuite/debug/global.c:
18877         * tests/old/testsuite/parse/parse1.c:
18878         * tools/gst-xmlinspect.c:
18879         * win32/common/dirent.c:
18880           expand tabs
18881
18882 === release 0.10.0 ===
18883
18884 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18885
18886         * configure.ac:
18887           releasing 0.10.0, "Maroilles"
18888
18889 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18890
18891         submitted by: Funda Wang <fundawang@linux.net.cn>
18892
18893         * po/LINGUAS:
18894         * po/zh_CN.po:
18895           added Chinese (Traditional) translation
18896
18897 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18898
18899         * docs/gst/gstreamer-sections.txt:
18900         * docs/libs/tmpl/gstdataprotocol.sgml:
18901         * docs/random/thomasvs/TODO:
18902         * gst/gstutils.c:
18903         * gst/gstutils.h:
18904           fix docs
18905
18906 2005-12-05  Andy Wingo  <wingo@pobox.com>
18907
18908         patch by: Wim Taymans <wim@fluendo.com>
18909
18910         * libs/gst/base/gstbasetransform.c
18911         (gst_base_transform_prepare_output_buf)
18912         (gst_base_transform_buffer_alloc):
18913         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18914         alloc_buffer_and_set_caps.
18915
18916         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18917         set_caps on the source pad.
18918         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18919         alloc_buffer used to do. Fixes #322874.
18920
18921         * docs/gst/gstreamer-sections.txt: 
18922         * docs/design/part-negotiation.txt: 
18923         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18924         changes.
18925
18926 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18927
18928         patch by: Sebastien Moutte
18929
18930         * win32/MANIFEST:
18931         * win32/common/config.h.in:
18932         * win32/vs6/libgstcontroller.dsp:
18933           win32 build fixes
18934
18935 2005-12-05  Wim Taymans  <wim@fluendo.com>
18936
18937         * gst/gstcaps.c: (gst_caps_is_equal):
18938         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18939         (gst_fake_src_create):
18940         Back out previous code changes, leave doc updates, file bugs 
18941         instead. 
18942
18943 2005-12-05  Wim Taymans  <wim@fluendo.com>
18944
18945         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18946         (gst_fake_src_get_times), (gst_fake_src_create):
18947         * plugins/elements/gstfakesrc.h:
18948         Fix broken sync code.
18949
18950 2005-12-05  Wim Taymans  <wim@fluendo.com>
18951
18952         * gst/gstcaps.c: (gst_caps_is_equal):
18953         Comparing NULL against !NULL yields different caps, not a
18954         failure.
18955
18956 2005-12-05  Wim Taymans  <wim@fluendo.com>
18957
18958         * gst/gstpipeline.c:
18959         Fix small typo in docs.
18960
18961 2005-12-05  Andy Wingo  <wingo@pobox.com>
18962
18963         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18964
18965         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18966         registries/plugins with a MAJORMINOR one.
18967         (plugin_desc): Rename library from gstcoreleements to
18968         staticelements. Fixes #323222.
18969
18970 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18971
18972         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18973           Change debug category to 'collectpads' from 'collect_pads'
18974           (fixes #323250).
18975
18976 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18977
18978         patch by: Sebastien Moutte
18979
18980         * libs/gst/controller/gstinterpolation.c:
18981           use convert function for uint64/double
18982         * win32/vs6/libgstcontroller.dsp:
18983           link to GLib
18984
18985 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18986
18987         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18988         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18989         * gst/gstutils.h:
18990         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18991           add tests that seem to show that the guint64/gdouble conversions
18992           are correct.
18993
18994 2005-12-02  Wim Taymans  <wim@fluendo.com>
18995
18996         * gst/gstregistry.c: (gst_registry_add_path):
18997         * gst/gstregistry.h:
18998         * gst/gstregistryxml.c:
18999         Fix docs again.
19000
19001 2005-12-02  Wim Taymans  <wim@fluendo.com>
19002
19003         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19004         (gst_util_uint64_scale_int):
19005         Small cleanup.
19006
19007         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19008         Add debug log line.
19009
19010         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19011         Add FIXME.
19012
19013 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19014
19015         * win32/MANIFEST:
19016         * win32/common/config.h:
19017         * win32/vs6/gstreamer.dsw:
19018         * win32/vs6/libgstcoreelements.dsp:
19019         * win32/vs6/libgstelements.dsp:
19020           renamed core elements plugin
19021
19022 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19023
19024         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19025         (get_candidates):
19026           do piece-wise major/minor comparison so 0.9 < 0.10
19027           also allow .exe extensions for tools
19028
19029 2005-12-02  Michael Smith  <msmith@fluendo.com>
19030
19031         * gst/gst.c:
19032           Escape a % to make gtkdoc happier; bug 322958.
19033
19034 === release 0.9.7 ===
19035
19036 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19037
19038         * configure.ac:
19039           releasing 0.9.7, "My Dog Has No Nose"
19040
19041 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19042
19043         * common/gst-xmlinspect.py:
19044         * configure.ac:
19045         * docs/libs/tmpl/gstdataprotocol.sgml:
19046         * docs/random/release:
19047         * po/af.po:
19048         * po/az.po:
19049         * po/bg.po:
19050         * po/ca.po:
19051         * po/cs.po:
19052         * po/de.po:
19053         * po/en_GB.po:
19054         * po/fr.po:
19055         * po/it.po:
19056         * po/nb.po:
19057         * po/nl.po:
19058         * po/ru.po:
19059         * po/sq.po:
19060         * po/sr.po:
19061         * po/sv.po:
19062         * po/tr.po:
19063         * po/uk.po:
19064         * po/vi.po:
19065         * win32/common/config.h:
19066         * win32/common/config.h.in:
19067         * win32/vs6/gst_inspect.dsp:
19068         * win32/vs6/gst_launch.dsp:
19069         * win32/vs6/libgstbase.dsp:
19070         * win32/vs6/libgstelements.dsp:
19071         * win32/vs6/libgstreamer.dsp:
19072         * win32/vs7/GStreamer.vcproj:
19073         * win32/vs7/gst-inspect.vcproj:
19074         * win32/vs7/gst-launch.vcproj:
19075         * win32/vs7/libgstbase.vcproj:
19076           bump GST_MAJORMINOR to 0.10
19077           reset libtool version
19078
19079 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19080
19081         * po/LINGUAS:
19082         * po/bg.po:
19083           Added Bulgarian translation by (Alexander Shopov)
19084
19085 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19086
19087         * tests/check/gst/gstplugin.c:
19088           fix test
19089
19090 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19091
19092         * common/gst-xmlinspect.py:
19093         * common/gtk-doc-plugins.mak:
19094         * configure.ac:
19095         * docs/Makefile.am:
19096         * docs/gst/Makefile.am:
19097         * docs/gst/gstreamer-docs.sgml:
19098         * docs/gst/gstreamer-sections.txt:
19099         * docs/gst/gstreamer.types:
19100         * docs/gst/gstreamer.types.in:
19101         * docs/plugins/Makefile.am:
19102         * docs/plugins/gstreamer-plugins-docs.sgml:
19103         * docs/plugins/gstreamer-plugins-sections.txt:
19104         * docs/plugins/gstreamer-plugins.types:
19105         * docs/plugins/inspect.stamp:
19106         * docs/plugins/inspect/plugin-coreelements.xml:
19107         * docs/plugins/inspect/plugin-coreindexers.xml:
19108         * docs/plugins/scanobj-build.stamp:
19109         * gstreamer.spec.in:
19110         * plugins/elements/Makefile.am:
19111         * plugins/elements/gstelements.c:
19112         * plugins/elements/gstfakesink.c:
19113         * plugins/elements/gstfakesrc.c:
19114         * plugins/elements/gstfilesink.c:
19115         * plugins/elements/gstfilesrc.c:
19116         * plugins/elements/gstqueue.c:
19117         * plugins/indexers/Makefile.am:
19118         * plugins/indexers/gstindexers.c:
19119           document core plugins in a separate document just like all the
19120           others
19121           rename these plugins to something starting with core
19122
19123 2005-12-01  Andy Wingo  <wingo@pobox.com>
19124
19125         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19126         padding here before, but it missed the commit.
19127
19128 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19129
19130         * libs/gst/controller/gstinterpolation.c:
19131           whitespace prices have crashed, we should feel free to use some now
19132           use gst_guint64_to_gdouble
19133
19134 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19135
19136         * libs/gst/controller/gstcontroller.c:
19137         * libs/gst/controller/gsthelper.c:
19138         * libs/gst/controller/gstinterpolation.c:
19139         * libs/gst/controller/lib.c:
19140           wrap config.h include
19141
19142 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19143
19144         * docs/gst/gstreamer-sections.txt:
19145           update docs
19146
19147 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19148
19149         * plugins/elements/gstelements.c:
19150         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19151         (gst_fd_sink__class_init), (gst_fd_sink__init),
19152         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19153         (gst_fd_sink__get_property):
19154         * plugins/elements/gstfdsink.h:
19155         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19156         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19157         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19158         (gst_fd_src_unlock), (gst_fd_src_set_property),
19159         (gst_fd_src_get_property), (gst_fd_src_create),
19160         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19161         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19162         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19163         (gst_fd_src_uri_handler_init):
19164         * plugins/elements/gstfdsrc.h:
19165         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19166           more anal cleanup
19167
19168 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19169
19170         * docs/gst/Makefile.am:
19171         * docs/gst/gstreamer.types.in:
19172         * gst/Makefile.am:
19173           fix the docs build
19174
19175 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19176
19177         * configure.ac:
19178         * gst/Makefile.am:
19179         * gst/gst.c:
19180         * gst/gstplugin.h:
19181         * gst/gstregistry.h:
19182         * tests/benchmarks/complexity.c:
19183         * tests/benchmarks/mass-elements.c:
19184         * tests/check/Makefile.am:
19185         * tools/Makefile.am:
19186         * tools/gst-inspect.c:
19187         * tools/gst-xmlinspect.c:
19188           various fixes to make
19189           --disable-nls --disable-registry --disable-loadsave
19190           --disable-parse --disable-gst-debug
19191           work and get the core .so down to 360444 bytes after stripping
19192
19193 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19194
19195         * Makefile.am:
19196         * configure.ac:
19197           descend into tests
19198         * docs/random/thomasvs/TODO:
19199         * tests/Makefile.am:
19200         * tests/README:
19201           add a README
19202
19203 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19204
19205         * win32/GStreamer.vcproj:
19206         * win32/MANIFEST:
19207         * win32/Makefile:
19208         * win32/Makefile.inspect:
19209         * win32/Makefile.launch:
19210         * win32/Makefile.register:
19211         * win32/README.txt:
19212         * win32/gst-inspect.vcproj:
19213         * win32/gst-launch.vcproj:
19214         * win32/gst-register.vcproj:
19215         * win32/gstelements.vcproj:
19216         * win32/gstgetbits.def:
19217         * win32/gstgetbits.vcproj:
19218         * win32/gstreamer-dbg.def:
19219         * win32/gstreamer.def:
19220         * win32/libgstbase.def:
19221         * win32/libgstbase.vcproj:
19222         * win32/link_oldruntime.c:
19223         * win32/mman.c:
19224         * win32/mman.h:
19225         * win32/mman.inl:
19226         * win32/msvc71.sln:
19227           move even more stuff, win32/ is nice and clean now
19228
19229 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19230
19231         * libs/gst/control/.cvsignore:
19232         * win32/MANIFEST:
19233         * win32/config.h:
19234         * win32/dirent.c:
19235         * win32/dirent.h:
19236         * win32/gstbytestream.def:
19237         * win32/gstbytestream.vcproj:
19238         * win32/gstconfig.h:
19239         * win32/gstenumtypes.c:
19240         * win32/gstenumtypes.h:
19241         * win32/gstoptimalscheduler.vcproj:
19242         * win32/gstversion.h:
19243         * win32/gtchar.h:
19244         * win32/testsuite/bins.vcproj:
19245         * win32/testsuite/bytestream.vcproj:
19246         * win32/testsuite/caps.vcproj:
19247         * win32/testsuite/cleanup.vcproj:
19248         * win32/testsuite/clock.vcproj:
19249         * win32/testsuite/debug.vcproj:
19250         * win32/testsuite/dlopen.vcproj:
19251         * win32/testsuite/dynparams.vcproj:
19252         * win32/testsuite/elements.vcproj:
19253         * win32/testsuite/ghostpads.vcproj:
19254         * win32/testsuite/indexers.vcproj:
19255         * win32/testsuite/negotiation.vcproj:
19256         * win32/testsuite/parse.vcproj:
19257         * win32/testsuite/plugin.vcproj:
19258         * win32/testsuite/refcounting.vcproj:
19259         * win32/testsuite/schedulers.vcproj:
19260         * win32/testsuite/states.vcproj:
19261         * win32/testsuite/tags.vcproj:
19262         * win32/testsuite/threads.vcproj:
19263           remove old win32 stuff that isn't maintained and should be
19264           reorganized
19265
19266 2005-11-30  Andy Wingo  <wingo@pobox.com>
19267
19268         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19269         loading the gst.interfaces python module bork.
19270
19271         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19272         available since GLib 2.2. Fixes #318031.
19273
19274 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19275
19276         * Makefile.am:
19277         * check/.cvsignore:
19278         * check/Makefile.am:
19279         * check/elements/.cvsignore:
19280         * check/elements/fakesrc.c:
19281         * check/elements/fdsrc.c:
19282         * check/elements/identity.c:
19283         * check/generic/.cvsignore:
19284         * check/generic/states.c:
19285         * check/gst-libs/.cvsignore:
19286         * check/gst-libs/controller.c:
19287         * check/gst-libs/gdp.c:
19288         * check/gst/.cvsignore:
19289         * check/gst/capslist.h:
19290         * check/gst/gst.c:
19291         * check/gst/gstbin.c:
19292         * check/gst/gstbuffer.c:
19293         * check/gst/gstbus.c:
19294         * check/gst/gstcaps.c:
19295         * check/gst/gstelement.c:
19296         * check/gst/gstevent.c:
19297         * check/gst/gstghostpad.c:
19298         * check/gst/gstiterator.c:
19299         * check/gst/gstmessage.c:
19300         * check/gst/gstminiobject.c:
19301         * check/gst/gstobject.c:
19302         * check/gst/gstpad.c:
19303         * check/gst/gstpipeline.c:
19304         * check/gst/gstplugin.c:
19305         * check/gst/gstsegment.c:
19306         * check/gst/gststructure.c:
19307         * check/gst/gstsystemclock.c:
19308         * check/gst/gsttag.c:
19309         * check/gst/gstutils.c:
19310         * check/gst/gstvalue.c:
19311         * check/net/.cvsignore:
19312         * check/net/gstnetclientclock.c:
19313         * check/net/gstnettimeprovider.c:
19314         * check/pipelines/.cvsignore:
19315         * check/pipelines/cleanup.c:
19316         * check/pipelines/simple_launch_lines.c:
19317         * check/pipelines/stress.c:
19318         * check/states/.cvsignore:
19319         * check/states/sinks.c:
19320         * configure.ac:
19321         * examples/Makefile.am:
19322         * examples/appreader/.cvsignore:
19323         * examples/appreader/Makefile.am:
19324         * examples/appreader/appreader.c:
19325         * examples/controller/.cvsignore:
19326         * examples/controller/Makefile.am:
19327         * examples/controller/audio-example.c:
19328         * examples/cutter/.cvsignore:
19329         * examples/cutter/Makefile.am:
19330         * examples/cutter/cutter.c:
19331         * examples/cutter/cutter.h:
19332         * examples/events/Makefile.am:
19333         * examples/events/seek.c:
19334         * examples/helloworld/.cvsignore:
19335         * examples/helloworld/Makefile.am:
19336         * examples/helloworld/helloworld.c:
19337         * examples/helloworld2/.cvsignore:
19338         * examples/helloworld2/Makefile.am:
19339         * examples/helloworld2/helloworld2.c:
19340         * examples/launch/.cvsignore:
19341         * examples/launch/Makefile.am:
19342         * examples/launch/mp3parselaunch.c:
19343         * examples/launch/mp3play:
19344         * examples/manual/.cvsignore:
19345         * examples/manual/Makefile.am:
19346         * examples/manual/extract.pl:
19347         * examples/metadata/Makefile.am:
19348         * examples/metadata/read-metadata.c:
19349         * examples/mixer/.cvsignore:
19350         * examples/mixer/Makefile.am:
19351         * examples/mixer/mixer.c:
19352         * examples/mixer/mixer.h:
19353         * examples/pingpong/.cvsignore:
19354         * examples/pingpong/Makefile.am:
19355         * examples/pingpong/pingpong.c:
19356         * examples/plugins/.cvsignore:
19357         * examples/plugins/Makefile.am:
19358         * examples/plugins/example.c:
19359         * examples/plugins/example.h:
19360         * examples/pwg/.cvsignore:
19361         * examples/pwg/Makefile.am:
19362         * examples/pwg/extract.pl:
19363         * examples/queue/.cvsignore:
19364         * examples/queue/Makefile.am:
19365         * examples/queue/queue.c:
19366         * examples/queue2/.cvsignore:
19367         * examples/queue2/Makefile.am:
19368         * examples/queue2/queue2.c:
19369         * examples/queue3/.cvsignore:
19370         * examples/queue3/Makefile.am:
19371         * examples/queue3/queue3.c:
19372         * examples/queue4/.cvsignore:
19373         * examples/queue4/Makefile.am:
19374         * examples/queue4/queue4.c:
19375         * examples/retag/.cvsignore:
19376         * examples/retag/Makefile.am:
19377         * examples/retag/retag.c:
19378         * examples/retag/transcode.c:
19379         * examples/thread/.cvsignore:
19380         * examples/thread/Makefile.am:
19381         * examples/thread/thread.c:
19382         * examples/typefind/.cvsignore:
19383         * examples/typefind/Makefile.am:
19384         * examples/typefind/typefind.c:
19385         * examples/xml/.cvsignore:
19386         * examples/xml/Makefile.am:
19387         * examples/xml/createxml.c:
19388         * examples/xml/runxml.c:
19389         * tests/Makefile.am:
19390         * tests/check/Makefile.am:
19391         * testsuite/.cvsignore:
19392         * testsuite/Makefile.am:
19393         * testsuite/Rules:
19394         * testsuite/caps/.cvsignore:
19395         * testsuite/caps/Makefile.am:
19396         * testsuite/caps/app_fixate.c:
19397         * testsuite/caps/audioscale.c:
19398         * testsuite/caps/caps.c:
19399         * testsuite/caps/caps.h:
19400         * testsuite/caps/caps_strings:
19401         * testsuite/caps/compatibility.c:
19402         * testsuite/caps/deserialize.c:
19403         * testsuite/caps/enumcaps.c:
19404         * testsuite/caps/eratosthenes.c:
19405         * testsuite/caps/filtercaps.c:
19406         * testsuite/caps/fixed.c:
19407         * testsuite/caps/fraction-convert.c:
19408         * testsuite/caps/fraction-multiply-and-zero.c:
19409         * testsuite/caps/intersect2.c:
19410         * testsuite/caps/intersection.c:
19411         * testsuite/caps/normalisation.c:
19412         * testsuite/caps/random.c:
19413         * testsuite/caps/renegotiate.c:
19414         * testsuite/caps/sets.c:
19415         * testsuite/caps/simplify.c:
19416         * testsuite/caps/string-conversions.c:
19417         * testsuite/caps/structure.c:
19418         * testsuite/caps/subtract.c:
19419         * testsuite/caps/union.c:
19420         * testsuite/debug/.cvsignore:
19421         * testsuite/debug/Makefile.am:
19422         * testsuite/debug/category.c:
19423         * testsuite/debug/commandline.c:
19424         * testsuite/debug/global.c:
19425         * testsuite/debug/output.c:
19426         * testsuite/debug/printf_extension.c:
19427         * testsuite/dlopen/.cvsignore:
19428         * testsuite/dlopen/Makefile.am:
19429         * testsuite/dlopen/dlopen_gst.c:
19430         * testsuite/dlopen/loadgst.c:
19431         * testsuite/elements/.cvsignore:
19432         * testsuite/elements/Makefile.am:
19433         * testsuite/elements/gst-inspect-check.in:
19434         * testsuite/elements/struct_i386.h:
19435         * testsuite/elements/struct_size.c:
19436         * testsuite/indexers/.cvsignore:
19437         * testsuite/indexers/Makefile.am:
19438         * testsuite/indexers/cache1.c:
19439         * testsuite/indexers/indexdump.c:
19440         * testsuite/parse/.cvsignore:
19441         * testsuite/parse/Makefile.am:
19442         * testsuite/parse/parse1.c:
19443         * testsuite/parse/parse2.c:
19444         * testsuite/plugin/.cvsignore:
19445         * testsuite/plugin/Makefile.am:
19446         * testsuite/plugin/README:
19447         * testsuite/plugin/dynamic.c:
19448         * testsuite/plugin/linked.c:
19449         * testsuite/plugin/loading.c:
19450         * testsuite/plugin/registry.c:
19451         * testsuite/plugin/static.c:
19452         * testsuite/plugin/static2.c:
19453         * testsuite/plugin/testplugin.c:
19454         * testsuite/plugin/testplugin2.c:
19455         * testsuite/plugin/testplugin2_s.c:
19456         * testsuite/plugin/testplugin_s.c:
19457         * testsuite/refcounting/.cvsignore:
19458         * testsuite/refcounting/Makefile.am:
19459         * testsuite/refcounting/bin.c:
19460         * testsuite/refcounting/element.c:
19461         * testsuite/refcounting/element_pad.c:
19462         * testsuite/refcounting/mainloop.c:
19463         * testsuite/refcounting/mem.c:
19464         * testsuite/refcounting/mem.h:
19465         * testsuite/refcounting/object.c:
19466         * testsuite/refcounting/pad.c:
19467         * testsuite/refcounting/sched.c:
19468         * testsuite/refcounting/thread.c:
19469         * testsuite/states/.cvsignore:
19470         * testsuite/states/Makefile.am:
19471         * testsuite/states/bin.c:
19472         * testsuite/states/locked.c:
19473         * testsuite/states/parent.c:
19474         * testsuite/threads/.cvsignore:
19475         * testsuite/threads/159566.c:
19476         * testsuite/threads/159852.c:
19477         * testsuite/threads/Makefile.am:
19478         * testsuite/threads/queue.c:
19479         * testsuite/threads/signals.c:
19480         * testsuite/threads/staticrec.c:
19481         * testsuite/threads/thread.c:
19482         * testsuite/threads/threadb.c:
19483         * testsuite/threads/threadc.c:
19484         * testsuite/threads/threadd.c:
19485         * testsuite/threads/threade.c:
19486         * testsuite/threads/threadf.c:
19487         * testsuite/threads/threadg.c:
19488         * testsuite/threads/threadh.c:
19489         * testsuite/threads/threadi.c:
19490           move all of these under tests
19491
19492 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19493
19494         * configure.ac:
19495         * tests/Makefile.am:
19496           fix distcheck
19497
19498 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19499
19500         * docs/gst/gstreamer-sections.txt:
19501         * tests/sched/.cvsignore:
19502         * tests/sched/Makefile.am:
19503         * tests/sched/cases/(fs-fs).xml:
19504         * tests/sched/cases/(fs-i-fs).xml:
19505         * tests/sched/cases/(fs-i-i-fs).xml:
19506         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19507         * tests/sched/dynamic-pipeline.c:
19508         * tests/sched/interrupt1.c:
19509         * tests/sched/interrupt2.c:
19510         * tests/sched/interrupt3.c:
19511         * tests/sched/runtestcases:
19512         * tests/sched/runxml.c:
19513         * tests/sched/sched-stress.c:
19514         * tests/sched/sort.c:
19515         * tests/sched/testcases:
19516         * tests/sched/testcases1.tc:
19517         * tests/seeking/.cvsignore:
19518         * tests/seeking/Makefile.am:
19519         * tests/seeking/seeking1.c:
19520         * tests/threadstate/.cvsignore:
19521         * tests/threadstate/Makefile.am:
19522         * tests/threadstate/test1.c:
19523         * tests/threadstate/test2.c:
19524         * tests/threadstate/threadstate1.c:
19525         * tests/threadstate/threadstate2.c:
19526         * tests/threadstate/threadstate3.c:
19527         * tests/threadstate/threadstate4.c:
19528         * tests/threadstate/threadstate5.c:
19529           remove obsolete tests
19530         * configure.ac:
19531         * tests/bench-complexity.scm:
19532         * tests/bench-mass_elements.scm:
19533         * tests/complexity.c:
19534         * tests/complexity.gnuplot:
19535         * tests/instantiate/.cvsignore:
19536         * tests/instantiate/Makefile.am:
19537         * tests/instantiate/caps.c:
19538         * tests/mass_elements.c:
19539         * tests/network-clock-utils.scm:
19540         * tests/network-clock.scm:
19541         * tests/plot-data:
19542         First pass at cleaning up tests/ dir before moving the rest
19543         Combined with CVS surgery
19544
19545 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19546
19547         * po/POTFILES.in:
19548           queue has moved, update
19549
19550 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19551
19552         * docs/gst/gstreamer-sections.txt:
19553           remove double entries from the docs
19554         * gst/gst_private.h:
19555         * gst/gstinfo.c: (_gst_debug_init):
19556           remove the THREAD debug category
19557         * gst/Makefile.am:
19558         * gst/gstqueue.c:
19559         * gst/gstqueue.h:
19560         * docs/gst/gstreamer.types:
19561         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19562         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19563           completely move queue and fix up debugging categories
19564
19565 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19566
19567         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19568           make initialization portable, using LL is not
19569
19570 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19571
19572         * win32/common/gstconfig.h:
19573           add large padding
19574
19575 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19576
19577         * win32/common/libgstreamer.def:
19578           rename symbols; sort base section
19579
19580 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19581
19582         * gst/gstclock.c: (do_linear_regression):
19583           remove crack non-portable handrolled DEBUG macro
19584
19585 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19586
19587         * docs/random/release:
19588           update notes
19589         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19590         (gst_object_flags_get_type), (register_gst_bin_flags),
19591         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19592         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19593         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19594         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19595         (gst_caps_flags_get_type), (register_gst_clock_return),
19596         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19597         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19598         (gst_clock_flags_get_type), (register_gst_state),
19599         (gst_state_get_type), (register_gst_state_change_return),
19600         (gst_state_change_return_get_type), (register_gst_state_change),
19601         (gst_state_change_get_type), (register_gst_element_flags),
19602         (gst_element_flags_get_type), (register_gst_core_error),
19603         (gst_core_error_get_type), (register_gst_library_error),
19604         (gst_library_error_get_type), (register_gst_resource_error),
19605         (gst_resource_error_get_type), (register_gst_stream_error),
19606         (gst_stream_error_get_type), (register_gst_event_type_flags),
19607         (gst_event_type_flags_get_type), (register_gst_event_type),
19608         (gst_event_type_get_type), (register_gst_seek_type),
19609         (gst_seek_type_get_type), (register_gst_seek_flags),
19610         (gst_seek_flags_get_type), (register_gst_format),
19611         (gst_format_get_type), (register_gst_index_certainty),
19612         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19613         (gst_index_entry_type_get_type),
19614         (register_gst_index_lookup_method),
19615         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19616         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19617         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19618         (gst_index_flags_get_type), (register_gst_debug_level),
19619         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19620         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19621         (gst_iterator_result_get_type), (register_gst_iterator_item),
19622         (gst_iterator_item_get_type), (register_gst_message_type),
19623         (gst_message_type_get_type), (register_gst_mini_object_flags),
19624         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19625         (gst_pad_link_return_get_type), (register_gst_flow_return),
19626         (gst_flow_return_get_type), (register_gst_activate_mode),
19627         (gst_activate_mode_get_type), (register_gst_pad_direction),
19628         (gst_pad_direction_get_type), (register_gst_pad_flags),
19629         (gst_pad_flags_get_type), (register_gst_pad_presence),
19630         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19631         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19632         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19633         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19634         (gst_plugin_flags_get_type), (register_gst_rank),
19635         (gst_rank_get_type), (register_gst_query_type),
19636         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19637         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19638         (gst_tag_flag_get_type), (register_gst_task_state),
19639         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19640         (gst_alloc_trace_flags_get_type),
19641         (register_gst_type_find_probability),
19642         (gst_type_find_probability_get_type), (register_gst_uri_type),
19643         (gst_uri_type_get_type), (register_gst_parse_error),
19644         (gst_parse_error_get_type):
19645         * win32/common/gstenumtypes.h:
19646         * win32/common/gstversion.h:
19647           update visual studio generated files
19648
19649 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19650
19651         * win32/vs6/libgstbase.dsp:
19652         * win32/vs6/libgstelements.dsp:
19653           update project files for new locations
19654
19655 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19656
19657         * Makefile.am:
19658           remove some files
19659         * README:
19660           reinstate and update
19661         * DEVEL:
19662         * REQUIREMENTS:
19663           removed
19664         * LICENSE:
19665         * docs/random/LICENSE:
19666           moved to random
19667
19668 2005-11-30  Edward Hervey  <edward@fluendo.com>
19669
19670         * gst/gsttypefind.c: (gst_type_find_register):
19671         * gst/gsttypefind.h:
19672         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19673         (gst_type_find_factory_dispose):
19674         * gst/gsttypefindfactory.h:
19675         Fix memory leak in GstTypeFindFactory.
19676
19677 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19678
19679         * gst/gst.c:
19680         * plugins/elements/Makefile.am:
19681         * plugins/elements/gstelements.c:
19682         * plugins/elements/gstqueue.c:
19683           move queue from core to the elements plugin
19684
19685 2005-11-29  Andy Wingo  <wingo@pobox.com>
19686
19687         * libs/gst/base/gstbasetransform.h: 
19688         * libs/gst/base/gstbasesrc.h: 
19689         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19690
19691         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19692         of pointers by which to pad very extensible base classes (like the
19693         ones in libs/gst/base).
19694
19695 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19696
19697         * docs/gst/gstreamer-docs.sgml:
19698         * docs/gst/gstreamer-sections.txt:
19699         * docs/libs/gstreamer-libs-docs.sgml:
19700         * docs/libs/gstreamer-libs-sections.txt:
19701           moving documentation from core to lib
19702
19703 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19704
19705         * check/Makefile.am:
19706         * configure.ac:
19707         * docs/gst/Makefile.am:
19708         * gst/Makefile.am:
19709         * gst/base/.cvsignore:
19710         * gst/base/Makefile.am:
19711         * gst/base/README:
19712         * gst/base/gstadapter.c:
19713         * gst/base/gstadapter.h:
19714         * gst/base/gstbasesink.c:
19715         * gst/base/gstbasesink.h:
19716         * gst/base/gstbasesrc.c:
19717         * gst/base/gstbasesrc.h:
19718         * gst/base/gstbasetransform.c:
19719         * gst/base/gstbasetransform.h:
19720         * gst/base/gstcollectpads.c:
19721         * gst/base/gstcollectpads.h:
19722         * gst/base/gstpushsrc.c:
19723         * gst/base/gstpushsrc.h:
19724         * gst/base/gsttypefindhelper.c:
19725         * gst/base/gsttypefindhelper.h:
19726         * gst/check/Makefile.am:
19727         * gst/check/gstcheck.c:
19728         * gst/check/gstcheck.h:
19729         * gst/net/Makefile.am:
19730         * gst/net/gstnet.h:
19731         * gst/net/gstnetclientclock.c:
19732         * gst/net/gstnetclientclock.h:
19733         * gst/net/gstnettimepacket.c:
19734         * gst/net/gstnettimepacket.h:
19735         * gst/net/gstnettimeprovider.c:
19736         * gst/net/gstnettimeprovider.h:
19737         * libs/gst/Makefile.am:
19738         * libs/gst/base/Makefile.am:
19739         * libs/gst/base/gstbasetransform.c:
19740         * libs/gst/check/Makefile.am:
19741         * plugins/elements/Makefile.am:
19742         * po/POTFILES.in:
19743           CVS surgery + support to move base, check, and net out of gst
19744           and into libs/gst
19745
19746 2005-11-29  Andy Wingo  <wingo@pobox.com>
19747
19748         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19749
19750         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19751         padding.
19752
19753         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19754
19755         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19756
19757         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19758
19759         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19760         padding; reduces object size by about 30%. We don't expect
19761         anything else to go into gstobject.
19762
19763         * gst/gstminiobject.h (struct _GstMiniObject)
19764         (struct _GstMiniObjectClass): Only one pointer of padding; the
19765         payload is only a pointer and two ints anyway. For the class there
19766         are only two methods as well.
19767         
19768         * gst/gstelement.h (struct _GstElementClass): Removed
19769         the state_changed signal callback, it is not used.
19770
19771 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19772
19773         * docs/gst/gstreamer.types:
19774           fix includes, though they are a little dinky
19775
19776 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19777
19778         * check/Makefile.am:
19779           look in the right place for elements, a lot more chance of
19780           success
19781         * gst/Makefile.am:
19782           remove indexers and elements subdirs
19783         * plugins/Makefile.am:
19784           make indexers conditional
19785
19786 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19787
19788         * Makefile.am:
19789         * configure.ac:
19790         * plugins/elements/Makefile.am:
19791         * plugins/elements/gstcapsfilter.c:
19792         * plugins/elements/gstfilesink.c:
19793         * plugins/elements/gstfilesrc.c:
19794         * plugins/elements/gstidentity.c:
19795         * plugins/indexers/Makefile.am:
19796           do CVS surgery and related build fixery to move elements
19797           and indexers in a new gstreamer/plugins directory, out of the
19798           gst/ directory
19799
19800 2005-11-29  Andy Wingo  <wingo@pobox.com>
19801
19802         * check/Makefile.am:
19803         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19804         * pkgconfig/gstreamer-net.pc.in:
19805         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19806         #322257.
19807
19808 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19809
19810         * tools/Makefile.am:
19811         * tools/gst-complete.1.in:
19812         * tools/gst-complete.c:
19813         * tools/gst-compprep.1.in:
19814         * tools/gst-compprep.c:
19815           removing -compprep and -complete
19816
19817 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19818
19819         * gst/gstevent.c: (gst_event_new_new_segment),
19820         (gst_event_parse_new_segment):
19821         * gst/gstevent.h:
19822           fix #320529 - clean up new_segment API and structure.
19823           Let's hope everyone was using the methods, and not the structure.
19824
19825 2005-11-29  Edward Hervey  <edward@fluendo.com>
19826
19827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19828         (gst_base_sink_event), (gst_base_sink_do_sync),
19829         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19830         Properly handle non GST_FORMAT_TIME segment
19831         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19832         Properly handle non GST_FORMAT_TIME segment
19833         * gst/gstsegment.c:
19834         This function is valid if the accumulator is 0 and the format
19835         is different from the requested format.
19836         
19837 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19838
19839         * docs/gst/gstreamer-sections.txt:
19840         Add gst_query_new_seeking and gst_query_parse_seeking to the
19841         docs.
19842
19843 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19844
19845         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19846           Treat a pad alloc with new caps the same as if we were not
19847           negotiated, in order to allow a changing upstream output
19848           to produce a new format of data.
19849
19850 2005-11-29  Edward Hervey  <edward@fluendo.com>
19851
19852         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19853         (gst_base_transform_event), (gst_base_transform_eventfunc):
19854         The event virtual method is now properly implemented, with a default
19855         handler
19856         Sub classes should call the parent_class event method. They should
19857         return FALSE if they had a problem handling the given event, or don't
19858         want GstBaseTransform to send that even downstream
19859         * gst/elements/gstidentity.c: (gst_identity_class_init),
19860         (gst_identity_init), (gst_identity_event),
19861         (gst_identity_transform_ip), (gst_identity_set_property),
19862         (gst_identity_get_property):
19863         * gst/elements/gstidentity.h:
19864         Added the single-segment boolean property.
19865         If set to TRUE, it will output a single segment of data, starting from
19866         0, will eat up all incoming newsegment, and modify the timestamp of the
19867         buffers accordingly
19868
19869 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19870
19871         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19872           Don't ref NULL target pad (#322751). Improve docs.
19873
19874 2005-11-29  Michael Smith  <msmith@fluendo.com>
19875
19876         * gst/gstregistryxml.c: (load_plugin):
19877           Don't crash if we failed to load a feature from a plugin. 
19878
19879 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19880
19881         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19882         (GST_START_TEST):
19883           use more check API and less GLib API
19884
19885 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19886
19887         * Makefile.am:
19888           don't run checks if we don't have check
19889         * common/check.mak:
19890           remove the registry when running make torture
19891         * docs/gst/gstreamer-sections.txt:
19892           remove second multiply
19893         * gst/gstqueue.c: (gst_queue_loop):
19894           fix a compile warning when disabling debug
19895
19896 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19897
19898         * gst/gstinfo.h:
19899         Hey! Let's print the pad name if the pointer != NULL instead
19900         of when it == NULL :-)
19901
19902 2005-11-28  Wim Taymans  <wim@fluendo.com>
19903
19904         * check/gst/gstutils.c: (GST_START_TEST):
19905         Updated check, add some scaling accuracy checking code.
19906
19907         * gst/gstutils.c: (gst_util_div128_64),
19908         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19909         (gst_util_uint64_scale_int):
19910         Fix 6 times faster division code. Optimize for common 
19911         1/1 and less common X/1 cases.
19912
19913 2005-11-28  Wim Taymans  <wim@fluendo.com>
19914
19915         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19916         More checks.
19917
19918         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19919         (do_linear_regression), (gst_clock_add_observation):
19920         Cleanups.
19921         Release lock when the clock cannot be slaved.
19922         Catch the case where the regression returned an invalid denominator.
19923
19924         * gst/gstutils.c: (gst_util_div128_64_iterate),
19925         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19926         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19927         Add protentially more performant non-iterative 128/64 divide function
19928         that unfortunatly does not work yet.
19929         Shortcut the trivial 0/X = 0 case.
19930         Remove the warnings on overflow.
19931
19932 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19933
19934         * gst/gstplugin.c: (gst_plugin_register_func):
19935           everything causing a plugin not to load should be at least a WARNING
19936
19937 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19938
19939         * docs/random/ensonic/dparams.txt:
19940           some TODOs for the next dev cycle
19941         * libs/gst/controller/gstcontroller.c:
19942         (gst_controlled_property_set_interpolation_mode),
19943         (gst_controlled_property_new):
19944         * libs/gst/controller/gstcontroller.h:
19945           use base type to assign acccessor functions
19946
19947 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19948
19949         * check/Makefile.am:
19950         Oops, that should have been top_srcdir
19951
19952 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19953
19954         * check/Makefile.am:
19955         * check/elements/fdsrc.c: (GST_START_TEST):
19956         Use a cmdline define to specify the location of a file to use for
19957         testing, to avoid breaking distcheck.
19958
19959 2005-11-28  Andy Wingo  <wingo@pobox.com>
19960
19961         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19962
19963 2005-11-28  Edward Hervey  <edward@fluendo.com>
19964
19965         * tools/gst-launch.c: (main):
19966         Clarify the output strings, makes it easier to translate.
19967         Fixes #322626
19968
19969 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19970
19971         * gst/Makefile.am:
19972           don't try and build net if we don't even have <sys/socket.h>
19973
19974 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19975
19976         * check/Makefile.am:
19977         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19978         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19979           Add tests for fdsrc seekability
19980
19981         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19982         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19983         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19984         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19985         * gst/elements/gstfdsrc.h:
19986           fdsrc should not be a 'live' source.
19987           Implement seeking on seekable fd's.
19988
19989         * gst/gstquery.c: (gst_query_new_seeking),
19990         (gst_query_parse_seeking):
19991         * gst/gstquery.h:
19992           Implement SEEKING query functions: 
19993             *_new_seeking and *_parse_seeking
19994
19995 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19996
19997         * gst/gstelement.c: (gst_element_dispose):
19998           don't loop forever
19999
20000         * gst/gstiterator.c:
20001         * gst/gststructure.c:
20002           doc fixes
20003
20004         * libs/gst/controller/gstcontroller.c:
20005         (gst_controlled_property_set_interpolation_mode):
20006         * libs/gst/controller/gstcontroller.h:
20007         * libs/gst/controller/gstinterpolation.c:
20008         (interpolate_none_get_enum_value_array):
20009           support controlling enums
20010
20011 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20012
20013         * gst/gstvalue.c:
20014           Improve documentation for gst_value_union().
20015
20016         * gst/gstvalue.h:
20017           Change return value for union, intersect and subtract functions
20018           from gint to gboolean.
20019
20020 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20021
20022         * gst/gstvalue.c: (gst_value_serialize_any_list),
20023         (gst_value_transform_any_list_string),
20024         (gst_value_deserialize_list), (gst_value_deserialize_array),
20025         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20026         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20027         (gst_value_set_fraction_range_full),
20028         (gst_value_deserialize_fraction_range),
20029         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20030         (gst_value_deserialize_boolean),
20031         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20032         (gst_value_serialize_float), (gst_value_deserialize_float),
20033         (gst_string_wrap), (gst_value_deserialize_string),
20034         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20035         (gst_value_union_int_range_int_range),
20036         (gst_value_intersect_int_range_int_range),
20037         (gst_value_intersect_double_range_double_range),
20038         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20039         (gst_value_subtract_int_range_int_range),
20040         (gst_value_subtract_double_double_range),
20041         (gst_value_subtract_double_range_double_range),
20042         (gst_value_deserialize_fraction):
20043         * gst/gstvalue.h:
20044           Use gint, gdouble and gchar in our API instead of int, double and
20045           char (and make usage in gstvalue.c more consistent).
20046
20047 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20048
20049         * check/Makefile.am:
20050         * libs/gst/controller/Makefile.am:
20051         * libs/gst/dataprotocol/Makefile.am:
20052           fix up Makefile.am and remove GST_ENABLE_NEW
20053
20054 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20055
20056         * configure.ac:
20057         * gst/Makefile.am:
20058         * gst/base/Makefile.am:
20059         * gst/check/Makefile.am:
20060         * gst/elements/Makefile.am:
20061         * gst/net/Makefile.am:
20062           update LDFLAGS use some more
20063
20064 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20065
20066         * common/m4/gst-doc.m4:
20067           Fixes #312589
20068
20069 2005-11-26  Edward Hervey  <edward@fluendo.com>
20070
20071         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20072         This shouldn't issue a g_warning since it returns NULL if it
20073         couldn't find the plugin, and all functions using this behave
20074         properly on a NULL return. Switching to a GST_WARNING.
20075
20076 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20077
20078         * gst/gstbin.c: (gst_bin_handle_message_func):
20079         Don't leak clock messages.
20080
20081 2005-11-25  Wim Taymans  <wim@fluendo.com>
20082
20083         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20084         (gst_util_uint64_scale_int):
20085         Optimisations, remove unneeded vars.
20086
20087 2005-11-25  Wim Taymans  <wim@fluendo.com>
20088
20089         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20090         Added more checks for the high precision uint64 cases.
20091
20092         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20093         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20094         Implement high precision (guint64 * guint64) / guint64.
20095
20096 2005-11-24  Wim Taymans  <wim@fluendo.com>
20097
20098         * gst/base/gstbasesrc.c: (gst_base_src_query):
20099         Fix wrong percentage query.
20100
20101         * gst/gstutils.c: (gst_util_uint64_scale),
20102         (gst_util_uint64_scale_int):
20103         Add some more common cases that can be handled 
20104         efficiently to _scale.
20105
20106 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20107
20108         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20109         (gst_mini_object_suite):
20110           don't use check calls from threads; check probably isn't
20111           threadsafe and using a lock to make it threadsafe would
20112           defeat the purpose of this check
20113         * gst/check/gstcheck.c:
20114         * gst/check/gstcheck.h:
20115           use GST_DEBUG some more
20116
20117 2005-11-24  Wim Taymans  <wim@fluendo.com>
20118
20119         * gst/gstutils.c: (gst_util_uint64_scale),
20120         (gst_util_uint64_scale_int):
20121         Chain trivial case to _scale_int.
20122
20123 2005-11-24  Wim Taymans  <wim@fluendo.com>
20124
20125         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20126         Added test for scaling.
20127
20128         * gst/gstclock.h:
20129         Small doc fix.
20130
20131         * gst/gstutils.c: (gst_util_uint64_scale_int):
20132         Implemented high precision scaling code.
20133
20134 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20135
20136         * gst/gstinfo.h:
20137           do not crash on pad==NULL
20138
20139 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20140
20141         Patch by: Stefan Kost
20142
20143         * common/gtk-doc.mak:
20144         * docs/gst/Makefile.am:
20145         * docs/libs/Makefile.am:
20146           Fix distcheck issues for the libraries docs build
20147           Closes #319599.
20148
20149 2005-11-24  Michael Smith <msmith@fluendo.com>
20150
20151         * docs/manual/basics-helloworld.xml:
20152           Fix bug #315027: memory leak in example code in docs.
20153
20154 2005-11-24  Michael Smith <msmith@fluendo.com>
20155
20156         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20157           Unlock the PREROLL_LOCK in a failure case.
20158
20159 2005-11-24  Wim Taymans  <wim@fluendo.com>
20160
20161         * docs/gst/gstreamer-sections.txt:
20162         * gst/base/gstadapter.h:
20163         * gst/base/gstbasesink.h:
20164         * gst/base/gstbasesrc.h:
20165         * gst/base/gstbasetransform.h:
20166         * gst/base/gstpushsrc.h:
20167         * gst/elements/gstfakesink.h:
20168         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20169         * gst/elements/gstfakesrc.h:
20170         * gst/elements/gstfilesink.h:
20171         * gst/elements/gstfilesrc.h:
20172         * gst/gst.c:
20173         * gst/gstbin.c:
20174         * gst/gstbuffer.c: (_gst_buffer_copy):
20175         * gst/gstbus.h:
20176         * gst/gstcaps.c:
20177         * gst/gstchildproxy.c:
20178         * gst/gstclock.c:
20179         * gst/gstelement.c:
20180         * gst/gstelementfactory.c:
20181         * gst/gstelementfactory.h:
20182         * gst/gstevent.c:
20183         * gst/gstghostpad.h:
20184         * gst/gstindex.h:
20185         * gst/gstinterface.h:
20186         * gst/gstminiobject.c:
20187         * gst/gstminiobject.h:
20188         * gst/gstpad.c:
20189         * gst/gstpad.h:
20190         * gst/gstpadtemplate.h:
20191         * gst/gstpipeline.h:
20192         * gst/gstpluginfeature.h:
20193         * gst/gstquery.h:
20194         * gst/gstqueue.h:
20195         * gst/gsttaglist.c:
20196         * gst/gsttaglist.h:
20197         * gst/gsttagsetter.c:
20198         * gst/gsttagsetter.h:
20199         * gst/gsttrace.c:
20200         * gst/gsttrace.h:
20201         * gst/gsttypefind.h:
20202         * gst/gsturi.h:
20203         * gst/gstvalue.c:
20204         * gst/net/gstnetclientclock.c:
20205         * gst/net/gstnetclientclock.h:
20206         * gst/net/gstnettimepacket.c:
20207         * gst/net/gstnettimeprovider.c:
20208         * gst/net/gstnettimeprovider.h:
20209         Doc fixes.
20210
20211 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20212
20213         * configure.ac: back to HEAD
20214
20215 === release 0.9.6 ===
20216
20217 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20218
20219         * configure.ac:
20220           releasing 0.9.6, "Always On Time"
20221
20222 2005-11-23  Wim Taymans  <wim@fluendo.com>
20223
20224         * docs/gst/gstreamer-sections.txt:
20225         * gst/glib-compat.c:
20226         * gst/gsttagsetter.c:
20227         * gst/gstvalue.c:
20228         * gst/net/gstnetclientclock.c:
20229         * gst/net/gstnettimepacket.h:
20230         Doc updates.
20231
20232 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20233
20234         * docs/faq/using.xml:
20235         * docs/libs/tmpl/gstcontrol.sgml:
20236         * docs/manual/advanced-dparams.xml:
20237         * docs/manual/appendix-checklist.xml:
20238         * docs/manual/basics-elements.xml:
20239         * docs/pwg/other-source.xml:
20240         * docs/random/moving-plugins:
20241         * gst/gstpad.c:
20242         * tools/gst-launch.1.in:
20243           remove mentions of sinesrc
20244
20245 2005-11-23  Michael Smith <msmith@fluendo.com>
20246
20247         * docs/gst/gstreamer-sections.txt:
20248           Update for new API and API changes.
20249         * gst/gstobject.h:
20250           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20251         * gst/gstvalue.c:
20252           Documentation typo fix.
20253         * gst/net/gstnettimepacket.c:
20254           Documentation fixes for arguments.
20255
20256 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20257
20258         * gst/gststructure.c: (gst_structure_get_fraction),
20259         (gst_structure_parse_value),
20260         (gst_structure_fixate_field_nearest_fraction):
20261         * gst/gststructure.h:
20262         * gst/gstutils.c: (gst_util_uint64_scale_int):
20263         * gst/gstutils.h:
20264         * scripts/update-funcnames:
20265         API Changes. 
20266         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20267         Make gst_structure_fixate_field_nearest_fraction take a numerator
20268         and denominator argument instead of a GValue
20269         add gst_structure_get_fraction helper function.
20270
20271 2005-11-23  Wim Taymans  <wim@fluendo.com>
20272
20273         * docs/design/part-TODO.txt:
20274         Update TODO.
20275
20276         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20277         * gst/net/gstnetclientclock.h:
20278         Use parent fields for timeout and window_size.
20279
20280 2005-11-23  Andy Wingo  <wingo@pobox.com>
20281
20282         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20283         rate_num/rate_denom change.
20284
20285         * gst/net/gstnetclientclock.c
20286         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20287         OBJECT_LOCK. Don't call add_observation with the lock.
20288
20289         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20290         fraction.
20291         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20292         rate fraction.
20293         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20294         deal with rate as a fraction whose numerator and denominator are
20295         GstClockTime values.
20296         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20297         master; the other fields are protected by the SLAVE_LOCK.
20298         (do_linear_regression): Note that this must be called with the
20299         SLAVE_LOCK.
20300         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20301         OBJECT_LOCK. Call set_calibration instead of touching the
20302         variables directly.
20303         (gst_clock_set_property, gst_clock_get_property): Protect
20304         master/slave parameters with the SLAVE_LOCK.
20305
20306         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20307         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20308         note that all of the instance variables that add_observation and
20309         the set_master functions use are protected by that lock and not
20310         the OBJECT_LOCK.
20311         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20312
20313         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20314         the caller to take the object lock.
20315
20316 2005-11-23  Wim Taymans  <wim@fluendo.com>
20317
20318         * gst/gsterror.c: (_gst_core_errors_init):
20319         * gst/gsterror.h:
20320         Add error for clock stuff.
20321
20322         * gst/gstpipeline.c: (gst_pipeline_change_state),
20323         (gst_pipeline_set_clock):
20324         Post clock error when clock cannot be used in a pipeline.
20325
20326 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20327
20328         * docs/gst/gstreamer-sections.txt:
20329           make two symbols from gstinfo private for the docs
20330         * gst/base/gstcollectpads.h:
20331         * gst/gstutils.c:
20332           fix doc typos, update docs
20333
20334 2005-11-22  Wim Taymans  <wim@fluendo.com>
20335
20336         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20337         (gst_base_sink_wait), (gst_base_sink_do_sync),
20338         (gst_base_sink_handle_event):
20339         * gst/base/gstbasesink.h:
20340         No need to store the clock, the parent element class already
20341         has it.
20342
20343         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20344         Updates for clock_set returning a gboolean
20345
20346         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20347         (gst_clock_id_wait_async), (gst_clock_class_init),
20348         (gst_clock_init), (gst_clock_finalize),
20349         (gst_clock_get_internal_time), (gst_clock_get_time),
20350         (gst_clock_slave_callback), (gst_clock_set_master),
20351         (gst_clock_get_master), (do_linear_regression),
20352         (gst_clock_add_observation), (gst_clock_set_property),
20353         (gst_clock_get_property):
20354         * gst/gstclock.h:
20355         Implement master/slave. When setting a clock as a slave, a
20356         periodic timeout is scheduled to sample master and slave times.
20357         Then the slave clock is recalibrated to match offset and rate
20358         of the master clock.
20359         Update logging a bit.
20360         Add flag so that a clock can state that is cannot be slaved to
20361         another clock.
20362
20363         * gst/gstelement.c: (gst_element_set_clock):
20364         * gst/gstelement.h:
20365         The set clock returns a gboolean for when an element cannot
20366         deal with the selected clock in the pipeline. 
20367
20368         * gst/gstpipeline.c: (gst_pipeline_change_state),
20369         (gst_pipeline_set_clock):
20370         * gst/gstpipeline.h:
20371         Handle the case where the selected clock cannot be set on
20372         the pipeline.
20373
20374         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20375         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20376         (gst_net_client_clock_set_property),
20377         (gst_net_client_clock_get_property),
20378         (gst_net_client_clock_observe_times):
20379         * gst/net/gstnetclientclock.h:
20380         Use regression code in GstClock parent, remove duplicated
20381         functionality.
20382
20383 2005-11-22  Michael Smith <msmith@fluendo.com>
20384
20385         * gst/gstutils.c: (gst_util_clock_time_scale):
20386         * gst/gstutils.h:
20387         * docs/gst/gstreamer-sections.txt:
20388           Rename method to have extra underscore.
20389
20390 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20391
20392         * gst/elements/Makefile.am:
20393         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20394         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20395         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20396         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20397         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20398         * gst/elements/gstfakesrc.h:
20399         * gst/gstqueue.c: (queue_leaky_get_type):
20400           correctly fix GEnumValues so that nick is the short lowercase
20401           dashed tag
20402         * tools/gst-inspect.c: (print_element_properties_info):
20403           also show the nick, since it's useful to use from parse_launch
20404           syntax
20405           Fixes #322139
20406
20407 2005-11-22  Michael Smith <msmith@fluendo.com>
20408
20409         * gst/gstutils.c: (gst_util_clocktime_scale):
20410         * gst/gstutils.h:
20411         * docs/gst/gstreamer-sections.txt:
20412           Add util method for scaling a clocktime by a fraction. Useful 
20413           implementation is left as an exercise for the reader.
20414
20415 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20416
20417         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20418         If needed, allocate storage in the destination value during
20419         collection.
20420
20421 2005-11-22  Edward Hervey  <edward@fluendo.com>
20422
20423         * docs/gst/gstreamer-sections.txt:
20424         * gst/Makefile.am:
20425         * gst/gst.h:
20426         * gst/gsturitype.c:
20427         * gst/gsturitype.h:
20428         * gst/gstutils.c: (gst_util_set_object_arg):
20429         * tools/gst-compprep.c: (main):
20430         * tools/gst-inspect.c: (print_element_properties_info):
20431         Removed GstURI, closes bug #321061
20432
20433 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20434
20435         * check/gst/gststructure.c: (GST_START_TEST):
20436         * gst/gststructure.c: (gst_structure_parse_value):
20437           Oops, broke automatic string type parsing.
20438           Add a test to catch it in future.
20439
20440 2005-11-22  Andy Wingo  <wingo@pobox.com>
20441
20442         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20443         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20444         Actually rename the function implementations. Grr.
20445
20446 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20447
20448         * check/gst/capslist.h:
20449           Comment test cases
20450         * check/gst/gststructure.c: (GST_START_TEST),
20451         (gst_structure_suite):
20452           Test automatic value type detection in gst_structure_from_string.
20453         * gst/gststructure.c: (gst_structure_parse_value):
20454           Add fraction as a type we try and guess automatically in
20455           caps/structure strings.
20456
20457 2005-11-22  Andy Wingo  <wingo@pobox.com>
20458
20459         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20460
20461         * gst/gsttagsetter.h:
20462         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20463         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20464         (gst_tag_setter_add_tag_valist)
20465         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20466         _add_values, _add_valist, and _add_valist_values. Since this is an
20467         interface the function suffixes should be more explicit so
20468         language binding don't end up with element.add_valist ->
20469         gst_tag_setter_add_valist, for example. Fixes #322069.
20470
20471 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20472
20473         * check/gst/gstcaps.c: (GST_START_TEST):
20474           Extend caps string tests to check that a caps to string
20475           conversion is reversible and produces the same caps.
20476
20477         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20478           Output "fraction" as the generic type fraction range, so caps
20479           serialisation and deserialisation works.
20480         * check/gst/capslist.h:
20481         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20482           Support 'MIN' and 'MAX' for deserialising fractions.
20483
20484 2005-11-22  Andy Wingo  <wingo@pobox.com>
20485
20486         * gst/gstevent.h (gst_event_new_new_segment)
20487         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20488         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20489         Renamed from *_newsegment, *_buffersize, *_notarget.
20490
20491         * scripts/update-funcnames: New script, performs the changes
20492         listed above.
20493
20494 2005-11-22  Wim Taymans  <wim@fluendo.com>
20495
20496         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20497         Make sure the GstFlowReturn is returned.
20498
20499         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20500         (gst_bus_add_signal_watch):
20501         * gst/gstbus.h:
20502         add gst_bus_add_signal_watch_full.
20503
20504         * gst/gstplugin.c: (gst_plugin_load_file):
20505         Small style cleanup.
20506
20507 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20508
20509         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20510           Block the fakesrc srcpad when we send an event, to avoid
20511           contention on the stream_lock causing random test failures.
20512
20513 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20514
20515         * check/gst/gstvalue.c: (GST_START_TEST):
20516         * gst/gstvalue.c: (gst_value_fraction_subtract):
20517           Fix subtraction.
20518
20519 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20520
20521         * gst/gst.h:
20522           include "gstchildproxy.h"
20523         * gst/gstchildproxy.h:
20524         * libs/gst/controller/gstcontroller.h:
20525           use G_GNUC_NULL_TERMINATED
20526
20527 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20528
20529         * check/gst/capslist.h:
20530         * check/gst/gstcaps.c: (GST_START_TEST):
20531         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20532         * gst/gststructure.c: (gst_structure_parse_range),
20533         (gst_structure_fixate_field_nearest_fraction):
20534         * gst/gststructure.h:
20535         * gst/gstvalue.c: (gst_value_init_fraction_range),
20536         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20537         (gst_value_collect_fraction_range),
20538         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20539         (gst_value_set_fraction_range_full),
20540         (gst_value_get_fraction_range_min),
20541         (gst_value_get_fraction_range_max),
20542         (gst_value_serialize_fraction_range),
20543         (gst_value_transform_fraction_range_string),
20544         (gst_value_compare_fraction_range),
20545         (gst_value_deserialize_fraction_range),
20546         (gst_value_intersect_fraction_fraction_range),
20547         (gst_value_intersect_fraction_range_fraction_range),
20548         (gst_value_subtract_fraction_fraction_range),
20549         (gst_value_subtract_fraction_range_fraction),
20550         (gst_value_subtract_fraction_range_fraction_range),
20551         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20552         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20553         (gst_value_transform_string_fraction), (_gst_value_initialize):
20554         * gst/gstvalue.h:
20555           Implement fraction ranges and extend GstFraction to support
20556           arithmetic subtraction, as well as deserialization from integer
20557           strings such as "100"
20558           Add a testsuite as for int and double range set operations
20559
20560 2005-11-21  Andy Wingo  <wingo@pobox.com>
20561
20562         * gst/gsttaglist.h: 
20563         * gst/gstcaps.h: 
20564         * gst/gststructure.h: Add glib-compat.h.
20565
20566 2005-11-21  Wim Taymans  <wim@fluendo.com>
20567
20568         * gst/gstbin.c: (gst_bin_change_state_func):
20569         Fix for #321595
20570
20571 2005-11-21  Wim Taymans  <wim@fluendo.com>
20572
20573         * gst/gstsegment.h:
20574         And add a nice define too.
20575
20576 2005-11-21  Wim Taymans  <wim@fluendo.com>
20577
20578         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20579         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20580         (gst_segment_set_duration), (gst_segment_set_last_stop),
20581         (gst_segment_set_seek), (gst_segment_set_newsegment),
20582         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20583         (gst_segment_clip):
20584         * gst/gstsegment.h:
20585         Make binding friendly.
20586
20587 2005-11-21  Andy Wingo  <wingo@pobox.com>
20588
20589         * gst/gsttagsetter.h: 
20590         * gst/gsttaglist.h: 
20591         * gst/gststructure.h: 
20592         * gst/gstcaps.h: 
20593         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20594         #319940.
20595
20596         * gst/gsterror.c (_gst_core_errors_init):
20597         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20598         category.
20599
20600         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20601         (noinst_HEADERS): noinst the -private.
20602
20603 2005-11-21  Michael Smith <msmith@fluendo.com>
20604
20605         * gst/gstplugin.h:
20606         * gst/gstregistry.h:
20607           Remove unimplemented declarations for which we can see no sensible
20608           use.
20609
20610 2005-11-21  Andy Wingo  <wingo@pobox.com>
20611
20612         * gst/gst.h: Include glib-compat.h.
20613
20614         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20615
20616         * gst/glib-compat.c: Include the public and the private header.
20617
20618         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20619
20620         * gst/gstvalue.c: 
20621         * gst/gstpad.c: 
20622         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20623
20624         * check/gst/gstevent.c (create_custom_events): Check that
20625         FLUSH_STOP is serialized.
20626
20627         * check/elements/identity.c (event_func): 
20628         * check/elements/fakesrc.c (event_func): No stream lock, the core
20629         takes it.
20630
20631         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20632         stream lock taking, yay.
20633
20634         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20635         ensure that core takes the stream lock.
20636
20637         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20638         lock name change.
20639
20640         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20641         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20642         it already. For the flush start we do take it though so we get the
20643         right preroll state change messages.
20644
20645         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20646         the stream lock here, the core does it for us.
20647
20648         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20649         GST_STREAM_GET_LOCK.
20650         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20651         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20652         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20653         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20654         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20655         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20656
20657         * gst/gstpad.c: Update for stream lock name change.
20658
20659         * gst/base/gstbasesink.c: Update for preroll lock name change.
20660
20661 2005-11-21  Wim Taymans  <wim@fluendo.com>
20662
20663         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20664         (gst_clock_get_master):
20665         * gst/gstclock.h:
20666         * gst/gstsystemclock.c: (gst_system_clock_init):
20667         Convert Clock flags to object flags.
20668         Added methods to manage master/slave clocks.
20669
20670 2005-11-21  Wim Taymans  <wim@fluendo.com>
20671
20672         * check/gst/gstsegment.c: (GST_START_TEST):
20673         * docs/design/part-TODO.txt:
20674         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20675         (gst_base_sink_event), (gst_base_sink_do_sync),
20676         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20677         (gst_base_sink_query), (gst_base_sink_change_state):
20678         * gst/base/gstbasesink.h:
20679         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20680         (gst_base_src_default_newsegment),
20681         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20682         (gst_base_src_get_range), (gst_base_src_loop),
20683         (gst_base_src_change_state):
20684         * gst/base/gstbasesrc.h:
20685         * gst/base/gstbasetransform.c:
20686         (gst_base_transform_prepare_output_buf),
20687         (gst_base_transform_event), (gst_base_transform_change_state):
20688         * gst/base/gstbasetransform.h:
20689         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20690         (gst_collect_pads_event):
20691         * gst/base/gstcollectpads.h:
20692         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20693         (gst_fake_src_create):
20694         * gst/elements/gstfakesrc.h:
20695         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20696         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20697         (gst_segment_set_last_stop), (gst_segment_set_seek),
20698         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20699         (gst_segment_to_running_time), (gst_segment_clip):
20700         * gst/gstsegment.h:
20701         More segment updates, replace code in plugins with segment
20702         helper functions.
20703
20704 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20705
20706         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20707         Don't ignore sscanf results
20708
20709 2005-11-21  Andy Wingo  <wingo@pobox.com>
20710
20711         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20712
20713         * *.h:
20714         * *.c: Ran scripts/update-macros. Oh yes.
20715
20716         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20717         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20718         GST_GET_LOCK, etc.
20719
20720         * scripts/update-macros: New script. Run it on your files to
20721         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20722         well.
20723
20724 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20725
20726         * docs/gst/Makefile.am:
20727         * docs/gst/gstreamer-docs.sgml:
20728         * docs/gst/gstreamer-sections.txt:
20729         * docs/gst/gstreamer.types:
20730         * gst/gstinfo.h:
20731           more docs fixes, add new api to the docs
20732
20733 2005-11-21  Andy Wingo  <wingo@pobox.com>
20734
20735         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20736         state_broadcast call.
20737
20738         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20739
20740 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20741
20742         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20743         function calls for arrays.
20744
20745 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20746
20747         * docs/random/ensonic/media-device-daemon.txt:
20748           wild idea, can this be done?
20749         * docs/gst/gstreamer-sections.txt:
20750         * gst/gsterror.h:
20751         * gst/gstfilter.c:
20752         * gst/gstfilter.h:
20753         * gst/gstplugin.h:
20754         * gst/gstpluginfeature.c:
20755         * gst/gsttrace.c:
20756         * gst/gstvalue.c:
20757         * gst/gstvalue.h:
20758           doc fixes and additions
20759
20760 2005-11-21  Andy Wingo  <wingo@pobox.com>
20761
20762         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20763         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20764         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20765         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20766         private to the basesrc implementation.
20767
20768         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20769         behalf of event function if necessary. It should no longer be
20770         necessary to take the stream lock in pad's event functions. Fixes
20771         #320299.
20772
20773 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20774         * docs/gst/gstreamer-sections.txt:
20775         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20776         (gst_structure_fixate_field_nearest_double),
20777         (gst_structure_fixate_field_boolean):
20778         * gst/gststructure.h:
20779         * win32/common/libgstreamer.def:
20780         * win32/gstreamer.def:
20781
20782         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20783         (#322027)
20784
20785 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20786
20787         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20788         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20789         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20790         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20791         (gst_fdsrc_uri_handler_init):
20792         * gst/elements/gstfdsrc.h:
20793           Port fd:// URI handler from 0.8 to fdsrc
20794
20795 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20796
20797         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20798         (gst_value_serialize_fourcc):
20799         * gst/gstvalue.h:
20800           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20801           consistent with our other format defines (#320324).
20802
20803 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20804
20805         * gst/gstvalue.c: (gst_value_is_fixed):
20806           Revert previous commit. Value lists are by definition
20807           not fixed, as they are a list of possible values.
20808
20809 2005-11-21  Andy Wingo  <wingo@pobox.com>
20810
20811         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20812         during the stable series if we need it. Fixes #319178.
20813
20814         * gst/gstevent.c (gst_event_new_filler): Removed.
20815
20816         * check/gst/gstevent.c: Update comment about filler events.
20817
20818 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20819
20820         * gst/gstvalue.c: (gst_value_is_fixed):
20821           Should handle both value arrays and value lists.
20822
20823 2005-11-21  Andy Wingo  <wingo@pobox.com>
20824
20825         patch by: Alessandro Dessina <alessandro nnva org>
20826
20827         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20828         functions to access arrays. Fixes #321962.
20829
20830 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20831
20832         * docs/gst/gstreamer.types:
20833           gst_collectpads_get_type => gst_collect_pads_get_type.
20834           
20835         * gst/base/gstbasetransform.c:
20836           Remove unused SIGNAL_HANDOFF enum.
20837
20838 2005-11-21  Andy Wingo  <wingo@pobox.com>
20839
20840         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20841         the event type (upstream, downstream, serialized). Renamed
20842         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20843         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20844         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20845
20846         * gst/gstevent.c: Update for new CUSTOM event names.
20847
20848         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20849
20850         * gst/gstevent.h:
20851         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20852         bug #319392.
20853
20854 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20855
20856         * docs/gst/gstreamer-sections.txt:
20857         * win32/common/libgstbase.def:
20858         * win32/libgstbase.def:
20859         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20860         (gst_collect_pads_class_init), (gst_collect_pads_init),
20861         (gst_collect_pads_finalize), (gst_collect_pads_new),
20862         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20863         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20864         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20865         (gst_collect_pads_start), (gst_collect_pads_stop),
20866         (gst_collect_pads_peek), (gst_collect_pads_pop),
20867         (gst_collect_pads_available), (gst_collect_pads_read),
20868         (gst_collect_pads_flush), (gst_collect_pads_event),
20869         (gst_collect_pads_chain):
20870         * gst/base/gstcollectpads.h:
20871           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20872           unimplemented functions as unimplemented. Add padding to
20873           GstCollectData. (#320766, #320423)
20874
20875 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20876
20877         * gst/gstmessage.c:
20878           Improve docs for DURATION message (usage of duration parameter)
20879           (#320113)
20880
20881 2005-11-20  Wim Taymans  <wim@fluendo.com>
20882
20883         * check/Makefile.am:
20884         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20885         (main):
20886         * gst/Makefile.am:
20887         * gst/gst.h:
20888         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20889         (gst_segment_set_seek), (gst_segment_set_newsegment),
20890         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20891         (gst_segment_clip):
20892         * gst/gstsegment.h:
20893         Added segment helper structure and methods. Not fully implemented
20894         yet.
20895         Added segment check.
20896
20897 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20898
20899         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20900           Add a deserialisation test for fractions
20901         * examples/metadata/read-metadata.c: (message_loop),
20902         (make_pipeline), (main):
20903           Fix up metadata reading sample.
20904         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20905           Debug format fix
20906         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20907           Don't try and fixate empty caps
20908         * gst/gst_private.h:
20909           Wrap in G_BEGIN_DECLS/G_END_DECLS
20910         * gst/gstvalue.c: (gst_value_collect_fraction),
20911         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20912         (gst_value_transform_string_fraction),
20913         (gst_value_compare_fraction):
20914           Add some extra guards to ensure that we don't end up 
20915           with an invalid denominator of 0 in a gstfraction and
20916           that fractions always get reduced.
20917
20918 2005-11-20  Wim Taymans  <wim@fluendo.com>
20919
20920         * docs/gst/gstreamer-sections.txt:
20921         * gst/gstbuffer.h:
20922         * gst/gstelement.c:
20923         * gst/gstformat.c:
20924         * gst/gstformat.h:
20925         * gst/gstindex.h:
20926         * gst/gstquery.c:
20927         * gst/gstquery.h:
20928         * gst/gstvalue.c:
20929         Doc fixes.
20930
20931 2005-11-20  Wim Taymans  <wim@fluendo.com>
20932
20933         * docs/design/part-TODO.txt:
20934         * gst/gstcaps.h:
20935         Make a proper enum of the flag.
20936
20937 2005-11-19  Wim Taymans  <wim@fluendo.com>
20938
20939         * docs/design/part-TODO.txt:
20940         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20941         (gst_format_to_quark), (gst_format_register):
20942         * gst/gstformat.h:
20943         * gst/gstquery.c: (_gst_query_initialize),
20944         (gst_query_type_get_name), (gst_query_type_to_quark),
20945         (gst_query_type_register):
20946         * gst/gstquery.h:
20947         Add type to quark and type to string conversions.
20948
20949 2005-11-19  Andy Wingo  <wingo@pobox.com>
20950
20951         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20952         #320097.
20953
20954 2005-11-19  Wim Taymans  <wim@fluendo.com>
20955
20956         * docs/design/part-TODO.txt:
20957         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20958         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20959         (gst_bin_handle_message_func):
20960         * gst/gstbin.h:
20961         Make message handling overridable.
20962
20963 2005-11-19  Andy Wingo  <wingo@pobox.com>
20964
20965         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20966
20967         * gst/gstclock.h:
20968         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20969         be a GstClockTime.
20970         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20971         is a GstClockTime. Fixes #321710.
20972
20973         * gst/gstclock.h (GstClock): Remove offset property. Add
20974         internal_calibration and external_calibration. Fix padding. Pad
20975         also by GstClockTime so we don't run into problems.
20976
20977         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20978         (gst_clock_get_rate_offset): Remove.
20979         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20980
20981         * gst/gstutils.h:
20982         * gst/gstutils.c (g_static_rec_cond_wait)
20983         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20984
20985         * gst/gstbin.c: Remove terrible continue_state prototype.
20986
20987         * gst/gstelement.h (gst_element_continue_state): Make public.
20988
20989         * gst/gstelement.h:
20990         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20991         by continue_state. Fixes #319389.
20992
20993         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20994         Really fixes #168438. However I don't see anywhere where the
20995         filter function is called... stupid GStreamer...
20996         
20997         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20998         don't have a dispose function, so it won't get called when the
20999         object is unreffed, but oh well!
21000
21001         * gst/gstindex.c (gst_index_set_filter_full): New API function,
21002         allows a destroy function to be set so user_data can be freed.
21003         Fixes #168438.
21004         (gst_index_set_filter): Call gst_index_set_filter_full.
21005
21006         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21007
21008         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21009         string should produce an error, given the lack of a way to
21010         represent NULL strings. Fixes #165650.
21011         
21012         * gst/gstvalue.h: 
21013         * gst/gstvalue.c (gst_value_array_append_value) 
21014         (gst_value_array_prepend_value, gst_value_array_get_size) 
21015         (gst_value_array_get_value): New API, copied from
21016         gst_value_list_*, only operates on arrays.
21017         (gst_value_list_append_value, gst_value_list_prepend_value) 
21018         (gst_value_list_concat, gst_value_list_get_size) 
21019         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21020
21021         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21022         init_list, because it works on both.
21023         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21024         (gst_value_copy_list_or_array): Renamed from copy_list.
21025         (gst_value_free_list_or_array): Renamed from free_list.
21026         (gst_value_collect_list_or_array): Renamed from collect_list.
21027         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21028         (gst_value_list_or_array_peek_pointer): Renamed from
21029         list_peek_pointer.
21030         (_gst_value_array_value_table, _gst_value_list_value_table):
21031         Update value table functions.
21032         (gst_value_compare_list_or_array): Renamed from compare_list.
21033
21034         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21035         some constness.
21036
21037         * gst/gsttaglist.c:
21038         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21039         GstTagList*. Fixes #143472.
21040
21041         * gst/gststructure.h: Clarify what the foreach/map functions can
21042         or can't do to their arguments.
21043
21044 2005-11-18  Wim Taymans  <wim@fluendo.com>
21045
21046         * gst/gstclock.c: (gst_clock_set_calibration),
21047         (gst_clock_get_calibration):
21048         Doc and API fixes.
21049         Calibration can be set with internal time equal to current
21050         internal time too.
21051
21052 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21053
21054         * gst/gsterror.c:
21055         * gst/gsterror.h:
21056           document
21057
21058 2005-11-18  Andy Wingo  <wingo@pobox.com>
21059
21060         * configure.ac: 
21061         * pkgconfig/gstreamer-net.pc.in:
21062         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21063         * pkgconfig/Makefile.am: Add net pkgconfig files.
21064
21065 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21066
21067         * gst/gstcaps.c:
21068         * gst/gstghostpad.c:
21069         * gst/gsttrace.c:
21070         * gst/gstvalue.c:
21071         * gst/gstvalue.h:
21072           docs fixes
21073
21074 2005-11-18  Andy Wingo  <wingo@pobox.com>
21075
21076         * gst/net/gstnetclientclock.c: Turn off debugging.
21077
21078         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21079         times connverge somewhat. Can't make a real test.
21080
21081         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21082         integer arithmetic. Return the minimum of the domain, which can be
21083         set as "internal" for gst_clock_set_calibration.
21084         (gst_net_client_clock_observe_times): Call _set_calibration.
21085         (gst_net_client_clock_new): Call _set_calibration instead of
21086         rate_offset.
21087
21088         * check/net/gstnetclientclock.c (test_functioning): Use the right
21089         adjustment api.
21090
21091         * gst/gstclock.h:
21092         * gst/gstclock.c (gst_clock_get_calibration) 
21093         (gst_clock_set_calibration): New functions, obsolete the ones I
21094         added yesterday. Doh. Precision issues mean we have to extrapolate
21095         from a point in the more recent past than 1970.
21096         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21097         obsolete.
21098         (gst_clock_adjust_unlocked): Use the right calibration data.
21099
21100 2005-11-18  Edward Hervey  <edward@fluendo.com>
21101
21102         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21103         Also reset the ->current_* values in READY->PAUSED
21104
21105 2005-11-18  Andy Wingo  <wingo@pobox.com>
21106
21107         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21108         Whoops, check the right fd. Also add some debugging.
21109         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21110         (do_linear_regression): Add a crapload of debugging. Subtract off
21111         the minimum values from the input series to discard unneeded bits.
21112         Use only int arithmetic. There is still double arithmetic when
21113         calculating the intercept that needs fixing. Return boolean to
21114         indicate success; FALSE would mean the domain or range is too
21115         great. Still needs fixes.
21116
21117 2005-11-18  Wim Taymans  <wim@fluendo.com>
21118
21119         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21120         For the current position in stream time, we need to subtract
21121         accumulated time.
21122         
21123         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21124         Release lock before calling the callback function of async
21125         entries.
21126
21127 2005-11-18  Andy Wingo  <wingo@pobox.com>
21128
21129         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21130         Port goes all the way to MAXUINT16.
21131
21132         * gst/net/gstnettimeprovider.c: Make the port range the same as
21133         for the kernel: 0 assigns, otherwise ports are less than
21134         MAXUINT16.
21135
21136         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21137         port change.
21138
21139         * check/net/gstnetclientclock.c (test_functioning): Add the start
21140         of another test. 
21141
21142 2005-11-18  Wim Taymans  <wim@fluendo.com>
21143
21144         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21145         (gst_bin_remove_func), (bin_bus_handler):
21146         * gst/gstbin.h:
21147         Removing a clock provider from a bin, triggers a clock lost message
21148         so that a new clock will be selected.
21149         Adding a clock to a bin triggers a clock provider message.
21150         Make sure we reselect a clock when we received a clock lost message.
21151         Keep a reference to the element that provided the clock.
21152
21153 2005-11-18  Andy Wingo  <wingo@pobox.com>
21154
21155         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21156         the clock initially so it produces values around the base time.
21157         (gst_net_client_clock_class_init): Typo fix.
21158         (gst_net_client_clock_thread): Add note on when the socket gets
21159         closed.
21160
21161 2005-11-17  Wim Taymans  <wim@fluendo.com>
21162
21163         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21164         Free remote and local time arrays.
21165
21166 2005-11-17  Wim Taymans  <wim@fluendo.com>
21167
21168         * gst/net/gstnetclientclock.c: (do_linear_regression),
21169         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21170         Fix compilation, uninitialized vars and a forgotten continue.
21171
21172 2005-11-17  Andy Wingo  <wingo@pobox.com>
21173
21174         * check/Makefile.am (check_PROGRAMS): 
21175         * check/net/gstnetclientclock.c: Add a most minimal test for the
21176         net client clock. More to come later.
21177
21178         * gst/net/gstnet.h: 
21179         * gst/net/Makefile.am: Add netclientclock.
21180
21181         * gst/net/gstnetclientclock.h:
21182         * gst/net/gstnetclientclock.c: New files, implement an untested
21183         GstClock that takes its time from a network time provider.
21184         Implements the algorithm in network-clock.scm.
21185
21186         * tests/network-clock.scm (*window-size*): Rename from
21187         *queue-length*.
21188         * tests/network-clock.scm (network-time): 
21189         * tests/network-clock-utils.scm (q-push): Update callers.
21190
21191 2005-11-17  Wim Taymans  <wim@fluendo.com>
21192
21193         * gst/gstbin.c: (gst_bin_provide_clock_func),
21194         (gst_bin_sort_iterator_new):
21195         And unref the child too..
21196
21197 2005-11-17  Wim Taymans  <wim@fluendo.com>
21198
21199         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21200         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21201         Refactor the sort iterator so it can be used while holding the
21202         LOCK too.
21203         Make clock selection select a clock closest to the source.
21204
21205 2005-11-17  Michael Smith <msmith@fluendo.com>
21206
21207         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21208         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21209         * gst/gstclock.h:
21210           Anonymous structs are a gcc (and some other compilers) extension, so
21211           don't use them. Since this is only for ABI-compatibility, and our
21212           API/ABI freeze is over in a few days, this whole thing will only
21213           last a few days, so don't bother trying to think up a meaningful
21214           name for the struct.
21215
21216 2005-11-17  Andy Wingo  <wingo@pobox.com>
21217
21218         * gst/gstclock.h (GstClock): Add rate and offset properties,
21219         preserving ABI stability. Add rate/offset accessors. Will file bug
21220         for the freeze break.
21221
21222         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21223         and offset, trying to keep precision and avoiding
21224         underflow/overflow.
21225         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21226         functions. Make gst_clock_set_time_adjust obsolete.
21227         (gst_clock_set_time_adjust): Note that this function is obsolete.
21228         Will file bug soon.
21229
21230         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21231         greppable by using GST_PADDING-1+1.
21232
21233 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21234
21235         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21236
21237         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21238           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21239
21240         * gst/gstpadtemplate.h:
21241         * gst/gstpluginfeature.h:
21242           Don't use c++ style comments in headers (#321638).
21243
21244 2005-11-16  Andy Wingo  <wingo@pobox.com>
21245
21246         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21247         buffer.
21248
21249         * check/net/gstnettimeprovider.c: Check to see that the time
21250         provider actually provides times. Works, yo!
21251
21252 2005-11-16  Wim Taymans  <wim@fluendo.com>
21253
21254         * check/Makefile.am:
21255         Enable more tests.
21256
21257         * check/elements/fakesrc.c: (GST_START_TEST):
21258         Set element to NULL before disposing it.
21259
21260 2005-11-16  Andy Wingo  <wingo@pobox.com>
21261
21262         * gst/net/Makefile.am:
21263         * gst/net/gstnet.h:
21264         * gst/net/gstnettimeprovider.c: 
21265         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21266         provider, include it from gstnet.h, and add it to the build.
21267
21268         * gst/net/gstnettimepacket.h: 
21269         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21270         sending and receiving.
21271
21272 2005-11-16  Wim Taymans  <wim@fluendo.com>
21273
21274         * check/Makefile.am:
21275         Enable valgrind check.
21276
21277         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21278         (gst_fake_src_alloc_buffer):
21279         Fix memleak.
21280
21281 2005-11-16  Wim Taymans  <wim@fluendo.com>
21282
21283         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21284         Call parent finalize too.
21285
21286 2005-11-16  Wim Taymans  <wim@fluendo.com>
21287
21288         * check/Makefile.am:
21289         Enable valgrind check that should work fine now.
21290
21291         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21292         * gst/gstqueue.c: (gst_queue_init):
21293         Fix memleaks in pad allocation.
21294
21295 2005-11-16  Andy Wingo  <wingo@pobox.com>
21296
21297         * gst/net/Makefile.am:
21298         * gst/net/gstnet.h: New part of core to hold network elements and
21299         objects. Put in core because it exposes API that applications want
21300         to use. The library is named libgstnet-tempname right now because
21301         of the existing libgstnet in gst-plugins-base. Solution is
21302         probably to rename the one in plugins-base; will file a bug for
21303         the freeze break.
21304
21305         * gst/net/gstnettimeprovider.c: 
21306         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21307         get_time call over the network.
21308
21309         * configure.ac: 
21310         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21311
21312         * check/Makefile.am:
21313         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21314         get additions shortly.
21315
21316 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21317
21318         * gst/gstpad.c: (gst_pad_new_from_static_template):
21319         * gst/gstpad.h:
21320           add gst_pad_new_from_static_template functions
21321         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21322         (gst_check_setup_sink_pad):
21323         * gst/elements/gsttee.c: (gst_tee_init):
21324           and use them
21325
21326 2005-11-16  Wim Taymans  <wim@fluendo.com>
21327
21328         * gst/gstpad.c: (gst_pad_pause_task):
21329         Removed warning, it's not really an error either.
21330
21331 2005-11-16  Wim Taymans  <wim@fluendo.com>
21332
21333         * gst/base/gstbasetransform.c:
21334         (gst_base_transform_prepare_output_buf),
21335         (gst_base_transform_event):
21336         Check if the caps are NULL, this can happen if the element
21337         is shutting down and the pad caps are set to NULL.
21338
21339 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21340
21341         * gst/elements/gsttee.c: (gst_tee_init):
21342           fix pad template leak in tee
21343
21344 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21345
21346         * gst/glib-compat.c: (g_value_dup_gst_object):
21347         * gst/glib-compat.h:
21348         * gst/gstpad.c: (gst_pad_set_property):
21349           use gst_object_ref when setting the pad template; this will
21350           trigger the pad template leaks on GLib 2.6 and the slaves
21351
21352 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21353
21354         * gst/glib-compat.c: (gst_flags_get_first_value):
21355         * gst/glib-compat.h:
21356         * gst/gstregistryxml.c:
21357           remove functions copied from GLib 2.6
21358
21359 2005-11-16  Michael Smith <msmith@fluendo.com>
21360
21361         * gst/Makefile.am:
21362           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21363           do, but only breaks with newer valgrind versions. We're not a
21364           valgrind tool, we have no link-time dependencies on libcoregrind.
21365
21366 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21367
21368         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21369           some debug changes
21370         * gst/gstmessage.h:
21371           typo fixes
21372
21373 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21374
21375         * gst/base/gstbasesrc.c: (gst_base_src_init):
21376         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21377         * gst/gstqueue.c: (gst_queue_init):
21378         * gst/gstregistryxml.c: (load_feature):
21379           Revert all these unrefs, they don't even pass make check !
21380
21381 2005-11-15  Johan Dahlin  <johan@gnome.org>
21382
21383         * gst/base/gstbasesrc.c: (gst_base_src_init):
21384         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21385         * gst/gstqueue.c: (gst_queue_init): 
21386         Free pad templates, fixes a couple of leaks.
21387
21388 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21389
21390         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21391
21392         * gst/gstpad.c: (gst_pad_get_property):
21393           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21394           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21395           (#321452)
21396
21397 2005-11-15  Wim Taymans  <wim@fluendo.com>
21398
21399         * gst/gstevent.c:
21400         Small doc update.
21401
21402 2005-11-15  Andy Wingo  <wingo@pobox.com>
21403
21404         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21405
21406         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21407         using GST_CLOCK_TIME_NONE to disable base time management.
21408         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21409         time if it was NONE before.
21410         (gst_pipeline_change_state): Only munge the base time if
21411         stream_time != GST_CLOCK_TIME_NONE.
21412
21413         * check/gst/gstpipeline.c (test_base_time): Punt around the
21414         problem of the probe not being called, because that's not the
21415         issue I'm looking at. Add a check that setting stream_time to NONE
21416         disables base time management.
21417         
21418 2005-11-15  Wim Taymans  <wim@fluendo.com>
21419
21420         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21421         segment_stop == -1 at startup.
21422
21423         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21424         (gst_base_transform_change_state):
21425         Init segment values at start.
21426
21427 2005-11-15  Wim Taymans  <wim@fluendo.com>
21428
21429         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21430         0 segment values are 0 in any format.
21431
21432         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21433         * gst/base/gstbasetransform.h:
21434         Parse newsegment correctly in basetransform
21435
21436         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21437         Sync to clock using updated segment values.
21438
21439 2005-11-15  Andy Wingo  <wingo@pobox.com>
21440
21441         * check/gst/gstpipeline.c (test_base_time): Add check that the
21442         base time and stream time are reset correctly.
21443
21444 2005-11-15  Wim Taymans  <wim@fluendo.com>
21445
21446         * docs/design/part-TODO.txt:
21447         Some more TODO items.
21448
21449 2005-11-15  Andy Wingo  <wingo@pobox.com>
21450
21451         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21452         error if the user selected "no clock" as the clocking method.
21453
21454         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21455         timestamps with live capture.
21456
21457         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21458         is 0 but we are a live source, timestamp the buffers using the
21459         element's clock.
21460
21461 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21462
21463         * docs/gst/gstreamer-sections.txt:
21464         * gst/gsterror.c:
21465         * gst/gstghostpad.c:
21466         * gst/gstobject.h:
21467         * gst/gstxml.c:
21468           more section docs
21469
21470 2005-11-14  Wim Taymans  <wim@fluendo.com>
21471
21472         * common/gst.supp:
21473           add suppressions from Wim's Debian machine
21474
21475 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21476
21477         * common/gst.supp:
21478           add suppressions from Andy's AMD64 Ubuntu machine
21479
21480 2005-11-14  Andy Wingo  <wingo@pobox.com>
21481
21482         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21483         STATE_LOCK not necessary. Fixes #311489.
21484
21485         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21486         #305291.
21487
21488         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21489         this function is not implemented.
21490
21491 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21492
21493         * gst/base/gstbasetransform.c:
21494         (gst_base_transform_prepare_output_buf):
21495         Ref the source pad caps while we need them.
21496         Fixes (#321386)
21497
21498 2005-11-11  Wim Taymans  <wim@fluendo.com>
21499
21500         * docs/gst/gstreamer-sections.txt:
21501         Added some docs for GstCollectData.
21502
21503         * gst/base/gstadapter.c:
21504         Some small code example fix.
21505
21506         * gst/base/gstcollectpads.c:
21507         * gst/base/gstcollectpads.h:
21508         Document some more.
21509
21510 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21511
21512         * configure.ac: back to HEAD
21513
21514 === release 0.9.5 ===
21515
21516 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21517
21518         * configure.ac:
21519           releasing 0.9.5, "Bike Lunch Day"
21520
21521 2005-11-11  Wim Taymans  <wim@fluendo.com>
21522
21523         * gst/gstbuffer.c: (_gst_buffer_copy):
21524         Copy more flags.
21525
21526         * gst/gstcaps.c: (gst_caps_is_equal):
21527         Fix some docs.
21528         Make _is_equal fast in the trivial cases.
21529
21530         * gst/gstminiobject.c:
21531         * gst/gstminiobject.h:
21532         More docs. Spifify .h file.
21533
21534         * gst/gstutils.c:
21535         Small doc update.
21536
21537 2005-11-11  Wim Taymans  <wim@fluendo.com>
21538
21539         * gst/base/gstbasetransform.c:
21540         (gst_base_transform_prepare_output_buf),
21541         (gst_base_transform_handle_buffer):
21542         Small cleanups.
21543         If we're processing a buffer and need to allocate an output
21544         buffer, we cannot accept a format change. If we did get a 
21545         format change, we have to alloc a buffer ourselves of the 
21546         right size.
21547
21548 2005-11-11  Wim Taymans  <wim@fluendo.com>
21549
21550         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21551         While checking the flag for reentrancy in the gstcaps function
21552         is nice to detect recursive invocations, it also makes it 
21553         impossible to call getcaps from multiple threads, which must be
21554         possible. So, checking for recursive calls has to go.
21555
21556 2005-11-11  Michael Smith <msmith@fluendo.com>
21557
21558         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21559           Don't sync on buffers that fall partially outside our current
21560           segment. Prevents an assertion failure/abort playing some files.
21561
21562 2005-11-10  Andy Wingo  <wingo@pobox.com>
21563
21564         * check/gst/gstbin.c (test_message_state_changed_children): Style
21565         fix..
21566
21567         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21568         gst_bus_poll with the signal watch. Ensures that poll and a signal
21569         watch see the same messages.
21570
21571         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21572         a poll and a watch at the same time get the same messages.
21573
21574 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21575
21576         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21577         * gst/gstcaps.c: (gst_caps_intersect):
21578           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21579           and it's not needed.
21580
21581 2005-11-10  Wim Taymans  <wim@fluendo.com>
21582
21583         * docs/design/part-TODO.txt:
21584         Updated todo.
21585
21586 2005-11-10  Wim Taymans  <wim@fluendo.com>
21587
21588         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21589         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21590         (gst_base_src_do_sync), (gst_base_src_get_range):
21591         Implement clock sync in base class.
21592
21593 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21594
21595         patch by: Tim-Philipp Müller <tim at centricular dot net>
21596
21597         * gst/gststructure.c: (gst_structure_parse_field),
21598         (gst_structure_from_string):
21599           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21600           so that gst_parse_launch() can deal with spaces in filtered link
21601           caps (fixes #164479)
21602         * check/gst/capslist.h:
21603         * check/gst/gststructure.c: (GST_START_TEST):
21604           add unit tests for this change
21605
21606 2005-11-10  Wim Taymans  <wim@fluendo.com>
21607
21608         * docs/gst/gstreamer-sections.txt:
21609         * gst/gstelement.c:
21610         * gst/gstelement.h:
21611         Fix docs, move some STATE macros to private.
21612
21613 2005-11-10  Wim Taymans  <wim@fluendo.com>
21614
21615         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21616         Added check for bug #317341
21617
21618         * gst/gstbuffer.c:
21619         * gst/gstbuffer.h:
21620         Some more spiffifying.
21621
21622         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21623         Call peer linkfunction if we are a source pad. Totally fixes
21624         #317341
21625
21626         * gst/gstpad.c:
21627         Update docs, source pads should call the peer linkfunction
21628         so they can atomically perform the pad link.
21629
21630 2005-11-09  Wim Taymans  <wim@fluendo.com>
21631
21632         * gst/gstbuffer.c:
21633         * gst/gstbuffer.h:
21634         Uber-spiffy-spiffify some more.
21635
21636 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21637
21638         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21639         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21640         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21641         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21642         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21643         * gst/gstpad.c: (gst_pad_init):
21644           Use GST_DEBUG_FUNCPTR() more extensively.
21645
21646 2005-11-09  Wim Taymans  <wim@fluendo.com>
21647
21648         * gst/gstobject.c: (gst_object_class_init):
21649         * gst/gstobject.h:
21650         Documentation fixes.
21651
21652 2005-11-09  Edward Hervey  <edward@fluendo.com>
21653
21654         * gst/gsttypefindfactory.c:
21655         Fix docs.
21656         
21657 2005-11-09  Edward Hervey  <edward@fluendo.com>
21658
21659         * gst/base/gsttypefindhelper.c:
21660         * gst/gsttypefind.c:
21661         * gst/gsttypefind.h:
21662         Fix docs.
21663
21664 2005-11-09  Wim Taymans  <wim@fluendo.com>
21665
21666         * gst/gstiterator.c:
21667         Fix revision data.
21668
21669         * gst/gsttask.c:
21670         * gst/gsttask.h:
21671         Fix docs.
21672
21673 2005-11-09  Wim Taymans  <wim@fluendo.com>
21674
21675         * gst/gstevent.h:
21676         * gst/gsturi.h:
21677         Fix docs.
21678
21679 2005-11-09  Wim Taymans  <wim@fluendo.com>
21680
21681         * docs/gst/gstreamer-sections.txt:
21682         Moved the message async delivery private lock and cond
21683         to the private section.
21684
21685         * gst/gstmessage.c:
21686         * gst/gstmessage.h:
21687         Fixed docs.
21688
21689 2005-11-09  Edward Hervey  <edward@fluendo.com>
21690
21691         * docs/gst/gstreamer-sections.txt:
21692         * gst/gsturi.c:
21693         * gst/gsturi.h:
21694         Document GstURIHandler
21695
21696 2005-11-09  Wim Taymans  <wim@fluendo.com>
21697
21698         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21699         (gst_iterator_find_custom):
21700         * gst/gstiterator.h:
21701         Fix iterator docs.
21702
21703 2005-11-09  Wim Taymans  <wim@fluendo.com>
21704
21705         * gst/gstbin.h:
21706         Document another field.
21707
21708         * gst/gststructure.c:
21709         * gst/gststructure.h:
21710         Document.
21711
21712 2005-11-09  Wim Taymans  <wim@fluendo.com>
21713
21714         * gst/gstbin.h:
21715         Documented structs.
21716
21717 2005-11-09  Wim Taymans  <wim@fluendo.com>
21718
21719         * docs/gst/gstreamer-sections.txt:
21720         Added some new macros.
21721
21722         * gst/gstclock.c:
21723         * gst/gstclock.h:
21724         * gst/gstobject.h:
21725         Docs updates.
21726
21727 2005-11-09  Wim Taymans  <wim@fluendo.com>
21728
21729         * docs/design/part-TODO.txt:
21730         Some more items for the TODO
21731
21732         * gst/gstcaps.c:
21733         * gst/gstcaps.h:
21734         Document GstCaps.
21735
21736 2005-11-09  Andy Wingo  <wingo@pobox.com>
21737
21738         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21739         to work on something else now tho...
21740
21741         * gst/base/gstadapter.c: More adapter docs.
21742
21743         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21744         (gst_file_sink_stop): New functions, replace the state change
21745         handler.
21746         (gst_file_sink_class_init): Hook up the start and stop functions.
21747         (gst_file_sink_base_init): Don't set the state change handler any
21748         more. It was a bit ugly too, being set from here...
21749         (gst_file_sink_get_property, gst_file_sink_set_property):
21750         Cleanups...
21751         (gst_file_sink_set_location): More robust check that doesn't call
21752         GST_STATE. Ugggggg.
21753
21754 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21755
21756         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21757           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21758
21759 2005-11-08  Wim Taymans  <wim@fluendo.com>
21760
21761         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21762         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21763         (gst_base_sink_chain), (gst_base_sink_change_state):
21764         * gst/base/gstbasesink.h:
21765         * gst/base/gstbasesrc.h:
21766         * gst/gstelement.h:
21767         * gst/gstevent.h:
21768         Avoid excessive typechecking in macros.
21769
21770         * gst/gstminiobject.c: (gst_mini_object_get_type),
21771         (gst_mini_object_init), (gst_mini_object_new),
21772         (gst_mini_object_free):
21773         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21774         (gst_object_finalize):
21775         Remove cruft code, optimize alloc_trace.
21776
21777 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21778
21779         * docs/faq/gst-uninstalled:
21780           fix up PS1 for systems that try to reset it
21781
21782 2005-11-07  Wim Taymans  <wim@fluendo.com>
21783
21784         * gst/base/gstbasesrc.c: (gst_base_src_init),
21785         (gst_base_src_get_range):
21786         Set the segment_end to -1 initially. Fixed typefind.
21787
21788 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21789
21790         * gst/base/gstadapter.c:
21791           Debug category should be 'adapter', not 'GstAdapter'.
21792           
21793         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21794         (gst_collectpads_class_init), (gst_collectpads_init),
21795         (gst_collectpads_peek), (gst_collectpads_pop),
21796         (gst_collectpads_event), (gst_collectpads_chain):
21797           Add debug category and some debugging output. Use boilerplate
21798           macros. Remove some extraneous words from docs.
21799
21800 2005-11-05  Andy Wingo  <wingo@pobox.com>
21801
21802         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21803         macro.
21804
21805 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21806
21807         * docs/gst/gstreamer-sections.txt:
21808         * gst/gstcaps.h:
21809         * gst/gstinfo.c:
21810         * gst/gstminiobject.h:
21811         * gst/gstobject.h:
21812         * gst/gstutils.h:
21813           more docs added
21814
21815 2005-11-04  Wim Taymans  <wim@fluendo.com>
21816
21817         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21818         Small update to stop at the configured segment_end
21819         position.
21820
21821 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21822
21823         * gst/gstregistry.c:
21824         * gst/gstregistry.h:
21825           added missing docs
21826
21827 2005-11-04  Edward Hervey  <edward@fluendo.com>
21828
21829         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21830         Check if we are doing a segment seek and have arrived at the
21831         end of that segment.
21832
21833 2005-11-04  Wim Taymans  <wim@fluendo.com>
21834
21835         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21836         Don't leak a mutex unlock in case of an error.
21837
21838         * gst/gstbus.h:
21839         Doc fixes.
21840
21841 2005-11-04  Wim Taymans  <wim@fluendo.com>
21842
21843         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21844         (gst_bus_post):
21845         Get the context to wake up only once.
21846
21847 2005-11-03  Wim Taymans  <wim@fluendo.com>
21848
21849         * check/states/sinks.c: (GST_START_TEST):
21850         Uncomment fixed check.
21851
21852         * docs/design/part-TODO.txt:
21853         Updated TODO.
21854
21855         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21856         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21857         (gst_base_sink_get_position):
21858         If we are going to PLAYING, post the right pending state
21859         when we post the intermediate paused message.
21860
21861         * gst/gstelement.c: (gst_element_continue_state),
21862         (gst_element_set_state_func), (gst_element_change_state):
21863         Don't post state changes that were between the same state
21864         and were not ASYNC.
21865
21866 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21867
21868         * docs/gst/gstreamer-sections.txt:
21869         * gst/gstcaps.h:
21870         * gst/gstinfo.c:
21871         * gst/gstminiobject.h:
21872         * gst/gstobject.h:
21873         * gst/gstutils.h:
21874           more docs and doc style fixes
21875
21876 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21877
21878         * docs/gst/gstreamer-sections.txt:
21879         * gst/gstelement.c:
21880         * gst/gstminiobject.c:
21881         doc fixes
21882
21883 2005-11-03  Andy Wingo  <wingo@pobox.com>
21884
21885         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21886         state-changed messages actually have the right order and the right
21887         values.
21888
21889 2005-11-03  Wim Taymans  <wim@fluendo.com>
21890
21891         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21892         Added some more checks. Specifically the case where NO_PREROLL
21893         elements are in the pipeline.
21894
21895         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21896         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21897         (gst_base_sink_get_position):
21898         Post READY->PAUSED state change messages too.
21899         Fix bug where VOID was posted as pending state...
21900
21901         * gst/gstbin.c: (gst_bin_recalc_state):
21902         use _element_continue_state() to continue the state change.
21903
21904         * gst/gstelement.c: (gst_element_continue_state),
21905         (gst_element_commit_state), (gst_element_set_state_func),
21906         (gst_element_change_state), (gst_element_change_state_func):
21907         Lots of state change cleanups, assign the STATE_RETURN in
21908         a new continue_state() function that also propagates the
21909         last return value from a state change to the app.
21910         Update some debug statements with proper category.
21911
21912 2005-11-03  Wim Taymans  <wim@fluendo.com>
21913
21914         * docs/design/part-events.txt:
21915         * docs/design/part-gstpipeline.txt:
21916         * docs/design/part-messages.txt:
21917         * docs/design/part-overview.txt:
21918         * docs/design/part-seeking.txt:
21919         * docs/design/part-states.txt:
21920         * docs/design/part-trickmodes.txt:
21921         * docs/manual/advanced-position.xml:
21922         Small docs updates.
21923
21924         * gst/gstobject.h:
21925         People think !! is ugly, this looks better.
21926
21927         * gst/gstpad.c: (gst_pad_set_blocked_async):
21928         Remove !! since it's fixed elsewhere now.
21929
21930 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21931
21932         * gst/gstminiobject.h:
21933         * gst/gstobject.h:
21934           Add !! to _FLAG_IS_SET macros to make the result boolean.
21935
21936 2005-11-03  Edward Hervey  <edward@fluendo.com>
21937
21938         * gst/gstpad.c: (gst_pad_set_blocked_async):
21939         comparing a flag and a gboolean rarely returns coherent results...
21940         Added two characters (!!) to make that work correctly.
21941         
21942 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21943
21944         * gst/gstbus.c: (gst_bus_class_init):
21945           Fix some typos.
21946           
21947         * gst/gstqueue.c: (gst_queue_loop):
21948           Don't assume a miniobject that isn't a buffer is an
21949           event (it could be that there is a refcounting
21950           problem somewhere and the pointer is stale and
21951           refers to an already destroyed miniobject).
21952
21953 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21954
21955         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21956
21957 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21958
21959         * docs/manual/advanced-position.xml:
21960           Update seek example and explanations to current 0.9 API.
21961
21962         * gst/elements/gsttypefindelement.c:
21963         (gst_type_find_element_activate):
21964           Remove FIXME comment now that the found caps
21965           are unreffed.
21966
21967 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21968
21969         * gst/gstregistryxml.c: (load_feature):
21970           Add another GST_STR_NULL instance
21971
21972 2005-11-02  Edward Hervey  <edward@fluendo.com>
21973
21974         * gst/gstpad.c: (handle_pad_block):
21975         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21976         
21977 2005-11-02  Wim Taymans  <wim@fluendo.com>
21978
21979         * gst/gstbin.c:
21980         Fix typo in docs.
21981
21982         * gst/gstelement.c: (gst_element_commit_state):
21983         Remove unused value.
21984
21985         * gst/gstiterator.c:
21986         Mention that the returned element is reffed in the docs.
21987
21988 2005-11-02  Wim Taymans  <wim@fluendo.com>
21989
21990         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21991         (gst_pad_push), (gst_pad_push_event):
21992         Unlock blocked pads when they are flushed.
21993
21994 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21995
21996         * docs/README:
21997         * docs/gst/gstreamer-sections.txt:
21998         * gst/gstbin.c:
21999           doc updates
22000         * gst/gstregistry.c: (gst_registry_scan_path_level):
22001           fix for a nasty little missed situation where an installed plug-in
22002           which was in the cache did not get overridden by an uninstalled one
22003           which was earlier in the plugin path because the newly created plugin
22004           for the uninstalled one (not in the registry) didn't get its
22005           ->registered set to TRUE
22006
22007 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22008
22009         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22010         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22011         (gst_collectpads_is_active), (gst_collectpads_collect),
22012         (gst_collectpads_collect_range), (gst_collectpads_start),
22013         (gst_collectpads_stop), (gst_collectpads_peek),
22014         (gst_collectpads_pop), (gst_collectpads_available),
22015         (gst_collectpads_read), (gst_collectpads_flush):
22016           Guard public API with assertions.
22017         
22018         * gst/gstpad.c:
22019           Fix docs for gst_pad_set_link_function().
22020
22021 2005-11-02  Johan Dahlin  <johan@gnome.org>
22022
22023         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22024         Unref found_caps after we used it.
22025
22026 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22027
22028         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22029           Don't try to ref NULL.
22030
22031 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22032
22033         * win32/common/config.h.in:
22034           provide a GST_FUNCTION that just gives a string for now
22035
22036 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22037
22038         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22039         (gst_object_flags_get_type), (register_gst_bin_flags),
22040         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22041         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22042         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22043         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22044         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22045         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22046         (gst_clock_flags_get_type), (register_gst_state),
22047         (gst_state_get_type), (register_gst_state_change_return),
22048         (gst_state_change_return_get_type), (register_gst_state_change),
22049         (gst_state_change_get_type), (register_gst_element_flags),
22050         (gst_element_flags_get_type), (register_gst_core_error),
22051         (gst_core_error_get_type), (register_gst_library_error),
22052         (gst_library_error_get_type), (register_gst_resource_error),
22053         (gst_resource_error_get_type), (register_gst_stream_error),
22054         (gst_stream_error_get_type), (register_gst_event_type),
22055         (gst_event_type_get_type), (register_gst_seek_type),
22056         (gst_seek_type_get_type), (register_gst_seek_flags),
22057         (gst_seek_flags_get_type), (register_gst_format),
22058         (gst_format_get_type), (register_gst_index_certainty),
22059         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22060         (gst_index_entry_type_get_type),
22061         (register_gst_index_lookup_method),
22062         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22063         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22064         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22065         (gst_index_flags_get_type), (register_gst_debug_level),
22066         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22067         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22068         (gst_iterator_result_get_type), (register_gst_iterator_item),
22069         (gst_iterator_item_get_type), (register_gst_message_type),
22070         (gst_message_type_get_type), (register_gst_mini_object_flags),
22071         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22072         (gst_pad_link_return_get_type), (register_gst_flow_return),
22073         (gst_flow_return_get_type), (register_gst_activate_mode),
22074         (gst_activate_mode_get_type), (register_gst_pad_direction),
22075         (gst_pad_direction_get_type), (register_gst_pad_flags),
22076         (gst_pad_flags_get_type), (register_gst_pad_presence),
22077         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22078         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22079         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22080         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22081         (gst_plugin_flags_get_type), (register_gst_rank),
22082         (gst_rank_get_type), (register_gst_query_type),
22083         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22084         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22085         (gst_tag_flag_get_type), (register_gst_task_state),
22086         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22087         (gst_alloc_trace_flags_get_type),
22088         (register_gst_type_find_probability),
22089         (gst_type_find_probability_get_type), (register_gst_uri_type),
22090         (gst_uri_type_get_type), (register_gst_parse_error),
22091         (gst_parse_error_get_type):
22092         * win32/common/gstversion.h:
22093           update win32 copies
22094
22095 2005-11-01  Luca Ognibene  <luogni@tin.it>
22096
22097         * gst/gst.c:
22098           fix docs. popt is dead, long live GOption.
22099
22100 2005-10-31  Wim Taymans  <wim@fluendo.com>
22101
22102         * gst/gstbuffer.h:
22103         Small doc fix.
22104
22105 2005-10-31  Andy Wingo  <wingo@pobox.com>
22106
22107         * Boo!
22108
22109         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22110
22111         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22112         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22113         the possibility of deadlocks here if code calling notify() or
22114         set() has a lock that can be taken in another notify handler (ABBA
22115         with class lock and e.g. python GIL state lock).
22116
22117 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22118
22119         * gst/gstbus.c: Doc updates.
22120
22121 2005-10-28  Wim Taymans  <wim@fluendo.com>
22122
22123         * docs/design/part-TODO.txt:
22124         * gst/gstiterator.c:
22125         * gst/gstsystemclock.c:
22126         * gst/gstsystemclock.h:
22127         Doc updates.
22128
22129 2005-10-28  Edward Hervey  <edward@fluendo.com>
22130
22131         * docs/gst/gstreamer-docs.sgml:
22132         * docs/gst/gstreamer-sections.txt:
22133         the GstURIType documentation page is private, it only defines GstURIType
22134         which should be defined in the GstURIHandler page
22135         
22136 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22137
22138         * gst/gstbin.c: (gst_bin_class_init):
22139         * gst/gstbin.h:
22140         * gst/gstutils.c:
22141         Documentation updates.
22142
22143 2005-10-28  Wim Taymans  <wim@fluendo.com>
22144
22145         * docs/gst/gstreamer-sections.txt:
22146         * gst/gstclock.c:
22147         * gst/gstclock.h:
22148         Documented the clocks.
22149
22150 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22151
22152         * docs/gst/gstreamer-sections.txt:
22153           move some macros to private sections
22154         * gst/gstminiobject.c:
22155         * gst/gstminiobject.h:
22156           add descriptions provided by ds and some more
22157         * gst/gstpad.h:
22158           mark macro as to be removed
22159
22160 2005-10-28  Wim Taymans  <wim@fluendo.com>
22161
22162         * docs/design/part-TODO.txt:
22163         Add an item to TODO.
22164
22165         * gst/gstiterator.c: (gst_iterator_fold),
22166         (gst_iterator_find_custom):
22167         * gst/gstiterator.h:
22168         Add iterator docs.
22169
22170 2005-10-28  Wim Taymans  <wim@fluendo.com>
22171
22172         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22173         (gst_base_transform_init):
22174         Don't leak class.
22175
22176         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22177         An EOS event marks the queue as completely filled.
22178
22179 2005-10-27  Wim Taymans  <wim@fluendo.com>
22180
22181         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22182         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22183         Some more debugging.
22184
22185         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22186         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22187         (gst_base_transform_event), (gst_base_transform_getrange),
22188         (gst_base_transform_chain):
22189         * gst/base/gstbasetransform.h:
22190         Fix debugging,
22191         Protect transform and concurrent buffer alloc with a new lock.
22192         Try not to break ABI/API.
22193
22194 2005-10-27  Wim Taymans  <wim@fluendo.com>
22195
22196         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22197         (gst_base_src_init), (gst_base_src_query),
22198         (gst_base_src_default_newsegment),
22199         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22200         (gst_base_src_send_event), (gst_base_src_event_handler),
22201         (gst_base_src_pad_get_range), (gst_base_src_loop),
22202         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22203         (gst_base_src_start), (gst_base_src_deactivate),
22204         (gst_base_src_activate_push), (gst_base_src_change_state):
22205         Move some stuff around and cleanup things.
22206
22207 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22208
22209         * gst/base/gstbasesrc.c: (gst_base_src_query):
22210           Add missing break statements.
22211
22212 2005-10-27  Wim Taymans  <wim@fluendo.com>
22213
22214         * check/gst/gstbin.c: (GST_START_TEST):
22215         An extra refcount is taken in basesrc.
22216
22217         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22218         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22219         (gst_base_src_loop):
22220         Small cleanups, check for flushing after being unlocked from the 
22221         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22222         Don't send out EOS when going to READY.
22223
22224 2005-10-27  Wim Taymans  <wim@fluendo.com>
22225
22226         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22227         (gst_base_sink_get_position):
22228         Some more debug.
22229
22230         * gst/gstbin.c: (message_check), (bin_replace_message),
22231         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22232         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22233         (bin_query_duration_init), (bin_query_duration_fold),
22234         (bin_query_duration_done), (bin_query_generic_fold),
22235         (gst_bin_query):
22236         * tools/gst-launch.c: (main):
22237         Remove old option.
22238
22239 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22240
22241         * examples/controller/audio-example.c: (main):
22242         * examples/queue/queue.c: (event_loop):
22243         * gst/base/gstbasetransform.h:
22244         * gst/gstelement.c: (gst_element_send_event):
22245         * gst/gstevent.h:
22246         * gst/gstpad.c: (gst_pad_send_event):
22247           fixing examples
22248           fixing docs typos
22249           changing log priority in error situations
22250
22251 2005-10-25  Wim Taymans  <wim@fluendo.com>
22252
22253         * gst/gstbin.c: (message_check), (bin_replace_message),
22254         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22255         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22256         (bin_query_duration_init), (bin_query_duration_fold),
22257         (bin_query_duration_done), (bin_query_generic_fold),
22258         (gst_bin_query):
22259         Some doc and debug updates.
22260         Cache previously requested query DURATION for speed. invalidate
22261         cached duration if element posts a DURATION message.
22262
22263 2005-10-25  Wim Taymans  <wim@fluendo.com>
22264
22265         * docs/design/part-TODO.txt:
22266         Update TODO.
22267
22268         * gst/gstbin.c: (message_check), (bin_replace_message),
22269         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22270         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22271         (bin_query_duration_init), (bin_query_duration_fold),
22272         (bin_query_duration_done), (bin_query_generic_fold),
22273         (gst_bin_query):
22274         Handle SEGMENT_START/DONE messages correctly.
22275         More evolved query algorithm that handles duration queries
22276         correctly.
22277
22278         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22279         (gst_element_get_state_func), (gst_element_abort_state),
22280         (gst_element_commit_state), (gst_element_lost_state):
22281         Some more debugging.
22282
22283         * gst/gstmessage.h:
22284         Added doc.
22285
22286 2005-10-25  Wim Taymans  <wim@fluendo.com>
22287
22288         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22289         Don't use invalid stream_time.
22290
22291         * gst/gstevent.c: (gst_event_new_newsegment):
22292         stream_time in newsegment cannot be undefined.
22293
22294 2005-10-24  Wim Taymans  <wim@fluendo.com>
22295
22296         * gst/gstbus.c:
22297         Doc fix.
22298
22299         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22300         (gst_queue_loop):
22301         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22302
22303 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22304
22305         * docs/libs/tmpl/gstdparam.sgml:
22306         * docs/libs/tmpl/gstdplinint.sgml:
22307         * docs/libs/tmpl/gstdpman.sgml:
22308         * docs/libs/tmpl/gstdpsmooth.sgml:
22309         * docs/libs/tmpl/gstunitconvert.sgml:
22310           these are obsolete
22311
22312 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22313
22314         * configure.ac:
22315           back to HEAD
22316
22317 === release 0.9.4 ===
22318
22319 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22320
22321         * configure.ac:
22322           releasing 0.9.4, "Tyrannosaurus Rex"
22323
22324 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22325
22326         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22327         (gst_file_sink_get_current_offset):
22328           Use fseeko() and ftello() if available. When falling back on
22329           lseek() to get the current offset, fflush() first to make sure
22330           everything is up-to-date and we get the right offset.
22331
22332 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22333
22334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22335         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22336         * gst/gsterror.c: (_gst_stream_errors_init):
22337         * gst/gsterror.h:
22338         * gst/gstqueue.c: (gst_queue_loop):
22339         * po/POTFILES.in:
22340           remove prematurely added error category and clean up the instances
22341
22342 2005-10-21  Wim Taymans  <wim@fluendo.com>
22343
22344         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22345         (gst_base_sink_get_position), (gst_base_sink_query),
22346         (gst_base_sink_change_state):
22347         Simply set the right flag when going to playing, that's all
22348         we need to do instead of calling a function inside the object
22349         lock (that could take the lock as well and deadlock)
22350
22351 2005-10-21  Wim Taymans  <wim@fluendo.com>
22352
22353         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22354         (gst_base_src_loop):
22355         Don't warn, the peer element knows what to do best when
22356         the seek failed, it might try something else.
22357
22358 2005-10-21  Wim Taymans  <wim@fluendo.com>
22359
22360         * gst/base/gstbasesrc.c: (gst_base_src_init),
22361         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22362         Fix seeking.
22363
22364 2005-10-21  Wim Taymans  <wim@fluendo.com>
22365
22366         * docs/design/part-segments.txt:
22367         More docs.
22368
22369         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22370         Correctly set caps, even on the subbufer.
22371
22372 2005-10-21  Wim Taymans  <wim@fluendo.com>
22373
22374         * docs/gst/gstreamer-docs.sgml:
22375         * docs/gst/gstreamer-sections.txt:
22376         * gst/gstelement.h:
22377         * gst/gstevent.c:
22378         * gst/gstevent.h:
22379         * gst/gstmessage.h:
22380         * gst/gstpad.h:
22381         * gst/gstparse.h:
22382         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22383         * gst/gsttask.h:
22384         * gst/gstutils.c:
22385         * gst/gstutils.h:
22386         And 2% more doc coverage.
22387
22388 2005-10-21  Andy Wingo  <wingo@pobox.com>
22389
22390         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22391         position reporting.
22392
22393 2005-10-20  Wim Taymans  <wim@fluendo.com>
22394
22395         * gst/gsterror.c: (gst_error_get_message):
22396         * gst/gstparse.h:
22397         * gst/gstquery.h:
22398         * gst/gststructure.c:
22399         * gst/gsttrace.c:
22400         * gst/gstutils.c:
22401         More docs.
22402
22403 2005-10-20  Wim Taymans  <wim@fluendo.com>
22404
22405         * gst/gstbuffer.h:
22406         * gst/gstpad.c:
22407         * gst/gstparse.c:
22408         Another 1% more coverage.
22409
22410 2005-10-20  Wim Taymans  <wim@fluendo.com>
22411
22412         * docs/gst/gstreamer-sections.txt:
22413         * gst/gstelement.c: (gst_element_get_state_func),
22414         (gst_element_abort_state), (gst_element_commit_state),
22415         (gst_element_lost_state):
22416         * gst/gstevent.h:
22417         * gst/gstquery.c: (gst_query_set_position),
22418         (gst_query_parse_position), (gst_query_set_duration),
22419         (gst_query_parse_duration), (gst_query_new_convert):
22420         * gst/gstutils.c:
22421         Yay! 1% more docs coverage.
22422
22423 2005-10-20  Wim Taymans  <wim@fluendo.com>
22424
22425         * gst/gstpad.h:
22426         * gst/gstquery.c: (gst_query_set_position),
22427         (gst_query_parse_position), (gst_query_set_duration),
22428         (gst_query_parse_duration), (gst_query_new_convert):
22429         * gst/gstquery.h:
22430         * gst/gstutils.c: (gst_element_query_convert):
22431         * gst/gstutils.h:
22432         Docs and consistency fixes.
22433
22434 2005-10-20  Wim Taymans  <wim@fluendo.com>
22435
22436         * gst/gsttask.c:
22437         * gst/gsttask.h:
22438         More docs.
22439
22440 2005-10-20  Wim Taymans  <wim@fluendo.com>
22441
22442         * gst/gstbin.c: (message_check), (bin_replace_message),
22443         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22444         (update_degree), (gst_bin_sort_iterator_next),
22445         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22446         Reworked the message handling a bit, cache the messages instead of
22447         only the senders. alows us to do more in the future.
22448
22449 2005-10-20  Wim Taymans  <wim@fluendo.com>
22450
22451         * docs/design/part-TODO.txt:
22452         Update TODO
22453
22454         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22455         (gst_base_sink_query):
22456         Don't use clock time to report position when in EOS.
22457
22458 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22459
22460         * tools/gst-inspect.c: (print_interfaces),
22461         (print_element_properties_info), (print_element_info):
22462           Fix interface output with gst-inspect -a; don't print
22463           newlines after double/float properties.
22464
22465 2005-10-20  Wim Taymans  <wim@fluendo.com>
22466
22467         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22468         (gst_base_sink_query):
22469         Speed up current position calculation.
22470
22471         * gst/base/gstbasesrc.c: (gst_base_src_query),
22472         (gst_base_src_default_newsegment):
22473         Correctly set stream position in newsegment.
22474
22475         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22476         (update_degree), (gst_bin_sort_iterator_next),
22477         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22478         * gst/gstmessage.c: (gst_message_new_custom):
22479         Clean up debugging info
22480
22481         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22482         (gst_queue_loop), (gst_queue_handle_src_query):
22483         Pause task faster.
22484
22485 2005-10-19  Wim Taymans  <wim@fluendo.com>
22486
22487         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22488         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22489         Fix query handling again.
22490
22491 2005-10-19  Wim Taymans  <wim@fluendo.com>
22492
22493         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22494         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22495         * gst/base/gstbasesrc.c: (gst_base_src_query):
22496         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22497         * gst/elements/gsttypefindelement.c:
22498         (gst_type_find_handle_src_query), (find_element_get_length),
22499         (gst_type_find_element_activate):
22500         API change fix.
22501
22502         * gst/gstquery.c: (gst_query_new_position),
22503         (gst_query_set_position), (gst_query_parse_position),
22504         (gst_query_new_duration), (gst_query_set_duration),
22505         (gst_query_parse_duration), (gst_query_set_segment),
22506         (gst_query_parse_segment):
22507         * gst/gstquery.h:
22508         Bundling query position/duration is not a good idea since duration
22509         does not change much and we don't want to recalculate it for every
22510         position query, so they are separated again..
22511         Base value in segment query is not needed.
22512
22513         * gst/gstqueue.c: (gst_queue_handle_src_query):
22514         * gst/gstutils.c: (gst_element_query_position),
22515         (gst_element_query_duration), (gst_pad_query_position),
22516         (gst_pad_query_duration):
22517         * gst/gstutils.h:
22518         Updates for query API change.
22519         Added some docs here and there.
22520
22521 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22522
22523         * check/gst/gstbin.c: (GST_START_TEST):
22524         * check/gst/gstghostpad.c: (GST_START_TEST):
22525         * check/pipelines/cleanup.c: (GST_START_TEST):
22526           wait on thread to die so we can check refcount correctly
22527
22528 2005-10-18  Wim Taymans  <wim@fluendo.com>
22529
22530         * check/pipelines/stress.c: (GST_START_TEST):
22531         Make check a little more time consuming.
22532
22533 2005-10-18  Wim Taymans  <wim@fluendo.com>
22534
22535         * check/Makefile.am:
22536         * check/pipelines/stress.c: (GST_START_TEST),
22537         (simple_launch_lines_suite), (main):
22538         Small state change torture test.
22539
22540         * docs/design/part-states.txt:
22541         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22542         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22543         (gst_base_sink_change_state):
22544         Never take state lock from streaming thread, clean up ugly
22545         hacks. Unfortunatly core does not yet support nice ways to
22546         async commit state.
22547         
22548         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22549         (bin_bus_handler):
22550         Start state recalc if a STATE_DIRTY message is posted, but only
22551         on the toplevel bin.
22552
22553         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22554         (gst_element_get_state_func), (gst_element_abort_state),
22555         (gst_element_commit_state), (gst_element_lost_state),
22556         (gst_element_set_state_func), (gst_element_change_state):
22557         * gst/gstelement.h:
22558         State variables are now protected with the LOCK, the state
22559         lock is only used to serialize _set_state().
22560
22561 2005-10-18  Wim Taymans  <wim@fluendo.com>
22562
22563         * check/gst/gstbin.c: (GST_START_TEST):
22564         * check/gst/gstmessage.c: (GST_START_TEST):
22565         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22566         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22567         (bin_bus_handler):
22568         * gst/gstelement.c: (gst_element_abort_state),
22569         (gst_element_commit_state), (gst_element_lost_state):
22570         * gst/gstmessage.c: (gst_message_new_state_changed),
22571         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22572         (gst_message_new_segment_done), (gst_message_new_duration),
22573         (gst_message_parse_state_changed),
22574         (gst_message_parse_segment_start),
22575         (gst_message_parse_segment_done), (gst_message_parse_duration):
22576         * gst/gstmessage.h:
22577         * tools/gst-launch.c: (event_loop):
22578         Seriously, this is better than a previous commit as we only need
22579         to notify the fact that an element changed state in a streaming
22580         thread, marking the state of the parents dirty, hence the 
22581         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22582         message.
22583
22584 2005-10-18  Wim Taymans  <wim@fluendo.com>
22585
22586         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22587         (gst_bin_recalc_func):
22588         * gst/gstelement.c: (gst_element_set_clock),
22589         (gst_element_abort_state), (gst_element_lost_state):
22590         Cleanups, prepare for state change fixes.
22591
22592 2005-10-18  Wim Taymans  <wim@fluendo.com>
22593
22594         * gst/gstbin.h:
22595         * gst/gstelement.c: (gst_element_class_init),
22596         (gst_element_set_state), (gst_element_set_state_func):
22597         * gst/gstelement.h:
22598         Pending ABI changes.
22599         GThreadPool in GstBinClass to monitor async state changes.
22600         state_cookie in GstElement to detect concurrent gst/set state.
22601         set_state is now virtual too in case a very complicated element
22602         has to be constructed.
22603
22604 2005-10-18  Wim Taymans  <wim@fluendo.com>
22605
22606         * check/gst/gstbin.c: (GST_START_TEST):
22607         * check/gst/gstmessage.c: (GST_START_TEST):
22608         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22609         * gst/gstbin.c: (bin_bus_handler):
22610         * gst/gstelement.c: (gst_element_commit_state),
22611         (gst_element_lost_state):
22612         * gst/gstmessage.c: (gst_message_new_state_changed),
22613         (gst_message_new_segment_start), (gst_message_new_segment_done),
22614         (gst_message_new_duration), (gst_message_parse_state_changed),
22615         (gst_message_parse_segment_start),
22616         (gst_message_parse_segment_done), (gst_message_parse_duration):
22617         * gst/gstmessage.h:
22618         * tools/gst-launch.c: (event_loop):
22619         Make messages future proof.
22620         state-change gets a flag if it was a message comming from the
22621         streaming thread.
22622         segment-start/stop can also be specified in other formats.
22623         A message to notify an app that a pipeline changed playback 
22624         duration.
22625         Also fix a GstMessage leak in -launch
22626
22627 2005-10-18  Andy Wingo  <wingo@pobox.com>
22628
22629         * gst/gstelement.c (gst_element_dispose): More helpful message.
22630
22631 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22632
22633         reviewed by: <delete if not using a buddy>
22634
22635         * common/gtk-doc.mak:
22636
22637 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22638
22639         * gst/gstregistry.c: (gst_registry_scan_path_level):
22640           unref a plug-in we get that was already initialized
22641
22642 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22643
22644         * docs/gst/gstreamer-sections.txt:
22645         * docs/libs/gstreamer-libs-sections.txt:
22646         * gst/gstelement.h:
22647           add new api entries
22648           hide internal macro
22649
22650 2005-10-17  Andy Wingo  <wingo@pobox.com>
22651
22652         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22653         cleanup.
22654
22655         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22656
22657         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22658
22659         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22660         (gst_element_get_state_func): Better debug message.
22661         (gst_element_commit_state): s/INFO/DEBUG/.
22662         (gst_element_lost_state, gst_element_change_state): 
22663
22664         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22665         (gst_message_new_custom): s/INFO/LOG/.
22666
22667 2005-10-17  Michael Smith <msmith@fluendo.com>
22668
22669         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22670           Check if end time is valid using end time, not start time.
22671
22672 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22673
22674         * check/gst-libs/controller.c: (GST_START_TEST),
22675         (gst_controller_suite):
22676         * libs/gst/controller/gstcontroller.c:
22677         (gst_controlled_property_set_interpolation_mode):
22678         * libs/gst/controller/gstcontroller.h:
22679         * libs/gst/controller/gstinterpolation.c:
22680         * testsuite/controller/.cvsignore:
22681         * testsuite/controller/Makefile.am:
22682         * testsuite/controller/interpolator.c:
22683           merge controller testsuites
22684           fix broken tests
22685           remove mem-chunk from docs
22686
22687 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22688
22689         * gst/gstmemchunk.c:
22690         * gst/gstmemchunk.h:
22691         * gst/gsttrashstack.c:
22692         * gst/gsttrashstack.h:
22693           out.  get out.  you're fired.  to the Attic !
22694
22695 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22696
22697         * gst/gstcaps.c: (gst_caps_intersect):
22698           fix signedness issues in a (hopefully) correct way
22699         * gst/gstelement.c: (gst_element_pads_activate):
22700           some debugging
22701         * gst/gstobject.c: (gst_object_set_parent):
22702           some debugging
22703
22704 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22705
22706         * gst/gstvalue.h: Fix prototypes.
22707
22708 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22709
22710         * docs/gst/gstreamer-sections.txt:
22711         * gst/gst.c: (gst_version_string):
22712         * gst/gst.h:
22713         * gst/gstversion.h.in:
22714         * win32/common/libgstreamer.def:
22715           add gst_version_string ()
22716
22717 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22718
22719         * configure.ac:
22720           clean up further
22721         * gst/gst.c: (init_post):
22722         * win32/common/config.h.in:
22723           it's PLUGINDIR now
22724         * gst/gstcaps.c: (gst_caps_intersect):
22725           use gint64, the range could be bigger than a guint
22726
22727 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22728
22729         * gst/gstclock.h:
22730           document potential problem in 2038
22731
22732 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22733
22734         * gst/gstcaps.c: (gst_caps_intersect):
22735           Fix guint j diving under 0
22736
22737 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22738
22739         * configure.ac:
22740         * win32/common/config.h:
22741         * win32/common/config.h.in:
22742           check for process.h, declares getpid() on Windows
22743         * gst/gstinfo.c:
22744           include process.h if we have it
22745         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22746         * gst/gstmemchunk.h:
22747           fix signedness issues
22748         * win32/common/libgstreamer.def:
22749           fix get_type's
22750
22751 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22752
22753         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22754         fix. Because of unsigned ints, caps intersection was going nuts and
22755         trying to access structures with G_MAXUINT index. That fixes
22756         videotestsrc ! ffmpegcolorspace ! fakesink
22757         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22758         consistency.
22759
22760 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22761
22762         * configure.ac:
22763           use the gettext macro
22764         * gst/elements/gstelements.c:
22765         * gst/gst.c:
22766         * gst/indexers/gstindexers.c:
22767           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22768         * win32/common/config.h:
22769           updated config.h
22770         * win32/common/config.h.in:
22771           add the template to generate config.h
22772         * win32/common/gstenumtypes.c:
22773         * win32/common/gstversion.h:
22774           updated copies
22775
22776 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22777
22778         * gst/gst.c: (gst_version):
22779         * gst/gstversion.h.in:
22780           add the nano
22781
22782 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22783
22784         * gst/gstevent.h:
22785           Oops, add missing closing bracket.
22786
22787 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22788
22789         * configure.ac:
22790           use common m4's for argument checking
22791
22792 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22793
22794         * docs/gst/gstreamer-sections.txt:
22795         * gst/gstevent.h:
22796           Add GST_EVENT_TYPE_NAME() macro.
22797
22798 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22799
22800         * gst/gstinfo.c:
22801         * gst/gstpluginfeature.c:
22802         * gst/gsttask.c:
22803           privatize more symbols
22804
22805 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22806
22807         * configure.ac:
22808           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22809           everything that uses GStreamer API should have the includes
22810
22811 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22812
22813         * docs/gst/gstreamer-sections.txt:
22814         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22815         * gst/gstvalue.h:
22816           give each value a _get_type, removes the DATA exports
22817
22818 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22819
22820         * gst/gst.c:
22821         * gst/gst.h:
22822           remove _gst_registry_auto_load, not used anymore
22823         * gst/gstbin.c: (gst_bin_get_type):
22824         * gst/gstbin.h:
22825         * gst/gstelement.c: (gst_element_get_type):
22826         * gst/gstelement.h:
22827         * gst/gstobject.c: (gst_object_get_type):
22828         * gst/gstobject.h:
22829         * gst/gstpad.c: (gst_pad_get_type):
22830         * gst/gstpad.h:
22831           make _get_type functions similar, fixes data export from library
22832
22833 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22834
22835         * configure.ac:
22836           correctly make conditionals
22837         * gst/elements/Makefile.am:
22838         * gst/elements/gstelements.c:
22839           fix typo causing fdsrc not to build
22840
22841 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22842
22843         * testsuite/Makefile.am:
22844         * testsuite/bytestream/.cvsignore:
22845         * testsuite/bytestream/Makefile.am:
22846         * testsuite/bytestream/filepadsink.c:
22847         * testsuite/bytestream/gstbstest.c:
22848         * testsuite/bytestream/test1.c:
22849         * testsuite/bytestream/testfile1:
22850         * testsuite/caps/normalisation.c:
22851         * testsuite/caps/random.c: (main):
22852         * testsuite/cleanup/.cvsignore:
22853         * testsuite/cleanup/Makefile.am:
22854         * testsuite/cleanup/cleanup1.c:
22855         * testsuite/cleanup/cleanup2.c:
22856         * testsuite/cleanup/cleanup3.c:
22857         * testsuite/cleanup/cleanup4.c:
22858         * testsuite/cleanup/cleanup5.c:
22859         * testsuite/controller/interpolator.c:
22860         * testsuite/debug/printf_extension.c: (main):
22861         * testsuite/elements/tee.c:
22862         * testsuite/negotiation/.cvsignore:
22863         * testsuite/negotiation/Makefile.am:
22864         * testsuite/negotiation/pad_link.c:
22865         * testsuite/pad/Makefile.am:
22866         * testsuite/pad/chainnopull.c:
22867         * testsuite/pad/getnopush.c:
22868         * testsuite/pad/link.c:
22869         * testsuite/refcounting/sched.c: (create_pipeline):
22870         * testsuite/registry/Makefile.am:
22871         * testsuite/registry/gst-print-formats.c:
22872         * testsuite/schedulers/.cvsignore:
22873         * testsuite/schedulers/142183-2.c:
22874         * testsuite/schedulers/142183.c:
22875         * testsuite/schedulers/143777-2.c:
22876         * testsuite/schedulers/143777.c:
22877         * testsuite/schedulers/147713.c:
22878         * testsuite/schedulers/147819.c:
22879         * testsuite/schedulers/147894-2.c:
22880         * testsuite/schedulers/147894.c:
22881         * testsuite/schedulers/Makefile.am:
22882         * testsuite/schedulers/group_link.c:
22883         * testsuite/schedulers/queue_link.c:
22884         * testsuite/schedulers/relink.c:
22885         * testsuite/schedulers/unlink.c:
22886         * testsuite/schedulers/unref.c:
22887         * testsuite/schedulers/useless_iteration.c:
22888         * testsuite/states/bin.c:
22889           clean out/remove some stuff from the testsuite directories
22890
22891 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22892
22893         * configure.ac:
22894           check for some headers
22895         * gst/elements/Makefile.am:
22896         * gst/elements/gstelements.c:
22897           don't compile fdsrc without sys/socket.h
22898         * gst/indexers/Makefile.am:
22899         * gst/indexers/gstindexers.c: (plugin_init):
22900           don't compile fileindex without mmap
22901
22902 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22903
22904         * configure.ac:
22905           reorganize
22906           clean up
22907           document more
22908           remove cruft
22909         * check/Makefile.am:
22910         * docs/gst/Makefile.am:
22911         * examples/helloworld/Makefile.am:
22912         * gst/Makefile.am:
22913         * gst/base/Makefile.am:
22914         * gst/check/Makefile.am:
22915         * gst/elements/Makefile.am:
22916         * gst/indexers/Makefile.am:
22917         * gst/parse/Makefile.am:
22918         * libs/gst/controller/Makefile.am:
22919         * libs/gst/dataprotocol/Makefile.am:
22920         * examples/helloworld/helloworld.c: (event_loop):
22921           compile fixes, though it's not being compiled currently
22922
22923 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22924
22925         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22926           Add some simple tests for the new taglist date API.
22927
22928 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22929
22930         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22931         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22932           Beautify 'last-message' output: print 'none' for buffer timestamps
22933           and durations if none is set; improve alignment with next messages.
22934
22935 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22936
22937         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22938         * gst/gstpluginfeature.h:
22939         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22940         * gst/gstregistry.h:
22941         * docs/gst/gstreamer-sections.txt:
22942           Add new API to check plugin feature version requirements.
22943
22944         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22945           Some basic tests for the above.         
22946
22947 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22948
22949         * gst/gststructure.c: (gst_structure_to_string):
22950           guard against NULL printf - happens when for example
22951           a message structure with GstClock gets serialized
22952
22953 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22954
22955         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22956           Fix presumable copy'n'pasto.
22957
22958 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22959
22960         * gst/elements/gstfakesrc.h:
22961         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22962         * gst/elements/gsttypefindelement.c:
22963           fix some signedness
22964         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22965           I wonder if this could actually write +2GB files before
22966
22967 2005-10-13  Andy Wingo  <wingo@pobox.com>
22968
22969         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22970         Fix Timmeke Waymans bug.
22971         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22972         string of the proper length to gst_caps_from_string. There's a
22973         potential for, before this fix, that this could cause someone
22974         connecting over the network to cause a segfault if the payload is
22975         not NUL-terminated.
22976
22977 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22978
22979         * docs/design/draft-push-pull.txt:
22980         * docs/design/part-overview.txt:
22981         * docs/random/TODO-pre-0.9:
22982         * docs/random/old/ChangeLog.gstreamer:
22983         * gst/base/gstpushsrc.c:
22984         * gst/gstclock.c:
22985           fixed typos
22986
22987 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22988
22989         * gst/glib-compat.c: (gst_flags_get_first_value):
22990         * gst/glib-compat.h:
22991         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22992         (gst_value_compare_double), (gst_value_serialize_flags):
22993           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22994           infinite loop
22995
22996 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22997
22998         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22999         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23000           fix up debugging
23001         * tools/gst-launch.c: (event_loop):
23002           print out clock nicely
23003
23004 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23005
23006         * docs/gst/gstreamer-sections.txt:
23007         * gst/gsttaglist.h:
23008         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23009         (gst_tag_list_get_date_index):
23010           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23011           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23012
23013 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23014
23015         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23016         (gst_collectpads_chain):
23017         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23018         in CollectData.
23019
23020 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23021
23022         * docs/gst/gstreamer-sections.txt:
23023         * gst/gst.c:
23024         * gst/gsterror.h:
23025         * tools/gst-inspect.c: (main):
23026         * tools/gst-launch.c: (main):
23027         * tools/gst-run.c: (main):
23028         * tools/gst-xmlinspect.c: (main):
23029           fix GOption context leaks
23030           doc fixes
23031
23032 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23033
23034         * gst/gstbus.c:
23035           use HAVE_UNISTD_H
23036         * win32/common/config.h:
23037           update config
23038         * win32/vs6/grammar.dsp:
23039         * win32/vs6/libgstelements.dsp:
23040         * win32/vs6/libgstreamer.dsp:
23041           update vs6 files
23042
23043 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23044
23045         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23046         * gst/base/gstbasesrc.c: (gst_base_src_query):
23047           fix more guint64<->gdouble conversions
23048
23049 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23050
23051         * Makefile.am:
23052           add win32-update target
23053         * win32/common/gstconfig.h:
23054         * win32/common/gstenumtypes.c:
23055         * win32/common/gstenumtypes.h:
23056         * win32/common/gstversion.h:
23057           add files that visual studio can't generate
23058
23059 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23060
23061         * Makefile.am:
23062           add a win32-update target
23063         * configure.ac:
23064
23065 2005-10-12  Wim Taymans  <wim@fluendo.com>
23066
23067         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23068         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23069         * gst/gstelement.c: (gst_element_commit_state),
23070         (gst_element_set_state):
23071         Protect flags with proper lock.
23072         unref provided cached clock in dispose.
23073
23074 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23075
23076         * gst/gst.c:
23077         * gst/gstminiobject.h:
23078         * gst/gstpad.h:
23079         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23080           removed unused flags from miniobject
23081           doc fixes
23082
23083 2005-10-12  Wim Taymans  <wim@fluendo.com>
23084
23085         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23086         (gst_file_sink_event), (gst_file_sink_render):
23087         Flush before seeking.
23088
23089 2005-10-12  Andy Wingo  <wingo@pobox.com>
23090
23091         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23092         always been the case.
23093
23094 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23095
23096         * check/gst/gstbin.c: (GST_START_TEST):
23097         * docs/gst/gstreamer-sections.txt:
23098         * gst/base/gstbasesink.c: (gst_base_sink_init):
23099         * gst/base/gstbasesrc.c: (gst_base_src_init),
23100         (gst_base_src_get_range), (gst_base_src_check_get_range),
23101         (gst_base_src_start), (gst_base_src_stop):
23102         * gst/base/gstbasesrc.h:
23103         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23104         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23105         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23106         (bin_bus_handler):
23107         * gst/gstbin.h:
23108         * gst/gstbuffer.h:
23109         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23110         * gst/gstbus.h:
23111         * gst/gstelement.c: (gst_element_is_locked_state),
23112         (gst_element_set_locked_state), (gst_element_commit_state),
23113         (gst_element_set_state):
23114         * gst/gstelement.h:
23115         * gst/gstindex.c: (gst_index_init):
23116         * gst/gstindex.h:
23117         * gst/gstminiobject.h:
23118         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23119         (gst_object_set_parent):
23120         * gst/gstobject.h:
23121         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23122         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23123         * gst/gstpad.h:
23124         * gst/gstpadtemplate.h:
23125         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23126         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23127         * gst/gstpipeline.h:
23128         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23129         (gst_file_index_commit):
23130         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23131         * testsuite/pad/link.c: (gst_test_src_init),
23132         (gst_test_filter_init), (gst_test_sink_init):
23133         * testsuite/states/locked.c: (main):
23134           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23135           moved bitshift from macro to enum definition
23136
23137 2005-10-12  Wim Taymans  <wim@fluendo.com>
23138
23139         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23140         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23141         (gst_file_sink_render):
23142         Some more debugging info.
23143
23144 2005-10-12  Wim Taymans  <wim@fluendo.com>
23145
23146         * docs/design/part-states.txt:
23147         * tools/gst-launch.c: (main):
23148         Some doc updates.
23149         Revert non-intentional change.
23150
23151 2005-10-12  Wim Taymans  <wim@fluendo.com>
23152
23153         * check/gst/gstbin.c: (GST_START_TEST):
23154         * check/gst/gstelement.c: (GST_START_TEST):
23155         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23156         * check/gst/gstghostpad.c: (GST_START_TEST):
23157         * check/gst/gstpipeline.c: (GST_START_TEST):
23158         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23159         * check/states/sinks.c: (GST_START_TEST):
23160         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23161         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23162         (gst_bin_remove_func), (gst_bin_get_state_func),
23163         (gst_bin_recalc_state), (gst_bin_change_state_func),
23164         (bin_bus_handler):
23165         * gst/gstelement.c: (gst_element_get_state_func),
23166         (gst_element_get_state), (gst_element_abort_state),
23167         (gst_element_commit_state), (gst_element_set_state),
23168         (gst_element_change_state), (gst_element_change_state_func):
23169         * gst/gstelement.h:
23170         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23171         (gst_pipeline_provide_clock_func):
23172         * gst/gstutils.c: (gst_element_link_pads_filtered):
23173         * tools/gst-launch.c: (main):
23174         * tools/gst-typefind.c: (main):
23175         Use GstClockTime in _get_state() instead of GTimeVal.
23176         Remove old code in gstutils.c
23177
23178 2005-10-12  Andy Wingo  <wingo@pobox.com>
23179
23180         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23181         removed.
23182
23183         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23184         there is no task. Shouldn't affect any code, as nothing in our
23185         plugins checks this return value.
23186         (gst_pad_stop_task): Also take the stream lock if the pad has no
23187         task. Docs updated.
23188
23189 2005-10-12  Wim Taymans  <wim@fluendo.com>
23190
23191         * gst/gstpad.c: (pre_activate), (post_activate),
23192         (gst_pad_activate_pull), (gst_pad_activate_push):
23193         Cleanup activation code. Reset old state if
23194         activation failed.
23195
23196 2005-10-12  Wim Taymans  <wim@fluendo.com>
23197
23198         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23199         (gst_base_sink_change_state):
23200         No need to prerol after receiving EOS.
23201
23202         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23203         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23204         * gst/elements/gstidentity.c: (gst_identity_event):
23205         Print events more verbosely.
23206
23207 2005-10-12  Wim Taymans  <wim@fluendo.com>
23208
23209         * check/Makefile.am:
23210         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23211         * check/states/sinks2.c:
23212         Moved sinks2 testcode in sinks check.
23213
23214         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23215         (gst_bin_remove_func), (gst_bin_recalc_state),
23216         (gst_bin_change_state_func), (bin_bus_handler):
23217         Fix potential race condition when _get_state() iterated over an
23218         ASYNC element right before it posted a state completion.
23219
23220         * gst/gstclock.h:
23221         Do proper cast here.
23222
23223         * gst/gstevent.c: (gst_event_new_newsegment),
23224         (gst_event_parse_newsegment):
23225         A playback rate of 0.0 is not allowed.
23226
23227 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23228
23229         * win32/common/config.h:
23230         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23231         (_trewinddir), (_ttelldir), (_tseekdir):
23232         * win32/common/dirent.h:
23233         * win32/common/gtchar.h:
23234         * win32/common/libgstbase.def:
23235         * win32/common/libgstreamer.def:
23236         * win32/vs6/grammar.dsp:
23237         * win32/vs6/gst_inspect.dsp:
23238         * win32/vs6/gst_launch.dsp:
23239         * win32/vs6/gstreamer.dsw:
23240         * win32/vs6/libgstbase.dsp:
23241         * win32/vs6/libgstelements.dsp:
23242         * win32/vs6/libgstreamer.dsp:
23243           Visual Studio 6 project files, and a new common directory.
23244           Phear.
23245
23246 2005-10-11  Wim Taymans  <wim@fluendo.com>
23247
23248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23249         (gst_base_sink_do_sync), (gst_base_sink_query),
23250         (gst_base_sink_change_state):
23251         * gst/base/gstbasesink.h:
23252         Correctly parse newsegment info.
23253
23254 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23255
23256         * gst/gst.c: (init_post):
23257           split plugin paths correctly
23258
23259 2005-10-11  Wim Taymans  <wim@fluendo.com>
23260
23261         * check/gst/gstevent.c: (GST_START_TEST):
23262         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23263         (gst_base_sink_change_state):
23264         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23265         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23266         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23267         * gst/gstevent.c: (gst_event_new_newsegment),
23268         (gst_event_parse_newsegment):
23269         * gst/gstevent.h:
23270         Added extra flag to newsegment for future API freeze.
23271         Updated check and base elements.
23272
23273 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23274
23275         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23276         (gst_collectpads_add_pad), (gst_collectpads_pop),
23277         (gst_collectpads_event), (gst_collectpads_chain):
23278         * gst/base/gstcollectpads.h: Handle EOS correctly.
23279
23280 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23281
23282         * tools/gst-launch.c: (main):
23283           more null protecting
23284
23285 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23286
23287         * gst/gst-i18n-lib.h:
23288           check for ENABLE_NLS, not GETTEXT_PACKAGE
23289         * gst/gstregistry.c: (gst_registry_add_plugin),
23290         (gst_registry_scan_path_level),
23291         (_gst_registry_remove_cache_plugins):
23292           protect possibly NULL strings
23293         * gst/parse/types.h:
23294           config.h already included before
23295         * tools/gst-inspect.c: (main):
23296           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23297           check for ENABLE_NLS, not GETTEXT_PACKAGE
23298         * tools/gst-launch.c: (main):
23299           check for ENABLE_NLS, not GETTEXT_PACKAGE
23300
23301 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23302
23303         * configure.ac:
23304           if we don't have glib, fail before testing 2.8
23305         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23306           fix a leak, should fix plugins-base testsuite
23307
23308 2005-10-11  Andy Wingo  <wingo@pobox.com>
23309
23310         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23311         take the mode we're going to as an arg. Go head and set the mode
23312         and flushing flags now, so that if the activate function starts a
23313         thread all the flags will be in the right state.
23314         (post_activate): Renamed also. Just handle making sure streaming
23315         finishes for the deactivation case, and setting the deactivated
23316         mode.
23317         (gst_pad_set_active): Complain loudly if deactivation fails.
23318         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23319         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23320         remove the terrible hack.
23321
23322 2005-10-11  Wim Taymans  <wim@fluendo.com>
23323
23324         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23325         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23326         (gst_bin_recalc_state), (gst_bin_change_state_func),
23327         (gst_bin_dispose), (bin_bus_handler):
23328         * gst/gstbin.h:
23329         Prepare to make current EOS message queue more generic.
23330         Fix some typos.
23331
23332         * gst/gstevent.c: (gst_event_new_newsegment),
23333         (gst_event_parse_newsegment):
23334         * gst/gstevent.h:
23335         Rename base to stream_time.
23336
23337         * gst/gstmessage.h:
23338         Fix typo in docs.
23339
23340 2005-10-11  Wim Taymans  <wim@fluendo.com>
23341
23342         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23343         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23344         (gst_bin_change_state_func), (bin_bus_handler):
23345         * gst/gstbin.h:
23346         Work on proper clock selection.
23347
23348 2005-10-11  Edward Hervey  <edward@fluendo.com>
23349
23350         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23351         * libs/gst/controller/gstcontroller.h:
23352         Added GList* version of _remove_properties() in order to be able to wrap
23353         it in bindings.
23354
23355 2005-10-11  Wim Taymans  <wim@fluendo.com>
23356
23357         * docs/design/part-states.txt:
23358         Some more docs.
23359
23360         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23361         (gst_bin_change_state_func), (bin_bus_handler):
23362         Doc updates. Don't distribute the same clock over and over again.
23363
23364         * gst/gstclock.c:
23365         * gst/gstclock.h:
23366         Doc updates.
23367
23368         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23369         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23370         (gst_pad_send_event):
23371         * gst/gstpad.h:
23372         Make probe emission threadsafe again.
23373         Register quarks and move _get_name() from utils.
23374         Doc updates.
23375
23376         * gst/gstpipeline.c: (gst_pipeline_class_init),
23377         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23378         Only redistribute the clock of it changed.
23379
23380         * gst/gstsystemclock.h:
23381         Doc updates. 
23382
23383         * gst/gstutils.c:
23384         * gst/gstutils.h:
23385         Moved the _flow_get_name() to GstPad.
23386
23387 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23388
23389         * check/gst-libs/gdp.c: (GST_START_TEST):
23390         * check/gst/gstcaps.c: (GST_START_TEST):
23391         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23392         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23393         (gst_dp_packet_from_caps):
23394           fix more valgrind warnings before turning up the heat
23395
23396 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23397
23398         * gst/parse/grammar.y:
23399           some cleanup before the hacking
23400
23401 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23402
23403         * gst/base/gstbasesrc.c: (gst_base_src_query):
23404           use conversions
23405         * gst/gstutils.c: (gst_guint64_to_gdouble),
23406         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23407         * gst/gstutils.h:
23408           externalize, basesrc uses it
23409           obviously the implementation needs testing
23410
23411 2005-10-10  Wim Taymans  <wim@fluendo.com>
23412
23413         * tests/sched/Makefile.am:
23414         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23415         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23416
23417 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23418
23419         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23420           apparently converting from guint64 to double is not implemented
23421           on MSVC
23422
23423 2005-10-10  Wim Taymans  <wim@fluendo.com>
23424
23425         * check/Makefile.am:
23426         * check/generic/states.c: (GST_START_TEST):
23427         * check/gst/gstbin.c: (GST_START_TEST):
23428         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23429         * check/states/sinks.c: (GST_START_TEST):
23430         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23431         (main):
23432         Check fixes, use API as stated in design docs, remove hacks.
23433
23434         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23435         (gst_base_sink_change_state):
23436         Catch stopping our task while we're shutting down.
23437
23438         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23439         (gst_bin_remove_func), (gst_bin_get_state_func),
23440         (gst_bin_recalc_state), (gst_bin_change_state_func),
23441         (bin_bus_handler):
23442         * gst/gstbin.h:
23443         * gst/gstelement.c: (gst_element_init),
23444         (gst_element_get_state_func), (gst_element_abort_state),
23445         (gst_element_commit_state), (gst_element_lost_state),
23446         (gst_element_set_state), (gst_element_change_state),
23447         (gst_element_change_state_func):
23448         * gst/gstelement.h:
23449         New state change algorithm (see #318116)
23450
23451         * gst/gstpipeline.c: (gst_pipeline_class_init),
23452         (gst_pipeline_init), (gst_pipeline_set_property),
23453         (gst_pipeline_get_property), (do_pipeline_seek),
23454         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23455         * gst/gstpipeline.h:
23456         Remove crude state change hacks.
23457
23458         * gst/gstutils.h:
23459         Remove crude hacks.
23460
23461         * tools/gst-launch.c: (main):
23462         Fixes for state change. Needs some more work to fully use the
23463         new stuff.
23464
23465 2005-10-10  Andy Wingo  <wingo@pobox.com>
23466
23467         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23468
23469         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23470         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23471         issue.
23472
23473 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23474
23475         * gst/gstiterator.c: (gst_iterator_new):
23476           Fix my previous commit: GTypes passed to gst_iterator_new()
23477           can be fundamental types.
23478
23479 2005-10-10  Wim Taymans  <wim@fluendo.com>
23480
23481         * gst/gstelement.c: (gst_element_iterate_pad_list),
23482         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23483         (gst_element_iterate_sink_pads):
23484         Use src/sink pads lists for the respective iterators instead
23485         of filtering.
23486
23487 2005-10-10  Andy Wingo  <wingo@pobox.com>
23488
23489         Merged in popt removal + GOption addition patch from Ronald, bug
23490         #169772.
23491
23492         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23493         GstElement macros around, remove popt-related symbols, add goption
23494         stuff.
23495
23496         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23497         
23498         * docs/gst/Makefile.am:
23499         * docs/libs/Makefile.am: No POPT_CFLAGS.
23500         
23501         * examples/manual/Makefile.am:
23502         * docs/manual/basics-init.xml: Doc updates with an example.
23503         
23504         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23505         (gst_init), (parse_one_option), (parse_goption_arg):
23506         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23507         bit of hand merging and debugging to get the GOption stuff working
23508         tho.
23509         
23510         * tests/Makefile.am:
23511         * tools/Makefile.am:
23512         * tools/gst-inspect.c: (main):
23513         * tools/gst-launch.c: (main):
23514         * tools/gst-run.c: (main):
23515         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23516
23517 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23518
23519         * gst/gstiterator.c: (gst_iterator_new):
23520           Add assertions to make sure passed GType is likely to really
23521           be a GType (as the compiler won't catch it if the size and
23522           GType arguments get mixed up, see #318447).
23523
23524 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23525
23526         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23527
23528         * gst/gstbin.c: (gst_bin_iterate_sorted):
23529           Pass GType and size arguments to gst_iterator_new() in the right
23530           order (maybe we should make _new() take the GType as first argument
23531           just like _new_list()?) (#318447).
23532           
23533
23534 2005-10-10  Wim Taymans  <wim@fluendo.com>
23535
23536         * gst/gstelement.c: (gst_element_finalize):
23537         And free the GStaticRecMutex too
23538
23539 2005-10-10  Andy Wingo  <wingo@pobox.com>
23540
23541         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23542         Allocate and free the mutex properly.
23543
23544         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23545         New macros.
23546         (GstElement): The state_lock is now recursive. Rebuild your
23547         plugins, suckers. Old macros adapted.
23548
23549         * docs/gst/gstreamer-sections.txt: Doc updates.
23550
23551         * gst/gstutils.h:
23552         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23553         (g_static_rec_cond_wait): Ported from state changes patch, while
23554         we wait on bug #317802 to be solved in a well-distributed GLib.
23555
23556         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23557         gst_element_change_state, variable name changes.
23558         (gst_element_change_state): Split out of gst_element_set_state in
23559         preparation for the state change merge. Doesn't pay attention to
23560         the 'transition' argument.
23561         (gst_element_set_state): Updates, hopefully purely cosmetic.
23562         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23563         state change patch.
23564         (gst_element_get_state_func): Renamed from get_state, cosmetic
23565         changes.
23566
23567 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23568
23569         * gst/elements/gstelements.c:
23570         * win32/GStreamer.vcproj:
23571         * win32/config.h:
23572         * win32/dirent.c: (_tseekdir):
23573         * win32/gst-inspect.vcproj:
23574         * win32/gst-launch.vcproj:
23575         * win32/gstconfig.h:
23576         * win32/gstelements.vcproj:
23577         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23578         * win32/gstreamer.def:
23579         * win32/msvc71.sln:
23580           updates for the win32 build (patch from Sebastien Moutte)
23581
23582 2005-10-10  Andy Wingo  <wingo@pobox.com>
23583
23584         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23585         gst_bin_get_state, cleaned up (but no logic changes).
23586         (bin_element_is_sink): Comment updates.
23587         (sink_iterator_filter): Remove needless cast.
23588         (gst_bin_iterate_sinks): Doc update.
23589         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23590         cleaned up (but no logic changes).
23591
23592         * check/states/sinks.c (test_src_sink): Cleanups from the state
23593         change patch.
23594         (test_livesrc_sink): Sync on the state.
23595
23596         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23597         the state change patch.
23598
23599         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23600         change patch.
23601
23602         * check/gst/gstbin.c: Merge in some style fixes and additional
23603         checks from Wim's state change patch.
23604
23605 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23606
23607         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23608         (gst_type_find_helper):
23609           Check whether we have the requested data already in our list of
23610           cached buffers before pulling a new buffer; also make the buffer
23611           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23612
23613 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23614
23615         * gst/gstcaps.c:
23616         * gst/gstevent.c:
23617           doc updates
23618         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23619           don't use long long, it's not portable.  Replacing with
23620           gint64 seems to work; let's hope no skeletons fall out of the closet.
23621
23622 2005-10-10  Andy Wingo  <wingo@pobox.com>
23623
23624         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23625
23626 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23627
23628         * docs/gst/gstreamer-sections.txt:
23629         * gst/gstevent.c:
23630         * gst/gstevent.h:
23631         * gst/gstinfo.c:
23632         * gst/gstinfo.h:
23633         * gst/gstmessage.c: (gst_message_parse_state_changed):
23634         * gst/gstpad.c:
23635         * gst/gstpad.h:
23636           more docs, fix compilation
23637
23638 2005-10-09  Philippe Khalaf <burger@speedy.org>
23639         * gst/gstmessage.c:
23640           Fixed a few forgotten variables on previous commit
23641
23642 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23643
23644         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23645           Fix evil typefind crasher: getrange() might return a short
23646           buffer at the end of a file, but gst_type_find_peek() must
23647           either return the full data as requested or NULL, but
23648           never a short buffer.
23649
23650 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23651
23652         * gst/gstmessage.c: (gst_message_new_state_changed),
23653         (gst_message_parse_state_changed):
23654         * gst/gstmessage.h:
23655           don't use "new", it's a C++ keyword
23656
23657 2005-10-08  Wim Taymans  <wim@fluendo.com>
23658
23659         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23660         * gst/gstelement.c: (gst_element_post_message):
23661         * gst/gstpipeline.c: (gst_pipeline_change_state):
23662         Small docs and debug updates.
23663
23664 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23665
23666         * docs/gst/gstreamer-sections.txt:
23667         * gst/gstelementfactory.c:
23668         * gst/gstevent.c:
23669         * gst/gsttaglist.c:
23670           more docs
23671
23672 2005-10-08  Wim Taymans  <wim@fluendo.com>
23673
23674         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23675         (gst_bin_dispose), (bin_bus_handler):
23676         Fix typos, add comments.
23677         Clear EOS list when going to PAUSED from any direction and do it
23678         in a threadsafe way.
23679         Get base time in a threadsafe way too.
23680         Fix confusing debug in the change_state function.
23681         Various other small cleanups.
23682         
23683         * gst/gstelement.c: (gst_element_post_message):
23684         Fix very verbose bus posting code.
23685
23686         * gst/gstpipeline.c: (gst_pipeline_class_init),
23687         (gst_pipeline_set_property), (gst_pipeline_get_property),
23688         (gst_pipeline_change_state):
23689         Small ARG_ -> PROP_ cleanup
23690
23691 2005-10-08  Wim Taymans  <wim@fluendo.com>
23692
23693         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23694         Do a less CPU demanding EOS check because we can.
23695
23696 2005-10-08  Wim Taymans  <wim@fluendo.com>
23697
23698         * libs/gst/dataprotocol/dataprotocol.c:
23699         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23700         (gst_dp_packet_from_event):
23701         * libs/gst/dataprotocol/dataprotocol.h:
23702         * libs/gst/dataprotocol/dp-private.h:
23703         It's about time we bump the version number.
23704         Since event types don't fit in the guint8 anymore describing
23705         the payload type, make payload type 16 bits wide.
23706
23707 2005-10-08  Wim Taymans  <wim@fluendo.com>
23708
23709         * docs/design/part-TODO.txt:
23710         * docs/design/part-clocks.txt:
23711         * docs/design/part-events.txt:
23712         * docs/design/part-gstbin.txt:
23713         * docs/design/part-gstelement.txt:
23714         * docs/design/part-gstpipeline.txt:
23715         * docs/design/part-live-source.txt:
23716         * docs/design/part-messages.txt:
23717         * docs/design/part-overview.txt:
23718         * docs/design/part-states.txt:
23719         Many doc updates.
23720
23721 2005-10-08  Wim Taymans  <wim@fluendo.com>
23722
23723         * gst/gstevent.c:
23724         * gst/gstevent.h:
23725         Fix event quark registration.
23726         Add some space between events so we can insert them in the
23727         right groups.
23728
23729 2005-10-08  Wim Taymans  <wim@fluendo.com>
23730
23731         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23732         (gst_base_sink_handle_buffer):
23733         Better log message.
23734
23735         * gst/gstbus.h:
23736         * gst/gstelement.h:
23737         More docs.
23738
23739         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23740         (gst_queue_set_property), (gst_queue_get_property):
23741         * gst/gstqueue.h:
23742         Remove old unused properties.
23743
23744 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23745         * docs/gst/gstreamer-sections.txt:
23746         * gst/gstmessage.c:
23747         * gst/gstmessage.h:
23748         * gst/gstminiobject.c:
23749         * gst/gstminiobject.h:
23750         * gst/gstobject.h:
23751         * gst/gstpad.h:
23752         * gst/gstutils.h:
23753           lots of new docs and doc fixes
23754
23755 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23756
23757         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23758         * gst/gstplugin.h:
23759         * gst/gstregistry.c: (gst_registry_lookup_locked),
23760         (gst_registry_scan_path_level):
23761         * gst/gstregistryxml.c: (load_plugin):
23762           Only ever load one plugin for a given plugin basename.
23763           This ensures correct overriding of GST_PLUGIN_PATH over
23764           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23765           system installed plugins.
23766
23767 2005-10-08  Wim Taymans  <wim@fluendo.com>
23768
23769         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23770         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23771         Prepare for doing QOS.
23772
23773 2005-10-08  Wim Taymans  <wim@fluendo.com>
23774
23775         * check/gst/gstbin.c: (GST_START_TEST):
23776         * check/pipelines/cleanup.c: (GST_START_TEST):
23777         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23778         Allow new clock message too.
23779
23780 2005-10-08  Wim Taymans  <wim@fluendo.com>
23781
23782         * gst/gstmessage.c: (gst_message_new_error),
23783         (gst_message_new_warning), (gst_message_new_tag),
23784         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23785         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23786         (gst_message_new_segment_start), (gst_message_new_segment_done),
23787         (gst_message_parse_state_changed),
23788         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23789         (gst_message_parse_new_clock):
23790         * gst/gstmessage.h:
23791         Also carry the clock in question.
23792
23793 2005-10-08  Wim Taymans  <wim@fluendo.com>
23794
23795         * gst/gstmessage.c: (gst_message_new_custom),
23796         (gst_message_new_eos), (gst_message_new_error),
23797         (gst_message_new_warning), (gst_message_new_tag),
23798         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23799         (gst_message_new_new_clock), (gst_message_new_segment_start),
23800         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23801         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23802         * gst/gstmessage.h:
23803         Clean up.
23804         Added clock related messages.
23805
23806         * gst/gstpipeline.c: (gst_pipeline_change_state):
23807         Post message when the clock changed.
23808
23809         * tools/gst-launch.c: (event_loop):
23810         Print new clock.
23811
23812 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23813
23814         * tools/gst-inspect.c: (print_element_properties_info):
23815           Can't pass NULL strings to g_print() on windows.
23816
23817 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23818
23819         * docs/Makefile.am:
23820         * docs/gst/Makefile.am:
23821         * docs/gst/gstreamer-docs.sgml:
23822         * docs/gst/running.xml:
23823         * docs/version.entities.in:
23824           add a chapter on running GStreamer.
23825           document GST_DEBUG and GST_PLUGIN* env vars
23826
23827 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23828
23829         * Makefile.am:
23830           remove include dir
23831         * configure.ac:
23832           remove PLUGINS_BUILDDIR stuff
23833         * gst/gst.c: (init_post):
23834           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23835         * idiottest.mak:
23836           remove, it was condescending and not needed
23837
23838 2005-10-08  Wim Taymans  <wim@fluendo.com>
23839
23840         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23841         (gst_base_sink_handle_object), (gst_base_sink_event),
23842         (gst_base_sink_wait), (gst_base_sink_handle_event),
23843         (gst_base_sink_change_state):
23844         * gst/base/gstbasesink.h:
23845         Repost EOS message while going to PLAYING if still EOS.
23846         Make sure that when receiving a FLUSH_START we don't attempt
23847         to sync on the clock anymore.
23848
23849 2005-10-08  Wim Taymans  <wim@fluendo.com>
23850
23851         * tools/gst-launch.c: (event_loop):
23852         Better message printout.
23853
23854 2005-10-08  Wim Taymans  <wim@fluendo.com>
23855
23856         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23857         (gst_bin_child_proxy_get_children_count):
23858         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23859         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23860         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23861         (gst_child_proxy_set_valist):
23862         * gst/parse/grammar.y:
23863         Make ChildProxy threadsafe and fix mem leaks.
23864
23865 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23866
23867         * gst/gst.c: (init_post):
23868           debug the GST_PLUGIN_ env vars
23869
23870 2005-10-08  Wim Taymans  <wim@fluendo.com>
23871
23872         * check/gst/gstbin.c: (GST_START_TEST):
23873         * check/gst/gstmessage.c: (GST_START_TEST):
23874         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23875         * gst/gstelement.c: (gst_element_commit_state),
23876         (gst_element_lost_state):
23877         * gst/gstmessage.c: (gst_message_new_state_changed),
23878         (gst_message_parse_state_changed):
23879         * gst/gstmessage.h:
23880         * tools/gst-launch.c: (event_loop):
23881         Added extra field to STATE_CHANGE message with the pending
23882         state, which will be different from the new state soon.
23883
23884 2005-10-08  Wim Taymans  <wim@fluendo.com>
23885
23886         * gst/gstbus.c: (gst_bus_pop):
23887         * gst/gstclock.c:
23888         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23889         Small cleanups and doc updates.
23890
23891 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23892
23893         * gst/gst.c: (init_pre):
23894         * gst/gstbin.c: (gst_bin_add_func):
23895           log distributing clocks and base time
23896         * gst/gstregistry.c: (gst_registry_add_plugin),
23897         (gst_registry_scan_path_level), (gst_registry_scan_path):
23898           clean up the debugging output a little
23899         * gst/gstutils.c: (gst_element_state_get_name):
23900           warn about a memleak (I've actually seen this be used, though
23901           it was probably a bug)
23902
23903 2005-10-07  Wim Taymans  <wim@fluendo.com>
23904
23905         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23906         (gst_base_src_init), (gst_base_src_default_newsegment),
23907         (gst_base_src_newsegment), (gst_base_src_do_seek),
23908         (gst_base_src_loop), (gst_base_src_start):
23909         * gst/base/gstbasesrc.h:
23910         Make the newsegment event customizable by subclasses.
23911
23912 2005-10-07  Wim Taymans  <wim@fluendo.com>
23913
23914         * gst/gstevent.c: (gst_event_new_buffersize),
23915         (gst_event_parse_buffersize):
23916         * gst/gstevent.h:
23917         New event for future idea.
23918
23919 2005-10-07  Andy Wingo  <wingo@pobox.com>
23920
23921         * gst/gstelement.c (gst_element_post_message): Doc update.
23922
23923         * docs/gst/gstreamer-sections.txt: Update.
23924
23925         * gst/gstmessage.c (gst_message_new_application): Made into a
23926         function like honest API calls.
23927         (gst_message_new_element): New message type.
23928
23929         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23930
23931         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23932         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23933         times.
23934
23935         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23936         NO_PREROLL from gst_element_change_state to fall through.
23937
23938 2005-10-07  Wim Taymans  <wim@fluendo.com>
23939
23940         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23941         (gst_ghost_pad_do_activate_push):
23942         Activating a ghostpad with no internal pad in push mode
23943         is ok.
23944
23945 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23946
23947         * gst/gstobject.h:
23948           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23949           Fixes compilation on Windows.
23950
23951 2005-10-07  Michael Smith <msmith@fluendo.com>
23952
23953         * tools/gst-inspect.c:
23954           Print out feature and plugin count at the end when printing out
23955           all features.
23956
23957 2005-10-04  Michael Smith <msmith@fluendo.com>
23958
23959         * gst/gsterror.c: (_gst_stream_errors_init):
23960           Add another error string used in a few existing plugins.
23961
23962         * gst/gstplugin.c:
23963         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23964         * tools/gst-inspect.c: (print_element_info):
23965           When a feature disappears from a plugin (and the feature exists in
23966           the cached registry file), things went horribly wrong. This isn't a
23967           complete fix, we should actually be removing the 'missing' features
23968           from the features list when we load the actual plugin. That's not
23969           yet implemented. 
23970
23971 2005-10-04  Johan Dahlin  <johan@gnome.org>
23972
23973         * check/gst/gstiterator.c: (GST_START_TEST):
23974         * gst/gstbin.c: (gst_bin_iterate_elements),
23975         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23976         * gst/gstelement.c: (gst_element_iterate_pads):
23977         * gst/gstformat.c: (gst_format_iterate_definitions):
23978         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23979         (gst_iterator_new_list), (gst_iterator_filter):
23980         * gst/gstiterator.h:
23981         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23982         Add a GType to GstIterator, update callsites and tests.
23983
23984 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23985
23986         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23987           give events a chance to be handled by event probes when the pad
23988           is not linked
23989
23990 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23991
23992         * gst/gstevent.c: (gst_event_type_get_name),
23993         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23994         * gst/gstevent.h:
23995           add string representations for event types
23996
23997 2005-10-06  Wim Taymans  <wim@fluendo.com>
23998
23999         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24000         Don't use NULL pointers.
24001
24002 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24003
24004         * gst/gst_private.h:
24005         * gst/gstbus.c:
24006         * gst/gstelement.c:
24007         * gst/gstinfo.c:
24008         * gst/gstpluginfeature.c:
24009           widen the debug category in output to fit the biggest one we have
24010           add a bus category and use it
24011           play with the colors
24012           fix up some categories
24013
24014 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24015
24016         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24017           add push activation of sink ghost pads.
24018           Andye, please verify
24019
24020 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24021
24022         * gst/gstutils.c: (gst_element_link_pads):
24023           fix a bug in the case where neither element has a pad
24024         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24025           add a test for that case
24026
24027 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24028
24029         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24030           emit have-data before checking for peers.  This allows
24031           for probe handlers to connect elements.  This helps autopluggers.
24032         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24033         (gst_pad_suite):
24034           add six checks, linked/unlinked with no/true/false probe
24035
24036 2005-10-04  Wim Taymans  <wim@fluendo.com>
24037
24038         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24039         (gst_fake_sink_event), (gst_fake_sink_preroll),
24040         (gst_fake_sink_render), (gst_fake_sink_change_state):
24041         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24042         (gst_fake_src_get_property), (gst_fake_src_create),
24043         (gst_fake_src_stop):
24044         * gst/elements/gstidentity.c: (gst_identity_stop):
24045         Protect last_message with lock.
24046
24047 2005-10-04  Edward Hervey  <edward@fluendo.com>
24048
24049         * gst/gstformat.h: 
24050         Added precision in the comments for GST_FORMAT_DEFAULT
24051
24052 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24053
24054         * tools/gst-launch.c: (main):
24055           Don't try to run erroneous pipelines.
24056
24057 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24058
24059         * gst/gstbus.c: We don't need this header.
24060
24061 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24062
24063         * configure.ac:
24064           back to development
24065
24066 === release 0.9.3 ===
24067
24068 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24069
24070         * README:
24071         * configure.ac:
24072           Releasing 0.9.3, "Unregistered"
24073
24074 2005-10-03  Andy Wingo  <wingo@pobox.com>
24075
24076         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24077         whereby calling a pad's activatepush() function can start a thread
24078         that starts to push or pull before the pad gets the FLUSHING flag
24079         unset. Hack around it by holding the stream lock until the flag is
24080         set. Need to replace this with a proper solution. Together with
24081         the ghost pad fixes, this fixes mp3 playing/tagreading.
24082
24083         * docs/design/part-gstghostpad.txt: Add a note about activation of
24084         proxy pads outside of ghost pads.
24085
24086         * gst/gstghostpad.c: Implement the ghost pad activation design.
24087
24088 2005-10-02  Andy Wingo  <wingo@pobox.com>
24089
24090         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24091         It is volatile, after all.
24092
24093         * docs/design/part-gstghostpad.txt: Flesh out activation with
24094         ghost pads.
24095
24096         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24097         GST_DEBUG_FUNCPTR.
24098
24099 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24100
24101         * configure.ac:
24102           Fix (unused) AM_CONDITIONAL tests.
24103
24104 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24105
24106         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24107
24108         * gst/gstutils.c: (gst_pad_query_convert):
24109           Add assertion that makes sure src_val is >=0, just like
24110           gst_query_new_convert() has. (#315895)
24111
24112 2005-09-30  Edward Hervey  <edward@fluendo.com>
24113
24114         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24115         Let's not iterate pads we're not interested in, it avoids getting 
24116         sky-high refcounts on sinkpad.
24117
24118 2005-09-30  Wim Taymans  <wim@fluendo.com>
24119
24120         * gst/gstelement.c: (gst_element_set_state),
24121         (gst_element_change_state):
24122         Small tweak, element in ASYNC remains ASYNC.
24123
24124 2005-09-30  Wim Taymans  <wim@fluendo.com>
24125
24126         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24127         Only error is an error.
24128
24129         * gst/gstbin.c: (gst_bin_change_state):
24130         Better debugging.
24131
24132         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24133         Also call pad_block in pad alloc.
24134
24135         * gst/gstutils.c: (gst_flow_get_name):
24136         Better debugging.
24137
24138 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24139
24140         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24141         (gst_base_src_get_range):
24142           Fix documentation typos. Add some more debug info.
24143
24144 2005-09-29  David Schleef  <ds@schleef.org>
24145
24146         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24147           more end-user friendly.
24148         * tools/gst-inspect.c: (main): Check if command-line argument is
24149           a file and attempt to load that file as a plugin.
24150
24151 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24152
24153         * check/gst/gstbin.c:
24154         * check/states/sinks.c:
24155           fix tests for the new warning
24156         * check/gst/gstpipeline.c:
24157           add a test for pipeline and bus interaction
24158         * gst/gstelement.c:
24159           elements should be NULL if they get disposed; add a warning if not
24160
24161 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24162
24163         * gst/gstobject.c:
24164           for 2.6 refcounting, make debug log more correct by printing
24165           the actual refcounts at the time of swap (Wim)
24166
24167 2005-09-29  Andy Wingo  <wingo@pobox.com>
24168
24169         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24170         removes signal watches previously added via
24171         gst_bus_add_signal_watch.
24172         (gst_bus_add_signal_watch): Don't return the source id, just store
24173         it on the bus if there wasn't an id already.
24174
24175         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24176         add_signal_watch and remove_signal_watch.
24177
24178 2005-09-29  Edward Hervey  <edward@fluendo.com>
24179
24180         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24181         Better if we actually iterate the list :)
24182
24183 2005-09-29  Wim Taymans  <wim@fluendo.com>
24184
24185         * check/gst/gstbin.c: (GST_START_TEST):
24186         Change for new bus API.
24187
24188         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24189         (send_messages), (GST_START_TEST), (gstbus_suite):
24190         Change for new bus signal API.
24191
24192         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24193         (gst_bus_source_prepare), (gst_bus_source_check),
24194         (gst_bus_create_watch), (gst_bus_add_watch_full),
24195         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24196         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24197         * gst/gstbus.h:
24198         Remove support for multiple GSources operating on different
24199         message types as it is too complex and unneeded when using
24200         signals.
24201         Added support for receiving signals from the bus.
24202
24203 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24204
24205         * docs/libs/tmpl/gstdataprotocol.sgml:
24206         * docs/manual/advanced-dataaccess.xml:
24207         * gst/elements/gstcapsfilter.c:
24208         * gst/gstutils.c:
24209           rename filter-caps to caps property
24210
24211 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24212
24213         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24214           More robust fraction string parsing.
24215
24216         * docs/pwg/appendix-porting.xml:
24217           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24218
24219 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24220
24221         * gst/gstcaps.c: (gst_caps_do_simplify):
24222           Thou shalt not free a structure and then continue using it
24223           in the next loop iteration.
24224
24225         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24226         (gst_caps_suite):
24227           Add test case for caps simplification.
24228
24229 2005-09-29  Wim Taymans  <wim@fluendo.com>
24230
24231         * check/gst/gstbin.c: (GST_START_TEST):
24232         Oops.
24233
24234 2005-09-29  Wim Taymans  <wim@fluendo.com>
24235
24236         * check/gst/gstbin.c: (GST_START_TEST):
24237         Add bus to bin.
24238
24239         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24240         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24241         (find_element), (gst_bin_sort_iterator_next),
24242         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24243         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24244         (gst_bin_change_state), (gst_bin_dispose):
24245         A bin does not have a bus, it gets the bus from the parent.
24246
24247         * gst/gstelement.c: (gst_element_requires_clock),
24248         (gst_element_provides_clock), (gst_element_is_indexable),
24249         (gst_element_is_locked_state), (gst_element_change_state),
24250         (gst_element_set_bus_func):
24251         Small cleanups.
24252
24253         * gst/gstpipeline.c: (gst_pipeline_class_init),
24254         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24255         The pipeline provides a bus.
24256
24257 2005-09-28  Johan Dahlin  <johan@gnome.org>
24258
24259         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24260         gst_structure_get_enum instead of gst_structure_get_int
24261
24262         * gst/gststructure.c (gst_structure_get_enum): Impl.
24263
24264         * gst/gststructure.h (gst_structure_get_enum): Add
24265
24266         * docs/gst/gstreamer-sections.txt: Ditto
24267
24268         * gst/gstmessage.c (gst_message_new_state_changed): Use
24269         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24270         which does introspection.
24271         Reviewed by Christian Schaller
24272
24273 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24274
24275         * gst/gstinfo.c: (gst_debug_log_default):
24276           don't do dummy g_strdup()s
24277         * libs/gst/controller/gstcontroller.c:
24278         (on_object_controlled_property_changed),
24279         (gst_controlled_property_new), (gst_controller_new_valist),
24280         (gst_controller_new_list),
24281         (gst_controller_remove_properties_valist), (gst_controller_set),
24282         (gst_controller_get), (gst_controller_sync_values),
24283         (gst_controller_get_value_array), (_gst_controller_class_init),
24284         (gst_controller_get_type):
24285         * libs/gst/controller/gstcontroller.h:
24286         * libs/gst/controller/gstinterpolation.c:
24287         (gst_controlled_property_find_timed_value_node):
24288           convert // to /**/ comments
24289
24290 2005-09-28  Wim Taymans  <wim@fluendo.com>
24291
24292         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24293         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24294         (gst_bus_sync_signal_handler):
24295         * gst/gstbus.h:
24296         Added async-message and sync-message signals to the bus.
24297         Added helper BusFunc to emit signals for all posted messages.
24298
24299         * gst/gstmessage.c: (gst_message_type_get_name),
24300         (gst_message_type_to_quark), (gst_message_get_type):
24301         * gst/gstmessage.h:
24302         Register quarks for message names.
24303
24304 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24305
24306         * docs/libs/gstreamer-libs-sections.txt:
24307         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24308         (gst_controller_new_list):
24309         * libs/gst/controller/gstcontroller.h:
24310           added another constructor for language bindings
24311
24312 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24313
24314         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24315           add another check
24316         * gst/gstbus.c:
24317           add some doc
24318         * gst/gstinfo.c: (_gst_debug_init):
24319           slightly more readable color for refcount debugging
24320
24321 2005-09-28  Wim Taymans  <wim@fluendo.com>
24322
24323         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24324         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24325         (find_element), (gst_bin_sort_iterator_next),
24326         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24327         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24328         (gst_bin_change_state), (gst_bin_dispose):
24329         Small doc fixes. get_clock -> provide_clock.
24330
24331         * gst/gstelement.c: (gst_element_class_init),
24332         (gst_element_provides_clock), (gst_element_provide_clock),
24333         (gst_element_get_clock), (gst_element_commit_state),
24334         (gst_element_lost_state):
24335         * gst/gstelement.h:
24336         Make get/set_clock() symetric. Add provide_clock vmethod since
24337         that is actually what this function does.
24338
24339         * gst/gstpipeline.c: (gst_pipeline_class_init),
24340         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24341         (gst_pipeline_get_clock):
24342         get_clock -> provide_clock.
24343
24344 2005-09-28  Andy Wingo  <wingo@pobox.com>
24345
24346         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24347         lieu of real docs...
24348
24349         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24350
24351 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24352
24353         * gst/elements/gstcapsfilter.c:
24354         * gst/elements/gstfakesink.c:
24355         * gst/elements/gstfakesrc.c:
24356         * gst/elements/gstfdsink.c:
24357         * gst/elements/gstfdsrc.c:
24358         * gst/elements/gstfilesink.c:
24359         * gst/elements/gstfilesrc.c:
24360         * gst/elements/gstidentity.c:
24361         * gst/elements/gsttee.c:
24362         * gst/elements/gsttypefindelement.c:
24363           Make element details static.
24364
24365 2005-09-28  Wim Taymans  <wim@fluendo.com>
24366
24367         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24368         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24369         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24370         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24371         (gst_bin_change_state), (gst_bin_dispose):
24372         Some documentation updates.
24373         Clean up dispose handlers.
24374
24375         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24376         * gst/gstpad.c: (gst_pad_dispose):
24377         Clean up dispose handler.
24378
24379         * gst/gstpipeline.c: (gst_pipeline_change_state):
24380         Removed spurious UNLOCK.
24381
24382 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24383
24384         * docs/gst/gstreamer-sections.txt:
24385         * gst/base/gstbasesrc.h:
24386         * gst/gstelement.h:
24387         * gst/gstevent.h:
24388         * gst/gstobject.h:
24389         * gst/gstpad.h:
24390         * gst/gstpipeline.c:
24391         * gst/gstpipeline.h:
24392         * gst/gstutils.h:
24393         * gst/gstxml.h:
24394           added two new functions to the docs
24395                 documents all undocumented GstXXXFlags
24396                 completed some incomplete docs 
24397
24398 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24399
24400         * gst/gstbin.c: (gst_bin_dispose):
24401         * gst/gstelement.c: (gst_element_dispose):
24402           remove now useless and leaky resurrection code in dispose
24403         * gst/base/gstbasesrc.c: (gst_base_src_init):
24404         * gst/gstelementfactory.c: (gst_element_factory_create):
24405         * gst/gstobject.c: (gst_object_set_parent):
24406           add some debugging
24407
24408 2005-09-27  Wim Taymans  <wim@fluendo.com>
24409
24410         * docs/design/part-TODO.txt:
24411         Update TODO.
24412
24413         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24414         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24415         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24416         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24417         (gst_bin_change_state):
24418         * gst/gstelement.h:
24419         Remove element variable, we keep element info in the iterator now.
24420
24421 2005-09-27  Andy Wingo  <wingo@pobox.com>
24422
24423         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24424         values.
24425
24426 2005-09-27  Wim Taymans  <wim@fluendo.com>
24427
24428         * check/gst/gstbin.c: (GST_START_TEST):
24429         Enable check that works now.
24430
24431         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24432         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24433         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24434         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24435         (gst_bin_change_state):
24436         * gst/gstbin.h:
24437         Redid the state change algorithm using a topological sort algo.
24438         Handles all cases correctly.
24439         Exposed iterator for state change order.
24440
24441         * gst/gstelement.h:
24442         Temp storage for state changes. Need to get rid of this soon.
24443
24444 2005-09-27  Wim Taymans  <wim@fluendo.com>
24445
24446         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24447         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24448         (link_fold_func), (gst_pad_proxy_setcaps):
24449         Leak fixes, the fold functions need to unref the passed object and
24450         _get_parent_*() returns ref to parent.
24451
24452 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24453
24454         * check/gst/gstbuffer.c: (test_make_writable):
24455           Plug leak in test case and fix 'make check-valgrind'
24456
24457 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24458
24459         * gst/gstbuffer.c: (gst_subbuffer_init):
24460           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24461           works correctly in all circumstances (we could have just copied
24462           the parent buffer's readonly flag, but conceptually it seems
24463           cleaner to mark all subbuffers as read-only). (based on patch
24464           by Alessandro Decina, #314710).
24465         
24466         * check/gst/gstbuffer.c: (create_read_only_buffer),
24467         (test_make_writable), (test_subbuffer_make_writable),
24468         (gst_test_suite):
24469           Add some tests for gst_buffer_make_writable().
24470
24471 2005-09-27  Wim Taymans  <wim@fluendo.com>
24472
24473         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24474         use gst_object_has_ancestor().
24475
24476         * gst/gstobject.c: (gst_object_has_ancestor):
24477         * gst/gstobject.h:
24478         gst_object_has_ancestor() copied from gstbin.c as it is a
24479         useful function.
24480
24481         * tests/instantiate/create.c: (create_all_elements):
24482         * tests/lat.c: (handoff_src), (handoff_sink):
24483         * tests/sched/runxml.c: (main):
24484         * tests/seeking/seeking1.c: (main):
24485         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24486         (main):
24487         Fix compilation of some tests.
24488
24489 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24490
24491         * gst/gsterror.h:
24492           Remove comment. GST_TYPE_G_ERROR is here to stay,
24493           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24494           (#316961, #300610).
24495
24496 2005-09-26  Wim Taymans  <wim@fluendo.com>
24497
24498         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24499         Added check that shows error in state change order.
24500
24501 2005-09-26  Wim Taymans  <wim@fluendo.com>
24502
24503         * gst/gstbin.c: (gst_bin_change_state):
24504         Make state change function use 3 queues again, we were
24505         adding elements in the wrong order.
24506
24507         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24508         Some debug info,
24509
24510         * gst/gstpad.c: (gst_pad_dispose):
24511         Added some debug info first.
24512
24513 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24514
24515         * docs/design/draft-push-pull.txt:
24516         * docs/design/part-events.txt:
24517         * docs/design/part-overview.txt:
24518         * docs/design/part-scheduling.txt:
24519           Replace all _pull_region() with _pull_range()
24520           
24521 2005-09-26  Andy Wingo  <wingo@pobox.com>
24522
24523         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24524
24525         * check/gst-libs/controller.c: Update for controller api change.
24526
24527         * configure.ac: 
24528         * tests/Makefile.am:
24529         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24530         over by GLib bug 118439.
24531         
24532         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24533         routines to a function.
24534
24535         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24536
24537         * libs/gst/controller/gsthelper.c:
24538         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24539         (gst_object_sync_values): Renamed from sink_values. Ugh.
24540
24541         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24542
24543         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24544         Renamed from controller_key, as it is exported.
24545
24546         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24547
24548 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24549
24550         * gst/Makefile.am:
24551         * gst/gst.h:
24552         * gst/gstpad.h:
24553         * gst/gstpadtemplate.h:
24554         * gst/gstquery.c:
24555         * gst/gstquery.h:
24556         * gst/gstqueryutils.c:
24557         * gst/gstqueryutils.h:
24558           remove queryutils headers after moving the two used functions
24559           to gstquery.  also fixes build problem for gstsiddec
24560
24561 2005-09-26  Michael Smith <msmith@fluendo.com>
24562
24563         * tools/gst-launch.1.in:
24564         Correct documentation in manpage of debug syntax
24565
24566 2005-09-26  Wim Taymans  <wim@fluendo.com>
24567
24568         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24569         (gst_base_src_is_seekable), (gst_base_src_change_state):
24570         Some more debugging info.
24571
24572 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24573
24574         * docs/gst/gstreamer-sections.txt:
24575         * gst/base/gstbasetransform.h:
24576         * gst/gstindex.h:
24577           added more docs
24578
24579 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24580
24581         * docs/gst/.cvsignore:
24582         * docs/gst/tmpl/.cvsignore:
24583         * docs/gst/tmpl/gstpipeline.sgml:
24584         * docs/gst/tmpl/gstplugin.sgml:
24585         * gst/gstpipeline.c:
24586         * gst/gstplugin.c:
24587         * gst/gstplugin.h:
24588           inlined the last two docs files
24589           removed the tmpl directory from cvs (no more conflicts here!)
24590
24591 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24592
24593         * docs/gst/gstreamer-sections.txt:
24594         * docs/gst/tmpl/.cvsignore:
24595         * docs/gst/tmpl/gstpad.sgml:
24596         * docs/gst/tmpl/gstpadtemplate.sgml:
24597         * gst/Makefile.am:
24598         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24599         (gst_pad_finalize), (gst_pad_set_pad_template):
24600         * gst/gstpad.h:
24601         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24602         (gst_pad_template_class_init), (gst_pad_template_init),
24603         (gst_pad_template_dispose), (name_is_valid),
24604         (gst_static_pad_template_get), (gst_pad_template_new),
24605         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24606         (gst_pad_template_pad_created):
24607         * gst/gstpadtemplate.h:
24608           inlined two more docs
24609           factored gstpadtemplate out of gstpad
24610
24611 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24612
24613         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24614         (test_children_state_change_order_semi_sink):
24615           Fix test case: we can't rely on a fixed state change order when
24616           going from READY => PAUSED because the sink might commit its 
24617           new state first when the first buffer created by the source 
24618           reaches the sink before the source has finished its change state.
24619           (Test case still fails at times, see #316856, comment 5 onwards)
24620
24621 2005-09-24  Wim Taymans  <wim@fluendo.com>
24622
24623         * docs/design/part-events.txt:
24624         * docs/design/part-gstbus.txt:
24625         * docs/design/part-gstpipeline.txt:
24626         * docs/design/part-messages.txt:
24627         * docs/design/part-overview.txt:
24628         * docs/design/part-segments.txt:
24629         * gst/gstbin.c:
24630         * gst/gstbuffer.c:
24631         * gst/gstclock.c:
24632         * gst/gstelement.c:
24633         * gst/gstevent.c:
24634         * gst/gstfilter.c:
24635         * gst/gstiterator.c:
24636         Various documentation updates.
24637
24638 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24639
24640         * gst/gstclock.h:
24641           Well, that's embarassing.  Luckily we weren't using
24642           GST_CLOCK_DIFF anywhere.
24643
24644 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24645
24646         * common/gtk-doc.mak:
24647           don't fail on building XML, FC4 slave shows a bunch of doc
24648           missing bits that I don't get
24649         * gst/gstpad.c:
24650         * gst/gstpipeline.c:
24651         * gst/gststructure.c:
24652           some doc updates
24653
24654 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24655
24656         * docs/design/part-gstbin.txt:
24657         * docs/design/part-gstbus.txt:
24658         * gst/gstbus.c:
24659           Add blurb about how the bus goes into flushing mode and
24660           drops all messages when its bin goes from READY into NULL 
24661           state.
24662
24663 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24664
24665         * docs/gst/gstreamer-sections.txt:
24666         * gst/gststructure.c: (gst_structure_get_clock_time):
24667         * gst/gststructure.h:
24668           add a method to get a GstClockTime out of a structure
24669
24670 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24671
24672         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24673         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24674           Added test to check state change order in bins (can still be made
24675           to fail here under heavy disk load; bails out with 'Push on pad
24676           fakesink:sink0, but it was not activated in push mode').
24677
24678         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24679           Fix state change order when there is only a semi sink (#316856)
24680
24681         * gst/gstbus.c: (gst_bus_class_init):
24682           Use _class_peek_parent(), not _class_ref(); fix docs to say
24683           'default main context' instead of 'mainloop' where that is
24684           what's meant.
24685
24686         * gst/gstelement.c: (gst_element_commit_state),
24687         (gst_element_set_state):
24688           Fix typos in debug messages
24689
24690 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24691
24692         * docs/README:
24693         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24694         * gst/gstpluginfeature.c:
24695         * gst/gstutils.c:
24696           various doc updates
24697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24698           change an assert into an error until it gets fixed properly
24699
24700 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24701
24702         * docs/gst/gstreamer-sections.txt:
24703         * docs/gst/tmpl/.cvsignore:
24704         * docs/gst/tmpl/gstelement.sgml:
24705         * docs/gst/tmpl/gstinfo.sgml:
24706         * docs/gst/tmpl/gstobject.sgml:
24707         * gst/gstelement.c:
24708         * gst/gstelement.h:
24709         * gst/gstinfo.c:
24710         * gst/gstinfo.h:
24711         * gst/gstobject.c: (gst_object_class_init):
24712         * gst/gstobject.h:
24713           inlined 3 more biiiig doc files and added some missing docs on the fly
24714
24715 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24716
24717         * check/gst/.cvsignore:
24718         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24719         * gst/gstregistryxml.c: (load_plugin),
24720         (gst_registry_xml_save_plugin):
24721           put back source in registry.  add checks for find_plugin.
24722         * testsuite/states/bin.c: (assert_state), (empty_bin),
24723         (test_adding_one_element), (main):
24724         * testsuite/states/locked.c: (main):
24725           some compile/run fixes
24726
24727 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24728
24729         * check/gst/gstvalue.c: (GST_START_TEST):
24730           fix leaks in the test itself
24731
24732 2005-09-22  Wim Taymans  <wim@fluendo.com>
24733
24734         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24735         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24736         (gst_base_sink_query):
24737         Prepare for more accurate position reporting and query
24738         handling.
24739
24740         * gst/gstelement.c: (gst_element_send_event),
24741         (gst_element_set_state):
24742         Add some comment.
24743
24744 2005-09-22  Wim Taymans  <wim@fluendo.com>
24745
24746         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24747         (gst_query_parse_segment):
24748         * gst/gstquery.h:
24749         More documentation.
24750         Add segment query for future use.
24751
24752 2005-09-22  Wim Taymans  <wim@fluendo.com>
24753
24754         * gst/gstbin.c: (gst_bin_add_func):
24755         Some more debug info.
24756
24757         * gst/gstelement.c: (gst_element_send_event):
24758         Simplify send_event
24759
24760         * gst/gstelement.h:
24761         Don't know how flags got broken.
24762
24763         * gst/gstquery.h:
24764         Added new query.
24765
24766 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24767
24768         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24769           Add simplistic test suite for GST_TYPE_DATE serialisation and
24770           deserialisation.
24771
24772 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24773
24774         * docs/gst/gstreamer-sections.txt:
24775         * gst/gststructure.c: (gst_structure_set_valist),
24776         (gst_structure_get_date):
24777         * gst/gststructure.h:
24778         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24779         (gst_date_copy), (gst_value_compare_date),
24780         (gst_value_serialize_date), (gst_value_deserialize_date),
24781         (gst_value_transform_date_string),
24782         (gst_value_transform_string_date), (_gst_value_initialize):
24783         * gst/gstvalue.h:
24784           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24785           bunch of utility functions along with a hack that checks that
24786           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24787           is required. Part of the grand scheme in #170777.
24788
24789 2005-09-22  Andy Wingo  <wingo@pobox.com>
24790
24791         * gst/gstconfig.h.in: Psych out gtk-doc.
24792
24793         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24794
24795         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24796
24797         * tools/gst-inspect.c (print_element_list): Plug some
24798         inconsequential leaks.
24799
24800         * gst/gstregistry.c (gst_registry_get_default): Doc.
24801
24802         * check/gst/gstplugin.c: 
24803         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24804         * gst/gstelementfactory.c (gst_element_factory_create): 
24805         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24806         refcount changes.
24807
24808         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24809         (gst_plugin_feature_load): Doc, don't eat refs.
24810
24811         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24812         (gst_plugin_list_free): Doc.
24813         (gst_plugin_load_file): Doc updates.
24814
24815         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24816         accessors returning refcounted objects, return a ref.
24817
24818         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24819         accessor for caps. IDEMPOTENCE. Oh yes.
24820
24821 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24822
24823         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24824
24825         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24826         (_gst_debug_register_funcptr):
24827           Add mutex to serialise access to the hash table with
24828           the function pointer => function name string mapping;
24829           make that hash table static scope (#316809).
24830
24831         * gst/registries/.cvsignore:
24832           Remove left-over file.
24833
24834 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24835
24836         * docs/pwg/appendix-porting.xml:
24837           And something about newsegment events and caps-on-buffers to
24838           the porting guide (feel free to improve).
24839
24840 2005-09-21  Andy Wingo  <wingo@pobox.com>
24841
24842         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24843         data and event probes on the same pad.
24844         (test_buffer_probe_once): Test that removing probes from within
24845         the probe functions works.
24846
24847 2005-09-21  Andy Wingo  <wingo@pobox.com>
24848
24849         * check/gst/gstutils.c: New file.
24850         (test_buffer_probe_n_times): A simple buffer probe test. More to
24851         come, foolios.
24852
24853         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24854         have-data::buffer, not have-data.
24855         (gst_pad_add_event_probe): Likewise for have-data::event.
24856         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24857         peer' isn't quite right yet though.
24858         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24859         (gst_pad_remove_data_probe): Change to take the guint handler_id
24860         as their arg, not the function+data, which is more glib-like.
24861
24862         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24863         the signal emission to indicate if the data is a buffer or an
24864         event.
24865         (gst_pad_get_type): Initialize buffer and event quarks.
24866         (gst_pad_class_init): have-data is now a detailed signal, yes it
24867         is.
24868
24869 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24870
24871         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24872         * gst/gstutils.c: (gst_util_set_value_from_string),
24873         (gst_util_set_object_arg):
24874           Don't put functional code in g_return_if_fail() or
24875           g_return_val_if_fail() statements, otherwise things will 
24876           break when G_DISABLE_CHECKS is defined during compilation.
24877
24878 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24879
24880         * docs/gst/tmpl/.cvsignore:
24881         * docs/gst/tmpl/gstvalue.sgml:
24882         * gst/gstvalue.c:
24883         * gst/gstvalue.h:
24884           inlied another one and added  some obvious docs
24885
24886 2005-09-21  Wim Taymans  <wim@fluendo.com>
24887
24888         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24889         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24890         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24891         (gst_fdsrc_get_property), (gst_fdsrc_create):
24892         * gst/elements/gstfdsrc.h:
24893         Properly implement fdsrc. Removed signal and timeout,
24894         better implemented somewhere else.
24895
24896 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24897
24898         * docs/gst/tmpl/.cvsignore:
24899         * docs/gst/tmpl/gstimplementsinterface.sgml:
24900         * gst/gstinterface.c:
24901           inlined more docs
24902
24903 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24904
24905         * docs/gst/gstreamer-sections.txt:
24906         * docs/gst/tmpl/.cvsignore:
24907         * docs/gst/tmpl/gstenumtypes.sgml:
24908           remove obsolete doc file
24909
24910 2005-09-21  David Schleef  <ds@schleef.org>
24911
24912         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24913         little beer, fix a little leak.
24914
24915 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24916
24917         * docs/gst/gstreamer-docs.sgml:
24918         * docs/gst/gstreamer-sections.txt:
24919         * docs/gst/tmpl/.cvsignore:
24920         * gst/Makefile.am:
24921         * gst/gst.h:
24922         * gst/gstbin.c:
24923         * gst/gstelement.h:
24924         * gst/gstindex.c: (gst_index_class_init):
24925         * gst/gstindex.h:
24926         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24927         (gst_index_factory_class_init), (gst_index_factory_init),
24928         (gst_index_factory_finalize), (gst_index_factory_new),
24929         (gst_index_factory_destroy), (gst_index_factory_find),
24930         (gst_index_factory_create), (gst_index_factory_make):
24931         * gst/gstindexfactory.h:
24932         * gst/gstpluginfeature.c:
24933         * gst/gstpluginfeature.h:
24934         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24935           more docs inlined, splitted gstindex.{c,h}
24936
24937 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24938
24939         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24940           fix a leak
24941
24942 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24943
24944         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24945           Set sync to FALSE by default.
24946
24947 2005-09-20  Wim Taymans  <wim@fluendo.com>
24948
24949         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24950         (gst_base_sink_init):
24951         Make sync property settable from subclass.
24952
24953         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24954         (gst_fake_sink_change_state):
24955         Set sync to FALSE by default.
24956
24957 2005-09-20  Wim Taymans  <wim@fluendo.com>
24958
24959         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24960         * tools/gst-launch.c: (main):
24961         The timeout handler should have lower priority than the source
24962         so we don't timeout before popping a message with 0 timeout.
24963         Dump error messages after failed state change.
24964
24965 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24966
24967         * tools/gst-inspect.c: (print_element_properties_info):
24968           Fix two typos.
24969
24970 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24971
24972         * check/gst/gstevent.c:
24973         * gst/elements/gstfakesink.c:
24974         * gst/elements/gstfakesink.h:
24975           remove the sync property from fakesink.
24976           has the side effect of setting sync TRUE
24977           for fakesink, which is a change.  Anyone who knows how
24978           to fix this nicely in a GObject-y way, feel free.
24979
24980 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24981
24982         * docs/gst/gstreamer-docs.sgml:
24983           remove probe refsection
24984
24985 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24986
24987         * check/Makefile.am:
24988           disable valgrinding the controller test again
24989         * docs/gst/gstreamer-sections.txt:
24990           update for api-changes
24991
24992 2005-09-20  Wim Taymans  <wim@fluendo.com>
24993
24994         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24995         (gst_base_sink_set_property), (gst_base_sink_get_property),
24996         (gst_base_sink_do_sync):
24997         * gst/base/gstbasesink.h:
24998         Added sync property to basesink to disable clock sync.
24999
25000 2005-09-20  Andy Wingo  <wingo@pobox.com>
25001
25002         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25003         eating the caller's refcount.
25004
25005         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
25006         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25007         refcount.
25008
25009         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25010         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25011         of GLib 2.8 public, so we can know which refcount to check in
25012         tests.
25013
25014         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25015         (gst_object_init): Only set the gst refcount if we're going ahead
25016         with the refcount hack.
25017
25018 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25019
25020         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25021         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25022           more leaks plumbed, added more debug-logging
25023         * gst/gstmacros.h:
25024           whitespace fix
25025
25026 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25027
25028         * gst/gstmessage.c:
25029           remove include of gstmemchunk.h
25030
25031 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25032
25033         * gst/gstclock.c: (_gst_clock_id_free):
25034           Commit from the Political Party For More Atomic CVS Commits,
25035           so that people don't waste too much of their day fishing
25036           out obvious leaks out of massive commits.
25037           Oh, and fix a pretty damn obvious leak in the memchunk
25038           removal code.
25039
25040 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25041
25042         * check/Makefile.am:
25043         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25044           plug mem-leak, re-add to valgrindable tests
25045
25046 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25047
25048         * gst/gstplugin.h:
25049           unbreak the build for those who have chronic arthritis
25050           and typing "make check" is just too taxing on the hands
25051
25052 2005-09-20  Andy Wingo  <wingo@pobox.com>
25053
25054         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25055         really want it out, you should fix plugins at the same time.
25056
25057 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25058
25059         * configure.ac:
25060         * docs/gst/gstreamer-sections.txt:
25061         * gst/gstobject.c:
25062           added missing symbols to api docs
25063           disable ref-count hack if we have glib >= 2.8
25064
25065 2005-09-19  David Schleef  <ds@schleef.org>
25066
25067         * docs/gst/Makefile.am: Ignore a few more internal headers
25068         * docs/gst/gstreamer-docs.sgml: Remove old sections
25069         * docs/gst/gstreamer-sections.txt: Remove old sections
25070         * docs/gst/tmpl/gstobject.sgml: update
25071         * docs/gst/tmpl/gstplugin.sgml: update
25072         * docs/gst/tmpl/gstpluginfeature.sgml: update
25073         * docs/random/ds/0.9-suggested-changes: update.
25074         * gst/Makefile.am: remove memchunk and trashstack, since they're
25075           not used.
25076         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25077         * gst/gst.h: don't include some headers
25078         * gst/gstchildproxy.c: add gstmarshal.h
25079         * gst/gstclock.c: Don't use memchunks
25080         * gst/gstminiobject.c: Add some docs
25081         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25082         * gst/gstobject.h: same
25083         * gst/gstplugin.c: include gstmacros.h
25084         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25085         * gst/gstquery.c: don't use memchunks
25086         * gst/gstregistry.c: rename gst_registry_deinit()
25087         * gst/gstregistry.h: same
25088
25089 2005-09-19  David Schleef  <ds@schleef.org>
25090
25091         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25092         * docs/libs/gstreamer-libs-sections.txt:
25093         * docs/libs/tmpl/gstgetbits.sgml:
25094         * docs/libs/tmpl/gstputbits.sgml:
25095
25096 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25097
25098         * win32/gstenumtypes.c:
25099         * win32/gstenumtypes.h:
25100           Update.
25101
25102 2005-09-19  Wim Taymans  <wim@fluendo.com>
25103
25104         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25105         Automatically PAUSE and RESUME a pipeline when a flushing seek
25106         is performed.
25107
25108 2005-09-19  Andy Wingo  <wingo@pobox.com>
25109
25110         * gst/gstregistry.h: Spacing fixen.
25111
25112 2005-09-19  Wim Taymans  <wim@fluendo.com>
25113
25114         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25115         Handle state change failure more correctly.
25116
25117 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25118
25119         * check/Makefile.am:
25120         * check/pipelines/cleanup.c: (run_pipeline):
25121         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25122         (GST_START_TEST):
25123           enable cleanup again after fixing the leak
25124         * docs/README:
25125           some more info on docs
25126
25127 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25128
25129         * check/Makefile.am:
25130           re-enable tests now that leaks are plugged
25131         * check/gst/gst.c:
25132         * check/gst/gstbin.c:
25133         * check/gst/gstpipeline.c:
25134           add some more tests while fixing leaks
25135         * common/check.mak:
25136           make sure binaries are uptodate when valgrinding/gdbing
25137         * gst/gst.c:
25138         * gst/gstelementfactory.c:
25139           remove a ref too many, and add a FIXME for when we get
25140           round to disposing of classes
25141         * gst/gstplugin.c:
25142           fix the refcounting when loading a plugin from a file and
25143           the code pretends that the pointer is the same even though
25144           of course it can change
25145         * gst/gstpluginfeature.c:
25146           unref plugins marked cached (a bit confusing as a name)
25147           as the docs state should be done
25148           various doc additions to explain refcounting
25149         * gst/gstregistry.c:
25150         * gst/gstregistryxml.c:
25151           debugging
25152
25153 2005-09-19  Wim Taymans  <wim@fluendo.com>
25154
25155         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25156         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25157         (send_messages), (GST_START_TEST), (gstbus_suite):
25158         * check/gst/gstpipeline.c: (GST_START_TEST):
25159         * check/pipelines/cleanup.c: (run_pipeline):
25160         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25161         (GST_START_TEST):
25162         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25163         (gst_bus_source_check), (gst_bus_source_dispatch),
25164         (gst_bus_create_watch), (gst_bus_add_watch_full),
25165         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25166         * gst/gstbus.h:
25167         * tools/gst-launch.c: (event_loop):
25168         * tools/gst-md5sum.c: (event_loop):
25169         GstBusHandler -> GstBusFunc, return value has the same meaning as
25170         any other GSource (FALSE == remove source).
25171         _add_watch() and _add_watch_full() now take a MessageType mask to
25172         only handle specific types of messages.
25173         _poll() returns the GstMessage instead of the message type to avoid
25174         race conditions.
25175         _have_pending() takes a MessageType mask now too.
25176         Added testsuite for multiple bus watches.
25177         Fix testsuites and applications for new bus API.
25178
25179 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25180
25181         * check/Makefile.am:
25182           mark a bunch of the tests as to fix until we fix them
25183
25184 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25185
25186         * common/check.mak:
25187           use GST_PLUGIN settings for valgrind tests as well, so we're
25188           valgrinding the correct thing
25189         * gst/gst.c: (init_post):
25190           plug another leak
25191
25192 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25193
25194         * gst/gst.c: (init_post), (gst_deinit):
25195         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25196         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25197         * gst/gstindex.c: (gst_index_factory_class_init),
25198         (gst_index_factory_finalize):
25199         * gst/gstobject.c: (gst_object_dispose):
25200         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25201         (gst_plugin_load_file), (gst_plugin_desc_free):
25202         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25203         (gst_plugin_feature_finalize):
25204         * gst/gstregistry.c: (gst_registry_class_init),
25205         (gst_registry_init), (gst_registry_finalize),
25206         (gst_registry_get_default), (gst_registry_deinit):
25207         * gst/gstregistry.h:
25208         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25209           various cleanups and memleak plugging.  make valgrind is happy now.
25210
25211 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25212
25213         * common/check.mak:
25214           add a check-valgrind target
25215
25216 2005-09-18  David Schleef  <ds@schleef.org>
25217
25218         * tools/gst-inspect.c: Revert the GOption code.
25219
25220 2005-09-17  David Schleef  <ds@schleef.org>
25221
25222         * check/Makefile.am: Fix environment variables.
25223         * check/gst/gstplugin.c: Fix for API changes.
25224         * tools/gst-inspect.c: Fix for API changes.
25225         * tools/gst-xmlinspect.c: Fix for API changes.
25226         * gst/gstelementfactory.c:
25227         * gst/gstplugin.c:
25228         * gst/gstplugin.h:
25229         * gst/gstpluginfeature.c:
25230         * gst/gstpluginfeature.h:
25231         * gst/gstregistry.c:
25232         * gst/gstregistry.h:
25233         * gst/gstregistryxml.c:
25234         * gst/gsttypefind.c:
25235         * gst/gsttypefindfactory.c:
25236         * gst/indexers/gstfileindex.c:
25237         * gst/indexers/gstmemindex.c:
25238         * gst/schedulers/Makefile.am:
25239           Change registry to keep track of both plugins and features,
25240           removing the feature tracking from plugins themselves.
25241
25242 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25243
25244         * check/Makefile.am:
25245         * tools/gst-register.1.in:
25246           remove gst-register
25247
25248 2005-09-15  David Schleef  <ds@schleef.org>
25249
25250         * check/gst/gstplugin.c:
25251         * gst/gstelementfactory.c:
25252         * gst/gstplugin.c:
25253         * gst/gstpluginfeature.c:
25254         * gst/gstregistry.c:
25255           Getting tired of debugging.  Disabled all the unreffing of
25256           plugins and features, which fixes the segfaults, but of
25257           course leaks like crazy.  At least playbin works.
25258
25259 2005-09-15  David Schleef  <ds@schleef.org>
25260
25261         * check/gst/gstplugin.c: (register_check_elements),
25262         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25263         More testing
25264         * gst/elements/gsttypefindelement.c: Fix refcounting.
25265         * gst/gsttypefind.c:
25266         * gst/gsttypefindfactory.c:
25267         * gst/gsttypefindfactory.h:
25268
25269 2005-09-15  David Schleef  <ds@schleef.org>
25270
25271         * gst/gstindex.c: get refcounting correct.
25272         * gst/gstregistry.c: Handle the case where a feature/plugin is
25273           not found.
25274
25275 2005-09-15  David Schleef  <ds@schleef.org>
25276
25277         * check/Makefile.am:
25278         * check/gst/gstplugin.c: Add test
25279         * gst/gstplugin.c: Fix problems noticed by testsuite
25280         * gst/gstplugin.h:
25281         * gst/gstregistry.c: 
25282         * gst/gstregistry.h:
25283
25284 2005-09-15  David Schleef  <ds@schleef.org>
25285
25286         * gst/gstplugin.c: Implement semi-decent recounting and locking
25287           in plugins and plugin features.
25288         * gst/gstplugin.h:
25289         * gst/gstpluginfeature.c:
25290         * gst/gstpluginfeature.h:
25291         * gst/gstregistry.c:
25292
25293 2005-09-15  Michael Smith <msmith@fluendo.com>
25294
25295         * gst/gstregistry.c: (gst_registry_get_feature_list):
25296           Implement this. Makes oggdemux work; decodebin still broken.
25297
25298 2005-09-14  David Schleef  <ds@schleef.org>
25299
25300         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25301           #316076)
25302         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25303         * gst/check/Makefile.am:
25304         * libs/gst/controller/Makefile.am:
25305         * libs/gst/dataprotocol/Makefile.am:
25306
25307 2005-09-14  David Schleef  <ds@schleef.org>
25308
25309         * configure.ac: Remove getbits library.  Nothing uses it, and
25310           it should be in something like liboil if someone did want
25311           to use it.
25312         * libs/gst/Makefile.am:
25313         * libs/gst/getbits/Makefile.am:
25314         * libs/gst/getbits/gbtest.c:
25315         * libs/gst/getbits/getbits.c:
25316         * libs/gst/getbits/getbits.h:
25317         * libs/gst/getbits/gstgetbits_generic.c:
25318         * libs/gst/getbits/gstgetbits_i386.s:
25319         * libs/gst/getbits/gstgetbits_inl.h:
25320
25321 2005-09-14  David Schleef  <ds@schleef.org>
25322
25323         * gst/Makefile.am: Dist glib-compat.h
25324
25325 2005-09-14  David Schleef  <ds@schleef.org>
25326
25327         * configure.ac: Remove gst/registries, since it's no longer used.
25328         * gst/registries/Makefile.am:
25329         * gst/registries/gstlibxmlregistry.c:
25330         * gst/registries/gstlibxmlregistry.h:
25331         * gst/registries/gstxmlregistry.c:
25332         * gst/registries/gstxmlregistry.h:
25333         * gst/registries/registrytest.c:
25334
25335 2005-09-14  David Schleef  <ds@schleef.org>
25336
25337         * gst/glib-compat.h:
25338         * gst/gstregistryxml.c:
25339           Convergence is near.  Seriously.
25340
25341 2005-09-14  David Schleef  <ds@schleef.org>
25342
25343         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25344         * gst/glib-compat.h:
25345           Attempt #4 to appease the buildbots.
25346
25347 2005-09-14  David Schleef  <ds@schleef.org>
25348
25349         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25350           Attempt #3.
25351
25352 2005-09-14  David Schleef  <ds@schleef.org>
25353
25354         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25355         Attempt #2.
25356
25357 2005-09-14  David Schleef  <ds@schleef.org>
25358
25359         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25360           the new functions.
25361
25362 2005-09-14  David Schleef  <ds@schleef.org>
25363
25364         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25365         * gst/glib-compat.h: Add some functions that are in newer versions
25366           of glib than we care to require.
25367         * gst/gstregistryxml.c: Use them.
25368
25369 2005-09-14  David Schleef  <ds@schleef.org>
25370
25371         * po/POTFILES.in: remove gst-register.c
25372
25373 2005-09-14  David Schleef  <ds@schleef.org>
25374
25375         * docs/gst/gstreamer-docs.sgml:
25376         * docs/gst/gstreamer-sections.txt:
25377         * docs/gst/gstreamer.types:
25378         * docs/gst/tmpl/gstelement.sgml:
25379         * docs/gst/tmpl/gstplugin.sgml:
25380         * docs/gst/tmpl/gstpluginfeature.sgml:
25381           Documentation updates for registry changes.
25382
25383 2005-09-14  David Schleef  <ds@schleef.org>
25384
25385         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25386           because we don't require glib-2.8.
25387
25388 2005-09-14  David Schleef  <ds@schleef.org>
25389
25390         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25391           registries directory.
25392
25393 2005-09-14  David Schleef  <ds@schleef.org>
25394
25395         * check/Makefile.am:
25396         * check/generic/states.c:
25397         * gst/Makefile.am:
25398         * gst/gst.c:
25399         * gst/gst.h:
25400         * gst/gst_private.h:
25401         * gst/gstelementfactory.c:
25402         * gst/gstindex.c:
25403         * gst/gstinfo.c:
25404         * gst/gstplugin.c:
25405         * gst/gstplugin.h:
25406         * gst/gstpluginfeature.c:
25407         * gst/gstpluginfeature.h:
25408         * gst/gstregistry.c:
25409         * gst/gstregistry.h:
25410         * gst/gstregistrypool.c: remove
25411         * gst/gstregistrypool.h: remove
25412         * gst/gsttypefind.c:
25413         * gst/gsttypefindfactory.c:
25414         * gst/gsturi.c:
25415         * tools/Makefile.am:
25416         * tools/gst-compprep.c:
25417         * tools/gst-inspect.c:
25418         * tools/gst-register.c: remove
25419         * tools/gst-xmlinspect.c:
25420           Registry rewrite.  Changes registry from being a file created
25421           by a tool into a simple cache file created automatically by 
25422           libgstreamer.  Removed gst-register (because it's no longer
25423           needed).  Remove registry pools, because we only have one
25424           registry implementation (XML).  Fix up other subsystems as
25425           necessary.
25426
25427 2005-09-13  Michael Smith <msmith@fluendo.com>
25428
25429         * gst/gstconfig.h.in:
25430           Don't Use windows linking attributes for MinGW. Fixes #316157
25431
25432 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25433
25434         * gst/gstutils.c: (set_state_async_thread_func),
25435         (gst_element_set_state_async):
25436           Apparently people think it's better if this function doesn't
25437           try to set the state to whatever state was asked for on the first
25438           call to this function for any object.  Seriously.
25439
25440 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25441
25442         * check/gst/gstpipeline.c: (GST_START_TEST):
25443         * docs/gst/gstreamer-sections.txt:
25444         * gst/gstutils.c: (set_state_async_thread_func),
25445         (gst_element_set_state_async):
25446         * gst/gstutils.h:
25447           add a "gst_element_set_state_async" method that
25448           sets the state and starts a thread to make sure the state
25449           change completes as best as it can
25450
25451 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25452
25453         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25454           codify design+behaviour in testsuite after discussion
25455
25456 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25457
25458         * docs/gst/tmpl/gstelement.sgml:
25459         * docs/manual/appendix-quotes.xml:
25460           add a quote
25461         * gst/gstelement.c: (gst_element_set_state):
25462           add some debug
25463
25464 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25465
25466         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25467         (gst_base_transform_prepare_output_buf),
25468         (gst_base_transform_handle_buffer):
25469         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25470         (gst_capsfilter_prepare_buf):
25471           Remove the requirement for sub-classes to call the parent
25472           implementation of prepare_output_buffer with a wrapper function.
25473           
25474         * gst/gsttaglist.h:
25475         * gst/gsttagsetter.h:
25476           Fix #define wrapper
25477
25478 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25479
25480         * docs/gst/gstreamer-sections.txt:
25481           more doc cleanups
25482
25483 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25484
25485         * docs/gst/gstreamer-sections.txt:
25486         * docs/gst/tmpl/gstelement.sgml:
25487         * docs/gst/tmpl/gstplugin.sgml:
25488         * gst/gstminiobject.c:
25489         * gst/gstvalue.h:
25490           docs now stop throwing warnings
25491
25492 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25493
25494         * docs/gst/gstreamer-sections.txt:
25495         * docs/gst/gstreamer.types:
25496         * docs/gst/tmpl/gstpad.sgml:
25497         * docs/gst/tmpl/gsttypes.sgml:
25498         * gst/base/gstadapter.h:
25499         * gst/base/gstbasesink.h:
25500         * gst/base/gstbasesrc.h:
25501         * gst/gstbin.h:
25502         * gst/gstbuffer.h:
25503         * gst/gstbus.h:
25504         * gst/gstcaps.h:
25505         * gst/gstclock.h:
25506         * gst/gstelement.h:
25507         * gst/gstevent.h:
25508         * gst/gstmessage.h:
25509         * gst/gstpad.h:
25510         * gst/gststructure.c:
25511         * gst/registries/gstlibxmlregistry.h:
25512           various documentation fixes
25513
25514 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25515
25516         * docs/gst/gstreamer-sections.txt:
25517         * docs/gst/tmpl/gstvalue.sgml:
25518           rearrange gstvalue section
25519         * gst/gstutils.c: (gst_element_state_get_name):
25520           NONE -> VOID
25521         * gst/gstvalue.c: (_gst_value_initialize):
25522         * gst/gstvalue.h:
25523           doc updates
25524
25525 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25526
25527         * check/gst-libs/controller.c:
25528           Header include fix.
25529         * gst/base/gstbasetransform.c:
25530         (gst_base_transform_default_prepare_buf),
25531         (gst_base_transform_handle_buffer):
25532         * gst/base/gstbasetransform.h:
25533           Some more basetransform changes and fixes to enable sub-classes
25534           that modify buffer metadata only.
25535         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25536         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25537         (gst_capsfilter_prepare_buf):
25538           If the output pad has fixed allowed caps and input buffers 
25539           don't have any, set the fixed caps on outgoing buffers.
25540
25541 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25542         * check/elements/identity.c: (GST_START_TEST):
25543           Make the error a little clearer when the test fails because
25544           identity made a copy of the buffer.
25545         * docs/gst/gstreamer-sections.txt:
25546           New symbols in gstbasetransform.h
25547         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25548         (gst_base_transform_init), (gst_base_transform_transform_size),
25549         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25550         (gst_base_transform_default_prepare_buf),
25551         (gst_base_transform_get_unit_size),
25552         (gst_base_transform_buffer_alloc),
25553         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25554         (gst_base_transform_change_state),
25555         (gst_base_transform_set_passthrough),
25556         (gst_base_transform_set_in_place),
25557         (gst_base_transform_is_in_place):
25558         * gst/base/gstbasetransform.h:
25559           Change BaseTransform to separate in_place operate from same_caps
25560           output. in_place implies that the element can perform the transform
25561           on incoming buffers in-place, even if the caps on the output are
25562           different.
25563           Sub-class elements can now implement special buffer allocation
25564           methods for outgoing buffers if they wish to.
25565           Big documentation addition.
25566         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25567         * gst/elements/gstelements.c:
25568           Changes for basetransform modifications.
25569         * gst/elements/Makefile.am:
25570         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25571           Compile fix. Extra debug output.
25572
25573 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25574
25575         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25576         (gst_pad_suite):
25577           add tests for valid pad naming
25578         * gst/check/gstcheck.c: (gst_check_log_message_func),
25579         (gst_check_log_critical_func):
25580           add ASSERT_WARNING
25581           remove printing of code, it is fragile when the code contains
25582           % and the line number is enough info
25583         * gst/check/gstcheck.h:
25584         * gst/gstpad.c: (gst_pad_template_new):
25585           fix memleaks
25586
25587 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25588
25589         * configure.ac:
25590           say what CHECK flags we use
25591         * docs/libs/gstreamer-libs.types:
25592         * libs/gst/controller/Makefile.am:
25593         * libs/gst/controller/gst-controller.c:
25594         * libs/gst/controller/gst-controller.h:
25595         * libs/gst/controller/gst-helper.c:
25596         * libs/gst/controller/gst-interpolation.c:
25597         * libs/gst/controller/gstcontroller.c:
25598         * libs/gst/controller/gsthelper.c:
25599         * libs/gst/controller/gstinterpolation.c:
25600         * tools/gst-inspect.c: (print_plugin_info):
25601           we don't use dashes in header names
25602
25603 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25604
25605         * check/Makefile.am:
25606         * check/gst/.cvsignore:
25607         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25608         (gst_pipeline_suite), (main):
25609           adding a test for pipelines and state changes
25610         * gst/gstutils.c: (get_state_func):
25611           add some debugging
25612         * gstreamer.spec.in:
25613           fix up spec file
25614
25615 2005-09-08  Michael Smith <msmith@fluendo.com>
25616
25617         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25618         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25619         (gst_file_src_is_seekable), (gst_file_src_get_size),
25620         (gst_file_src_start):
25621         * gst/elements/gstfilesrc.h:
25622           Various fixes for unseekable, unmmapable, and non-normal files, so
25623           that fallback to read() rather than mmap() works.
25624         * gst/gstevent.c: (gst_event_new_newsegment):
25625           Allow newsegment events with segment_start == segment_end, as will
25626           correctly happen if you use filesrc on a zero-size file, for
25627           example.
25628
25629 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25630
25631         * gst/gstplugin.c: (gst_plugin_load_file):
25632           Call g_module_close when we don't load the module
25633
25634         * gst/registries/gstlibxmlregistry.c:
25635         (gst_xml_registry_get_property):
25636           Port leak fix from 0.8
25637
25638 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25639
25640         * docs/gst/gstreamer-docs.sgml:
25641         * docs/gst/tmpl/.cvsignore:
25642         * docs/gst/tmpl/gsttrace.sgml:
25643         * docs/gst/tmpl/gsttrashstack.sgml:
25644         * gst/Makefile.am:
25645         * gst/gst.h:
25646         * gst/gstelement.h:
25647         * gst/gstevent.h:
25648         * gst/gstmessage.c:
25649         * gst/gstmessage.h:
25650         * gst/gsttag.c:
25651         * gst/gsttag.h:
25652         * gst/gsttaginterface.c:
25653         * gst/gsttaginterface.h:
25654         * gst/gsttaglist.c:
25655         * gst/gsttaglist.h:
25656         * gst/gsttagsetter.c:
25657         * gst/gsttagsetter.h:
25658         * gst/gsttrace.c:
25659         * gst/gsttrace.h:
25660         * gst/gsttrashstack.c:
25661           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25662           inlined docs for gsttrace, gsttrashstack
25663
25664 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25665
25666         * gst/Makefile.am:
25667         * gst/elements/gstbufferstore.h:
25668         * gst/elements/gsttypefindelement.c:
25669         * gst/elements/gsttypefindelement.h:
25670         * gst/gst.h:
25671         * gst/gsttypefind.c:
25672         * gst/gsttypefind.h:
25673         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25674         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25675         (gst_type_find_factory_dispose),
25676         (gst_type_find_factory_unload_thyself),
25677         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25678         (gst_type_find_factory_get_caps),
25679         (gst_type_find_factory_get_extensions),
25680         (gst_type_find_factory_call_function):
25681         * gst/gsttypefindfactory.h:
25682         * gst/registries/gstlibxmlregistry.c:
25683         * gst/registries/gstxmlregistry.c:
25684           splitted gsttypefind into gsttypefind, gsttypefindfactory
25685
25686 2005-09-07  Andy Wingo  <wingo@pobox.com>
25687
25688         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25689         condition whereby the pad's task function is entered before the
25690         pad_mode variable was set.
25691
25692 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25693
25694         * gst/gstpad.c: (gst_pad_alloc_buffer):
25695           Catch misbehaving pad_alloc functions that don't
25696           set up caps and do it for them.
25697
25698 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25699
25700         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25701           test for pipe!=NULL
25702         * docs/gst/tmpl/.cvsignore:
25703         * docs/gst/tmpl/gstmemchunk.sgml:
25704         * docs/gst/tmpl/gstparse.sgml:
25705         * docs/gst/tmpl/gsttaglist.sgml:
25706         * docs/gst/tmpl/gsttagsetter.sgml:
25707         * docs/gst/tmpl/gsttypefind.sgml:
25708         * docs/gst/tmpl/gsttypefindfactory.sgml:
25709         * gst/gstmemchunk.c:
25710         * gst/gstparse.c:
25711         * gst/gsttag.c:
25712         * gst/gsttaginterface.c:
25713         * gst/gsttypefind.c:
25714         * gst/gsttypefind.h:
25715           inlined more docs
25716
25717 === release 0.9.2 ===
25718
25719 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25720
25721         * NEWS:
25722         * RELEASE:
25723         * configure.ac:
25724           releasing 0.9.2, "South"
25725
25726 2005-09-05  Andy Wingo  <wingo@pobox.com>
25727
25728         * gst/registries/gstxmlregistry.h:
25729         * gst/registries/gstxmlregistry.c: Um... resurrect...
25730         
25731         * gst/registries/gstxmlregistry.h:
25732         * gst/registries/gstxmlregistry.c: and update to newer API.
25733         Incidentally they should be a bit faster now that they don't have
25734         to parse the caps.
25735         
25736 2005-09-05  Andy Wingo  <wingo@pobox.com>
25737
25738         * gst/registries/gstxmlregistry.h:
25739         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25740         replaced by the libxml registry a while back
25741
25742 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25743
25744         * docs/gst/tmpl/gstplugin.sgml:
25745         * gst/elements/gstelements.c:
25746         * gst/gst.c:
25747         * gst/gstplugin.c: (gst_plugin_register_func),
25748         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25749         (gst_plugin_get_source):
25750         * gst/gstplugin.h:
25751         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25752         (gst_xml_registry_save_plugin):
25753         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25754         (gst_xml_registry_save_plugin):
25755         * tools/gst-inspect.c: (print_plugin_info):
25756           add a "source" plugin description field, to represent the source
25757           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25758           will set it to PACKAGE, which is automake's idea of the name of
25759           the source project.
25760
25761 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25762
25763         * Makefile.am:
25764         * autogen.sh:
25765         * configure.ac:
25766         * docs/Makefile.am:
25767         * docs/faq/Makefile.am:
25768         * docs/gst/tmpl/gstelement.sgml:
25769         * docs/gst/tmpl/gsttypes.sgml:
25770         * docs/htmlinstall.mak:
25771         * docs/manual/Makefile.am:
25772         * docs/pwg/Makefile.am:
25773           reorganize doc build a little
25774           split out docbook and gtk-doc stuff
25775           have two separate --enable's and enable them through autogen
25776           but disable by default in configure (to be similar to other
25777           projects)
25778         * gstreamer.spec.in:
25779           clean up docs install
25780         * po/af.po:
25781         * po/az.po:
25782         * po/ca.po:
25783         * po/cs.po:
25784         * po/de.po:
25785         * po/en_GB.po:
25786         * po/fr.po:
25787         * po/it.po:
25788         * po/nb.po:
25789         * po/nl.po:
25790         * po/ru.po:
25791         * po/sq.po:
25792         * po/sr.po:
25793         * po/sv.po:
25794         * po/tr.po:
25795         * po/uk.po:
25796         * po/vi.po:
25797           translation updates
25798
25799 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25800
25801         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25802           Add comment.
25803           
25804         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25805         (gst_fake_sink_change_state):
25806           Make state change function thread-safe.
25807           
25808         * gst/gstpad.c: (gst_pad_alloc_buffer):
25809           Set offset on generic buffer allocated by fallback.
25810
25811 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25812
25813         * docs/gst/gstreamer-sections.txt:
25814         * docs/gst/tmpl/gstelement.sgml:
25815         * gst/gstpad.c:
25816         * libs/gst/controller/gst-controller.c:
25817         (gst_controlled_property_set_interpolation_mode),
25818         (gst_controlled_property_new),
25819         (gst_controller_find_controlled_property):
25820          run the wingo-magic script against the docs
25821
25822 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25823
25824         * docs/gst/gstreamer-docs.sgml:
25825         * docs/gst/gstreamer-sections.txt:
25826         * docs/gst/tmpl/.cvsignore:
25827         * docs/gst/tmpl/gstelementdetails.sgml:
25828         * docs/gst/tmpl/gstelementfactory.sgml:
25829         * gst/gst.c:
25830         * gst/gstbus.c:
25831         * gst/gstelementfactory.c:
25832         * gst/gstelementfactory.h:
25833           merged elementdetails docs into elementfactory docs
25834           inlined both
25835
25836 2005-09-02  Andy Wingo  <wingo@pobox.com>
25837
25838         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25839         consider this enum an enum and not a flags.
25840
25841 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25842
25843         * docs/gst/gstreamer-docs.sgml:
25844         * docs/gst/tmpl/.cvsignore:
25845         * docs/gst/tmpl/gstghostpad.sgml:
25846         * docs/gst/tmpl/gstiterator.sgml:
25847         * docs/gst/tmpl/gstmacros.sgml:
25848         * docs/gst/tmpl/gstrealpad.sgml:
25849         * docs/gst/tmpl/gstregistry.sgml:
25850         * docs/gst/tmpl/gstregistrypool.sgml:
25851         * docs/gst/tmpl/gststructure.sgml:
25852         * docs/gst/tmpl/gstsystemclock.sgml:
25853         * docs/gst/tmpl/gsttrace.sgml:
25854         * gst/gstghostpad.c:
25855         * gst/gstmacros.h:
25856         * gst/gstmemchunk.c:
25857         * gst/gstmemchunk.h:
25858         * gst/gstqueue.c:
25859         * gst/gstregistry.c:
25860         * gst/gstregistrypool.c:
25861         * gst/gststructure.c:
25862         * gst/gstsystemclock.c:
25863           more docs inlined
25864
25865 2005-09-02  Andy Wingo  <wingo@pobox.com>
25866
25867         * gst/gstelement.h (GstState): Renamed from GstElementState,
25868         changed to be a normal enum instead of flags.
25869         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25870         munged to be GST_STATE_CHANGE_*.
25871         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25872         work with the new state representation.
25873         (GstStateChange): New enumeration of possible state transitions.
25874         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25875         (GstElementClass::change_state): Pass the GstStateChange along as
25876         an argument. Helps language bindings, so they don't have to use
25877         tricky lock-needing macros like GST_STATE_CHANGE ().
25878
25879         * scripts/update-states (file): New script. Run it on a file to
25880         update it for state naming and API changes. Updates files in
25881         place.
25882
25883         * All files updated for the new API.
25884
25885 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25886
25887         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25888         * gst/gstutils.c: (gst_util_set_value_from_string),
25889         (gst_util_set_object_arg):
25890           fix a bunch of unchecked return values
25891         * tools/gst-complete.c: (main):
25892         * gstreamer.spec.in:
25893           clean up a little
25894
25895 2005-09-01  Wim Taymans  <wim@fluendo.com>
25896
25897         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25898         (gst_base_sink_event), (gst_base_sink_do_sync),
25899         (gst_base_sink_handle_event):
25900         * gst/base/gstbasesink.h:
25901         Handle newsegments more correctly.
25902
25903         * gst/gstbus.c:
25904         Fix docs.
25905
25906         * gst/gstevent.c: (gst_event_new_newsegment):
25907         A newsegment cannot have a start_time of -1
25908
25909 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25910
25911         * win32/gstenumtypes.c:
25912         * win32/gstenumtypes.h:
25913           Update
25914
25915 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25916
25917         * libs/gst/controller/gst-controller.c:
25918         (gst_controlled_property_set_interpolation_mode),
25919         (gst_controlled_property_new):
25920          fixed boolean again
25921
25922 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25923
25924         * docs/faq/gst-uninstalled:
25925           add -good
25926         * gst/gstevent.c:
25927         * gst/gstevent.h:
25928           remove wrong docs
25929         * gst/gstutils.c: (gst_element_link_filtered):
25930         * gst/gstutils.h:
25931           add gst_element_link_filtered
25932
25933 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25934
25935         * docs/gst/gstreamer-docs.sgml:
25936         * docs/gst/gstreamer-sections.txt:
25937         * docs/gst/tmpl/.cvsignore:
25938         * docs/gst/tmpl/gsterror.sgml:
25939         * docs/gst/tmpl/gstfilter.sgml:
25940         * docs/gst/tmpl/gsturihandler.sgml:
25941         * docs/gst/tmpl/gsturitype.sgml:
25942         * docs/gst/tmpl/gstutils.sgml:
25943         * docs/gst/tmpl/gstxml.sgml:
25944         * gst/gsterror.c:
25945         * gst/gsterror.h:
25946         * gst/gstfilter.c:
25947         * gst/gsturi.c:
25948         * gst/gsturitype.c:
25949         * gst/gstutils.c:
25950         * gst/gstxml.c:
25951           inlined more docs, fixed double id-ref
25952
25953 2005-08-31  Wim Taymans  <wim@fluendo.com>
25954
25955         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25956         (gst_base_transform_handle_buffer):
25957         Passthrough elements don't need the caps as they don't care.
25958
25959 2005-08-31  Wim Taymans  <wim@fluendo.com>
25960
25961         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25962         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25963         Don't leak refcounts on buffers.
25964
25965 2005-08-31  Wim Taymans  <wim@fluendo.com>
25966
25967         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25968         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25969         (gst_base_transform_chain), (gst_base_transform_change_state):
25970         * gst/base/gstbasetransform.h:
25971         Handle the case where we are not negotiated more gracefully.
25972
25973 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25974
25975         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25976         (gst_file_src_map_region):
25977           Set READONLY flag on mmap'ed buffers, otherwise
25978           gst_buffer_make_writable() won't work properly (#314708).
25979
25980 2005-08-31  Wim Taymans  <wim@fluendo.com>
25981
25982         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25983         passthrough elements can even do inplace on non writable
25984         buffers (as they don't touch them).
25985
25986 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25987
25988         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25989         (gst_test_mono_source_set_property),
25990         (gst_test_mono_source_class_init), (GST_START_TEST),
25991         (gst_controller_suite):
25992           more tests (hehe I have the most)
25993         * gst/gstbus.c:
25994           describe popping messages whenusing mulltiple sources
25995         * libs/gst/controller/gst-controller.c:
25996         (gst_controlled_property_set_interpolation_mode),
25997         (gst_controlled_property_new):
25998         * libs/gst/controller/gst-controller.h:
25999         * libs/gst/controller/gst-interpolation.c:
26000           implement boolean properties
26001
26002 2005-08-31  Wim Taymans  <wim@fluendo.com>
26003
26004         * gst/gstminiobject.c: (gst_mini_object_ref):
26005         Cannot assert that the refcount has to be positive
26006         since a disposed object can be resurrected.
26007
26008 2005-08-31  Wim Taymans  <wim@fluendo.com>
26009
26010         * gst/gstpad.c: (gst_pad_init):
26011         Revert change, need to first fix badly behaving 
26012         apps.
26013
26014 2005-08-30  Wim Taymans  <wim@fluendo.com>
26015
26016         * check/elements/fakesrc.c: (setup_fakesrc):
26017         * check/elements/identity.c: (setup_identity):
26018         Activate pads before using them.
26019
26020 2005-08-30  Wim Taymans  <wim@fluendo.com>
26021
26022         * gst/base/gstadapter.c: (gst_adapter_flush):
26023         Flushing out 0 bytes is ok for this function.
26024
26025         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26026         no newsegment gives a warning and sets the start/stop to 
26027         invalid.
26028
26029         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26030         (gst_base_transform_set_passthrough):
26031         Some debug info.
26032
26033         * gst/gstminiobject.c: (gst_mini_object_ref):
26034         Check refcount here too.
26035
26036         * gst/gstpad.c: (gst_pad_init):
26037         Pads are initially flushing and refusing data.
26038
26039         * gst/gstutils.c: (gst_element_link_pads_filtered):
26040         When adding a capsfilter element make sure it has the
26041         same state as the parent bin.
26042
26043 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26044
26045         * docs/gst/tmpl/.cvsignore:
26046         * docs/gst/tmpl/gstformat.sgml:
26047         * docs/gst/tmpl/gstversion.sgml:
26048         * gst/gstbus.h:
26049         * gst/gstformat.c:
26050         * gst/gstformat.h:
26051         * gst/gstversion.h.in:
26052           more docs and two more inlined
26053
26054 2005-08-30  Wim Taymans  <wim@fluendo.com>
26055
26056         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26057         Don't sync to clock.
26058
26059 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26060
26061         * docs/gst/gstreamer-sections.txt:
26062           ultral33t func10ns deserve to appear in the docs actually
26063         * docs/gst/tmpl/.cvsignore:
26064         * docs/gst/tmpl/gstcompat.sgml:
26065         * docs/gst/tmpl/gstconfig.sgml:
26066         * gst/check/gstcheck.c:
26067         * gst/gstcompat.h:
26068         * gst/gstconfig.h.in:
26069           inlined more docs
26070
26071 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26072
26073         * docs/gst/tmpl/.cvsignore:
26074         * docs/gst/tmpl/gstquery.sgml:
26075         * docs/gst/tmpl/gstutils.sgml:
26076         * gst/gstquery.c:
26077         * gst/gstquery.h:
26078           inlined and extended docs
26079
26080 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26081
26082         * check/gst-libs/controller.c: (GST_START_TEST),
26083         (gst_controller_suite):
26084           more tests
26085         * docs/gst/tmpl/gstutils.sgml:
26086         * docs/libs/gstreamer-libs-sections.txt:
26087         * docs/libs/tmpl/gstdataprotocol.sgml:
26088           include path fixes
26089         * examples/controller/audio-example.c: (main):
26090           controller example works now
26091         * gst/gstclock.h:
26092           doc fixes
26093         * tools/gst-inspect.c: (print_element_properties_info):
26094           show param spec flags
26095
26096 2005-08-29  Andy Wingo  <wingo@pobox.com>
26097
26098         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26099
26100 2005-08-28  Andy Wingo  <wingo@pobox.com>
26101
26102         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26103         as having two arguments instead of just one. Allows superclasses
26104         to access information on subclasses -- see the terrible for() loop
26105         in gtype.c:g_type_create_instance for the reason why. All callers
26106         changed.
26107
26108 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26109
26110         * docs/design/part-messages.txt:
26111           update info
26112         * docs/gst/tmpl/.cvsignore:
26113         * docs/gst/tmpl/gstcaps.sgml:
26114         * docs/gst/tmpl/gstclock.sgml:
26115         * gst/gstbus.c:
26116         * gst/gstcaps.c:
26117         * gst/gstcaps.h:
26118         * gst/gstclock.c:
26119         * gst/gstclock.h:
26120         * gst/gstmessage.c:
26121           added descriptions for bus and message
26122           inline caps and clock docs
26123
26124 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26125
26126         * gst/gstmessage.c:
26127         * gst/gstmessage.h:
26128           doc fixes
26129
26130 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26131
26132         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26133           fix div-by-zero
26134
26135 2005-08-26  Andy Wingo  <wingo@pobox.com>
26136
26137         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26138         element_set_state's return val.
26139         (test_2_elements): Add test that's been disabled for months.
26140
26141         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26142         can-activate-pull properties.
26143
26144         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26145         can-activate-pull properties. Implement is_seekable so fakesrc can
26146         operate in pull mode.
26147
26148         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26149         properties.
26150         (gst_base_sink_activate, gst_base_sink_activate_pull)
26151         (gst_base_sink_activate_push): Make activation mode choosing work.
26152         Cleanups.
26153         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26154         is right. Make pull mode work. Post an eos before pausing in pull
26155         mode.
26156         (gst_base_sink_change_state): Pay attention to the core's
26157         change_state() return val.
26158         
26159         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26160         has-getrange properties. Cleanups.
26161         
26162         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26163         has_getrange and replace with can_activate_pull and
26164         can_activate_push.
26165
26166         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26167         locking comments. Remove has_loop, has_chain and replace with
26168         can_activate_pull and can_activate_push.
26169
26170 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26171
26172         * configure.ac:
26173         * examples/Makefile.am:
26174         * examples/metadata/Makefile.am:
26175         * examples/metadata/read-metadata.c: (message_loop),
26176         (have_pad_handler), (make_pipeline), (print_tag), (main):
26177           Add metadata reading example that loops over a list of filenames,
26178           dumping any tags found.
26179
26180         * gst/gstbus.c: (gst_bus_dispose):
26181         * gst/gstelement.c: (gst_element_dispose):
26182           Release a few potentially-held references in dispose.
26183
26184 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26185
26186         * docs/gst/tmpl/gstminiobject.sgml:
26187           do *not* add tmpl/*.sgml files to CVS!
26188
26189 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26190
26191         * libs/gst/bytestream/.cvsignore:
26192         * libs/gst/bytestream/Makefile.am:
26193         * libs/gst/bytestream/adapter.c:
26194         * libs/gst/bytestream/adapter.h:
26195         * libs/gst/bytestream/bytestream.c:
26196         * libs/gst/bytestream/bytestream.h:
26197         * libs/gst/bytestream/filepad.c:
26198         * libs/gst/bytestream/filepad.h:
26199           removing obsolete files
26200
26201 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26202
26203         * docs/gst/gstreamer-docs.sgml:
26204         * docs/libs/gstreamer-libs-docs.sgml:
26205           disabed additional index entries again, as this makes docs-gen just
26206           slow and they aren't useful yet
26207         * docs/libs/gstreamer-libs-sections.txt:
26208           little -section.txt cleanup for libs
26209
26210 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26211
26212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26213         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26214           fix up some debugging
26215         (gst_base_transform_get_unit_size),
26216         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26217         (gst_base_transform_handle_buffer):
26218         * gst/base/gstbasetransform.h:
26219           handle and store timed NEWSEGMENT events so that subclasses that
26220           calculate time by counting samples have a segment_start time they
26221           need to add to their timestamps - see audioresample
26222
26223 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26224
26225         * gst/gstbin.h:
26226           removed ';' from the end of macro defs
26227         * docs/gst/gstreamer-docs.sgml:
26228         * docs/gst/gstreamer-sections.txt:
26229         * docs/gst/tmpl/.cvsignore:
26230         * gst/gstbus.h:
26231         * gst/gstelement.c: (gst_element_class_init),
26232         (gst_element_set_state), (activate_pads),
26233         (gst_element_save_thyself):
26234         * gst/gstevent.c: (gst_event_new_newsegment):
26235         * gst/gstevent.h:
26236         * gst/gstiterator.c:
26237         * gst/gstiterator.h:
26238         * gst/gstpad.c:
26239         * gst/gstprobe.h:
26240         * gst/gstutils.c: (gst_pad_query_convert):
26241         * gst/gstutils.h:
26242           fixed parameter name mismatches between source, header and docs
26243           added some more docs, resolved the last batch of unused elements in
26244           docs (now someone needs to doc them)
26245
26246 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26247
26248         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26249         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26250           don't walk through the plugins backwards.  Where is all this
26251           reversed logic coming from ?
26252
26253 2005-08-25  Wim Taymans  <wim@fluendo.com>
26254
26255         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26256         (gst_base_transform_transform_size),
26257         (gst_base_transform_configure_caps),
26258         (gst_base_transform_get_unit_size),
26259         (gst_base_transform_buffer_alloc),
26260         (gst_base_transform_change_state):
26261         * gst/base/gstbasetransform.h:
26262         Cache caps unit_size.
26263         Make sure we cannot negotiate up and downstream at the
26264         same time.
26265
26266 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26267
26268         * gst/gst.c: (init_pre), (init_post):
26269           register the installed plugin path after the env var
26270         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26271         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26272           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26273           directories, so the tests can prefer uninstalled over installed
26274
26275 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26276
26277         * gst/base/gstbasetransform.h:
26278           comment
26279         * gst/gstpad.c:
26280           add to docs
26281
26282 2005-08-25  Wim Taymans  <wim@fluendo.com>
26283
26284         * gst/gstbin.c: (bin_bus_handler):
26285         Be a bit more conservative about the posted message.
26286         
26287         * gst/gstbus.c: (gst_bus_post):
26288         Some cleanups, warn wrong return values.
26289
26290 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26291
26292         * check/gst/gstbin.c: (GST_START_TEST):
26293         * gst/gstbin.c: (bin_bus_handler):
26294         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26295         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26296         (gst_message_new_warning), (gst_message_new_tag),
26297         (gst_message_new_state_changed), (gst_message_new_segment_start),
26298         (gst_message_new_segment_done), (gst_message_new_custom):
26299         * gst/gstmessage.h:
26300         * tools/gst-launch.c: (event_loop):
26301         * tools/gst-md5sum.c: (event_loop):
26302           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26303
26304 2005-08-25  Wim Taymans  <wim@fluendo.com>
26305
26306         * check/generic/states.c: (GST_START_TEST):
26307         Cleanup can be done at the end.
26308
26309         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26310         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26311         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26312         Oh boy.. Thanks for finding this, Thomas. 
26313
26314 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26315
26316         * docs/gst/gstreamer.types:
26317           added missing types
26318
26319 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26320
26321         * docs/gst/gstreamer-docs.sgml:
26322         * docs/gst/gstreamer-sections.txt:
26323         * docs/gst/tmpl/.cvsignore:
26324         * gst/gstbin.c:
26325         * gst/gstiterator.c:
26326         * gst/gstutils.c:
26327         * gst/registries/gstxmlregistry.h:
26328           added missing classes and symbols (123 more to go)
26329           removed removed symbols from section file
26330           fixed many doc-comments
26331
26332 2005-08-24  Wim Taymans  <wim@fluendo.com>
26333
26334         * check/generic/states.c: (GST_START_TEST):
26335         Make sure all tasks are stopped.
26336
26337         * check/gst/gstbin.c: (GST_START_TEST):
26338         Unref after usage for proper valgrinding.
26339
26340         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26341         Really wait for the task to stop before destroying the
26342         mutex.
26343
26344         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26345         (gst_queue_src_activate_push):
26346         Small cleanups. Don't stop the task when we did not start
26347         it.
26348
26349         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26350         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26351         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26352         (gst_task_join):
26353         * gst/gsttask.h:
26354         Protect the stream lock with the object lock.
26355         Disallow setting the stream lock when running.
26356         Add cleanup_all to wait for the threadpool to finish.
26357         Remove code to autoallocate a mutex if none was provided.
26358         Add _join() to wait for a task to stop.
26359         Protect the thread pool with a global lock.
26360
26361 2005-08-24  Wim Taymans  <wim@fluendo.com>
26362
26363         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26364         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26365         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26366         * gst/base/gstbasesink.h:
26367         Handle newsegment events correctly.
26368         Drop buffers out of the segment range.
26369
26370 2005-08-22  Andy Wingo  <wingo@pobox.com>
26371
26372         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26373         macro, implements an interface and gstimplementsinterface for a
26374         new type.
26375
26376 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26377
26378         * check/Makefile.am:
26379         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26380           add a test that does a bunch of state changes on elements
26381           needs some fixing for valgrind
26382         * check/states/sinks.c: (gst_object_suite):
26383           whitespace
26384         * gst/gstcaps.h:
26385           add prototype for gst_caps_is_equal_fixed
26386         * gst/gstplugin.c:
26387         * gst/gstregistrypool.c:
26388           doc fixes
26389
26390 2005-08-24  Andy Wingo  <wingo@pobox.com>
26391
26392         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26393         convert a negative value. Doesn't make much sense. Mostly this is
26394         here to force callers to ensure -1 maps to -1.
26395
26396 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26397
26398         * docs/pwg/advanced-types.xml:
26399           Well done to Michael for catching my deliberate introduction
26400           of this spelling mistake. 
26401         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26402         * gst/gstelement.h:
26403           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26404           unlink pads before removing the element from the bin.
26405
26406 2005-08-24  Andy Wingo  <wingo@pobox.com>
26407
26408         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26409         the same thing as GST_DEBUG=*:4.
26410         (parse_debug_level, parse_debug_category): New helper parsers.
26411
26412 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26413
26414         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26415         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26416         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26417         (gst_base_transform_buffer_alloc),
26418         (gst_base_transform_handle_buffer):
26419           use gboolean return values and pointers to size so we can use the
26420           full GST_BUFFER_SIZE range (guint) for buffer sizes
26421           use GstPadDirection for transform_caps
26422         * gst/base/gstbasetransform.h:
26423           rename get_size to get_unit_size since that's what it is
26424         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26425           use GstPadDirection for transform_caps
26426         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26427         * gst/gstutils.h:
26428           cleanup and debugging
26429
26430 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26431
26432         * gst/gstelement.c: (gst_element_class_init),
26433         (gst_element_set_state), (activate_pads),
26434         (gst_element_save_thyself):
26435         * tools/gst-compprep.c: (main):
26436         * tools/gst-inspect.c: (print_element_properties_info):
26437         * tools/gst-xmlinspect.c: (print_element_properties):
26438           Fixed long standing mem-leak
26439
26440 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26441
26442         * check/gst/gstbin.c: (GST_START_TEST):
26443         * gst/gstbin.c: (bin_bus_handler):
26444         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26445         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26446         (gst_message_new_warning), (gst_message_new_tag),
26447         (gst_message_new_state_changed), (gst_message_new_segment_start),
26448         (gst_message_new_segment_done), (gst_message_new_custom):
26449         * gst/gstmessage.h:
26450         * tools/gst-launch.c: (event_loop):
26451         * tools/gst-md5sum.c: (event_loop):
26452           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26453           that applications can sensibly post custom messages with references
26454           to their own objects.
26455
26456 2005-08-24  Andy Wingo  <wingo@pobox.com>
26457
26458         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26459         already.
26460
26461 2005-08-24  Wim Taymans  <wim@fluendo.com>
26462
26463         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26464         (gst_base_transform_transform_caps),
26465         (gst_base_transform_transform_size),
26466         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26467         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26468         (gst_base_transform_handle_buffer):
26469         * gst/base/gstbasetransform.h:
26470         Many fixes and new features added by Thomas. Can now also do
26471         transforms with variable sizes and a custom fixate_caps function.
26472
26473 2005-08-24  Wim Taymans  <wim@fluendo.com>
26474
26475         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26476         Some debugging.
26477
26478         * gst/gstclock.h:
26479         Cast to ClockTime before formatting to time.
26480
26481         * gst/gstutils.h:
26482         Cleanups.
26483
26484 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26485
26486         * check/gst-libs/controller.c: (GST_START_TEST),
26487         (gst_controller_suite):
26488         * docs/gst/tmpl/gstcaps.sgml:
26489         * docs/gst/tmpl/gstghostpad.sgml:
26490         * docs/gst/tmpl/gstquery.sgml:
26491         * docs/gst/tmpl/gstutils.sgml:
26492         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26493         (gst_object_sink_values), (gst_object_get_value_arrays),
26494         (gst_object_get_value_array):
26495           gracefully handle helper method calls to objects that are not beeing
26496           controlled, added test case for that          
26497
26498 2005-08-23  Wim Taymans  <wim@fluendo.com>
26499
26500         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26501         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26502         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26503         (gst_event_parse_qos), (gst_event_new_seek),
26504         (gst_event_parse_seek):
26505         * gst/gstevent.h:
26506         Some more debugging output and doc cleanups.
26507
26508         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26509         Fix possible deadlock.
26510
26511 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26512
26513         * docs/gst/gstreamer-docs.sgml:
26514         * docs/gst/gstreamer-sections.txt:
26515         * docs/gst/gstreamer.types:
26516         * docs/gst/tmpl/.cvsignore:
26517         * gst/gstbin.h:
26518         * gst/gstbus.c:
26519         * gst/gstelement.c:
26520         * gst/gstevent.h:
26521           added 100 symbols from gstreamer-unused.txt to the right sections
26522           fixed more broken comments
26523           added GstBus to docs
26524
26525 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26526
26527         * docs/gst/gstreamer-sections.txt:
26528         * docs/gst/tmpl/.cvsignore:
26529         * docs/gst/tmpl/gstbin.sgml:
26530         * docs/gst/tmpl/gstbuffer.sgml:
26531         * gst/base/gstbasesrc.c:
26532         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26533         * gst/gstbuffer.c:
26534         * gst/gstbuffer.h:
26535         * tools/gst-launch.1.in:
26536           inlined more doc comments, added missing comments and fixed comments
26537           fixed typos
26538
26539 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26540
26541         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26542           some debugging
26543         * gst/gstcaps.h:
26544           whitespace fixes
26545         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26546           more debugging
26547         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26548         * gst/gststructure.h:
26549           add a fixate function for booleans; add a FIXME that these func
26550           names should probably be gst_structure_fixate_*
26551
26552 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26553
26554         * docs/gst/gstreamer-docs.sgml:
26555         * docs/gst/gstreamer-sections.txt:
26556         * gst/Makefile.am:
26557         * gst/gstbin.c: (gst_bin_get_type),
26558         (gst_bin_child_proxy_get_child_by_index),
26559         (gst_bin_child_proxy_get_children_count),
26560         (gst_bin_child_proxy_init):
26561         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26562         (gst_child_proxy_get_child_by_index),
26563         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26564         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26565         (gst_child_proxy_get), (gst_child_proxy_set_property),
26566         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26567         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26568         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26569         * gst/gstchildproxy.h:
26570         * gst/parse/grammar.y:
26571         * tools/gst-inspect.c: (print_interfaces),
26572         (print_element_properties_info), (print_element_info):
26573           ported gstchildproxy over from 0.8
26574           ported gst-inspect fixes and enhancements over from 0.8
26575
26576 2005-08-22  Wim Taymans  <wim@fluendo.com>
26577
26578         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26579         (gst_base_transform_handle_buffer):
26580         Also call the transform function if we have ANY caps.
26581
26582         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26583         Fix debug info.
26584
26585 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26586
26587         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26588           Don't pretend to handle seek events if the source is not seekable
26589
26590 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26591
26592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26593           Remove extra parameter to debug output
26594
26595         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26596         (gst_base_src_do_seek), (gst_base_src_activate_push):
26597           Fix seek event handling.
26598
26599         * gst/gstpipeline.c: (gst_pipeline_change_state):
26600         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26601         (gst_queue_src_activate_push):
26602           Don't start the src pad task on FLUSH_STOP if the pad
26603           isn't linked.
26604           Debug changes.
26605
26606 2005-08-22  Wim Taymans  <wim@fluendo.com>
26607
26608         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26609         Added check for gst_static_caps_get() refcounting.
26610
26611 2005-08-22  Wim Taymans  <wim@fluendo.com>
26612
26613         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26614         Make _static_caps_get() refcounting sane.
26615         
26616         * gst/gstelement.c: (gst_element_set_state):
26617         Add g_return_val_if_fail() to protect against segfaults.
26618
26619 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26620
26621         * docs/gst/tmpl/gstevent.sgml:
26622         * gst/gstevent.c:
26623         * gst/gstevent.h:
26624           inlined remaining docs, added missing doc comments
26625
26626 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26627
26628         * check/gst/gstbin.c: (GST_START_TEST):
26629           since we don't know when preroll is done, use refcount range
26630           check for the sink
26631         * gst/check/gstcheck.h:
26632           add macro for checking refcount range
26633
26634 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26635
26636         * check/Makefile.am:
26637           clean up environment for when registry gets built versus
26638           when actual tests are run; valgrind seems to not report
26639           leaks if GST_PLUGIN_PATH is set to some specific values
26640         * check/gst/gstbin.c: (GST_START_TEST):
26641           add more refcounting checks; maybe this exposes a
26642           preroll lock bug ?
26643         * common/check.mak:
26644         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26645         * gst/check/gstcheck.h:
26646         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26647         (gst_bin_change_state):
26648         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26649           add/fix debugging/whitespace
26650
26651 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26652
26653         * check/gst/gstevent.c: (event_probe), (test_event),
26654         (GST_START_TEST):
26655          Er, don't call gst_bin_watch_for_state_change you idiot.
26656
26657 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26658
26659         * check/Makefile.am:
26660           Use CHECK_CFLAGS and CHECK_LIBS
26661         * check/gst/gstevent.c: (event_probe), (test_event),
26662         (GST_START_TEST):
26663           Don't leak events.
26664         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26665         (gst_base_src_start), (gst_base_src_stop),
26666         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26667         (gst_base_src_change_state):
26668           Sprinkle gst_base_src_stop liberally around error paths to fix
26669           problems reusing a source after failed state changes.
26670         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26671         (helper_find_suggest), (gst_type_find_helper):
26672           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26673         * gst/gstevent.h:
26674         * docs/gst/tmpl/gstevent.sgml:
26675           Migrate part of the docs from the SGML file. Wait for ensonic to
26676           tell me how I did it wrong ;)
26677         * tools/gst-typefind.c: (main):
26678           Extra robustness to state changes between files.
26679
26680 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26681
26682         * check/Makefile.am:
26683           don't valgrind the controller test - it's leaking - Stefan, HELP
26684         * gst/check/gstcheck.c: (gst_check_message_error),
26685         (gst_check_chain_func), (gst_check_setup_element),
26686         (gst_check_teardown_element), (gst_check_setup_src_pad),
26687         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26688         (gst_check_teardown_sink_pad):
26689         * gst/check/gstcheck.h:
26690           add a bunch of methods to set up elements, and src and sink pads
26691         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26692         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26693         (GST_START_TEST):
26694           use them
26695         * gst/gstmessage.c:
26696         * gst/gsttag.h:
26697           whitespace/doc fixes
26698
26699 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26700
26701         * gst/gstelement.h:
26702           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26703           be handled by the application and not always printed as well
26704
26705 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26706
26707         * check/Makefile.am:
26708           set GST_TOOLS_DIR
26709         * gst/check/gstcheck.c: (gst_check_message_error):
26710         * gst/check/gstcheck.h:
26711           add a fail_unless_equals_int
26712           add fail_unless for error messages
26713
26714 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26715
26716         * check/Makefile.am:
26717         * check/gst.supp:
26718         * common/Makefile.am:
26719         * common/check.mak:
26720         * common/gst.supp:
26721           factor out some of the common stuff so we can use it
26722
26723 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26724
26725         * check/Makefile.am:
26726         * check/gst/gstiterator.c: (GST_START_TEST):
26727         * check/gst/gstsystemclock.c: (GST_START_TEST),
26728         (gst_systemclock_suite):
26729         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26730         * gst/gstclock.c:
26731           valgrind more tests
26732
26733 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26734
26735         * check/elements/.cvsignore:
26736         * check/elements/gstfakesrc.c:
26737           rename to name of element
26738         * check/elements/identity.c: (chain_func), (event_func),
26739         (setup_identity), (cleanup_identity), (GST_START_TEST),
26740         (identity_suite), (main):
26741           add a test for identity
26742         * check/Makefile.am:
26743         * pkgconfig/Makefile.am:
26744         * pkgconfig/gstreamer-check.pc.in:
26745         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26746         * gst/check:
26747         * gst/Makefile.am:
26748         * configure.ac:
26749           move the check stuff to a library that gets installed
26750         * check/gst-libs/controller.c: (GST_START_TEST):
26751         * check/gst-libs/gdp.c:
26752         * check/gst/gst.c: (GST_START_TEST):
26753         * check/gst/gstbin.c:
26754         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26755         * check/gst/gstbus.c:
26756         * check/gst/gstcaps.c: (GST_START_TEST):
26757         * check/gst/gstelement.c:
26758         * check/gst/gstghostpad.c:
26759         * check/gst/gstiterator.c:
26760         * check/gst/gstmessage.c:
26761         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26762         * check/gst/gstobject.c:
26763         * check/gst/gstpad.c: (GST_START_TEST):
26764         * check/gst/gststructure.c: (GST_START_TEST):
26765         * check/gst/gstsystemclock.c: (GST_START_TEST),
26766         (gst_systemclock_suite):
26767         * check/gst/gsttag.c: (gst_tag_suite):
26768         * check/gst/gstvalue.c:
26769         * check/pipelines/cleanup.c:
26770         * check/pipelines/simple_launch_lines.c:
26771         * check/states/sinks.c:
26772           change include statement
26773
26774         * docs/gst/gstreamer-sections.txt:
26775         * docs/gst/tmpl/gstpad.sgml:
26776           document more pad stuff
26777         * gst/gstminiobject.c: (gst_mini_object_ref),
26778         (gst_mini_object_unref):
26779           debug refcounting
26780
26781 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26782
26783         * docs/gst/tmpl/gst.sgml:
26784         * gst/gst.c:
26785           eliminate another tmpl file, fix spelling in the long-description
26786
26787 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26788
26789         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26790         (test_event), (timediff), (gstevents_suite):
26791           Should fix build on 64-bit arch's
26792
26793 2005-08-18  Andy Wingo  <wingo@pobox.com>
26794
26795         Make sure that when a pipeline goes to PLAYING, that data has
26796         actually hit the sink.
26797
26798         * check/states/sinks.c (test_sink): A sink that doesn't get any
26799         data shouldn't return SUCCESS for going to either PLAYING or
26800         PAUSED. Test also the return values on the way back down.
26801
26802         * gst/gstelement.c (gst_element_set_state): When changing the
26803         state of an element currently changing state asynchronously, go to
26804         lost-state after commiting the pending state. Makes future calls
26805         to get_state continue to return ASYNC.
26806
26807         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26808         ASYNC when going to PLAYING if we still don't have preroll, as can
26809         happen with live sources.
26810
26811 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26812
26813         * docs/pwg/advanced-types.xml:
26814           Hack long paragraph into 2 chunks as a workaround for buggy
26815           jadetex version in sid and breezy that loops infinitely and
26816           eats all RAM.
26817
26818 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26819
26820         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26821         (test_event), (timediff), (gstevents_suite):
26822           Provide more error margin in clock measurements to allow for 
26823           g_get_current_time inaccuracies.
26824
26825 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26826
26827         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26828         (test_event), (timediff), (gstevents_suite):
26829            Fix error message output so I might be able to tell why the
26830            test works here but fails on the build farm.
26831
26832 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26833
26834         * check/Makefile.am:
26835         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26836         (test_event), (timediff), (gstevents_suite), (main):
26837           I wrote a test!
26838
26839         * docs/design/part-seeking.txt:
26840           Spelling correction
26841
26842         * docs/gst/tmpl/gstevent.sgml:
26843         * docs/gst/tmpl/gstfakesrc.sgml:
26844           Docs updates.
26845
26846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26847           Treat a buffer-without-newsegment the same as a receiving 
26848           a newsegment not in time format, and disable syncing to the clock
26849           with a warning.
26850
26851         * gst/gstbus.c: (gst_bus_set_sync_handler):
26852           Assert if anyone tries to replace the existing sync_handler for bus, 
26853           as only the owner should be setting it.
26854
26855         * gst/gstevent.h:
26856           Have a fixed set of custom event enums with events identified by
26857           their structure name (as in 0.8), rather than a free-for-all
26858           allowing collisions between enum values from different plugins.
26859
26860         * gst/gstpad.c: (gst_pad_class_init):
26861           Docs change.
26862           
26863         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26864           Handle out-of-band downstream events from the sending thread.
26865
26866 2005-08-17  Andy Wingo  <wingo@pobox.com>
26867
26868         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26869         play-timeout==0 to mean no timeout at all. In that case, don't
26870         bother with a get_state or a warning, just return directly, even
26871         if it's ASYNC.
26872
26873         * gst/base/gstbasetransform.c: Debug changes.
26874
26875         * gst/gstutils.h:
26876         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26877         ensure bins post state change messages. A bit of a hack but I can't
26878         think of a way to avoid it.
26879
26880         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26881
26882 2005-08-16  Andy Wingo  <wingo@pobox.com>
26883
26884         * gst/base/gstadapter.h:
26885         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26886         peek() but you own the data. Not terribly efficient atm.
26887
26888 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26889
26890         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26891         (gst_element_found_tags):
26892         * gst/gstutils.h:
26893           Add two utility functions for tag handling.
26894
26895 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26896
26897         * docs/manual/advanced-dataaccess.xml:
26898         * docs/manual/basics-helloworld.xml:
26899           Fix docs to use _bin_add() before _link(), which fixes the examples
26900           with recent core versions (reported by Madhan Raj M
26901           <raj_madan@rediffmail.com>, #313199).
26902
26903 2005-08-16  Wim Taymans  <wim@fluendo.com>
26904
26905         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26906         Added subtract checks.
26907
26908         * docs/design/part-events.txt:
26909         Some more docs about newsegment
26910
26911         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26912         Fix FIXME
26913
26914         * gst/gstcaps.c: (gst_caps_to_string):
26915         Add comments, cleanups.
26916         
26917         * gst/gstelement.c: (gst_element_save_thyself):
26918         cleanups
26919         
26920         * gst/gstvalue.c: (gst_value_collect_int_range),
26921         (gst_string_unwrap), (gst_value_union_int_int_range),
26922         (gst_value_union_int_range_int_range),
26923         (gst_value_intersect_int_int_range),
26924         (gst_value_intersect_int_range_int_range),
26925         (gst_value_intersect_double_double_range),
26926         (gst_value_intersect_double_range_double_range),
26927         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26928         (gst_value_subtract_int_range_int),
26929         (gst_value_subtract_double_range_double),
26930         (gst_value_subtract_double_range_double_range),
26931         (gst_value_subtract_from_list), (gst_value_subtract_list),
26932         (gst_value_can_compare), (gst_value_compare_fraction):
26933         Cleanups, add comments, remove unneeded asserts.
26934
26935 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26936
26937         * tools/gst-launch.c: (event_loop):
26938           don't convert NULL structures to strings
26939
26940 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26941
26942         * docs/gst/gstreamer-sections.txt:
26943           made some defines private
26944         * docs/gst/tmpl/gstconfig.sgml:
26945         * docs/gst/tmpl/gstqueue.sgml:
26946         * docs/gst/tmpl/gsttaglist.sgml:
26947         * docs/gst/tmpl/gsttypes.sgml:
26948         * docs/gst/tmpl/gstutils.sgml:
26949         * docs/pwg/appendix-porting.xml:
26950         * gst/base/gstbasesink.h:
26951         * gst/base/gstbasesrc.c:
26952         * gst/base/gstbasesrc.h:
26953         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26954         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26955         * gst/gstelement.c: (gst_element_class_init):
26956         * gst/gstpad.c: (gst_pad_class_init):
26957         * gst/gstqueue.c: (gst_queue_class_init):
26958         * gst/gstxml.c: (gst_xml_class_init):
26959           documented all undocumented signal inline
26960         * libs/gst/controller/gst-controller.h:
26961           added padding
26962
26963 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26964
26965         * docs/pwg/appendix-porting.xml:
26966           Document _set_link_function -> _set_setcaps_function.
26967
26968 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26969
26970         * check/Makefile.am:
26971           add a .check target for running the check
26972         * check/gst-libs/controller.c: (GST_START_TEST):
26973           cosmetic fixups
26974         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26975           complete checks for gstbuffer; would be nice if I could get the
26976           gcov stuff to work so I can see if I actually completed gstbuffer.c
26977         * check/gstcheck.h:
26978           add ASSERT_BUFFER_REFCOUNT
26979
26980 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26981
26982         * docs/gst/gstreamer-sections.txt:
26983         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26984         * gst/gsttag.h:
26985           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26986           spew out a warning if a tag that is already registered
26987           is re-registered, unless it is re-registered with a 
26988           different type (#308438).
26989
26990 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26991
26992         * docs/pwg/appendix-porting.xml:
26993         * docs/pwg/building-state.xml:
26994           Add some paragraphs about state changes in 0.9 to the PWG
26995           and the porting guide, in particular about the new meaning
26996           of GST_STATE_PAUSED and how to write state change functions
26997           with concurrent access by multiple threads in mind.
26998
26999 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
27000
27001         * docs/gst/gstreamer-docs.sgml:
27002         * docs/libs/gstreamer-libs-docs.sgml:
27003           added deprecation and since indexes
27004         * libs/gst/controller/gst-controller.c:
27005         * libs/gst/controller/gst-helper.c:
27006           added since tags
27007
27008
27009 2005-08-11  Wim Taymans  <wim@fluendo.com>
27010
27011         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27012         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27013         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27014         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27015         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27016         (gst_ghost_pad_set_target):
27017         Actually implement (re)setting the target on a ghostpad
27018         as described in the docs.
27019
27020 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27021
27022         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27023           Check whether GST_DEBUG_NO_COLOR environment variable is
27024           set and disable coloured debug output if that is the case.
27025
27026 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27027
27028         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27029         (gst_type_find_helper):
27030           The memory returned by gst_type_find_peek() needs to
27031           stay valid until the end of a typefind function, and
27032           typefind functions may keep results from different 
27033           offsets around, so we can't just unref the buffer from
27034           the previous _peek(), but have to save all buffers 
27035           returned by _peek() until typefinding is done and only
27036           free them then.
27037
27038 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27039
27040         * docs/gst/gstreamer-sections.txt:
27041         * gst/gstutils.h:
27042           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27043
27044 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27045
27046         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27047           Fix a pretty good memleak.
27048
27049 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27050
27051         * gst/gstiterator.h:
27052           Fix wrong include and 'make distcheck'.
27053
27054 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27055
27056         * gst/gstbin.c: (bin_bus_handler):
27057           Use gst_element_post_message() instead.
27058
27059 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27060
27061         * gst/base/gstadapter.h:
27062         * gst/base/gstbasesink.h:
27063         * gst/base/gstbasesrc.h:
27064         * gst/base/gstbasetransform.h:
27065         * gst/base/gstcollectpads.h:
27066         * gst/base/gstpushsrc.h:
27067         * gst/gstiterator.h:
27068           Add padding to our base elements' class and instance structs and
27069           to GstIterator (you will need to rebuild all plugins and apps!)
27070
27071 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27072
27073         * gst/gstbin.c: (bin_bus_handler):
27074           Make default message forwarding from child->bus to bin->bus
27075           threadsafe and make it not emit warnings if the parent has no bus.
27076
27077 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27078
27079         * gst/gstelement.c: (activate_pads):
27080           On paused->ready, set pad->caps to NULL, as is the documented
27081           behaviour in this state change. Fixes playback of series of
27082           media files when visualization is enabled in Totem.
27083
27084 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27085
27086         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27087           Allow NULL as filter-caps (which means "any").
27088
27089 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27090
27091         * docs/libs/gstreamer-libs-sections.txt:
27092         * libs/gst/controller/gst-controller.c:
27093         * libs/gst/controller/gst-controller.h:
27094         * libs/gst/controller/gst-helper.c:
27095           adding more entries to the docs and fix small doc-bugs
27096
27097 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27098
27099         * docs/gst/gstreamer-docs.sgml:
27100         * docs/gst/gstreamer-sections.txt:
27101         * docs/gst/gstreamer.types:
27102         * docs/gst/tmpl/gstbasesink.sgml:
27103         * docs/gst/tmpl/gstbasesrc.sgml:
27104         * docs/gst/tmpl/gstbasetransform.sgml:
27105         * docs/gst/tmpl/gstfakesrc.sgml:
27106         * gst/base/gstcollectpads.c:
27107         * gst/base/gstcollectpads.h:
27108         * libs/gst/controller/gst-controller.c:
27109         * libs/gst/controller/gst-controller.h:
27110         * libs/gst/controller/gst-helper.c:
27111         * libs/gst/controller/gst-interpolation.c:
27112         * libs/gst/controller/lib.c:
27113           added long/short desc for controller docs
27114           added collectpads base class docs
27115           added correct includes to base-class docs
27116
27117 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27118
27119         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27120         (gst_test_mono_source_set_property),
27121         (gst_test_mono_source_class_init), (GST_START_TEST),
27122         (gst_controller_suite):
27123         * docs/gst/gstreamer-docs.sgml:
27124         * docs/gst/gstreamer-sections.txt:
27125         * docs/gst/gstreamer.types:
27126         * docs/libs/gstreamer-libs-docs.sgml:
27127         * docs/libs/gstreamer-libs-sections.txt:
27128         * gst/base/gstadapter.c:
27129         * libs/gst/controller/gst-controller.c:
27130         (gst_controlled_property_new), (gst_controlled_property_free),
27131         (gst_controller_new_valist),
27132         (gst_controller_remove_properties_valist),
27133         (gst_controller_sink_values), (_gst_controller_finalize):
27134         * libs/gst/controller/gst-controller.h:
27135         * libs/gst/controller/gst-helper.c:
27136         (gst_object_control_properties), (gst_object_uncontrol_properties),
27137         (gst_object_get_controller), (gst_object_set_controller),
27138         (gst_object_sink_values), (gst_object_get_value_arrays),
27139         (gst_object_get_value_array):
27140           more tests (and fixes) for the controller
27141           more docs for the controller
27142           integrated companies docs for the adapter 
27143
27144 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27145
27146         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27147         (GST_START_TEST), (fakesrc_suite):
27148           add tests for sizetype
27149
27150 2005-08-04  Andy Wingo  <wingo@pobox.com>
27151
27152         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27153         fixes buffer_alloc proxying among other things.
27154
27155         * gst/base/gstbasetransform.c:
27156         * gst/base/gstbasetransform.h:
27157         Revert patch to gstbasetransform from 7-28 removing
27158         delay_configure.
27159
27160         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27161         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27162         Semantics changed, should return not the size of the output buffer
27163         but the byte size of a buffer with a given caps.
27164
27165         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27166         debug object.
27167         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27168         out) are not the pad caps until setcaps finishes.
27169         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27170         not-in-place case as well. Deal with changing from in-place to
27171         not-in-place within calling pad_alloc_buffer. Still a bit
27172         concerned about the overhead here...
27173
27174 2005-08-03  Andy Wingo  <wingo@pobox.com>
27175
27176         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27177         fixating is an error.
27178
27179 2005-08-04  Edward Hervey  <edward@fluendo.com>
27180
27181         * gst/base/gstadapter.h: 
27182         Added gst_adapter_get_type() to the header
27183
27184 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27185
27186         * check/Makefile.am:
27187         * check/gst-libs/controller.c:
27188         * libs/gst/controller/gst-controller.c:
27189         (gst_controller_new_valist):
27190           added check test suite for the controller
27191         * gst/base/gstpushsrc.c:
27192           fixed a doc typo
27193
27194 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27195
27196         * docs/gst/Makefile.am:
27197         * docs/gst/gstreamer-docs.sgml:
27198         * docs/gst/gstreamer-sections.txt:
27199         * docs/gst/gstreamer.types:
27200         * docs/gst/tmpl/gstfakesrc.sgml:
27201         * gst/base/README:
27202         * gst/base/gstbasesink.c:
27203         * gst/base/gstbasesink.h:
27204         * gst/base/gstbasesrc.c:
27205         * gst/base/gstbasesrc.h:
27206         * gst/base/gstbasetransform.c:
27207         * gst/base/gstpushsrc.c:
27208         * gst/base/gstpushsrc.h:
27209           add short/long description docs to base classes
27210           add pushsrc to the docs
27211           remove consolidated doc fragments
27212
27213 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27214
27215         * configure.ac:
27216         * docs/libs/Makefile.am:
27217         * docs/libs/gstreamer-libs-docs.sgml:
27218         * docs/libs/gstreamer-libs-sections.txt:
27219         * docs/libs/gstreamer-libs.types:
27220         * examples/Makefile.am:
27221         * examples/controller/.cvsignore:
27222         * examples/controller/Makefile.am:
27223         * examples/controller/audio-example.c: (main):
27224         * libs/gst/Makefile.am:
27225         * libs/gst/controller/.cvsignore:
27226         * libs/gst/controller/Makefile.am:
27227         * libs/gst/controller/gst-controller.c:
27228         (on_object_controlled_property_changed), (gst_timed_value_compare),
27229         (gst_timed_value_find),
27230         (gst_controlled_property_set_interpolation_mode),
27231         (gst_controlled_property_new), (gst_controlled_property_free),
27232         (gst_controller_find_controlled_property),
27233         (gst_controller_new_valist), (gst_controller_new),
27234         (gst_controller_remove_properties_valist),
27235         (gst_controller_remove_properties), (gst_controller_set),
27236         (gst_controller_set_from_list), (gst_controller_unset),
27237         (gst_controller_get), (gst_controller_get_all),
27238         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27239         (gst_controller_get_value_array),
27240         (gst_controller_set_interpolation_mode),
27241         (_gst_controller_finalize), (_gst_controller_init),
27242         (_gst_controller_class_init), (gst_controller_get_type):
27243         * libs/gst/controller/gst-controller.h:
27244         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27245         (g_object_uncontrol_properties), (g_object_get_controller),
27246         (g_object_set_controller), (g_object_sink_values),
27247         (g_object_get_value_arrays), (g_object_get_value_array):
27248         * libs/gst/controller/gst-interpolation.c:
27249         (gst_controlled_property_find_timed_value_node),
27250         (interpolate_none_get), (interpolate_trigger_get),
27251         (interpolate_trigger_get_value_array):
27252         * libs/gst/controller/lib.c: (gst_controller_init):
27253         * pkgconfig/Makefile.am:
27254         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27255         * pkgconfig/gstreamer-control.pc.in:
27256         * testsuite/Makefile.am:
27257         * testsuite/controller/.cvsignore:
27258         * testsuite/controller/Makefile.am:
27259         * testsuite/controller/interpolator.c: (main):
27260           added controller code
27261           removed dparam pc files
27262
27263 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27264         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27265         (gst_collectpads_stop):
27266           Broadcast the condition when shutting down, to make sure we wake all
27267           threads up. Shut down pads on finalize, for safety.
27268
27269 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27270         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27271         (gst_base_transform_handle_buffer),
27272         (gst_base_transform_change_state):
27273           Handle PAUSED->READY->PAUSED transition after negotiation
27274           occurred already.
27275         * gst/gstmessage.c: (gst_message_init):
27276           Extra piece of debug for new messages.
27277
27278 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27279
27280         * configure.ac:
27281         * docs/gst/tmpl/gstbasesrc.sgml:
27282         * docs/gst/tmpl/gstelement.sgml:
27283         * docs/gst/tmpl/gstevent.sgml:
27284         * docs/gst/tmpl/gstfakesrc.sgml:
27285         * docs/gst/tmpl/gstformat.sgml:
27286         * docs/gst/tmpl/gstghostpad.sgml:
27287         * docs/gst/tmpl/gstpad.sgml:
27288         * docs/gst/tmpl/gstquery.sgml:
27289         * docs/gst/tmpl/gststructure.sgml:
27290         * docs/gst/tmpl/gsttaglist.sgml:
27291         * docs/gst/tmpl/gstvalue.sgml:
27292         * docs/libs/gstreamer-libs-docs.sgml:
27293         * docs/libs/gstreamer-libs-sections.txt:
27294         * docs/libs/gstreamer-libs.types:
27295         * libs/gst/Makefile.am:
27296         * libs/gst/control/.cvsignore:
27297         * libs/gst/control/Makefile.am:
27298         * libs/gst/control/control.c:
27299         * libs/gst/control/control.h:
27300         * libs/gst/control/dparam.c:
27301         * libs/gst/control/dparam.h:
27302         * libs/gst/control/dparam_smooth.c:
27303         * libs/gst/control/dparam_smooth.h:
27304         * libs/gst/control/dparamcommon.h:
27305         * libs/gst/control/dparammanager.c:
27306         * libs/gst/control/dparammanager.h:
27307         * libs/gst/control/dplinearinterp.c:
27308         * libs/gst/control/dplinearinterp.h:
27309         * libs/gst/control/unitconvert.c:
27310         * libs/gst/control/unitconvert.h:
27311         * testsuite/Makefile.am:
27312         * testsuite/dynparams/.cvsignore:
27313         * testsuite/dynparams/Makefile.am:
27314         * testsuite/dynparams/dparamstest.c:
27315         * tools/Makefile.am:
27316         * tools/gst-inspect.c: (print_element_info), (main):
27317         * tools/gst-xmlinspect.c: (print_element_info), (main):
27318           deactivate and remove dparams (libgstcontrol)
27319
27320 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27321
27322         * gst/elements/gsttypefindelement.c:
27323         (gst_type_find_element_have_type), (gst_type_find_element_init),
27324         (stop_typefinding), (gst_type_find_element_handle_event),
27325         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27326         * gst/elements/gsttypefindelement.h:
27327           Set caps on all outgoing buffers, not just the first one.
27328
27329 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27330
27331         * gst/elements/gsttypefindelement.c:
27332         (gst_type_find_element_have_type),
27333         (gst_type_find_element_check_set_buffer_caps),
27334         (gst_type_find_element_init), (stop_typefinding),
27335         (gst_type_find_element_handle_event),
27336         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27337         * gst/elements/gsttypefindelement.h:
27338           Set caps on first outgoing buffer when we've found the type.
27339
27340 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27341
27342         * docs/gst/gstreamer-docs.sgml:
27343         * docs/gst/gstreamer-sections.txt:
27344         * docs/gst/tmpl/gstscheduler.sgml:
27345         * docs/gst/tmpl/gstschedulerfactory.sgml:
27346           Remove some old cruft from docs.
27347
27348 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27349
27350         * gst/gstpad.h:
27351           Fix inline docs for GstPadLinkReturn.
27352           
27353         * gst/gststructure.c: (gst_structure_has_name):
27354         * gst/gststructure.h:
27355         * docs/gst/gstreamer-sections.txt:
27356           New API: gst_structure_has_name().
27357
27358 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27359
27360         * configure.ac:
27361           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27362           and _LARGEFILE_SOURCE in config.h as required. Do not 
27363           export those flags in our .pc files any longer (#142209).
27364
27365           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27366
27367         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27368         (gst_file_sink_do_seek), (gst_file_sink_event),
27369         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27370           Redo seek/tell calls with large file support in mind; add some
27371           debugging messages; add log message that tells us when large
27372           file support is unavailable or not enabled for some reason.
27373
27374         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27375           Add log message that tells us when large file support 
27376           is unavailable or not enabled for some reason.
27377
27378 2005-07-29  Wim Taymans  <wim@fluendo.com>
27379
27380         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27381         Added test for removing an element with ghostpad from a bin.
27382         Fixed test as current implementation does the right thing.
27383
27384         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27385         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27386         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27387         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27388         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27389         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27390         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27391         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27392         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27393         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27394         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27395         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27396         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27397         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27398         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27399         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27400         * gst/gstghostpad.h:
27401         Clean up ghostpads, remove properties for internal stuff.
27402         Make threadsafe.
27403         Fix refcounting.
27404         Prepare for switching targets, not all use cases work yet.
27405
27406 2005-07-29  Wim Taymans  <wim@fluendo.com>
27407
27408         * docs/design/part-gstghostpad.txt:
27409         Small update.
27410
27411         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27412         (gst_bin_remove_func):
27413         Unlinking pads while holding the bin LOCK is not a good
27414         idea.
27415
27416         * gst/gstpad.c: (gst_pad_class_init),
27417         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27418         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27419         No prob setting template after creating the pad.
27420
27421 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27422
27423         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27424         (gst_bus_peek), (gst_bus_source_dispatch),
27425         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27426         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27427           gst_bus_poll may be called from other threads. Handle
27428           this nicely by not making poll_data disappear off the
27429           stack once gst_bus_poll returns.
27430           gst_bus_peek now increments the refcount on the returned
27431           message.
27432
27433 2005-07-29  Wim Taymans  <wim@fluendo.com>
27434
27435         * docs/design/part-gstghostpad.txt:
27436         Overview of current GhostPad datastructures and use
27437         cases for changing the target.
27438
27439 2005-07-28  Wim Taymans  <wim@fluendo.com>
27440
27441         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27442         Added checks for hierarchy consistency whan adding linked
27443         elements to bins.
27444
27445         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27446         Added check to test element scheduling without bin/pipeline.
27447
27448         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27449         First add elements to bin, then link.
27450         
27451         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27452         (gst_bin_remove_func):
27453         Unlink pads from elements added/removed from bin to maintain
27454         hierarchy consistency.
27455
27456 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27457
27458         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27459         (gst_base_transform_handle_buffer):
27460         * gst/base/gstbasetransform.h:
27461           Remove broken delay_configure (fixes renegotiation of software
27462           scaling pipelines); remove some leftover printf()s.
27463
27464 2005-07-28  Wim Taymans  <wim@fluendo.com>
27465
27466         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27467         Added some more tests for wrong hierarchy
27468
27469         * docs/design/part-overview.txt:
27470         Some updates.
27471
27472         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27473         Cleanups.
27474
27475         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27476         (gst_element_dispose):
27477         Some more cleanups.
27478
27479         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27480         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27481         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27482         (gst_pad_set_caps), (gst_pad_send_event):
27483         Check for correct hierarchy when linking pads. Moving to
27484         strict requirement for ghostpads when linking elements in
27485         different bins.
27486
27487         * gst/gstpad.h:
27488         Clean ups. Added WRONG_HIERARCHY return value.
27489
27490 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27491
27492         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27493           Better debug if no transform is possible.
27494
27495 2005-07-27  Wim Taymans  <wim@fluendo.com>
27496
27497         * docs/random/wtay/network-transp:
27498         Some old doc I had.
27499
27500 2005-07-27  Wim Taymans  <wim@fluendo.com>
27501
27502         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27503         (gst_dp_event_from_packet):
27504         Fix serialization of seek events.
27505
27506 2005-07-27  Wim Taymans  <wim@fluendo.com>
27507
27508         * check/gst-libs/gdp.c: (GST_START_TEST):
27509         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27510         Fix compilation and fix event serialization.
27511
27512 2005-07-27  Wim Taymans  <wim@fluendo.com>
27513
27514         * CHANGES-0.9:
27515         * docs/design/part-TODO.txt:
27516         * docs/design/part-events.txt:
27517         Some docs updates
27518
27519         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27520         (gst_base_sink_event), (gst_base_sink_do_sync),
27521         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27522         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27523         (gst_base_src_do_seek), (gst_base_src_event_handler),
27524         (gst_base_src_loop):
27525         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27526         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27527         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27528         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27529         (gst_base_transform_set_passthrough),
27530         (gst_base_transform_is_passthrough):
27531         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27532         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27533         Event updates.
27534
27535         * gst/gstbuffer.h:
27536         Use faster casts.
27537
27538         * gst/gstelement.c: (gst_element_seek):
27539         * gst/gstelement.h:
27540         Update gst_element_seek.
27541
27542         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27543         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27544         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27545         (gst_event_new_eos), (gst_event_new_newsegment),
27546         (gst_event_parse_newsegment), (gst_event_new_tag),
27547         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27548         (gst_event_parse_qos), (gst_event_new_seek),
27549         (gst_event_parse_seek), (gst_event_new_navigation):
27550         * gst/gstevent.h:
27551         Make GstEvent use GstStructure. Add parsing code, make sure the
27552         API is sufficiently generic.
27553         Mark possible directions of events and serialization.
27554
27555         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27556         (_gst_message_copy), (gst_message_new_segment_start),
27557         (gst_message_new_segment_done), (gst_message_new_custom),
27558         (gst_message_parse_segment_start),
27559         (gst_message_parse_segment_done):
27560         Small cleanups.
27561
27562         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27563         (gst_pad_set_caps), (gst_pad_send_event):
27564         Update for new events. 
27565         Catch events sent in wrong directions.
27566
27567         * gst/gstqueue.c: (gst_queue_link_src),
27568         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27569         (gst_queue_handle_src_query):
27570         Event updates.
27571
27572         * gst/gsttag.c:
27573         * gst/gsttag.h:
27574         Remove event code from this file.
27575
27576         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27577         (gst_dp_event_from_packet):
27578         Event updates.
27579
27580 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27581
27582         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27583         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27584         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27585           Make debugging actually useful.
27586
27587 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27588
27589         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27590         (gst_pad_fixate_caps):
27591           Implement default fixation once again, so that gst_pad_fixate()
27592           actually does anything at all. This probably needs to be some
27593           sort of a last resort, and use profile-based fixation first, but
27594           since that doesn't exist yet, this is the best we have. Fixes
27595           visualization in Totem.
27596
27597 2005-07-22  Wim Taymans  <wim@fluendo.com>
27598
27599         * docs/design/part-events.txt:
27600         Small update.
27601
27602         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27603         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27604         (gst_base_sink_activate_pull):
27605         Some more comments.
27606
27607         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27608         (gst_fake_src_create):
27609         Fix handoff marshall.
27610
27611         * gst/elements/gstidentity.c: (gst_identity_class_init),
27612         (gst_identity_transform_ip):
27613         We're a real inplace element.
27614
27615         * gst/gstbus.c: (gst_bus_post):
27616         Added some comments.
27617
27618         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27619         * tests/muxing/case1.c: (main):
27620         * tests/sched/dynamic-pipeline.c: (main):
27621         * tests/sched/interrupt1.c: (main):
27622         * tests/sched/interrupt2.c: (main):
27623         * tests/sched/interrupt3.c: (main):
27624         * tests/sched/runxml.c: (main):
27625         * tests/sched/sched-stress.c: (main):
27626         * tests/seeking/seeking1.c: (event_received), (main):
27627         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27628         (main):
27629         * tests/threadstate/threadstate3.c: (main):
27630         * tests/threadstate/threadstate4.c: (main):
27631         * tests/threadstate/threadstate5.c: (main):
27632         Fix the tests.
27633
27634 2005-07-21  Wim Taymans  <wim@fluendo.com>
27635
27636         * docs/design/part-seeking.txt:
27637         Some small additions.
27638
27639         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27640         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27641         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27642         * gst/base/gstbasesink.h:
27643         discont values are gint64, handle the math correctly.
27644
27645         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27646         Make the basesrc report error if the source pad is not linked.
27647
27648         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27649         (gst_queue_loop), (gst_queue_handle_src_query),
27650         (gst_queue_src_activate_push):
27651         Make queue collect data even if the srcpad is not linked.
27652         Start pushing out data as soon as it is linked.
27653
27654         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27655         * gst/gstutils.h:
27656         Added gst_flow_get_name() to ease error reporting.
27657
27658 2005-07-20  Wim Taymans  <wim@fluendo.com>
27659
27660         * gst/gstmessage.c: (gst_message_new_segment_start),
27661         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27662         (gst_message_parse_segment_done):
27663         * gst/gstmessage.h:
27664         Added a bunch of messages for advanced seeking.
27665
27666         * gst/parse/grammar.y:
27667         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27668         (gst_dpman_state_changed):
27669         Fix some new-pad -> pad-added signals
27670
27671 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27672
27673         * docs/manual/appendix-porting.xml:
27674         * docs/pwg/appendix-porting.xml:
27675           Document new-pad/state-change signal renames and the FixedList
27676           type rename.
27677
27678 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27679
27680         * docs/manual/advanced-autoplugging.xml:
27681         * docs/manual/basics-helloworld.xml:
27682         * docs/manual/basics-pads.xml:
27683         * docs/random/ds/0.9-suggested-changes:
27684         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27685         * gst/gstelement.h:
27686         * gst/gstevent.h:
27687         * gst/gstformat.h:
27688         * gst/gstquery.h:
27689         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27690         (gst_structure_parse_array), (gst_structure_parse_value):
27691         * gst/gstvalue.c: (gst_type_is_fixed),
27692         (gst_value_list_prepend_value), (gst_value_list_append_value),
27693         (gst_value_list_get_size), (gst_value_list_get_value),
27694         (gst_value_transform_array_string), (gst_value_serialize_array),
27695         (gst_value_deserialize_array), (gst_value_intersect_array),
27696         (gst_value_is_fixed), (_gst_value_initialize):
27697         * gst/gstvalue.h:
27698           GstElement::new-pad -> pad-added, GstElement::state-change ->
27699           state-changed, GstValueFixedList -> GstValueArray, add format and
27700           flags as their own arguments in gst_element_seek() (should improve
27701           "bindeability"), remove function generators since they don't work
27702           under a whole bunch of compilers (they were deprecated already
27703           anyway).
27704
27705 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27706
27707         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27708         (_gst_debug_register_funcptr):
27709         * gst/gstinfo.h:
27710           Fix illegal cast on some platforms (#309253).
27711
27712 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27713
27714         * gst/gstmessage.c: (gst_message_new_custom):
27715         * gst/gstmessage.h:
27716           Add _new_custom, make _new_application a macro to _new_custom.
27717
27718 2005-07-20  Wim Taymans  <wim@fluendo.com>
27719
27720         * gst/base/gstbasesrc.c: (gst_base_src_init),
27721         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27722         * gst/base/gstbasesrc.h:
27723         Add a gboolean to decide when to push out a discont.
27724
27725         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27726         (gst_queue_loop), (gst_queue_handle_src_query),
27727         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27728         (gst_queue_set_property), (gst_queue_get_property):
27729         Some cleanups.
27730
27731         * tests/threadstate/threadstate1.c: (main):
27732         Make a thread test compile and run... very silly..
27733
27734
27735 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27736
27737         * docs/manual/appendix-porting.xml:
27738           Mention removal of libgstgconf-0.9.la and existence of gconf
27739           elements.
27740
27741 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27742
27743         * docs/pwg/advanced-clock.xml:
27744         * docs/pwg/appendix-porting.xml:
27745         * docs/pwg/intro-preface.xml:
27746         * docs/pwg/other-base.xml:
27747         * docs/pwg/other-manager.xml:
27748         * docs/pwg/other-nton.xml:
27749         * docs/pwg/other-ntoone.xml:
27750         * docs/pwg/other-oneton.xml:
27751         * docs/pwg/pwg.xml:
27752           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27753           demuxer), remove n-to-n (was never written), fix some code examples
27754           and links and update the porting section to include all this.
27755
27756 2005-07-19  Wim Taymans  <wim@fluendo.com>
27757
27758         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27759         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27760         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27761         (gst_queue_src_activate_push), (gst_queue_change_state),
27762         (gst_queue_get_property):
27763         * gst/gstqueue.h:
27764         Propagate GstFlowReturn more intelligently upstream and output
27765         an ERROR/EOS when streaming stopped due to fatal error.
27766
27767 2005-07-19  Wim Taymans  <wim@fluendo.com>
27768
27769         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27770         Don't block forever for the state change to complete, the
27771         pipeline already did with a sensible timeout.
27772
27773 2005-07-19  Wim Taymans  <wim@fluendo.com>
27774
27775         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27776         Make sure we never call the create function is we
27777         got deactivated.
27778
27779 2005-07-19  Andy Wingo  <wingo@pobox.com>
27780
27781         * gst/parse/parse.l: Attempt to solve bug #172815.
27782
27783 2005-07-19  Wim Taymans  <wim@fluendo.com>
27784
27785         * docs/design/part-clocks.txt:
27786         * docs/design/part-events.txt:
27787         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27788         Small docs updates.
27789         Only update the seeking values when we are not
27790         busy streaming.
27791
27792 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27793
27794         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27795           Oops, ignore the result of gst_pad_push_event here.
27796
27797 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27798
27799         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27800         (gst_base_src_activate_push):
27801           Send discont event from the loop function, as pads
27802           aren't activated yet in the activate_push handler.
27803
27804         * gst/gstbin.c: (bin_bus_handler):
27805           Don't leak element name.
27806
27807 2005-07-18  Andy Wingo  <wingo@pobox.com>
27808
27809         * configure.ac: Use AS_LIBTOOL_TAGS.
27810
27811 2005-07-18  Wim Taymans  <wim@fluendo.com>
27812
27813         * docs/gst/gstreamer.types:
27814         Remove deleted types.
27815
27816 2005-07-18  Wim Taymans  <wim@fluendo.com>
27817
27818         * check/elements/gstfakesrc.c: (GST_START_TEST):
27819         * configure.ac:
27820         * gst/Makefile.am:
27821         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27822         (init_popt_callback):
27823         * gst/gst.h:
27824         * gst/gst_private.h:
27825         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27826         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27827         * gst/gstbin.h:
27828         * gst/gstbus.h:
27829         * gst/gstconfig.h.in:
27830         * gst/gstelement.c: (gst_element_class_init),
27831         (gst_element_set_base_time), (gst_element_get_base_time),
27832         (iterator_fold_with_resync), (gst_element_change_state),
27833         (gst_element_dispose), (gst_element_get_bus):
27834         * gst/gstelement.h:
27835         * gst/gstelementfactory.h:
27836         * gst/gsterror.c: (_gst_core_errors_init):
27837         * gst/gsterror.h:
27838         * gst/gstevent.h:
27839         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27840         * gst/gstindex.c:
27841         * gst/gstinfo.c: (_gst_debug_init):
27842         * gst/gstmessage.c: (_gst_message_copy):
27843         * gst/gstmessage.h:
27844         * gst/gstminiobject.h:
27845         * gst/gstobject.c:
27846         * gst/gstobject.h:
27847         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27848         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27849         * gst/gstpad.h:
27850         * gst/gstparse.h:
27851         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27852         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27853         (gst_pipeline_get_last_stream_time):
27854         * gst/gstpipeline.h:
27855         * gst/gstpluginfeature.h:
27856         * gst/gstquery.h:
27857         * gst/gstscheduler.c:
27858         * gst/gstscheduler.h:
27859         * gst/gststructure.h:
27860         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27861         (gst_task_finalize), (gst_task_func), (gst_task_create),
27862         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27863         (gst_task_stop), (gst_task_pause):
27864         * gst/gsttask.h:
27865         * gst/gsttypefind.h:
27866         * gst/gsttypes.h:
27867         * gst/registries/gstlibxmlregistry.c: (load_feature),
27868         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27869         * gst/registries/gstxmlregistry.c:
27870         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27871         * gst/schedulers/threadscheduler.c:
27872         * libs/gst/control/dparammanager.h:
27873         * tools/gst-inspect.c: (print_element_list),
27874         (print_plugin_features), (print_element_features):
27875         * tools/gst-xmlinspect.c: (print_element_list),
27876         (print_plugin_info), (main):
27877         Removed plugable schedulers.
27878         Removed Scheduler/Manager from elements.
27879         Removed gsttypes.h, rearranged includes.
27880         Removed dependency pad<->element, element<>pipeline, and
27881         various others,  fix includes.
27882         implement gst_pad_get_parent() with gst_object_get_parent()
27883         Make GstTask sefcontained.
27884         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27885         timeout.
27886         Fix endless loop in iterator_fold_with_resync.
27887
27888
27889 2005-07-18  Wim Taymans  <wim@fluendo.com>
27890
27891         * gst/Makefile.am:
27892         * gst/gstarch.h:
27893         Remove old file.
27894
27895 2005-07-18  Wim Taymans  <wim@fluendo.com>
27896
27897         * gst/Makefile.am:
27898         No more cothreads.h
27899
27900 2005-07-18  Wim Taymans  <wim@fluendo.com>
27901
27902         * gst/cothreads.c:
27903         * gst/cothreads.h:
27904         Let's remove these.
27905
27906 2005-07-18  Wim Taymans  <wim@fluendo.com>
27907
27908         * docs/design/part-dynamic.txt:
27909         * docs/design/part-events.txt:
27910         * docs/design/part-seeking.txt:
27911         Some more docs in the works.
27912
27913         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27914         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27915         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27916         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27917         (gst_base_transform_handle_buffer),
27918         (gst_base_transform_sink_activate_push),
27919         (gst_base_transform_src_activate_pull),
27920         (gst_base_transform_set_passthrough),
27921         (gst_base_transform_is_passthrough):
27922         Refcounting fixes.
27923
27924         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27925         Cleanups.
27926
27927         * gst/gstevent.c: (gst_event_finalize):
27928         Set SRC to NULL.
27929
27930         * gst/gstutils.c: (gst_element_unlink),
27931         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27932         (gst_pad_proxy_setcaps):
27933         * gst/gstutils.h:
27934         Add _get_parent_element() to get a pads parent as an element.
27935
27936 2005-07-18  Wim Taymans  <wim@fluendo.com>
27937
27938         * check/gst/gstbin.c: (GST_START_TEST):
27939         Remove bogus test.
27940
27941 2005-07-18  Wim Taymans  <wim@fluendo.com>
27942
27943         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27944         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27945         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27946         (gst_base_sink_event), (gst_base_sink_do_sync),
27947         (gst_base_sink_chain), (gst_base_sink_loop),
27948         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27949         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27950         Refcounting fixes.
27951         Fix logic for returning ASYNC when not prerolled.
27952
27953 2005-07-18  Wim Taymans  <wim@fluendo.com>
27954
27955         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27956         Fix nasty refcount bug.
27957
27958 2005-07-16 Philippe Khalaf <burger@speedy.org>
27959
27960         * gst/elements/gstfdsrc.c:
27961         * gst/elements/gstfdsrc.h:
27962         * gst/elements/gstelements.c:
27963         * gst/elements/Makefile.am:
27964         Ported fdsrc to 0.9.
27965
27966 2005-07-16  Wim Taymans  <wim@fluendo.com>
27967
27968         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27969         (gst_base_sink_do_sync):
27970         Fix compile error.
27971
27972 2005-07-16  Wim Taymans  <wim@fluendo.com>
27973
27974         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27975         (gst_base_sink_event), (gst_base_sink_get_times),
27976         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27977         * gst/base/gstbasesink.h:
27978         Store and use discont values when syncing buffers as described
27979         in design docs.
27980         
27981         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27982         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27983         (gst_base_src_activate_push):
27984         Push discont event when starting.
27985
27986         * gst/elements/gstidentity.c: (gst_identity_transform):
27987         Small cleanups.
27988
27989         * gst/gstbin.c: (gst_bin_change_state):
27990         Small cleanups in base_time  distribution.
27991
27992         * gst/gstelement.c: (gst_element_set_base_time),
27993         (gst_element_get_base_time), (gst_element_change_state):
27994         * gst/gstelement.h:
27995         Added methods for the base_time of the element.
27996         Some MT fixes.
27997
27998         * gst/gstpipeline.c: (gst_pipeline_send_event),
27999         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28000         (gst_pipeline_get_last_stream_time):
28001         * gst/gstpipeline.h:
28002         MT fixes.
28003         Handle seeking as described in design doc, remove stream_time
28004         hack.
28005         Cleanups clock and stream_time selection code. Added accessors
28006         for the stream_time.
28007         
28008
28009 2005-07-16  Andy Wingo  <wingo@pobox.com>
28010
28011         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28012         (#305291).
28013
28014 2005-07-16  Wim Taymans  <wim@fluendo.com>
28015
28016         * check/gst/gstbin.c: (GST_START_TEST):
28017         Make elements silent as the deep_notify refs the
28018         parent, which might make the test fail.
28019
28020         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28021         Don't hold the lock for too long.
28022
28023 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28024
28025         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28026           Don't unref the caps we passed to gst_caps_make_writable() after
28027           passing them. gst_caps_make_writable() will do that for us.
28028
28029 2005-07-15  Andy Wingo  <wingo@pobox.com>
28030
28031         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28032         (#157311).
28033
28034         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28035         own marshalling function for the handoff signal. Properly type the
28036         buffer as a buffer. Fixes some warnings. Should do a more general
28037         solution.
28038         (gst_identity_class_init): Plug into the right marshaller.
28039
28040 2005-07-15  Wim Taymans  <wim@fluendo.com>
28041
28042         * docs/design/part-TODO.txt:
28043         * docs/design/part-clocks.txt:
28044         * docs/design/part-element-sink.txt:
28045         * docs/design/part-events.txt:
28046         * docs/design/part-gstpipeline.txt:
28047         Updated docs, mostly DISCONT related.
28048
28049 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28050
28051         * docs/pwg/building-pads.xml:
28052           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28053
28054 2005-07-15  Andy Wingo  <wingo@pobox.com>
28055
28056         * tools/gst-typefind.c: Update, add copyright block.
28057
28058         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28059         Normalize and truncate caps before fixation.
28060
28061         * gst/gstcaps.h:
28062         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28063         discards all but the first structure from its argument.
28064
28065 2005-07-15  Wim Taymans  <wim@fluendo.com>
28066
28067         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28068         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28069         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28070         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28071         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28072         (gst_base_transform_chain), (gst_base_transform_change_state),
28073         (gst_base_transform_set_passthrough),
28074         (gst_base_transform_is_passthrough):
28075         * gst/base/gstbasetransform.h:
28076         Make passthrough work using the bufferpools.
28077         Changed API a bit, subclasses have to write into a buffer
28078         provided by the base class.
28079         More debug info in nego functions.
28080         
28081         * gst/elements/gstidentity.c: (gst_identity_init),
28082         (gst_identity_transform):
28083         Port to new base class.
28084
28085 2005-07-15  Wim Taymans  <wim@fluendo.com>
28086
28087         * gst/gstmessage.c: (gst_message_new_state_changed):
28088         * tools/gst-launch.c: (event_loop), (main):
28089         Totally dump messages in -launch with the -m option.
28090         Fix message name for State messages,
28091
28092 2005-07-14  Wim Taymans  <wim@fluendo.com>
28093
28094         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28095         Post error messages on errors.
28096
28097 2005-07-14  Wim Taymans  <wim@fluendo.com>
28098
28099         * gst/gstcaps.c: (gst_caps_do_simplify):
28100         Remove debug info.
28101
28102         * gst/gsterror.h:
28103         Define error for stream stopped.
28104
28105         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28106         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28107         Do proper return values.
28108
28109         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28110         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28111         (gst_pad_get_range):
28112         Better return values.
28113
28114         * gst/gstpad.h:
28115         Reorganise return values, add macro to check for fatal errors.
28116
28117         * gst/gstqueue.c: (gst_queue_chain):
28118         Return proper GstFlowReturn values,
28119
28120 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28121
28122         * docs/gst/gstreamer-sections.txt:
28123         * docs/gst/gstreamer.types:
28124         * docs/gst/tmpl/gst.sgml:
28125         * docs/gst/tmpl/gstbasesink.sgml:
28126         * docs/gst/tmpl/gstbasesrc.sgml:
28127         * docs/gst/tmpl/gstbasetransform.sgml:
28128         * docs/gst/tmpl/gstbin.sgml:
28129         * docs/gst/tmpl/gstbuffer.sgml:
28130         * docs/gst/tmpl/gstcaps.sgml:
28131         * docs/gst/tmpl/gstclock.sgml:
28132         * docs/gst/tmpl/gstcompat.sgml:
28133         * docs/gst/tmpl/gstconfig.sgml:
28134         * docs/gst/tmpl/gstelement.sgml:
28135         * docs/gst/tmpl/gstelementdetails.sgml:
28136         * docs/gst/tmpl/gstelementfactory.sgml:
28137         * docs/gst/tmpl/gstenumtypes.sgml:
28138         * docs/gst/tmpl/gsterror.sgml:
28139         * docs/gst/tmpl/gstevent.sgml:
28140         * docs/gst/tmpl/gstfakesink.sgml:
28141         * docs/gst/tmpl/gstfakesrc.sgml:
28142         * docs/gst/tmpl/gstfilesink.sgml:
28143         * docs/gst/tmpl/gstfilesrc.sgml:
28144         * docs/gst/tmpl/gstfilter.sgml:
28145         * docs/gst/tmpl/gstformat.sgml:
28146         * docs/gst/tmpl/gstghostpad.sgml:
28147         * docs/gst/tmpl/gstimplementsinterface.sgml:
28148         * docs/gst/tmpl/gstindex.sgml:
28149         * docs/gst/tmpl/gstindexfactory.sgml:
28150         * docs/gst/tmpl/gstinfo.sgml:
28151         * docs/gst/tmpl/gstiterator.sgml:
28152         * docs/gst/tmpl/gstmacros.sgml:
28153         * docs/gst/tmpl/gstmemchunk.sgml:
28154         * docs/gst/tmpl/gstminiobject.sgml:
28155         * docs/gst/tmpl/gstobject.sgml:
28156         * docs/gst/tmpl/gstpad.sgml:
28157         * docs/gst/tmpl/gstpadtemplate.sgml:
28158         * docs/gst/tmpl/gstparse.sgml:
28159         * docs/gst/tmpl/gstpipeline.sgml:
28160         * docs/gst/tmpl/gstplugin.sgml:
28161         * docs/gst/tmpl/gstpluginfeature.sgml:
28162         * docs/gst/tmpl/gstquery.sgml:
28163         * docs/gst/tmpl/gstqueue.sgml:
28164         * docs/gst/tmpl/gstregistry.sgml:
28165         * docs/gst/tmpl/gstregistrypool.sgml:
28166         * docs/gst/tmpl/gstscheduler.sgml:
28167         * docs/gst/tmpl/gstschedulerfactory.sgml:
28168         * docs/gst/tmpl/gststructure.sgml:
28169         * docs/gst/tmpl/gstsystemclock.sgml:
28170         * docs/gst/tmpl/gsttaglist.sgml:
28171         * docs/gst/tmpl/gsttagsetter.sgml:
28172         * docs/gst/tmpl/gsttrace.sgml:
28173         * docs/gst/tmpl/gsttrashstack.sgml:
28174         * docs/gst/tmpl/gsttypefind.sgml:
28175         * docs/gst/tmpl/gsttypefindfactory.sgml:
28176         * docs/gst/tmpl/gsttypes.sgml:
28177         * docs/gst/tmpl/gsturihandler.sgml:
28178         * docs/gst/tmpl/gsturitype.sgml:
28179         * docs/gst/tmpl/gstutils.sgml:
28180         * docs/gst/tmpl/gstvalue.sgml:
28181         * docs/gst/tmpl/gstversion.sgml:
28182         * docs/gst/tmpl/gstxml.sgml:
28183         * docs/libs/tmpl/gstcontrol.sgml:
28184         * docs/libs/tmpl/gstdataprotocol.sgml:
28185         * docs/libs/tmpl/gstdparam.sgml:
28186         * docs/libs/tmpl/gstdplinint.sgml:
28187         * docs/libs/tmpl/gstdpman.sgml:
28188         * docs/libs/tmpl/gstdpsmooth.sgml:
28189         * docs/libs/tmpl/gstgetbits.sgml:
28190         * docs/libs/tmpl/gstunitconvert.sgml:
28191         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28192         (gst_push_src_base_init), (gst_push_src_class_init),
28193         (gst_push_src_init), (gst_push_src_create):
28194         * gst/base/gstpushsrc.h:
28195         * gst/elements/gstelements.c:
28196         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28197         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28198         (gst_fake_sink_init), (gst_fake_sink_set_property),
28199         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28200         (gst_fake_sink_event), (gst_fake_sink_preroll),
28201         (gst_fake_sink_render), (gst_fake_sink_change_state):
28202         * gst/elements/gstfakesink.h:
28203         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28204         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28205         (gst_fake_src_base_init), (gst_fake_src_class_init),
28206         (gst_fake_src_init), (gst_fake_src_event_handler),
28207         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28208         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28209         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28210         (gst_fake_src_create_buffer), (gst_fake_src_create),
28211         (gst_fake_src_start), (gst_fake_src_stop):
28212         * gst/elements/gstfakesrc.h:
28213         * gst/elements/gstfilesink.c: (_do_init),
28214         (gst_file_sink_base_init), (gst_file_sink_class_init),
28215         (gst_file_sink_init), (gst_file_sink_dispose),
28216         (gst_file_sink_set_location), (gst_file_sink_set_property),
28217         (gst_file_sink_get_property), (gst_file_sink_open_file),
28218         (gst_file_sink_close_file), (gst_file_sink_query),
28219         (gst_file_sink_event), (gst_file_sink_render),
28220         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28221         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28222         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28223         * gst/elements/gstfilesink.h:
28224         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28225         (gst_file_src_class_init), (gst_file_src_init),
28226         (gst_file_src_finalize), (gst_file_src_set_location),
28227         (gst_file_src_set_property), (gst_file_src_get_property),
28228         (gst_file_src_map_region), (gst_file_src_map_small_region),
28229         (gst_file_src_create_mmap), (gst_file_src_create_read),
28230         (gst_file_src_create), (gst_file_src_is_seekable),
28231         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28232         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28233         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28234         (gst_file_src_uri_handler_init):
28235         * gst/elements/gstfilesrc.h:
28236           more autistic cleanliness in functions/names/defines
28237
28238 2005-07-13  Andy Wingo  <wingo@pobox.com>
28239
28240         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28241         source couldn't negotiate.
28242
28243         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28244         connections again.
28245
28246         * gst/gstutils.h:
28247         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28248         function. I am channeling Hades. Put your boots on suckers!!!
28249
28250 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28251
28252         * testsuite/caps/Makefile.am:
28253         * testsuite/caps/value_compare.c:
28254         * testsuite/caps/value_intersect.c:
28255         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28256           move two testsuite apps over to the check dir
28257
28258 2005-07-12  Wim Taymans  <wim@fluendo.com>
28259
28260         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28261         Added more debug info in the negotiate process.
28262
28263         * gst/gstmessage.h:
28264         Prepare for segment playback.
28265
28266         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28267         Better debugging.
28268
28269         * gst/gstutils.c:
28270         Some more docs.
28271
28272         * tools/gst-launch.c: (main):
28273         NULL pipeline on errors.
28274
28275 2005-07-12  Andy Wingo  <wingo@pobox.com>
28276
28277         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28278         not it comes from a malloc region. Make sure our copy gets freed.
28279
28280 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28281
28282         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28283         * check/gst/gstmessage.c: (GST_START_TEST):
28284         * check/gst/gststructure.c: (GST_START_TEST),
28285         (gst_structure_suite), (main):
28286           more testing
28287         * gst/gstelement.c: (gst_element_message_full):
28288           clean up GError and debug string now that they get copied
28289         * gst/gstmessage.c: (gst_message_new_error),
28290         (gst_message_new_warning), (gst_message_parse_error),
28291         (gst_message_parse_warning):
28292           use GST_TYPE_G_ERROR for structure_new, and take copies of
28293           arguments, so that we don't mess up refcounting
28294
28295 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28296
28297         * check/Makefile.am:
28298           add per-test valgrind targets
28299         * check/gst-libs/gdp.c: (GST_START_TEST),
28300         (gst_data_protocol_suite), (main):
28301           clean up
28302
28303 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28304
28305         * check/Makefile.am:
28306           instate more valgrindable tests
28307         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28308         (GST_START_TEST), (fakesrc_suite):
28309         * check/gst/gstpad.c: (GST_START_TEST):
28310         * check/gst/gststructure.c: (GST_START_TEST):
28311           fix test leaks
28312         * docs/gst/tmpl/gstminiobject.sgml:
28313         * gst/gstpad.c: (gst_pad_finalize):
28314           fix the static mutex leak
28315
28316 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28317
28318         * check/Makefile.am:
28319           add two more tests for valgrinding
28320         * check/gst/gstvalue.c: (GST_START_TEST):
28321           test refcount of deserialized buffer, found a leak
28322         * docs/gst/gstreamer-docs.sgml:
28323         * docs/gst/gstreamer-sections.txt:
28324         * docs/gst/gstreamer.types:
28325         * docs/gst/tmpl/gstminiobject.sgml:
28326           add miniobject to docs
28327         * gst/gstminiobject.c:
28328           add some docs
28329         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28330         (gst_string_unwrap):
28331           fix a hard-to-find invalid write for one of the tests
28332           fix a leak for deserialized buffers
28333
28334 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28335
28336         * docs/pwg/advanced-events.xml:
28337         * docs/pwg/advanced-request.xml:
28338         * docs/pwg/advanced-scheduling.xml:
28339         * docs/pwg/appendix-porting.xml:
28340         * docs/pwg/building-boiler.xml:
28341         * docs/pwg/intro-preface.xml:
28342         * docs/pwg/other-ntoone.xml:
28343           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28344           of example code and explanation for pad activation, loop() and
28345           getrange() functions and a bit more. Remove old comments pointing
28346           to loop-functions.
28347         * examples/pwg/Makefile.am:
28348           Add loop/getrange examples.
28349
28350 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28351
28352         * configure.ac:
28353           check for valgrind binary + some fixes
28354         * check/gst.supp:
28355           valgrind suppressions for the tests
28356         * check/Makefile.am:
28357           add a valgrind: target that valgrinds the unit tests
28358         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28359         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28360         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28361         * check/gst/gstghostpad.c:
28362           added some cleanup
28363         * check/gst/gstdata.c:
28364           removed
28365         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28366         (thread_unref), (gst_mini_object_suite), (main):
28367           added
28368         * gst/gst.c: (gst_deinit):
28369         * gst/gst.h:
28370           add a method to clean up.
28371         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28372         (gst_system_clock_obtain):
28373           allow for disposing the system clock.
28374         * tools/gst-launch.c: (main):
28375           deinit
28376
28377 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28378
28379         * docs/gst/tmpl/gstbasesrc.sgml:
28380         * docs/gst/tmpl/gstfakesrc.sgml:
28381         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28382         (gst_base_src_init), (gst_base_src_set_property),
28383         (gst_base_src_get_property), (gst_base_src_get_range),
28384         (gst_base_src_start):
28385         * gst/base/gstbasesrc.h:
28386           add num-buffers property
28387         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28388         (gst_fakesrc_init), (gst_fakesrc_set_property),
28389         (gst_fakesrc_get_property), (gst_fakesrc_create),
28390         (gst_fakesrc_start):
28391           remove num-buffers property
28392
28393 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28394
28395         * docs/gst/gstreamer-sections.txt:
28396         * docs/gst/tmpl/gstbasesink.sgml:
28397         * docs/gst/tmpl/gstbasesrc.sgml:
28398         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28399         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28400         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28401         (gst_base_sink_set_property), (gst_base_sink_get_property),
28402         (gst_base_sink_handle_object), (gst_base_sink_event),
28403         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28404         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28405         (gst_base_sink_loop), (gst_base_sink_deactivate),
28406         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28407         (gst_base_sink_change_state):
28408         * gst/base/gstbasesink.h:
28409         * gst/base/gstbasesrc.h:
28410         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28411         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28412         (gst_filesink_init):
28413           more macro splitting
28414
28415 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28416
28417         * gst/gstelement.c: (gst_element_get_bus):
28418           add debug
28419         * tools/gst-launch.c: (check_intr), (event_loop):
28420           fix bus leaks
28421
28422 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28423
28424         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28425           fix a caps leak
28426
28427 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28428
28429         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28430         (gst_base_src_finalize):
28431           add finalize method and clean up properly
28432         * gst/gstpipeline.c: (gst_pipeline_dispose):
28433           add debug
28434
28435 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28436
28437         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28438         (gst_bin_suite):
28439           add more things to check
28440         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28441         * gst/gstelement.c:
28442           more debug
28443
28444 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28445
28446         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28447         (GST_START_TEST), (fakesrc_suite):
28448         * check/gst-libs/gdp.c: (GST_START_TEST):
28449         * check/gst/gst.c: (GST_START_TEST):
28450         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28451         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28452         * check/gst/gstbus.c: (GST_START_TEST):
28453         * check/gst/gstcaps.c: (GST_START_TEST):
28454         * check/gst/gstdata.c: (GST_START_TEST):
28455         * check/gst/gstelement.c: (GST_START_TEST):
28456         * check/gst/gstghostpad.c: (GST_START_TEST):
28457         * check/gst/gstiterator.c: (GST_START_TEST):
28458         * check/gst/gstmessage.c: (GST_START_TEST):
28459         * check/gst/gstobject.c: (GST_START_TEST):
28460         * check/gst/gstpad.c: (GST_START_TEST):
28461         * check/gst/gststructure.c: (GST_START_TEST):
28462         * check/gst/gstsystemclock.c: (GST_START_TEST),
28463         (gst_systemclock_suite):
28464         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28465         * check/gst/gstvalue.c: (GST_START_TEST):
28466         * check/pipelines/cleanup.c: (GST_START_TEST):
28467         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28468         * check/states/sinks.c: (GST_START_TEST):
28469         * check/gstcheck.c: (gst_check_init):
28470         * check/gstcheck.h:
28471           add debugging category
28472           use GST_START_TEST now, so we add a debug line
28473
28474 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28475
28476         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28477           add test for state change message on a bin
28478         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28479           add another test
28480         * gst/gstbin.c: (gst_bin_init):
28481         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28482         * gst/gstelement.c: (gst_element_post_message),
28483         (gst_element_set_state):
28484         * gst/gstelementfactory.c: (gst_element_factory_create):
28485         * gst/gstmessage.c: (gst_message_new):
28486         * gst/gstscheduler.c:
28487           various debugging additions and cleanups
28488
28489 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28490
28491         * check/Makefile.am:
28492         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28493         (main):
28494           adding tests for elements
28495         * gst/gstelement.c: (gst_element_dispose):
28496
28497 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28498
28499         * gst/registries/gstlibxmlregistry.c: (load_feature):
28500           plug more leaks.  A simple gst_init() now is leakfree, yay.
28501
28502 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28503
28504         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28505         (gst_xml_registry_load):
28506           plug another memleak
28507
28508 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28509
28510         * configure.ac:
28511           use GST_SET_ERROR_CFLAGS
28512         * docs/faq/cvs.xml:
28513           change to ERROR_CFLAGS
28514
28515 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28516
28517         * configure.ac:
28518           make GST_ERROR_CFLAGS overridable and re-enable Werror
28519         * docs/faq/cvs.xml:
28520           add a note about error CFLAGS
28521         * docs/gst/tmpl/gstfakesrc.sgml:
28522         * gst/elements/gstfakesrc.c:
28523           comment out some unused code
28524         * gst/gst.c: (split_and_iterate):
28525         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28526         (load_feature):
28527           plug some memleaks
28528
28529 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28530
28531         * common/Makefile.am:
28532         * common/gtk-doc.mak:
28533         * docs/gst/Makefile.am:
28534           factor out gtk-doc.mak
28535
28536 2005-07-07  Wim Taymans  <wim@fluendo.com>
28537
28538         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28539         (gst_thread_scheduler_dispose):
28540         Unlock the STREAM_LOCK completely.
28541
28542 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28543
28544         * check/Makefile.am:
28545         * check/elements/.cvsignore:
28546         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28547         (START_TEST), (fakesrc_suite), (main):
28548         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28549         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28550         (gst_fakesrc_create), (gst_fakesrc_start):
28551         * gst/elements/gstfakesrc.h:
28552           adding a first element test
28553
28554 2005-07-07  Andy Wingo  <wingo@pobox.com>
28555
28556         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28557         debug message.
28558
28559 2005-07-07  Wim Taymans  <wim@fluendo.com>
28560
28561         * gst/gstquery.c:
28562         * gst/gstquery.h:
28563         Remove old types
28564
28565 2005-07-07  Wim Taymans  <wim@fluendo.com>
28566
28567         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28568         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28569         Allow subclasses to implement their own negotiation.
28570
28571 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28572
28573         * docs/design/part-gstbin.txt:
28574         * docs/design/part-gstpipeline.txt:
28575           Update design notes to reflect the movement of
28576           responsibility for bus handling from GstPipeline to
28577           GstBin
28578
28579 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28580
28581         * configure.ac:
28582           Remove unnecessary queue2/3/4 examples.
28583
28584 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28585
28586         * examples/Makefile.am:
28587         * examples/helloworld/helloworld.c: (event_loop), (main):
28588         * examples/queue/queue.c: (event_loop), (main):
28589         * examples/queue2/queue2.c: (main):
28590           Update a couple of the examples to work again.
28591
28592         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28593         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28594          Spelling corrections and extra debug.
28595         
28596         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28597         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28598         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28599         * gst/gstbin.h:
28600         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28601         (gst_pipeline_change_state):
28602         * gst/gstpipeline.h:
28603           Move the bus handler for children to the GstBin, and create a
28604           separate bus for receiving messages from children to the one the
28605           bus sends 'upwards' on.
28606
28607 2005-07-06  Wim Taymans  <wim@fluendo.com>
28608
28609         * gst/base/README:
28610         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28611         (gst_base_sink_handle_object), (gst_base_sink_loop),
28612         (gst_base_sink_change_state):
28613         * gst/base/gstbasesink.h:
28614         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28615         (gst_base_src_init), (gst_base_src_setcaps),
28616         (gst_base_src_getcaps), (gst_base_src_loop),
28617         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28618         (gst_base_src_start), (gst_base_src_change_state):
28619         * gst/base/gstbasesrc.h:
28620         Make basesrc negotiate.
28621         Handle the case where preroll fails in basesink.
28622         Update README.
28623
28624 2005-07-06  Wim Taymans  <wim@fluendo.com>
28625
28626         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28627         Implement the fixate function.
28628         Clean up acceptcaps.
28629
28630 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28631
28632         * docs/pwg/building-filterfactory.xml:
28633         * docs/pwg/pwg.xml:
28634           Remove never-written filter-factory chapter; I'll add the various
28635           base classes to part 4 ("other element types") later on.
28636
28637 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28638
28639         * docs/pwg/advanced-negotiation.xml:
28640         * docs/pwg/building-boiler.xml:
28641         * docs/pwg/building-pads.xml:
28642         * docs/pwg/pwg.xml:
28643         * examples/pwg/Makefile.am:
28644           Add a chapter on caps negotiation, simplify the original code
28645           samples a bit w.r.t. caps negotiation, add link to the advanced
28646           section. Add a bunch of examples showing different use cases of
28647           different types of caps negotiation. Upstream renegotiation isn't
28648           fully documented yet since nobody knows how that works.
28649
28650 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28651
28652         * check/gst/gstpad.c:
28653         * check/gstcheck.c:
28654         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28655           if pad has no parent, return NULL as list of internal links
28656
28657 2005-07-05  Andy Wingo  <wingo@pobox.com>
28658
28659         * gst/elements/gstfilesrc.c:
28660         * gst/elements/gstfakesrc.c: 
28661         * gst/base/gstpushsrc.c:
28662         * gst/base/gstbasesrc.h: 
28663         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28664         
28665 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28666
28667         * Makefile.am:
28668           better report generation target (lcov needs a patch)
28669
28670 2005-07-05  Andy Wingo  <wingo@pobox.com>
28671
28672         * gst/elements, testsuite: Null if we got it...
28673
28674 2005-07-05  Wim Taymans  <wim@fluendo.com>
28675
28676         * configure.ac:
28677         * libs/gst/dataprotocol/Makefile.am:
28678         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28679         * libs/gst/dataprotocol/dataprotocol.h:
28680         * pkgconfig/Makefile.am:
28681         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28682         * pkgconfig/gstreamer-dataprotocol.pc.in:
28683         Ported dataprotol to 0.9. 
28684         Added pkgconfig files.
28685
28686 2005-07-05  Andy Wingo  <wingo@pobox.com>
28687
28688         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28689         Default to returning TRUE for the case when tranform_caps returns
28690         a fixed caps, like for identity or volume.
28691
28692         * check/gst/gstbus.c (pound_bus_with_messages): 
28693         * check/gst/gstmessage.c (START_TEST): 
28694         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28695         message API change.
28696
28697         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28698         logic weaks here: always run transform_caps, trying passthrough
28699         operation only if the original caps intersects with the transform.
28700
28701         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28702         source and sink caps.
28703
28704         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28705         Intersect the peer caps with the pad template before going into
28706         transform_caps.
28707         (gst_base_transform_transform_caps): More debugging.
28708
28709         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28710         src argument.
28711
28712 2005-07-04  Edward Hervey  <edward@fluendo.com>
28713
28714         * gst/gstutils.c:
28715         * gst/gstutils.h:
28716         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28717         in bindings.
28718
28719 2005-07-04  Andy Wingo  <wingo@pobox.com>
28720
28721         * check/gst/gstpad.c: Only set explicit caps on pads.
28722
28723 2005-07-01  Andy Wingo  <wingo@pobox.com>
28724
28725         * tests/network-clock.scm: Commentary update.
28726
28727         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28728         Didn't really make sense, not implementable with basetransform,
28729         etc.
28730         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28731         attempt at implementing the sync property, needs an unlock method.
28732
28733         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28734         New func, by default returns the same caps (the identity
28735         transformation).
28736         (gst_base_transform_getcaps): Uses transform_caps to return
28737         something sensible.
28738         (gst_base_transform_setcaps): Complicated logic to get caps on
28739         both pads, even if they are different, and to call set_caps once
28740         for every time both pads get their caps set.
28741         (gst_base_transform_handle_buffer): Give the ref to the transform
28742         function. Allows in-place modification of the buffer.
28743
28744         * gst/base/gstbasetransform.h (transform_caps): New class method.
28745         Given caps on one side, what can I do on the other.
28746         (set_caps): Take two caps, one for each side of the element.
28747
28748         * gst/gstpad.h:
28749         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28750         caps in place. This is safe because we can check the mutability of
28751         the caps, and a good idea because fixate functions are just called
28752         as a matter of last resort. (Not actually implemented.)
28753         (gst_pad_set_caps): If the caps we're setting is actually the same
28754         as the existing pad caps, just update the pointer without calling
28755         setcaps. Assert that caps is either NULL or fixed, as per the
28756         docs.
28757
28758         * gst/gstghostpad.c: Update for fixate changes.
28759
28760 2005-07-02  Andy Wingo  <wingo@pobox.com>
28761
28762         * gst/gstcaps.c:
28763         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28764         two refcounts makes it immutable, which is enough. Doc more.
28765
28766 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28767
28768         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28769           Put the mini_object into GValue as a mini_object,
28770           not a gpointer, since that's how we declared
28771           the signal.
28772
28773 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28774
28775         * examples/pwg/Makefile.am:
28776           Fix buildbot again.
28777
28778 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28779
28780         * docs/pwg/building-testapp.xml:
28781           Add extra check.
28782         * examples/pwg/Makefile.am:
28783           Fix buildbot.
28784
28785 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28786
28787         * configure.ac:
28788         * examples/Makefile.am:
28789         * examples/pwg/Makefile.am:
28790         * examples/pwg/extract.pl:
28791           Enable building the PWG examples.
28792         * docs/pwg/advanced-interfaces.xml:
28793           Add URI interface stub.
28794         * docs/pwg/advanced-types.xml:
28795         * docs/pwg/other-autoplugger.xml:
28796         * docs/pwg/appendix-porting.xml:
28797         * docs/pwg/pwg.xml:
28798           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28799         * docs/pwg/building-boiler.xml:
28800         * docs/pwg/building-chainfn.xml:
28801         * docs/pwg/building-pads.xml:
28802         * docs/pwg/building-props.xml:
28803         * docs/pwg/building-state.xml:
28804         * docs/pwg/building-testapp.xml:
28805           Update the building-*.xml parts for 0.9 changes. All examples
28806           code blocks compile in examples/pwg/*.
28807
28808 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28809
28810         * docs/manual/advanced-autoplugging.xml:
28811         * docs/manual/appendix-checklist.xml:
28812         * docs/manual/appendix-integration.xml:
28813         * docs/manual/highlevel-components.xml:
28814           Fix playbin/decodebin examples, update docs a bit, mention bus
28815           instead of signals in various places, mention kmplayer and
28816           kaffeine since they have a working GStreamer backend in the KDE
28817           section.
28818
28819 2005-06-30  Wim Taymans  <wim@fluendo.com>
28820
28821         * CHANGES-0.9:
28822         * docs/design/draft-ghostpads.txt:
28823         * docs/design/draft-push-pull.txt:
28824         * docs/design/draft-query.txt:
28825         * docs/design/part-TODO.txt:
28826         * docs/design/part-query.txt:
28827         Added CHANGES-0.9 doc, updated status of other docs.
28828         
28829         * gst/gstquery.h:
28830         Remove "hmm" macro
28831
28832 2005-06-30  Wim Taymans  <wim@fluendo.com>
28833
28834         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28835         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28836         (gst_base_sink_change_state):
28837         * gst/base/gstbasesink.h:
28838         Some tweaks, only EOS and a buffer complete a preroll.
28839
28840 2005-06-30  Andy Wingo  <wingo@pobox.com>
28841
28842         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28843         activate_push down to the internal pad as well.
28844
28845 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28846
28847         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28848
28849         * gst/gsttaginterface.c:
28850           Some documentation fixes (#307394 and #307397).
28851
28852 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28853
28854         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28855
28856         * gst/gstvalue.c: (gst_value_intersect_list):
28857           Fix memleak (#309125).
28858
28859 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28860
28861         * docs/manual/advanced-dataaccess.xml:
28862           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28863         * docs/manual/basics-pads.xml:
28864           Add reference for filtered caps to above chapter.
28865
28866 2005-06-30  Wim Taymans  <wim@fluendo.com>
28867
28868         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28869         (gst_bin_change_state):
28870         Probes are gone.
28871         Lame attempt at making the state change function a bit
28872         more readable.
28873
28874 2005-06-30  Wim Taymans  <wim@fluendo.com>
28875
28876         * docs/design/part-clocks.txt:
28877         * docs/design/part-element-sink.txt:
28878         * docs/design/part-events.txt:
28879         * docs/design/part-preroll.txt:
28880         * docs/design/part-states.txt:
28881         Some more tweeks and additions to the docs.
28882
28883 2005-06-30  Wim Taymans  <wim@fluendo.com>
28884
28885         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28886         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28887         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28888         (gst_pad_check_pull_range), (gst_pad_get_range),
28889         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28890         * gst/gstpad.h:
28891         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28892         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28893         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28894         (gst_pad_remove_buffer_probe):
28895         Removed atomic operations, use existing LOCK.
28896         Move exception handling out of main code path.
28897
28898 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28899
28900         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28901         (silly_return_true_function), (gst_pad_class_init),
28902         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28903         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28904         (gst_pad_send_event):
28905           Fix accumulator, add default value by using _emitv() instead
28906           of _emit() for signal emission.
28907
28908 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28909
28910         * docs/manual/advanced-dataaccess.xml:
28911         * examples/manual/Makefile.am:
28912           Add probe example.
28913         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28914           Make work (??).
28915
28916 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28917
28918         * gst/elements/gstfilesink.c: (gst_filesink_render):
28919           Simplify code so that we don't have to handle short
28920           writes and return GST_FLOW_ERROR if an error occured.
28921
28922 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28923
28924         * docs/gst/gstreamer-docs.sgml:
28925           Remove probes more.
28926
28927 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28928
28929         * docs/gst/gstreamer-sections.txt:
28930         * docs/gst/tmpl/gstpad.sgml:
28931         * docs/gst/tmpl/gstprobe.sgml:
28932         * gst/Makefile.am:
28933         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28934         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28935         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28936         (gst_pad_push_event), (gst_pad_send_event):
28937         * gst/gstpad.h:
28938         * gst/gstutils.c: (gst_pad_add_data_probe),
28939         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28940         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28941         (gst_pad_remove_buffer_probe):
28942         * gst/gstutils.h:
28943           Remove old probes, add new g-signal-based probes and some utility
28944           functions.
28945
28946 2005-06-29  Edward Hervey  <edward@fluendo.com>
28947
28948         * gst/gstelementfactory.c:
28949         * gst/gstutils.h:
28950         * gst/gstutils.c:
28951         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28952         the definition to the header file.
28953
28954 2005-06-29  Andy Wingo  <wingo@pobox.com>
28955
28956         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28957         plugins from the source directory.
28958
28959 2005-06-29  Wim Taymans  <wim@fluendo.com>
28960
28961         * docs/gst/tmpl/gstbuffer.sgml:
28962         * docs/gst/tmpl/gstclock.sgml:
28963         Some fixings for blantently wrong text.
28964
28965 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28966
28967         * check/Makefile.am:
28968         * gst/gst.c: (add_path_func), (init_pre):
28969         * gst/gstregistry.c: (gst_registry_add_path):
28970           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28971           only scan the GST_PLUGIN_PATH locations, and not add
28972           system locations
28973
28974 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28975
28976         * docs/gst/gstreamer-sections.txt:
28977         * docs/gst/tmpl/gstbasesrc.sgml:
28978         * gst/gstelement.c:
28979         * gst/gstelement.h:
28980         * gst/gstevent.c:
28981         * gst/gstutils.c:
28982           doc fixes
28983
28984 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28985
28986         * docs/manual/advanced-autoplugging.xml:
28987           Fix autoplugging example.
28988
28989 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28990
28991         * docs/manual/advanced-autoplugging.xml:
28992         * docs/manual/mime-world.fig:
28993           Try to get autoplugging working, fix type detection. Fix text
28994           in hello-world image.
28995
28996 2005-06-29  Wim Taymans  <wim@fluendo.com>
28997
28998         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28999         (gst_base_sink_change_state):
29000         Small debug line.
29001
29002         * gst/gstclock.h:
29003         map SIGNAL and BROADCAST to the right function.
29004
29005         * gst/gstobject.h:
29006         Remove redundant braces.
29007
29008         * gst/gstpad.c: (gst_pad_set_caps):
29009         Don't call setcaps function when reseting caps to NULL.
29010
29011         * gst/gstsystemclock.c: (gst_system_clock_dispose),
29012         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29013         (gst_system_clock_id_unschedule):
29014         Use BROADCAST as this is what we do.
29015
29016 2005-06-29  Wim Taymans  <wim@fluendo.com>
29017
29018         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29019         We are actually prerolling before commiting the state
29020         change. 
29021
29022 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29023
29024         * docs/manual/advanced-clocks.xml:
29025         * docs/manual/advanced-interfaces.xml:
29026         * docs/manual/advanced-metadata.xml:
29027         * docs/manual/advanced-position.xml:
29028         * docs/manual/advanced-schedulers.xml:
29029         * docs/manual/advanced-threads.xml:
29030         * docs/manual/appendix-porting.xml:
29031         * docs/manual/basics-bins.xml:
29032         * docs/manual/basics-bus.xml:
29033         * docs/manual/basics-elements.xml:
29034         * docs/manual/basics-helloworld.xml:
29035         * docs/manual/basics-pads.xml:
29036         * docs/manual/highlevel-components.xml:
29037         * docs/manual/manual.xml:
29038         * docs/manual/thread.fig:
29039           Update (until threads/scheduling) Application Development Manual;
29040           remove GstThread, add GstBus, add simple porting checklist, add
29041           documentation for tag writing, clocks, make all examples until this
29042           part compile and run.
29043         * examples/manual/Makefile.am:
29044           Update from changes to Application Development Manual; add bus
29045           example, remove thread example.
29046
29047 2005-06-28  Wim Taymans  <wim@fluendo.com>
29048
29049         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29050         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29051         (gst_bus_source_dispatch):
29052         Add debugging messages.
29053         Make internal methods static.
29054         Handle the case where the bus is flushed in the handler.
29055         
29056         * gst/gstelement.c: (gst_element_get_bus):
29057         Fix refcount in _get_bus();
29058
29059         * gst/gstpipeline.c: (gst_pipeline_change_state),
29060         (gst_pipeline_get_clock_func):
29061         Clock refcounting fixes.
29062         Handle the case where preroll timed out more gracefully.
29063         
29064         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29065         Clean up the internal thread in dispose. This is needed
29066         for subclasses that actually get disposed.
29067         
29068         * gst/schedulers/threadscheduler.c:
29069         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29070         (gst_thread_scheduler_dispose):
29071         Free thread pool in dispose.
29072
29073 2005-06-28  Andy Wingo  <wingo@pobox.com>
29074
29075         * tests/network-clock-utils.scm (debug, print-event): New utils.
29076
29077         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29078         (*packet-loss*): Unified loss probability.
29079         (network-time): Report out-of-band events.
29080
29081         * tests/plot-data: Add support for out-of-band events. Hack it
29082         into this script instead of passing it down the pipe; should fix
29083         this later.
29084
29085 2005-06-28  Wim Taymans  <wim@fluendo.com>
29086
29087         * docs/gst/gstreamer.types:
29088         * docs/gst/tmpl/gstbasesrc.sgml:
29089         * docs/gst/tmpl/gstpad.sgml:
29090         Docs fixes.
29091
29092 2005-06-28  Wim Taymans  <wim@fluendo.com>
29093
29094         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29095         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29096         (gst_proxy_pad_do_fixatecaps):
29097         Correctly proxy the check_pull_range function.
29098
29099 2005-06-28  Andy Wingo  <wingo@pobox.com>
29100
29101         * tests/network-clock.scm: Removed need for slib.
29102         
29103 2005-06-28  Wim Taymans  <wim@fluendo.com>
29104
29105         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29106         (gst_basesink_preroll_queue_flush):
29107         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29108         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29109         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29110         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29111         (gst_proxy_pad_set_property):
29112         * gst/gstpad.c:
29113         * gst/gstpad.h:
29114         * gst/gstqueue.c: (gst_queue_init):
29115         The deprecated pad loop function is removed now.
29116
29117 2005-06-28  Andy Wingo  <wingo@pobox.com>
29118
29119         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29120         New parameters, simulate network packet loss.
29121
29122         * tests/network-clock-utils.scm: Initialize the RNG.
29123
29124 2005-06-28  Wim Taymans  <wim@fluendo.com>
29125
29126         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29127         (gst_basesink_event), (gst_basesink_deactivate):
29128         Flushing the preroll queue always needs to unlock the waiters.
29129
29130 2005-06-28  Edward Hervey  <edward@fluendo.com>
29131
29132         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29133         Wheen a seek was successful on a pipeline, set the stream_time to the
29134         seek offset in order to have a synchronized stream_time.
29135
29136 2005-06-28  Wim Taymans  <wim@fluendo.com>
29137
29138         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29139         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29140         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29141         (gst_proxy_pad_do_fixatecaps):
29142         Call wrapper function instead of just calling the function
29143         pointers. This takes care of any locking and whatmore.
29144
29145 2005-06-28  Wim Taymans  <wim@fluendo.com>
29146
29147         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29148         (gst_pad_pull_range):
29149         * gst/gstpad.h:
29150         CONNECTED -> LINKED.
29151
29152 2005-06-28  Andy Wingo  <wingo@pobox.com>
29153
29154         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29155         source-munging commit!!!
29156
29157         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29158         (gst_object_sink): Take gpointer arguments, not GstObject --
29159         avoids casts. Like GLib.
29160
29161         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29162         activate.
29163
29164 2005-06-27  Andy Wingo  <wingo@pobox.com>
29165
29166         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29167         remaining buffer.
29168
29169         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29170         returns a sorted copy of the trace list.
29171         (gst_alloc_trace_print_live): New API, only prints traces with
29172         live objects. Sort the list.
29173         (gst_alloc_trace_print_all): Sort the list.
29174         (gst_alloc_trace_print): Align columns.
29175
29176         * gst/elements/gstttypefindelement.c:
29177         * gst/elements/gsttee.c:
29178         * gst/base/gstbasesrc.c:
29179         * gst/base/gstbasesink.c:
29180         * gst/base/gstbasetransform.c:
29181         * gst/gstqueue.c: Adapt for pad activation changes.
29182
29183         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29184         sched.
29185         (gst_pipeline_dispose): Drop ref on sched.
29186
29187         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29188         (gst_pad_activate_default): Push mode by default.
29189         (pre_activate_switch, post_activate_switch): New stubs, things to
29190         do before and after switching activation modes on pads.
29191         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29192         the pad's activate function to choose which mode to activate.
29193         Shortcut on deactivation and call the right function directly.
29194         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29195         mode.
29196         (gst_pad_activate_push): New API, same for push mode.
29197         (gst_pad_set_activate_function) 
29198         (gst_pad_set_activatepull_function) 
29199         (gst_pad_set_activatepush_function): Setters for new API.
29200
29201         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29202         Trace all miniobjects.
29203         (gst_mini_object_make_writable): Unref the arg if we copy, like
29204         gst_caps_make_writable.
29205
29206         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29207
29208         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29209         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29210         Adapt for new pad API.
29211
29212         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29213
29214         * gst/gstelement.h:
29215         * gst/gstelement.c (gst_element_iterate_src_pads) 
29216         (gst_element_iterate_sink_pads): New API functions.
29217         
29218         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29219         should fold into gstiterator.c in some form.
29220         (gst_element_pads_activate): Simplified via use of fold and
29221         delegation of decisions to gstpad->activate.
29222
29223         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29224         help in debugging.
29225
29226         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29227         class once in init, like gstmessage. Didn't run into this issue
29228         but it seems correct. Don't initialize a trace, gstminiobject does
29229         that.
29230
29231         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29232         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29233         to the bus.
29234         (assert_live_count): New util function, uses alloc traces to check
29235         cleanup.
29236
29237         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29238         To be modified when unlink drops the internal pad.
29239
29240 2005-06-27  Wim Taymans  <wim@fluendo.com>
29241
29242         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29243         (gst_bin_change_state):
29244         Cleanup the get_state() function a little, make sure it
29245         iterates the same set of elements.
29246         Added stub iterate_state_order().
29247
29248 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29249
29250         * docs/gst/gstreamer-docs.sgml:
29251         * docs/gst/gstreamer-sections.txt:
29252         * docs/gst/gstreamer.types:
29253         * docs/gst/tmpl/gstbasesink.sgml:
29254         * docs/gst/tmpl/gstbasesrc.sgml:
29255         * docs/gst/tmpl/gstbasetransform.sgml:
29256         * docs/gst/tmpl/gstelement.sgml:
29257         * docs/gst/tmpl/gstiterator.sgml:
29258         * gst/base/gstbasesrc.c:
29259         * gst/base/gstbasesrc.h:
29260         * gst/base/gstbasetransform.h:
29261         * gst/gstelement.c:
29262         * gst/gstiterator.h:
29263           adding basetransform and iterator docs
29264
29265 2005-06-27  Andy Wingo  <wingo@pobox.com>
29266
29267         * docs/design/part-activation.txt: Notes on how activation should
29268         work -- not quite implemented yet.
29269
29270 2005-06-25  Wim Taymans  <wim@fluendo.com>
29271
29272         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29273         At least get the chain function correct, needs more
29274         fixing.
29275
29276 2005-06-25  Wim Taymans  <wim@fluendo.com>
29277
29278         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29279         (gst_basesink_handle_object), (gst_basesink_event),
29280         (gst_basesink_do_sync), (gst_basesink_handle_event),
29281         (gst_basesink_change_state):
29282         * gst/gsttask.h:
29283         Right, two problems here: ghostpads don't take locks and
29284         glib _rec_mutex_lock_full() with depth==0 still locks.
29285         Catch illegal locking and g_warn them.
29286
29287 2005-06-25  Wim Taymans  <wim@fluendo.com>
29288
29289         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29290         Have to check for completion now...
29291
29292 2005-06-25  Wim Taymans  <wim@fluendo.com>
29293
29294         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29295         (gst_basesink_handle_object), (gst_basesink_event),
29296         (gst_basesink_do_sync), (gst_basesink_handle_event),
29297         (gst_basesink_change_state):
29298         * gst/gstpad.h:
29299         Unlock STREAM_LOCK whatever the recursion was.
29300
29301 2005-06-25  Wim Taymans  <wim@fluendo.com>
29302
29303         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29304         (gst_basesink_preroll_queue_empty),
29305         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29306         (gst_basesink_event), (gst_basesink_do_sync),
29307         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29308         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29309         (gst_basesink_change_state):
29310         Reworked the base sink, handle event and buffer serialisation
29311         correctly and removed possible deadlock.
29312         Handle EOS correctly.
29313
29314 2005-06-25  Wim Taymans  <wim@fluendo.com>
29315
29316         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29317         (gst_pipeline_change_state):
29318         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29319         Allow elements to post EOS in the state change function.
29320         Fix up -launch, make it exit the poll loop when the
29321         pipeline actually changed state.
29322         Fix up warning parsing in -launch.
29323
29324 2005-06-25  Wim Taymans  <wim@fluendo.com>
29325
29326         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29327         (gst_tee_sink_activate):
29328         Core takes STREAM_LOCK for us now.
29329
29330 2005-06-25  Wim Taymans  <wim@fluendo.com>
29331
29332         * gst/gstelement.c: (gst_element_get_state_func),
29333         (gst_element_set_state):
29334         * gst/gstelement.h:
29335         * gst/gstmessage.c: (gst_message_parse_error),
29336         (gst_message_parse_warning):
29337         Keep track of current target state while performing a state
29338         change so that subclasses can do something interesting.
29339         Fix parsing of warning/error messages when GError is NULL.
29340
29341 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29342
29343         * docs/gst/Makefile.am:
29344         * docs/gst/gstreamer-docs.sgml:
29345         * docs/gst/gstreamer-sections.txt:
29346         * docs/gst/gstreamer.types:
29347         * docs/gst/tmpl/gstbasesink.sgml:
29348         * docs/gst/tmpl/gstbasesrc.sgml:
29349         * docs/gst/tmpl/gstbin.sgml:
29350         * docs/gst/tmpl/gstcompat.sgml:
29351         * docs/gst/tmpl/gstfakesink.sgml:
29352         * docs/gst/tmpl/gstfakesrc.sgml:
29353         * docs/gst/tmpl/gstfilesink.sgml:
29354         * docs/gst/tmpl/gstfilesrc.sgml:
29355         * docs/gst/tmpl/gstindex.sgml:
29356         * docs/manual/appendix-quotes.xml:
29357         * gst/base/gstbasesrc.h:
29358         * gst/elements/gstfakesrc.h:
29359         * gst/gstmessage.h:
29360           start pulling in base classes and elements in our docs
29361
29362 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29363
29364         * docs/gst/Makefile.am:
29365         * docs/libs/Makefile.am:
29366           fixed make distcheck with gtk-doc 1.3
29367
29368 2005-06-23  Wim Taymans  <wim@fluendo.com>
29369
29370         * gst/gstelement.c: (gst_element_get_state_func),
29371         (gst_element_set_state), (gst_element_change_state):
29372         When the state did not change, also report NO_PREROLL
29373         when it matters.
29374
29375 2005-06-23  Wim Taymans  <wim@fluendo.com>
29376
29377         * gst/gstpad.c: (gst_pad_event_default):
29378         * gst/gstqueue.c: (gst_queue_loop):
29379         No unsafe task pausing please.
29380
29381 2005-06-23  Wim Taymans  <wim@fluendo.com>
29382
29383         * gst/schedulers/threadscheduler.c:
29384         (gst_thread_scheduler_task_start),
29385         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29386         Ref the task before pushing it on the threadpool. This
29387         makes sure that we have a ref when the threadfunction is
29388         actually called.
29389
29390 2005-06-23  Andy Wingo  <wingo@pobox.com>
29391
29392         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29393         offset is greater than the file's size.
29394
29395         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29396         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29397         * gst/gstobject.c (gst_object_class_init): Make the class lock
29398         recursive. Wim won't let me drop deep_notify. Decodebin works
29399         again, whoopdy doo.
29400
29401         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29402         internal pad, and hacks accordingly. Doesn't do it on the target
29403         pad because we change its caps. Probably catches all cases of
29404         interest tho.
29405         (gst_ghost_pad_set_property): Connect to notify::caps as
29406         appropritate.
29407
29408         * tests/network-clock.scm (plot-simulation): Pipe data to the
29409         elite python skript.
29410
29411         * tests/network-clock-utils.scm (define-parameter): New macro,
29412         defines a parameter that can be set via the command line.
29413         (set-parameter!, parse-parameter-arguments): Command line args
29414         parser.
29415
29416         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29417         stdin.
29418
29419 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29420
29421         * gst/elements/gsttypefindelement.c:
29422         (gst_type_find_element_handle_event):
29423           Don't restart typefinding on a discont.
29424         * gst/gstelement.c: (gst_element_set_state):
29425           Debug spelling fix.
29426         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29427           Allow changing mode of an active pad.
29428           Debug output fixes.
29429         * gst/registries/gstlibxmlregistry.c: (load_feature):
29430           Don't cast a static pad template to a normal pad template.
29431
29432 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29433
29434         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29435         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29436           remove gst_strtoll completely, since it didn't actually do
29437           anything more than what g_ascii_strtoull already does.
29438           check for range errors when deserializing
29439           do a cast for the unsigned cases; but further fixing needs
29440           a decision on what the interpretation of "(int)" and
29441           deserialization should be for values that fall outside the
29442           type's boundaries (ie, refuse, or interpret as casting)
29443
29444 2005-06-23  Wim Taymans  <wim@fluendo.com>
29445
29446         * check/Makefile.am:
29447         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29448         * docs/design/part-live-source.txt:
29449         * docs/design/part-states.txt:
29450         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29451         (gst_basesrc_set_live), (gst_basesrc_is_live),
29452         (gst_basesrc_get_range), (gst_basesrc_activate),
29453         (gst_basesrc_change_state):
29454         * gst/base/gstbasesrc.h:
29455         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29456         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29457         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29458         * gst/gstelement.c: (gst_element_get_state_func),
29459         (gst_element_set_state):
29460         * gst/gstelement.h:
29461         * gst/gsttypes.h:
29462         * tools/gst-launch.c: (event_loop), (main):
29463         Added support for live sources and other elements that
29464         cannot do preroll.
29465         Updated design docs, added live-source design doc.
29466         Implemented live source functionality in basesrc
29467         Fix error condition in _bin_get_state()
29468         Implement live source handling in -launch.
29469         Added check for live sources.
29470         Fixed case in GstBin where elements were changed state
29471         multiple times.
29472
29473
29474 2005-06-23  Andy Wingo  <wingo@pobox.com>
29475
29476         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29477         borken refcounting.
29478
29479         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29480         gst_caps_replace takes care of this for us.
29481
29482         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29483         gst_pad_set_caps on the target, not just its setcaps() function.
29484
29485         * tests/network-clock.scm: 
29486         * tests/network-clock-utils.scm: A network clock simulator.
29487         Something of an algorithmic testbed before doing something in C.
29488
29489 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29490
29491         * check/Makefile.am:
29492         * check/gst/capslist.h:
29493           copy over from 0.8, and add two with bitmasks specified with
29494           (int) 0xFF...
29495         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29496           add test to parse everything from capslist.h
29497         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29498         (main):
29499           add test for structure deserialization
29500         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29501           add tests for deserialization of strings to int types
29502         * gst/gststructure.c: (gst_structure_nth_field_name):
29503         * gst/gststructure.h:
29504           add a way to get the name of a field referenced by index
29505         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29506           instead of checking if the resulting long long lies between
29507           min and max, we check if the long long would fit into
29508           a number of bytes for the final type.
29509           This fixes cases where a string represents 2^32 - 1, which
29510           when cast to int would be the (valid) -1, but is bigger than
29511           G_MAXINT
29512
29513 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29514
29515         * gst/parse/grammar.y:
29516           add a log line for type deserialization
29517
29518 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29519
29520         * check/gst/gstvalue.c: (START_TEST):
29521         * gst/gstvalue.c: (gst_value_deserialize):
29522           return long long, not int, so gint64 deserialization actually
29523           works.  Is there any flag that makes the compiler check this ?
29524           Fixes #308559
29525
29526 2005-06-22  Wim Taymans  <wim@fluendo.com>
29527
29528         * gst/gstbuffer.h:
29529         Added convenience macros for setting buffers in GValue.
29530
29531 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29532
29533         * check/gst/.cvsignore:
29534         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29535           add a test deserializing int64, and comment part out because
29536           it fails, yay !
29537
29538 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29539
29540         * check/Makefile.am:
29541         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29542         * testsuite/Makefile.am:
29543         * testsuite/caps/Makefile.am:
29544         * testsuite/caps/value_serialize.c:
29545         * testsuite/test_gst_init.c:
29546           move a value_serialize test over
29547
29548 2005-06-20  Wim Taymans  <wim@fluendo.com>
29549
29550         * gst/gstpad.c:
29551         Small doc updates.
29552         
29553         * gst/gstvalue.c: (gst_value_compare_buffer),
29554         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29555         (gst_value_compare_flags), (gst_value_serialize_flags),
29556         (gst_value_deserialize_flags), (_gst_value_initialize):
29557         Fix serialisation of buffers, they are not boxed types anymore
29558
29559 2005-06-20  Wim Taymans  <wim@fluendo.com>
29560
29561         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29562         Testcase to show error in buffer-on-caps serialisation.
29563
29564 2005-06-20  Andy Wingo  <wingo@pobox.com>
29565
29566         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29567         will be adding to later.
29568
29569         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29570         if its socks fill with rocks.
29571         (gst_system_clock_obtain): Set the name on object construction.
29572         Avoid double-checked locking.
29573
29574 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29575
29576         * gst/gsturi.c: (gst_element_make_from_uri):
29577           Fix potential endless loop.
29578
29579 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29580
29581         * check/Makefile.am:
29582           add gsttag
29583         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29584         (main):
29585           move over from testsuite dir and clean up
29586         * configure.ac:
29587         * gst/gsttag.c:
29588         * testsuite/Makefile.am:
29589         * testsuite/tags/.cvsignore:
29590         * testsuite/tags/Makefile.am:
29591         * testsuite/tags/merge.c:
29592           remove testsuite/tags
29593
29594 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29595
29596         * docs/gst/gstreamer-sections.txt:
29597         * docs/gst/tmpl/gstenumtypes.sgml:
29598         * win32/gstenumtypes.c:
29599           clean up documentation build a little
29600
29601 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29602
29603         * check/gstcheck.h:
29604           add macros for checking refcounts on objects and caps
29605         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29606           add some more unit tests
29607         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29608         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29609           fix leaked refcounts (I hope :)) so unittest works
29610         * gst/gstpad.h:
29611           whitespace removal
29612
29613 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29614
29615         * configure.ac: back to HEAD
29616
29617 === release 0.9.1 ===
29618
29619 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29620
29621         * NEWS:
29622         * RELEASE:
29623           updated
29624
29625 2005-06-17  Andy Wingo  <wingo@pobox.com>
29626
29627         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29628         assert; it's always possible that the pad gets deactivated in
29629         between the checks in gstpad.c and the implementation. Rely on
29630         finish_preroll() to return a FLUSHING or similar instead of on the
29631         assert.
29632         
29633         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29634         clock and post an EOS message if we come out of finish_preroll in
29635         the playing state.
29636
29637 2005-06-16  David Schleef  <ds@schleef.org>
29638
29639         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29640         (gst_capsfilter_set_property): Allow NULL as possible value
29641         for filter_caps property, indicating GST_CAPS_ANY.
29642
29643 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29644
29645         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29646           fix debug output
29647         * gst/schedulers/Makefile.am:
29648           use libgst prefix
29649         * gstreamer.spec.in:
29650           fix spec for it
29651
29652 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29653
29654         * gstreamer.spec.in:
29655           clean up
29656
29657 2005-06-08  Andy Wingo  <wingo@pobox.com>
29658
29659         * gst/gstutils.c: RPAD fixes all around.
29660         (gst_element_link_pads): Refcounting fixes.
29661
29662         * tools/gst-inspect.c:
29663         * tools/gst-xmlinspect.c:
29664         * parse/grammar.y:
29665         * gst/base/gsttypefindhelper.c:
29666         * gst/base/gstbasesink.c:
29667         * gst/gstqueue.c: RPAD fixes.
29668
29669         * gst/gstghostpad.h:
29670         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29671         pads. The tricky thing is they provide both source and sink
29672         interfaces, since they proxy the internal pad for the external
29673         pad, and vice versa. Implement with lower-level ProxyPad objects,
29674         with the interior proxy pad as a child of the exterior ghost pad.
29675         Should write a doc on this.
29676         
29677         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29678         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29679         gst_object API.
29680         
29681         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29682         pads are real pads. No ghost pads in this file. Not documenting
29683         the myriad s/RPAD/PAD/ and REALIZE fixes.
29684         (gst_pad_class_init): Add properties for "direction" and
29685         "template". Both are construct-only, so they can't change during
29686         the life of the pad. Fixes properly deriving from GstPad.
29687         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29688         derived objects, just set properties when creating the objects via
29689         g_object_new.
29690         (gst_pad_get_parent): Implement as a function, return NULL if the
29691         parent is not an element.
29692         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29693         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29694         
29695         * gst/gstobject.c (gst_object_class_init): Make name a construct
29696         property. Don't set it in the object init.
29697
29698         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29699         with UNKNOWN direction.
29700         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29701         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29702         (gst_element_remove_pad): Remove ghost-pad special cases.
29703         (gst_element_pads_activate): Remove rpad cruft.
29704
29705         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29706         catch the pad's-parent-not-an-element case.
29707
29708         * gst/gst.h: Include gstghostpad.h.
29709
29710         * gst/gst.c (init_post): No more real, ghost pads.
29711
29712         * gst/Makefile.am: Add gstghostpad.[ch].
29713
29714         * check/Makefile.am:
29715         * check/gst/gstbin.c:
29716         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29717         into a bin creates ghost pads, and that the refcounts are right.
29718         Partly moved from gstbin.c.
29719
29720 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29721
29722         * check/gst-libs/.cvsignore:
29723         * check/gst/.cvsignore:
29724         * check/pipelines/.cvsignore:
29725           ignore more
29726         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29727         (START_TEST), (cleanup_suite), (main):
29728           add some tests related to cleanup after running pipelines
29729
29730 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29731
29732         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29733           add a testsuite for GstBuffer
29734
29735 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29736
29737         * gst/gstminiobject.h:
29738           add defines for accessing the refcount
29739
29740 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29741
29742         * Makefile.am: added support for html unit test coverage reports
29743
29744 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29745
29746         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29747           Free existing caps if the capsfilter changes. Add a FIXME about
29748           setting those caps on the pads.
29749
29750         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29751           Before adding a ghost pad to a parent bin, check that there isn't
29752           already one for the element on the bin. Prevents infinite recursion
29753           when using decodebin in parse pipelines. Andy says he'll rewrite the
29754           way this works anyway, so ignore the hack.
29755
29756 2005-06-02  Andy Wingo  <wingo@pobox.com>
29757
29758         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29759         file size, pass it on to the type find helper.
29760
29761         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29762         segment_start and segment_end properly according to the seek
29763         method. Segment_end is still a bit flaky because offset can be
29764         negative for CUR and END cases, but it takes -1 as an "unset"
29765         value.
29766
29767 2005-06-02  Wim Taymans  <wim@fluendo.com>
29768
29769         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29770         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29771         (gst_basesink_activate):
29772         * gst/base/gstbasesink.h:
29773         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29774         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29775         (gst_pad_query), (gst_pad_start_task):
29776         * gst/gstpad.h:
29777         * gst/gstqueue.c: (gst_queue_bufferalloc),
29778         (gst_queue_handle_sink_event), (gst_queue_chain):
29779         Bufferalloc: return GstFlowReturn to more accuratly report
29780         why allocation failed.
29781
29782 2005-06-02  Wim Taymans  <wim@fluendo.com>
29783
29784         * gst/gstpipeline.c: (gst_pipeline_send_event):
29785         Take snapshot of state without blocking.
29786
29787 2005-06-02  Wim Taymans  <wim@fluendo.com>
29788
29789         * docs/design/part-TODO.txt:
29790         * docs/design/part-caps.txt:
29791         * docs/design/part-clocks.txt:
29792         * docs/design/part-negotiation.txt:
29793         * docs/design/part-preroll.txt:
29794         Small doc updates 
29795
29796 2005-05-30  Wim Taymans  <wim@fluendo.com>
29797
29798         * gst/elements/gstidentity.c: (gst_identity_event),
29799         (gst_identity_transform), (gst_identity_get_property):
29800         Protect last_message property as it is accessed from
29801         multiple threads.
29802
29803 2005-05-30  Wim Taymans  <wim@fluendo.com>
29804
29805         * gst/gstelement.c: (gst_element_init),
29806         (gst_element_pads_activate), (gst_element_change_state):
29807         Slicker pad activation code.
29808
29809 2005-05-30  Wim Taymans  <wim@fluendo.com>
29810
29811         * gst/Makefile.am:
29812         * gst/gstelement.h:
29813         * gst/gstelementfactory.h:
29814         * gst/gsttypes.h:
29815         Move elementfactory methods to separate .h file.
29816
29817 2005-05-30  Wim Taymans  <wim@fluendo.com>
29818
29819         * docs/design/part-overview.txt:
29820         * gst/gstsystemclock.h:
29821         Small typo fixes, doc updates.
29822
29823 2005-05-30  Wim Taymans  <wim@fluendo.com>
29824
29825         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29826         (init_popt_callback):
29827         Remove cpu-opt flag.
29828
29829 2005-05-30  Wim Taymans  <wim@fluendo.com>
29830
29831         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29832         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29833         * gst/gstbuffer.h:
29834         Avoid typechecking in places where not needed.
29835         Added accessor for malloc_data.
29836
29837 2005-05-30  Wim Taymans  <wim@fluendo.com>
29838
29839         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29840         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29841         (gst_pad_configure_sink), (gst_pad_configure_src),
29842         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29843         (gst_pad_start_task):
29844         Propagate errors from _set_caps() in configure_src/sink
29845         functions instead of returning TRUE.
29846         FLUSH events can travel up and downstream
29847
29848
29849 2005-05-30  Wim Taymans  <wim@fluendo.com>
29850
29851         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29852         (gst_basesink_activate):
29853         Handle EOS in preroll.
29854
29855 2005-05-30  Wim Taymans  <wim@fluendo.com>
29856
29857         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29858         (gst_queue_loop), (gst_queue_handle_src_event):
29859         Remove old pieces of code
29860         Flushing the queue in an upstream event is a very bad idea.
29861
29862 2005-05-26  Andy Wingo  <wingo@pobox.com>
29863
29864         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29865         gst_value_set_mini_object so as to add a ref on the object (which
29866         will be removed when the value is unset).
29867
29868         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29869         arg type in ::handoff.
29870
29871         * gst/gstelement.c (gst_element_change_state): Also deactivate
29872         pads in READY->NULL, just in case the element didn't make it to
29873         PAUSED. Wingo tested, Wim approved.
29874
29875 2005-05-26  Wim Taymans  <wim@fluendo.com>
29876
29877         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29878         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29879         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29880         A flushing pad cannot be used to alloc_buffer from.
29881
29882 2005-05-26  Wim Taymans  <wim@fluendo.com>
29883
29884         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29885         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29886         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29887         (gst_bus_create_watch), (gst_bus_add_watch_full):
29888         * gst/gstbus.h:
29889         Implement a real GSource and use g_main_context_wakeup() to
29890         signal new messages instead of the socketpair.
29891
29892 2005-05-25  Wim Taymans  <wim@fluendo.com>
29893
29894         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29895         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29896         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29897         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29898         (gst_pad_send_event), (gst_pad_start_task):
29899         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29900         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29901         (gst_queue_sink_activate), (gst_queue_src_activate),
29902         (gst_queue_change_state):
29903         * gst/gstqueue.h:
29904         Fix state changes for non sinks. We now change sinks, then elements
29905         with unconnected srcpads, then the rest.
29906         More efficient queue unlocking in flush and state changes.
29907         Set the pad activate mode even if it does not have an activate
29908         function.
29909
29910 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29911
29912         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29913           Don't go in pull mode for non-seekable sources.
29914         * gst/elements/gsttypefindelement.h:
29915         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29916         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29917         (free_entry), (stop_typefinding),
29918         (gst_type_find_element_handle_event), (find_peek),
29919         (gst_type_find_element_chain), (do_pull_typefind),
29920         (gst_type_find_element_change_state):
29921           Allow typefinding (w/o seeking) in push-mode, simplified version
29922           of what was in 0.8.
29923         * gst/gstutils.c: (gst_buffer_join):
29924         * gst/gstutils.h:
29925           gst_buffer_join() from 0.8.
29926
29927 2005-05-25  Wim Taymans  <wim@fluendo.com>
29928
29929         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29930         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29931         (gst_pad_send_event), (gst_pad_start_task):
29932         Disable attempt at mode switching until it is figured out.
29933
29934 2005-05-25  Wim Taymans  <wim@fluendo.com>
29935
29936         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29937         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29938         (gst_basesink_finish_preroll), (gst_basesink_chain),
29939         (gst_basesink_loop), (gst_basesink_activate),
29940         (gst_basesink_change_state):
29941         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29942         (gst_basesrc_get_range), (gst_basesrc_loop),
29943         (gst_basesrc_activate):
29944         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29945         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29946         (gst_real_pad_init), (gst_real_pad_set_property),
29947         (gst_real_pad_get_property), (gst_pad_set_active),
29948         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29949         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29950         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29951         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29952         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29953         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29954         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29955         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29956         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29957         (gst_pad_stop_task):
29958         * gst/gstpad.h:
29959         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29960         (gst_queue_loop), (gst_queue_src_activate):
29961         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29962         (gst_task_get_state):
29963         * gst/gsttask.h:
29964         * gst/schedulers/threadscheduler.c:
29965         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29966         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29967         in task function.
29968         Remove ACTIVE pad flag, use FLUSHING everywhere
29969         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29970         functions.
29971         Add locks around IS_FLUSHING when reading.
29972         Take STREAM lock in chain(), get_range() functions so plugins
29973         don't need to take it anymore.
29974         
29975
29976
29977 2005-05-25  Wim Taymans  <wim@fluendo.com>
29978
29979         * tools/gst-launch.c: (event_loop):
29980         Unref message after using its contents instead of
29981         before.
29982
29983 2005-05-24  Wim Taymans  <wim@fluendo.com>
29984
29985         * docs/design/draft-ghostpads.txt:
29986         * docs/design/draft-push-pull.txt:
29987         * docs/design/draft-query.txt:
29988         * docs/design/part-overview.txt:
29989         Docs updates, added general overview doc.
29990
29991 2005-05-21  David Schleef  <ds@schleef.org>
29992
29993         * docs/gst/tmpl/old/GstBin.sgml:
29994         * docs/gst/tmpl/old/GstBuffer.sgml:
29995         * docs/gst/tmpl/old/GstCaps.sgml:
29996         * docs/gst/tmpl/old/GstClock.sgml:
29997         * docs/gst/tmpl/old/GstCompat.sgml:
29998         * docs/gst/tmpl/old/GstData.sgml:
29999         * docs/gst/tmpl/old/GstElement.sgml:
30000         * docs/gst/tmpl/old/GstEvent.sgml:
30001         * docs/gst/tmpl/old/GstIndex.sgml:
30002         * docs/gst/tmpl/old/GstStructure.sgml:
30003         * docs/gst/tmpl/old/GstTag.sgml:
30004         * docs/gst/tmpl/old/cothreads.sgml:
30005         * docs/gst/tmpl/old/cothreads_compat.sgml:
30006         * docs/gst/tmpl/old/gettext.sgml:
30007         * docs/gst/tmpl/old/gobject2gtk.sgml:
30008         * docs/gst/tmpl/old/grammar.tab.sgml:
30009         * docs/gst/tmpl/old/gst-i18n-app.sgml:
30010         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30011         * docs/gst/tmpl/old/gst_private.sgml:
30012         * docs/gst/tmpl/old/gstaggregator.sgml:
30013         * docs/gst/tmpl/old/gstarch.sgml:
30014         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30015         * docs/gst/tmpl/old/gstbufferstore.sgml:
30016         * docs/gst/tmpl/old/gstdata_private.sgml:
30017         * docs/gst/tmpl/old/gstdisksink.sgml:
30018         * docs/gst/tmpl/old/gstdisksrc.sgml:
30019         * docs/gst/tmpl/old/gstelementfactory.sgml:
30020         * docs/gst/tmpl/old/gstextratypes.sgml:
30021         * docs/gst/tmpl/old/gstfakesink.sgml:
30022         * docs/gst/tmpl/old/gstfakesrc.sgml:
30023         * docs/gst/tmpl/old/gstfdsink.sgml:
30024         * docs/gst/tmpl/old/gstfdsrc.sgml:
30025         * docs/gst/tmpl/old/gstfilesink.sgml:
30026         * docs/gst/tmpl/old/gstfilesrc.sgml:
30027         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30028         * docs/gst/tmpl/old/gstidentity.sgml:
30029         * docs/gst/tmpl/old/gstindexfactory.sgml:
30030         * docs/gst/tmpl/old/gstmarshal.sgml:
30031         * docs/gst/tmpl/old/gstmd5sink.sgml:
30032         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30033         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30034         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30035         * docs/gst/tmpl/old/gstpipefilter.sgml:
30036         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30037         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30038         * docs/gst/tmpl/old/gstshaper.sgml:
30039         * docs/gst/tmpl/old/gstspider.sgml:
30040         * docs/gst/tmpl/old/gstspideridentity.sgml:
30041         * docs/gst/tmpl/old/gststatistics.sgml:
30042         * docs/gst/tmpl/old/gsttee.sgml:
30043         * docs/gst/tmpl/old/gsttimecache.sgml:
30044         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30045         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30046         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30047         * docs/gst/tmpl/old/types.sgml:
30048           I didn't intend to add these or check them in.
30049
30050 2005-05-19  David Schleef  <ds@schleef.org>
30051
30052         * configure.ac: Use -no-common everywhere.  In a sane world, it
30053           would be the default in libtool, because without it, you can't
30054           build DLLs on Windows.
30055         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30056         * docs/gst/gstreamer-sections.txt:
30057         * docs/gst/tmpl/gstcpu.sgml:
30058         * docs/gst/tmpl/gstdata.sgml:
30059         * docs/gst/tmpl/gstthread.sgml:
30060
30061 2005-05-19  David Schleef  <ds@schleef.org>
30062
30063         * gst/gstminiobject.c: (gst_value_set_mini_object),
30064         (gst_value_take_mini_object), (gst_value_get_mini_object):
30065         * gst/gstminiobject.h: Add GValue set/get functions.
30066
30067 2005-05-19  Wim Taymans  <wim@fluendo.com>
30068
30069         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30070         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30071         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30072         * gst/gstbuffer.h:
30073         * gst/gstbus.c: (gst_bus_post):
30074         * gst/gstelement.c: (gst_element_get_random_pad):
30075         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30076         Make subbufer unref the parent in finalize.
30077         some more debugging info.
30078
30079
30080 2005-05-19  Wim Taymans  <wim@fluendo.com>
30081
30082         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30083         (gst_basesink_init), (gst_basesink_finalize),
30084         (gst_basesink_activate), (gst_basesink_change_state):
30085         Don't free preroll queue too early.
30086
30087 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30088
30089         * gst/Makefile.am:
30090         * gst/ROADMAP:
30091           Hi, I'm outdated. Please shoot me.
30092
30093 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30094
30095         * gst/gstpipeline.c: (gst_pipeline_send_event):
30096           Do not access variables after they have been deleted.
30097
30098 2005-05-19  Wim Taymans  <wim@fluendo.com>
30099
30100         * tools/gst-inspect.c: (print_plugin_features):
30101         A plugin feature does unfortunatly not use the
30102         object name yet...
30103
30104 2005-05-18  Wim Taymans  <wim@fluendo.com>
30105
30106         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30107         Port _span() functions to new subbuffers.
30108
30109 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30110
30111         * gst/gstbin.c: (gst_bin_add_func):
30112           Fix clock settery in bins when adding kids after the clock has
30113           been selected.
30114
30115 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30116
30117         * gst/elements/gstidentity.c: (gst_identity_class_init):
30118           Workaround until signals support GstMiniObject.
30119
30120 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30121
30122         * gst/gstbuffer.c:
30123         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30124
30125 2005-05-18  Wim Taymans  <wim@fluendo.com>
30126
30127         * gst/base/Makefile.am:
30128         * gst/base/gstadapter.c: (gst_adapter_base_init),
30129         (gst_adapter_class_init), (gst_adapter_init),
30130         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30131         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30132         (gst_adapter_flush), (gst_adapter_available),
30133         (gst_adapter_available_fast):
30134         * gst/base/gstadapter.h:
30135         Ported and added adapter to the base classes.
30136
30137 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30138
30139         * gst/gst.c:
30140         * gst/gstmessage.c:
30141           Make sure the class is reffed/unreffed once before threads can be
30142           used.  Fixes #304551.
30143
30144 2005-05-17  Wim Taymans  <wim@fluendo.com>
30145
30146         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30147         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30148         * gst/gstminiobject.c: (gst_mini_object_get_type),
30149         (gst_mini_object_free):
30150         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30151         (gst_pad_push), (gst_pad_push_event):
30152         * gst/gstqueue.c: (gst_queue_change_state):
30153         Don't queue buffers in basesink when we are flushing.
30154         Unref buffer when flushing in basesink.
30155         Flush queue when going to READY
30156         Unref buffer when _push() returns an error.
30157         Don't free MiniObject instance when refcount is incremented
30158         in _finalize() so that we can recover objects.
30159
30160 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30161
30162         * docs/manual/advanced-schedulers.xml:
30163         * docs/manual/appendix-checklist.xml:
30164         * docs/pwg/advanced-clock.xml:
30165         * docs/pwg/advanced-interfaces.xml:
30166         * docs/pwg/advanced-request.xml:
30167         * docs/pwg/advanced-types.xml:
30168         * docs/pwg/intro-preface.xml:
30169         * examples/plugins/example.c: (gst_example_get_type),
30170         (gst_example_class_init), (gst_example_chain),
30171         (gst_example_set_property), (gst_example_get_property),
30172         (gst_example_change_state), (plugin_init):
30173         * examples/plugins/example.h:
30174           small doc fixes
30175
30176 2005-05-17  Wim Taymans  <wim@fluendo.com>
30177
30178         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30179         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30180         * gst/gstqueue.c: (gst_queue_change_state):
30181         Clear queue when going to READY.
30182         Remove IN_SETCAPS flag too.
30183
30184 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30185
30186         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30187           Remove implicit cast from gboolean to GstElementStateReturn;
30188           make sure we still return failure in paused => ready case if
30189           the parent class fails to change state and our own stop 
30190           vfunc succeeds.
30191
30192 2005-05-17  Wim Taymans  <wim@fluendo.com>
30193
30194         * tools/gst-launch.c: (event_loop):
30195         Message was unreffed too soon.
30196
30197 2005-05-16  Andy Wingo  <wingo@pobox.com>
30198
30199         * gst/gstbin.c (sink_iterator_filter): Err... um...
30200
30201         * check/gst/gstbin.c (test_ghost_pads): New test for the
30202         ghosting-if-elements-not-in-same-bin behavior.
30203
30204 2005-05-16  David Schleef  <ds@schleef.org>
30205
30206         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30207         accessing refcount directly.
30208
30209 2005-05-15  David Schleef  <ds@schleef.org>
30210
30211         * check/Makefile.am: remove GstData checks
30212         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30213         * gst/Makefile.am: add miniobject, remove data
30214         * gst/gst.h: add miniobject, remove data
30215         * gst/gstdata.c: remove
30216         * gst/gstdata.h: remove
30217         * gst/gstdata_private.h: remove
30218         * gst/gsttypes.h: remove GstEvent and GstMessage
30219         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30220         * gst/gstmarshal.list: change BOXED -> OBJECT
30221
30222         Implement GstMiniObject.
30223         * gst/gstminiobject.c:
30224         * gst/gstminiobject.h:
30225
30226         Modify to be subclasses of GstMiniObject.
30227         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30228         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30229         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30230         (gst_subbuffer_get_type), (gst_subbuffer_init),
30231         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30232         (gst_buffer_span):
30233         * gst/gstbuffer.h:
30234         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30235         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30236         (_gst_event_copy), (gst_event_new):
30237         * gst/gstevent.h:
30238         * gst/gstmessage.c: (_gst_message_initialize),
30239         (gst_message_get_type), (gst_message_class_init),
30240         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30241         (gst_message_new), (gst_message_new_error),
30242         (gst_message_new_warning), (gst_message_new_tag),
30243         (gst_message_new_state_changed), (gst_message_new_application):
30244         * gst/gstmessage.h:
30245         * gst/gstprobe.c: (gst_probe_perform),
30246         (gst_probe_dispatcher_dispatch):
30247         * gst/gstprobe.h:
30248         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30249         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30250         (_gst_query_copy), (gst_query_new):
30251
30252         Update elements for GstData -> GstMiniObject changes
30253         * gst/gstquery.h:
30254         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30255         (gst_queue_chain), (gst_queue_loop):
30256         * gst/elements/gstbufferstore.c:
30257         (gst_buffer_store_add_buffer_func),
30258         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30259         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30260         (gst_fakesink_render):
30261         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30262         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30263         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30264         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30265         (gst_filesrc_create_read):
30266         * gst/elements/gstidentity.c: (gst_identity_class_init):
30267         * gst/elements/gsttypefindelement.c:
30268         (gst_type_find_element_src_event), (free_entry_buffers),
30269         (gst_type_find_element_handle_event):
30270         * libs/gst/dataprotocol/dataprotocol.c:
30271         (gst_dp_header_from_buffer):
30272         * libs/gst/dataprotocol/dataprotocol.h:
30273         * libs/gst/dataprotocol/dp-private.h:
30274
30275 2005-05-15  David Schleef  <ds@schleef.org>
30276
30277         * gst/elements/gstelements.c: Don't include headers that were
30278         just removed.
30279
30280 2005-05-15  David Schleef  <ds@schleef.org>
30281
30282         * gst/elements/Makefile.am: Remove some elements that don't
30283         need to be in the core (or even exist at all).
30284         * gst/elements/gstaggregator.c:
30285         * gst/elements/gstaggregator.h:
30286         * gst/elements/gstmd5sink.c:
30287         * gst/elements/gstmd5sink.h:
30288         * gst/elements/gstmultifilesrc.c:
30289         * gst/elements/gstmultifilesrc.h:
30290         * gst/elements/gstpipefilter.c:
30291         * gst/elements/gstpipefilter.h:
30292         * gst/elements/gstshaper.c:
30293         * gst/elements/gstshaper.h:
30294         * gst/elements/gststatistics.c:
30295         * gst/elements/gststatistics.h:
30296         * po/POTFILES.in: Remove above files.
30297
30298 2005-05-14  Andy Wingo  <wingo@pobox.com>
30299
30300         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30301         so as to get the refs right.
30302         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30303         unreffing objects that don't pass the filter.
30304
30305         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30306         gst_element_set_bus.
30307         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30308         normal cases, this will destroy the bus.
30309
30310         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30311         object.
30312
30313         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30314         has no sinks.
30315
30316 2005-05-13  Andy Wingo  <wingo@pobox.com>
30317
30318         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30319         gst_pad_link, call pad_link_maybe_ghosting,
30320         (pad_link_maybe_ghosting): Links pads, making sure that the
30321         elements being linked are in the same bin.
30322         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30323         Helpers for pad_link_maybe_ghosting.
30324
30325 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30326
30327         * configure.ac:
30328           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30329
30330 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30331
30332         * docs/design/part-element-source.txt:
30333           Mention GstPushSrc
30334
30335 2005-05-12  Wim Taymans  <wim@fluendo.com>
30336
30337         * gst/base/gstbasesink.c: (gst_basesink_init),
30338         (gst_basesink_activate):
30339         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30340         (gst_basesrc_is_seekable):
30341         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30342         (bin_element_is_sink), (gst_bin_change_state):
30343         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30344         * gst/gstelement.h:
30345         Identify sinks by their flag to avoid overly complicated
30346         checks (fow now).
30347         Do state changes even for elements not reachable from the
30348         sinks.
30349         BaseSink is a sink now :)
30350         Some more debugging info in the basesrc.
30351
30352
30353 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30354
30355         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30356           Implement _query on a bin, similar to _send_event.
30357
30358 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30359
30360         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30361           Discont event offset format should be GST_FORMAT_BYTES,
30362           not GST_FORMAT_TIME.
30363
30364 2005-05-12  Wim Taymans  <wim@fluendo.com>
30365
30366         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30367         Same fix as Ronald's but without the signal. 
30368
30369 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30370
30371         * gst/gstutils.c: (gst_element_query_position):
30372           No, an element is not a pad.
30373
30374 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30375
30376         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30377         (gst_bin_get_state):
30378           If a child is removed from a bin while we remove the child from
30379           the bin and while we're retrieving its state, signal this to the
30380           get_state function so we abort the wait (instead of waiting for
30381           a timeout) and can immediately re-iterate over all other elements.
30382
30383 2005-05-12  Wim Taymans  <wim@fluendo.com>
30384
30385         * gst/base/Makefile.am:
30386         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30387         (gst_basesrc_start):
30388         * gst/base/gstbasesrc.h:
30389         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30390         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30391         (gst_pushsrc_init), (gst_pushsrc_create):
30392         * gst/base/gstpushsrc.h:
30393         Added is_seekable to BaseSrc
30394         Added simple PushSrc.
30395
30396 2005-05-11  Wim Taymans  <wim@fluendo.com>
30397
30398         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30399         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30400         (gst_element_link_pads), (gst_element_query_position),
30401         (gst_element_query_convert), (intersect_caps_func),
30402         (gst_pad_query_position), (gst_pad_query_convert):
30403         Fix refcounting in utils function.
30404         No point in trying to activate a pad when it's added, it could
30405         be added from the state change function and then we deadlock, the
30406         element has to decide what to do.
30407
30408 2005-05-10  Andy Wingo  <wingo@pobox.com>
30409
30410         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30411         *all* the arguments.
30412
30413         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30414         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30415         lock (according to the docs -- if this is wrong change the docs).
30416
30417         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30418         flush messages in the NULL state.
30419
30420         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30421         message immediately and return.
30422         (gst_bus_set_flushing): New function. If a bus is flushing, it
30423         flushes out any queued messages and immediately unrefs new
30424         messages. This is so when an element goes to NULL, all of the
30425         unhandled messages coming from it can be freed, and their
30426         references to the element dropped. In other words: message source
30427         ref considered harmful :P
30428
30429         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30430         we're finished with it.
30431
30432         * gst/gstmessage.c (gst_message_new_state_changed): 
30433
30434 2005-05-10  Wim Taymans  <wim@fluendo.com>
30435
30436         * gst/gstvalue.c: (gst_value_compare_flags),
30437         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30438         (_gst_value_initialize):
30439         Added flags serialize/deserialize/compare code.
30440
30441 2005-05-09  Andy Wingo  <wingo@pobox.com>
30442
30443         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30444         Intersect the peer's caps with our caps.
30445
30446 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30447
30448         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30449         * gst/elements/gsttypefindelement.c: (find_peek):
30450           Handle negative offsets better. Fixes decodebin.
30451
30452 2005-05-09  Wim Taymans  <wim@fluendo.com>
30453
30454         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30455         (gst_base_transform_event):
30456         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30457         Implement accept_caps.
30458         Fix silly lock/unlock mismatch in base class.
30459
30460 2005-05-09  Wim Taymans  <wim@fluendo.com>
30461
30462         * docs/design/draft-push-pull.txt:
30463         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30464         * gst/elements/gstfilesink.c: (gst_filesink_init),
30465         (gst_filesink_query):
30466         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30467         (gst_type_find_handle_src_query), (find_element_get_length):
30468         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30469         * gst/gstelement.h:
30470         * gst/gstmessage.c:
30471         * gst/gstmessage.h:
30472         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30473         (gst_real_pad_get_caps_unlocked),
30474         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30475         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30476         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30477         (gst_real_pad_dispose), (gst_real_pad_finalize),
30478         (gst_pad_load_and_link), (gst_pad_save_thyself),
30479         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30480         (gst_pad_check_pull_range), (gst_pad_pull_range),
30481         (gst_pad_template_get_type), (gst_pad_template_class_init),
30482         (gst_pad_template_init), (gst_pad_template_dispose),
30483         (name_is_valid), (gst_static_pad_template_get),
30484         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30485         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30486         (gst_pad_get_element_private), (gst_pad_start_task),
30487         (gst_pad_pause_task), (gst_pad_stop_task),
30488         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30489         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30490         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30491         (gst_ghost_pad_new):
30492         * gst/gstpad.h:
30493         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30494         (gst_query_new_position), (gst_query_set_position),
30495         (gst_query_parse_position), (gst_query_new_convert),
30496         (gst_query_set_convert), (gst_query_parse_convert):
30497         * gst/gstquery.h:
30498         * gst/gstqueryutils.c:
30499         * gst/gstqueryutils.h:
30500         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30501         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30502         (gst_queue_handle_src_query):
30503         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30504         (gst_element_query_position), (gst_element_query_convert),
30505         (intersect_caps_func), (gst_pad_query_position),
30506         (gst_pad_query_convert):
30507         * gst/gstutils.h:
30508         * tools/gst-inspect.c: (print_pad_info):
30509         * tools/gst-xmlinspect.c: (print_element_info):
30510         Remove old query functions. Ported old code.
30511         Added position/convert helper functions to gstutils.
30512         Reordered gstpad.c code, grouping relevant things.
30513         Remove gst_message_new(), always need to speficy a specific
30514         message.
30515
30516
30517 2005-05-09  Andy Wingo  <wingo@pobox.com>
30518
30519         * gst/gstiterator.h: Add some includes.
30520
30521         * gst/gstqueryutils.h: Include more headers.
30522
30523         * gst/gstpad.h:
30524         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30525         some uses of gst_pad_query.
30526
30527         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30528         NULL out parameters.
30529         (gst_query_new_position): New proc, allocates a new position
30530         query.
30531
30532         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30533         gstqueryutils.c to the build.
30534
30535         * gst/gststructure.c (gst_structure_set_valist): Implement with
30536         the generic G_VALUE_COLLECT.
30537         
30538 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30539
30540         * gst/Makefile.am: (gst_headers):
30541         Added gstqueryutils.h to the list of headers to install, that was
30542         a 'nachty' move wingo :)
30543
30544 2005-05-06  Andy Wingo  <wingo@pobox.com>
30545
30546         * gst/gstquery.h
30547         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30548         GstData, init a memchunk.
30549         (standard_definitions): Add a few query types, deprecate a few.
30550         (gst_query_get_type): New proc.
30551         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30552         implementation.
30553         (gst_query_new_application, gst_query_get_structure): New public
30554         procs.
30555
30556         * docs/design/draft-query.txt: Removed LINKS from the query types,
30557         because all the rest can be dispatched to other pads -- seemed
30558         ugly to have a query that couldn't be dispatched. internal_links
30559         is fine as a pad method.
30560
30561         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30562         in gstpad.c, but maintain binary compatibility for the moment.
30563         Will fix before 0.9 is out.
30564
30565         * gst/gstqueryutils.c: 
30566         * gst/gstqueryutils.h: New files, implement 3 methods for each
30567         query type: parse_query, parse_response, and set. Probably need an
30568         allocator as well.
30569
30570         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30571
30572         * gst/elements/gstfilesink.c (gst_filesink_query2):
30573         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30574         query_types, and formats methods.
30575
30576         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30577         (gst_pad_set_query2_function): New functions.
30578         (gst_real_pad_init): Set query2_default as the default query2
30579         function. Basically just dispatches to internally linked pads.
30580
30581         Needs review!
30582         
30583         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30584         without using the atomic operations. Only one thread can possibly
30585         be accessing the data at this point. Changed so as to avoid
30586         gst_atomic operations.
30587
30588 2005-05-06  Wim Taymans  <wim@fluendo.com>
30589
30590         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30591         Also set caps if we use the fallback buffer alloc.
30592
30593 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30594
30595         * docs/gst/Makefile.am:
30596         * docs/gst/gstreamer-docs.sgml:
30597         * docs/gst/gstreamer-sections.txt:
30598         * docs/gst/tmpl/gstatomic.sgml:
30599         * docs/gst/tmpl/gstmemchunk.sgml:
30600         * testsuite/elements/struct_i386.h:
30601         * win32/GStreamer.vcproj:
30602         * win32/Makefile:
30603           Purge GstAtomic stuff from docs and win32 makefiles as well
30604
30605 2005-05-06  Wim Taymans  <wim@fluendo.com>
30606
30607         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30608         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30609         * gst/gstpad.c: (gst_pad_peer_get_caps):
30610         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30611         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30612         (gst_queue_src_activate), (gst_queue_change_state):
30613         * gst/gstqueue.h:
30614         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30615         (intersect_caps_func):
30616         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30617         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30618         Some fixes for the peer_get_caps() change.
30619
30620 2005-05-06  Wim Taymans  <wim@fluendo.com>
30621
30622         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30623         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30624         (gst_basesink_activate):
30625         Actually do something with error codes returned from the push
30626         functions.
30627
30628 2005-05-06  Wim Taymans  <wim@fluendo.com>
30629
30630         * docs/design/part-element-sink.txt:
30631         * docs/design/part-element-source.txt:
30632         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30633         (gst_basesink_event), (gst_basesink_activate):
30634         * gst/base/gstbasesink.h:
30635         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30636         (gst_basesrc_activate):
30637         * gst/base/gstbasesrc.h:
30638         * gst/gstelement.c: (gst_element_pads_activate):
30639         Some more documentation.
30640         Fixed scheduling decision in _pads_activate().
30641
30642 2005-05-05  Andy Wingo  <wingo@pobox.com>
30643
30644         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30645         the test suite.
30646
30647 2005-05-05  Wim Taymans  <wim@fluendo.com>
30648
30649         * gst/base/Makefile.am:
30650         * gst/base/gstbasesink.h:
30651         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30652         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30653         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30654         (gst_collectpads_class_init), (gst_collectpads_init),
30655         (gst_collectpads_finalize), (gst_collectpads_new),
30656         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30657         (find_pad), (gst_collectpads_remove_pad),
30658         (gst_collectpads_is_active), (gst_collectpads_collect),
30659         (gst_collectpads_collect_range), (gst_collectpads_start),
30660         (gst_collectpads_stop), (gst_collectpads_peek),
30661         (gst_collectpads_pop), (gst_collectpads_available),
30662         (gst_collectpads_read), (gst_collectpads_flush),
30663         (gst_collectpads_chain):
30664         * gst/base/gstcollectpads.h:
30665         * gst/elements/Makefile.am:
30666         * gst/elements/gstelements.c:
30667         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30668         (gst_fakesink_get_times), (gst_fakesink_event),
30669         (gst_fakesink_preroll), (gst_fakesink_render):
30670         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30671         (gst_filesink_init), (gst_filesink_set_location),
30672         (gst_filesink_open_file), (gst_filesink_close_file),
30673         (gst_filesink_pad_query), (gst_filesink_event),
30674         (gst_filesink_render), (gst_filesink_change_state):
30675         * gst/elements/gstfilesink.h:
30676         Added object to help in making collect pad based elements.
30677         Ported filesink.
30678         Make event function in sink baseclass return gboolean.
30679
30680 2005-05-05  Wim Taymans  <wim@fluendo.com>
30681
30682         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30683         (gst_bin_get_by_name):
30684         * gst/gstbuffer.h:
30685         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30686         (gst_clock_finalize):
30687         * gst/gstdata.c: (gst_data_replace):
30688         * gst/gstdata.h:
30689         * gst/gstelement.c: (gst_element_request_pad),
30690         (gst_element_pads_activate):
30691         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30692         (gst_object_unref):
30693         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30694         (gst_pad_set_checkgetrange_function),
30695         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30696         (gst_pad_check_pull_range), (gst_pad_pull_range),
30697         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30698         (gst_pad_pause_task), (gst_pad_stop_task):
30699         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30700         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30701         Fix name lookup in GstBin.
30702         Added _data_replace() function and _buffer_replace()
30703         Use finalize method to clean up clock.
30704         Fix refcounting on request pads.
30705         Fix pad schedule mode error.
30706         Some more object refcounting debug info,
30707
30708
30709 2005-05-04  Andy Wingo <wingo@pobox.com>
30710
30711         * check/Makefile.am:
30712         * docs/gst/tmpl/gstatomic.sgml:
30713         * docs/gst/tmpl/gstplugin.sgml:
30714         * gst/base/gstbasesink.c: (gst_basesink_activate):
30715         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30716         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30717         (gst_basesrc_query), (gst_basesrc_set_property),
30718         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30719         (gst_basesrc_activate):
30720         * gst/base/gstbasesrc.h:
30721         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30722         (gst_base_transform_src_activate):
30723         * gst/elements/gstelements.c:
30724         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30725         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30726         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30727         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30728         (gst_type_find_element_checkgetrange),
30729         (gst_type_find_element_activate):
30730         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30731         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30732         (gst_caps_load_thyself):
30733         * gst/gstelement.c: (gst_element_pads_activate),
30734         (gst_element_save_thyself), (gst_element_restore_thyself):
30735         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30736         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30737         * gst/gstpad.h:
30738         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30739         (gst_xml_parse_file), (gst_xml_parse_memory),
30740         (gst_xml_get_element), (gst_xml_make_element):
30741         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30742         (_file_index_id_save_xml), (gst_file_index_commit):
30743         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30744         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30745         (load_paths):
30746         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30747         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30748         * tools/gst-complete.c: (main):
30749         * tools/gst-compprep.c: (main):
30750         * tools/gst-inspect.c: (print_element_properties_info):
30751         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30752         * tools/gst-xmlinspect.c: (print_element_properties):
30753         GCC 4 fixen.
30754         
30755 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30756
30757         * gst/gstplugin.c: (gst_plugin_check_module),
30758         (gst_plugin_check_file), (gst_plugin_load_file):
30759             apply patch from #172526 to make register work on MacOSX
30760
30761 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30762
30763         * docs/gst/tmpl/gstconfig.sgml:
30764         * gst/gstconfig.h.in:
30765           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30766         * testsuite/debug/printf_extension.c: (main):
30767           Do not use GST_PTR_FORMAT on pointers to types with
30768           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30769         * testsuite/elements/property.h:
30770           use correct printf format
30771
30772 2005-05-02  Wim Taymans  <wim@fluendo.com>
30773
30774         * docs/design/draft-push-pull.txt:
30775         * docs/design/draft-query.txt:
30776         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30777         (gst_basesrc_start):
30778         Added draft for new query API.
30779         Added draft for better selecting scheduling methods.
30780         Make basesrc ignore length if the subclass does not support
30781         it.
30782
30783 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30784
30785         * gst/Makefile.am:
30786           possible fixes for automake-1.5 - _LIBADD is reserved
30787
30788 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30789
30790         * docs/faq/Makefile.am:
30791         * docs/manual/Makefile.am:
30792         * docs/manuals.mak:
30793         * docs/pwg/Makefile.am:
30794         * gst/Makefile.am:
30795           possible fixes for automake-1.5
30796
30797 2005-04-28  Wim Taymans  <wim@fluendo.com>
30798
30799         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30800         (gst_basesink_pad_getcaps), (gst_basesink_init),
30801         (gst_basesink_do_sync):
30802         * gst/gstclock.c: (gst_clock_entry_new):
30803         * gst/gstevent.c: (gst_event_discont_get_value):
30804         * gst/gstpipeline.c: (pipeline_bus_handler),
30805         (gst_pipeline_change_state):
30806         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30807         Better debugging of clocking info.
30808         Allow NULL values when getting discont values.
30809
30810 2005-04-27  Wim Taymans  <wim@fluendo.com>
30811
30812         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30813         * check/gst/gstpad.c: (gst_pad_suite):
30814         Increase timeout for checks.
30815
30816 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30817
30818         * check/Makefile.am:
30819           fix the broken rule for cleanup.  Apparently this rule is
30820           only needed on FC2, so maybe this warrants further autotool
30821           inspection.
30822
30823 2005-04-26  Wim Taymans  <wim@fluendo.com>
30824
30825         * gst/gsttrashstack.h:
30826         Ooohh. a nasty one! After having a failed pop() from the stack,
30827         it's possible that the stack is empty. In that case, don't
30828         follow the NULL pointer.
30829
30830 2005-04-25  Wim Taymans  <wim@fluendo.com>
30831
30832         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30833         (gst_pad_set_checkgetrange_function),
30834         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30835         (gst_pad_check_pull_range), (gst_pad_pull_range),
30836         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30837         (gst_pad_pause_task), (gst_pad_stop_task):
30838         * gst/gstplugin.c: (gst_plugin_load):
30839         * gst/gstplugin.h:
30840         Remove gst_library_load as it does more harm than good with
30841         the new g_module flags.
30842         Revert bogus caps template check in pad linking, pad caps
30843         are important when linking not the template, which is more
30844         general than the current caps.
30845
30846 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30847
30848         * gst/autoplug/.cvsignore:
30849         * gst/autoplug/Makefile.am:
30850         * gst/autoplug/gstsearchfuncs.c:
30851         * gst/autoplug/gstsearchfuncs.h:
30852         * gst/autoplug/gstspider.c:
30853         * gst/autoplug/gstspider.h:
30854         * gst/autoplug/gstspideridentity.c:
30855         * gst/autoplug/gstspideridentity.h:
30856         * gst/autoplug/spidertest.c:
30857           Die, spider, die.
30858
30859 2005-04-25  Wim Taymans  <wim@fluendo.com>
30860
30861         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30862         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30863         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30864         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30865         * gst/gstpad.h:
30866         Added stubs for unimplemented functions. 
30867
30868 2005-04-24  David Schleef  <ds@schleef.org>
30869
30870         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30871         please fix.
30872
30873 2005-04-24  David Schleef  <ds@schleef.org>
30874
30875         Convert everything from GstAtomicInt to g_atomic_int_*, and
30876         remove gstatomic.
30877         * gst/Makefile.am:
30878         * gst/gstatomic.c:
30879         * gst/gstatomic.h:
30880         * gst/gstatomic_impl.h:
30881         * gst/gstbuffer.c:
30882         * gst/gstcaps.c:
30883         * gst/gstcaps.h:
30884         * gst/gstclock.c:
30885         * gst/gstclock.h:
30886         * gst/gstdata.c:
30887         * gst/gstdata.h:
30888         * gst/gstdata_private.h:
30889         * gst/gstevent.c:
30890         * gst/gstinfo.c:
30891         * gst/gstinfo.h:
30892         * gst/gstmessage.c:
30893         * gst/gstobject.c:
30894         * gst/gstobject.h:
30895         * gst/gststructure.c:
30896         * gst/gststructure.h:
30897         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30898         * gst/gstutils.h:
30899
30900 2005-04-24  David Schleef  <ds@schleef.org>
30901
30902         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30903         make the regressions tests work.  Remove some code that is no
30904         longer true.
30905         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30906         Disable warning for pads without templates.
30907
30908 2005-04-24  David Schleef  <ds@schleef.org>
30909
30910         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30911         functions that handle filtered links.
30912         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30913         removed functions.
30914         * gst/gstutils.c: Fix/remove utility functions that handle
30915         filtered caps.
30916         * gst/gstutils.h:
30917         * gst/gstvalue.c: Add serialization/deserialization of caps
30918         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30919         requires fixing so that the filter caps notation creates
30920         a capsfilter element and sets the filter_caps property.  I
30921         think everyone probably wants to keep the shorthand notation.
30922         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30923         * docs/gst/tmpl/gstpad.sgml:
30924
30925         * gst/elements/gstelements.c: Register capsfilter element.
30926         * gst/Makefile.am: fix spacing
30927         * docs/random/ds/0.9-suggested-changes: random
30928
30929 2005-04-23  David Schleef  <ds@schleef.org>
30930
30931         * gst/elements/Makefile.am:
30932         * gst/elements/gstcapsfilter.c: New element that acts like an
30933         identity, but filters caps.  Will eventually replace filtered
30934         caps in pad linking.
30935         * gst/gstutils.c: (gst_element_create_all_pads): New function
30936         to create all the ALWAYS pads that are registered with an
30937         element class.  This functionality should eventually be
30938         merged in with GstElement initialization.
30939         * gst/gstutils.h:
30940         * testsuite/trigger/README: part of trigger test code that should
30941         have been checked in a long time ago.
30942
30943 2005-04-23  David Schleef  <ds@schleef.org>
30944
30945         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30946         needed with new versions of libtool (nobody will confirm this),
30947         and hard to carry around.
30948         * gst/autoplug/Makefile.am:
30949         * gst/base/Makefile.am:
30950         * gst/elements/Makefile.am:
30951         * gst/indexers/Makefile.am:
30952         * gst/schedulers/Makefile.am:
30953         * libs/gst/bytestream/Makefile.am:
30954         * libs/gst/control/Makefile.am:
30955         * libs/gst/dataprotocol/Makefile.am:
30956         * libs/gst/getbits/Makefile.am:
30957
30958 2005-04-21  Wim Taymans  <wim@fluendo.com>
30959
30960         * docs/design/draft-push-pull.txt:
30961         * docs/design/part-MT-refcounting.txt:
30962         * docs/design/part-TODO.txt:
30963         * docs/design/part-caps.txt:
30964         * docs/design/part-events.txt:
30965         * docs/design/part-gstbus.txt:
30966         * docs/design/part-gstpipeline.txt:
30967         * docs/design/part-messages.txt:
30968         * docs/design/part-push-pull.txt:
30969         * docs/design/part-query.txt:
30970         Some more docs.
30971
30972 2005-04-21  Wim Taymans  <wim@fluendo.com>
30973
30974         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30975         (gst_message_new), (gst_message_new_error),
30976         (gst_message_new_warning), (gst_message_new_tag),
30977         (gst_message_new_state_changed), (gst_message_new_application),
30978         (gst_message_get_structure):
30979         * gst/gstmessage.h:
30980         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30981         (gst_structure_copy_conditional):
30982         Use parent refcount in GstMessage to ensure GstStructure
30983         consistency.
30984         Cleaned up headers a bit.
30985         
30986
30987 2005-04-20  Wim Taymans  <wim@fluendo.com>
30988
30989         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30990         (gst_basesink_pad_getcaps), (gst_basesink_init),
30991         (gst_basesink_chain_unlocked):
30992         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30993         (gst_type_find_helper):
30994         * gst/elements/gsttypefindelement.c:
30995         (gst_type_find_element_have_type), (gst_type_find_element_init),
30996         (stop_typefinding), (gst_type_find_element_handle_event),
30997         (find_suggest), (gst_type_find_element_chain),
30998         (gst_type_find_element_checkgetrange),
30999         (gst_type_find_element_getrange), (do_typefind),
31000         (gst_type_find_element_activate):
31001         * gst/gstbuffer.c: (_gst_buffer_sub_free),
31002         (gst_buffer_default_free), (gst_buffer_default_copy),
31003         (gst_buffer_set_caps):
31004         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31005         (gst_caps_replace):
31006         * gst/gstmessage.c: (gst_message_new),
31007         (gst_message_new_state_changed):
31008         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31009         (gst_pad_set_checkgetrange_function),
31010         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31011         (gst_pad_set_caps), (gst_pad_check_pull_range),
31012         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31013         * gst/gstpad.h:
31014         * gst/gsttypefind.c: (gst_type_find_register):
31015         Make gst_caps_replace() work like other _replace() functions.
31016         Use _caps_replace() where possible.
31017         Make sure _message_new() initialises its field.
31018         Add gst_static_pad_template_get_caps()
31019
31020
31021 2005-04-18  Andy Wingo  <wingo@pobox.com>
31022
31023         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31024         on the peer, not the pad. I think that was a typo. Pass an extra
31025         arg to see if random access is possible. Activate the pads as
31026         PULL_RANGE if possible.
31027
31028         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31029
31030         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31031         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31032         to PROP_....
31033
31034 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31035
31036         * docs/faq/using.xml:
31037           Add note on gstreamer-properties (#154996).
31038
31039 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31040
31041         * docs/random/bbb/optional-properties:
31042           Some analysis on optional properties.
31043
31044 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31045
31046         * docs/gst/tmpl/gstelementfactory.sgml:
31047         * gst/gstelement.h:
31048         * gst/gstelementfactory.c: (gst_element_factory_init),
31049         (gst_element_factory_cleanup), (gst_element_register),
31050         (__gst_element_factory_add_static_pad_template),
31051         (gst_element_factory_get_static_pad_templates),
31052         (gst_element_factory_can_src_caps),
31053         (gst_element_factory_can_sink_caps):
31054         * gst/registries/Makefile.am:
31055         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31056         (gst_xml_registry_class_init), (gst_xml_registry_init),
31057         (gst_xml_registry_new), (gst_xml_registry_set_property),
31058         (gst_xml_registry_get_property), (get_time), (make_dir),
31059         (gst_xml_registry_get_perms_func),
31060         (plugin_times_older_than_recurse), (plugin_times_older_than),
31061         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31062         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31063         (add_to_char_array), (read_string), (read_uint), (read_enum),
31064         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31065         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31066         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31067         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31068         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31069         (gst_xml_registry_rebuild):
31070         * gst/registries/gstlibxmlregistry.h:
31071         * tools/gst-compprep.c: (main):
31072         * tools/gst-inspect.c: (print_pad_templates_info):
31073         * tools/gst-xmlinspect.c: (print_element_info):
31074           Use libxml2 for registry parsing, use staticpadtemplates in
31075           elementfactories. Makes gst_init() +/- 10x faster.
31076
31077 2005-04-12  Wim Taymans  <wim@fluendo.com>
31078
31079         * gst/base/Makefile.am:
31080         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31081         (gst_basesink_pad_getcaps), (gst_basesink_init),
31082         (gst_basesink_event), (gst_basesink_change_state):
31083         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31084         (gst_basesrc_init), (gst_basesrc_query),
31085         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31086         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31087         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31088         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31089         (gst_basesrc_stop), (gst_basesrc_activate),
31090         (gst_basesrc_change_state):
31091         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31092         (helper_find_suggest), (gst_type_find_helper):
31093         * gst/base/gsttypefindhelper.h:
31094         * gst/elements/Makefile.am:
31095         * gst/elements/gstelements.c:
31096         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31097         (gst_fakesink_get_times), (gst_fakesink_event),
31098         (gst_fakesink_preroll), (gst_fakesink_render):
31099         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31100         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31101         (gst_fakesrc_get_property), (gst_fakesrc_create),
31102         (gst_fakesrc_start), (gst_fakesrc_stop):
31103         * gst/elements/gstfakesrc.h:
31104         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31105         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31106         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31107         (gst_filesrc_create_read), (gst_filesrc_create),
31108         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31109         (gst_filesrc_start):
31110         * gst/elements/gsttypefindelement.c:
31111         (gst_type_find_element_have_type), (gst_type_find_element_init),
31112         (start_typefinding), (stop_typefinding), (push_buffer_store),
31113         (gst_type_find_element_handle_event),
31114         (gst_type_find_element_chain),
31115         (gst_type_find_element_checkgetrange),
31116         (gst_type_find_element_getrange), (do_typefind),
31117         (gst_type_find_element_activate),
31118         (gst_type_find_element_change_state):
31119         * gst/elements/gsttypefindelement.h:
31120         * gst/gstpipeline.c: (pipeline_bus_handler):
31121         Added typefind helper.
31122         Small preroll fix in the base sink.
31123         Disable typefind code in basesrc.
31124         Crude port of typefindelement.
31125         Fakesrc cleanups.
31126
31127
31128 2005-04-11  Wim Taymans  <wim@fluendo.com>
31129
31130         * check/gst/gstbus.c: (gstbus_suite):
31131         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31132         * check/gstcheck.h:
31133           Fix up the timeout so that the test does not fail.
31134
31135 2005-04-06  Wim Taymans  <wim@fluendo.com>
31136
31137         * gst/base/README:
31138         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31139         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31140         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31141         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31142         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31143         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31144         (gst_basesrc_stop), (gst_basesrc_activate),
31145         (gst_basesrc_change_state), (basesrc_find_peek),
31146         (basesrc_find_suggest), (gst_basesrc_type_find):
31147         * gst/base/gstbasesrc.h:
31148         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31149         (gst_filesrc_class_init), (gst_filesrc_init),
31150         (gst_filesrc_finalize), (gst_filesrc_set_location),
31151         (gst_filesrc_set_property), (gst_filesrc_get_property),
31152         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31153         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31154         (gst_filesrc_create_read), (gst_filesrc_create),
31155         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31156         * gst/elements/gstfilesrc.h:
31157         * gst/gstelement.c: (gst_element_get_state_func),
31158         (gst_element_lost_state), (gst_element_pads_activate):
31159         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31160         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31161         (gst_pad_pull_range):
31162         * gst/gstpad.h:
31163         More work on the generic source base class, implement seeking,
31164         query.
31165         Make filesrc extend the base source class.
31166         Added gst_pad_set_checkgetrange_function to GstPad.
31167
31168 2005-04-06  Andy Wingo  <wingo@pobox.com>
31169
31170         * pkgconfig/gstreamer-base.pc.in:
31171         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31172
31173         * pkgconfig/Makefile.am:
31174         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31175
31176 2005-04-04  Wim Taymans  <wim@fluendo.com>
31177
31178         * gst/base/Makefile.am:
31179         * gst/base/README:
31180         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31181         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31182         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31183         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31184         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31185         (gst_basesrc_base_init), (gst_basesrc_class_init),
31186         (gst_basesrc_init), (gst_basesrc_get_formats),
31187         (gst_basesrc_get_query_types), (gst_basesrc_query),
31188         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31189         (gst_basesrc_set_property), (gst_basesrc_get_property),
31190         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31191         (gst_basesrc_loop), (gst_basesrc_activate),
31192         (gst_basesrc_change_state):
31193         * gst/base/gstbasesrc.h:
31194         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31195         (gst_fakesrc_class_init), (gst_fakesrc_init),
31196         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31197         (gst_fakesrc_get_property), (gst_fakesrc_create):
31198         * gst/elements/gstfakesrc.h:
31199         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31200         (gst_filesrc_open_file), (gst_filesrc_loop),
31201         (gst_filesrc_activate), (filesrc_find_peek),
31202         (gst_filesrc_type_find):
31203         Made base source class, make fakesrc extend it.
31204         Add comments to basesink class.
31205         Some filesrc cleanup.
31206
31207 2005-03-31  David Schleef  <ds@schleef.org>
31208
31209         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31210         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31211         expected to link against libgstreamer.
31212         * gst/base/Makefile.am: link against libgstreamer
31213         * gst/elements/Makefile.am: same
31214
31215 2005-03-31  Andy Wingo  <wingo@pobox.com>
31216
31217         * tests/instantiate/Makefile.am:
31218         * tests/instantiate/caps.c: Add test to test speed of caps copy
31219         and free.
31220
31221         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31222         GMemChunk to be fair.
31223
31224         * gst/gsttrashstack.h: Remove warning about using the fallback
31225         trash stack implementation, it's still faster than malloc.
31226
31227 2005-03-30  Andy Wingo  <wingo@pobox.com>
31228
31229         * tests/complexity.c: Add a copyright.
31230
31231 2005-03-31  Wim Taymans  <wim@fluendo.com>
31232
31233         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31234         (gst_base_transform_class_init), (gst_base_transform_init),
31235         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31236         (gst_base_transform_get_property),
31237         (gst_base_transform_sink_activate),
31238         (gst_base_transform_src_activate),
31239         (gst_base_transform_change_state):
31240         * gst/base/gstbasetransform.h:
31241         * gst/elements/gstidentity.c: (gst_identity_class_init),
31242         (gst_identity_event), (gst_identity_check_perfect),
31243         (gst_identity_transform), (gst_identity_start),
31244         (gst_identity_stop):
31245         Added start/stop methods to transform base class so subclasses 
31246         don't need to deal with state changes even.
31247
31248 2005-03-31  Wim Taymans  <wim@fluendo.com>
31249
31250         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31251         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31252         * gst/gstevent.h:
31253         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31254         (gst_pad_pull_range):
31255         Added rate to the discont event to prepare for variable speed
31256         and reverse playback.
31257
31258 2005-03-29  David Schleef  <ds@schleef.org>
31259
31260         * configure.ac:
31261         * testsuite/trigger/Makefile.am:
31262         * testsuite/trigger/trigger.c: A little example program to show
31263         how trigger-based elements can work.
31264
31265 2005-03-29  Wim Taymans  <wim@fluendo.com>
31266
31267         * gst/base/Makefile.am:
31268         * gst/base/README:
31269         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31270         (gst_basesink_base_init), (gst_basesink_class_init),
31271         (gst_basesink_pad_getcaps), (gst_basesink_init),
31272         (gst_basesink_activate), (gst_basesink_change_state):
31273         * gst/base/gstbasesink.h:
31274         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31275         (gst_base_transform_base_init), (gst_base_transform_finalize),
31276         (gst_base_transform_class_init), (gst_base_transform_init),
31277         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31278         (gst_base_transform_event), (gst_base_transform_getrange),
31279         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31280         (gst_base_transform_set_property),
31281         (gst_base_transform_get_property),
31282         (gst_base_transform_sink_activate),
31283         (gst_base_transform_src_activate),
31284         (gst_base_transform_change_state):
31285         * gst/base/gstbasetransform.h:
31286         * gst/elements/gstidentity.c: (gst_identity_finalize),
31287         (gst_identity_class_init), (gst_identity_init),
31288         (gst_identity_event), (gst_identity_check_perfect),
31289         (gst_identity_transform), (gst_identity_set_property),
31290         (gst_identity_get_property), (gst_identity_change_state):
31291         * gst/elements/gstidentity.h:
31292         * gst/gstelement.c: (gst_element_get_state_func),
31293         (gst_element_lost_state), (gst_element_pads_activate):
31294         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31295         (gst_pad_check_pull_range), (gst_pad_pull_range):
31296         * gst/gstpad.h:
31297         Simplify pad activation.
31298         Added function to check if pull_range can be performed.
31299         Error out when pulling inactive or flushing pads.
31300         Removed const from refcounted types as it does not make sense.
31301         Simplify pad templates in basesink
31302         Added base class for simple 1-to-1 transforms.
31303         Make identity subclass the base transform.
31304
31305 2005-03-29  Andy Wingo  <wingo@pobox.com>
31306
31307         * docs/libs/gstreamer-libs-overrides.txt: 
31308         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31309         really don't understand what's going on, but like whatever. I want
31310         green buildbot!
31311
31312         * docs/gst/Makefile.am:
31313         * docs/libs/Makefile.am: Dist the overrides files.
31314
31315         * check/Makefile.am (clean-local): Remove .libs directories.
31316
31317         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31318         elements to EXTRA_DIST, so po/ files are happy.
31319
31320         * po/POTFILES.in: Er, remove it here.
31321
31322         * po/POTFILES: Remove gstspider.c.
31323
31324         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31325
31326         * docs/libs/gstreamer-libs-docs.sgml: 
31327         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31328         bytestream.
31329
31330         * tests/complexity.c (main): Set the length of the preroll queue
31331         on the sinks to prevent a lockup.
31332
31333         * libs/gst/dataprotocol/Makefile.am: 
31334         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31335         the same as the one in check/gst-libs/gdp.c.
31336
31337         * po/, docs/gst/: Commit automatic changes to docs and po files.
31338
31339         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31340         the versioned libgstbase.
31341
31342         * check/Makefile.am: Depend on an unversioned gst-register, seems
31343         to make autoconf happier.
31344
31345         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31346
31347 2005-03-28  Wim Taymans  <wim@fluendo.com>
31348
31349         * configure.ac:
31350         * docs/design/part-gstelement.txt:
31351         * docs/design/part-negotiation.txt:
31352         * docs/design/part-preroll.txt:
31353         * docs/design/part-scheduling.txt:
31354         * docs/design/part-states.txt:
31355         * gst/Makefile.am:
31356         * gst/base/Makefile.am:
31357         * gst/base/README:
31358         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31359         (gst_basesink_base_init), (gst_basesink_class_init),
31360         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31361         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31362         (gst_basesink_set_pad_functions),
31363         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31364         (gst_basesink_set_property), (gst_basesink_get_property),
31365         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31366         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31367         (gst_basesink_preroll_queue_push),
31368         (gst_basesink_preroll_queue_empty),
31369         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31370         (gst_basesink_event), (gst_basesink_get_times),
31371         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31372         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31373         (gst_basesink_loop), (gst_basesink_activate),
31374         (gst_basesink_change_state):
31375         * gst/base/gstbasesink.h:
31376         * gst/elements/Makefile.am:
31377         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31378         (gst_fakesink_class_init), (gst_fakesink_init),
31379         (gst_fakesink_set_property), (gst_fakesink_get_property),
31380         (gst_fakesink_get_times), (gst_fakesink_event),
31381         (gst_fakesink_preroll), (gst_fakesink_render),
31382         (gst_fakesink_change_state):
31383         * gst/elements/gstfakesink.h:
31384         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31385         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31386         * gst/gstelement.c: (gst_element_add_pad),
31387         (gst_element_get_state_func), (gst_element_abort_state),
31388         (gst_element_commit_state), (gst_element_lost_state),
31389         (gst_element_set_state), (gst_element_pads_activate):
31390         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31391         * gst/gstpipeline.c: (gst_pipeline_send_event),
31392         (gst_pipeline_change_state):
31393         Added state change code.
31394         Added/updated docs.
31395         Added sink base class, make fakesink extend the base class.
31396         Small cleanups in GstPipeline.
31397
31398 2005-03-26  David Schleef  <ds@schleef.org>
31399
31400         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31401         is broken and should be implemented in a different library.
31402         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31403         * gst/gst.h: remove gstcpu.h
31404         * gst/gstcpu.c: remove
31405         * gst/gstcpu.h: remove
31406         * gst/Makefile.am.future: Remove this file.  It's ancient.
31407
31408 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31409
31410         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31411         (gst_bin_send_event):
31412           Add default event/set_manager handlers. The set_manager handler
31413           takes care that the manager is distributed over kids that were
31414           already in the bin before the manager was set. The event handler
31415           is a utility virtual function that sends the event over all sinks,
31416           so that gst_element_send_event (bin, event); has the expected
31417           behaviour.
31418         * gst/gstpad.c: (gst_pad_event_default):
31419           Re-install default event handling for discontinuities, so that
31420           seeking works without requiring hacks in applications or extra
31421           code in sinks.
31422         * gst/gstpipeline.c: (gst_pipeline_class_init),
31423         (gst_pipeline_send_event):
31424           Half hack, half utility: set a pipeline to PAUSED for seek events,
31425           since that is the only way we can guarantee a/v sync. Means that
31426           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31427           and it "just works".
31428
31429 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31430
31431         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31432           Lock/unlock mismatch.
31433
31434 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31435
31436         * docs/faq/gst-uninstalled:
31437           add gst-plugins-base
31438         * docs/gst/Makefile.am:
31439           don't error out until docs are fixed
31440         * docs/gst/gstreamer.types:
31441           remove thread
31442
31443 2005-03-22  Wim Taymans  <wim@fluendo.com>
31444
31445         * check/Makefile.am:
31446         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31447         * gst/gststructure.c: (gst_structure_set_valist),
31448         (gst_structure_copy_conditional):
31449         Activated more tests.
31450         Added message test.
31451         Added G_TYPE_POINTER to GstStructure.
31452         
31453
31454 2005-03-22  Wim Taymans  <wim@fluendo.com>
31455
31456         * docs/design/part-TODO.txt:
31457         * docs/design/part-events.txt:
31458         * docs/design/part-gstbin.txt:
31459         * docs/design/part-gstbus.txt:
31460         * docs/design/part-gstpipeline.txt:
31461         * docs/design/part-messages.txt:
31462         * gst/gstbus.c:
31463         * gst/gstmessage.c:
31464         Docs updates
31465
31466 2005-03-21  Wim Taymans  <wim@fluendo.com>
31467
31468         * gst/gstbus.c: (gst_bus_post):
31469         Fix copy-and-paste error.
31470
31471 2005-03-21  Wim Taymans  <wim@fluendo.com>
31472
31473         * check/Makefile.am:
31474         * gst/Makefile.am:
31475         * gst/elements/Makefile.am:
31476         * gst/elements/gstelements.c:
31477         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31478         (gst_fakesink_event), (gst_fakesink_chain):
31479         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31480         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31481         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31482         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31483         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31484         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31485         (gst_fakesrc_loop), (gst_fakesrc_activate),
31486         (gst_fakesrc_change_state):
31487         * gst/elements/gstfakesrc.h:
31488         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31489         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31490         (gst_filesrc_open_file), (gst_filesrc_loop),
31491         (gst_filesrc_activate), (gst_filesrc_change_state),
31492         (filesrc_find_peek), (filesrc_find_suggest),
31493         (gst_filesrc_type_find):
31494         * gst/elements/gstidentity.c: (gst_identity_finalize),
31495         (gst_identity_class_init), (gst_identity_init),
31496         (gst_identity_proxy_getcaps), (identity_queue_push),
31497         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31498         (gst_identity_getrange), (gst_identity_chain),
31499         (gst_identity_sink_loop), (gst_identity_src_loop),
31500         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31501         (gst_identity_set_property), (gst_identity_get_property),
31502         (gst_identity_change_state):
31503         * gst/elements/gstidentity.h:
31504         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31505         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31506         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31507         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31508         (gst_tee_sink_activate):
31509         * gst/elements/gsttee.h:
31510         * gst/gst.c: (gst_register_core_elements), (init_post):
31511         * gst/gst.h:
31512         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31513         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31514         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31515         (gst_bin_change_state):
31516         * gst/gstbin.h:
31517         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31518         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31519         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31520         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31521         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31522         (bus_watch_callback), (bus_watch_destroy),
31523         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31524         (poll_timeout), (gst_bus_poll):
31525         * gst/gstbus.h:
31526         * gst/gstcaps.h:
31527         * gst/gstdata.h:
31528         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31529         (gst_element_post_message), (gst_element_message_full),
31530         (gst_element_get_state_func), (gst_element_get_state),
31531         (gst_element_abort_state), (gst_element_commit_state),
31532         (gst_element_lost_state), (gst_element_set_state),
31533         (gst_element_pads_activate), (gst_element_change_state),
31534         (gst_element_dispose), (gst_element_set_manager_func),
31535         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31536         (gst_element_set_manager), (gst_element_get_manager),
31537         (gst_element_set_bus), (gst_element_get_bus),
31538         (gst_element_set_scheduler), (gst_element_get_scheduler):
31539         * gst/gstelement.h:
31540         * gst/gstevent.c: (gst_event_new_segment_seek),
31541         (gst_event_new_flush):
31542         * gst/gstevent.h:
31543         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31544         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31545         (gst_message_new_eos), (gst_message_new_error),
31546         (gst_message_new_warning), (gst_message_new_tag),
31547         (gst_message_new_state_changed), (gst_message_new_application),
31548         (gst_message_get_structure), (gst_message_parse_tag),
31549         (gst_message_parse_state_changed), (gst_message_parse_error),
31550         (gst_message_parse_warning):
31551         * gst/gstmessage.h:
31552         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31553         (gst_real_pad_set_property), (gst_pad_set_active),
31554         (gst_pad_is_active), (gst_pad_set_blocked_async),
31555         (gst_pad_set_blocked), (gst_pad_is_blocked),
31556         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31557         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31558         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31559         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31560         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31561         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31562         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31563         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31564         (gst_pad_set_caps), (gst_pad_configure_sink),
31565         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31566         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31567         (gst_real_pad_dispose), (gst_real_pad_finalize),
31568         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31569         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31570         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31571         * gst/gstpad.h:
31572         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31573         (pipeline_bus_handler), (gst_pipeline_change_state),
31574         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31575         * gst/gstpipeline.h:
31576         * gst/gstprobe.h:
31577         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31578         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31579         (gst_queue_link_src), (gst_queue_bufferalloc),
31580         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31581         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31582         (gst_queue_loop), (gst_queue_handle_src_event),
31583         (gst_queue_handle_src_query), (gst_queue_src_activate),
31584         (gst_queue_change_state):
31585         * gst/gstqueue.h:
31586         * gst/gstscheduler.c: (gst_scheduler_init),
31587         (gst_scheduler_dispose), (gst_scheduler_create_task),
31588         (gst_scheduler_factory_create):
31589         * gst/gstscheduler.h:
31590         * gst/gststructure.c: (gst_structure_get_type),
31591         (gst_structure_copy_conditional):
31592         * gst/gststructure.h:
31593         * gst/gsttaginterface.h:
31594         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31595         (gst_task_init), (gst_task_dispose), (gst_task_create),
31596         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31597         (gst_task_pause):
31598         * gst/gsttask.h:
31599         * gst/gstthread.c:
31600         * gst/gstthread.h:
31601         * gst/gsttypes.h:
31602         * gst/schedulers/Makefile.am:
31603         * gst/schedulers/cothreads_compat.h:
31604         * gst/schedulers/entryscheduler.c:
31605         * gst/schedulers/faircothreads.c:
31606         * gst/schedulers/faircothreads.h:
31607         * gst/schedulers/fairscheduler.c:
31608         * gst/schedulers/gstbasicscheduler.c:
31609         * gst/schedulers/gstoptimalscheduler.c:
31610         * gst/schedulers/gthread-cothreads.h:
31611         * gst/schedulers/threadscheduler.c:
31612         (gst_thread_scheduler_task_get_type),
31613         (gst_thread_scheduler_task_class_init),
31614         (gst_thread_scheduler_task_init),
31615         (gst_thread_scheduler_task_start),
31616         (gst_thread_scheduler_task_stop),
31617         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31618         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31619         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31620         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31621         (plugin_init):
31622         * libs/gst/Makefile.am:
31623         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31624         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31625         (gst_file_pad_parent_set):
31626         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31627         (gst_dp_event_from_packet):
31628         * tests/complexity.c: (main):
31629         * tests/mass_elements.c: (main):
31630         * testsuite/states/locked.c: (message_received), (main):
31631         * testsuite/states/parent.c: (main):
31632         * tools/gst-inspect.c: (print_element_flag_info),
31633         (print_implementation_info), (print_pad_info):
31634         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31635         (main):
31636         * tools/gst-md5sum.c: (event_loop), (main):
31637         * tools/gst-typefind.c: (main):
31638         * tools/gst-xmlinspect.c: (print_element_info):
31639         Next big merge.
31640         Added GstBus for mainloop integration.
31641         Added GstMessage for sending notifications on the bus.
31642         Added GstTask as an abstraction for pipeline entry points.
31643         Removed GstThread.
31644         Removed Schedulers.
31645         Simplified GstQueue for multithreaded core.
31646         Made _link threadsafe, removed old capsnego.
31647         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31648         Added pad blocking functions.
31649         Reworked scheduling functions in GstPad to prepare for
31650         scheduling updates soon.
31651         Moved events out of data stream.
31652         Simplified GstEvent types.
31653         Added return values to push/pull.
31654         Removed clocking from GstElement.
31655         Added prototypes for state change function for next merge.
31656         Removed iterate from bins and state change management.
31657         Fixed some elements, disabled others for now.
31658         Fixed -inspect and -launch.
31659         Added check for GstBus.
31660
31661 2005-03-10  Wim Taymans  <wim@fluendo.com>
31662
31663         * docs/design/part-MT-refcounting.txt:
31664         * docs/design/part-clocks.txt:
31665         * docs/design/part-gstelement.txt:
31666         * docs/design/part-gstobject.txt:
31667         * docs/design/part-standards.txt:
31668         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31669         (gst_bin_remove_func), (gst_bin_remove):
31670         * gst/gstbin.h:
31671         * gst/gstbuffer.c:
31672         * gst/gstcaps.h:
31673         * testsuite/clock/clock1.c: (main):
31674         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31675         (main):
31676         * testsuite/dlopen/loadgst.c: (do_test):
31677         * testsuite/refcounting/bin.c: (add_remove_test1),
31678         (add_remove_test2), (main):
31679         * testsuite/refcounting/element.c: (main):
31680         * testsuite/refcounting/element_pad.c: (main):
31681         * testsuite/refcounting/pad.c: (main):
31682         * tools/gst-launch.c: (sigint_handler_sighandler):
31683         * tools/gst-typefind.c: (main):
31684         Doc updates.
31685         Added doc about clock.
31686         removed gst_bin_iterate_recurse_up(), marked methods
31687         for removal.
31688         Fix more testsuites.
31689
31690 2005-03-09  Wim Taymans  <wim@fluendo.com>
31691
31692         * gst/gstpad.c: (gst_pad_get_direction),
31693         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31694         (gst_pad_collect_valist):
31695         * testsuite/bins/interface.c: (main):
31696         * testsuite/caps/audioscale.c: (test_caps):
31697         * testsuite/caps/caps.c: (test1), (test2), (test3):
31698         * testsuite/caps/deserialize.c: (main):
31699         * testsuite/caps/enumcaps.c: (main):
31700         * testsuite/caps/filtercaps.c: (main):
31701         * testsuite/caps/intersect2.c: (main):
31702         * testsuite/caps/random.c: (main):
31703         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31704         * testsuite/caps/sets.c: (check_caps):
31705         * testsuite/caps/simplify.c: (check_caps), (main):
31706         * testsuite/caps/subtract.c: (check_caps):
31707         Fix _pad_get_direction wrt ghostpads.
31708         Fix caps testsuite.
31709
31710 2005-03-09  Wim Taymans  <wim@fluendo.com>
31711
31712         * check/Makefile.am:
31713         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31714         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31715         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31716         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31717         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31718         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31719         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31720         (bin_element_is_sink), (gst_bin_iterate_sinks),
31721         (gst_bin_iterate_all_by_interface):
31722         * gst/gstbin.h:
31723         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31724         (gst_element_change_state), (gst_element_dispose),
31725         (gst_element_finalize), (gst_element_set_loop_function):
31726         * gst/gstelement.h:
31727         * gst/gstiterator.c: (find_custom_fold_func):
31728         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31729         (gst_pad_collectv), (gst_pad_collect_valist),
31730         (gst_pad_template_new):
31731         * gst/gstpipeline.c: (gst_pipeline_class_init),
31732         (gst_pipeline_dispose), (gst_pipeline_set_property),
31733         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31734         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31735         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31736         * gst/gstutils.h:
31737         * gst/schedulers/entryscheduler.c:
31738         * gst/schedulers/gstbasicscheduler.c:
31739         (gst_basic_scheduler_cothreaded_chain),
31740         (gst_basic_scheduler_chain_add_element):
31741         * testsuite/bins/interface.c: (main):
31742         Added GstBin test.
31743         Added GstSystemClock test.
31744         Implemented clock distribution code in GstBin.
31745         Implemented iterate sinks method for future use.
31746         Rearranged gstelement.h
31747         Fix GstIterator comparison bug.
31748         Moved some code to GstPipeline, mostly clocking related.
31749
31750 2005-03-09  Wim Taymans  <wim@fluendo.com>
31751
31752         * configure.ac:
31753         * gst/gst_private.h:
31754         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31755         (gst_bin_remove_func), (gst_bin_remove),
31756         (gst_bin_get_by_name_recurse_up):
31757         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31758         (gst_clock_id_compare_func), (gst_clock_id_wait),
31759         (gst_clock_id_wait_async), (gst_clock_init),
31760         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31761         * gst/gstelement.h:
31762         * gst/gstinfo.c: (_gst_debug_init):
31763         * gst/gstobject.h:
31764         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31765         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31766         * gst/gstpad.h:
31767         Bump version number, we're now 0.9.0
31768         Add future debugging category.
31769         Fix NULL _unref() in _get_by_name_recurse_up
31770         Rearrange gstpad.h.
31771         Update some docs.
31772
31773 2005-03-08  Wim Taymans  <wim@fluendo.com>
31774
31775         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31776         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31777         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31778         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31779         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31780         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31781         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31782         * gst/elements/gstidentity.c: (gst_identity_class_init):
31783         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31784         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31785         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31786         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31787         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31788         (gst_tee_link):
31789         * gst/gstelement.c: (gst_element_class_init),
31790         (gst_element_base_class_init), (gst_element_init),
31791         (gst_element_get_random_pad), (gst_element_wait_state_change),
31792         (gst_element_change_state), (gst_element_dispose),
31793         (gst_element_finalize), (gst_element_set_loop_function):
31794         * gst/gstelement.h:
31795         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31796         * gst/gstthread.c: (gst_thread_class_init),
31797         (gst_thread_release_children_locks), (gst_thread_change_state):
31798         * gst/schedulers/gstbasicscheduler.c:
31799         (gst_basic_scheduler_loopfunc_wrapper),
31800         (gst_basic_scheduler_chain_wrapper),
31801         (gst_basic_scheduler_src_wrapper),
31802         (gst_basic_scheduler_remove_element):
31803         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31804         Remove threadsafe properties. Fix elements because GObject
31805         complains when installing a property before declaring a
31806         set/get_property handler.
31807         Rearrange gstelement.h file, use STATE macros for state locks.
31808         Free mutexes in the finalize method instead of dispose.
31809
31810 2005-03-08  Wim Taymans  <wim@fluendo.com>
31811
31812         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31813         * gst/gstthread.c: (gst_thread_release_children_locks):
31814         Added parentage check.
31815         Fix build og GstThread again.
31816
31817 2005-03-08  Wim Taymans  <wim@fluendo.com>
31818
31819         * docs/design/part-MT-refcounting.txt:
31820         * docs/design/part-conventions.txt:
31821         * docs/design/part-gstobject.txt:
31822         * docs/design/part-relations.txt:
31823         * docs/design/part-standards.txt:
31824         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31825         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31826         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31827         (gst_bin_iterate_all_by_interface):
31828         * gst/gstbuffer.h:
31829         * gst/gstclock.h:
31830         * gst/gstelement.c: (gst_element_class_init),
31831         (gst_element_change_state), (gst_element_set_loop_function):
31832         * gst/gstelement.h:
31833         * gst/gstiterator.c:
31834         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31835         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31836         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31837         (gst_object_set_parent), (gst_object_unparent),
31838         (gst_object_check_uniqueness):
31839         * gst/gstobject.h:
31840         Docs updates, clean up some headers.
31841
31842 2005-03-07  Wim Taymans  <wim@fluendo.com>
31843
31844         * check/.cvsignore:
31845         * check/Makefile.am:
31846         * check/gst-libs/.cvsignore:
31847         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31848         * check/gst/.cvsignore:
31849         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31850         (START_TEST), (gstbus_suite), (main):
31851         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31852         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31853         (gst_data_suite), (main):
31854         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31855         (add_fold_func), (gstiterator_suite), (main):
31856         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31857         (thread_name_object), (thread_name_object_default),
31858         (gst_object_name_compare), (gst_object_suite), (main):
31859         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31860         (gst_pad_suite), (main):
31861         * check/gstcheck.c: (gst_check_log_message_func),
31862         (gst_check_log_critical_func), (gst_check_init):
31863         * check/gstcheck.h:
31864         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31865         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31866         Added checks.
31867
31868 2005-03-07  Wim Taymans  <wim@fluendo.com>
31869
31870         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31871         (gst_list_iterator_next), (gst_list_iterator_resync),
31872         (gst_list_iterator_free), (gst_iterator_new_list),
31873         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31874         (gst_iterator_free), (gst_iterator_push), (filter_next),
31875         (filter_resync), (filter_uninit), (filter_free),
31876         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31877         (gst_iterator_foreach), (find_custom_fold_func),
31878         (gst_iterator_find_custom):
31879         * gst/gstiterator.h:
31880         Added missing files.
31881
31882 2005-03-07  Wim Taymans  <wim@fluendo.com>
31883
31884         * Makefile.am:
31885         * configure.ac:
31886         * docs/design/part-MT-refcounting.txt:
31887         * docs/design/part-conventions.txt:
31888         * docs/design/part-gstobject.txt:
31889         * docs/design/part-relations.txt:
31890         * examples/mixer/mixer.c: (main):
31891         * examples/thread/thread.c: (eos), (main):
31892         * gst/Makefile.am:
31893         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31894         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31895         (gst_spider_plug_from_srcpad):
31896         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31897         (gst_spider_identity_change_state),
31898         (gst_spider_identity_sink_loop_type_finding):
31899         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31900         * gst/elements/gstidentity.c: (gst_identity_init):
31901         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31902         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31903         * gst/elements/gsttypefindelement.c: (free_entry):
31904         * gst/gst.c:
31905         * gst/gst.h:
31906         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31907         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31908         (gst_bin_set_index), (gst_bin_set_element_sched),
31909         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31910         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31911         (gst_bin_iterate_elements), (iterate_child_recurse),
31912         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31913         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31914         (compare_interface), (gst_bin_get_by_interface),
31915         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31916         * gst/gstbin.h:
31917         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31918         (gst_buffer_default_free), (gst_buffer_default_copy),
31919         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31920         (gst_buffer_create_sub):
31921         * gst/gstbuffer.h:
31922         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31923         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31924         (gst_caps_unref), (gst_static_caps_get),
31925         (gst_caps_remove_and_get_structure), (gst_caps_append),
31926         (gst_caps_append_structure), (gst_caps_remove_structure),
31927         (gst_caps_copy_nth), (gst_caps_set_simple),
31928         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31929         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31930         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31931         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31932         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31933         (gst_caps_structure_figure_out_union),
31934         (gst_caps_switch_structures), (gst_caps_do_simplify),
31935         (gst_caps_replace), (gst_caps_from_string),
31936         (gst_caps_copy_conditional):
31937         * gst/gstcaps.h:
31938         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31939         (_gst_clock_id_free), (gst_clock_id_unref),
31940         (gst_clock_id_compare_func), (gst_clock_id_wait),
31941         (gst_clock_id_wait_async), (gst_clock_class_init),
31942         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31943         (gst_clock_get_time), (gst_clock_set_time_adjust),
31944         (gst_clock_set_property), (gst_clock_get_property):
31945         * gst/gstclock.h:
31946         * gst/gstcompat.h:
31947         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31948         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31949         * gst/gstdata.h:
31950         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31951         (gst_element_requires_clock), (gst_element_provides_clock),
31952         (gst_element_set_clock), (gst_element_clock_wait),
31953         (gst_element_wait), (gst_element_set_time_delay),
31954         (gst_element_is_indexable), (gst_element_add_pad),
31955         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31956         (pad_compare_name), (gst_element_get_static_pad),
31957         (gst_element_request_pad), (gst_element_get_request_pad),
31958         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31959         (gst_element_class_get_pad_template_list),
31960         (gst_element_class_get_pad_template), (gst_element_error_func),
31961         (gst_element_get_random_pad), (gst_element_get_event_masks),
31962         (gst_element_send_event), (gst_element_seek),
31963         (gst_element_get_query_types), (gst_element_query),
31964         (gst_element_get_formats), (gst_element_convert),
31965         (gst_element_is_locked_state), (gst_element_set_locked_state),
31966         (gst_element_sync_state_with_parent), (gst_element_change_state),
31967         (gst_element_finalize), (gst_element_yield),
31968         (gst_element_interrupt), (gst_element_set_scheduler),
31969         (gst_element_get_scheduler), (gst_element_set_loop_function):
31970         * gst/gstelement.h:
31971         * gst/gstevent.h:
31972         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31973         (gst_format_get_by_nick), (gst_format_get_details),
31974         (gst_format_iterate_definitions):
31975         * gst/gstformat.h:
31976         * gst/gstindex.c: (gst_index_gtype_resolver):
31977         * gst/gstinfo.c:
31978         * gst/gstinfo.h:
31979         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31980         (gst_mem_chunk_free):
31981         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31982         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31983         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31984         (gst_object_dispatch_properties_changed),
31985         (gst_object_set_name_default), (gst_object_set_name),
31986         (gst_object_get_name), (gst_object_set_name_prefix),
31987         (gst_object_get_name_prefix), (gst_object_set_parent),
31988         (gst_object_get_parent), (gst_object_unparent),
31989         (gst_object_check_uniqueness), (gst_object_save_thyself),
31990         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31991         (gst_object_set_property), (gst_object_get_property),
31992         (gst_object_get_path_string):
31993         * gst/gstobject.h:
31994         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31995         (gst_real_pad_init), (gst_real_pad_get_property),
31996         (gst_pad_custom_new), (gst_pad_get_direction),
31997         (gst_pad_set_active), (gst_pad_is_active),
31998         (gst_pad_set_event_function), (gst_pad_is_linked),
31999         (gst_pad_link_free), (gst_pad_link_intersect),
32000         (gst_pad_link_fixate), (gst_pad_set_caps),
32001         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32002         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32003         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32004         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32005         (gst_pad_get_caps), (gst_pad_peer_get_caps),
32006         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32007         (gst_pad_realize), (gst_pad_get_allowed_caps),
32008         (gst_real_pad_dispose), (gst_real_pad_finalize),
32009         (gst_pad_collectv), (gst_pad_collect_valist),
32010         (gst_pad_template_dispose), (gst_pad_template_new),
32011         (gst_pad_get_internal_links):
32012         * gst/gstpad.h:
32013         * gst/gstpipeline.c: (gst_pipeline_dispose),
32014         (gst_pipeline_change_state):
32015         * gst/gstpipeline.h:
32016         * gst/gstplugin.c:
32017         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32018         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32019         * gst/gstpluginfeature.h:
32020         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32021         * gst/gstquery.c: (_gst_query_type_initialize),
32022         (gst_query_type_register), (gst_query_type_get_by_nick),
32023         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32024         * gst/gstquery.h:
32025         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32026         * gst/gstscheduler.c: (gst_scheduler_add_element),
32027         (gst_scheduler_factory_create):
32028         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32029         (gst_structure_free), (gst_structure_set_name),
32030         (gst_structure_id_set_value), (gst_structure_set_value),
32031         (gst_structure_set_valist), (gst_structure_remove_field),
32032         (gst_structure_remove_fields),
32033         (gst_structure_remove_fields_valist),
32034         (gst_structure_remove_all_fields), (gst_structure_foreach),
32035         (gst_structure_map_in_place),
32036         (gst_caps_structure_fixate_field_nearest_int),
32037         (gst_caps_structure_fixate_field_nearest_double):
32038         * gst/gststructure.h:
32039         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32040         (gst_system_clock_init), (gst_system_clock_dispose),
32041         (gst_system_clock_async_thread),
32042         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32043         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32044         * gst/gstsystemclock.h:
32045         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32046         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32047         * gst/gsttaginterface.c:
32048         * gst/gstthread.c: (gst_thread_dispose),
32049         (gst_thread_release_children_locks), (gst_thread_change_state),
32050         (gst_thread_main_loop):
32051         * gst/gsttrashstack.h:
32052         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32053         * gst/gsttypes.h:
32054         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32055         (gst_element_request_pad), (gst_element_get_pad_from_template),
32056         (gst_element_request_compatible_pad),
32057         (gst_element_get_compatible_pad_filtered),
32058         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32059         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32060         (gst_element_link_many), (gst_element_link),
32061         (gst_element_link_pads), (gst_element_unlink_pads),
32062         (gst_element_unlink_many), (gst_element_unlink),
32063         (gst_pad_can_link_filtered), (gst_pad_can_link),
32064         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32065         (gst_object_default_error), (gst_bin_add_many),
32066         (gst_bin_remove_many), (gst_element_populate_std_props),
32067         (gst_element_class_install_std_props), (gst_buffer_merge),
32068         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32069         (link_fold_func), (gst_pad_proxy_setcaps):
32070         * gst/gstutils.h:
32071         * gst/gstvalue.c: (gst_value_deserialize_string):
32072         * gst/parse/grammar.y:
32073         * gst/schedulers/gstbasicscheduler.c:
32074         (gst_basic_scheduler_cothreaded_chain),
32075         (gst_basic_scheduler_chain_recursive_add),
32076         (gst_basic_scheduler_pad_link):
32077         * gst/schedulers/gstoptimalscheduler.c:
32078         (get_group_schedule_function),
32079         (gst_opt_scheduler_state_transition),
32080         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32081         * libs/gst/bytestream/bytestream.c:
32082         * libs/gst/dataprotocol/dataprotocol.c:
32083         (gst_dp_header_from_buffer):
32084         * po/nb.po:
32085         * po/ru.po:
32086         * tests/threadstate/threadstate2.c: (eos):
32087         * tools/gst-compprep.c: (main):
32088         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32089         (print_pad_info), (print_children_info):
32090         * tools/gst-launch.c: (idle_func), (main):
32091         * tools/gst-md5sum.c: (idle_func), (main):
32092         * tools/gst-xmlinspect.c: (print_element_info):
32093         First THREADED backport attempt, focusing on adding locks and
32094         making sure the API is threadsafe. Needs more work. More docs
32095         follow this week.
32096
32097 2005-02-24  Andy Wingo  <wingo@pobox.com>
32098
32099         * tests/bench-complexity.scm:
32100         * tests/complexity.gnuplot: New files, good for running complexity
32101         benchmarks.
32102
32103         * tests/Makefile.am:
32104         * tests/complexity.c: New test, sets up N elements, at each level
32105         teeing into M streams per element. Eeeenteresting.
32106
32107         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32108         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32109         running bench-mass_elements.scm.
32110
32111         * tests/bench-mass_elements.scm: New script, runs mass_elements
32112         for various numbers of identities, outputting the results to a
32113         file. Requires guile 1.6. Just for testing.
32114
32115 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32116
32117         * gst/schedulers/fairscheduler.c:
32118           compile with debug disabled
32119
32120 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32121
32122         * configure.ac:
32123           hunting season on 0.9 is now OPEN