In a source ghostpad, when caps are changed in the target pad, the change needs to...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-12-17  Alessandro Decina  <alessandro.decina@collabora.co.uk>
2
3         * gst/gstghostpad.c:
4         * tests/check/gst/gstghostpad.c:
5         In a source ghostpad, when caps are changed in the target pad, the
6         change needs to be reflected in the ghostpad.
7         Fixes #564863.
8
9 2008-12-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
10
11         * gst/gstutils.c: (gst_element_found_tags_for_pad):
12         Add FIXME for 0.11 to set the pad as message source and not
13         the element. Otherwise it's impossible to detect for which
14         pad the tags were found without adding an event probe
15         or something similar to the pad.
16
17 2008-12-16  Wim Taymans  <wim.taymans@collabora.co.uk>
18
19         * docs/faq/general.xml:
20         Update the faq.
21
22 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
23
24         * docs/gst/gstreamer-sections.txt:
25         * gst/gsttagsetter.c:
26         * gst/gsttagsetter.h:
27           Rename api added in previous commit and add since tag to docs.
28           API: gst_tag_setter_reset_tags()
29
30 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
31
32         * docs/gst/gstreamer-sections.txt:
33         * gst/gsttagsetter.c:
34         * gst/gsttagsetter.h:
35           Add function to reset tagsetter for element reuse.
36
37 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
38
39         * gst/gsttaglist.c:
40           Avoid copy of empty taglist.
41
42 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
43
44         * gst/gsttaglist.c:
45         * tests/check/gst/gsttag.c:
46           More complete unit tests. Fix handling of empty taglists (they were
47           not merged before).
48
49 2008-12-15  Stefan Kost  <ensonic@users.sf.net>
50
51         * gst/gsttaglist.h:
52         * gst/gsttagsetter.c:
53           Update GstTagSetter and GstTagMergeMode documentation. Mention
54           that tags can come from events and from application. Fix example.
55
56 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
57
58         * docs/design/part-TODO.txt:
59         Remove the seqnum entry that we implemented in 0.10 already.
60         Add entry about removing the format return value for queries.
61
62 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
63
64         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
65         (gst_base_sink_init), (gst_base_sink_set_property),
66         (gst_base_sink_get_property):
67         Expose the render-delay as a property so things like appsink can use it
68         to tweak the synchronisation.
69
70 2008-12-10  Peter Kjellerstedt  <pkj@axis.com>
71
72         * libs/gst/check/gstcheck.h: Allow check tests to use
73         MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
74         CK_FORK=no to be used with multiple check test that use threads.
75
76 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
77
78         * gst/gstutils.c: (gst_element_get_compatible_pad):
79         Fix a caps memory leak introduced by the last change.
80
81 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
82
83         * gst/gstutils.c: (gst_element_get_compatible_pad):
84         Check if the caps of the pads are compatible before returning
85         a pad and claiming it is compatible. This, among other things,
86         fixes a bug with gst-launch where an incompatible pad is chosen
87         and linking fails. Fixes bug #544003.
88
89 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
90
91         * libs/gst/check/gstcheck.c: (gst_check_init):
92         Revert accidentially commited patch for bug #404631 which
93         tries to print a backtrace if a testcase is terminated by
94         a signal. This code was never activated as the corresponding
95         configure.ac change wasn't committed.
96
97 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
98
99         * tests/check/libs/controller.c: (GST_START_TEST):
100         This test should return TRUE now as syncing an uncontrolled
101         object will succeed now (there's nothing to sync).
102
103 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
104
105         * libs/gst/controller/gstcontroller.c:
106           Aggregate return value for gst_controller_sync_values(). More info in
107           logging. Always set values on first sync-call.
108
109         * libs/gst/controller/gstcontrolsource.c:
110           Microoptimizations.
111
112         * libs/gst/controller/gsthelper.c:
113           Fix return code and comment.
114
115 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
116
117         * tools/gst-launch.1.in:
118           Fix description of how to specify a type in caps. Fixes #553873.
119           Also ranges and list contain values and not property-assignments.
120
121 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
122
123         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
124         Check for changed pads-list before checking the last returned
125         GstFlowReturn because the pad could have been removed and we
126         need to ignore the value in that case.
127
128 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
129
130         * libs/gst/base/gstbasetransform.c:
131         (gst_base_transform_prepare_output_buffer),
132         (gst_base_transform_getrange), (gst_base_transform_chain):
133         * libs/gst/base/gstbasetransform.h:
134         Add vmethod that is called before we start the transform and which can
135         be used to configure the transform, such as dynamic properties.
136
137 2008-12-05  David Schleef  <ds@schleef.org>
138
139         * gst/gst.c:
140         Search for plugins on win32 based on the location of the
141         gstreamer DLL.  Fixes #548786
142
143 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
144
145         * configure.ac:
146         Apparently AC_CONFIG_MACRO_DIR breaks when using more
147         than one macro directory, reverting last change.
148
149 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
150
151         * configure.ac:
152         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
153         our M4 macros.
154
155 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
156
157         Patch by: Cygwin Ports maintainer
158                   <yselkowitz at users dot sourceforge dot net>
159
160         * autogen.sh:
161         * configure.ac:
162         Require gettext 0.17 because older versions don't mix with libtool
163         2.2. At build time an older gettext version will still work.
164         Fixes bug #556091.
165
166 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
167
168         Patch by: 이문형 <iwings at gmail dot com>
169
170         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
171         Adds support for FD_CONNECT event (win32). See #562258.
172
173 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
174
175         * libs/gst/base/gstbasesink.c:
176           Turn comment into gtk-doc comment.
177
178 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
179
180         * libs/gst/base/gstbasetransform.c:
181         (gst_base_transform_acceptcaps):
182         Revert quick accepcaps attempt, it's not fully equivalent to the old
183         behaviour and thus causes regressions.
184
185 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
186
187         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
188         Fix memory leak.
189
190 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
191
192         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
193
194         * gst/gstregistry.c: (gst_registry_scan_path_level):
195         Reduce the number of stat() calls for every file from three times
196         to one time. Fixes bug #560360.
197
198 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
199
200         * libs/gst/base/gstbasetransform.c:
201         (gst_base_transform_acceptcaps):
202         Rename a variable to make the code clearer.
203
204 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
205
206         * plugins/elements/gstidentity.c:
207         Don't warning on offset==-1. Taken from _check_imperfect_offset().
208
209 2008-11-21  Michael Smith <msmith@songbirdnest.com>
210
211         * plugins/elements/gstfilesrc.c:
212           Check for localhost in URI was backwards, fix it. Fixes unit test.
213
214 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
215
216         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
217         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
218         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
219         Add beginnings of a more optimized acceptcaps function than the default
220         core one.
221
222 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
223
224         * gst/gstpad.c: (gst_pad_accept_caps):
225         Avoid getting the acceptcaps function too early.
226
227 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
228
229         * tools/gst-launch.c: (event_loop):
230         Make gst-launch handle LATENCY messages and make it recalculate the
231         latency.
232
233 2008-11-20  Michael Smith <msmith@songbirdnest.com>
234
235         * plugins/elements/gstfilesrc.c:
236           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
237           out own slightly incorrect version. Fixes use of some paths on
238           win32.
239
240 2008-11-20  Michael Smith <msmith@songbirdnest.com>
241
242         * gst/gstregistrybinary.c:
243           In win32 codepath, if we fail to write the registry, create the
244           directory for it and try again, matching the behaviour in non-win32
245           codepaths.
246
247 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
248
249         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
250         Changing the render delay changes the latency and so we must post a
251         latency message.
252
253 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
254
255         * gst/gstquery.c:
256         * gst/gstquery.h:
257         Add GstQueryType for custom queries instead of having to use the
258         not-so-very-convenient registration infrastructure to register new
259         types.
260
261 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
262
263         Patch by: Andrew Feren <acferen at yahoo dot com>
264
265         * gst/gstobject.c: (gst_object_default_deep_notify):
266         Unref the GEnumClass after usage again. Fixes bug #561501.
267
268 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
269
270         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
271         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
272         (gst_bin_change_state_func):
273         * gst/gstbin.h:
274         Add do-latency signal with the old default fallback implementation. This
275         allows for custom latency calculations for when the default is not
276         sufficient.
277         API: GstBin::do-latency signal.
278
279 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
280
281         * win32/common/libgstreamer.def:
282         Add new symbols to .def file.
283
284 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
285
286         * docs/gst/gstreamer-sections.txt:
287         * gst/gstbin.c: (gst_bin_recalculate_latency),
288         (gst_bin_change_state_func):
289         * gst/gstbin.h:
290         Add method to recalculate and redistribute the latency on a bin.
291         API: gst_bin_recalculate_latency().
292
293 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
294
295         * gst/gstbuffer.h:
296         Document the free_func.
297
298 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
299
300         * libs/gst/controller/gstinterpolation.c:
301         * libs/gst/controller/gstlfocontrolsource.c:
302         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
303         as it is mapped to a cast on non-win32 platforms.
304
305 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
306
307         * libs/gst/controller/gstcontroller.c:
308         * libs/gst/controller/gstcontrollerprivate.h:
309           Keep last-value and only call set_property if value has changed. This
310           supresses all the g_object_notifies we would trigger otherwise. It
311           also allows the user to chage the value while there is no controller
312           change.
313
314 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
315
316         * gst/gstvalue.c:
317           Don't crash if either of the string GValues is empty.
318
319 2008-11-17  Andy Wingo  <wingo@pobox.com>
320
321         * tools/gst-inspect.c (print_all_uri_handlers): New function,
322         prints a summary of what URI schemes are supported by what
323         elements.
324         (main): Plumb in support for --uri-handlers or -u, and fix the
325         argc check for -a and -u.
326
327 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
328
329         * gst/gstutils.h:
330         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
331         conversion functions.
332
333 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
334
335         * gst/gstbuffer.c: (gst_buffer_finalize):
336         Avoid costly typechecking for trivially correct pointers.
337
338         * gst/gstpoll.c: (gst_poll_wait):
339         Add some G_LIKELY here and there.
340
341         * libs/gst/base/gstadapter.c: (gst_adapter_push):
342         Add some debug info.
343
344 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
345
346         * docs/random/wtay/poll-timeout:
347         Small tweaks.
348
349 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
350
351         * tests/old/testsuite/caps/intersection.c: (main):
352         * tests/old/testsuite/plugin/loading.c: (main):
353         Remove references to deprecated API g_mem_chunk*.
354         Fixes #560442.
355
356 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
357
358         * tools/gst-inspect.c: (main):
359         Add --plugin option. Fixes #560301.
360
361 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
362
363         * docs/random/wtay/poll-timeout:
364         Quick braindump for a possible (not totally verified) atomic case.
365
366 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
367
368         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
369         (gst_registry_binary_initialize_magic),
370         (gst_registry_binary_write_cache),
371         (gst_registry_binary_check_magic):
372         * gst/gstregistrybinary.h:
373         Don't write and check a CRC for the binary registry file. It's
374         guaranteed that the registry is completely written (it's first written
375         to a temporary file and then moved) and if the registry was corrupted
376         by some hardware failure we would have bigger problems.
377
378         Bump binary registry version to 0.10.21.1 for this as it's an
379         incompatible change and to ensure that the registry gets rebuild
380         after the update.
381
382         This saves some milliseconds for reading/writing the registry.
383         Fixes bug #560399.
384
385 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
386
387         * docs/random/wtay/poll-timeout:
388         Some pseudo code for how we could implement clock timeouts with GstPoll.
389
390 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
391
392         * plugins/elements/gstfilesink.c:
393           Update Author string to match others.
394
395 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
396
397         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
398         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
399         being fixed and inline the trivial check.
400
401 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
402
403         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
404         (gst_caps_merge_structure), (gst_caps_get_structure),
405         (gst_caps_copy_nth), (gst_caps_set_simple),
406         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
407         (gst_caps_is_equal_fixed), (gst_caps_intersect),
408         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
409         (gst_caps_to_string):
410         Callgrind micro optimisations.
411         Avoid array bounds checks and force inline of trivial function.
412
413         * gst/gstobject.c: (gst_object_set_name_default):
414         -1 is equivalent to letting glib to the strlen but then there is more
415         room for optimisations and it's not our fault.
416
417         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
418         no need to clear the array, we're cool.
419
420         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
421         The most common _is_fixed() check is done on fundamental glib base
422         types so we check this first instead of doing a huge amount of
423         useless GST_TYPE_ARRAY calls.
424
425 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
426
427         * gst/gstevent.h:
428         Add a SKIP seek flag for use with advanced trickmodes.
429         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
430
431 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
432
433         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
434         No need to memset, we can clear the value ourselves.
435
436         * gst/gstvalue.c: (gst_type_is_fixed),
437         (gst_value_get_compare_func):
438         Some optimisations from a few callgrind sessions:
439         When checking if a type is fixed, check for trivial fundamental types
440         first before checking types for which we need to get the type followed
441         by the heavy duty type checks, this reduces the amount of
442         g_type_fundamental() calls a lot.
443         When getting the compare function, first check for our registered types.
444         If that fails, do the heavy duty g_type_is_a() checks, reduces the
445         amount of g_type_is_a() considerably.
446
447 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
448
449         * docs/design/part-TODO.txt:
450         Mumble something about removing GstXML.
451
452 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
453
454         * gst/gstbin.c: (gst_bin_handle_message_func):
455         Get the seqnum before we dispose the message.
456
457 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
458
459         * docs/design/part-TODO.txt:
460         Refer to the framestepping document.
461
462 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
463
464         * gst/gstbin.c: (bin_handle_async_start),
465         (gst_bin_handle_message_func), (gst_bin_query):
466         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
467         (gst_base_sink_event), (gst_base_sink_change_state):
468         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
469         (gst_base_src_loop), (gst_base_src_change_state):
470         Copy seqnums from events to messages so that they can all be related
471         back to eachother.
472
473 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
474
475         * tools/gst-launch.c: (event_loop):
476         Print the message seqnums.
477
478 2008-11-04  Andy Wingo  <wingo@pobox.com>
479
480         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
481
482 2008-11-04  Andy Wingo  <wingo@pobox.com>
483
484         Add sequence numbers to events and messages. See #559250.
485
486         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
487         API: New functions.
488
489         * gst/gstevent.h:
490         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
491         events with a new sequence number, and copy it when copying.
492         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
493         an event's sequence number.
494
495         * gst/gstmessage.h:
496         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
497         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
498         so with messages.
499
500         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
501
502 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
503
504         * docs/manual/advanced-position.xml:
505         * docs/manual/basics-bins.xml:
506         * docs/manual/basics-bus.xml:
507         * docs/manual/basics-pads.xml:
508         * docs/manual/intro-gstreamer.xml:
509         * docs/manual/intro-preface.xml:
510         Some Application Development Manual fixes thanks to
511         Andrew Feren. Fixes #558459.
512
513 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
514
515         * gst/gstregistrybinary.c:
516           Don't bother with the GTimer if we don't output the results.
517
518 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
519
520         Patch by: David Schleef  <ds@schleef.org>
521
522         * libs/gst/net/Makefile.am:
523         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
524
525 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
526
527         * gst/gstregistrybinary.c:
528           Oh my, studip, stupid me. Remove double stat() call.
529
530 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
531
532         * gst/gstpreset.c:
533           Use g_unlink instead of unlink.
534
535         * gst/gststructure.c:
536           Use glib type.
537
538         * gst/gstutils.c:
539           Add a FIXME:.
540
541         * gst/gsttaglist.c:
542         * gst/gsttypefind.c:
543         * gst/gstvalue.c:
544           Formatting & whitespaces.
545
546 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
547
548         * plugins/elements/gstidentity.c:
549           Doc typo. Use return value of parent_class->event.
550   
551         * plugins/elements/gsttypefindelement.c:
552           Chain up at the end for consistency.
553   
554 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
555
556         * docs/Makefile.am:
557         * docs/gst/gstreamer-docs.sgml:
558         * docs/gst/gstreamer-sections.txt:
559         * docs/gst/running.xml:
560         * docs/libs/gstreamer-libs-docs.sgml:
561           Change to xinclude based build - its faster and easier to maintain.
562
563 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
564
565         * gst/gstregistrybinary.c:
566         * gst/gstregistryxml.c:
567           Use g_unlink() as none of these are directories.
568
569 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
570
571         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
572         Some more comments.
573
574 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
575
576         * libs/gst/base/gstbasetransform.c:
577         (gst_base_transform_find_transform), (gst_base_transform_getrange):
578         If we have a fixate function, call it even if we already have fixed caps
579         because the subclass might add some caps. Makes audioconvert add a
580         default channel layout.
581
582 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
583
584         * libs/gst/base/gstbasetransform.c:
585         (gst_base_transform_prepare_output_buffer),
586         (gst_base_transform_getrange):
587         Clear the output buffer variable.
588         Cleanups to the error path in the getrange function.
589         Fixes #557649.
590
591 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
592
593         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
594         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
595         Use gst_buffer_try_new_and_alloc() and handle errors instead of
596         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
597         be allocated.
598
599 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
600
601         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
602         Set the last_stop to a more meaningful position when configuring the
603         segment. ie. the start/stop of the segment or clipped against the
604         updated segment boundaries.
605
606         * tests/check/gst/gstsegment.c: (GST_START_TEST):
607         Add some unit tests for the last_stop.
608
609 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
610
611         * libs/gst/base/gstbytereader.c:
612         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
613         copies of them.
614
615 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
616
617         * docs/gst/gstreamer-sections.txt:
618         * gst/gstutils.h:
619         API: Move float endianness conversion macros from libgstfloatcast
620         to core as it's useful in general, even in core. Fixes bug #555196.
621         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
622         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
623         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
624
625         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
626         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
627         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
628         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
629
630 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
631
632         * docs/libs/gstreamer-libs-sections.txt:
633         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
634         (gst_byte_reader_peek_data):
635         * libs/gst/base/gstbytereader.h:
636         * win32/common/libgstbase.def:
637         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
638         to get a pointer to the data at the current position and have
639         a guaranteed size.
640
641 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
642
643         * configure.ac:
644         Fix a bug in the output of the configure script summary
645         when --gst-disable-registry is supplied
646
647 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
648
649         * libs/gst/base/gstbitreader.c:
650         * libs/gst/base/gstbytereader.c:
651         Fix the names of 2 functions in the docs strings.
652
653 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
654
655         * libs/gst/base/gstbasetransform.c:
656         (gst_base_transform_prepare_output_buffer),
657         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
658         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
659         refcount problems as seen in banshee and maybe also in farsight2.
660         Remove atomic int now that we need to take the lock anyways.
661
662 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
663
664         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
665         (gst_base_sink_default_prepare_seek_segment),
666         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
667         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
668         (gst_base_sink_query):
669         Implement more seeking in pull mode.
670         Use pad convert functions to convert position to the requested format.
671         Fix position/duration reporting in pull mode.
672         Implement position and duration reporting in other formats than time.
673
674         * libs/gst/base/gstbasesink.h:
675         Add member to keep track of when the segment is playing.
676
677 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
678
679         * gst/gstpad.c: (gst_pad_configure_src):
680         When we use gst_pad_alloc_buffer() without wanting to set the caps we
681         also don't need to check if the caps are compatible because the caller
682         presumably is going to perform its own custom checks. Fixes some cases
683         where basetransform elements would error out when it was not needed.
684
685 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
686
687         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
688         Update comment.
689
690         * libs/gst/base/gstbasetransform.c:
691         (gst_base_transform_handle_buffer),
692         (gst_base_transform_reconfigure):
693         Add some debug info.
694
695         * win32/common/libgstbase.def:
696         Add new method.
697
698 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
699
700         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
701           Remove duplicated assignment and log a message in failure case.
702
703 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
704
705         Patch by: Dig Ge <dig.ge.cn at gmail com>
706
707         * tests/examples/helloworld/helloworld.c: (main):
708           Fix copy'n'paste bug in hello world example (#556900).
709
710 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
711
712         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
713         (gst_base_sink_query):
714         Query the total number of bytes when activating the pad in pull mode.
715         Implement duration query in pull mode by using the installed pad convert
716         function to convert from bytes to the requested format.
717
718 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
719
720         * docs/libs/gstreamer-libs-sections.txt:
721         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
722         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
723         (gst_base_sink_event), (gst_base_sink_perform_seek),
724         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
725         (gst_base_sink_send_event), (gst_base_sink_change_state):
726         * libs/gst/base/gstbasesink.h:
727         Add method to commit the state in subclasses.
728         Refactor the flush_start and flush_stop code because we need it for
729         flushing while seeking too.
730         Implement the beginnings of seeking in pull mode.
731         Use the segment last_stop field for the pulling offset.
732         Fix the pause method in pull mode.
733         Configure the segment to BYTES for pull mode.
734         API: GstBaseSink::gst_base_sink_do_preroll()
735
736 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
737
738         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
739         Update some docs.
740
741 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
742
743         * gst/gstquark.c: (_priv_gst_quarks_initialize):
744           Fix printf format warning.
745
746 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
747
748         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
749         Fix flow aggregation of tee. Error out immediately for all flow returns
750         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
751         and return OK if at least one pad is linked.
752
753         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
754         and otherwise returned the flow return of the last pad, which is wrong.
755         
756         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
757         (GST_START_TEST), (tee_suite):
758         Add unit tests for the flow aggregation.
759
760 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
761
762         * docs/design/part-TODO.txt:
763         Remove item from the todo list because it was fixed with the latency
764         state change rewrites.
765
766         * docs/design/part-seeking.txt:
767         * docs/design/part-segments.txt:
768         Update some docs.
769
770         * gst/gstevent.c: (gst_event_new_new_segment_full),
771         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
772         (gst_event_parse_buffer_size), (gst_event_new_qos),
773         (gst_event_parse_qos), (gst_event_new_seek),
774         (gst_event_parse_seek), (gst_event_new_latency),
775         (gst_event_parse_latency):
776         Use quarks to construct and parse events.
777
778         * gst/gstquark.c: (_priv_gst_quarks_initialize):
779         * gst/gstquark.h:
780         Add some more quarks to the table.
781         Emit a warning when the quark tables are not in sync.
782
783         * tests/check/gst/gstbus.c: (GST_START_TEST):
784         Add an assert.
785
786 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
787
788         * plugins/elements/Makefile.am:
789         * plugins/indexers/Makefile.am:
790           Don't install static libs for plugins. Fixes #550851 for core.
791
792 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
793
794         * gst/gstbus.c: (gst_bus_source_finalize),
795         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
796         (gst_bus_enable_sync_message_emission),
797         (gst_bus_disable_sync_message_emission),
798         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
799         Fix deadlock, g_source_get_id() cannot be called in finalize.
800         Keep track of the watch source by keeping a pointer to the source object
801         instead.
802         Use the bus lock to protect access to the pointer to the current
803         watch source.
804
805 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
806
807         Base on Patch by: Olivier Crete <tester at tester dot ca>
808
809         * gst/gstbus.c: (gst_bus_source_finalize),
810         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
811         Only allow one bus watch to be set at a time. This is necessary
812         because the dispatcher pops the message from the bus and the second
813         watcher will then get NULL or the next message (and the first won't
814         get this next message then, etc). If more than one "watcher" is
815         required signal watches should be used. Fixes bug #526044.
816
817 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
818
819         * tools/gst-launch.c:
820         Change the printing of the 'buffering...' output to avoid putting
821         a \r in a translateable string (flagged by the TP).
822
823 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
824
825         * gst/gstxml.c:
826         Clarify that the save_thyself() and restore_thyself() virtual
827         functions of GstObject need to be overriden, not
828         gst_object_(save|restore)_thyself() which is impossible.
829         Fixes bug #555700.
830
831 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
832
833         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
834         Revert a patch from 21 months ago that broke caps negotiation in pull
835         mode. Basically, having a buffer pass over a pad will trigger the
836         setcaps function when caps change, just like in push mode.
837
838 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
839
840         * docs/design/part-negotiation.txt:
841         Update the docs some more.
842
843         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
844         If we pull a buffer with non-trivial caps, suggest those caps with the
845         max probability.
846
847 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
848
849         * docs/design/part-TODO.txt:
850         Add another limitation of pad-blocking with segment seeks not pushing
851         EOS events.
852
853 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
854
855         * win32/common/libgstbase.def:
856         * win32/common/libgstreamer.def:
857         Add new symbols to the win32 defs files
858
859 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
860
861         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
862         (gst_bin_handle_message_func):
863         The message src can be NULL, don't try to print the object names in that
864         case.
865
866         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
867         Add some more debug info.
868
869         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
870         (GST_START_TEST):
871         Add some debug.
872         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
873         scheduling modes.
874
875 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
876
877         * docs/design/part-negotiation.txt:
878         Small doc update.
879
880         * docs/libs/gstreamer-libs-sections.txt:
881         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
882         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
883         (gst_base_sink_init), (gst_base_sink_set_blocksize),
884         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
885         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
886         (gst_base_sink_loop), (gst_base_sink_pad_activate),
887         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
888         (gst_base_sink_change_state):
889         * libs/gst/base/gstbasesink.h:
890         Add blocksize property and methods to control the amount of data
891         to pull.
892         Negotiate first before activating upstream in pull mode so that they can
893         negotiate themselves.
894         When we operate in pull mode, we only accept the caps that we
895         negotiated.
896         Make the sink go ASYNC to PAUSED, like all other sinks.
897         API: GstBaseSink::gst_base_sink_set_blocksize()
898         API: GstBaseSink::gst_base_sink_get_blocksize()
899         API: GstBaseSink::blocksize
900
901         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
902         (gst_base_src_set_live), (gst_base_src_is_live),
903         (gst_base_src_set_format), (gst_base_src_query_latency),
904         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
905         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
906         (gst_base_src_set_property), (gst_base_src_get_property):
907         * libs/gst/base/gstbasesrc.h:
908         Add typechecking in public API functions.
909         Add methods to control the blocksize in subclasses.
910         API: GstBaseSrc::gst_base_src_set_blocksize()
911         API: GstBaseSrc::gst_base_src_get_blocksize()
912
913 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
914
915         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
916         (buffer_probe), (event_probe), (GST_START_TEST):
917         We now see 3 events go through our pad, since basesink now sends
918         upstream latency events.
919
920 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
921
922         * gst/gstpipeline.c: (gst_pipeline_change_state):
923         Release the object lock before trying to flush the bus.
924
925 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
926
927         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
928         Forward LATENCY events upstreams so that elements know about the total
929         pipeline latency. Fixes #555307.
930
931 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
932
933         * plugins/elements/gstqueue.c:
934         Allow through queries when we don't know how
935         to adjust them (not TIME or BYTES), as otherwise it's
936         not possible to query the current position in order
937         to seek in other formats at all.
938
939 2008-10-08  Andy Wingo  <wingo@pobox.com>
940
941         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
942
943 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
944
945         * gst/gstghostpad.c:
946         * gst/gstghostpad.h:
947         Unbreak -good build, private is a reserved c++ keyword.
948
949 2008-10-08  Andy Wingo  <wingo@pobox.com>
950
951         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
952         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
953         removal: re-add GST_GHOST_PAD_CAST to the header.
954
955         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
956         (GstGhostPadClass): Publically expose these structures so as to
957         allow easy subclassing from C. Hide the member data behind a
958         private opaque data pointer.
959
960         * gst/gstghostpad.c: Adapt to store instance data in the type
961         instance's private data region, not in the public struct.
962
963 2008-10-08  Andy Wingo  <wingo@pobox.com>
964
965         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
966         template via g_object_get(), be sure to unref it.
967
968         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
969
970 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
971
972         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
973         If we can't get a cache file don't try to save something to it.
974         Dereferencing NULL pointers usually isn't a good idea.
975
976 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
977
978         * tests/check/Makefile.am:
979         * tests/check/gst/gstabi.c:
980         * tests/check/gst/struct_sparc.h:
981         * tests/check/libs/libsabi.c:
982         * tests/check/libs/struct_sparc.h:
983         Add Sparc ABI checks
984
985         * tests/check/gst/gstvalue.c: (GST_START_TEST):
986         Cast signed integer to unsigned to avoid a compiler warning.
987
988 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
989
990         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
991         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
992         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
993         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
994         (gst_byte_reader_peek_int24_be):
995         Use new GST_READ_UINT24_(LE|BE) macros.
996
997 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
998
999         * docs/gst/gstreamer-sections.txt:
1000         * gst/gstutils.h:
1001         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
1002         as it's too easy to break the ISO C strict aliasing rules with simple
1003         casts to the corresponding type and this would introduce hard to debug
1004         bugs. Fixes bug #545714.
1005
1006         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
1007
1008 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1009
1010         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
1011         * gst/gstghostpad.c: (gst_ghost_pad_construct):
1012           Add 'Since' bits to gtk-doc chunks for new API.
1013
1014 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
1015
1016         * docs/gst/gstreamer-sections.txt:
1017         Fix documentation
1018
1019 2008-10-06  Andy Wingo  <wingo@pobox.com>
1020
1021         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
1022         that will be called on the malloc_data to free it. Basically a way
1023         to avoid subclassing when all you need is a different free
1024         function, i.e. free() instead of g_free().
1025
1026         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
1027         calling the free function.
1028         (gst_buffer_init): Initialize the free function to g_free.
1029
1030 2008-10-06  Andy Wingo  <wingo@pobox.com>
1031
1032         * gst/gstghostpad.h:
1033         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
1034         finishes the initialization of ghost pad. Useful for language
1035         bindings and subclassers of GstGhostPad. Fixes #539108.
1036         (gst_ghost_pad_new_full): Use the new constructor.
1037
1038 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1039
1040         Base on Patch by: Olivier Crete <tester at tester dot ca>
1041
1042         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1043         (gst_bin_remove_func), (update_degree),
1044         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
1045         Keep track of pads that are being linked/unlinked and resync the state
1046         changes.
1047
1048         * gst/gstpad.c: (gst_pad_get_direction),
1049         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
1050         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
1051         (gst_pad_link_prepare), (gst_pad_link),
1052         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
1053         (gst_pad_check_pull_range), (gst_pad_get_range),
1054         (gst_pad_pull_range):
1055         Some code cleanups, use macros to check pad direction.
1056         Don't need to take the lock on the pad direction.
1057         Post structure change when pads are linked/unlinked.
1058         Change some checks into _return_if_fail().
1059
1060         * tests/check/gst/gstbin.c:
1061         (test_link_structure_change_state_changed_sync_cb),
1062         (GST_START_TEST), (gst_bin_suite):
1063         Add testcase for pad link/unlinke resync during a state change.
1064         Fixes #510354.
1065
1066 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1067
1068         * docs/gst/gstreamer-sections.txt:
1069         * gst/gstmessage.c: (gst_message_new_structure_change),
1070         (gst_message_parse_structure_change):
1071         * gst/gstmessage.h:
1072         Implement STRUCTURE_CHANGED messages. These messages will be used to
1073         signal the parent bin of link/unlink operations that could require a
1074         resync when doing a state change. See ##510354.
1075         API: gst_message_new_structure_change()
1076         API: gst_message_parse_structure_change()
1077
1078 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1079
1080         * gst/gstquark.c:
1081         * gst/gstquark.h:
1082         Add some more quarks for new message. See #510354.
1083
1084 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1085
1086         * docs/libs/gstreamer-libs-docs.sgml:
1087         * docs/libs/gstreamer-libs-sections.txt:
1088         * libs/gst/base/Makefile.am:
1089         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1090         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1091         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1092         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1093         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1094         (gst_bit_reader_skip_to_byte):
1095         * libs/gst/base/gstbitreader.h:
1096         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1097         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1098         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1099         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1100         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1101         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1102         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1103         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1104         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1105         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1106         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1107         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1108         * libs/gst/base/gstbytereader.h:
1109         * tests/check/Makefile.am:
1110         * tests/check/libs/bitreader.c: (GST_START_TEST),
1111         (gst_bit_reader_suite):
1112         * tests/check/libs/bytereader.c: (GST_START_TEST),
1113         (gst_byte_reader_suite):
1114         API: Add bit reader and byte reader classes, including documentation
1115         and an extensive unit test suite. Fixes bug #553554.
1116
1117 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1118
1119         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1120         (gst_base_sink_query):
1121         Improve position reporting while flushing and other intermediate state
1122         changes. Fixes #553874.
1123
1124 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1125
1126         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1127
1128         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1129         Original patch by : Simon Descaries
1130         Fix small refount leak in caps compatibility check.
1131         Fixes #551676.
1132
1133 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1134
1135         * docs/pwg/advanced-request.xml:
1136           Fix 0.8 api usage in example. Fixes #554561
1137
1138         * docs/pwg/appendix-porting.xml:
1139           Change 0.9 to 0.10 here.
1140
1141 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1142
1143         * docs/manual/basics-data.xml:
1144           Change "event-event interaction" to "element-element interaction".
1145           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1146           updates.
1147
1148 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1149
1150         * configure.ac:
1151         Back to development -> 0.10.21.1
1152
1153 === release 0.10.21 ===
1154
1155 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1156
1157         * configure.ac:
1158           releasing 0.10.21, "Take These Things From Me"
1159
1160 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1161
1162         * configure.ac:
1163         0.10.20.4 pre-release
1164
1165 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1166
1167         * libs/gst/base/gstbasetransform.c:
1168         * plugins/elements/gstcapsfilter.c:
1169         * tests/check/Makefile.am:
1170         * tests/check/elements/.cvsignore:
1171         * tests/check/elements/capsfilter.c:
1172         Fix assertion in basetransform when the subclass chooses not to
1173         allocate a buffer in prepare_buffer(), and make capsfilter error out
1174         cleanly if requested to apply caps that don't completely specify the
1175         buffer. Fixes #551509
1176
1177 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1178
1179         * libs/gst/base/gstbasetransform.c:
1180         (gst_base_transform_prepare_output_buffer):
1181         Take new caps ref because our old one might have been gone when the
1182         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1183
1184 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1185
1186         * configure.ac:
1187           Do not probe availability of check unit test library when cross
1188           compiling, as test would not work anyway. Also cleanup verbose output
1189           of the check test. Fixes #551952.
1190
1191 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1192
1193         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1194
1195         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1196         Avoid leaking the parent ref when we fail changing the state of the
1197         element using gst_element_sync_state_with_parent(). Fixes #551978.
1198
1199 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1200
1201         * docs/manual/intro-motivation.xml::
1202           Remove some bits that no longer apply, update others (#551642).
1203
1204 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1205
1206         * configure.ac:
1207         0.10.20.2 pre-release
1208
1209         * po/LINGUAS:
1210         * po/id.po:
1211         * po/pt_BR.po:
1212
1213         New translations.
1214
1215 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1216
1217         * win32/common/config.h.in:
1218           Add GST_DATADIR, hard-code cpu to x86.
1219
1220         * win32/common/libgstreamer.def:
1221           Spaces to tabs.
1222
1223 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1224
1225         * gst/gsttaglist.h:
1226           Fix Since: markers for new geo tags.
1227
1228 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1229
1230         * gst/gsttaglist.h:
1231           Fix actual tag name define after renaming from altitude to elevation.
1232
1233 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1234
1235         * gst/gstpad.c: (add_unref_pad_to_list),
1236         (gst_pad_get_internal_links_default):
1237         Add fallback when calling the deprecated function on an element that
1238         implements the new internal_link handler.
1239
1240 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1241
1242         * docs/gst/gstreamer-sections.txt:
1243         * gst/gsttaglist.c:
1244         * gst/gsttaglist.h:
1245           Add new tags for geo location and clarify purpose of existing location
1246           tag. Fixes #481169
1247
1248 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1249
1250         Patch by: Olivier Crete <tester at tester dot ca>
1251
1252         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1253         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1254         Use thread-safe internal links iterator. Fixes #549504.
1255
1256 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1257
1258         Based on patch by: Olivier Crete <tester at tester dot ca>
1259
1260         * docs/gst/gstreamer-sections.txt:
1261         * win32/common/libgstreamer.def:
1262         * gst/gstpad.c: (gst_pad_init),
1263         (gst_pad_set_iterate_internal_links_function),
1264         (int_link_iter_data_free), (iterate_pad),
1265         (gst_pad_iterate_internal_links_default),
1266         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1267         * gst/gstpad.h:
1268         Add threadsafe replacement functions for getting internal links of an
1269         element. Deprecate the old internal links functions.
1270         API:GstPad::gst_pad_set_iterate_internal_links_function()
1271         API:GstPad::GstPadIterIntLinkFunction
1272         API:GstPad::gst_pad_iterate_internal_links()
1273         API:GstPad::gst_pad_iterate_internal_links_default()
1274
1275         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1276         (gst_proxy_pad_init):
1277         Implement threadsafe internal links.
1278
1279         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1280         Unit test for internal links on tee. See #549504.
1281
1282 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1283
1284         * tests/check/Makefile.am:
1285         libs/transform1 test requires libs/test_transform.c
1286
1287 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1288
1289         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1290         Die evil deadlock, die !
1291
1292 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1293
1294         * gst/gstutils.c: (gst_element_get_compatible_pad):
1295         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1296         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1297         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1298         not steal the refcount of the given caps as stated.
1299
1300         REVERT THIS COMMIT ONCE FIXED !
1301         REVERT THIS COMMIT ONCE FIXED !
1302         REVERT THIS COMMIT ONCE FIXED !
1303         REVERT THIS COMMIT ONCE FIXED !
1304         REVERT THIS COMMIT ONCE FIXED !
1305         REVERT THIS COMMIT ONCE FIXED !
1306
1307 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1308
1309         * gst/gstiterator.c:
1310         * gst/gstiterator.h:
1311         After 3 years it's about time to revise the documentation of the
1312         iterator objects.
1313
1314 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1315
1316         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1317         Make the internal links function less thread-unsafe and add some
1318         comments, dunno why.
1319
1320 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1321
1322         * gst/gst_private.h:
1323           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1324           build with --disable-gst-debug.
1325
1326 2008-08-28  David Schleef  <ds@schleef.org>
1327
1328         * gst/gstpadtemplate.c: Revert last change, since it breaks
1329           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1330           but shouldn't be enabled until we've released fixed versions
1331           of -good and -ffmpeg.
1332
1333 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1334
1335         * gst/gstobject.c:
1336           Put the gst_object_get_name() back in.
1337
1338 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1339
1340         * gst/gstpadtemplate.c:
1341           The old behaviour was that gst_pad_template_new() takes ownership of
1342           the caps. As we now call g_object_new() which calls g_object_set() and
1343           which copies the caps, we have to unref them to not leak them. Fixes
1344           make valgrid for me.
1345
1346 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1347
1348         * gst/gsturi.c:
1349           Don't segfault on input like "tel:+1-123-555-1234".
1350
1351 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1352
1353         * gst/gstobject.c:
1354           Due to popular request also include ObjectType in
1355           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1356
1357 2008-08-26  David Schleef  <ds@schleef.org>
1358
1359         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1360           src_val must be positive, because that's not a requirement.
1361           This causes problems with converting negative granulepos
1362           values for Dirac.
1363         * gst/gstquery.c: Same, gst_query_new_convert().
1364
1365 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1366
1367         * gst/gstclock.c: (gst_clock_add_observation):
1368         Add some more debugging to the clock slaving code.
1369
1370         * win32/common/libgstbase.def:
1371         Add new basetransform method.
1372
1373 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1374
1375         * gst/gstbin.c: (gst_bin_element_set_state):
1376         Take the (recursive) state lock between getting the locked state of an
1377         element and changing the element state. This allows the application to
1378         lock an element's state and then change its state without races.
1379
1380 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1381
1382         * gst/gstbin.c: (gst_bin_element_set_state):
1383         When an element is in the locked state we still want to update the
1384         base_time of the element.
1385
1386 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1387
1388         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1389         Use the result from gst_pad_set_caps() instead of assuming the element
1390         always accepted the caps computed by the default negotiate function.
1391
1392 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1393
1394         * docs/libs/gstreamer-libs-sections.txt:
1395         * libs/gst/base/gstbasetransform.c:
1396         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1397         (gst_base_transform_chain), (gst_base_transform_suggest),
1398         (gst_base_transform_reconfigure):
1399         * libs/gst/base/gstbasetransform.h:
1400         Implement method for reconfiguring basetransform.
1401         API: GstBaseTransform::gst_base_transform_reconfigure()
1402
1403 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1404
1405         patch by: Murray Cumming <murrayc@murrayc.com>
1406
1407         * gst/gstutils.c:
1408           Mention that this is just like gst_buffer_merge() but with extra
1409           unreffing for C coders. Advise language bindings not to wrap it.
1410           Fixes Bug #533856.
1411           
1412           Also fix file comment.
1413
1414 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1415
1416         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1417
1418         * plugins/elements/gstfakesink.c:
1419         * plugins/elements/gstfakesrc.c:
1420           Call super::event() when not handling it. Fixes #544855.
1421
1422 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1423
1424         Patch by: Alessandro Decina <alessandro@nnva.org>
1425         * plugins/elements/gstfilesrc.c:
1426           Use 64 bit variants of stat functions on win32, to enable support
1427           of large files there.
1428           Fixes #547277.
1429
1430 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1431
1432         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1433         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1434         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1435         (gst_base_sink_get_position), (gst_base_sink_change_state):
1436         Improve position reporting in the flushing state.
1437         Also report the position when we are not yet prerolled but we
1438         have a newsegment event. Fixes #543444.
1439         Improve the pull-based negotiation code.
1440
1441         * tests/check/elements/fakesink.c: (GST_START_TEST),
1442         (fakesink_suite):
1443         Add testcase for position reporting while flushing in PAUSED and
1444         PLAYING.
1445
1446         * tests/check/generic/sinks.c: (GST_START_TEST):
1447         Update unit-test, we can now query the position as soon as we receive a
1448         NEWSEGMENT event.
1449
1450 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1451
1452         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1453
1454         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1455         When the subclass event handler releases the PREROLL_LOCK, we could be
1456         in the flushing state and we have to ignore the event. Fixes #548394.
1457
1458 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1459
1460         * tools/gst-launch.1.in:
1461           Document GST_REGISTRY_UPDATE environment variable.
1462
1463 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1464
1465         * libs/gst/base/gstbasetransform.c:
1466         (gst_base_transform_prepare_output_buffer):
1467         If the element is configured in passthrough mode but the
1468         prepare_output_buffer gave us a new output buffer, discard that buffer
1469         and reuse the input buffer.
1470
1471 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1472
1473         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1474
1475         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1476         (gst_tee_request_new_pad), (gst_tee_release_pad),
1477         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1478         * plugins/elements/gsttee.h:
1479         Protect pad_alloc with a new lock so that we can be sure that nothing is
1480         performing a pad_alloc when removing the pad. Fixes #547835.
1481
1482         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1483         (buffer_alloc_harness_teardown), (app_thread_func),
1484         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1485         Added testcase for shutdown race.
1486
1487 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1488
1489         * gst/gstpad.h:
1490         Add doc
1491
1492 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1493
1494         * libs/gst/base/gstbasetransform.c:
1495         (gst_base_transform_prepare_output_buffer),
1496         (gst_base_transform_buffer_alloc):
1497         Go over the buffer_alloc function again and make sure we always end up
1498         allocating a buffer.
1499         Add some more docs.
1500         Avoid doing pad alloc when we have a pending suggestion because we
1501         cannot yet deal with changing caps in that case. Fixes #547728
1502
1503 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1504
1505         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1506
1507         * docs/manual/advanced-clocks.xml:
1508         * docs/manual/clocks.png:
1509         * docs/manual/diagrams-clocks.svg:
1510           Add one more image showing different times together with a describing
1511           paragraph. Fixes #547729.
1512
1513 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1514
1515         * win32/common/libgstbase.def:
1516         Add new method.
1517
1518 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1519
1520         * libs/gst/base/gstbasetransform.c:
1521         (gst_base_transform_transform_caps),
1522         (gst_base_transform_prepare_output_buffer),
1523         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1524         Don't overwrite the outsize when calculating the expected size of a new
1525         buffer because we still need it in case we cannot process the new
1526         buffer.
1527         When converting the size of the new buffer to an upstream size, actually
1528         use the expected size of the buffer, not some other random value.
1529         Use an atomic int to signal that a new upstream caps suggestion is
1530         available.
1531         When we can convert the current buffer to a new format, check if the
1532         buffer size is of the expected size and allocate a new buffer of the
1533         expected size when this is not the case. Fixes #546883.
1534
1535         * tests/check/libs/transform1.c: (GST_START_TEST):
1536         remove ifdeffed code from the unit test.
1537
1538 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1539
1540         * pkgconfig/gstreamer-uninstalled.pc.in:
1541         * pkgconfig/gstreamer.pc.in:
1542           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1543           called gstcontroller-0.10.
1544
1545 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1546
1547         * gst/gstchildproxy.h:
1548         * gst/gstpreset.h:
1549           Remove double interface from doc-string.        
1550
1551 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1552
1553         * libs/gst/base/gstbasesrc.c:
1554         * libs/gst/base/gstbasetransform.c:
1555           Fix headings in docs and gtk-doc warnings.
1556
1557 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1558
1559         * gst/gstregistrybinary.c:
1560           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1561           libc.
1562           Fixes #544776.
1563
1564 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1565
1566         * libs/gst/base/gstbasetransform.c:
1567         (gst_base_transform_buffer_alloc):
1568         Fix a "may be used unitialized" warning.
1569
1570 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1571
1572         * docs/gst/gstreamer-sections.txt:
1573         * gst/gstpreset.h:
1574           Document preset-iface vmethods.
1575
1576 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1577
1578         * docs/manual/advanced-interfaces.xml:
1579           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1580           only used to discover devices.
1581
1582 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1583
1584         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1585
1586         * gst/gst.c: (init_pre):
1587         Make sure gettext returns translations in UTF-8 encoding rather
1588         than in the current locale encoding (#546822).
1589
1590 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1591
1592         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1593         Fix subset test.
1594
1595         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1596         Improve unit test subset tests and add a testcase for the subset failure
1597         cases.
1598
1599         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1600         Improve subtraction unit test.
1601
1602 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1603
1604         * plugins/elements/gsttee.c:
1605           Unlock, instead of locking again.
1606
1607 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1608
1609         * gst/gstpad.h:
1610         Clarify the docs a bit more.
1611
1612 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1613
1614         * tests/examples/metadata/read-metadata.c:
1615           Don't leak old taglist.
1616
1617 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1618
1619         Patch by: Olivier Crete <tester at tester dot ca>
1620
1621         * gst/gststructure.c:
1622         (gst_structure_fixate_field_nearest_fraction):
1623         Avoid overflows in fixation code when dealing with MAXINT values, which
1624         v4l2src seems to do.
1625         Fixes #546328.
1626
1627         * tests/check/gst/gststructure.c: (GST_START_TEST):
1628         Make a unit test to check the fix. 
1629
1630 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1631
1632         * plugins/elements/gstcapsfilter.c: (copy_func),
1633         (gst_capsfilter_set_property):
1634         Use new caps suggestion feature of basetransform to request a caps
1635         negotiation upstream.
1636
1637 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1638
1639         * docs/libs/gstreamer-libs-sections.txt:
1640         Add new function:
1641         API: GstBaseTransform::gst_base_transform_suggest()
1642
1643         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1644         (gst_base_transform_init), (gst_base_transform_transform_caps),
1645         (gst_base_transform_transform_size),
1646         (gst_base_transform_configure_caps),
1647         (gst_base_transform_can_transform),
1648         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1649         (gst_base_transform_prepare_output_buffer),
1650         (gst_base_transform_buffer_alloc),
1651         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1652         (gst_base_transform_chain), (gst_base_transform_activate),
1653         (gst_base_transform_set_passthrough),
1654         (gst_base_transform_is_passthrough),
1655         (gst_base_transform_set_in_place),
1656         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1657         (gst_base_transform_set_qos_enabled),
1658         (gst_base_transform_is_qos_enabled),
1659         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1660         (gst_base_transform_reconfigure):
1661         * libs/gst/base/gstbasetransform.h:
1662         Rewrite of basetransform to perform negotiation outside of the
1663         buffer_alloc functions.  Fixes #545853.
1664
1665         * tests/check/libs/transform1.c: (GST_START_TEST),
1666         (buffer_alloc_ct2):
1667         Update unit test.
1668
1669 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1670
1671         * tests/check/gst/gstpreset.c:
1672           Only run preset tests when $HOME is writable. Preliminary fix for
1673           #545433.
1674
1675 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1676
1677         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1678         (gst_bin_change_state_func), (bin_handle_async_done),
1679         (gst_bin_handle_message_func):
1680         Fix race for bins that simulate ASYNC state changes by inserting
1681         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1682         pending ASYNC messages even when the bin does not have ASYNC children.
1683         We note detect this behaviour because we will receive an ASYNC message
1684         that is originating from the bin itself. 
1685         Fixes races with decodebin2 state changes.
1686
1687         * tests/check/gst/gstbin.c: (GST_START_TEST):
1688         Add some more debug.
1689
1690 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1691
1692         * gst/gsttaglist.c: (_gst_tag_initialize):
1693           Fix typo.
1694
1695 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1696
1697         * gst/gsttaglist.c:
1698           Argh. actually save the text before committing. Now adds
1699           gst_tag_merge_strings_with_comma() to gst_tag_register().
1700
1701 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1702
1703         * gst/gsttaglist.c:
1704         * gst/gsttaglist.h:
1705           Do as tim pointed out and actually register the new tag. Also improve
1706           te docs and use gst_tag_merge_strings_with_comma() method to allow
1707           retriving all keywords merged in one list.
1708
1709 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1710
1711         * configure.ac:
1712         * docs/gst/gstreamer.types:
1713           Revert 'accidential' change of the configure option removal. We still
1714           need to generate the types file in configure --disable-load-save.
1715
1716 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1717
1718         * docs/gst/gstreamer-sections.txt:
1719         * gst/gsttaglist.h:
1720           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1721
1722 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1723
1724         * gst/gstpadtemplate.c:
1725           (gst_pad_template_class_init), (gst_static_pad_template_get),
1726           (gst_pad_template_new), (gst_pad_template_pad_created),
1727           (gst_pad_template_set_property), (gst_pad_template_get_property):
1728           Add "name-template", "direction", "presence" and "caps" properties,
1729           so that gst_pad_template_new() is just a thin wrapper around
1730           g_object_new(), which is better for bindings. (Fixes: #539772)
1731
1732 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1733
1734         * gst/gsturi.c:
1735           Be more liberal in what URIs we accept.
1736           Do not unescape bits of the URI for no apparent reason before passing to
1737           the element. Fixes #545352.
1738
1739 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1740
1741         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1742
1743         * gst/gst.c:
1744         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1745
1746 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1747
1748         * configure.ac:
1749         * docs/gst/gstreamer-sections.txt:
1750         * docs/gst/gstreamer.types:
1751         * docs/gst/gstreamer.types.in:
1752         * gst/Makefile.am:
1753         * gst/gst.c:
1754         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1755         * gst/gstconfig.h.in:
1756         * gst/gstelement.c: (gst_element_get_index):
1757         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1758         (gst_registry_binary_load_feature),
1759         (gst_registry_binary_read_cache):
1760         * gst/gstregistryxml.c: (load_feature),
1761         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1762         * plugins/Makefile.am:
1763         * tools/gst-indent:
1764         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1765         (print_plugin_features), (print_element_features):
1766         * tools/gst-xmlinspect.c: (print_event_masks),
1767         (print_element_info):
1768         * win32/common/gstconfig.h:
1769         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1770
1771         Disabling the indexers and URI handler code will only reduce the
1772         required amount of memory by a very small amount but on the other hand
1773         requires much more maintaince work. Apart from that many places of
1774         code are broken when disabling them.
1775
1776         Disabling the enum types doesn't reduce the required amount of memory
1777         by more than a few bytes and makes it hard to fix bugs like #539772,
1778         i.e. use the enums as GObject properties.
1779
1780 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1781
1782         * docs/design/part-TODO.txt:
1783         Add some thoughts and problems with upstream renegotiation.
1784
1785 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1786
1787         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1788         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1789         Remove silly redundant debug.
1790         Add some more debug info.
1791         Clarify the docs regarding new caps received from pad_alloc.
1792
1793 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1794
1795         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1796         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1797         Make setting the caps more threadsafe.
1798
1799 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1800
1801         * docs/design/part-element-transform.txt:
1802         Update docs.
1803
1804 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1805
1806         * plugins/elements/gstqueue.c: (gst_queue_init),
1807         (gst_queue_acceptcaps):
1808         Add and use a custom acceptcaps function instead of falling back to the
1809         potentially less optimized default implementation.
1810
1811 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1812
1813         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1814           Only sanity-check the buffer size if requested_caps == buffer_caps
1815           (ie. don't take pad caps into account, they're not relevant here)
1816
1817 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1818
1819         * plugins/elements/gsttee.c:
1820         * plugins/elements/gsttee.h:
1821           Reverting as not everything is clear yet. Needs some general design
1822           work.
1823
1824 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1825
1826         * ChangeLog:
1827           ChangeLog surgery for tee commit.
1828
1829 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1830
1831         * docs/gst/gstreamer-sections.txt:
1832           Cleanup section-file.
1833
1834 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1835
1836         * plugins/elements/gsttee.c:
1837         * plugins/elements/gsttee.h:
1838           Relay tag events in tee. Fixes parts of #474016.
1839           Downgrades 3 reoccurring debugs to log.
1840
1841 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1842
1843         * configure.ac:
1844         * libs/gst/Makefile.am:
1845           Build the net library if we have winsock2.
1846
1847 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1848
1849         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1850
1851         * docs/manual/advanced-threads.xml:
1852         * docs/manual/diagrams-pipelines.svg:
1853         * docs/manual/hello-world.png:
1854         * docs/manual/linked-elements.png:
1855         * docs/manual/mime-world.png:
1856         * docs/manual/queue.png:
1857         * docs/manual/thread-buffering.png:
1858         * docs/manual/thread-synchronizing.png:
1859           Replace one diagram with two separate ones and updates others.
1860           Fixes #542401.
1861
1862 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1863
1864         * gst/gstelement.h:
1865         Fix link in documentation.
1866
1867 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1868
1869         * gst/gstmessage.c:
1870         Fix confusing documentation.
1871
1872 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1873
1874         * libs/gst/base/gstbasesrc.h:
1875         revert the changes to the header file for the ABI.
1876
1877 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1878
1879         * libs/gst/base/gstbasesrc.c:
1880         * libs/gst/base/gstbasesrc.h:
1881         Don't cache the seekable status.
1882         Fixes bug #544174
1883
1884 2008-07-24  Rene Stadler  <mail@renestadler.de>
1885
1886         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1887         code to close the pipeline graph.  This prevents the program from
1888         printing internal data flow errors.
1889
1890 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1891
1892         * docs/manual/basics-bus.xml:
1893         Correct typo. Fixes bug #544320.
1894
1895 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1896
1897         * configure.ac:
1898           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1899           Add check (taken from -base) for winsock, adds WIN32_LIBS
1900         * gst/Makefile.am:
1901           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1902           winsock.
1903           Define GST_EXPORTS when building libgstreamer (only used on win32)
1904         * gst/gst_private.h:
1905         * gst/gstinfo.h:
1906           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1907           for symbols that we need to export in both these files.
1908         * gst/gstpoll.c:
1909           Include gst_private.h higher up to avoid some compile problems on win32.
1910
1911 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1912
1913         * gst/gstvalue.c:
1914         Fix typos.
1915
1916 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1917
1918         * gst/gstcaps.c:
1919         Previous commit was wrong NULL caps does not exist
1920         and indicate an error, so also add a FIXME to
1921         gst_caps_is_equal where NULL caps are accepted.
1922
1923 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1924
1925         * gst/gstcaps.c:
1926         Allow passing of NULL to gst_caps_union
1927
1928 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1929
1930         * gst/gstghostpad.c:
1931         Add in doc that gst_ghost_pad_set_target can accept
1932         NULL to clear target
1933
1934 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1935
1936         * gst/gstplugin.c:
1937         * gst/gstregistry.c:
1938           GstRegistryPool doesn't exist; don't refer to it in docs.
1939           Don't refer to functions that don't exist in docs, it's
1940           unhelpful.
1941
1942 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1943
1944         * gst/gst.c:
1945         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1946
1947 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1948
1949         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1950
1951         * docs/pwg/building-testapp.xml:
1952         Don't use an undeclared variable in the example program.
1953         Fixes bug #542573.
1954
1955 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1956
1957         * gst/gstdebugutils.c:
1958           Squeeze ghost-pad links and remove <> from classname labels to save
1959           more horizontal space.
1960
1961 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1962
1963         * gst/gstdebugutils.c:
1964           Give request and sometimes pads a different shpe style. Condense the
1965           graphs a little more.
1966
1967 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1968
1969         * configure.ac:
1970           Don't require flex and bison if the parser is disabled.
1971
1972 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1973
1974         * libs/gst/controller/gstinterpolationcontrolsource.c:
1975         (_list_find_sorted_custom):
1976         Don't use declarations after statements.
1977
1978 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1979
1980         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1981         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1982         of the the child-added / -removed signals as GstChildProxy
1983         only supports GstObjects.
1984
1985 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1986
1987         * gst/gstdebugutils.c:
1988         Fix memleak
1989
1990 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1991
1992         Patch by: Alessandro Decina <alessandro at nnva dot org>
1993
1994         * gst/gstpoll.c:
1995         Fix "ignored return value" compiler warning with newer glibc.
1996
1997 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1998
1999         * gst/gstchildproxy.c:
2000         Fix copy&paste error in gst_child_proxy_removed() documentation.
2001
2002 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
2003
2004         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
2005           Print error debug message if plugin description fields that should
2006           be set are NULL.
2007
2008         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
2009           Don't crash if the string to serialise is NULL (it really should
2010           not be, but apparently this used to work with the xml registry ...).
2011
2012 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
2013
2014         * tools/gst-plot-timeline.py:
2015         Fix parsing of log messages
2016
2017 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2018
2019         * win32/common/libgstbase.def::
2020           Sort alphabetically so make check-exports doesn't barf.
2021
2022 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
2023
2024         * gst/gstevent.c:
2025           Use gst_format_get_name() to improve debug output.
2026
2027         * gst/gstpreset.c:
2028           Remove #ifdef'ed code. Add TODO comment.
2029
2030         * gst/gstsegment.c:
2031           Add debug output to ease spotting format != segment.format assertions.
2032
2033 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2034
2035         * tests/check/libs/gdp.c: (gst_dp_suite):
2036         Also enable the GDP unit test again on PPC now that the bug
2037         is fixed.
2038
2039 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2040
2041         * libs/gst/dataprotocol/dataprotocol.c:
2042         Don't write to the same region of memory as a uint64 and uint16
2043         as this breaks strict aliasing rules and apparantly breaks on PPC
2044         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2045
2046 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2047
2048         * libs/gst/controller/gstinterpolationcontrolsource.c:
2049           Optimize list handling. Use own find function. Exploit that fact that
2050           the list is sorted. Also pass back the node before, so that we can
2051           insert quickly. Have a fast path for append.
2052
2053 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2054
2055         * docs/design/draft-framestep.txt:
2056         * docs/design/part-negotiation.txt:
2057           Fix two typos.
2058
2059 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2060
2061         * configure.ac:
2062           Show configuration sumary after configure run. Based on patch by
2063           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2064
2065 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2066
2067         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2068
2069         * docs/manual/advanced-autoplugging.xml:
2070         * docs/manual/advanced-threads.xml:
2071         * docs/manual/basics-bins.xml:
2072         * docs/manual/basics-elements.xml:
2073         * docs/manual/basics-helloworld.xml:
2074         * docs/manual/basics-pads.xml:
2075           Add scale factor for pdf output.
2076
2077         * docs/manual/intro-basics.xml:
2078           Switched sections "pads" and "bins" and added a pipeline diagram.
2079
2080         * docs/manual/intro-gstreamer.xml:
2081           Added more info on gstreamer.
2082
2083         * docs/manual/intro-motivation.xml:
2084           Commented out the whole section "current problem", which sounds
2085           historical and somehow osolete; it could be turned in a positive
2086           way and reused to improve the design principles.
2087
2088         * docs/manual/intro-preface.xml:
2089           - Update URLs to library.gnome.org. 
2090           - Do not mention GTK+ in preliminary reading (irrelevant). 
2091           - Mention Plugin Writer's Manual and further reading only in the
2092             previous section.
2093           - Added a list of most relevant GObject/glib topics.
2094
2095         * docs/manual/Makefile.am:
2096         * docs/manual/bin-element-ghost.fig:
2097         * docs/manual/bin-element-ghost.png:
2098         * docs/manual/bin-element-noghost.fig:
2099         * docs/manual/bin-element-noghost.png:
2100         * docs/manual/bin-element.fig:
2101         * docs/manual/bin-element.png:
2102         * docs/manual/filter-element-multi.fig:
2103         * docs/manual/filter-element-multi.png:
2104         * docs/manual/filter-element.fig:
2105         * docs/manual/filter-element.png:
2106         * docs/manual/gstreamer-overview.png:
2107         * docs/manual/hello-world.fig:
2108         * docs/manual/hello-world.png:
2109         * docs/manual/linked-elements.fig:
2110         * docs/manual/linked-elements.png:
2111         * docs/manual/mime-world.fig:
2112         * docs/manual/mime-world.png:
2113         * docs/manual/queue.fig:
2114         * docs/manual/queue.png:
2115         * docs/manual/simple-player.png:
2116         * docs/manual/sink-element.fig:
2117         * docs/manual/sink-element.png:
2118         * docs/manual/src-element.fig:
2119         * docs/manual/src-element.png:
2120         * docs/manual/diagrams-general.svg:
2121         * docs/manual/diagrams-pipelines.svg:
2122           Removed .fig, added .png counterpart.
2123           
2124           Fixes: #539137
2125
2126 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2127
2128         * plugins/elements/gstmultiqueue.c:
2129         * plugins/elements/gstmultiqueue.h:
2130         revert extra-size-buffers stuff, caused some race conditions
2131         and extra-size-buffers is not used anymore. Docs needs some updates
2132
2133 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2134
2135         * win32/common/config.h:
2136         * win32/common/gstenumtypes.c:
2137         * win32/common/gstenumtypes.h:
2138         * win32/common/gstversion.h:
2139           Update win32 files.
2140
2141 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2142
2143         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2144           (GST_DEBUG_BIN_TO_DOT_FILE):
2145           Add missing Since' markers to gtk-doc blurbs.
2146
2147 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2148
2149         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2150         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2151         (set_caps_1), (set_caps_ct1), (transform_ct1),
2152         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2153         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2154         (transform_size_ct2), (buffer_alloc_ct2):
2155         Add some more tests with switching caps in buffer_alloc.
2156
2157 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2158
2159         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2160         (gst_test_trans_class_init), (result_sink_chain),
2161         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2162         (gst_test_trans_push), (gst_test_trans_pop):
2163         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2164         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2165         (set_caps_1), (set_caps_ct1), (transform_ct1),
2166         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2167         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2168         (transform_size_ct2), (buffer_alloc_ct2),
2169         (gst_basetransform_suite):
2170         More tests, prepare for tests with switching caps in buffer_alloc.
2171
2172 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2173
2174         * plugins/elements/gstmultiqueue.c:
2175         * plugins/elements/gstmultiqueue.h:
2176         Fix dead-lock in underrun_cb
2177
2178 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2179
2180         * docs/design/part-states.txt:
2181         Fix device open/close docs.
2182
2183 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2184
2185         * ChangeLog:
2186           Mention bugnumber for last commit.
2187
2188 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2189
2190         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2191
2192         * docs/manual/manual.xml:
2193         - Reorganised the previous "introduction" bundle into Foreword,
2194         Introduction, and About GStreamer. The two first are <preface>
2195         docbook elements. The later is the first part of the book.
2196         - added intro-gstreamer.xml (content partially from
2197         intro-preface.xml)
2198         - moved appendix-win32.xml into appendix-integration.xml
2199
2200         * docs/manual/intro-preface.xml: gstreamer section moved...
2201         * docs/manual/intro-gstreamer.xml: ...here. new file.
2202
2203         * docs/manual/appendix-win32.xml: removed file. Content moved...
2204         * docs/manual/appendix-integration.xml: ...here.
2205         
2206         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2207         * docs/manual/appendix-checklist.xml: ...here.
2208         
2209         Fixes: 538764
2210
2211 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2212
2213         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2214
2215         * docs/manual/basics-helloworld.xml:
2216         * docs/manual/hello-world.fig:
2217           - Explicitely include glib.h.
2218           - Do not use global variables.
2219           - Use g_printerr() instead of g_print().
2220           - Minor formating/renaming to increase readibility.
2221           - Renamed new_pad() to on_pad_added()
2222           - Improved explenatory comments.
2223           - renamed ogg parser to ogg demuxer
2224           - Use "autoaudiosink" instead of "alsasink".
2225           Fixes: #538619
2226
2227 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2228
2229         * ChangeLog:
2230           Remove cvs conflict marker.
2231
2232 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2233
2234         * docs/README:
2235           Document that for plgin-docs we extraxt he short-desc from the element
2236           details.
2237
2238         * docs/design/part-states.txt:
2239           Tell that devices should be closed in PAUSED -> READY.
2240
2241         * docs/manual/README:
2242           Document how tests in the manual are handled.
2243
2244         * docs/manuals.mak:
2245           Typo in comment.
2246
2247 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2248
2249         * gst/gstbin.c: (bin_query_latency_fold):
2250         Only care about latency min and max when the sink is actually a live
2251         sink.
2252
2253 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2254
2255         * docs/design/part-block.txt:
2256         Fix typo.
2257
2258         * docs/design/part-element-transform.txt:
2259         Add notes about why transform needs to know input/output sizes.
2260         Add some issues that need to be solved.
2261         Add some more use cases.
2262
2263         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2264         (gst_test_trans_class_init), (result_sink_chain),
2265         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2266         (gst_test_trans_push), (gst_test_trans_pop):
2267         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2268         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2269         (set_caps_1), (set_caps_ct1), (transform_ct1),
2270         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2271         (gst_basetransform_suite):
2272         Add suport for different pad templates and buffer-alloc.
2273         Add more checks for caps and buffer-alloc.
2274         Add checks for proxy buffer alloc.
2275         Add unit test for copy transform.
2276
2277 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2278
2279         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2280
2281         * docs/manual/appendix-integration.xml:
2282         * docs/manual/appendix-licensing.xml:
2283         * docs/manual/basics-elements.xml:
2284         * docs/manual/basics-helloworld.xml:
2285         * docs/manual/basics-pads.xml:
2286         * docs/manual/highlevel-components.xml:
2287         * docs/manual/highlevel-xml.xml:
2288         * docs/manual/intro-basics.xml:
2289         * docs/manual/intro-preface.xml:
2290           Typo and formatting fixes (#538594).
2291
2292 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2293
2294         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2295         Fix some memory leaks and uses of object instances that we don't
2296         actually own.
2297
2298 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2299
2300         * plugins/elements/gstmultiqueue.c:
2301         Add functionality to extra-size-buffers property.
2302
2303 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2304
2305         * plugins/elements/gstmultiqueue.c:
2306         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2307         activate the pads if they are added in STATE_NULL.
2308
2309 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2310
2311         * docs/libs/gstreamer-libs-sections.txt:
2312         Add new API to doc
2313         * libs/gst/check/gstcheck.c:
2314         * libs/gst/check/gstcheck.h:
2315         API: gst_check_teardown_pad_by_name
2316
2317 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2318
2319         * libs/gst/check/gstcheck.c:
2320         * libs/gst/check/gstcheck.h:
2321         Also setup request pads and allow setup pads by name (#537812)
2322         API: gst_check_setup_src_pad_by_name
2323         API: gst_check_setup_sink_pad_by_name
2324
2325 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2326
2327         * tests/check/gst/gstbuffer.c:
2328         * tests/check/pipelines/parse-launch.c:
2329           Use HAVE_VALGRIND_H some more.
2330
2331 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2332
2333         * scripts/cvs-update.sh:
2334           Pass arguments to make.
2335           Run autoregen.sh if Makefile is not there.
2336
2337 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2338
2339         * configure.ac:
2340         * gst/gstinfo.c:
2341           Don't assume that <valgrind/valgrind.h> exists just because
2342           the binary is there.
2343
2344 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2345
2346         * tests/check/Makefile.am:
2347         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2348         (gst_test_trans_class_init), (gst_test_trans_init),
2349         (gst_test_trans_set_data), (result_sink_chain),
2350         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2351         (gst_test_trans_pop):
2352         * tests/check/libs/transform1.c: (GST_START_TEST),
2353         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2354         Add some test basetransform element and the beginnings of various
2355         unit tests for it.
2356
2357 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2358
2359         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2360         Increase code readability.
2361         Don't try to compare buffer offsets when ther are invalid.
2362
2363 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2364
2365         * docs/design/Makefile.am:
2366           Dist some more design docs.
2367
2368         * docs/random/moving-plugins:
2369           Small addition: good plugins mustn't have functional code
2370           within assertion macros.
2371
2372 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2373
2374         * docs/design/draft-framestep.txt:
2375         Some ideas about a framestep API
2376
2377         * docs/design/part-element-transform.txt:
2378         Start design and use cases for basetransform in order to get it
2379         fixed soon.
2380
2381 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2382
2383         * gst/gsttaglist.h:
2384           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2385           be in UTF-8 encoding.
2386
2387 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2388
2389         * gst/gstbus.c:
2390           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2391
2392 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2393
2394         * plugins/elements/gstcapsfilter.c:
2395         * plugins/elements/gstfakesink.c:
2396         * plugins/elements/gstfakesrc.c:
2397         * plugins/elements/gstfdsink.c:
2398         * plugins/elements/gstfdsrc.c:
2399         * plugins/elements/gstfilesink.c:
2400         * plugins/elements/gstfilesrc.c:
2401         * plugins/elements/gstidentity.c:
2402         * plugins/elements/gstmultiqueue.c:
2403         * plugins/elements/gstqueue.c:
2404         * plugins/elements/gsttee.c:
2405         * plugins/elements/gsttypefindelement.c:
2406           Remove short_description. Add basic docs for gsttypefindelement.
2407           Simplify markup for fakesrc/fdsrc.
2408
2409 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2410
2411         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2412         Added Since doc.
2413
2414 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2415
2416         Patch by: Joel Larsson <tilljoel at gmail dot com>
2417
2418         * docs/plugins/gstreamer-plugins.args:
2419         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2420         (gst_fd_src_init), (gst_fd_src_update_fd),
2421         (gst_fd_src_set_property), (gst_fd_src_get_property),
2422         (gst_fd_src_create):
2423         * plugins/elements/gstfdsrc.h:
2424         Add timeout property like udpsrc. Fixes #538628.
2425         Add some more docs and example pipelines.
2426
2427 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2428
2429         * docs/libs/gstreamer-libs-sections.txt:
2430         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2431         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2432         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2433         (gst_base_sink_do_sync):
2434         * libs/gst/base/gstbasesink.h:
2435         * win32/common/libgstbase.def:
2436         Add method to allow sinks to specify additional delay between the sync
2437         times and the actual rendering of the data.
2438         API: gst_base_sink_set_render_delay()
2439         API: gst_base_sink_get_render_delay()
2440
2441 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2442
2443         * configure.ac:
2444         Bump version number back to dev -> 0.10.20.1
2445
2446 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2447
2448         * docs/gst/gstreamer-sections.txt:
2449         * gst/gsttaglist.c: (_gst_tag_initialize):
2450         * gst/gsttaglist.h:
2451         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2452         Fixes bug #538568.
2453
2454 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2455
2456         * libs/gst/controller/gstcontroller.c:
2457           Revert one change, that make ret value possible uninitialized.
2458
2459 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2460
2461         * libs/gst/controller/gstcontroller.c:
2462           Use freeze/thaw notify to sync notify emission a bit (its also more
2463           efficient). Move debug output to LOG (is called a lot in a loop).
2464           Always unset g_values if the have been initialized.
2465
2466 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2467
2468         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2469         (gst_base_sink_wait_eos), (gst_base_sink_event):
2470         If we have not seen a buffer before EOS, use the segment values to
2471         report the current position instead of invalid positions.
2472
2473 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2474
2475         * docs/plugins/tmpl/.cvsignore:
2476         * tests/check/gst/.cvsignore:
2477           Ignore more.
2478
2479 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2480
2481         * libs/gst/controller/gstinterpolation.c:
2482         * libs/gst/controller/gstinterpolationcontrolsource.c:
2483         * tests/check/libs/controller.c:
2484           Rewrite handling of default values. Fix overflow with unsigned types
2485           in linear interpolation. Remove now obsolete _first_value() function.
2486           Add more tests. Fixes #538201.
2487
2488 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2489
2490         * libs/gst/base/gstbasetransform.c:
2491         (gst_base_transform_class_init), (gst_base_transform_init),
2492         (gst_base_transform_transform_caps),
2493         (gst_base_transform_prepare_output_buffer):
2494         Add debug info.
2495         When a buffer is writable, its metadata is also writable so we don't
2496         need to subbuffer (which then makes the buffer not-writable anymore).
2497
2498 === release 0.10.20 ===
2499
2500 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2501
2502         * configure.ac:
2503           releasing 0.10.20, "You Crazy Diamond"
2504
2505 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2506
2507         * configure.ac:
2508         0.10.19.3 pre-release
2509
2510 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2511
2512         * configure.ac:
2513         * gst/gstpreset.c:
2514         Rename DATADIR to GST_DATADIR to avoid build problems
2515         on win32. Patch By: David Schleef <ds@schleef.org>
2516         Fixes: #536857
2517
2518 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2519
2520         * configure.ac:
2521         Explicitely link with -ldl if dladdr() is found there. Before it was
2522         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2523         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2524
2525 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2526
2527         * gst/gsterror.c: (_gst_stream_errors_init):
2528           Fix typo (spotted by Fabricio Godoy, #536723).
2529
2530 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2531
2532         * configure.ac:
2533         0.10.19.2 pre-release
2534
2535 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2536
2537         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2538         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2539         Add some debug.
2540         Make sure we don't generate invalid QoS messages.
2541
2542 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2543
2544         * gst/gstevent.c: (gst_event_new_qos):
2545         Add some assert and docs for invalid input to the qos function.
2546
2547 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2548
2549         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2550         (gst_base_sink_get_position):
2551         The reported position must always be smaller than the last seen
2552         timestamps (or timestamp + duration for reverse).
2553
2554 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2555
2556         Patch by: Rob Bradford <rob at robster dot org dot uk>
2557
2558         * gst/gstregistry.c: (gst_registry_scan_path_level):
2559         Don't recurse into .debug directories as some distros install
2560         the debugging symbols next to the plugins in .debug directories
2561         and dlopen() crashes on them sometimes. Fixes bug #508070.
2562
2563         Add FIXME for 0.11 to not recurse into directories at all because
2564         it's very inconsistent to the behaviour of other PATH environment
2565         variables.
2566
2567 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2568
2569         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2570         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2571         Fix position query range checks in reverse playback.
2572
2573 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2574
2575         * gst/gstelement.c:
2576         * gst/gstelement.h:
2577         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2578         clear of the reference to the resulting pad must be released later
2579         or not, resulting in possible leaks. Fixes bug #533865.
2580
2581 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2582
2583         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2584
2585         * gst/gstelementfactory.c:
2586         Small doc fix. Fixes #535285.
2587
2588 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2589
2590         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2591
2592         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2593         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2594         (gst_base_src_loop), (gst_base_src_set_flushing),
2595         (gst_base_src_change_state):
2596         Make sending an EOS event to the basesrc non-blocking even if the
2597         implementation does blocking waits in the create function. This is done
2598         by unlocking the create function when EOS is sent.
2599         Fixes #535218.
2600
2601 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2602
2603         * tools/gst-inspect.c: (print_element_properties_info):
2604         If possible print the element type of GValueArray properties.
2605
2606 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2607
2608         * gst/gstiterator.c:
2609         Remove an unused field from the private GstListIterator struct.
2610
2611 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2612
2613         * libs/gst/controller/gstcontroller.c:
2614           Add parameter guards.
2615
2616 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2617
2618         * tests/check/gst/gstpipeline.c:
2619           Revert test change and add comment why it should not work.
2620
2621 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2622
2623         * tests/check/gst/gstpipeline.c:
2624           Extending the test a little to verify that we also get the NULL state-
2625           change message.
2626
2627 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2628
2629         * gst/gstpreset.c: (gst_preset_default_get_meta),
2630           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2631           (gst_preset_load_preset), (gst_preset_save_preset),
2632           (gst_preset_rename_preset), (gst_preset_delete_preset),
2633           (gst_preset_set_meta):
2634           Add Since: markers to docs blurbs.
2635
2636         * win32/common/libgstreamer.def:
2637           Add recently-added API.
2638
2639 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2640
2641         Patch by: Stefan Kost  <ensonic@users.sf.net>
2642
2643         * configure.ac:
2644         Add DATADIR for storing presets.
2645
2646         * docs/gst/gstreamer-docs.sgml:
2647         * docs/gst/gstreamer-sections.txt:
2648         * docs/gst/gstreamer.types.in:
2649         Add GstPreset to docs.
2650
2651         * gst/Makefile.am:
2652         * gst/gst.h:
2653         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2654         (preset_open_and_parse_header), (preset_parse_version),
2655         (preset_merge), (preset_get_keyfile),
2656         (gst_preset_default_get_preset_names),
2657         (gst_preset_default_get_property_names),
2658         (gst_preset_default_load_preset),
2659         (gst_preset_default_save_presets_file),
2660         (gst_preset_default_save_preset),
2661         (gst_preset_default_rename_preset),
2662         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2663         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2664         (gst_preset_default_reset), (gst_preset_get_preset_names),
2665         (gst_preset_get_property_names), (gst_preset_load_preset),
2666         (gst_preset_save_preset), (gst_preset_rename_preset),
2667         (gst_preset_delete_preset), (gst_preset_set_meta),
2668         (gst_preset_get_meta), (gst_preset_class_init),
2669         (gst_preset_base_init), (gst_preset_get_type):
2670         * gst/gstpreset.h:
2671         Add GstPreset to core. Fixes #396779
2672
2673         * tests/check/Makefile.am:
2674         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2675         (gst_preset_test_set_property), (gst_preset_test_class_init),
2676         (gst_preset_test_base_init), (gst_preset_test_get_type),
2677         (gst_preset_test_plugin_init), (GST_START_TEST),
2678         (remove_preset_file), (test_setup), (test_teardown),
2679         (gst_preset_suite):
2680         Add GstPreset unit tests.
2681
2682 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2683
2684         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2685         The default event function on a sinkpad should return TRUE when
2686         there are no internal links but should collect the return values from
2687         the internal links otherwise.
2688
2689 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2690
2691         * plugins/elements/gsttypefindelement.c:
2692         (gst_type_find_element_src_event),
2693         (gst_type_find_element_handle_event):
2694         Use faster and safer _pad_push_event().
2695
2696 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2697
2698         * docs/gst/gstreamer-sections.txt:
2699         * gst/gstutils.c: (element_find_unlinked_pad),
2700           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2701         * gst/gstutils.h:
2702           API: add gst_bin_find_unlinked_pad()
2703           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2704
2705 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2706
2707         * gst/gstclock.c:
2708         * gst/gstclock.h:
2709         * gst/gsttask.c:
2710         * gst/gsttask.h:
2711         Fixed a bunch of typos.
2712
2713 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2714
2715         * gst/gstpad.h:
2716         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2717           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2718           (gst_parse_bin_from_description_full):
2719         * gst/gstutils.h:
2720           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2721
2722 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2723
2724         * docs/pwg/advanced-tagging.xml:
2725           Small docs update, can't be bothered to rewrite the nonsensical
2726           examples right now.
2727
2728 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2729
2730         * gst/gstevent.h:
2731           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2732
2733 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2734
2735         * gst/parse/grammar.y:
2736           Remove unneeded casts.
2737
2738 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2739
2740         * gst/parse/grammar.y:
2741         * tests/check/pipelines/parse-launch.c:
2742           Get all missing elements from a parse launch string if possible
2743           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2744
2745 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2746
2747         * tests/check/Makefile.am:
2748         * tests/check/pipelines/parse-launch.c:
2749           Add some unit tests for the new gst_parse_launch*_full() API.
2750           (Exposes a previously-existing memory leak in the error code
2751           path, so adding to VALGRIND_TO_FIX for now).
2752
2753 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2754
2755         * docs/gst/gstreamer-sections.txt:
2756         * gst/gst.c: (init_post):
2757         * gst/gst_private.h: (_GstParseContext):
2758         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2759           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2760           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2761           (gst_parse_launch_full):
2762         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2763           (GstParseFlags), (GstParseContext):
2764         * gst/gstutils.c: (gst_parse_bin_from_description),
2765           (gst_parse_bin_from_description_full):
2766         * gst/gstutils.h:
2767         * gst/parse/grammar.y:
2768         * gst/parse/types.h:
2769         * win32/common/libgstreamer.def:
2770           Add new gst_parse_*_full API (#528178):
2771           API: gst_parse_launch_full()
2772           API: gst_parse_launchv_full()
2773           API: gst_parse_bin_from_description_full()
2774           API: gst_parse_context_new()
2775           API: gst_parse_context_free()
2776           API: gst_parse_context_get_missing_elements()
2777
2778 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2779
2780         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2781
2782         * docs/faq/gst-uninstalled:
2783           Also support ffmpeg in gst-uninstalled.
2784
2785 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2786
2787         * configure.ac:
2788         After discussion on IRC use the binary registry as default
2789         but allow to disable it with --disable-binary-registry.
2790
2791         * win32/common/libgstreamer.def:
2792         Add the two new symbols for the binary registry.
2793
2794 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2795
2796         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2797         * gst/gstutils.c: (gst_parse_bin_from_description):
2798         * gst/parse/grammar.y: (graph):
2799           More guards against bad input; typo fix; some minor clean-ups.
2800
2801 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2802
2803         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2804
2805         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2806         If nothing else can be used, use the last buffer's start time as
2807         the segment's last stop. Fixes bug #534258.
2808
2809 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2810
2811         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2812           Move size sanity check to the right place: downstream may return
2813           a buffer with a smaller size if the buffer caps are different than
2814           the requested ones, as may happen when doing reverse negotiation.
2815
2816 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2817
2818         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2819         (gst_file_sink_render):
2820         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2821         (gst_file_src_start):
2822         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2823         use it yet.
2824
2825 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2826
2827         * gst/gstpad.c: (gst_pad_load_and_link):
2828         * gst/gstutils.c: (gst_element_link_pads),
2829         (gst_element_unlink_pads):
2830         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2831         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2832         (gst_check_teardown_sink_pad),
2833         (gst_check_element_push_buffer_list):
2834         * tests/check/elements/fakesink.c: (GST_START_TEST):
2835         * tests/check/elements/filesink.c:
2836         * tests/check/elements/filesrc.c: (GST_START_TEST):
2837         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2838         (mq_sinkpad_to_srcpad):
2839         * tests/check/elements/tee.c: (GST_START_TEST):
2840         * tests/check/generic/sinks.c: (GST_START_TEST):
2841         * tests/check/gst/gstbin.c: (GST_START_TEST):
2842         * tests/check/gst/gstevent.c: (GST_START_TEST):
2843         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2844         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2845         * tests/check/gst/gstquery.c: (GST_START_TEST):
2846         * tests/check/gst/gstutils.c: (GST_START_TEST):
2847         * tests/check/libs/basesrc.c: (GST_START_TEST):
2848         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2849         (gst_parse_test_element_change_state):
2850         Don't use gst_element_get_pad().
2851
2852 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2853
2854         * docs/Makefile.am:
2855         Fix installing plugin documentation when gtk-doc is disabled.
2856
2857 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2858
2859         * docs/manual/advanced-autoplugging.xml:
2860         * docs/manual/basics-helloworld.xml:
2861         * docs/manual/basics-pads.xml:
2862         * docs/manual/highlevel-components.xml:
2863         Avoid using a bad function in the example code.
2864
2865 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2866
2867         * gst/gstclock.c: (gst_clock_set_calibration):
2868         Fix debug of the new clock rate.
2869
2870 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2871
2872         * win32/common/libgstbase.def:
2873         Add gst_base_sink_wait_clock() to the exported symbols.
2874
2875 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2876
2877         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2878
2879         * libs/gst/base/gstbasetransform.c:
2880         (gst_base_transform_sink_event):
2881         Unref events that the GstBaseTransform::event vfunc didn't want to
2882         have forwarded by the base class. Closes a leak in identity.
2883         Fixes bug #446763.
2884
2885 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2886
2887         * docs/libs/gstreamer-libs-sections.txt:
2888         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2889         * libs/gst/base/gstbasesink.h:
2890         Expose a method that was previously used internally to synchronize
2891         against the clock because it can be useful for subclasses too.
2892         API: GstBaseSink::gst_base_sink_wait_clock()
2893
2894 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2895
2896         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2897           Add sanity check to make sure we don't get smaller buffers
2898           than requested (and fallback to normal buffer alloc if we do).
2899
2900 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2901
2902         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2903         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2904         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2905         Refactor adjusting the running_time with latency and offset into a
2906         separate method.
2907         When doing clipping, we still want to use the subclass get_times method,
2908         just in case the DURATION or TIMESTAMP are not set.
2909
2910 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2911
2912         * docs/gst/gstreamer-sections.txt:
2913         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2914         * gst/gsttypefind.h:
2915         * win32/common/libgstreamer.def:
2916           API: add gst_type_find_suggest_simple(), #533740.
2917
2918 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2919
2920         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2921           Use right error code when typefinding fails, so we can use
2922           the default (translated) error messages.
2923
2924 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2925
2926         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2927         (gst_base_src_start):
2928         When the subclass did not set caps on outgoing buffers, configure the
2929         caps we negotiated on the source pad.
2930         When the typefind helper does not find caps, error out properly instead
2931         of doing things with NULL caps.
2932
2933 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2934
2935         * gst/gsttypefind.h:
2936           Tabs to spaces, oh yes!
2937
2938 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2939
2940         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2941           Add David's and Benjamin's tests for array intersection to the
2942           unit test suite (#147931).
2943
2944 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2945
2946         * gst/gstevent.c:
2947           Document that gst_event_new_tag() and gst_event_new_navigation()
2948           take ownership of the taglist/structure passed to them. (#533635).
2949
2950 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2951
2952         * docs/Makefile.am:
2953         Don't descend into the plugins dir if plugin docs building
2954         is disabled.
2955
2956         * docs/README:
2957         Add a note about the new type:GTypeName syntax for the plugin
2958         documentation .types file.
2959
2960 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2961
2962         * gst/gstmessage.c: (gst_message_new_error),
2963         (gst_message_new_warning), (gst_message_new_info):
2964         * gst/gstmessage.h:
2965         Mark the debug string parameters as const. Fixes bug #533490.
2966
2967 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2968
2969         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2970         Sort buffer cache list by end offsets. This makes sure that we don't
2971         stop to search for a cached buffer that contains the requested data
2972         too early.
2973         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2974         more efficient. Fixes bug #459862.
2975
2976 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2977
2978         * gst/gstinfo.c:
2979           Explain why we copy the list.
2980
2981         * gst/gstpipeline.c:
2982           Improve docs.
2983
2984         * gst/gstutils.c:
2985           Add one debug-log statement to help tracing probelms with linking pads.
2986
2987 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2988
2989         * tests/check/gst/gstinfo.c:
2990         Add a test for removing the default log handler. Seems to fail under
2991         windows.
2992
2993 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2994
2995         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2996         Release pad lock before calling out to avoid a possible deadlock.
2997
2998 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2999
3000         * gst/parse/grammar.y:
3001         Remove unneeded value unset.
3002
3003         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3004         Add unit test for de/serialization of caps.
3005
3006 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3007
3008         * plugins/elements/gstfakesink.c:
3009         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
3010         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
3011         (gst_fake_src_class_init):
3012         Use custom marshalers that take GstMiniObject as first parameter.
3013         Using OBJECT as parameter while a GstMiniObject is given will lead
3014         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
3015
3016 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3017
3018         * plugins/elements/gsttypefindelement.c:
3019         (gst_type_find_element_handle_event),
3020         (gst_type_find_element_send_cached_events),
3021         (gst_type_find_element_change_state):
3022         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
3023         immediately.
3024
3025 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3026
3027         * plugins/elements/gsttypefindelement.c:
3028         (gst_type_find_handle_src_query), (stop_typefinding),
3029         (gst_type_find_element_handle_event),
3030         (gst_type_find_element_send_cached_events),
3031         (gst_type_find_element_change_state):
3032         Forward FLUSH_START events immediately and clean up instead of
3033         caching them.
3034
3035 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3036
3037         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3038
3039         * libs/gst/base/gstbasetransform.c:
3040         (gst_base_transform_buffer_alloc):
3041         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
3042         fall back to default negotiation in the chain function if the caps
3043         are different from what was requested. Fixes bug #526768.
3044
3045 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3046
3047         * gst/gstsegment.c:
3048         * tests/check/gst/gstsegment.c:
3049           No, let's not use g_slice_{dup|copy} here, since they only exist
3050           since GLib 2.14 and we still depend only on >= 2.12. Also add
3051           unit test for gst_segment_copy().
3052
3053 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3054
3055         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3056           Try to fix 'dereferencing type-punned pointer will break strict
3057           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3058           changed the default GType typedef from gulong to gsize at some point,
3059           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3060           g_once_* functions all take a gsize * though, so work around the type
3061           mismatch for C++ by doing everything in gsize and casting to GType
3062           later.
3063
3064 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
3065
3066         * plugins/elements/gstmultiqueue.c:
3067         Add documentation for the signals to push our core plugin docs
3068         coverage back up to 100%.
3069
3070 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3071
3072         * gst/gstinfo.h (GST_FUNCTION):
3073           Reverted GST_FUNCTION to the old version as we don't want the
3074           full signature in C++ code. Also added support for MSVC.
3075
3076 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3077
3078         * gst/gstutils.h:
3079         Intern the type name string, similar to what G_DEFINE_TYPE does.
3080
3081 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3082
3083         * gst/gstutils.h:
3084         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3085
3086 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3087
3088         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3089
3090         * libs/gst/base/gstbasetransform.c:
3091         (gst_base_transform_buffer_alloc):
3092         Don't passthrough buffer allocation too easily if the caps change.
3093         This breaks when working in passthrough mode and upstream changes
3094         it's caps. Fixes bug #526768.
3095
3096 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3097
3098         * gst/gstinfo.c (gst_debug_log_valist):
3099           Improved the __FILE__ part of debug output for MSVC.
3100
3101 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3102
3103         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3104           Declaration after statement fix for compilers like MSVC.
3105
3106 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3107
3108         * win32/common/config.h.in:
3109           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3110           use the real thing than having "???" unconditionally.
3111
3112 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3113
3114         * gst/gstinfo.h (GST_FUNCTION):
3115           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3116
3117 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3118
3119         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3120         Small code cleanup.
3121
3122         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3123         (gst_base_sink_set_flushing):
3124         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3125         Fix some comments.
3126
3127 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3128
3129         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3130         (gst_fake_src_init), (gst_fake_src_set_property),
3131         (gst_fake_src_get_property), (gst_fake_src_start):
3132         * plugins/elements/gstfakesrc.h:
3133         Added format property to control the format of the newsegment events.
3134         API: GstFakeSrc:format
3135
3136 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3137
3138         * win32/common/libgstreamer.def:
3139         Add gst_pad_has_name() to the exported symbols.
3140
3141 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3142
3143         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3144         * libs/gst/base/gstbasetransform.c:
3145         (gst_base_transform_prepare_output_buffer):
3146         Don't allow negative sizes when allocating new buffers.
3147         Fixes bug #461253.
3148
3149 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3150
3151         Patch by: Sjoerd Simons <sjoerd at luon net>
3152
3153         * gst/gstbus.c: (gst_bus_source_dispatch):
3154           Don't print a warning if the queue is empty when we try to pop
3155           here. That could happen if another thread or callback set the
3156           bus to flushing between the source's check/prepare and the
3157           dispatch being called (#531538).
3158
3159 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3160
3161         * plugins/elements/gstmultiqueue.c:
3162           Small docs fix.
3163         
3164 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3165
3166         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3167         Add unit test for deserializing uint64s and check some really large
3168         numbers in the int64 test.
3169
3170 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3171
3172         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3173         (print_interfaces), (print_element_properties_info),
3174         (print_signal_info):
3175         Use "%s" as format string instead of printing strings directly.
3176
3177 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3178
3179         * gst/gstclock.c: (gst_clock_set_calibration):
3180         Make some checks actually useful.
3181
3182         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3183         Remove some unused code. Unsigned integers tend to be >= 0.
3184
3185 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3186
3187         * gst/gstminiobject.c: (gst_value_get_mini_object):
3188           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3189           function was not in the unscheduled 0.10.19 release.
3190
3191 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3192
3193         * gst/gstregistry.c: (gst_registry_scan_path_level):
3194           Only print one log message per non-plugin file.
3195
3196 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3197
3198         * gst/gstinfo.c: (gst_debug_log_default):
3199           Fix alignment of debug log columns on 64-bit.
3200
3201 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3202
3203         * docs/libs/Makefile.am:
3204         * docs/libs/gstreamer-libs-sections.txt:
3205           Ignore private controller headers for docs.
3206
3207 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3208
3209         * libs/gst/controller/gstcontrollerprivate.h:
3210         * libs/gst/controller/gsthelper.c:
3211         * libs/gst/controller/gstinterpolation.c:
3212         * libs/gst/controller/gstinterpolationcontrolsource.c:
3213         (gst_interpolation_control_source_set_interpolation_mode):
3214         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3215         * libs/gst/controller/lib.c:
3216         Move some private declarations into private headers.
3217
3218 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3219
3220         * gst/gstdebugutils.c: (debug_dump_element_pad):
3221         Remove some code that is unused after Stefan's refactoring and uses
3222         uninitialized variables now, resulting in a compiler warning.
3223
3224 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3225
3226         * gst/gstregistry.c: (gst_registry_scan_path_level):
3227           Run g_str_has_suffix() only on the file name, not the
3228           entire file path.
3229
3230 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3231
3232         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3233           Since we're not called only from the chain function any longer,
3234           we can't assume that there's always data in the queue, so move
3235           the is_full check to the beginning of the loop (otherwise we'd
3236           hit the assert when changing the limit properties while the
3237           queue is empty or not running yet).
3238           Also, only set a discont if items were actually removed from
3239           the queue.
3240
3241         * tests/check/elements/queue.c: (test_leaky_downstream):
3242           Test case for the above.
3243
3244 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3245
3246         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3247
3248         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3249         (gst_queue_chain), (queue_capacity_change),
3250         (gst_queue_set_property):
3251         When changing thr max capacity of a leaky queue, immediatly drop buffers
3252         instead of waiting for a push on the sinkpad. Fixes #530637.
3253
3254 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3255
3256         * gst/gstdebugutils.c:
3257           Refactor code and fix handling of ghostpads and their proxypads.
3258
3259 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3260
3261         * docs/gst/gstreamer-sections.txt:
3262         * gst/gstevent.c: (gst_event_has_name):
3263         * gst/gstevent.h:
3264         * tests/check/gst/gstevent.c: (GST_START_TEST):
3265         Add method to conveniently check the name of a custom event with
3266         gst_event_has_name().
3267         Reformat the event docs so that related methods are put together instead
3268         of the default alphabetical sort.
3269         Update unit test with new method.
3270         API: GstEvent::gst_event_has_name()
3271
3272 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3273
3274         * libs/gst/check/Makefile.am:
3275           Don't add an explicit link to libgstreamer-0.10.la; it's already
3276           included in GST_OBJ_LIBS.
3277
3278 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3279
3280         * gst/gst.c:
3281         Register GstClock type from a type-safe context. Fixes bug #530317.
3282
3283 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3284
3285         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3286         * tools/gst-run.c:
3287           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3288
3289 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3290
3291         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3292         (gst_bin_dispose):
3293         Use the GLib stuff to create a private structure.
3294         Add some locking around some dispose methods to make them a little
3295         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3296
3297 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3298
3299         * libs/gst/base/gstbasesink.h:
3300         * libs/gst/base/gstbasesrc.h:
3301         * libs/gst/base/gstbasetransform.h:
3302         * libs/gst/base/gstcollectpads.h:
3303           Fix doc typos and unify caps a bit.
3304
3305 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3306
3307         * tools/gst-launch.1.in:
3308           Forgot to also add the envvar docs here.
3309
3310 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3311
3312         * gst/gst.c: (init_post), (gst_deinit):
3313         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3314           (test_concurrent_create), (gst_pipeline_suite):
3315           Ref some more classes in gst_init() to work around thread-safety
3316           issues in pre-2.16 GLibs, and add basic unit test.
3317
3318 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3319
3320         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3321         (gst_base_sink_send_event):
3322         Rearrange the latency query code. We always want to do the upstream
3323         query, even if we are not live so that the upstream elements can get the
3324         latency results too. If we fail doing the query and we are live, we
3325         return TRUE afterwards.
3326
3327 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3328
3329         patch by: Jason Zhao <e3423c@motorola.com>
3330
3331         * docs/gst/running.xml:
3332         * gst/gst.c:
3333           Enable/disable scan_and_update_registry() based on commandline switch
3334           or environment variable. Fixes #520468.
3335           
3336         * ChangeLog:
3337           Fix typo in my previous commit.
3338
3339 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3340
3341         * gst/gstregistrybinary.c:
3342           Add a warning if we hit unhandled factories when saving.
3343           More debug logging detail, but move to LOG category.
3344
3345 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3346
3347         * gst/gstregistry.c:
3348           Tell the *truth* when improving the documentation.
3349
3350 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3351
3352         * gst/gstelementfactory.c: (gst_element_factory_make):
3353         Unref the factory after it was used the last time, not before.
3354
3355         * gst/gstindexfactory.c: (gst_index_factory_make):
3356         Improve debugging a bit and don't leak a ref to the index factory with
3357         each call.
3358
3359 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3360
3361         * gst/gstregistry.c:
3362           Improve the documentation.
3363
3364 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3365
3366         * gst/gstsegment.c:
3367           The glib macro seems to be borked. Use g_slice_copy directly and cast
3368           in the hope that this fixes the warning on 64bit.
3369
3370 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3371
3372         * gst/gstsegment.c:
3373           Document the new function. Use g_slice_dup() (no need for
3374           gst_segment_init()).    
3375
3376 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3377
3378         * docs/gst/gstreamer-sections.txt:
3379           Move GParamSepc macros to standart section.
3380   
3381         * gst/gstbin.c:
3382           Dn't document _get_type - its in private section in docs anyway and
3383           this doc-blob was incomplete.
3384
3385         * gst/gstclock.h:
3386           Fix wrong symbol names in docs.
3387
3388         * gst/gstmacros.h:
3389           Add once doc sentence.
3390
3391         * tests/check/gst/.cvsignore:
3392           Ignore more.
3393
3394 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3395
3396         * docs/gst/Makefile.am:
3397           And remove those libs here.
3398
3399 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3400
3401         * docs/libs/Makefile.am:
3402           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3403
3404 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3405
3406         Patch by: Olivier Crete <tester at tester dot ca>
3407
3408         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3409         Add the min-threshold to the min latency if possible. Fixes #529148.
3410
3411 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3412
3413         * docs/gst/gstreamer.types.in:
3414           Stupid editor, I removed that line as it should go in yet.
3415
3416 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3417
3418         * docs/gst/gstreamer.types.in:
3419         * docs/libs/gstreamer-libs.types:
3420           Remove library types fro core docs and have them in libs docs.
3421           Reformat and cleanup. Add comment for miniobject types.
3422
3423 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3424
3425         * gst/gsturi.c: (gst_uri_get_protocol):
3426           Fix leak: g_strdown operates on the string in place, while
3427           g_ascii_strdown() returns a newly-allocated string.
3428
3429 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3430
3431         * tools/gst-inspect.c: (print_uri_handler_info),
3432         (print_element_info):
3433         Print the URI protocols and the URI type supported by the element.
3434
3435 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3436
3437         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3438         Use g_value_take_string() instead of the deprecated
3439         g_value_set_string_take_ownership().
3440
3441 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3442
3443         * gst/gstregistrybinary.c: (_gst_crc32):
3444         Return the old CRC instead of 0 if we give a NULL buffer
3445         or a buffer with a length of 0.
3446
3447 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3448
3449         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3450         (gst_uri_get_protocol), (gst_uri_has_protocol),
3451         (gst_uri_construct), (gst_uri_handler_set_uri):
3452         A valid URI scheme can also include '+', '-' and '.' additional
3453         to alphanumeric characters as per RFC 3986 Section 3.1.
3454
3455         Handle URI schemes case insensitive in all places and convert
3456         to lower-case when constructing an URI or setting an URI with
3457         the GstURIHandler interface. Fixes bug #528868.
3458         All elements can still assume (as before) that they will
3459         get passed URIs with a lower-case URI scheme by the GstURIHandler
3460         interface.
3461
3462 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3463
3464         * gst/gstcaps.c: (gst_static_caps_get):
3465         * gst/gstclock.c: (gst_clock_entry_new):
3466           Don't use g_atomic_set_int where it's not needed.
3467
3468 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3469
3470         * gst/gstvalue.c: (gst_value_deserialize_caps):
3471         * gst/parse/grammar.y:
3472         Fix 2 caps leaks.
3473
3474 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3475
3476         * gst/gstutils.c: (gst_atomic_int_set):
3477         Use g_atomic_int_set() here too instead of assignment +
3478         g_atomic_int_get().
3479
3480 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3481         
3482         * gst/gstutils.c:
3483         * gst/gstutils.h:
3484         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3485         now that we depend on new enough GLib.
3486
3487         * gst/gstcaps.c: (gst_static_caps_get):
3488         * gst/gstclock.c: (gst_clock_entry_new):
3489         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3490         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3491         (gst_debug_category_set_threshold):
3492         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3493         (gst_base_sink_set_qos_enabled):
3494         * libs/gst/net/gstnettimeprovider.c:
3495         (gst_net_time_provider_set_property):
3496         Use g_atomic_int_set() instead of gst_atomic_int_set().
3497
3498 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3499
3500         * gst/gstquery.c:
3501           Also use G_GINT64_CONSTANT for the queries.
3502
3503 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3504
3505         * gst/gstmessage.c:
3506           Use G_GINT64_CONSTANT in varargs function.
3507
3508 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3509
3510         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3511         Initialize the registry magic with zeroes.
3512
3513 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3514
3515         * gst/gstregistrybinary.c: (_gst_crc32),
3516         (gst_registry_binary_write),
3517         (gst_registry_binary_initialize_magic),
3518         (gst_registry_binary_write_cache),
3519         (gst_registry_binary_check_magic),
3520         (gst_registry_binary_read_cache):
3521         * gst/gstregistrybinary.h:
3522         Add crc32 checksum to the binary registry file and check this before
3523         accepting a registry file.
3524
3525         Also free the data list when writing to the registry file fails.
3526
3527 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3528
3529         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3530         (gst_registry_binary_load_feature),
3531         (gst_registry_binary_load_plugin):
3532         If an element supports the Uri interface, returns a valid pointer
3533         to the supported URI protocols but this pointer contains nothing
3534         don't try to save that as it will corrupt the registry.
3535
3536         Don't unref the plugin if we added it to the registry already but
3537         fail to load a feature as gst_registry_add_plugin() takes ownership
3538         of the plugin.
3539
3540         Improve debugging a bit.
3541
3542 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3543
3544         * gst/gsttaglist.h:
3545           Clarify some tag item docs after discussion on irc.
3546
3547 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3548
3549         * docs/gst/gstreamer-docs.sgml:
3550           Remove commented out plugins (they have their own docs). Update
3551           comments.
3552
3553 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3554
3555         * docs/gst/gstreamer-docs.sgml:
3556         * docs/gst/gstreamer-sections.txt:
3557         * gst/gstparamspecs.c:
3558         * gst/gstparamspecs.h:
3559           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3560           docs to own section.
3561
3562         * gst/gstvalue.c:
3563           This now only documents GValue.
3564           
3565         * docs/libs/gstreamer-libs-sections.txt:
3566         * libs/gst/controller/gstcontroller.h:
3567           Remove GST_PARAM_CONTROLLABLE.
3568
3569 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3570
3571         * docs/README:
3572           Correct file path. Tell about how to use -overrides.txt.
3573         * docs/design/draft-tagreading.txt:
3574           Small design update.
3575
3576 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3577
3578         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3579         (gst_registry_binary_load_plugin):
3580         Fix a typo in a debug message and revert change from yesterday as
3581         gst_registry_add_plugin() will only fail if something is really wrong
3582         already and we can't survive it anyway.
3583
3584 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3585
3586         * gst/gst.c: (init_post), (gst_deinit):
3587           Pre-register GstGError GType from a thread-safe context
3588           (fixes #527967); unref enum type classes in deinit.
3589
3590 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3591
3592         Patch by: Rene Stadler <mail at renestadler de>
3593
3594         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3595           Merging an empty list with another list in KEEP_ALL mode should
3596           yield an empty list as result and not the second list (#512578).
3597
3598         * tests/check/gst/gsttagsetter.c:
3599           Add unit test for tag merge modes and the aforementioned bug.
3600
3601 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3602
3603         Patch by: Rene Stadler <mail at renestadler de>
3604
3605         * gst/gsttaglist.h:
3606           Fix description to match the order in the table (#512577).
3607   
3608 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3609
3610         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3611
3612         * libs/gst/net/gstnettimepacket.h:
3613         * docs/libs/gstreamer-libs-sections.txt:
3614           Define socklen_t as int if it's not defined yet. Fixes compilation
3615           with MSVC6 and other versions where socklen_t is not defined in
3616           the windows headers (#518022).
3617
3618 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3619
3620         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3621         If gst_registry_add_plugin() fails our reference to the plugin is
3622         invalid so don't try to use it anymore and instead error out.
3623
3624 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3625
3626         * tools/gst-xmlinspect.c: (print_element_info), (main):
3627           De-cruft a bit. If no argument is specified, print all elements in
3628           XML syntax rather than a freestyle list of elements like gst-inspect.
3629           Also, don't print XML header chunk unless we actually have something
3630           to print (ie. don't print it before an error message); print error
3631           message to stderr not stdout. Remove support for printing plugin
3632           info (it would just output something freestyle along the lines of
3633           gst-inspect so far), which fixes #514507. Also add license header.
3634
3635 2008-04-11  Julien Moutte  <julien@fluendo.com>
3636
3637         Mac OS X love...
3638         * configure.ac: Merge platform specific defines, introduce a new
3639         define on OS X to remember that forking when updating registry is
3640         unsafe.
3641         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3642         module.
3643         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3644         is defined.
3645         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3646         condition that leads to absolutely no plugins being registered on
3647         OS X.
3648
3649 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3650
3651         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3652
3653         * gst/gstutils.c: (gst_pad_add_data_probe),
3654           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3655           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3656           (gst_pad_add_buffer_probe_full):
3657         * gst/gstutils.h:
3658         * docs/gst/gstreamer-sections.txt:
3659         * win32/common/libgstreamer.def:
3660           Add gst_pad_add_*_probe_full() functions with a notify callback that
3661           lets the caller free the data it passes to the probe functions. This
3662           is useful for bindings such as gst-python or gstreamermm (#526814).
3663           API: gst_pad_add_data_probe_full
3664           API: gst_pad_add_buffer_probe_full
3665           API: gst_pad_add_event_probe_full
3666
3667         * tests/check/gst/gstutils.c:
3668           Add minimal unit test to make sure freeing the data actually works
3669           as expected.
3670
3671         * tests/benchmarks/.cvsignore:
3672           Random cvsignore addendum.
3673
3674 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3675
3676         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3677           (GST_DEBUG_BIN_TO_DOT_FILE):
3678           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3679           to it in the docs (since these are macros the types of the arguments
3680           won't be shown in the docs otherwise).
3681
3682 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3683
3684         * gst/gstpad.c:
3685           Do not abort on out of memory for pad_alloc_buffer.
3686
3687 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3688
3689         * libs/gst/check/gstcheck.c:
3690           Remove blank line between symbol name ad parameters to fix gtkdoc
3691           warning.
3692
3693 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3694
3695         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3696
3697         * docs/gst/gstreamer-sections.txt:
3698         * gst/gstsegment.c:
3699         * gst/gstsegment.h:
3700         * win32/common/libgstreamer.def:
3701           Expose gst_segment_copy() to make things easier for the c++ bindings.
3702           Fixes #518932.
3703           API: gst_segment_copy()
3704
3705 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3706
3707         * gst/gst.c: (gst_init_get_option_group), (init_post):
3708           Fix const position; ref GType classes for enum types to work
3709           around thread-safety issues in GLib versions < 2.16.
3710
3711 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3712
3713         * docs/design/part-buffering.txt:
3714         Fix some typos and set the estimated total for push mode to -1.
3715
3716         * gst/gstquery.c: (gst_query_new_buffering):
3717         Set buffering-left to 0 as we're not buffering by default.
3718
3719         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3720         Implement BUFFERING query.
3721
3722 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3723
3724         Based on patch by: Milosz Derezynski <internalerror gmail com>
3725
3726         * gst/gsterror.c: (_gst_stream_errors_init):
3727         * gst/gsterror.h:
3728           Add two new error codes for encrypted content. Fixes #524659.
3729           API: GST_STREAM_ERROR_DECRYPT
3730           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3731
3732 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3733
3734         * gst/gstquery.h:
3735           Fix typo.
3736
3737         * win32/common/libgstreamer.def:
3738           Add new functions.
3739
3740 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3741
3742         * plugins/elements/gstidentity.c: (gst_identity_event),
3743         (gst_identity_start):
3744         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3745         event after processing some data. Fixes bug #526042.
3746
3747 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3748
3749         * docs/gst/gstreamer-sections.txt:
3750         * gst/gstquery.c: (gst_query_parse_latency),
3751         (gst_query_set_buffering_percent),
3752         (gst_query_parse_buffering_percent),
3753         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3754         * gst/gstquery.h:
3755         Rename _avail -> _range
3756         API: gst_query_set_buffering_range
3757         API: gst_query_parse_buffering_range
3758
3759 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3760
3761         * docs/design/part-buffering.txt:
3762         * gst/gstquark.c:
3763         * gst/gstquark.h:
3764         * gst/gstquery.c: (gst_query_parse_latency),
3765         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3766         (gst_query_parse_buffering_percent):
3767         * gst/gstquery.h:
3768         Add busy field and quark for the buffering query so that the app can
3769         only use the query to see if buffering is in progress.
3770
3771 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3772
3773         * docs/gst/gstreamer-sections.txt:
3774         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3775         (gst_message_parse_buffering_stats):
3776         * gst/gstmessage.h:
3777         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3778         (gst_query_parse_latency), (gst_query_new_buffering),
3779         (gst_query_set_buffering_percent),
3780         (gst_query_parse_buffering_percent),
3781         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3782         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3783         * gst/gstquery.h:
3784         Reorder the message docs and headers for clarity.
3785         Add aditional buffering stats API for messages.
3786         Add buffering query.
3787         Convert some leftover queries to use GstQuark.
3788         API: gst_message_set_buffering_stats
3789         API: gst_message_parse_buffering_stats
3790         API: GST_QUERY_BUFFERING
3791         API: GstBufferingMode
3792         API: gst_query_new_buffering
3793         API: gst_query_set_buffering_percent
3794         API: gst_query_parse_buffering_percent
3795         API: gst_query_set_buffering_stats
3796         API: gst_query_parse_buffering_stats
3797
3798 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3799
3800         * gst/gstmessage.c: (gst_message_new_error),
3801         (gst_message_new_warning), (gst_message_new_info),
3802         (gst_message_new_buffering), (gst_message_new_state_changed),
3803         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3804         (gst_message_new_new_clock), (gst_message_new_segment_start),
3805         (gst_message_new_segment_done), (gst_message_new_duration),
3806         (gst_message_new_async_start), (gst_message_parse_buffering),
3807         (gst_message_parse_state_changed),
3808         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3809         (gst_message_parse_new_clock), (gst_message_parse_error),
3810         (gst_message_parse_warning), (gst_message_parse_info),
3811         (gst_message_parse_segment_start),
3812         (gst_message_parse_segment_done), (gst_message_parse_duration),
3813         (gst_message_parse_async_start):
3814         Use GstQuark for messages.
3815
3816 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3817
3818         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3819         * gst/gstquark.h:
3820         Add some more quarks needed for messages and queries.
3821
3822 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3823
3824         * docs/design/part-buffering.txt:
3825         Remove the "none" buffering mode, STREAM is a good default.
3826         Move estimated-time to the avail query, that's when it will be needed.
3827         Other small typo fixes and updates.
3828
3829 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3830
3831         * gst/gstindex.c: (gst_index_resolver_get_type):
3832           Don't put descriptions into the nick field of a GEnumValue: it's not
3833           meant for that and some language bindings rely on the nick field to
3834           construct constants and the like. Fixes #526705.
3835
3836 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3837
3838         * NEWS:
3839         * RELEASE:
3840         * gstreamer.doap:
3841           Merge other changes from 0.10.19 release branch.
3842
3843 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3844
3845         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3846
3847         * configure.ac:
3848         Actually build dlls when cross-compiling with mingw32.
3849         Fixes bug #526247.
3850
3851 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3852
3853         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3854
3855         * gst/gstpoll.c:
3856         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3857
3858 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3859
3860         * docs/design/draft-latency.txt:
3861         Fix typo.
3862
3863         * docs/design/part-buffering.txt:
3864         Update design docs with more buffering ideas.
3865
3866 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3867
3868         * configure.ac:
3869           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3870
3871 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3872
3873         * configure.ac:
3874           Revert part that belongs to the preset patch.
3875
3876 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3877
3878         * configure.ac:
3879           Add qoutes to the define. Fixes # 525961.
3880
3881 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3882
3883         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3884         (gst_file_index_load), (gst_file_index_add_id),
3885         (gst_file_index_get_assoc_entry):
3886         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3887         (gst_mem_index_free_id), (gst_mem_index_add_id),
3888         (gst_mem_index_index_format):
3889         Use GSlice when possible.
3890
3891 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3892
3893         * libs/gst/controller/gstinterpolationcontrolsource.c:
3894         (gst_control_point_free),
3895         (gst_interpolation_control_source_set_internal):
3896         Use GSlice for allocating the control points.
3897
3898 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3899
3900         * plugins/elements/gsttypefindelement.c:
3901         (gst_type_find_element_class_init),
3902         (gst_type_find_element_set_property),
3903         (gst_type_find_element_get_property),
3904         (gst_type_find_element_activate):
3905         * plugins/elements/gsttypefindelement.h:
3906         Cleanup properties.
3907         Fix pad leak when peer query fails.
3908         We can still typefind when the peer returns -1.
3909         Add property to force caps and bypass typefinding. This will be used in
3910         uridecodebin.
3911         API::force-caps
3912
3913 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3914
3915         * configure.ac:
3916         Require GLib 2.12.
3917
3918         * gst/glib-compat-private.h:
3919         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3920         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3921         Unconditionally use GSlice for allocation.
3922
3923         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3924         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3925         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3926         (gst_structure_free):
3927         Use GSlice for allocation.
3928
3929 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3930
3931         * gst/parse/Makefile.am:
3932         * gst/parse/grammar.tab.pre.c:
3933         * gst/parse/grammar.tab.pre.h:
3934         * gst/parse/lex._gst_parse_yy.pre.c:
3935         Require a new enough flex and bison and remove the parser hacks to use
3936         a pre-regenerated version.
3937
3938 2008-04-01  Julien Moutte  <julien@fluendo.com>
3939
3940         patch by: Jason Zhao <E3423C@motorola.com>
3941
3942         * configure.ac: Add a configure switch to disable option parsing
3943         in gst_init.
3944         Fixes #522882.
3945
3946 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3947
3948         * configure.ac:
3949         * gst/gstregistry.c:
3950           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3951           and handle this case.
3952
3953         * gst/gst.c:
3954           Add a comment here describing, why we stat each plugin and not try to
3955           be smart.
3956
3957 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3958
3959         * libs/gst/base/gstbasetransform.c:
3960         (gst_base_transform_prepare_output_buffer):
3961         Also unset the GAP flag on buffers if we're working inplace but
3962         the element is not GAP-aware.
3963
3964         Mark a comment as FIXME 0.11.
3965
3966 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3967
3968         * gst/gst.c:
3969           Fix type in log message and add one to ease seeing how long registry
3970           cache verification takes.
3971
3972         * gst/gstregistry.c:
3973           Only test plugin filenames against G_MODULE_SUFFIX.
3974
3975 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3976
3977         * gst/gstdebugutils.c:
3978           Improve handling ghost/proxy pads.
3979
3980 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3981
3982         * docs/gst/gstreamer-sections.txt:
3983         * gst/gstpad.c:
3984         * gst/gstpad.h:
3985           Expose macro to docs and fix link to it.
3986
3987 2008-03-27  Michael Smith <msmith@fluendo.com>
3988
3989         * libs/gst/dataprotocol/dataprotocol.c:
3990         (gst_dp_packet_from_event_1_0):
3991           When calculating GDP body CRC, use the correct pointer. 
3992           Fixes part of #522401.
3993
3994 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3995
3996         Patch by: Mark Nauwelaerts <manauw at skynet be>
3997
3998         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3999         (gst_identity_init), (gst_identity_prepare_output_buffer):
4000         Identity is not always a passthrough element, it can modify the buffer
4001         timestamps when it has a datarate and operates in single-segment mode.
4002         We therefore make it an in_place filter with a custom buffer prepare
4003         function that conditionally makes the input buffer metadata writable
4004         when needed.  Fixes #523985.
4005
4006 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4007
4008         Patch by: Mark Nauwelaerts <manauw at skynet be>
4009
4010         * gst/gstclock.h:
4011         * libs/gst/base/gstbasesrc.h:
4012         * libs/gst/base/gstbasetransform.c:
4013         * libs/gst/check/gstcheck.c:
4014         Small documentation fixes. Fixes #523978.
4015
4016 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4017
4018         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4019         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4020         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
4021
4022 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4023
4024         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
4025         (single_queue_underrun_cb):
4026         When trying to make room in the queue, bump the max allowed buffers
4027         bigger than the current amount of buffers in the queue. this fixes some
4028         nasty deadlocks in multiqueue when dynamically changing the limits of
4029         the queue.
4030
4031 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4032
4033         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
4034
4035         * gst/gstcaps.c: (gst_caps_set_simple),
4036         (gst_caps_set_simple_valist), (gst_caps_intersect):
4037         * gst/gstcaps.h:
4038         Constify the field gchar * params in set_simple and friends.
4039         Fixes #522326.
4040
4041 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4042
4043         * gst/gstvalue.c: (gst_value_transform_object_string):
4044         Transform a GstObject to a more meaningfull string that includes the
4045         object type in addition to its name.
4046
4047 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
4048
4049         * ChangeLog:
4050           ChangeLog surgery to add bugnumber to commit.
4051
4052 2008-03-23  Rene Stadler  <mail@renestadler.de>
4053
4054         * libs/gst/base/gstbasetransform.c:
4055         (gst_base_transform_set_gap_aware): Fix confusing documentation.
4056
4057 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4058
4059         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4060         Rename constant everywhere and don't forget one occurence.
4061
4062 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4063
4064         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4065         Align memory to the pointer size even if the architecture allows
4066         unaligned memory access. Unaligned memory access usually comes with
4067         performance penality.
4068
4069 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4070
4071         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4072         (gst_registry_binary_check_magic),
4073         (gst_registry_binary_load_pad_template),
4074         (gst_registry_binary_load_feature),
4075         (gst_registry_binary_load_plugin):
4076         Align memory to the pointer size instead of always 32 bit. Fixes
4077         unaligned memory accesses on ia64 and friends.
4078
4079         * gst/gstregistrybinary.h:
4080         Bump binary registry format version for this as it changes the
4081         format on those architectures that don't have unaligned access
4082         and 64 bit pointers.
4083
4084 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4085
4086         * docs/pwg/advanced-dparams.xml:
4087         * docs/pwg/building-props.xml:
4088         * docs/pwg/other-source.xml:
4089         * gst/glib-compat.h:
4090         * gst/gstbin.c: (gst_bin_class_init):
4091         * gst/gstclock.c: (gst_clock_class_init):
4092         * gst/gstindex.c: (gst_index_class_init):
4093         * gst/gstobject.c: (gst_object_class_init):
4094         * gst/gstpad.c: (gst_pad_class_init):
4095         * gst/gstpipeline.c: (gst_pipeline_class_init):
4096         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4097         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4098         * libs/gst/base/gstbasetransform.c:
4099         (gst_base_transform_class_init):
4100         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4101         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4102         (_gst_check_fault_handler_sighandler),
4103         (_gst_check_fault_handler_setup), (gst_check_init):
4104         * libs/gst/controller/gstcontroller.c:
4105         (_gst_controller_class_init):
4106         * libs/gst/controller/gstlfocontrolsource.c:
4107         (gst_lfo_control_source_class_init):
4108         * libs/gst/net/gstnetclientclock.c:
4109         (gst_net_client_clock_class_init):
4110         * libs/gst/net/gstnettimeprovider.c:
4111         (gst_net_time_provider_class_init):
4112         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4113         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4114         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4115         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4116         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4117         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4118         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4119         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4120         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4121         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4122         * plugins/elements/gsttee.c: (gst_tee_class_init):
4123         * plugins/elements/gsttypefindelement.c:
4124         (gst_type_find_element_class_init):
4125         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4126         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4127         use it everywhere for GParamSpecs that use static strings (i.e. all).
4128         This gives us less memory usage, fewer allocations and thus less
4129         memory defragmentation. Fixes bug #523806.
4130
4131 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4132
4133         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4134         (gst_param_spec_mini_object):
4135         * gst/gstminiobject.h:
4136         * win32/common/libgstreamer.def:
4137         * docs/gst/gstreamer-sections.txt:
4138         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4139         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4140         GstParamSpecMiniObject into a public header for this.
4141
4142         This make GstMiniObject a bit more consistent with GObject and makes
4143         it possible to extend the param specs.
4144
4145         gst_value_dup_mini_object is mainly useful for set_property methods.
4146
4147         Fixes bug #523798.
4148
4149         * tools/gst-inspect.c: (print_element_properties_info):
4150         Print something useful for GstMiniObject properties and not just
4151         "unknown type".
4152
4153 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4154
4155         * docs/gst/gstreamer-sections.txt:
4156         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4157         (gst_registry_binary_check_magic):
4158         * gst/gstregistrybinary.h:
4159         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4160         and add it to the (private part) of the docs to fix the build.
4161
4162 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4163
4164         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4165         (gst_registry_binary_check_magic),
4166         (gst_registry_binary_read_cache):
4167         * gst/gstregistrybinary.h:
4168         Don't use GST_MAJORMINOR for the binary registry version. Instead
4169         hardcode a value that must be changed whenever the format changes
4170         in an incompatible way.
4171         Also don't GST_ERROR when there is a version mismatch, just
4172         regenerate the registry silently.
4173
4174 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4175
4176         * configure.ac:
4177         Back to development - 0.10.18.1
4178
4179 === release 0.10.18 ===
4180
4181 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4182
4183         * configure.ac:
4184           releasing 0.10.18, "So far away"
4185
4186 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4187
4188         * configure.ac:
4189         * win32/common/config.h:
4190         0.10.17.4 pre-release
4191
4192 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4193
4194         Patch by: Ole André Vadla Ravnås
4195             <ole dot andre dot ravnas at tandberg dot com>
4196
4197         * docs/gst/gstreamer-sections.txt:
4198         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4199         (gst_poll_update_winsock_event_mask),
4200         (gst_poll_prepare_winsock_active_sets),
4201         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4202         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4203         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4204         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4205         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4206         * gst/gstpoll.h:
4207         * win32/common/libgstreamer.def:
4208         Add new function gst_poll_fd_ignored() for improved Windows
4209         compatibility.
4210         Various minor fixes and cleanups. See #520808.
4211
4212 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4213
4214         * gst/gstindex.c: (gst_index_entry_free):
4215         * gst/gstindex.h:
4216           Don't free key strings which we don't own. Fixes crash in
4217           gst_index_entry_free() (#522741).
4218
4219         * tests/check/Makefile.am:
4220         * tests/check/gst/.cvsignore:
4221         * tests/check/gst/gstindex.c: (test_index_entries),
4222           (gst_index_suite), (gst_index):
4223           Add unit test for the above.
4224
4225 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4226
4227         * win32/common/libgstreamer.def:
4228         Remove symbols that were removed recently. Fixes bug #521740.
4229
4230 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4231
4232         * configure.ac:
4233         * win32/common/config.h:
4234         0.10.17.3 pre-release
4235
4236 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4237
4238         Patch by: Ole André Vadla Ravnås
4239             <ole dot andre dot ravnas at tandberg dot com>
4240
4241         * docs/gst/gstreamer-sections.txt:
4242         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4243         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4244         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4245         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4246         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4247         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4248         (gst_poll_fd_can_write), (gst_poll_wait),
4249         (gst_poll_set_controllable), (gst_poll_restart),
4250         (gst_poll_set_flushing):
4251         * gst/gstpoll.h:
4252         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4253         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4254         (gst_net_time_provider_new):
4255         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4256         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4257         * tests/benchmarks/gstpollstress.c: (main):
4258         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4259         Remove GstPollMode from the API, it does not make sense to let the
4260         application control this.
4261         Add support for Win32.
4262         Fix the testsuite. Fixes #520671.
4263
4264 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4265
4266         Patch by: Ole André Vadla Ravnås
4267             <ole dot andre dot ravnas at tandberg dot com>
4268
4269         * gst/gstregistrybinary.c:
4270         Include io.h for write() and close() when building with MSVC. Fixes
4271         bug #520877.
4272
4273 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4274
4275         * configure.ac:
4276         * gst/gst_private.h:
4277         * gst/gstconfig.h.in:
4278         * gst/gstregistry.h:
4279         * gst/gstregistrybinary.c:
4280         * win32/common/gstconfig.h:
4281           Move registry backend API to private headers where we can. Add
4282           fixme-0.11 comments for the others. Add stubs for the xml backend when
4283           using the binary to ensure they functions exists (they should not be
4284           used though). Fixes #520756.
4285
4286 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4287
4288         * configure.ac:
4289         * win32/common/config.h:
4290         0.10.17.2 prelease
4291
4292 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4293
4294         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4295         (gst_registry_binary_read_cache):
4296         * gst/gstregistryxml.c: (gst_registry_save):
4297         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4298         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4299         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4300         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4301         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4302         Fixes #520152
4303
4304 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4305
4306         * gst/gstminiobject.c:
4307         Import gst_private.h before any other header that might include other
4308         glib headers. This fixes the build on windows using native compilers.
4309
4310 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4311
4312         * win32/common/gstconfig.h:
4313           Add here too, just for completeness.
4314
4315 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4316
4317         * configure.ac:
4318         * gst/gstconfig.h.in:
4319         * gst/gstregistry.h:
4320           Fix broken use of config.h-defined preprocessor directive in a public
4321           header file. Add a corresponding define to gstconfig.h, since we can't
4322           really remove those function declarations from the header file now
4323           (or can we? and why are they there in the first place?).
4324
4325 2008-03-03  Andy Wingo  <wingo@pobox.com>
4326
4327         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4328         the new warning.
4329
4330         * gst/gststructure.c (gst_structure_from_string): Warn if
4331         structure_from_string didn't consume the whole string, but the
4332         caller did not provide an end pointer.
4333
4334 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4335
4336         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4337
4338         * gst/gstregistryxml.c: (read_string), (load_feature):
4339           Strings allocated by libxml2 should be freed with xmlFree(), not
4340           with g_free(). Fixes issues on windows in certain contexts (#519698).
4341
4342 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4343
4344         * gst/gstinterface.c: (gst_element_implements_interface):
4345           Don't crash if the element supports the interface queried, but does
4346           not implement GstImplementsInterface. Fixes #519584.
4347
4348         * tests/check/Makefile.am:
4349         * tests/check/gst/.cvsignore:
4350         * tests/check/gst/gstinterface.c:
4351           Add unit test for the above.
4352
4353 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4354
4355         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4356         Small doc update.
4357
4358 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4359
4360         * gst/gstsegment.c: (gst_segment_set_seek),
4361         (gst_segment_to_stream_time):
4362         Improve some comment.
4363         Update variables where it makes more sense.
4364
4365 2008-02-29  Rene Stadler  <mail@renestadler.de>
4366
4367         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4368         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4369         URIHandlers implemented using language bindings.
4370
4371 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4372
4373         * gst/gstelementfactory.h:
4374         * tests/check/elements/fakesink.c:
4375         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4376         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4377         * tests/check/elements/filesink.c: (setup_filesink):
4378         * tests/check/elements/filesrc.c: (setup_filesrc):
4379         * tests/check/elements/identity.c: (setup_identity):
4380         * tests/check/elements/tee.c:
4381         * tests/check/generic/sinks.c:
4382         * tests/check/generic/states.c: (setup), (teardown):
4383         * tests/check/gst/gst.c:
4384         * tests/check/gst/gstabi.c:
4385         * tests/check/gst/gstbin.c:
4386         * tests/check/gst/gstbus.c: (pull_messages):
4387         * tests/check/gst/gstcaps.c:
4388         * tests/check/gst/gstelement.c:
4389         * tests/check/gst/gstevent.c:
4390         * tests/check/gst/gstghostpad.c:
4391         * tests/check/gst/gstiterator.c:
4392         * tests/check/gst/gstmessage.c:
4393         * tests/check/gst/gstminiobject.c: (my_foo_init):
4394         * tests/check/gst/gstobject.c: (thread_name_object),
4395         (gst_object_suite):
4396         * tests/check/gst/gstpad.c:
4397         * tests/check/gst/gstplugin.c:
4398         * tests/check/gst/gstpoll.c:
4399         * tests/check/gst/gstquery.c:
4400         * tests/check/gst/gstsegment.c:
4401         * tests/check/gst/gststructure.c:
4402         * tests/check/gst/gstsystemclock.c:
4403         * tests/check/gst/gsttask.c:
4404         * tests/check/gst/gstutils.c:
4405         * tests/check/gst/gstvalue.c:
4406         * tests/check/gst/struct_hppa.h:
4407         * tests/check/gst/struct_i386.h:
4408         * tests/check/gst/struct_ppc32.h:
4409         * tests/check/gst/struct_ppc64.h:
4410         * tests/check/gst/struct_x86_64.h:
4411         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4412         * tests/check/libs/basesrc.c:
4413         * tests/check/libs/controller.c: (GST_START_TEST):
4414         * tests/check/libs/gdp.c:
4415         * tests/check/libs/gstnetclientclock.c:
4416         * tests/check/libs/gstnettimeprovider.c:
4417         * tests/check/libs/libsabi.c:
4418         * tests/check/libs/struct_hppa.h:
4419         * tests/check/libs/struct_i386.h:
4420         * tests/check/libs/struct_ppc32.h:
4421         * tests/check/libs/struct_ppc64.h:
4422         * tests/check/libs/struct_x86_64.h:
4423         * tests/check/pipelines/cleanup.c:
4424         * tests/check/pipelines/simple-launch-lines.c:
4425         * tests/check/pipelines/stress.c:
4426         And correct even more valid sparse warnings.
4427
4428         * win32/common/libgstreamer.def:
4429         Add gst_poll_fd_init to the list of symbols.
4430
4431 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4432
4433         * gst/gstconfig.h.in:
4434         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4435         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4436         (gst_check_log_critical_func), (gst_check_drop_buffers),
4437         (gst_check_element_push_buffer_list):
4438         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4439         (gst_controller_get_type):
4440         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4441         (gst_object_get_controller), (gst_object_get_control_source):
4442         * libs/gst/controller/gstinterpolationcontrolsource.c:
4443         (gst_interpolation_control_source_new):
4444         * libs/gst/controller/gstlfocontrolsource.c:
4445         (gst_lfo_control_source_new):
4446         * libs/gst/dataprotocol/dataprotocol.c:
4447         (gst_dp_event_from_packet_0_2):
4448         * plugins/elements/gstfdsrc.c:
4449         * plugins/elements/gstmultiqueue.c:
4450         * plugins/elements/gsttee.c:
4451         * plugins/elements/gsttypefindelement.c:
4452         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4453         (gst_file_index_add_association):
4454         * plugins/indexers/gstmemindex.c:
4455         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4456         * tests/check/elements/queue.c: (setup_queue):
4457         * tests/check/gst/gstpipeline.c:
4458         * tests/check/libs/collectpads.c: (setup), (teardown),
4459         (gst_collect_pads_suite):
4460         * tests/examples/adapter/adapter_test.c:
4461         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4462         * tests/examples/xml/createxml.c:
4463         * tests/examples/xml/runxml.c:
4464         * tools/gst-inspect.c:
4465         * tools/gst-run.c:
4466         Correct all relevant warnings found by the sparse semantic code
4467         analyzer. This include marking several symbols static, using
4468         NULL instead of 0 for pointers, not using variable sized arrays
4469         on the stack, moving variable declarations to the beginning of
4470         a block and using "foo (void)" instead of "foo ()" for declarations.
4471
4472 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4473
4474         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4475         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4476         Don't reset GstPollFDs, this is not necessary at all.
4477
4478         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4479         (delayed_restart), (delayed_control):
4480         Use GST_POLL_FD_INIT.
4481
4482 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4483
4484         * gst/gstpoll.c: (gst_poll_fd_init):
4485         * gst/gstpoll.h:
4486         Added Since tags.
4487
4488         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4489         Use some more init macros.
4490
4491 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4492
4493         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4494         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4495         Use init macros and functions.
4496
4497 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4498
4499         * docs/gst/gstreamer-sections.txt:
4500         * gst/gstpoll.c: (gst_poll_fd_init):
4501         * gst/gstpoll.h:
4502         Add INIT macro and _init method for initializing the GstPollFD.
4503
4504 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4505
4506         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4507         (gst_fd_sink_update_fd):
4508         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4509         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4510         (delayed_restart), (delayed_control):
4511         Initialize some uninitialized variables as spotted by valgrind.
4512
4513 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4514
4515         * tests/benchmarks/Makefile.am:
4516         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4517         (main):
4518         Add poll stress test.
4519
4520 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4521
4522         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4523
4524         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4525         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4526         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4527         * plugins/elements/gstfdsink.h:
4528         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4529         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4530         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4531         (gst_fd_src_uri_set_uri):
4532         * plugins/elements/gstfdsrc.h:
4533         Port to GstPoll. See #505417.
4534
4535 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4536
4537         * win32/common/libgstreamer.def:
4538         Add new gst_poll_ symbols to win32 defs.
4539
4540 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4541
4542         * docs/libs/gstreamer-libs-sections.txt:
4543         * libs/gst/net/gstnetclientclock.c:
4544         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4545         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4546         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4547         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4548         * libs/gst/net/gstnetclientclock.h:
4549         * libs/gst/net/gstnettimeprovider.c:
4550         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4551         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4552         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4553         (gst_net_time_provider_new):
4554         * libs/gst/net/gstnettimeprovider.h:
4555         Use a private stuct to not break ABI.
4556
4557 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4558
4559         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4560
4561         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4562         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4563         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4564         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4565         * libs/gst/net/gstnetclientclock.h:
4566         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4567         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4568         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4569         (gst_net_time_provider_new):
4570         * libs/gst/net/gstnettimeprovider.h:
4571         Massive code removal and cleanups because of GstPoll.
4572         Fixes #505417.
4573
4574 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4575
4576         * configure.ac:
4577         Add checks for poll, ppoll and pselect.
4578
4579         * docs/gst/gstreamer-docs.sgml:
4580         * docs/gst/gstreamer-sections.txt:
4581         Add docs for GstPoll.
4582
4583         * gst/Makefile.am:
4584         * gst/gst.h:
4585         * gst/gstpoll.c: (find_index), (selectable_fds),
4586         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4587         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4588         (gst_poll_set_mode), (gst_poll_get_mode),
4589         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4590         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4591         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4592         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4593         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4594         (gst_poll_fd_can_write), (gst_poll_wait),
4595         (gst_poll_set_controllable), (gst_poll_restart),
4596         (gst_poll_set_flushing):
4597         * gst/gstpoll.h:
4598         Add generic poll abstraction. We ideally don't want to have this in core
4599         here but in glib intead...
4600         This code will be used in various network elements and ultimately for
4601         the nanosecond precision monotonic clock (that's why it's here in core).
4602         It'll allow us to implement cancelable socket operations for windows too.
4603
4604         * tests/check/Makefile.am:
4605         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4606         (delayed_stop), (delayed_restart), (delayed_flush),
4607         (delayed_control), (gst_poll_suite):
4608         Add GstPoll unit test.
4609
4610 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4611
4612         * gst/gstfilter.c:
4613           Improve documentation of gst_filter_run(). Fixes #518627.
4614
4615 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4616
4617         * docs/README:
4618           Add a few lines about the new 'check-inspected-versions' target.
4619
4620 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4621
4622         * tests/check/gst/gstevent.c:
4623           Add qos to the event test. Rename tcase/tsuite; is not only about
4624           custom events.
4625
4626 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4627
4628         * plugins/elements/gstqueue.c:
4629           Ensure that buffer metadata is writeable, before modifying. Spotted by
4630           Mike.
4631
4632 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4633
4634         * plugins/elements/gstqueue.c:
4635         * plugins/elements/gstqueue.h:
4636           When dropping buffers in leaky modes, mark next buffers we sent as
4637           DISCONT.
4638
4639 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4640
4641         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4642           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4643
4644 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4645
4646         * plugins/elements/Makefile.am:
4647         * plugins/elements/gstbufferstore.c:
4648         * plugins/elements/gstbufferstore.h:
4649         * plugins/elements/gsttypefindelement.h:
4650           Remove GstBufferStore, no idea why we were still building it.
4651           It's not used anywhere and superseded by GstAdapter.
4652
4653         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4654           (gst_file_src_create_mmap):
4655         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4656           Printf format fixes for 64-bit integers.
4657
4658 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4659
4660         * configure.ac:
4661         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4662         We're not in 0.8 times anymore.
4663
4664 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4665
4666         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4667         (gst_check_element_push_buffer_list):
4668         * libs/gst/check/gstcheck.h:
4669         Make the declaration in the header for
4670         gst_check_element_push_buffer_list match the implementation.
4671
4672         Fix up spelling, grammar and wording of the documentation in a few
4673         places, and add the Since keyword to new API functions.
4674         Use g_list_delete_link instead of g_list_remove in
4675         gst_check_drop_buffers, since it's immeasurably more efficient.
4676
4677         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4678         Use new gst_check_drop_buffers function where appropriate.
4679
4680         * win32/common/libgstbase.def:
4681         * win32/common/libgstreamer.def:
4682         Add new symbols gst_collect_pads_take_buffer, 
4683         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4684         exports
4685
4686         Changelog surgery to add API keyword to new gst_check API.
4687
4688 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4689
4690         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4691         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4692         Update pre-generated flex files with flex 2.3.34.
4693
4694 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4695
4696         * gst/gstminiobject.c:
4697           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4698           friendly to subclasses and not require them to know all internals
4699           of their parent class.
4700
4701 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4702
4703         * docs/libs/gstreamer-libs-sections.txt:
4704         * libs/gst/base/gstcollectpads.c:
4705         * libs/gst/base/gstcollectpads.h:
4706           Add sub-buffer functions to collectpads. Fixes #516187.
4707           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4708
4709 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4710
4711         * gst/gstbuffer.c:
4712           Copy selected buffer-flags when creating subbuffers.
4713           Fixes #516395.
4714
4715 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4716
4717         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4718         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4719         * gst/gstmessage.c: (gst_message_class_init),
4720         (gst_message_finalize):
4721         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4722         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4723         (gst_mmap_buffer_finalize):
4724         Properly chain up finalize functions to the parent class.
4725
4726 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4727
4728         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4729
4730         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4731         (gst_index_set_resolver_full):
4732         * gst/gstindex.h:
4733         Add new function with option to dispose of user_data in resolver.
4734         Actually call the dispose function when finalizing the object and not
4735         just when changing the resolver/filter.
4736         API: GstIndex::gst_index_set_resolver_full()
4737
4738         * docs/gst/gstreamer-sections.txt:
4739         Add new function to docs. Fixes #515469.
4740
4741 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4742
4743         * gst/gstindex.c: (gst_index_finalize):
4744         Chain up finalize to the parent class. Fixes leaking the GstObject
4745         name and other things.
4746
4747 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4748
4749         * configure.ac:
4750         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4751         pre-releases or releases.
4752
4753         * docs/faq/gst-uninstalled:
4754         Add gst-plugins-gl
4755
4756         * docs/random/release:
4757         Change one of the steps - we only upload core & base to Gnome FTP
4758
4759 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4760
4761         * gst/gstconfig.h.in:
4762           Add 'id' for example.
4763
4764         * gst/gstpad.c:
4765         * gst/gstutils.c:
4766         * plugins/elements/gstfdsink.c:
4767           Link to signals. Doc and comment fixes.
4768
4769 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4770
4771         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4772         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4773           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4774           unused and unimplemented; finally, it is plugin features, not
4775           plugins, that have ranks.
4776           
4777 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4778
4779         * gst/gstpluginfeature.h:
4780           Clarify GstRank range docs.
4781
4782 2008-02-05  David Schleef  <ds@schleef.org>
4783
4784         * gst/gst.c: Add a separate gst_deinitialized that prevents
4785           gst_init() from being called after gst_deinit().  Fixes #509559
4786
4787 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4788
4789         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4790         (gst_bin_class_init):
4791         * gst/gstelement.c: (gst_element_base_class_init),
4792         (gst_element_class_add_pad_template):
4793         * gst/gstpadtemplate.c: (gst_pad_template_init):
4794         * gst/gstpipeline.c: (gst_pipeline_get_type),
4795         (gst_pipeline_base_init), (gst_pipeline_class_init):
4796         * libs/gst/base/gstbasesink.c:
4797         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4798         (gst_base_src_base_init), (gst_base_src_class_init):
4799         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4800         (gst_capsfilter_class_init):
4801         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4802         (gst_fake_sink_class_init):
4803         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4804         (gst_fake_src_class_init):
4805         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4806         (gst_fd_sink_class_init):
4807         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4808         (gst_fd_src_class_init):
4809         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4810         (gst_file_sink_class_init):
4811         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4812         (gst_file_src_class_init):
4813         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4814         (gst_identity_class_init):
4815         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4816         (gst_multi_queue_class_init):
4817         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4818         (gst_queue_class_init):
4819         * plugins/elements/gsttee.c: (gst_tee_base_init),
4820         (gst_tee_class_init):
4821         * plugins/elements/gsttypefindelement.c:
4822         (gst_type_find_element_base_init),
4823         (gst_type_find_element_class_init):
4824         * tests/check/gst/gstelement.c: (gst_element_suite):
4825         Revert previous changes to the behaviour of GstPadTemplates, etc
4826         and the possiblity to call them in class_init as it breaks too
4827         many elements. Reopens bug #491501.
4828
4829         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4830         several places.
4831
4832 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4833
4834         * tools/gst-launch.c:
4835         Dump one graph per pipeline state-change and state change name
4836         (if GST_DEBUG_DUMP_DOT_DIR is set).
4837
4838 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4839
4840         * gst/gstpad.c:
4841         * tests/check/gst/gstpad.c:
4842         Be sure that we have a new copy of the caps and not
4843         reffed caps from a template
4844
4845 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4846
4847         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4848         * gst/gstpipeline.c: (gst_pipeline_get_type),
4849         (gst_pipeline_class_init):
4850         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4851         (gst_base_sink_class_init):
4852         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4853         (gst_base_src_class_init):
4854         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4855         (gst_base_transform_class_init):
4856         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4857         (gst_collect_pads_class_init):
4858         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4859         * libs/gst/net/gstnettimeprovider.c:
4860         (gst_net_time_provider_base_init),
4861         (gst_net_time_provider_class_init):
4862         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4863         (gst_capsfilter_class_init):
4864         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4865         (gst_fake_sink_class_init):
4866         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4867         (gst_fake_src_class_init):
4868         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4869         (gst_fd_sink_class_init):
4870         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4871         (gst_fd_src_class_init):
4872         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4873         (gst_file_sink_class_init):
4874         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4875         (gst_file_src_class_init):
4876         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4877         (gst_identity_class_init):
4878         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4879         (gst_multi_queue_class_init):
4880         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4881         (gst_queue_class_init):
4882         * plugins/elements/gsttee.c: (gst_tee_base_init),
4883         (gst_tee_class_init):
4884         * plugins/elements/gsttypefindelement.c:
4885         (gst_type_find_element_base_init),
4886         (gst_type_find_element_class_init):
4887         Don't use base_init where not absolutely necessary. For example it's
4888         not necessary anymore for adding pad templates or setting element
4889         details.
4890
4891         Leave empty base_init functions in several places as GST_BOILERPLATE
4892         still defines and uses them.
4893
4894 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4895
4896         * gst/gstelement.c: (gst_element_base_class_init),
4897         (gst_element_class_add_pad_template):
4898         * gst/gstpadtemplate.c:
4899         Make it possible (and recommended) to set element details and add
4900         pad templates in the class_init functions by copying the details/pad
4901         templates in GstElement's base_init.
4902
4903         Also make it possible to replace existing pad templates by adding
4904         a new one with the same name. This was done in a hackish fashion
4905         in same elements before already.
4906
4907         Don't reference pad templates that are added a second time. A
4908         new pad template has a refcount of one and is not floating anymore
4909         and to be owned by the element's class. Make this more explicit by
4910         mentioning it in the docs of gst_element_class_add_pad_template().
4911
4912         These changes are backwards compatible. Fixes bug #491501.
4913
4914         * tests/check/gst/gstelement.c:
4915         Add unit test for setting element details, adding pad templates and
4916         replacing them in a subclass.
4917
4918 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4919
4920         * tools/gst-inspect.c: (print_interfaces),
4921         (print_element_properties_info), (print_pad_info),
4922         (print_signal_info), (print_element_info):
4923         Fix a few memory leaks.
4924
4925 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4926
4927         * docs/libs/gstreamer-libs-sections.txt:
4928         * libs/gst/check/gstcheck.c:
4929         * libs/gst/check/gstcheck.h:
4930         Add more functions for unit testing: gst_check_drop_buffers,
4931         gst_check_caps_equal, gst_check_element_push_buffer_list,
4932         gst_check_element_push_buffer
4933         API: gst_check_drop_buffers
4934         API: gst_check_caps_equal
4935         API: gst_check_element_push_buffer_list
4936         API: gst_check_element_push_buffer
4937
4938 2008-02-01  Julien Moutte  <julien@fluendo.com>
4939
4940         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4941         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4942         (gst_index_finalize), (gst_index_entry_free),
4943         (gst_index_add_association): Fix memory leaks.
4944         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4945         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4946         (gst_mem_index_free_format), (gst_mem_index_free_id),
4947         (gst_mem_index_finalize): Fix memory leaks.
4948         * win32/common/config.h: Updated to CVS HEAD.
4949
4950 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4951
4952         * docs/README:
4953           Some more details about how the plugin docs works.
4954
4955         * docs/plugins/gstreamer-plugins-sections.txt:
4956           Whitespace cleanup.
4957
4958 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4959
4960         * gst/parse/grammar.tab.pre.c:
4961         * gst/parse/grammar.tab.pre.h:
4962         * gst/parse/grammar.y:
4963         * gst/parse/lex._gst_parse_yy.pre.c:
4964           Add delayed set-property. This allows to set properties on dynamicaly
4965           created objects (pads in videomxer). Fixes #509391.
4966
4967 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4968
4969         * gst/gstutils.c:
4970         Check if caps are not NULL (fix bug #510194)
4971
4972 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4973
4974         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4975         (gst_base_sink_get_position_paused):
4976         Add fixme regarding EOS in pull mode.
4977         Fix position reporting in PAUSED for negative rates.
4978
4979 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4980
4981         * gst/gstminiobject.c: (gst_mini_object_replace):
4982         When replacing a miniobject, do a quick equality check first so that we
4983         can avoid a ref/unref pair.
4984
4985 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4986
4987         * docs/design/part-synchronisation.txt:
4988         Update some docs.
4989
4990         * docs/plugins/Makefile.am:
4991         * docs/plugins/gstreamer-plugins-docs.sgml:
4992         * docs/plugins/gstreamer-plugins-sections.txt:
4993         * plugins/elements/gstmultiqueue.c:
4994         Add multiqueue to the docs.
4995
4996 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4997
4998         * configure.ac:
4999           Back to CVS
5000
5001 === release 0.10.17 ===
5002
5003 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
5004
5005         * configure.ac:
5006           releasing 0.10.17, "Due Negligence"
5007
5008 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5009
5010         * gst/gstutils.c:
5011         Revert caps != NULL check temporarily for 0.10.17 release.
5012
5013 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5014
5015         * gst/gstutils.c:
5016         Check if caps are not NULL (fix bug #510194)
5017
5018 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5019
5020         * gst/gstutils.c:
5021         Fix compilation on systems that have posix timers but no
5022         monotonic clock.
5023         Fixes: #512715
5024         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
5025         dot net>
5026
5027 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5028
5029         * tools/gst-inspect.c:
5030         Revert previous commit in preparation for an impromptu 0.10.17 release
5031
5032 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
5033
5034         * tools/gst-inspect.c: (print_interfaces),
5035         (print_element_properties_info), (print_pad_info),
5036         (print_signal_info), (print_element_info):
5037         Fix a few memory leaks.
5038
5039 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
5040
5041         * configure.ac:
5042         Back to CVS
5043
5044 === release 0.10.16 ===
5045
5046 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
5047
5048         * configure.ac:
5049           releasing 0.10.16, "Special Dispensation"
5050
5051 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5052
5053         * configure.ac:
5054           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5055           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5056           not fail when trying to crosscompile on OpenEmbedded (#511750).
5057
5058 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
5059
5060         * docs/manuals.mak:
5061         Use $(MAKE) instead of make to fix the build if GNU make is
5062         called different. Fixes bug #510747.
5063
5064 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5065
5066         * gst/gstplugin.c: (_gst_plugin_initialize):
5067           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5068           again, which I broke two commits ago when changing the API
5069           of gst_plugin_register_static(): the g_list_foreach() in
5070           _gst_plugin_register_static still assumed the old function
5071           signature and would therefore fail (re-fixes #510187).
5072
5073         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5074           (_gst_plugin_register_static), (gst_plugin_register_static):
5075           Revert the (technically correct) change to call g_thread_init() from
5076           the pre-main() constructor. This will break programs which call
5077           g_thread_init() without an if (!g_thread_supported()) guard in their
5078           main function. We could just blame it on GLib or the application, but
5079           it's probably best to just avoid this altogether and simply not use
5080           any GLib functions here and use plain old malloc() with a simple
5081           array to store the plugins to register later when gst_init() is
5082           finally called (re-fixes #510187).
5083
5084         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5085           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5086           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5087           (GST_START_TEST), (gst_plugin_suite):
5088           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5089           works.
5090
5091 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5092
5093         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5094           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5095           This makes gtk-doc complain, but results in slightly better
5096           compiler errors. The old _gst_plugin_register_static() is
5097           still guarded, so there'll be a compiler warning about that
5098           instead. Fixes #510187 too.
5099
5100 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5101
5102         * gst/gst.c: (init_post):
5103         * gst/gstplugin.c: (_gst_plugin_register_static),
5104           (gst_plugin_register_static), (_gst_plugin_initialize):
5105         * gst/gstplugin.h: (GstPluginFilter):
5106           Change API of gst_plugin_register_static() to not take
5107           a GstPluginDesc, but rather just take all the arguments
5108           in a GstPluginDesc directly. This is more intuitive and
5109           avoids certain mistakes when porting code from
5110           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5111           Fixes #510187.
5112
5113         * tests/check/gst/gstplugin.c:
5114           Fix up for changed API.
5115
5116 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5117
5118         * docs/faq/legal.xml:
5119           Update FAQ, Totem actually has an exception these days.
5120
5121 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5122
5123         * win32/common/libgstreamer.def:
5124         Add new API declarations
5125
5126 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5127
5128         * gst/gstminiobject.c:
5129           Spelling fixes for the API docs.
5130
5131 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5132
5133         * libs/gst/base/gstbasetransform.c:
5134           Fix long property description for QoS.
5135
5136 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5137
5138         * gst/gst.c:
5139         _gst_trace_on is already provided by gsttrace.h, no need to declare
5140         it ourselves.
5141
5142         * docs/libs/gstreamer-libs-sections.txt:
5143         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5144         and remove strange tcase_add_test which is outputting a warning.
5145
5146         * libs/gst/check/gstcheck.c:
5147         * libs/gst/check/gstcheck.h:
5148         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5149         and define them in gstcheck.c instead of having every .c file whcih
5150         includes gstcheck.h be defining its own copy and relying on symbol
5151         interposing to marry them all, which doesn't work on Solaris.
5152
5153         * tests/check/elements/identity.c: (GST_START_TEST):
5154         Don't define 'buffers' locally, it comes from libgstcheck.
5155
5156         * tests/check/generic/sinks.c: (send_buffer):
5157         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5158
5159         * tests/check/gst/gststructure.c: (GST_START_TEST):
5160         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5161         * tests/check/gst/gstutils.c: (GST_START_TEST):
5162         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5163         Add a bunch of casts to make various constants fit the types
5164         they're being assigned to.
5165
5166 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5167
5168         * gst/gstchildproxy.c:
5169           Improve docs and add some ideas for making this more general-purpose.
5170
5171 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5172
5173         * gst/gst_private.h: (GST_CAT_TYPES):
5174           Add GST_CAT_TYPES, for consistency, and so that the other
5175           debug categories don't make fun of it. Spotted by Saur on IRC.
5176
5177 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5178
5179         * gst/parse/Makefile.am:
5180           Move types.h from EXTRA_DIST to noinst_HEADERS.
5181
5182 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5183
5184         * autogen.sh:
5185           Add -Wno-portability to the automake parameters to stop warnings
5186           about GNU make extensions being used. We require GNU make in almost
5187           every Makefile anyway.
5188
5189         * configure.ac:
5190           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5191           at the same time is required for per target flags.
5192
5193 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5194
5195         * gst/gstmacros.h:
5196           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5197           __GNUC__ is defined before using it.
5198
5199 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5200
5201         * docs/gst/gstreamer-sections.txt:
5202         * gst/gst.c: (init_post):
5203         * gst/gstplugin.c: (_gst_plugin_register_static),
5204           (gst_plugin_register_static), (_gst_plugin_initialize),
5205           (gst_plugin_register_func):
5206         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5207           API: add gst_plugin_register_static() and deprecate
5208           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5209           (#498924).
5210           Also, in _gst_plugin_register_static(), make sure to call
5211           g_thread_init() before calling GLib functions such as
5212           g_list_append() if we're not initialised yet, since that
5213           may lead to random crashes with older GSlice/GLib versions.
5214
5215         * tests/check/gst/gstplugin.c:
5216           Adapt unit test to above changes.
5217
5218 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5219
5220         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5221         * gst/gstcaps.c: (gst_caps_to_string):
5222         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5223           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5224           Yet another gratuitous GString micro-optimisation: add a (private)
5225           function that serialises a structure appending to an existing
5226           GString, so that when we serialise caps we don't need to alloc+free
5227           a throwaway GString for each structure (each of which also entailing
5228           multiple reallocs on the way); also use g_string_sized_new() in
5229           various places with an approximate string length to avoid reallocs
5230           within GString. See #500143.
5231
5232 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5233
5234         * gst/gststructure.c: (gst_structure_id_set_value):
5235           Always check UTF-8 conformance of structure strings and not only
5236           if the debugging system is enabled; reasoning: the behaviour of
5237           the actual code shouldn't really change depending on whether the
5238           debugging system is enabled or not (#508291).
5239
5240 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5241
5242         * Makefile.am:
5243           Remove old coverage target in favour of "make lcov".
5244
5245 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5246
5247         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5248         (gst_base_src_loop):
5249         The start segment for reverse playback goes from start to last_stop.
5250
5251 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5252
5253         Patch by: Peter Kjellerstedt <pkj axis com>
5254
5255         * gst/gstclock.h:
5256         Cast the results from the timeval/spec_to_time macros to what the
5257         docs say it casts to, a GstClockTime. fixes #508175.
5258
5259 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5260
5261         * gst/gstbuffer.c:
5262         Update some comments.
5263
5264         * tools/gst-inspect.c: (print_element_properties_info):
5265         Improve printing of flags.
5266
5267 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5268
5269         * libs/gst/base/gstbasetransform.c:
5270           (gst_base_transform_transform_size):
5271           Print element name with g_warning() if there's a problem
5272           with the unit size.
5273
5274 2008-01-07  David Schleef  <ds@schleef.org>
5275
5276         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5277
5278         * libs/gst/controller/gstcontroller.h:
5279         * libs/gst/controller/gstcontrolsource.h:
5280         * libs/gst/controller/gstinterpolationcontrolsource.h:
5281         * libs/gst/controller/gstlfocontrolsource.h:
5282         * libs/gst/dataprotocol/dataprotocol.h:
5283           Fix empty prototypes.  Fixes bug #507957.
5284
5285 2008-01-07  David Schleef  <ds@schleef.org>
5286
5287         * docs/faq/dependencies.xml: Fix typo.
5288
5289 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5290
5291         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5292         (gst_base_src_loop):
5293         Don't update the last_stop position in do_seek, that's the position we
5294         did a seek to.
5295         Read backwards when we have a negative rate.
5296
5297         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5298         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5299         (filesrc_suite):
5300         Add check for reverse reading.
5301
5302 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5303
5304         Patch by: Alexis Ballier <aballier at gentoo org>
5305
5306         * tests/check/gst/gstabi.c:
5307         * tests/check/gst/struct_ppc64.h:
5308         * tests/check/libs/libsabi.c:
5309         * tests/check/libs/struct_ppc64.h:
5310           Decide which header to include based on the userland ABI target
5311           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5312           for 64-bit userland (#503590).  Might need something similar for
5313           x86 too.
5314
5315 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5316
5317         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5318           Log the reason why fopen fails in addition to the fact that it failed.
5319           
5320 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5321
5322         * gst/parse/parse.l:
5323         Use "%option never-interactive" to prevent useless calls to isatty()
5324         on every input when parsing. Also use "%option noinput" to not define
5325         the static input/yyinput functions which we don't use anyway. This
5326         removes a compiler warning with gcc 4.3 and saves some bytes in the
5327         library.
5328         
5329         * gst/parse/lex._gst_parse_yy.pre.c:
5330         Regenerated for the above change.
5331
5332 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5333
5334         * gst/gstpad.c: (fixate_value):
5335         Don't crash when trying to fixate and empty list.
5336         Fixes #506643.
5337
5338 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5339
5340         * docs/faq/gst-uninstalled:
5341         Clarify the comments to make the usage of this script and what it
5342         does easier to understand.
5343
5344 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5345
5346         * tools/gst-plot-timeline.py:
5347         Add more options to gst-plot-timeline
5348
5349 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5350
5351         * docs/design/part-synchronisation.txt:
5352         Some more info on how the stream_time in GstBaseSink is done.
5353
5354 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5355
5356         * tests/check/generic/sinks.c: (gst_sinks_suite):
5357           Put back the tcase_set_timeout(), apparently it's needed after
5358           all; fix it up in a way that makes things work with valgrind too.
5359
5360 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5361
5362         * gst/gstdebugutils.c:
5363           Add warning when failed to open file for writing.
5364
5365 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5366
5367         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5368
5369         * gst/gstvalue.c: (gst_value_is_fixed):
5370           Optimisation: bail out of the loop as early as possible (#500143).
5371
5372 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5373
5374         * gst/gstcaps.c: (gst_caps_to_string):
5375         * gst/gstinfo.c: (gst_debug_construct_term_color):
5376         * gst/gstparse.c: (gst_parse_launchv):
5377         * gst/gstutils.c: (gst_util_dump_mem):
5378         * gst/gstvalue.c: (gst_value_serialize_any_list),
5379           (gst_value_transform_any_list_string):
5380           Bunch of gratuitous nano-optimisations.
5381
5382 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5383
5384         * tests/check/generic/sinks.c: (async_done_func),
5385           (async_done_eos_func):
5386           Fix leak in unit test (bus sync handler must unref the message
5387           if it returns GST_BUS_DROP). Don't fiddle with the default test
5388           timeout, this is smaller than the current preconfigured value
5389           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5390           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5391
5392 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5393
5394         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5395
5396         * configure.ac:
5397         Check for stdio_ext.h for the filesink changes.
5398
5399         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5400         (gst_file_sink_class_init), (gst_file_sink_init),
5401         (gst_file_sink_dispose), (gst_file_sink_set_property),
5402         (gst_file_sink_get_property), (gst_file_sink_open_file),
5403         (gst_file_sink_close_file):
5404         * plugins/elements/gstfilesink.h:
5405         Add two properties to control the buffering mode and size.
5406         API: GstFileSink::buffer-mode
5407         API: GstFileSink::buffer-size
5408         Fixes #500150.
5409
5410 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5411
5412         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5413         Add some more docs to explain why a FIXME was wrongly added. 
5414
5415 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5416
5417         * gst/gstobject.c:
5418           Fix typo in the gst_object_{ref,unref} documentation.
5419
5420 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5421
5422         * tests/check/libs/controller.c:
5423         * tests/check/libs/typefindhelper.c:
5424         * tests/check/pipelines/parse-launch.c:
5425           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5426           going to be deprecated (see #498924).
5427
5428 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5429
5430         * gst/gsttypefind.c: (gst_type_find_register):
5431           Make gst_type_find_register work for static typefind functions,
5432           ie. allow passing plugin == NULL (prerequisite for #498924).
5433
5434         * gst/gstelementfactory.c: (gst_element_register):
5435           Small docs addition.
5436
5437 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5438
5439         * gst/gstpad.c: (gst_pad_dispose):
5440         Really unlink the peer pad instead of setting the peer pointer to NULL
5441         when we dispose the pad.
5442         This correctly calls the unlink functions and makes sure that the peer
5443         does not have a handle to invalid memory. See #504671.
5444
5445         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5446         Add testsuite for above case.
5447
5448 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5449
5450         Patch by: Peter Kjellerstedt <pkj axis com>
5451
5452         * libs/gst/check/gstcheck.h:
5453           Fix detection of the check version we're compiling against (would
5454           otherwise break if check goes v0.10.0); correctly report the
5455           name of the failed test again in case of failure, instead of
5456           just 'tf' (fixes #504499).
5457
5458 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5459
5460         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5461         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5462         (gst_base_src_loop), (gst_base_src_set_flushing),
5463         (gst_base_src_change_state):
5464         Allow sending EOS to the source to make it send out an EOS event from
5465         the streaming thread.
5466         Update docs and deprecate the old NULL/READY shutdown method.
5467
5468         * tests/check/libs/basesrc.c: (GST_START_TEST),
5469         (gst_basesrc_suite):
5470         Add unit test for controlled shutdown.
5471
5472 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5473
5474         * docs/design/part-synchronisation.txt:
5475         Small updates.
5476
5477         * gst/gstsegment.c: (gst_segment_set_seek),
5478         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5479         (gst_segment_to_running_time):
5480         The seek format can be different from the segment format when the start
5481         and stop values are not to be updated, when we only do a rate change for
5482         example.
5483
5484         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5485         (gst_segment_suite):
5486         Add a testcase for the rate-only seeks, checking that the format is
5487         correctly ignored when start and stop are not updated.
5488
5489 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5490
5491         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5492
5493         * win32/vs8/grammar.vcproj:
5494         * win32/vs8/libgstcontroller.vcproj:
5495         * win32/vs8/libgstreamer.vcproj:
5496         Fix compilation with VS8 and include some missing files.
5497
5498 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5499
5500         * gst/gsttaglist.c:
5501           Small docs addition: mention that the strings returned by
5502           gst_tag_list_get_string*() are in UTF-8 encoding.
5503
5504 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5505
5506         * Makefile.am:
5507           The check-exports stuff moved to common/win32.mak, so include that.
5508
5509 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5510
5511         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5512         (gst_base_src_perform_seek), (gst_base_src_get_range),
5513         (gst_base_src_set_playing), (gst_base_src_change_state):
5514         Make _wait_playing() not check any variables so that we can call this
5515         function from subclasses. Move the checks elsewhere similar to
5516         _wait_preroll() in basesink.
5517         Add some debugging.
5518         Only signal the LIVE cond when we are going back to PLAYING.
5519
5520 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5521
5522         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5523           Use g_remove() and g_rename(). Check result of g_rename(), and
5524           don't leak the open file descriptor if we error out when writing.
5525
5526         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5527           Must check the return value of close() after writing out the new
5528           registry file.  Sometimes write problems such as out-of-diskspace
5529           are only reported when the file is closed and not already during
5530           the write.  This may have caused partial/broken registry files in
5531           some rare circumstances. Should fix #503675.
5532
5533 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5534
5535         * docs/gst/.cvsignore:
5536         * docs/libs/.cvsignore:
5537         * docs/plugins/.cvsignore:
5538         Ignore files generated by new common/* modifications
5539
5540 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5541
5542         * win32/common/libgstbase.def:
5543           Yes, you can also have a <TAB> if you want.
5544
5545 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5546
5547         * win32/common/libgstbase.def:
5548           Add new basetransform API to win export file.
5549
5550 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5551
5552         * tests/check/gst/gstbin.c:
5553           Adjust the test to the refcount change two days ago.
5554
5555 2007-12-14  David Schleef  <ds@schleef.org>
5556
5557         * docs/faq/getting.xml: Fix typo.
5558
5559 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5560
5561         * docs/libs/gstreamer-libs-sections.txt:
5562         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5563           (gst_base_transform_prepare_output_buffer),
5564           (gst_base_transform_set_gap_aware):
5565         * libs/gst/base/gstbasetransform.h:
5566           API: Add gst_base_transform_set_gap_aware() to control whether
5567           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5568           get buffers with this flag at all. Fixes #503231.
5569
5570 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5571
5572         * libs/gst/base/gstbasesink.c:
5573         * libs/gst/base/gstbasesrc.c:
5574         * libs/gst/base/gstbasetransform.c:
5575           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5576           thread. Correct log message in gstbasesrc.c.
5577
5578 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5579
5580         * gst/gstutils.c: (element_find_unconnected_pad):
5581           Fix possible compiler warning (#503417).
5582
5583 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5584
5585         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5586           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5587
5588 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5589
5590         * tools/gst-inspect.c: (print_element_properties_info):
5591           Add support for GstFraction properties.
5592
5593 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5594
5595         * Makefile.am:
5596           Add check-exports target and run it as part of 'make check'
5597           (see #499140 and #493983).
5598
5599         * gst/gst_private.h:
5600         * gst/gstelementfactory.h:
5601         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5602         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5603           (_priv_gst_in_valgrind):
5604         * gst/gstinfo.h: (GstLogFunction):
5605         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5606           (gst_type_find_register):
5607         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5608           (gst_type_find_factory_get_type):
5609         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5610           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5611           (gst_controller_new_valist), (gst_controller_new_list),
5612           (_gst_controller_dispose), (_gst_controller_class_init):
5613         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5614         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5615           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5616           (gst_object_get_controller), (gst_object_set_controller),
5617           (gst_object_suggest_next_sync), (gst_object_sync_values),
5618           (gst_object_set_control_source), (gst_object_get_control_source),
5619           (gst_object_get_value_arrays), (gst_object_get_value_array),
5620           (gst_object_get_control_rate), (gst_object_set_control_rate):
5621         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5622         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5623           Make some functions that should be static static; rename some
5624           private symbols so that they don't get exported; add some FIXME
5625           comments so we can move accidentally exported functions into
5626           our private section in 0.11.
5627
5628         * win32/common/libgstreamer.def:
5629           Add gst_utils_get_timestamp().
5630
5631 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5632
5633         * gst/gstvalue.c:
5634         * gst/gstvalue.h:
5635           Add more missing "Since:" tags to docs.
5636
5637 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5638
5639         * gst/gstutils.c:
5640           Add mising "Since:" to docs.
5641
5642 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5643
5644         * gst/gstplugin.c:
5645           Include "glib-compat-private.h" to fix the build on system with
5646           glib < 2.10. Fixes #503131.
5647
5648 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5649
5650         * gst/gstutils.c:
5651         * gst/gstutils.h:
5652           Actually its not PURE as it gets the time from elsewhere.
5653
5654 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5655
5656         * docs/gst/gstreamer-sections.txt:
5657         * gst/gstclock.h:
5658         * gst/gstdebugutils.c:
5659         * gst/gstinfo.c:
5660         * gst/gstutils.c:
5661         * gst/gstutils.h:
5662         * libs/gst/base/gstbasesink.c:
5663         * tools/gst-launch.c:
5664           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5665           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5666           Thanks Tim for spotting.
5667           API: gst_util_get_timestamp
5668
5669 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5670
5671         * configure.ac:
5672           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5673
5674 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5675
5676         * gst/gststructure.c: (gst_structure_validate_name),
5677           (gst_structure_new_valist), (gst_structure_parse_value),
5678           (gst_structure_from_string):
5679           Don't crash in _from_string() if the structure name is not valid
5680           (fixes #501560).  Allow structure names to start with a number
5681           again (this apparently broke the ubuntu codec installer).
5682
5683         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5684           (GST_START_TEST):
5685           Add unit test for the crash; update unit tests for new behaviour.
5686
5687 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5688
5689         * gst/gstutils.c:
5690         Clarify gst_element_get_compatible_pad() documentation.
5691         Fixes #500919.
5692
5693 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5694
5695         * tests/check/Makefile.am:
5696           Don't forget to dist {gst,libs}/struct_hppa.h.
5697
5698 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5699
5700         * libs/gst/base/gstbasesink.c:
5701           Use new API to get elapsed time.
5702
5703 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5704
5705         * gst/gstdebugutils.c:
5706         * gst/gstinfo.c:
5707           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5708
5709         * tools/gst-launch.c:
5710           Use new API to get elapsed time.
5711
5712 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5713
5714         * docs/gst/gstreamer-sections.txt:
5715         * gst/gstclock.h:
5716         * gst/gstdebugutils.c:
5717         * gst/gstinfo.c:
5718           Rename new API + ChangeLog surgery to remove old name from last entry..
5719
5720 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5721
5722         * docs/gst/gstreamer-sections.txt:
5723         * gst/gstclock.h:
5724         * gst/gstdebugutils.c:
5725         * gst/gstinfo.c:
5726           Now hide the different clock stuff behind a macro.
5727
5728 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5729
5730         * configure.ac:
5731         * gst/gstdebugutils.c:
5732         * gst/gstinfo.c:
5733           Apply the posix-timer check from #361155. Conditionally use the posix
5734           timer for logging. This gives better timestamp precission, less
5735           overhead and no ntp jitter.
5736
5737 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5738
5739         * gst/gstminiobject.c: (gst_mini_object_get_type),
5740         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5741         (gst_mini_object_finalize), (gst_mini_object_copy),
5742         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5743         (gst_mini_object_replace), (param_mini_object_validate),
5744         (gst_param_spec_mini_object_get_type):
5745         Some cleanup and checking against invalid function parameters.
5746
5747 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5748
5749         * docs/gst/gstreamer-sections.txt:
5750         * gst/gstclock.h:
5751         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5752         (gst_systemclock_suite):
5753         Start merging in the easy bits of #361155, the monotonic clock patch.
5754         This one adds a few handy macros with docs and a testsuite.
5755
5756 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5757
5758         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5759         Be a bit smarter when seeking, like, don't try to do a seek when it's
5760         not needed. This avoids errors when the file is not seekable.
5761         Fixes #499771.
5762
5763 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5764
5765         * docs/gst/gstreamer-docs.sgml:
5766         * docs/gst/gstreamer-sections.txt:
5767         * docs/gst/gstreamer.types.in:
5768         * gst/Makefile.am:
5769         * gst/gst.h:
5770         * gst/gstpreset.c:
5771         * gst/gstpreset.h:
5772         * plugins/elements/gstqueue.c:
5773           Due to popular request remove preset interface again. :-(.
5774
5775 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5776
5777         * tools/gst-inspect.c:
5778           Print 'default value' for enums and flags too.
5779
5780 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5781
5782         * docs/random/ensonic/profiling.txt:
5783           More ideas.
5784
5785         * gst/gstbin.c:
5786           Fix typo and give better log output.
5787
5788         * gst/gstdebugutils.c:
5789         * gst/gstdebugutils.h:
5790           More ideas, make graphs a bit smaller and fix param name in macro.
5791
5792 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5793
5794         * gst/gstpreset.c:
5795           Try harder to use the return value from fgets().
5796
5797 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5798
5799         * gst/gstpreset.c:
5800           For theses two fgets we handle the error below.
5801
5802 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5803
5804         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5805         Only send upstream events upstream. Fixes #498746.
5806
5807 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5808
5809         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5810
5811         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5812         (gst_identity_init), (gst_identity_transform_ip),
5813         (gst_identity_set_property), (gst_identity_get_property):
5814         * plugins/elements/gstidentity.h:
5815         Add property to disable handoff signal emission. Fixes #498694.
5816         API: GstIdentity::signal-handoffs
5817
5818 2007-11-21  Julien Moutte  <julien@fluendo.com>
5819
5820         * docs/faq/gst-uninstalled: Yet another missing library for the
5821         uninstalled script (fft)
5822
5823 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5824
5825         * docs/faq/developing.xml:
5826         Add a question about how to submit new translations.
5827
5828         * docs/random/release:
5829         Update the contact email address for the Translation Project
5830
5831         * plugins/elements/gstfdsrc.c:
5832         The parent_class for fdsrc is pushsrc, not GstElement.
5833
5834 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5835
5836         * gst/gstpreset.c:
5837           Plug a leak and fix saving.
5838
5839 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5840
5841         * docs/gst/gstreamer-sections.txt:
5842         Add new gst_preset__get_property_names() function to the docs
5843         to fix the build.
5844
5845 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5846
5847         * gst/gstpreset.c:
5848         * gst/gstpreset.h:
5849           Change _get_preset_names API to return a strv with copies. Add
5850           _get_property_names to allow implementations to filter and provide
5851           good default implementation.
5852
5853 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5854
5855         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5856         script (sdp).
5857
5858 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5859
5860         * gst/gstpreset.c:
5861           More cleanups, docs, and TODOs from comments that now slowly come in.
5862
5863 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5864
5865         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5866         search path.
5867
5868 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5869
5870         * gst/gstpreset.c:
5871           Fix bogus warning and make the property type specific code more
5872           similar.
5873
5874 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5875
5876         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5877         it build on OS X.
5878
5879 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5880
5881         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5882         (gst_bin_add_func), (gst_bin_remove_func),
5883         (gst_bin_change_state_func), (gst_bin_continue_func):
5884         Change email, cleanups add some more debug and comments.
5885         Also set bus and clock on new elements when the pipeline was in error.
5886
5887 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5888
5889         * gst/gstbin.c:
5890         * gst/gstdebugutils.c:
5891           Fix build with --disable-gst-debug. Fixes #497859.
5892           Spotted by Sameer Naik.
5893
5894 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5895
5896         * gst/gstevent.c:
5897           Little documentation improvment.
5898
5899         * gst/gstpreset.c:
5900           More TODO cleanups. Remove c++ comments.
5901
5902         * libs/gst/controller/gstcontroller.c:
5903           Add TODO and use quark from static string.
5904
5905         * tests/check/gst/gstmessage.c:
5906         * tests/check/gst/gststructure.c:
5907           Use quark from static string.
5908
5909 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5910
5911         * gst/gstpreset.c:
5912           Add some comments and TODOs.
5913
5914         * gst/gstpreset.h:
5915           Add padding for future changes.
5916
5917         * plugins/elements/gstqueue.c:
5918           Implement the iface.    
5919
5920 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5921
5922         * docs/gst/gstreamer-docs.sgml:
5923         * docs/gst/gstreamer-sections.txt:
5924         * docs/gst/gstreamer.types.in:
5925         * gst/Makefile.am:
5926         * gst/gst.h:
5927         * gst/gstpreset.c:
5928         * gst/gstpreset.h:
5929           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5930
5931 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5932
5933         * configure.ac:
5934
5935         Back to CVS
5936
5937 === release 0.10.15 ===
5938
5939 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5940
5941         * configure.ac:
5942           releasing 0.10.15, "October"
5943
5944 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5945
5946         * win32/vs6/libgstreamer.dsp:
5947         Convert line endings back to DOS.
5948
5949 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5950
5951         * docs/design/draft-tagreading.txt:
5952         * docs/random/ensonic/profiling.txt:
5953         Update fast tagreading draft and performance profiling ideas.
5954
5955 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5956
5957         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5958         Don't hold the object lock when unreffing a buffer because it could
5959         cause a deadlock when the finalize function wants to grab the object
5960         lock too. Fixes #495133.
5961
5962 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5963
5964         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5965         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5966         Also accumulate time correctly when doing reverse playback. Fixes
5967         #488201,
5968         When converting to running and stream time, use default values for
5969         start/stop/time/accum when comparing different formats. Fixes #494245.
5970
5971         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5972         Do running/stream time in TIME format.
5973
5974         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5975         (gst_segment_suite):
5976         2 new unit tests for segment accumulation.
5977
5978 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5979
5980         * gst/gst.c: (init_pre):
5981         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5982           (_gst_debug_bin_to_dot_file):
5983           Move getenv() back into gst_init, so everyone can live happily
5984           ever after. Make sure the symbol isn't exported though.
5985
5986 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5987
5988         Patch by: Sebastien Moutte  <sebastien moutte net>
5989
5990         * win32/common/gstenumtypes.c:
5991         * win32/common/gstenumtypes.h:
5992           Update enum types.
5993
5994         * win32/vs6/libgstreamer.dsp:
5995           Update vs6 project files (#494343).
5996
5997 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5998
5999         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
6000         (gst_base_src_perform_seek), (gst_base_src_default_event),
6001         (gst_base_src_set_flushing), (gst_base_src_activate_push),
6002         (gst_base_src_activate_pull):
6003         Unify flushing code, remove some old unlock code that is no longer used.
6004         Take the streaming lock when seeking to avoid races. Fixes #492729.
6005         Added some more comments.
6006
6007 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6008
6009         * gst/gst.c: (_gst_disable_segtrap):
6010           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
6011           we can use gst_segtrap_is_enabled() there now that we have that API.
6012           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
6013           to do the getenv here (and export the variable).
6014
6015         * gst/gstdebugutils.c: (debug_dump_element),
6016           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
6017           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
6018
6019         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
6020           (gst_debug_log_default):
6021           Rename _gst_info_start_time to priv_gst_info_start_time so it
6022           doesn't get exported (was never in any header).
6023
6024         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
6025           (gst_plugin_loading_mutex):
6026           Make static mutex gst_plugin_loading_mutex really static (was never
6027           in any header), and use gst_segtrap_is_enabled() instead of
6028           _gst_disable_segtrap.
6029
6030         * gst/gsttrace.c: (_gst_trace_default):
6031           Make local _gst_trace_default static (was never in any header).
6032
6033 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6034
6035         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6036
6037         * win32/common/libgstbase.def:
6038         * win32/common/libgstcontroller.def:
6039         * win32/common/libgstdataprotocol.def:
6040         * win32/common/libgstnet.def:
6041         * win32/common/libgstreamer.def:
6042           Add more missing symbols, remove some duplicates, and sort
6043           as the 'sort' command sorts it (partially fixes #493983).
6044
6045 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6046
6047         * gst/gstelement.c: (gst_element_set_state_func):
6048         Only change the state cookie if a different state was set on the
6049         element. See #492729.
6050
6051 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6052
6053         * gst/gstvalue.c:
6054           Remove unused and uninitialised type variables that were still
6055           exported for some reason (they were never in any header files
6056           though).
6057
6058 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6059
6060         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6061         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6062         (gst_base_sink_event), (gst_base_sink_get_position_last),
6063         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6064         (gst_base_sink_change_state):
6065         Don't try to report a 0 position when we don't know, return -1 and FALSE
6066         instead. This mostly happens when we are prerolling.
6067         Make sure we can report the right position before we post the ASYNC_DONE
6068         message so that a message handler can query position without races.
6069
6070         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6071         (async_done_handoff), (async_done_func), (send_buffer),
6072         (async_done_eos_func), (gst_sinks_suite):
6073         Add two tests for the above.
6074
6075 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6076
6077         * MAINTAINERS:
6078         Update with new email address.
6079
6080         * docs/design/part-TODO.txt:
6081         Add some more info about future pad-block and negotiation changes.
6082
6083         * docs/design/part-buffering.txt:
6084         Add some ideas about buffering reporting.
6085
6086 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6087
6088         * tests/check/gst/gstobject.c:
6089         Disable silly racy test that always fails on this combination of CPU
6090         and kernel.
6091
6092 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         Patch by: Murray Cumming  <murrayc@murrayc.com>
6095
6096         * gst/gstobject.c:
6097           Corrected the registration of the parent-set and parent-unset
6098           signals: The parameter is a GstObject, not a GObject (#493134).
6099
6100 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6101
6102         * gst/gst_private.h:
6103         * gst/gstbuffer.h:
6104         * gst/gstevent.h:
6105         * gst/gstformat.h:
6106         * gst/gstmessage.h:
6107         * gst/gstplugin.h:
6108         * gst/gstquery.h:
6109         * gst/gsttaglist.h:
6110         * gst/gstvalue.h:
6111           Move declaration of private _gst_foo_initialize() functions into
6112           our private header file where they should have been all along.
6113
6114 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6115
6116         * docs/plugins/gstreamer-plugins-sections.txt:
6117         * gst/gstdebugutils.h:
6118         * gst/gstxml.h:
6119         * plugins/elements/gstqueue.c:
6120           gtk-doc fixes; trailing-comma-in-enum fix.
6121
6122 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6123
6124         * gst/gst.c: (gst_deinit):
6125           Clean up on deinit (not the external ones though, doesn't seem to be
6126           needed for some reason).
6127
6128 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6129
6130         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6131           Remove __declspec(dllimport) for MSVC that was copied over into core
6132           from a plugin, obviously without ever having been tested (note the
6133           single underscore in _declspec in the initial commit), and that doesn't
6134           really make sense.  See #492077.
6135
6136 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6137
6138         * gst/gst.c: (init_post):
6139         * gst/gstevent.c: (_gst_event_initialize):
6140         * gst/gstquery.c: (_gst_query_initialize):
6141         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6142           g_type_class_ref() other types as well, see #349410 and #64764.
6143
6144         * gst/gstbuffer.c: (_gst_buffer_initialize):
6145         * gst/gstmessage.c: (_gst_message_initialize):
6146           Simplify existing g_type_class_ref().
6147
6148 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6149
6150         * gst/gstformat.c: (_gst_format_initialize):
6151           g_type_class_ref() our GstFormat type to make sure we avoid the
6152           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6153           bug #64764. Should fix intermittent tee unit test failures (#474823).
6154
6155 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6156
6157         * tests/check/elements/tee.c: (test_num_buffers):
6158           Simplify, simplify, simplify - or not.  Rewrite unit test
6159           not to use gst_parse_launch(); allow N sub-streams. Increasing
6160           the number of sub-streams seems to reproduce #474823 more easily.
6161
6162 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6163
6164         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6165
6166         * gst/gsttrace.c:
6167         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6168         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6169         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6170           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6171           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6172           so use _pipe() directly (#492077).
6173
6174         * win32/common/dirent.c: (_treaddir):
6175           Add a couple of casts to make it build without warnings with MSVC.
6176
6177         * win32/common/libgstreamer.def:
6178           Add some more symbols that need to be exported.
6179
6180 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6181
6182         * tests/examples/metadata/read-metadata.c: (message_loop):
6183           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6184           arriving in a second or third tag message are added to
6185           the tag list as well.
6186
6187 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6188
6189         * libs/gst/base/gstbasesrc.c:
6190           Its "Since:" and not "@Since:". And remove an superflous cast.
6191
6192 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6193
6194         * docs/libs/gstreamer-libs-sections.txt:
6195         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6196         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6197         (gst_base_sink_get_property), (gst_base_sink_render_object),
6198         (gst_base_sink_preroll_object),
6199         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6200         (gst_base_sink_change_state):
6201         * libs/gst/base/gstbasesink.h:
6202         Add a new last-buffer property that contains the last buffer used in
6203         basesink for preroll or rendering. useful for making snapshots.
6204         API: gst_base_sink_get_last_buffer()
6205         API: GstBaseSink::last-buffer
6206
6207 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6208
6209         * docs/gst/running.xml:
6210         * gst/gst.c:
6211         * gst/gstdebugutils.c:
6212         * gst/gstdebugutils.h:
6213         * tools/gst-launch.c:
6214           Improve bin graph dumping, by using the envvar to specify a path.
6215           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6216
6217 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6218
6219         * plugins/elements/gsttypefindelement.c:
6220           (gst_type_find_element_handle_event),
6221           (gst_type_find_element_activate):
6222           Post special error message if we can't determine the type of a stream
6223           because it's empty.
6224
6225 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6226
6227         * docs/gst/running.xml:
6228         * gst/gstdebugutils.c:
6229           Document new env-var. Add one log-line after dumpng a graph.
6230
6231 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6232
6233         * configure.ac:
6234           Ugly hack to put the (recently removed and non-portable, apparently)
6235           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6236           GNU ld, because without that 'make check' fails miserably on my debian
6237           stable box.  Someone with more knowledge of linker intricacies and
6238           portability issues than me fix this properly please.
6239
6240 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6241
6242         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6243         Reset last seen position after flushing so that we don't report the old
6244         position anymore.
6245
6246 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6247
6248         * gst/gstelementfactory.c: (gst_element_register):
6249         * gst/gsturi.h:
6250         Patch from Alessandro Decina adding get_type_full and
6251         get_protocols_full private vfuncs to the URIHandler interface
6252         to allow bindings to support creating URI handlers. 
6253         Partially fixes: #339279
6254         API: GstURIHandlerInterface::get_type_full
6255         API: GstURIHandlerInterface::get_protocols_full
6256
6257 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6258
6259         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6260         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6261         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6262         Make it so that pads are considered linked until a buffer is pushed
6263         and discovered otherwise. This avoids problems with decodebin2 hanging
6264         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6265         case.
6266
6267         Make sure we lock the multiqueue when updating the max-size properties.
6268         
6269         Fix a crash on Solaris in a debug statement in get_request_pad that
6270         passes a NULL string to GST_DEBUG. 
6271
6272         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6273         (run_output_order_test):
6274         Fix the test to allow the first buffer on not-linked pads to come out
6275         of sequence while multiqueue discovers that they are not-linked.
6276
6277 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6278
6279         * configure.ac:
6280         * libs/gst/check/Makefile.am:
6281         Use a custom export symbol regex for libgstcheck, as it needs
6282         to export symbols that don't match the standard GStreamer gst_*
6283         pattern, and  --export-dynamic is not portable (only works on 
6284         GNU ld)
6285
6286         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6287         (gst_check_setup_sink_pad):
6288         Make sure to pass a message parameter to the fail_* macros.
6289
6290         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6291         Fix some compiler warnings.
6292
6293 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6294
6295         * tests/check/gst/gststructure.c: (test_to_string):
6296           Disable test that checks that white spaces are not allowed
6297           in structure names or field names, since we need to
6298           support that for now for backwards compatibility reasons.
6299
6300 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6301
6302         * docs/gst/gstreamer-sections.txt:
6303         * gst/gsttaglist.c:
6304         * gst/gsttaglist.h:
6305           API: add GST_TAG_ARTIST_SORTNAME
6306           API: add GST_TAG_ALBUM_SORTNAME
6307           API: add GST_TAG_TITLE_SORTNAME
6308           Add tag variants for sorting (#414539).
6309
6310 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6311
6312         * gst/gststructure.c:
6313           Also allow white space for names so we don't break
6314           backwards compatibility.
6315
6316 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6317
6318         * docs/design/part-TODO.txt:
6319         * docs/design/part-segments.txt:
6320         * docs/design/part-streams.txt:
6321         Small updates.
6322
6323 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6324
6325         * docs/gst/gstreamer-sections.txt:
6326          Fixed documentation from my previous commit (added new API add
6327          gst_value_set_structure(), add gst_value_get_structure() and
6328          GST_VALUE_HOLDS_STRUCTURE).
6329
6330 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6331
6332         * gst/gstdebugutils.c:
6333           Reflow code to fix uninitialized variable warning.
6334
6335 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6336
6337         * gst/gstcaps.c: (gst_caps_to_string),
6338         (gst_caps_from_string_inplace):
6339         * gst/gststructure.c: (gst_structure_get_abbrs),
6340         (gst_structure_to_string), (gst_structure_from_string):
6341         * gst/gstvalue.c: (gst_value_set_structure),
6342         (gst_value_get_structure), (gst_value_serialize_structure),
6343         (gst_value_deserialize_structure), (_gst_value_initialize):
6344         * gst/gstvalue.h:
6345         * tests/check/gst/gststructure.c: (GST_START_TEST),
6346         (gst_structure_suite):
6347         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6348          Added GstStructure to gst_value_table and its related functions.
6349          Changed gst_structure_to_string to print ';' in the end.
6350          Changed gst_caps_to_string to not print ';' beteween its
6351          fields (structures) anymore and remove the lastes ';' from latest
6352          structure. Now it is possible to have nested structures.
6353          In addition, backward compatibilty is assured by accepting '\0' as
6354          end delimiter. Fixes: #487969.
6355          API: add gst_value_set_structure()
6356          API: add gst_value_get_structure()
6357          API: add GST_VALUE_HOLDS_STRUCTURE
6358
6359 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6360
6361         * gst/gstbus.c:
6362           When no GSource callback has been set up, tell developer
6363           to use a function that actually exists.
6364
6365 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6366
6367         * docs/gst/gstreamer-sections.txt:
6368         * gst/Makefile.am:
6369         * gst/gst.c:
6370         * gst/gst.h:
6371         * gst/gstdebugutils.c:
6372         * gst/gstdebugutils.h:
6373         * gst/gstinfo.c:
6374         * gst/gstinfo.h:
6375         * tools/gst-launch.c:
6376           Allow dumping pipelines as dot graphs. Fixes #456573.
6377
6378 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6379
6380         * gst/gststructure.c:
6381           Allow '+' as well, it can be part of media or mime types
6382           such as image/svg+xml.
6383
6384 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6385
6386         * docs/gst/gstreamer-sections.txt:
6387         * gst/gstbus.c:
6388         * gst/gstbus.h:
6389           API: add gst_bus_pop_filtered
6390           API: add gst_bus_timed_pop_filtered
6391           Two new functions for waiting for specific message types on the
6392           bus for a specified amount of time without iterating any main
6393           loops or main contexts.
6394
6395         * tests/check/gst/gstbus.c:
6396           Some tests for the new functions.
6397
6398 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6399
6400         * docs/libs/gstreamer-libs-sections.txt:
6401           Make gtk-doc ignore stuff it should ignore.
6402
6403 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6404
6405         * libs/gst/check/gstcheck.c:
6406         * libs/gst/check/gstcheck.h:
6407           Allow runtime selection of unit tests to run via the GST_CHECKS
6408           environment variable (test case function names, comma-separated).
6409
6410 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6411
6412         * gst/gststructure.c:
6413         * tests/check/gst/gststructure.c:
6414           Revert serialisation change and constrain structure-names after
6415           consensus on irc. Update api documentation to reflect the change.
6416
6417 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6418
6419         * gst/gststructure.c:
6420           Improve serialization and fix tests.
6421
6422         * tests/check/gst/gststructure.c:
6423           Add another test that covers why I actually did the previous structure
6424           change.
6425
6426 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6427
6428         * tools/gst-inspect.c: (print_element_info):
6429         Don't crash when inspecting an element.
6430
6431 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6432
6433         * tests/check/gst/gststructure.c:
6434           Add unit test for escaping of structure name when serialising
6435           and deserialising to/from strings.
6436
6437 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6438
6439         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6440         (gst_single_queue_new):
6441         * plugins/elements/gstqueue.c: (gst_queue_init),
6442         (gst_queue_push_one):
6443         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6444         upstream is tricked into thinking it can suggest a format downstream
6445         while downstream does not support that format. The real problem is that
6446         core calls acceptcaps when pushing a buffer with new caps, for which we
6447         do a little workaround by setting the caps on the srcpad ourselves
6448         before pushing the buffer (until this is figured out). Fixes #486758.
6449
6450 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6451
6452         * gst/gststructure.c:
6453         * gst/gstvalue.c:
6454           Add some more comments and debug output. Quote structure name to fix
6455           deserialisation of some strings.
6456
6457 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6458
6459         * gst/gstbuffer.h:
6460           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6461           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6462
6463 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6464
6465         * tools/gst-inspect.c:
6466           Save approx. 400 1 byte allocs when printing. Use API to acces element
6467           details.
6468
6469         * tools/gst-run.c:
6470           Avoid a strdup.
6471
6472         * tools/gst-xmlinspect.c:
6473           Use API to acces element details.
6474
6475 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6476
6477         * gst/gstinfo.c:
6478           Fix some spelling errors.
6479
6480 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6481
6482         * gst/gstbin.c: (bin_handle_async_done):
6483         Correctly set the next state if all of our async children commited their
6484         state. This makes sure we can actually cancel the state change in
6485         progress. Fixes a regression in Rhythmbox when seeking.
6486
6487 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6488
6489         * gst/gstbin.c:
6490           Don't shadow local variable.
6491
6492         * gst/gstinfo.c:
6493           Don't shadow global function name.
6494
6495 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6496
6497         * gst/gstelementfactory.c:
6498         * gst/gstpluginfeature.c:
6499         * gst/gstpluginfeature.h:
6500         * gst/gstregistrybinary.c:
6501         * gst/gstregistryxml.c:
6502         * gst/gsttypefind.c:
6503           Use already-interned string for the private GstPluginFeature
6504           plugin_name field.
6505
6506 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6507
6508         * docs/libs/gstreamer-libs-sections.txt:
6509           Add new API to docs; fixes the build.
6510
6511 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6512         
6513         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6514
6515         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6516         (gst_base_sink_event):
6517         * libs/gst/base/gstbasesink.h:
6518         Add function to wait for EOS, subclasses can use this to correctly wait
6519         for devices to drain before performing the EOS logic. Fixes #485343.
6520         API: gst_base_sink_wait_eos()
6521
6522 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6523
6524         * gst/gstplugin.h:
6525           Cast description string constants in GST_PLUGIN_DEFINE macros
6526           to a (gchar*) to make C++ code using these macros compile
6527           without warning with g++-4.2 (see #462737).  Even if slightly
6528           ugly, this seems preferable to putting the description strings
6529           into the GLib quark table or making the structure member a
6530           const gchar * and doing casts in core code that allocs and
6531           frees these strings, or requiring a cast in the C++ code.
6532
6533 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6534
6535         * gst/gstinfo.h:
6536           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6537           to print the entire class/function signature into the log
6538           file for C++ code.  This only affects C++ code, for C code
6539           everything remains the same.
6540
6541 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6542
6543         * gst/gstbin.c: (remove_from_queue):
6544         Work around a problem with pipelines containing (semi)loops until a
6545         proper, more complicated solution is ready. See #475455.
6546
6547 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6548
6549         * gst/gstplugin.c:
6550         * gst/gstplugin.h:
6551         * gst/gstregistrybinary.c:
6552         * gst/gstregistryxml.c:
6553           Put more strings into the GLib quark table. No need to keep
6554           a hundred-something copies of identical version strings,
6555           license strings, package name strings and package origin
6556           strings around. 
6557
6558 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6559
6560         * docs/manual/advanced-dataaccess.xml:
6561           Don't imply that it's okay to unconditionally change
6562           buffer data or buffer metadata in a pad probe callback,
6563           and a bunch of other comments. Fixes #430031.
6564
6565 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6566
6567         * win32/common/gstenumtypes.c:
6568         * win32/common/gstenumtypes.h:
6569         * win32/common/gstversion.h:
6570           Update generated files.
6571
6572 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6573
6574         * docs/manual/advanced-autoplugging.xml:
6575           Prefix section with broken code with a warning (see #342432).
6576
6577 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6578
6579         * docs/manual/appendix-integration.xml:
6580         * docs/manual/basics-init.xml:
6581           Call g_thread_init() before g_option_context_new() to
6582           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6583
6584 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6585
6586         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6587         (gst_base_sink_queue_object_unlocked),
6588         (gst_base_sink_queue_object), (gst_base_sink_event),
6589         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6590         When we received EOS and are waiting for when to post the EOS message,
6591         our state is prerolled and we should not return ASYNC.
6592         Reorganize some code paths to implement this behavior.
6593
6594         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6595         (gst_sinks_suite):
6596         Add unit test to verify above EOS fix.
6597
6598 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6599
6600         * plugins/elements/gsttypefindelement.c:
6601         (gst_type_find_element_have_type), (gst_type_find_element_init),
6602         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6603         Move detecting the input caps of the sinkpad to the setcaps function.
6604         This allows us to update the output caps when we receive new input caps
6605         instead of always using the first detected caps.
6606
6607 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6608
6609         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6610         (gst_base_sink_get_position):
6611         Don't try to preroll non-async elements after a flush.
6612         Subtract latency form clock times when reporting position.
6613
6614 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6615
6616         * gst/gstpad.c: (gst_pad_pause_task):
6617         * gst/gstutils.c:
6618         Small comment and documentation update.
6619
6620 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6621
6622         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6623         (gst_base_src_set_live), (gst_base_src_is_live),
6624         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6625         (gst_base_src_default_event), (gst_base_src_wait),
6626         (gst_base_src_do_sync), (gst_base_src_get_range),
6627         (gst_base_src_pad_get_range), (gst_base_src_loop),
6628         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6629         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6630         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6631         (gst_base_src_change_state):
6632         Rework the locking of basesrc in a similar fashion to basesink. We
6633         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6634         us to handle live sources and semi live ones much better.
6635         Simplify flushing.
6636         Fix unlocking when seeking, shutting down and pausing in live sources.
6637
6638 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6639
6640         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6641         Fix compilation again.
6642
6643 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6644
6645         * gst/gstelement.c:
6646           Use meaningful categories for the logs to clean the default one.
6647
6648 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6649
6650         * tests/check/pipelines/cleanup.c:
6651           Print message name and not just number.
6652
6653 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6654
6655         * docs/design/draft-tagreading.txt:
6656           Add some more thoughts.
6657
6658 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6659
6660         * tests/check/pipelines/simple-launch-lines.c:
6661           Print message name and not just number.
6662
6663 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6664
6665         * libs/gst/base/gsttypefindhelper.c:
6666           Speedup typefinding. This is work in progress (see #459862).
6667
6668 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6669
6670         * gst/gstplugin.c:
6671           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6672           Spotted by Josep Torra Valles <josep@fluendo.com>.
6673
6674 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6675
6676         * gst/gstclock.h:
6677           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6678           field has moved to GstObject.
6679
6680 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6681
6682         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6683         (gst_base_src_get_range), (gst_base_src_change_state):
6684         Call unlock for live sources so that they can't get stuck in _create and
6685         produce a buffer before they are set back to PLAYING.
6686
6687 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6688
6689         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6690         (gst_queue_locked_dequeue):
6691         Comment the segment-related code... in the PROPER function.
6692         See #482147 and my commit from yesterday.
6693
6694 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6695
6696         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6697         Also initialize the counter that calculates the first timestamp on a
6698         buffer correctly for non-live sources.
6699
6700 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6701
6702         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6703         Disable code that's breaking the current-time-level reporting.
6704         See #482147
6705
6706 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6707
6708         * docs/gst/gstreamer-sections.txt:
6709         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6710         as they shouldn't show up. Fixes the docs build.
6711
6712 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6713         
6714         * gst/gstinfo.h:
6715         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6716         Define M_PI which is used in files which are including gstinfo.h. 
6717         VS6 includes doesn't define it.
6718         * win32/common/libgstbase.def:
6719         * win32/common/libgstcontroller.def:
6720         * win32/common/libgstreamer.def:
6721         Add new exported functions and variables.
6722         * win32/vs6/libgstcontroller.dsp:
6723         * win32/vs6/libgstreamer.dsp:
6724         Update the list of files to build.
6725         
6726 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6727
6728         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6729
6730         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6731         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6732         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6733         Improve debugging. Fixes #480858.
6734
6735 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6736
6737         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6738
6739         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6740         First patch of code cleanups, use the macros and right arguments in the
6741         macros to signal and lock the queue. See #480858.
6742
6743 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6744
6745         * gst/gstbus.c: (poll_func):
6746         Improve debugging when dealing with _poll().
6747
6748 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6749
6750         * gst/gstregistryxml.c:
6751           Fix memory leak I introduced a few days ago.
6752
6753 2007-09-26  Michael Smith <msmith@fluendo.com>
6754
6755         * gst/gstbuffer.c: (gst_buffer_finalize):
6756           Make it once again possible to free GstBuffers in the default
6757           build.
6758           The poisoning scribbles on parts of the miniobject we need in
6759           order to free it.
6760           Fixes #480341
6761
6762 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6763
6764         * docs/gst/gstreamer-sections.txt:
6765         * gst/gsttaglist.c:
6766         * gst/gsttaglist.h:
6767         API: add GST_TAG_COMPOSER, fixes #459809.
6768
6769 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6770
6771         * gst/gstplugin.c:
6772         * gst/gstplugin.h:
6773         Add the 3-clause BSD license and the MIT/X11 license to the license
6774         list. Fixes #479784.
6775
6776 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6777
6778         * docs/faq/getting.xml:
6779           Add Q+A about different GStreamer versions (#364056).
6780
6781 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6782
6783         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6784         (gst_base_sink_event), (gst_base_sink_change_state):
6785         Return correct gboolean from query function.
6786
6787 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6788
6789         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6790         (gst_base_sink_event), (gst_base_sink_query),
6791         (gst_base_sink_change_state):
6792         Simplify latency query.
6793         When not synchronizing, we can report latency without querying the peer
6794         element.
6795
6796 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6797
6798         * gst/gstobject.h:
6799         * gst/gstvalue.c:
6800         Fix small typos in the docs.
6801
6802 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6803
6804         * docs/design/draft-latency.txt:
6805         * docs/design/draft-push-pull.txt:
6806         * docs/design/draft-tagreading.txt:
6807         * docs/design/part-MT-refcounting.txt:
6808         * docs/design/part-activation.txt:
6809         * docs/design/part-block.txt:
6810         * docs/design/part-element-source.txt:
6811         * docs/design/part-events.txt:
6812         * docs/design/part-gstbin.txt:
6813         * docs/design/part-gstelement.txt:
6814         * docs/design/part-gstobject.txt:
6815         * docs/design/part-gstpipeline.txt:
6816         * docs/design/part-messages.txt:
6817         * docs/design/part-preroll.txt:
6818         * docs/design/part-push-pull.txt:
6819         * docs/design/part-qos.txt:
6820         * docs/design/part-query.txt:
6821         * docs/design/part-scheduling.txt:
6822         * docs/design/part-seeking.txt:
6823         * docs/design/part-segments.txt:
6824         * docs/design/part-states.txt:
6825         Documentation updates and typo fixes.
6826
6827 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6828
6829         * plugins/elements/gstfakesink.c:
6830           Add some debug text to error message to indicate that
6831           we errored out on request.
6832
6833         * tools/gst-launch.c:
6834           When the state change to PLAYING fails, check for an
6835           error message on the bus and print it.
6836
6837 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6838
6839         translated by: Jorge González González <aloriel@gmail.com>
6840
6841         * po/LINGUAS:
6842         * po/es.po:
6843           Added Spanish translation.
6844
6845 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6846
6847         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6848         Fix printf arguments.
6849
6850 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6851
6852         * tests/check/generic/states.c:
6853           Improved state change unit test.
6854
6855 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6856
6857         * gst/gstbin.h:
6858           Move priv to the right place.
6859
6860         * gst/gstsystemclock.c:
6861           Add FIXME: and improve log.
6862
6863         * tests/check/Makefile.am:
6864         * tests/examples/manual/Makefile.am:
6865           Work with all types of registries.
6866
6867 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6868
6869         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6870         Don't unref the event after pushing it. Fixes #478401.
6871
6872 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6873
6874         * .cvsignore:
6875         * tests/examples/manual/.cvsignore:
6876           Ignore registries in any format.
6877
6878 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6879
6880         * gst/glib-compat-private.h:
6881           Add compatibility macro for g_intern_string() for
6882           GLib-2.8 (any reason we can't just bump the
6883           requirement to at least 2.10?)
6884
6885         * gst/gstpadtemplate.h:
6886         * gst/gstelementfactory.c:
6887         * gst/gstregistryxml.c:
6888         * gst/gstregistrybinary.c:
6889           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6890           up the internal code accordingly.  This shouldn't be a problem, since
6891           there is no reason external code could ever assume the string in such
6892           a structure is dynamically allocated unless it did that itself;  the
6893           use of g_strdup() is private to element factories.  The new code also
6894           saves some memory by putting pad template name strings into the GLib
6895           quark table instead of allocating them dynamically.
6896           Declaring this field constant fixes warnings with g++-4.2 when using
6897           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6898
6899 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6900
6901         * gst/gstelementfactory.c:
6902           Release static caps. Fixes #475723.
6903
6904 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6905
6906         * gst/gstinfo.c:
6907         * gst/gstinfo.h:
6908           Make some internal API take const gchar * instead of just
6909           gchar * to avoid compiler warnings with g++-4.2.2 when
6910           passing string constants (partially fixes #478092).
6911
6912 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6913
6914         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6915         A latency query fails when one of the sinks fail.
6916
6917         * gst/gstelement.c: (gst_element_set_base_time):
6918         Improve debugging.
6919
6920 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6921
6922         * gst/gstbin.c: (gst_bin_continue_func):
6923         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6924         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6925         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6926
6927         Fix minor compilation warnings shown with Forte.
6928
6929 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6930
6931         * plugins/elements/gstqueue.c: (apply_buffer),
6932         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6933         Measure queue level based on the diff between head and tail timestamps
6934         even when pushing the first buffer.
6935
6936 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6937
6938         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6939         (gst_base_sink_event), (gst_base_sink_change_state):
6940         Sinks that don't preroll can always be queried for the latency.
6941         Don't post ASYNC start when we are not async.
6942
6943 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6944
6945         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6946         (gst_queue_handle_sink_event), (gst_queue_chain),
6947         (gst_queue_push_one), (gst_queue_handle_src_query),
6948         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6949         * plugins/elements/gstqueue.h:
6950         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6951         push more buffers but allow pushing of EOS and NEWSEGMENT.
6952         Add some more debug info here and there. Fixes #476514.
6953
6954 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6955
6956         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6957         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6958         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6959         (gst_base_sink_set_flushing), (gst_base_sink_query),
6960         (gst_base_sink_change_state):
6961         Latency query is allowed after we are prerolled. Introduce a new flag
6962         for this and stop abusing other variables.
6963
6964 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6965
6966         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6967         Push OOB events downstream when we get them in send_event. This allows
6968         the application to insert events in the pipeline.
6969         Add some more comments.
6970
6971 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6972
6973         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6974         (do_bin_latency), (gst_bin_change_state_func):
6975         * gst/gstpipeline.c: (gst_pipeline_change_state):
6976         Move latency query from GstPipeline to GstBin so that we can also
6977         use it when async-handling is enabled on bins.
6978
6979 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6980
6981         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6982         (gst_base_src_do_sync), (gst_base_src_change_state):
6983         Update docs.
6984         Clean up the timestamping and syncing code for pseudo live sources.
6985
6986 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6987
6988         Patch by: Steve Fink  <sphink gmail com>
6989
6990         * docs/manual/appendix-checklist.xml:
6991           Mention less -R switch in the section about debug output (#474055).
6992
6993 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6994
6995         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6996         Queue can latency to the pipeline up to the configured max size in time.
6997         Report this fact in the latency query.
6998
6999 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7000
7001         Patch by: Sebastien Moutte <sebastien at moutte dot net>
7002
7003         * libs/gst/controller/gstinterpolation.c:
7004         * libs/gst/controller/gstlfocontrolsource.c:
7005         Use gst_guint64_to_gdouble() when converting from a uint64 or
7006         GstClockTime to double to fix the build on win32. Fixes #474371.
7007
7008 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7009
7010         * gst/gstbuffer.c: (gst_buffer_finalize):
7011         Implement poisoning for GstBuffer if --enable-poisoning is specified.
7012         When finalizing a buffer the complete struct is filled with 0xff,
7013         thus making a use of the buffer after the final unref impossible.
7014
7015 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7016
7017         * tests/check/libs/controller.c: (GST_START_TEST):
7018         Use fail_unless_equals_int(a, b) instead of
7019         fail_unless_equals (a == b) to get better output on failures.
7020
7021 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7022
7023         * tests/check/gst/gsturi.c:
7024           Also check for the other file URI variant on win32.
7025
7026 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7027
7028         * gst/gsturi.c: (gst_uri_get_location):
7029           If there's no hostname, we want to return 'c:/foo/bar.txt'
7030           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
7031
7032         * tests/check/gst/gsturi.c:
7033           Unit test for the above and a few more things.
7034
7035 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7036
7037         * docs/design/part-live-source.txt:
7038         Add docs on how live sources should timestamp.
7039
7040         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7041         Add some more debug info.
7042         For subclasses that are live and like to sync, add aditional startup
7043         latency to sync time and timestamps so that we timstamp according to the
7044         design doc.
7045
7046 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7047
7048         * gst/gstbuffer.c:
7049           Also do a g_type_class_ref() for the subbuffer type in
7050           the init function.
7051
7052 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7053
7054         * docs/gst/gstreamer-sections.txt:
7055         * gst/gstpad.c: (gst_pad_peer_query):
7056         * gst/gstpad.h:
7057         Add function to perform a query on the peer of a pad.
7058         API: gst_pad_peer_query()
7059
7060 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
7061
7062         * tests/check/gst/gstsystemclock.c:
7063           Cleanup the test a little (use gst-logging and not g_message). Improve
7064           test to check if a wait reached the target.
7065
7066 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7067
7068         * docs/libs/gstreamer-libs-sections.txt:
7069           Add new API to docs and fix the build.
7070
7071 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
7072
7073         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7074         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7075         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7076         (gst_base_src_get_property), (gst_base_src_do_sync):
7077         * libs/gst/base/gstbasesrc.h:
7078         Add property to make the basesrc timestamp buffers based on the current
7079         running time.
7080         API: GstBaseSrc::do-timestamp
7081         API: gst_base_src_set_do_timestamp()
7082         API: gst_base_src_get_do_timestamp()
7083
7084 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7085
7086         * docs/random/release:
7087           Really make sure translations are up-to-date before
7088           a release (#465010).
7089
7090 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7091
7092         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7093         Always destroy the timer, also in error cases.
7094
7095 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7096
7097         * docs/manual/highlevel-xml.xml:
7098         Fix XML example code. Fixes #472714.
7099
7100 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7101
7102         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7103         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7104         (gst_base_sink_query):
7105         Protect eos and have_preroll with the OBJECT lock so we don't need to
7106         take the PREROLL lock when querying the latency. Fixes #473846.
7107
7108 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7109
7110         * gst/gstelement.c:
7111           Give some log-messages a category.
7112
7113 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7114
7115         * gst/gststructure.c:
7116         (gst_structure_fixate_field_nearest_fraction):
7117         Fix fraction list fixation code. Take the fraction with the smallest
7118         difference with the target instead of the first one in the list.
7119
7120         * tests/check/gst/gststructure.c: (GST_START_TEST),
7121         (gst_structure_suite):
7122         Added test to verify correct fraction list fixation behaviour.
7123
7124 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7125
7126         * win32/common/libgstreamer.def:
7127           Export gst_bus_add_signal_watch too.
7128
7129 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7130
7131         * docs/libs/gstreamer-libs-sections.txt:
7132         Add new methods to docs.
7133
7134         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7135         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7136         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7137         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7138         * libs/gst/base/gstbasesink.h:
7139         Add ts-offset property to fine-tune the synchronisation.
7140         API: GstBaseSink::ts-offset property
7141         API: gst_base_sink_set_ts_offset()
7142         API: gst_base_sink_get_ts_offset()
7143
7144 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7145
7146         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7147         (gst_base_sink_init), (gst_base_sink_set_sync),
7148         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7149         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7150         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7151         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7152         (gst_base_sink_get_property), (gst_base_sink_change_state):
7153         * libs/gst/base/gstbasesink.h:
7154         Add async property to instruct the sink never to inform the parent about
7155         ASYNC state changes, update docs.
7156         Check argument with g_return_* for the public functions.
7157         API: GstBaseSink::async property
7158         API: gst_base_sink_set_async_enabled()
7159         API: gst_base_sink_is_async_enabled()
7160
7161 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7162
7163         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7164         Improve debugging.
7165
7166         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7167         (gst_base_src_default_query), (gst_base_src_wait),
7168         (gst_base_src_do_sync), (gst_base_src_change_state):
7169         Rearrange some code so that we can add support for measuring the 
7170         startup latency.
7171
7172 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7173
7174         * docs/random/ensonic/dynlink.txt:
7175           More thoughs on this.
7176
7177         * plugins/elements/gstcapsfilter.c:
7178           Add bugzilla ticket number to FIXME comment.
7179
7180 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7181
7182         * docs/design/part-TODO.txt:
7183         * docs/design/part-block.txt:
7184         Update some docs.
7185
7186 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7187
7188         * gst/Makefile.am:
7189           Revert patch which uses $(gst_headers) instead of $^ because it
7190           breaks make dist.
7191
7192 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7193
7194         * tests/check/gst/gstbin.c: (GST_START_TEST):
7195           Fix leaks in the new unit test.
7196
7197 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7198
7199         * gst/gst.c:
7200           Don't use GST_INFO before the debug system is actually initialised
7201           (shouldn't do any harm, but won't print anything either, so we can
7202           just as well remove it).
7203
7204         * gst/gstinfo.h:
7205           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7206           compilers that don't support variadic macros (such as MSVC), should
7207           check for debug_level <= __gst_debug_min as well, since that's the
7208           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7209           inline helper functions. Should improve performance a bit, but also
7210           makes sure uses of GST_INFO et.al are ignored if the debugging
7211           system isn't initialised yet (instead of printing an assertion
7212           failure).
7213
7214 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7215
7216         patch by: David Nečas <yeti@physics.muni.cz>
7217
7218         * gst/Makefile.am:
7219           Replace some non portable makefile constructs.
7220
7221 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7222
7223         * common/gtk-doc-plugins.mak:
7224           Grrrrr. Don't remove the types file on make clean.
7225
7226 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7227
7228         * tools/gst-launch.1.in:
7229         Add colorspace to example pipeline. Fixes #458274.
7230
7231 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7232
7233         * docs/random/release:
7234           The release manager should run 'make download-po' before making a
7235           release to make sure translations are up-to-date.
7236
7237         * po/LINGUAS:
7238         * po/be.po:
7239         * po/pl.po:
7240         * po/rw.po:
7241           Add some new translations.
7242
7243 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7244
7245         * tools/gst-launch.c: (event_loop), (main):
7246         Don´t try to do any state management when a live pipeline posts
7247         buffering messages.
7248         Also make the buffering string translatable.
7249
7250 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7251
7252         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7253         (bin_handle_async_start), (gst_bin_handle_message_func):
7254         Improve debugging.
7255         When adding elements, insert messages into the bus of the newly added
7256         element and make sure the element is the source of the message. This
7257         allows the parent bin to intercept the message and do the
7258         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7259         messages to the app (which is not allowed).
7260         Update some docs.
7261
7262         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7263         Fix testsuite so that is does not work around messages that should not
7264         have been posted in the first place.
7265
7266 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7267
7268         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7269         (update_degree), (gst_bin_sort_iterator_next):
7270         Fix annoying bug in the sorted iterator where a sink that is not really
7271         a sink (when it has downstream links) screwed up the iterator.
7272
7273         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7274         Unit test to verify the fix.
7275
7276 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7277
7278         * gst/gstmessage.h:
7279         Add some more docs for the messages.
7280
7281         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7282         (gst_base_sink_query):
7283         Add some more debugging.
7284
7285         * tools/gst-launch.c: (event_loop):
7286         When interrupting, don't try to set pipeline to PAUSED twice.
7287
7288 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7289
7290         
7291         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7292         (bin_handle_async_start), (gst_bin_handle_message_func):
7293         Move ASYNC_START message posting to where it belongs, similar to
7294         async_done. 
7295         Don't post ASYNC_START when we are in error. 
7296         Post ASYNC_START when we added an async element to a bin.
7297
7298 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7299
7300         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7301         generation from vargs. Fixes #466595.
7302
7303 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7304
7305         * gst/gstbin.c: (gst_bin_element_set_state):
7306         Always change the state of a NO_PREROLL element even if it has ASYNC
7307         elements inside (in case of a bin).
7308
7309         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7310         Unit test for this case.
7311
7312 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7313
7314         * libs/gst/check/gstbufferstraw.c:
7315         * libs/gst/check/gstcheck.h:
7316         * libs/gst/controller/gstcontroller.c:
7317         * libs/gst/controller/gstcontrolsource.h:
7318         * libs/gst/controller/gstlfocontrolsource.h:
7319         * plugins/elements/gstcapsfilter.h:
7320         * plugins/elements/gstfdsink.h:
7321         * plugins/elements/gstfdsrc.h:
7322           Add more missing docs.
7323
7324 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7325
7326         * gst/gststructure.c:
7327         Add Since tag to docs.
7328
7329 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7330
7331         * docs/gst/gstreamer-sections.txt:
7332         * gst/gststructure.c: (gst_structure_get_uint):
7333         * gst/gststructure.h:
7334         Add function to get uint from a structure.
7335         API: gst_structure_get_uint()
7336
7337 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7338
7339         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7340         (gst_caps_intersect):
7341         Fix proper check for simple caps.
7342
7343 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7344
7345         * docs/gst/Makefile.am:
7346         * docs/libs/Makefile.am:
7347           Remove cruft and do some cleanups.
7348
7349         * docs/gst/gstreamer-docs.sgml:
7350         * docs/libs/gstreamer-libs-docs.sgml:
7351           Prepare for comming gtkdoc features (rebase against online docs).
7352
7353 2007-08-10  Michael Smith <msmith@fluendo.com>
7354
7355         * docs/gst/gstreamer-sections.txt:
7356           Add gst_registry_add_path to docs.
7357
7358 2007-08-10  Michael Smith <msmith@fluendo.com>
7359
7360         * gst/gstregistry.h:
7361           Add gst_registry_add_path, which was missing from this header.
7362
7363 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7364
7365         * libs/gst/controller/gstlfocontrolsource.c:
7366           Printf format fix.
7367
7368 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7369
7370         * libs/gst/base/gstbasesink.c:
7371           Don't send an async_start message during downwards state change if 
7372           target state is less than READY
7373
7374 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7375
7376         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7377
7378         * po/LINGUAS:
7379         * po/hu.po:
7380           Added Hungarian translation.
7381
7382 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7383
7384         * po/fi.po:
7385         * po/it.po:
7386         * po/nl.po:
7387         * po/sv.po:
7388         * po/uk.po:
7389           Updated translations.
7390
7391 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7392
7393         * libs/gst/controller/Makefile.am:
7394         Dist gstlfocontrolsourceprivate.h
7395
7396 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7397
7398         * docs/libs/gstreamer-libs.types:
7399         Don't register the enum type gst_lfo_waveform_get_type() in the
7400         .types file - only GObject derived types belong.
7401
7402 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7403
7404         Patch by: <arenevier at fdn dot fr>
7405
7406         * gst/gstbuffer.h:
7407         Remove comma from last element in enum to avoid compile errors when
7408         using -pendantic. Fixes #464366.
7409
7410 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7411
7412         * docs/design/part-TODO.txt:
7413         Add some more TODO items
7414
7415         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7416         Improve debugging.
7417
7418         * gst/gstcaps.c: (gst_caps_intersect):
7419         Optimize trivial intersection case between identical caps pointers.
7420
7421         * gst/gstelement.c: (gst_element_continue_state),
7422         (gst_element_set_state_func):
7423         * gst/gstpad.c:
7424         Fix spelling and grammar mistakes.
7425
7426 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7427
7428         * po/POTFILES.in:
7429         * po/POTFILES.skip:
7430           Update POTFILES. Fixes #461599.
7431
7432 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7433
7434         * gst/gst.c:
7435         Fix confusing typo in debug output.
7436
7437 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7438
7439         reviewed by: Stefan Kost <ensonic@users.sf.net>
7440
7441         * libs/gst/controller/Makefile.am:
7442         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7443         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7444         (gst_lfo_control_source_new),
7445         (gst_lfo_control_source_set_waveform),
7446         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7447         (gst_lfo_control_source_finalize),
7448         (gst_lfo_control_source_dispose),
7449         (gst_lfo_control_source_set_property),
7450         (gst_lfo_control_source_get_property),
7451         (gst_lfo_control_source_class_init):
7452         * libs/gst/controller/gstlfocontrolsource.h:
7453         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7454         API: Add GstLFOControlSource, a control source that gives values
7455         for specific timestamps based on several periodic waveforms.
7456         Fixes #459717.
7457
7458         * tests/check/libs/controller.c: (GST_START_TEST),
7459         (gst_controller_suite):
7460         * docs/libs/gstreamer-libs-docs.sgml:
7461         * docs/libs/gstreamer-libs-sections.txt:
7462         * docs/libs/gstreamer-libs.types:
7463         Add documentation and unit tests for GstLFOControlSource.
7464
7465 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7466
7467         * configure.ac:
7468         Back to CVS
7469
7470 === release 0.10.14 ===
7471
7472 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7473
7474         * configure.ac:
7475           releasing 0.10.14, "Breathing Vacuum"
7476
7477 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7478
7479         * gst/gstelement.c: (gst_element_class_set_details_simple):
7480         * gst/gstelement.h:
7481           Make strings passed to gst_element_class_set_details_simple()
7482           constant, as they should be (#462752).
7483
7484 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7485
7486         * gst/gstbin.c: (gst_bin_change_state_func),
7487         (bin_handle_async_done), (gst_bin_handle_message_func):
7488         Don't forget about the fact that some element went ASYNC even after a
7489         resync. This makes us post the ASYNC_DONE message correctly.
7490         Fixes #462558.
7491
7492 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7493
7494         * gst/gstregistry.c: (gst_registry_add_feature):
7495         When replacing an existing feature in the registry, make sure to
7496         continue holding a reference until we've replaced the name string
7497         within our feature hash table. Make sure to use g_hash_table_replace
7498         instead of g_hash_table_insert to ensure the new name string is used
7499         as a key instead of the old one that we're about to free.
7500         Fixes: #462085
7501
7502 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7503
7504         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7505         (gst_plugin_feature_set_name):
7506         Revert patch from #459466 until after the release and we can work
7507         out exactly what the problem is (if any).
7508
7509 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7510
7511         * docs/gst/gstreamer-sections.txt:
7512         * gst/gsttaglist.c:
7513         * gst/gsttaglist.h:
7514           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7515
7516 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7517
7518         * docs/libs/Makefile.am:
7519         Include our build-prefix libs and includes before the generic ones to
7520         avoid linking against the installed libs when we want the build-tree
7521         ones.
7522
7523 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7524
7525         Patch by: Steve Fink  <sphink gmail com>
7526
7527         * docs/pwg/building-testapp.xml:
7528           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7529           if people try to build or install the example from the plugin
7530           template against a GStreamer from package using the configure
7531           defaults.
7532
7533 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7534
7535         Patch by: Steve Fink  <sphink gmail com>
7536
7537         * tools/gst-inspect.1.in:
7538           Document --print-all and --print-plugin-auto-install-info command
7539           line options in man page.
7540
7541 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7542
7543         * docs/gst/gstreamer-sections.txt:
7544         Add docs for new api function.
7545
7546 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7547
7548         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7549         * gst/gstelementfactory.h:
7550         API: gst_element_factory_has_interface()
7551         Added method to check if an element factory implements a named
7552         interface.
7553
7554 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7555
7556         * configure.ac:
7557         * docs/gst/gstreamer.types.in:
7558           Another conditional doc check.
7559
7560         * gst/gstmessage.c:
7561         * gst/gstparamspecs.h:
7562         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7563         * gst/gstvalue.c:
7564         * gst/gstxml.h:
7565           API-doc fixes.
7566
7567 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7568
7569         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7570         (gst_registry_binary_load_feature),
7571         (gst_registry_binary_load_plugin),
7572         (gst_registry_binary_read_cache):
7573           Print error just once and with additional info.
7574
7575 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7576
7577         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7578         (helper_find_suggest), (helper_find_get_length),
7579         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7580         (gst_type_find_helper_for_buffer):
7581           Cleanup the typefindhelper code and add private doc comments.
7582
7583 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7584
7585         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7586         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7587         Fix capsfilter for cases where the caps set on capsfilter will provide
7588         additional information.
7589         Fixes #449197
7590
7591 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7592
7593         * gst/gsttypefindfactory.c:
7594           Fix docs that recommened wrong function to use.
7595
7596 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7597
7598         * tools/gst-inspect.c: (print_plugin_features):
7599           Also give media-type for typefinders in element output.
7600
7601 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7602
7603         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7604         (gst_registry_remove_features_for_plugin_unlocked),
7605         (gst_registry_add_feature), (gst_registry_remove_feature),
7606         (gst_registry_lookup_feature_locked):
7607         * gst/gstregistry.h:
7608           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7609           Fixes #459501.
7610
7611 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7612
7613         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7614         (gst_plugin_feature_set_name):
7615           Avoid double memory usage for pluginfeature names. Fixes #459466.
7616
7617 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7618
7619         * gst/gstpad.h:
7620           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7621           driving the pipeline may need to explicitly check for NOT_LINKED as
7622           well, since IS_FATAL doesn't cover that.
7623
7624 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7625
7626         * docs/pwg/advanced-types.xml:
7627           Fix typo and duplicate entry in video formats list.
7628
7629 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7630
7631         * libs/gst/controller/gstinterpolation.c:
7632         Also round to the nearest int when using cubic interpolation.
7633
7634 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7635
7636         * libs/gst/controller/gstinterpolation.c:
7637         When linearly interpolating integer types, round to the nearest int
7638         by adding 0.5. Don't do it for float/double types.
7639         Fixes the failing controller test on my machine, which is somehow
7640         rounding differently than on the buildbots.
7641
7642 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7643
7644         * tools/gst-plot-timeline.py:
7645           Better log parsing (categories can have -). Adjust text vs. lines, so
7646           that they span the same y-range.        
7647
7648 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7649
7650         * docs/random/ensonic/audiobaseclasses.txt:
7651         * docs/random/ensonic/dynlink.txt:
7652         * docs/random/ensonic/profiling.txt:
7653           Save my thoughts.
7654
7655         * docs/random/moving-plugins:
7656           Add note to use g_assert type macros.
7657
7658 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7659
7660         * configure.ac:
7661         * libs/gst/check/Makefile.am:
7662           Add libm check as we use in for plugins.
7663
7664 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7665
7666         * gst/gstbin.c: (gst_bin_continue_func):
7667         Check that the state_cookie hasn't changed since the continue_func
7668         was scheduled. Avoids problems where the state changes back to
7669         something it shouldn't be because it was changed in the meantime.
7670
7671 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7672
7673         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7674         (gst_registry_binary_save_string),
7675         (gst_registry_binary_save_pad_template),
7676         (gst_registry_binary_save_feature),
7677         (gst_registry_binary_save_plugin),
7678         (gst_registry_binary_load_feature),
7679         (gst_registry_binary_load_plugin),
7680         (gst_registry_binary_read_cache):
7681           Fix memory leak. Be less verbose in the log.
7682
7683 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7684
7685         * tests/check/elements/.cvsignore:
7686         Add file to cvsignore as commanded.
7687
7688 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7689
7690         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7691         (mq_dummypad_event), (run_output_order_test):
7692         Use a GStaticMutex to protect all cases where libcheck
7693         fail_if/fail_unless macros might be called from multiple threads
7694         simultaneously to avoid errors like:
7695           "check_pack.c:107: :-1081725400:Bad message type arg"
7696
7697 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7698
7699         * tests/check/pipelines/stress.c: (GST_START_TEST):
7700         Make sure we set the pipeline back to the NULL state before
7701         dropping our final reference.
7702
7703 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7704
7705         * tests/check/elements/tee.c: (GST_START_TEST):
7706         Make the tee stress-test a little less stressful so it doesn't just
7707         time out on slow-machines, and remove a small race when it's starting 
7708         up by adding a get_state() call.
7709
7710 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7711
7712         * gst/gst.c:
7713           Avoid reading registry twice on startup. Fixes #457322.
7714
7715 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7716
7717         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7718         * pkgconfig/gstreamer-check.pc.in:
7719         Substitute the CFLAGS for libcheck into our .pc file too so that
7720         dependent modules will pick it up properly if libcheck is installed
7721         into some other prefix.
7722
7723 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7724
7725         * configure.ac:
7726         Revert the pkg-config check for libcheck, since it pulls in the
7727         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7728         a proper solution, either from the check project, or something else.
7729
7730 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7731
7732         * configure.ac:
7733           Use pkg-config to locate check.
7734
7735 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7736
7737         * gst/gsttaglist.c:
7738           Fix doc syntax.
7739
7740         * gst/gstutils.c:
7741         * gst/gstutils.h:
7742           Add deprecation guards.
7743
7744         * libs/gst/base/gstcollectpads.h:
7745           Don't document object (this is implicitly private).
7746
7747 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7748
7749         * gst/gststructure.c: (gst_structure_parse_value):
7750           When deserialising foo=bar without a type cast, check if it's a
7751           boolean before falling back to a string type, otherwise things like
7752           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7753           because the filtercaps end up having a signed=(string)true field,
7754           which causes problems later when intersection caps.
7755
7756         * tests/check/gst/gststructure.c: (GST_START_TEST):
7757           Add a unit test for this.
7758
7759 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7760
7761         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7762
7763         * libs/gst/controller/Makefile.am:
7764         * libs/gst/controller/gstcontroller.c:
7765         (gst_controlled_property_add_interpolation_control_source),
7766         (gst_controlled_property_new), (gst_controlled_property_free),
7767         (gst_controller_find_controlled_property),
7768         (gst_controller_new_valist), (gst_controller_new_list),
7769         (gst_controller_new), (gst_controller_remove_properties_valist),
7770         (gst_controller_remove_properties_list),
7771         (gst_controller_remove_properties),
7772         (gst_controller_set_property_disabled),
7773         (gst_controller_set_disabled), (gst_controller_set_control_source),
7774         (gst_controller_get_control_source), (gst_controller_get),
7775         (gst_controller_sync_values), (gst_controller_get_value_array),
7776         (_gst_controller_dispose), (gst_controller_get_type),
7777         (gst_controlled_property_set_interpolation_mode),
7778         (gst_controller_set), (gst_controller_set_from_list),
7779         (gst_controller_unset), (gst_controller_unset_all),
7780         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7781         * libs/gst/controller/gstcontroller.h:
7782         * libs/gst/controller/gstcontrollerprivate.h:
7783         * libs/gst/controller/gstcontrolsource.c:
7784         (gst_control_source_class_init), (gst_control_source_init),
7785         (gst_control_source_get_value),
7786         (gst_control_source_get_value_array), (gst_control_source_bind):
7787         * libs/gst/controller/gstcontrolsource.h:
7788         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7789         (gst_object_get_control_source):
7790         * libs/gst/controller/gstinterpolation.c:
7791         (gst_interpolation_control_source_find_control_point_node),
7792         (gst_interpolation_control_source_get_first_value),
7793         (_interpolate_none_get), (interpolate_none_get),
7794         (interpolate_none_get_boolean_value_array),
7795         (interpolate_none_get_enum_value_array),
7796         (interpolate_none_get_string_value_array),
7797         (_interpolate_trigger_get), (interpolate_trigger_get),
7798         (interpolate_trigger_get_boolean_value_array),
7799         (interpolate_trigger_get_enum_value_array),
7800         (interpolate_trigger_get_string_value_array):
7801         * libs/gst/controller/gstinterpolationcontrolsource.c:
7802         (gst_control_point_free), (gst_interpolation_control_source_reset),
7803         (gst_interpolation_control_source_new),
7804         (gst_interpolation_control_source_set_interpolation_mode),
7805         (gst_interpolation_control_source_bind),
7806         (gst_control_point_compare), (gst_control_point_find),
7807         (gst_interpolation_control_source_set_internal),
7808         (gst_interpolation_control_source_set),
7809         (gst_interpolation_control_source_set_from_list),
7810         (gst_interpolation_control_source_unset),
7811         (gst_interpolation_control_source_unset_all),
7812         (gst_interpolation_control_source_get_all),
7813         (gst_interpolation_control_source_get_count),
7814         (gst_interpolation_control_source_init),
7815         (gst_interpolation_control_source_finalize),
7816         (gst_interpolation_control_source_dispose),
7817         (gst_interpolation_control_source_class_init):
7818         * libs/gst/controller/gstinterpolationcontrolsource.h:
7819         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7820         API: Refactor GstController into the core controller which can take
7821         a GstControlSource for providing actual values for timestamps.
7822         Implement a interpolation control source and use this for backward
7823         compatibility, deprecate a bunch of functions that are now handled
7824         by GstControlSource or GstInterpolationControlSource.
7825         Make it possible to disable the controller completely or only for
7826         specific properties. Fixes #450711.
7827         * docs/libs/gstreamer-libs-docs.sgml:
7828         * docs/libs/gstreamer-libs-sections.txt:
7829         * docs/libs/gstreamer-libs.types:
7830         Add new functions and classes to the docs.
7831         * tests/check/libs/controller.c: (GST_START_TEST),
7832         (gst_controller_suite):
7833         * tests/examples/controller/audio-example.c: (main):
7834         Port unit test and example to the new API and add some new
7835         unit tests.
7836
7837 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7838
7839         Patch by: Mark Nauwelaerts <manauw at skynet be>
7840
7841         * plugins/elements/gstmultiqueue.c:
7842         (gst_multi_queue_get_internal_links), (apply_buffer),
7843         (single_queue_overrun_cb), (gst_single_queue_new):
7844         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7845         the pipeline layout can be tracked correctly. Fixes #453732.
7846
7847 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7848
7849         * docs/gst/Makefile.am:
7850         * docs/libs/Makefile.am:
7851         * docs/plugins/Makefile.am:
7852           Simplify --extra-dir as gtkdoc scans recursively.
7853
7854 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7855
7856         * tools/gst-launch.c: (main):
7857         When we got an error, there is no point in waiting for preroll when
7858         shutting down.
7859
7860 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7861
7862         * plugins/elements/gsttee.c: (gst_tee_base_init),
7863         (gst_tee_request_new_pad), (gst_tee_release_pad),
7864         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7865         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7866         (gst_tee_chain):
7867         Be a lot smarter when deciding what srcpad to use for proxying
7868         the buffer_alloc. Also handle pad added/removed when doing so.
7869         Fixes #357959.
7870         Keep track of what pads we already pushed on in case we have pads
7871         added/removed while pushing. Fixes #374639 
7872
7873         * tests/check/Makefile.am:
7874         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7875         (tee_suite):
7876         Added unit test for pad resync.
7877
7878 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7879
7880         * po/nl.po:
7881         * po/sv.po:
7882           Updated translations.
7883
7884 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7885
7886         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7887
7888         * po/LINGUAS:
7889         * po/fi.po:
7890           Added new Finnish translation.
7891
7892 2007-06-28  Wim Taymans  <wim@fluendo.com>
7893
7894         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7895         (single_queue_overrun_cb):
7896         When figuring out when a queue is filled, use our internal time estimate
7897         based on segments, just like check_full does.
7898
7899 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7900
7901         * gst/gstminiobject.c: (gst_mini_object_get_type):
7902           Remove 3 do-nothing methods.
7903
7904 2007-06-27  Wim Taymans  <wim@fluendo.com>
7905
7906         Patch by: Tim Angus <tim at ngus dot net>
7907
7908         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7909         (gst_capsfilter_set_property):
7910         Take a reference instead of a copy when setting "caps".
7911         Fix documentation to clarify this behaviour. Fixes #449414.
7912
7913 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7914
7915         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7916         * gst/gstplugin.c: (gst_plugin_init):
7917         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7918         * gst/gstquery.c: (gst_query_get_type):
7919         * gst/gstregistry.c: (gst_registry_init):
7920         * gst/gsturi.c: (gst_uri_handler_base_init):
7921           Remove empty instance_init() functions to save relocs and lessen the
7922           noise. Remove some of the function prototypes that are doubled by
7923           G_DEFINE_TYPE.
7924           
7925 2007-06-27  Wim Taymans  <wim@fluendo.com>
7926
7927         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7928
7929         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7930         Add peer and direction in the XML serialisation of ghostpads.
7931         Fixes #449226.
7932
7933 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7934
7935         * configure.ac:
7936           Preserve useful information, thanks Tim.
7937
7938 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7939
7940         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7941         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7942         (gst_single_queue_push_one), (gst_multi_queue_loop),
7943         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7944         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7945         (compute_high_id), (gst_single_queue_new):
7946         * plugins/elements/gstmultiqueue.h:
7947         Take the multiqueue lock when updating the fill level so we don't get
7948         confused. 
7949
7950         After applying a buffer or event on the src pad segment, make sure to
7951         call gst_data_queue_limits_changed() to get the data queue to unblock
7952         and check the filled state again.
7953         
7954         Rework the not-linked pad handling so the logic is that not-linked 
7955         pads can push as fast as they like, but only so they never get 
7956         ahead of any linked pads.
7957
7958         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7959         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7960         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7961
7962         Add a test to check that not-linked pads always stay behind
7963         linked pads.
7964
7965         Fixes: #430682
7966
7967 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7968
7969         * docs/random/release:
7970           Some updates to the release procedure.
7971
7972 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7973
7974         * gst/gstelementfactory.c: (__gst_element_details_clear):
7975           Microoptimization that saves stunning 80 bytes.
7976
7977 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7978
7979         * docs/plugins/gstreamer-plugins.args:
7980         * docs/plugins/inspect/plugin-coreelements.xml:
7981         * docs/plugins/inspect/plugin-coreindexers.xml:
7982           Update docs with caps info.
7983
7984 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7985
7986         * po/it.po:
7987           Updated Italian translation.
7988
7989 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7990
7991         * ChangeLog:
7992         * po/vi.po:
7993           Update Vietnamese translations.
7994
7995 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7996
7997         * libs/gst/base/gstbasesink.c:
7998           Remove unused signal enum.
7999
8000 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8001
8002         * docs/gst/gstreamer-sections.txt:
8003         * gst/gstelement.c:
8004         * gst/gstutils.c: (gst_type_register_static_full):
8005         Beef up and include the docs for gst_type_register_static_full and
8006         gst_element_class_set_details_simple and add the API keyword
8007         in the ChangeLog.
8008
8009 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8010
8011         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
8012         (update_time_level), (gst_single_queue_push_one),
8013         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
8014         (single_queue_overrun_cb), (single_queue_underrun_cb),
8015         (single_queue_check_full):
8016         Fix setting max-* properties after adding queues.
8017         Use IS_FILLED for checking visible items.
8018         Signal overrun if multiple queues overrun.
8019         Add extra debug output.
8020         Patch by: Wim Taymans <wim@fluendo.com>
8021
8022 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
8023
8024         * gst/gstelement.c: (gst_element_class_set_details_simple):
8025         * gst/gstelement.h:
8026         * gst/gstutils.c: (gst_type_register_static_full):
8027         * gst/gstutils.h:
8028         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
8029         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
8030         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
8031         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
8032         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
8033         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
8034         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
8035         * plugins/elements/gstidentity.c: (gst_identity_base_init):
8036         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
8037         * plugins/elements/gstqueue.c: (gst_queue_base_init),
8038         (apply_buffer), (gst_queue_chain):
8039         * plugins/elements/gsttee.c: (gst_tee_base_init):
8040         * plugins/elements/gsttypefindelement.c:
8041         (gst_type_find_element_base_init),
8042         (gst_type_find_element_class_init):
8043           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
8044           API: add gst_type_register_static_full
8045           API: add gst_element_class_set_details_simple
8046
8047 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8048
8049         * docs/pwg/advanced-types.xml:
8050           Fix typo in iana.org URI.
8051
8052 2007-06-19  Andy Wingo  <wingo@pobox.com>
8053
8054         * tests/check/pipelines/simple-launch-lines.c
8055         (test_state_change_returns): Enable pull-mode tests now that
8056         basesink has been fixed.
8057
8058         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8059         Changed from gst_base_sink_is_prerolled, reversing the sense of
8060         the return value. Returns FALSE also if the sink is in pull mode,
8061         in which case it needs no preroll.
8062         (gst_base_sink_query, gst_base_sink_change_state): Update for
8063         needs_preroll change.
8064         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8065         chaining up, in which we return SUCCESS directly if we activated
8066         in pull mode instead of ASYNC. Involves countering an async_start
8067         message sent before chaining up; not sure if this is correct, in
8068         an ideal world we only send async-start when activating in push
8069         mode.
8070
8071         * tests/check/pipelines/simple-launch-lines.c
8072         (test_state_change_returns): New test, partially disabled until
8073         basesink is fixed.
8074
8075 2007-06-19  Wim Taymans  <wim@fluendo.com>
8076
8077         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8078         (gst_multi_queue_sink_event):
8079         Fix event leak.
8080
8081 2007-06-19  Wim Taymans  <wim@fluendo.com>
8082
8083         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8084         (gst_bin_change_state_func), (bin_push_state_continue),
8085         (bin_handle_async_start), (bin_handle_async_done),
8086         (gst_bin_handle_message_func):
8087         Move the common code for posting state-change messages into
8088         one function.
8089         Broadcast the state signal after we posted the messages.
8090         Mark the bin as busy when it's doing a state-change.
8091         Make sure async-start/done messages don't interfere with the bin's
8092         state when it's busy.
8093         After the state change, let the bin check which elements completed the
8094         state change while it was busy so that it can update its state.
8095
8096 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8097
8098         * docs/random/release:
8099         Add a note about updating the doap file to the release checklist
8100
8101 2007-06-18  Wim Taymans  <wim@fluendo.com>
8102
8103         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8104         (gst_single_queue_push_one), (gst_multi_queue_chain),
8105         (gst_multi_queue_sink_event):
8106         Make sure we don't reference the buffer/event after we have given away
8107         ownership in the queue.
8108
8109 2007-06-18  Wim Taymans  <wim@fluendo.com>
8110
8111         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8112         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8113         Update queue state _after_ adding the item in the queue because else we
8114         could end up being full without the element added yet.
8115
8116 2007-06-18  Wim Taymans  <wim@fluendo.com>
8117
8118         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8119         (gst_bin_remove_func), (gst_bin_get_state_func),
8120         (gst_bin_element_set_state), (gst_bin_continue_func),
8121         (bin_push_state_continue), (bin_handle_async_start),
8122         (bin_handle_async_done), (gst_bin_handle_message_func):
8123         * gst/gstbin.h:
8124         Immediatly commit the toplevel bin state when receiving an async-done
8125         message. This enables us to avoid spawning a thread to commit the state
8126         in some common cases and it also avoids some races.
8127         Avoid spawning a state thread when adding/removing async elements to a
8128         toplevel bin. Instead we immediatly update the bin state.
8129         Get rid of iterating all the children when getting the state in the bin
8130         because it is now always up-to-date.
8131         Fix bug where locked elements would always return _SUCCESS even it they
8132         returned NO_PREROLL before being locked.
8133         Fix the order of the state_change, async-start/done messages that was
8134         sometimes incorrect.
8135         Mark the state_dirty field as deprecated, we don't need it anymore as we
8136         are always up-to-date.
8137
8138         * gst/gstelement.c: (gst_element_get_state_func),
8139         (gst_element_continue_state):
8140         Small debug inprovements.
8141         Return the previous element state return when nothing is pending instead
8142         of blindly returning SUCCESS.
8143
8144         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8145         (gst_sinks_suite):
8146         Add a whole bunch of new testcases.
8147
8148 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8149
8150         * po/uk.po:
8151         * po/vi.po:
8152           Update translations.
8153
8154 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8155
8156         * gst/gstpad.c:
8157         Fix typo in the docs.
8158
8159 2007-06-15  Wim Taymans  <wim@fluendo.com>
8160
8161         * docs/libs/gstreamer-libs-sections.txt:
8162         Add docs for new methods.
8163
8164 2007-06-15  Wim Taymans  <wim@fluendo.com>
8165
8166         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8167         (gst_multi_queue_item_new):
8168         Don't use GSlice because we don't depend on >= 2.10 yet.
8169
8170 2007-06-15  Wim Taymans  <wim@fluendo.com>
8171
8172         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8173         (update_time_level), (apply_segment), (apply_buffer),
8174         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8175         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8176         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8177         (single_queue_underrun_cb), (single_queue_check_full):
8178         Remove debug printf.
8179
8180 2007-06-15  Wim Taymans  <wim@fluendo.com>
8181
8182         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8183         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8184         (gst_data_queue_set_flushing), (gst_data_queue_push),
8185         (gst_data_queue_pop), (gst_data_queue_drop_head),
8186         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8187         * libs/gst/base/gstdataqueue.h:
8188         Various cleanups.
8189         Added methods to get the current levels and to inform the queue that the
8190         'full' limits changed.
8191
8192         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8193         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8194         (gst_single_queue_flush), (update_time_level), (apply_segment),
8195         (apply_buffer), (gst_single_queue_push_one),
8196         (gst_multi_queue_item_steal_object),
8197         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8198         (gst_multi_queue_loop), (gst_multi_queue_chain),
8199         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8200         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8201         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8202         (single_queue_underrun_cb), (single_queue_check_full),
8203         (gst_single_queue_new):
8204         Keep track of time in the queue by measuring the difference between
8205         running_time on input and output. This gives more accurate results and
8206         can compensate for segments correctly.
8207         Make a queue by default only 5 buffers deep. We will now increase the
8208         buffer size depending on the filledness of the other queues.
8209         Factor out commong flush code.
8210         Make sure we don't add additional refcounts to buffers when we can avoid
8211         it.
8212         Propagate GstFlowReturn differently.
8213         Use GSlice for intermediate GstMultiQueueItems.
8214         Keep track of EOS.
8215         Resize queues on over and underruns based on filled level of other
8216         queues.
8217         When checking if the queue is filled, prefer to measure in time if we
8218         can and fall back to bytes when no time is known.
8219
8220         * plugins/elements/gstqueue.c:
8221         Fix return value.
8222
8223 2007-06-15  Wim Taymans  <wim@fluendo.com>
8224
8225         * libs/gst/base/gstbasetransform.c:
8226         (gst_base_transform_sink_event):
8227         Work around the brokenness of the event vmethod in basetransform. Prefer
8228         to return TRUE when the subclass returned FALSE (meaning don't forward
8229         the event). 
8230
8231         * libs/gst/base/gstbasetransform.h:
8232         Clarify the docs.
8233
8234 2007-06-15  Wim Taymans  <wim@fluendo.com>
8235
8236         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8237         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8238         (gst_base_src_default_query), (gst_base_src_get_range),
8239         (gst_base_src_start):
8240         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8241         Improve debugging.
8242
8243 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8244
8245         * docs/pwg/advanced-types.xml:
8246           Added more formats to caps table.
8247
8248 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8249
8250         * tools/gst-launch.c: (main):
8251           Remove crufy code. GOption does not need this workaround.
8252
8253 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8254
8255         * libs/gst/controller/gstcontroller.c:
8256         (gst_controlled_property_set_interpolation_mode):
8257           Fix wrong getter for enums in controller.
8258
8259 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8260
8261         * libs/gst/check/gstcheck.c: (gst_check_init):
8262           Intercept criticals and warnings in the Gst-Phonon log domain, so
8263           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8264           well.
8265         
8266 2007-06-14  Edward Hervey  <edward@fluendo.com>
8267
8268         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8269         Since this file doesn't include "gst.h" it will not go through the
8270         macros that disable GST_LOG if debugging was disabled.
8271
8272 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8273
8274         * libs/gst/check/Makefile.am:
8275         * libs/gst/check/gstcheck.h:
8276         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8277         * pkgconfig/gstreamer-check.pc.in:
8278           Ugly 'fix' for the controller unit test on the p5 bot: in
8279           fail_unless_equals_float() check whether the values are 'almost
8280           equal' by allowing a small absolute error, which should be good
8281           enough for our use cases (normal numbers and values close to 0).
8282           Proper fixage left to floating point arithmetic aficionados.
8283
8284 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8285
8286         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8287         (gst_base_sink_render_object), (gst_base_sink_get_position):
8288           Add two breaks thats where missing.
8289
8290 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8291
8292         * docs/libs/gstreamer-libs-sections.txt:
8293         * libs/gst/check/gstcheck.h:
8294           API: add fail_unless_equals_float() and assert_equals_float().
8295           Add documentation for some of the macros.
8296
8297         * tests/check/libs/controller.c: (GST_START_TEST):
8298           Use newly-added asserts.
8299
8300 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8301
8302         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8303           Show the caps change in the log to help spotting the case of not
8304           exactly matching caps.
8305
8306 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8307
8308         * docs/pwg/building-boiler.xml:
8309           Fix typos, spotted by Thijs Vermeir (#447190).
8310
8311 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8312
8313         * docs/plugins/tmpl/.cvsignore:
8314         Ignore file to keep the buildbots happy
8315
8316 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8317
8318         * docs/plugins/Makefile.am:
8319         * docs/plugins/gstreamer-plugins-docs.sgml:
8320         * docs/plugins/gstreamer-plugins-sections.txt:
8321         Pull fdsink into the docs too.
8322
8323 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8324
8325         * libs/gst/controller/gstinterpolation.c:
8326         Actually use the new functions with min/max checks for the trigger and
8327         none interpolation modes for get() and get_value_array() instead of
8328         just the latter.
8329
8330 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8331
8332         * libs/gst/controller/gstcontroller.c:
8333         (gst_controlled_property_free):
8334         Unset the minimum and maximum GValues when freeing the corresponding
8335         GstControllerProperty struct.
8336
8337 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8338
8339         * libs/gst/controller/gstcontroller.c:
8340         (gst_controlled_property_new):
8341         * libs/gst/controller/gstcontrollerprivate.h:
8342         * libs/gst/controller/gstinterpolation.c:
8343         (gst_controlled_property_find_control_point_node),
8344         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8345         (interpolate_none_get_string_value_array),
8346         (interpolate_trigger_get),
8347         (interpolate_trigger_get_enum_value_array),
8348         (interpolate_trigger_get_string_value_array):
8349         Protect against values larger or smaller than the minimum or maximum
8350         allowed value for the property when using values that can be compared.
8351
8352         Optimize trigger interpolator a bit by taking the last requested value
8353         into account instead of always looping through the complete list.
8354
8355         Fix coding style a bit, everywhere else we use "return foo" instead
8356         of "return (foo)".
8357         
8358         * tests/check/libs/controller.c: (GST_START_TEST),
8359         (gst_controller_suite):
8360         Add unit test for the protection against too large or too small
8361         values.
8362
8363 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8364
8365         * docs/random/slomo/controller.txt:
8366         Add some thoughts about the future of the controller.
8367
8368 2007-06-08  Wim Taymans  <wim@fluendo.com>
8369
8370         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8371         Don't overflow in retimestamping code.
8372
8373 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8374
8375         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8376         Use gst_util_guint64_to_gdouble for conversions.
8377         * win32/common/libgstreamer.def:
8378         Add new exported functions.
8379
8380 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8381
8382         * gst/gstutils.c:
8383           Small docs addition.
8384
8385 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8386
8387         * README:
8388           Remove that test line again.
8389
8390 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8391
8392         * README:
8393           Test commit mail sending.
8394
8395 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8396
8397         * configure.ac:
8398           Fix typo and test commit mail sending.
8399
8400 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8401
8402         * tests/examples/controller/audio-example.c:
8403           Improve comment and test commit mail sending.
8404
8405 2007-06-07  Wim Taymans  <wim@fluendo.com>
8406
8407         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8408         (gst_bin_remove_func), (gst_bin_element_set_state),
8409         (bin_handle_async_start), (bin_handle_async_done),
8410         (gst_bin_handle_message_func):
8411         Add helper function to find messages.
8412         Generate the async-done messages together with the state change
8413         messages.
8414         Small cleanups in handling toplevel bins.
8415
8416 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8417
8418         * libs/gst/base/gstdataqueue.c:
8419         * libs/gst/base/gstdataqueue.h:
8420         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8421         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8422         (gst_multi_queue_sink_event):
8423         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8424           Fix multiqueue leaking buffers and events when downstream or the
8425           queue are flushing. Make refcounting assumptions explicit and
8426           document them (shouldn't break existing code that uses it other than
8427           maybe leak miniobjects, but that already happens anyway). Add unit
8428           test for the most common flushing case. Fixes #423700.
8429           
8430 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8431
8432         * libs/gst/controller/gstcontroller.c:
8433         Clarify docs: The get_all, get_value_array(s) functions
8434         don't modify the GObject properties.
8435
8436 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8437
8438         * libs/gst/controller/gstcontroller.c:
8439         (gst_controlled_property_set_interpolation_mode),
8440         (gst_controlled_property_prepend_default),
8441         (gst_controlled_property_new), (gst_controller_set_unlocked),
8442         (gst_controller_set), (gst_controller_set_from_list),
8443         (gst_controller_unset), (gst_controller_unset_all):
8444         * libs/gst/controller/gstcontrollerprivate.h:
8445         * libs/gst/controller/gstinterpolation.c:
8446         Factor out the 'set' logic into gst_controller_set_unlocked for the
8447         gst_controller_set and gst_controller_set_from_list functions.
8448
8449         To make life of the interpolators easier always add a control point
8450         at timestamp zero with the default value.
8451
8452         In the linear interpolator make things more obvious by better variable
8453         naming (slope).
8454
8455         Implement cubic interpolation mode (by using a natural cubic spline)
8456         and map the quadratic interpolation mode to this too (as quadratic
8457         doesn't make much sense, see discussion on the list).
8458
8459         * tests/check/libs/controller.c: (GST_START_TEST),
8460         (gst_controller_suite):
8461         Add unit test for the cubic interpolation mode and check everywhere
8462         if the interpolation mode could be set as expected.
8463
8464 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8465
8466         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8467           Don't use GLib-2.10 functions, we still depend on
8468           GLib-how-old-is-it-again-2.8.
8469
8470 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8471
8472         * docs/gst/gstreamer-sections.txt:
8473         * gst/Makefile.am:
8474         * gst/gst.c:
8475         * gst/gst.h:
8476         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8477         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8478         (_gst_param_fraction_values_cmp),
8479         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8480         * gst/gstparamspecs.h:
8481         * gst/gstvalue.c:
8482         * tests/check/Makefile.am:
8483         * tests/check/gst/.cvsignore:
8484         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8485         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8486         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8487         (GST_START_TEST), (gst_param_spec_suite):
8488           API: add GstParamSpecFraction, so elements can have fraction
8489           properties without lots of painful string parsing (#444648).
8490
8491 2007-06-05  Wim Taymans  <wim@fluendo.com>
8492
8493         * gst/gstobject.c: (gst_object_class_init):
8494         Fix signal signature.
8495
8496         * gst/gstsegment.c:
8497         Add small clarification in the api docs.
8498
8499         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8500         States are protected with object lock.
8501
8502 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8503
8504         * AUTHORS:
8505         I should probably be listed as an author by now.
8506
8507         * docs/random/release:
8508         Update the release doc
8509
8510 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8511
8512         * gst/gstvalue.c:
8513           Make docs for gst_value_compare() mention return enums that
8514           actually exist.
8515
8516 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8517
8518         * configure.ac:
8519           Back to CVS
8520
8521 === release 0.10.13 ===
8522
8523 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8524
8525         * configure.ac:
8526           releasing 0.10.13, "With or without you"
8527
8528 2007-05-25  Wim Taymans  <wim@fluendo.com>
8529
8530         * gst/gstbin.c: (bin_handle_async_done):
8531         Make sure that the child bin stops after completing the async state
8532         change so that the parent can continue the state change to PLAYING.
8533         Fixes #441159.
8534
8535 2007-05-25  Wim Taymans  <wim@fluendo.com>
8536
8537         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8538         (unref_data), (gst_collect_pads_remove_pad),
8539         (gst_collect_pads_check_pads):
8540         Use additional refcounting to avoid crashes when dynamically adding and
8541         removing pads. Fixes #420206.
8542
8543 2007-05-24  Wim Taymans  <wim@fluendo.com>
8544
8545         * tools/gst-launch.c: (event_loop):
8546         When buffering goes from a two digit to a single digit number, make sure
8547         to remove the old second digit by writing a blank over it.
8548
8549 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8550
8551         * libs/gst/base/gstdataqueue.c:
8552           Eliminate tabs and trailing comma in enum list; fix some typos.
8553
8554 2007-05-24  Wim Taymans  <wim@fluendo.com>
8555
8556         * tests/check/gst/gstbin.c: (GST_START_TEST):
8557         Allow refcount of 3 and 4 because some state thread might still be busy
8558         with it.
8559
8560 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8561
8562         * plugins/elements/Makefile.am:
8563         * plugins/elements/gstmultiqueue.h:
8564         * plugins/elements/gstqueue.h:
8565           These are not installed headers, no need for padding.
8566
8567 2007-05-24  Wim Taymans  <wim@fluendo.com>
8568
8569         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8570         (gst_bin_continue_func):
8571         Enable latency for next release.
8572         Restore STATE_LOCK around recalc_state that was left out during the
8573         rewrite and could result in racy behaviour when _get_state and
8574         recalc_state are run concurrently. See #440463.
8575
8576 2007-05-23  Wim Taymans  <wim@fluendo.com>
8577
8578         * tests/check/gst/gstsystemclock.c: (store_callback),
8579         (GST_START_TEST):
8580         Improve test_async_order to also work when both timers are already
8581         expired when we get scheduled to check it.
8582
8583 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8584
8585         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8586         (gst_bin_set_property), (gst_bin_get_property),
8587         (gst_bin_remove_func), (gst_bin_handle_message_func):
8588         * gst/gstbin.h:
8589           'private' is a c++ keyword, let's not use that in header files,
8590           otherwise c++ compilers will throw a tantrum.
8591
8592 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8593
8594         * plugins/elements/gstelements.c:
8595         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8596         (gst_file_sink_get_current_offset):
8597         * plugins/indexers/gstindexers.c: (plugin_init):
8598           Use #ifdef for HAVE_XYZ for consistency.
8599
8600         * tests/check/Makefile.am:
8601         * tests/check/elements/.cvsignore:
8602         * tests/check/elements/filesink.c: (setup_filesink),
8603         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8604           Add some unit tests for filesink.
8605
8606 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8607
8608         Patch by: Mark Nauwelaerts <manauw at skynet be>
8609
8610         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8611         (gst_file_sink_query), (gst_file_sink_do_seek),
8612         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8613         * plugins/elements/gstfilesink.h:
8614           Fix position reporting; rename data_written member to current_pos to
8615           reflect its real meaning (fixes #412648).
8616
8617 2007-05-22  Edward Hervey  <edward@fluendo.com>
8618
8619         * docs/gst/gstreamer-sections.txt:
8620         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8621         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8622         (gst_bin_remove_func), (gst_bin_handle_message_func):
8623         * gst/gstbin.h:
8624         Add a property for bins that handle the state change of their childs.
8625         Fixes #435880
8626
8627 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8628
8629         * libs/gst/controller/gstinterpolation.c:
8630         Use an array of the correct type when using _get_value_array with
8631         linear interpolation.
8632
8633 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8634
8635         * gst/gstelement.c (gst_element_requires_clock,
8636           gst_element_provides_clock, gst_element_request_pad,
8637           gst_element_class_set_details, gst_element_class_set_details_simple,
8638           gst_element_default_send_event, gst_element_abort_state,
8639           gst_element_continue_state, gst_element_set_state,
8640           gst_element_set_state_func, iterator_activate_fold_with_resync):
8641         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8642           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8643           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8644           gst_pad_get_range, gst_pad_pull_range):
8645         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8646           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8647           GstPadActivateModeFunction, GstPadChainFunction,
8648           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8649           GstPadFixateCapsFunction, GstPadTemplate):
8650         * gst/gstpipeline.c (gst_pipeline_change_state,
8651           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8652           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8653           gst_pipeline_get_delay):
8654           Whitespace and docs fixes.
8655
8656 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8657
8658         * libs/gst/controller/gstinterpolation.c:
8659         (interpolate_trigger_get_enum_value_array),
8660         (interpolate_trigger_get_string_value_array):
8661         Add support for retrieving value arrays when using the trigger
8662         interpolation mode. 
8663
8664 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8665
8666         * libs/gst/controller/gstcontroller.c:
8667         (gst_controller_get_value_array):
8668         * libs/gst/controller/gstcontroller.h:
8669         Clarify the docs of gst_controller_get_value_array(): The array where
8670         the values should be written to must be allocated as there seems to be
8671         no way to get the size of a random GType. This doesn't change any
8672         behaviour. Also fix some typos all over the place and remove an unused,
8673         commented function that is not necessary as g_object_set() could be
8674         used instead.
8675         * tests/check/libs/controller.c: (GST_START_TEST),
8676         (gst_controller_suite):
8677         Add unit test for gst_controller_get_value_array().
8678
8679 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8680
8681         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8682
8683         Disable part of the gst_buffer_try_new_and_alloc test, because
8684         it can happily succeed on 64-bit systems where there's more address
8685         space available.
8686
8687 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8688
8689         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8690         Add unit test for the improved caps checking from bug #421543.
8691
8692 2007-05-21  Wim Taymans  <wim@fluendo.com>
8693
8694         * docs/design/part-synchronisation.txt:
8695         Small addition.
8696
8697         * gst/gstbin.c: (gst_bin_query):
8698         * plugins/elements/gstqueue.c: (apply_segment):
8699         Improve debugging.
8700
8701         * gst/gstmessage.h:
8702         Improve docs.
8703
8704 2007-05-21  Wim Taymans  <wim@fluendo.com>
8705
8706         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8707         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8708         (gst_pad_configure_src):
8709         Added simple version of improved caps checking. It was previously
8710         assumed that a setcaps function would check the validity of the caps but
8711         people prefer us to check caps against the template automatically. 
8712         Fixes #421543.
8713
8714 2007-05-21  Wim Taymans  <wim@fluendo.com>
8715
8716         * libs/gst/base/gstbasetransform.h:
8717         Fix macro for locking/unlocking the transform lock.
8718
8719 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8720
8721         * docs/plugins/tmpl/.cvsignore:
8722           Ignore more.
8723
8724 2007-05-18  Edward Hervey  <edward@fluendo.com>
8725
8726         * plugins/elements/gstqueue.c: (gst_queue_loop):
8727         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8728         for the subtle art of warning a potentially blocking thread that it
8729         should check the source pad return value, and relay the information
8730         upstream.
8731
8732 2007-05-18  Edward Hervey  <edward@fluendo.com>
8733
8734         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8735         Release the queue lock !
8736
8737 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8738
8739         * docs/libs/gstreamer-libs-sections.txt:
8740         Add the two new controller functions to the appropiate places.
8741
8742 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8743
8744         reviewed by: Stefan Kost <ensonic@users.sf.net>
8745
8746         * libs/gst/controller/gstcontroller.c:
8747         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8748         (_gst_controller_get_property), (_gst_controller_set_property),
8749         (_gst_controller_init), (_gst_controller_class_init):
8750         * libs/gst/controller/gstcontroller.h:
8751         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8752         (gst_object_get_control_rate), (gst_object_set_control_rate):
8753         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8754         Add API that provides sync suggestion timestamps for elements that
8755         call gst_object_sync_values() from which those elements can subdivide
8756         their processing loop to get the best results for the controlled
8757         properties. For now it just suggests last_sync + control_rate as
8758         new timestamp but this will be improved in the future.
8759
8760         While doing that change the control-rate property to a GstClockTime
8761         from guint and change it's meaning from samples to nanoseconds as
8762         the GstController doesn't know anything about sampling rate. Strictly
8763         speaking this breaks ABI but as the control-rate property didn't do
8764         anything in the past and as such couldn't be used this should be no
8765         problem.        
8766
8767 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8768
8769         reviewed by: Stefan Kost <ensonic@users.sf.net>
8770
8771         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8772         (gst_controller_unset_all):
8773         * libs/gst/controller/gstcontrollerprivate.h:
8774         * libs/gst/controller/gstinterpolation.c:
8775         (gst_controlled_property_find_control_point_node):
8776         Save last synced value from the list to continue searching from there
8777         in future syncs. This speeds everything up a bit.
8778         
8779 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8780
8781         reviewed by: Stefan Kost <ensonic@users.sf.net>
8782
8783         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8784         (gst_control_point_find), (gst_controlled_property_new),
8785         (gst_control_point_free), (gst_controlled_property_free),
8786         (gst_controller_set), (gst_controller_set_from_list),
8787         (gst_controller_unset), (gst_controller_unset_all),
8788         (gst_controller_sync_values):
8789         * libs/gst/controller/gstcontroller.h:
8790         * libs/gst/controller/gstcontrollerprivate.h:
8791         * libs/gst/controller/gstinterpolation.c:
8792         (gst_controlled_property_find_control_point_node),
8793         (interpolate_none_get), (interpolate_trigger_get):
8794         Add a new private GstControlPoint struct which "inherits" from
8795         GstTimedValue to allow different interpolators to store internal
8796         values next to each control point. From the outside everything is
8797         still a GstControlPoint so we don't loose binary compatibility.
8798         Also fixup all the GValue handling to not leak GValues or list nodes.
8799         * tests/check/libs/controller.c: (GST_START_TEST):
8800         Free the list nodes and GValues in the controller_misc test.
8801
8802 2007-05-17  Edward Hervey  <edward@fluendo.com>
8803
8804         * gst/gstsegment.c:
8805         Small doc fix.
8806
8807 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8808
8809         * gst/gstplugin.c: (gst_plugin_load_file):
8810           If we fail to load a plugin because of unresolved symbols or missing
8811           libraries and spew a warning to stderr, we may just as well mention
8812           which plugin it was that failed to load.
8813
8814 2007-05-13  David Schleef  <ds@schleef.org>
8815
8816         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8817           handles the case when ENABLE_GTK_DOC is false, and installs
8818           the prebuilt documentation.  So gtk-doc subdirs are 
8819           unconditionally enabled.  Fixes: #349099.
8820
8821 2007-05-13  David Schleef  <ds@schleef.org>
8822
8823         * gst/gstutils.h: Reword some documentation.
8824
8825 2007-05-12  David Schleef  <ds@schleef.org>
8826
8827         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8828           do anything with the passed "module" parameter, so remove it.
8829           Allows removal of additional vestigal code.
8830
8831 2007-05-12  David Schleef  <ds@schleef.org>
8832
8833         * gst/gstplugin.c:
8834           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8835           Switch to using g_stat() because it's more portable.
8836
8837 2007-05-12  David Schleef  <ds@schleef.org>
8838
8839         * gst/gst.c:
8840           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8841           parsing for embedded systems.
8842         * gst/gstelementfactory.c:
8843           Allow gst_element_register() to be called with plugin==NULL.
8844           Did nobody notice that static elements were broken?
8845
8846 2007-05-12  Wim Taymans  <wim@fluendo.com>
8847
8848         * tools/gst-launch.c: (event_loop):
8849         Give more interesting info when buffering starts and stops.
8850         Fix case where buffering starts but we fail to update the buffering flag
8851         because the target state is not PLAYING.
8852
8853 2007-05-12  Wim Taymans  <wim@fluendo.com>
8854
8855         * plugins/elements/gstqueue.c: (gst_queue_init),
8856         (gst_queue_finalize), (update_time_level), (apply_segment),
8857         (apply_buffer), (gst_queue_locked_flush),
8858         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8859         (gst_queue_handle_sink_event), (gst_queue_chain),
8860         (gst_queue_push_one), (gst_queue_loop):
8861         * plugins/elements/gstqueue.h:
8862         Refactor an cleanup queue a bit.
8863         Do better time level calculations that also work when the srcpad is not
8864         yet running.
8865         Remove some unneeded debug lines.
8866
8867         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8868         Added testcase for time level measurement.
8869         Try to make some stuff more racefree.
8870
8871 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8872
8873         * gst/gsturi.c: (gst_element_make_from_uri):
8874           Don't leak plugin feature.
8875
8876         * tests/check/Makefile.am:
8877         * tests/check/gst/.cvsignore:
8878         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8879           Add brain-dead unit test.
8880
8881 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8882
8883         Patch by: Jeroen Wouters <woutersj at gmail com>
8884
8885         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8886           Treat protocol strings in a case-insensitive way (#437563).
8887
8888 2007-05-11  Michael Smith <msmith@fluendo.com>
8889
8890         * gst/gstplugin.c: (gst_plugin_load_file):
8891         * gst/gstregistry.c: (gst_registry_scan_path_level):
8892           Don't print a g_warning for any failure to load a shared object.
8893           Instead, push this down into gstplugin.c, and warn _only_ if we
8894           failed to open the module (i.e. failure to link).
8895           Avoids warnings on normal, working, non-plugin .so files.
8896
8897 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8898
8899         * gst/gstplugin.c (gst_plugin_load_file):
8900         * gst/gstregistry.c (GST_CAT_DEFAULT,
8901           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8902           Print a g_warning if there was an error when loading a plugins during
8903           registry scan. The shuld help beginners starting with gst-plugin
8904           template.
8905
8906 2007-05-10  Wim Taymans  <wim@fluendo.com>
8907
8908         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8909         (update_time_level), (gst_queue_locked_flush),
8910         (gst_queue_handle_sink_event), (gst_queue_chain),
8911         (gst_queue_push_one), (gst_queue_loop):
8912         * plugins/elements/gstqueue.h:
8913         Be smarter when calculating the current amount of data in the queue by
8914         measuring the difference between start and end timestamps (in running
8915         time) inside the queue. Fixes #432876.
8916         API: GstQueue::pushing to notify elements that we are pushing data again
8917         since the running signal is rather broken for this purpose.
8918
8919 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8920
8921         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8922           gst_queue_base_init, gst_queue_init):
8923           use GST_BOILERPLATE
8924
8925 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8926
8927         * win32/common/libgstreamer.def:
8928         Add new exported functions.
8929         * win32/vs6/grammar.dsp:
8930         Use grammar pre-generated files.
8931
8932 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8933
8934         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8935
8936         * gst/Makefile.am:
8937         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8938         * gst/gstparse.h:
8939         * gst/gstutils.c: (gst_parse_bin_from_description):
8940         * gst/gstutils.h:
8941           Maintain API and ABI when --disable-parse is used. Now that
8942           we have an appropriate error code, we can just return NULL and the
8943           appropriate error when gst_parse_launch() is used despite it having
8944           been disabled (#342564).
8945
8946         * tests/check/Makefile.am:
8947         * tests/check/pipelines/.cvsignore:
8948         * tests/check/pipelines/parse-disabled.c:
8949           Make sure these functions exist and return NULL plus a GError when
8950           --disable-parse is used.
8951
8952 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8953
8954         * tests/benchmarks/complexity.c: (main):
8955         * tests/benchmarks/mass-elements.c: (main):
8956           Set a good example and don't leak messages.
8957
8958 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8959
8960         * docs/gst/Makefile.am:
8961         * docs/libs/Makefile.am:
8962           Correct fixxrefs options.
8963
8964         * docs/plugins/Makefile.am:
8965         * docs/plugins/gstreamer-plugins-docs.sgml:
8966         * docs/plugins/gstreamer-plugins-sections.txt:
8967         * plugins/elements/Makefile.am:
8968         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8969         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8970           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8971           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8972           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8973           _GstCapsFilterClass, trans_class):
8974         * plugins/elements/gstelements.c (name, rank, type, _elements):
8975         * plugins/elements/gstidentity.c
8976           (gst_identity_check_imperfect_timestamp,
8977           gst_identity_check_imperfect_offset):
8978           Document capsfilter and add doc-blurb to identity.
8979
8980 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8981
8982         * libs/gst/controller/gstcontroller.c:
8983         (gst_controlled_property_set_interpolation_mode):
8984         * libs/gst/controller/gstinterpolation.c:
8985           Don't crash if someone tries to set an interpolation mode that
8986           is invalid or that isn't supported yet. Fixes #422295.
8987
8988         * tests/check/libs/controller.c: (GST_START_TEST),
8989         (gst_controller_suite):
8990           Add a test case for the above.
8991
8992 2007-05-03  Edward Hervey  <edward@fluendo.com>
8993
8994         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8995         Properly set the last_stop position on GstSegment. This will only happen
8996         if there is a buffer to push out.
8997
8998 2007-05-03  Wim Taymans  <wim@fluendo.com>
8999
9000         * libs/gst/base/gstbasetransform.c:
9001         (gst_base_transform_buffer_alloc):
9002         always_in_place does not mean that the sink and source caps are the
9003         same! Make sure we don't blindly proxy the buffer_alloc in this case.
9004
9005 2007-05-03  Wim Taymans  <wim@fluendo.com>
9006
9007         * docs/libs/gstreamer-libs-sections.txt:
9008         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
9009         (gst_base_src_default_query), (gst_base_src_get_range):
9010         * libs/gst/base/gstbasesrc.h:
9011         API: gst_base_src_query_latency(). Added method so that subclasses can
9012         easily get the latency values of the base source class.
9013
9014 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
9015
9016         * tools/gst-inspect.c (print_implementation_info):
9017         Remove 0.8 cruft.
9018
9019 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
9020
9021         * tools/Makefile.am:
9022         * tools/gst-launch.1.in:
9023           Don't create a customised man page based on the host architecture,
9024           describe the default registry path generically. That way the man
9025           page is the same for all architectures and packagers have one
9026           multilib issue less to deal with. Fixes #434926.
9027
9028 2007-05-02  Wim Taymans  <wim@fluendo.com>
9029
9030         * gst/gstpad.c:
9031         Fix documentation as spotted by rg on IRC. 
9032
9033 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
9034
9035         * gst/gstutils.c:
9036           Improve docs for gst_element_{link,unlink}.
9037
9038 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
9039
9040         * docs/design/part-events.txt:
9041         * docs/design/part-overview.txt:
9042         * gst/gstevent.c:
9043         * gst/gsturi.c:
9044         * gst/gsturi.h:
9045         * libs/gst/base/gstbasesink.c:
9046           Typo fixes; minor docs addition.
9047
9048 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9049
9050         * docs/gst/gstreamer-sections.txt:
9051         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
9052         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
9053         * gst/gsturi.h:
9054         API: Add gst_uri_protocol_is_supported(), which checks if a sink
9055         or src that supports a given URI protocol exists.
9056
9057 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9058
9059         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9060         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9061         Set the location to NULL if "file://" is set as URI. Otherwise
9062         some random previous URI would still be set if "file://" is
9063         set on an already used filesink/filesrc.
9064
9065 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9066
9067         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9068         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9069         Special case the "file://" URI as as this is used by some
9070         applications to test with gst_element_make_from_uri if there's
9071         an element that supports the URI protocol.
9072         Also move the g_path_is_absolute() check for the location part
9073         of the URI to also check this for "file://localhost/bla" URIs.
9074
9075 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9076
9077         * docs/gst/gstreamer-sections.txt:
9078         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9079         * gst/gstbuffer.h:
9080         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9081         (gst_buffer_suite):
9082           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9083
9084 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9085
9086         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9087         (gst_registry_binary_load_pad_template),
9088         (gst_registry_binary_load_plugin),
9089         (gst_registry_binary_read_cache):
9090         * gst/gstregistrybinary.h:
9091           Implement no-mmap alternative for registry reading. Do code cleanups.
9092           Add more comments about avoiding strdups for all text data. Comments
9093           welcome.
9094
9095 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9096
9097         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9098           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9099           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9100           Comment structs and reformat to fix the build (that stuff should go
9101           into a priv. header).
9102
9103 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9104
9105         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9106         (gst_registry_binary_load_feature):
9107         * gst/gstregistrybinary.h:
9108           Refactor so that we can implement multiple features. Add support for
9109           TypeFindFactory features.
9110
9111 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9112
9113         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9114
9115         * configure.ac:
9116           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9117
9118 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9119
9120         * gst/gstbin.c: (gst_bin_element_set_state),
9121         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9122         (bin_handle_async_done), (gst_bin_handle_message_func):
9123           Fix build with --gst-disable-gst-debug
9124
9125 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9126
9127         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9128           Make sure streaming has finished before calling the ::stop() vfunc,
9129           since that vfunc might clear state which is being used in the
9130           streaming thread. This fixes a race that caused crashes in
9131           audioresample when shutting down a pipeline (#420106).
9132
9133 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9134
9135         * docs/gst/gstreamer-sections.txt:
9136           That was one byte missing.
9137
9138 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9139
9140         * configure.ac:
9141         * docs/gst/gstreamer-sections.txt:
9142         * gst/Makefile.am:
9143         * gst/gstconfig.h.in:
9144         * gst/gstobject.c: (gst_object_class_init),
9145         (gst_signal_object_class_init):
9146         * gst/gstobject.h:
9147           2nd attempt to have a xml-less build as a joined effort of #413123
9148           and #421480.
9149
9150 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9151
9152         * docs/design/draft-tagreading.txt:
9153           Added open issues/thoughts to draft.
9154
9155 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9156
9157         * gst/parse/grammar.tab.pre.c:
9158         * gst/parse/grammar.tab.pre.h:
9159         * gst/parse/lex._gst_parse_yy.pre.c:
9160         Update the prebuild parser sources.
9161
9162 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9163
9164         * gst/parse/Makefile.am:
9165         And now fix the building of the flex sources. Now everything should
9166         work as expected.
9167
9168 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9169
9170         * gst/parse/Makefile.am:
9171         Now hopefully fix the build failures by setting proper rule
9172         dependencies and moving instead of copying.
9173
9174 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9175
9176         * tests/benchmarks/complexity.gnuplot:
9177         * tests/benchmarks/complexity.scm:
9178         * tests/benchmarks/mass-elements.gnuplot:
9179         * tests/benchmarks/mass-elements.scm:
9180           Total licensification.
9181
9182 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9183
9184         * gst/parse/Makefile.am:
9185           Fix the build by correcting the rule that gave wrong files to flex.
9186
9187 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9188
9189         * tests/benchmarks/complexity.c:
9190         * tests/benchmarks/mass-elements.c:
9191           Change licence to LGPL as granted by Benjamin and Andy.
9192
9193 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9194
9195         * gst/parse/Makefile.am:
9196         Add correct grammar.tab.h dependency if compiling without new enough
9197         flex. Fixes #431150.
9198
9199 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9200
9201         * gst/parse/Makefile.am:
9202         Fix typo and use outdated sources if the flex/bison sources are newer
9203         than the pregenerated ones but flex is too old. Print a warning in
9204         that case. This should fix the build on the build bot.
9205
9206 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9207
9208         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9209         * gst/parse/Makefile.am:
9210         * gst/parse/grammar.y:
9211         * gst/parse/parse.l:
9212         Make the parser reentrant and recursively callable. This requires flex
9213         >= 2.5.31, for older versions pregenerated sources are used as we
9214         can't bump the build dependency. Finally fixes #349180.
9215
9216         * gst/gstparse.c: (gst_parse_launch):
9217         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9218         now anyway.
9219
9220         * docs/gst/Makefile.am:
9221         * docs/gst/Makefile.am:
9222         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9223         (__gst_parse_strfree), (__gst_parse_link_new),
9224         (__gst_parse_link_free), (__gst_parse_chain_new),
9225         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9226         (gst_parse_element_set), (gst_parse_free_link),
9227         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9228         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9229         (_gst_parse_launch):
9230         * gst/parse/grammar.tab.pre.h:
9231         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9232         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9233         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9234         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9235         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9236         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9237         (_gst_parse_yypop_buffer_state),
9238         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9239         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9240         (yy_fatal_error), (_gst_parse_yyget_extra),
9241         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9242         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9243         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9244         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9245         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9246         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9247         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9248         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9249         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9250         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9251         (_gst_parse_yyfree):
9252         If the installed flex version is too old use pre-generated parser
9253         sources. These pre-generated parser sources are always updated when
9254         the actual flex/bison sources change but require everybody who wants
9255         to change something in the parser to have flex >= 2.5.31 installed.
9256
9257 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9258
9259         * common/m4/gst-gettext.m4:
9260         * gst/gst-i18n-lib.h:
9261           Make --disable-nls to work
9262
9263 2007-04-17  Wim Taymans  <wim@fluendo.com>
9264
9265         * gst/gstconfig.h.in:
9266         Revert previous change that broke the build.
9267
9268 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9269
9270         * configure.ac:
9271         * gst/Makefile.am:
9272         * gst/gstconfig.h.in:
9273           Drop libxml2 dependency when building with 
9274           --enable-binary-registry --disable-loadsave
9275
9276 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9277
9278         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9279         (gst_registry_binary_read_cache):
9280         * gst/gstregistrybinary.h:
9281           Remove unnecessary <sys/mman.h> include which broke the win32 build
9282           with MingW; move includes from header file to .c file, even if the
9283           header file isn't installed; use g_strerror() where UTF-8 strings
9284           are expected, such as in GST_DEBUG messages.
9285
9286 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9287
9288         * docs/libs/gstreamer-libs-sections.txt:
9289         Remove bogus addition for API I didn't end up keeping.
9290
9291         * libs/gst/base/gstbasesrc.h:
9292         Mention Since: 0.10.13 in the documentation.
9293
9294         Add the API keyword to the previous ChangeLog entry.
9295
9296 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9297
9298         * docs/libs/gstreamer-libs-sections.txt:
9299         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9300         (gst_base_src_default_prepare_seek_segment),
9301         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9302         * libs/gst/base/gstbasesrc.h:
9303         Allow basesrc derived classes to execute seeks in other formats
9304         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9305         to prepare the GstSegment in any format that their perform_seek method
9306         will be able to understand. The default implementation provides the
9307         old behaviour of attempting to convert the seek offsets to the 
9308         configured native format.
9309
9310         API: basesrc::prepare_seek_segment vmethod.
9311
9312 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9313
9314         * gst/gstelement.c: (gst_element_get_state_func):
9315         Don't output the same debug statement twice.
9316
9317         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9318         (gst_adapter_peek), (gst_adapter_take_buffer):
9319         Optimise the case where we have buffers at the head of the queue that
9320         can be joined quickly (because they're contiguous sub-buffers) by
9321         merging them together rather than copying data out into new memory.
9322
9323         * gst/parse/grammar.y:
9324         * tests/check/pipelines/parse-launch.c:
9325         Fix a leak in an error path for parse_launch, and add a check 
9326         for it to the testsuite.
9327
9328 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9329
9330         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9331           Don't deadlock when releasing a pad - gst_pad_set_active may try
9332           and take the multiqueue lock too.
9333
9334 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9335
9336         * gst/gsterror.c: (_gst_core_errors_init):
9337         * gst/gsterror.h:
9338           API: add GST_CORE_ERROR_DISABLED (#392804).
9339
9340 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9341
9342         * docs/faq/gst-uninstalled:
9343           don't get empty paths on the PATH variables
9344         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9345           Don't format for the uncommon terminal width of 84 characters.
9346
9347 2007-04-06  Wim Taymans  <wim@fluendo.com>
9348
9349         * gst/gstpipeline.c: (reset_stream_time),
9350         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9351         Only try to select a different pipeline clock when we went back to
9352         PAUSED and not when we merely got flushed.
9353
9354 2007-04-05  Michael Smith  <msmith@fluendo.com>
9355
9356         * tools/gst-launch.1.in:
9357           fractions are better supported in gstreamer than ractions, so
9358           suggest using those.
9359
9360 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9363
9364         * po/LINGUAS:
9365         * po/da.po:
9366           Added Danish translation.
9367
9368 2007-04-05  Wim Taymans  <wim@fluendo.com>
9369
9370         * libs/gst/base/gstbasesink.c:
9371         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9372         Fix leak caused when refusing newsegment after EOS.
9373
9374         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9375         (gst_fake_sink_init), (gst_fake_sink_set_property),
9376         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9377         (gst_fake_sink_render), (gst_fake_sink_change_state):
9378         * plugins/elements/gstfakesink.h:
9379         Add num-buffers property to make the element generate EOS after a
9380         configurable amount of buffers.
9381         API: fakesink::num-buffers property.
9382
9383         * tests/check/elements/fakesink.c: (GST_START_TEST),
9384         (fakesink_suite):
9385         Fix GstBus leak in test.
9386         Test for fakesink num-buffers.
9387
9388 2007-04-05  Wim Taymans  <wim@fluendo.com>
9389
9390         * libs/gst/base/gstbasesink.c:
9391         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9392         (gst_base_sink_change_state):
9393         Don't accept anything after an EOS, return UNEXPECTED instead.
9394
9395         * tests/check/elements/fakesink.c: (GST_START_TEST),
9396         (fakesink_suite):
9397         Unit test for new EOS behaviour.
9398
9399 2007-04-05  Wim Taymans  <wim@fluendo.com>
9400
9401         * gst/gstelement.c: (gst_element_get_request_pad):
9402         Make padtemplates also work when they don't contain %s or %d.
9403
9404 2007-04-05  Wim Taymans  <wim@fluendo.com>
9405
9406         * docs/gst/gstreamer-sections.txt:
9407         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9408         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9409         * gst/gstclock.h:
9410         Improve _adjust_unlocked() so that it overflows less.
9411         Add gst_clock_unadjust_unlocked to convert from external time to
9412         internal time based on calibration.
9413         Add some more debug.
9414         API: GstClock::gst_clock_unadjust_unlocked()
9415
9416 2007-04-03  Wim Taymans  <wim@fluendo.com>
9417
9418         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9419
9420         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9421         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9422         when releasing sink pad. Fixes #425400.
9423
9424 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9425
9426         * docs/random/ensonic/dynlink.txt:
9427           More work on proposal for new core api.
9428
9429         * docs/libs/gstreamer-libs-sections.txt:
9430         * libs/gst/base/gstbasetransform.h:
9431           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9432           
9433         * libs/gst/controller/gstcontroller.c:
9434         (on_object_controlled_property_changed),
9435         (gst_controller_sync_values),
9436         (gst_controller_set_interpolation_mode):
9437         * libs/gst/controller/gstcontroller.h:
9438           Less verbose logging add docs for unimplemented parts and correctly
9439           return when using unavailable parts.
9440
9441 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9442
9443         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9444         Move all the debug to the CLOCK category, and associate it with
9445         the clock object.
9446
9447 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9448
9449         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9450         Make take_buffer a bit quicker by removing redundant checks
9451         caused by calling gst_adapter_take.
9452
9453 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9454
9455         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9456           Don't leak GCond.
9457
9458         * tests/check/Makefile.am:
9459         * tests/check/elements/.cvsignore:
9460         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9461         (GST_START_TEST), (multiqueue_suite):
9462           Add some dead simple unit tests for the 'multiqueue' element
9463           (some bits don't work yet and are disabled for now).
9464
9465 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9466
9467         * gst/gstelement.c: (gst_element_get_request_pad),
9468         (gst_element_class_get_request_pad_template):
9469           Make gst_element_get_request_pad() create request pads only for
9470           request pad templates and not for, say, sometimes pad templates.
9471
9472 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9473
9474         * docs/design/draft-klass.txt:
9475           Add example that needs more thinking.
9476         
9477         * docs/design/draft-missing-plugins.txt:
9478           More thoughts about wrapper plugins.
9479         
9480         * docs/random/ensonic/embedded.txt:
9481         * docs/random/ensonic/profiling.txt:
9482           More design work.
9483
9484 2007-03-25  Wim Taymans  <wim@fluendo.com>
9485
9486         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9487         (gst_base_src_loop):
9488         Only push the segment events in the PLAYING state for live sources.
9489
9490 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9491
9492         * gst/gstpipeline.c: (gst_pipeline_change_state):
9493         Modify the clock distribution path in PAUSED->PLAYING so that we 
9494         never attempt to choose a new clock unless we're actually leaving
9495         the PAUSED state for the first time. This prevents choosing a
9496         different clock when the state_change gets called for a 2nd time due
9497         to some element doing an async state change.
9498
9499 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9500
9501         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9502         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9503         (gst_pad_chain_unchecked), (gst_pad_push):
9504         Revert last commit. This needs some more thoughts.
9505
9506 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9507
9508         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9509         (gst_pad_chain_unchecked), (gst_pad_push):
9510         Check in set_caps if the caps are compatible with the pad and remove
9511         two functions that are redundant now. Fixes #421543.
9512
9513 2007-03-22  Wim Taymans  <wim@fluendo.com>
9514
9515         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9516         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9517         Unref some more to make valgrind happy.
9518
9519 2007-03-22  Wim Taymans  <wim@fluendo.com>
9520
9521         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9522         (gst_system_clock_id_wait_jitter),
9523         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9524         Fix anoying regression that survived a few releases. When adding an
9525         async entry while blocking on a sync entry, the sync entry will unblock
9526         but still be busy, so it should continue to wait instead of returning
9527         _BUSY to the app.
9528         Add some comments here and there.
9529
9530         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9531         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9532         Add testcase for this.
9533
9534 2007-03-22  Wim Taymans  <wim@fluendo.com>
9535
9536         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9537         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9538         WRONG_STATE and can silently pause the task. All other cases should
9539         error out.
9540
9541 2007-03-22  Wim Taymans  <wim@fluendo.com>
9542
9543         Patch by: Ville Syrjala <syrjala at sci dot fi>
9544
9545         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9546         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9547         Improve debugging.
9548
9549 2007-03-21  Michael Smith  <msmith@fluendo.com>
9550
9551         * docs/pwg/advanced-types.xml:
9552           Fix some errors in the typefinding docs pointed out on irc.
9553
9554 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9555
9556         * libs/gst/base/gstbasesrc.c:
9557         Clarify FIXME comment in the face of having added unlock_stop()
9558
9559 2007-03-21  Wim Taymans  <wim@fluendo.com>
9560
9561         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9562         Prepare for release where we warn against possible app breakage in the
9563         case of live pipelines along with an env var to enable/disable live
9564         preroll mode (GST_COMPAT=[no-]live-preroll).
9565
9566 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9567
9568         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9569         So we should use correct constants for checking for None offset.
9570
9571 2007-03-20  Wim Taymans  <wim@fluendo.com>
9572
9573         * docs/design/part-block.txt:
9574         Mention the fact that the newly switched element should be set to at
9575         least PAUSED.
9576
9577 2007-03-20  Wim Taymans  <wim@fluendo.com>
9578
9579         * gst/gst.c:
9580         Fix compilation with registry disabled as spotted by Saur.
9581
9582 2007-03-20  Wim Taymans  <wim@fluendo.com>
9583
9584         Patch by: Olivier Crete <tester at tester dot ca>
9585
9586         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9587         Look at the pending state too when syncing the element state to the
9588         parent. Fixes #420133.
9589
9590 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9591
9592         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9593         (gst_base_sink_change_state):
9594         * libs/gst/base/gstbasesink.h:
9595         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9596         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9597         (gst_base_src_deactivate):
9598         * libs/gst/base/gstbasesrc.h:
9599         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9600         for sub-classes to correctly clear any state they set trying to
9601         unlock, such as clearing out unlock commands from a command fd.
9602         API: basesrc::unlock_stop
9603         API: basesink::unlock_stop
9604
9605         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9606         (gst_fd_sink_render), (gst_fd_sink_unlock),
9607         (gst_fd_sink_unlock_stop):
9608         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9609         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9610         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9611
9612         Implement unlock_stop in fdsrc and fdsink.
9613         Implement seeking in fdsrc when a seekable fd is passed, as in
9614         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9615
9616 2007-03-19  Wim Taymans  <wim@fluendo.com>
9617
9618         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9619
9620         * gst/gstelement.c: (gst_element_class_init):
9621         Fix pad-added and pad-removed signal signatures so that the pad type is
9622         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9623
9624 2007-03-19  Wim Taymans  <wim@fluendo.com>
9625
9626         * docs/gst/gstreamer-sections.txt:
9627         Add new element field and method.
9628
9629         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9630         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9631         (gst_bin_recalc_state), (gst_bin_get_state_func),
9632         (gst_bin_element_set_state), (gst_bin_change_state_func),
9633         (gst_bin_continue_func), (bin_bus_handler),
9634         (bin_push_state_continue), (bin_handle_async_start),
9635         (bin_handle_async_done), (gst_bin_handle_message_func):
9636         Make async state changes a bit smarter by using new ASYNC_START and
9637         ASYNC_DONE messages. This reduces the number of times we run the state
9638         recalculation thread.
9639         Don't change state of element with a pending ASYNC_START message.
9640         Deprecate STATE_DIRTY messages.
9641         
9642         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9643         (gst_element_get_state_func), (gst_element_continue_state),
9644         (gst_element_lost_state), (gst_element_set_state_func),
9645         (gst_element_change_state):
9646         * gst/gstelement.h:
9647         Keep the state that was last set by the app in a new element field.
9648         Don't allow state changes when handling an element event.
9649         Post ASYNC_START and ASYNC_DONE messages.
9650         Change lost_state so that we go to PAUSED and wait for the parent to set
9651         us to PLAYING again (so latency calculation can be performed)
9652         Export gst_element_change_state() method so that subclasses can use it.
9653         API: gst_element_change_state()
9654         API: GST_STATE_TARGET
9655
9656         * gst/gstpipeline.c: (gst_pipeline_class_init),
9657         (reset_stream_time), (gst_pipeline_change_state),
9658         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9659         Using the new ASYNC_START message we can reset the base_time when
9660         needed. This can then be used to implement base_time redistribution in
9661         flushing seeks so that we can remove the explicit seek handling.
9662         Perform latency query and configuration when going to PLAYING.
9663
9664         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9665         (gst_base_sink_query), (gst_base_sink_change_state):
9666         Post new ASYNC_START/ASYNC_DONE messages.
9667
9668         * tests/check/generic/sinks.c: (GST_START_TEST):
9669         Fix test because the bin will not set the async element to PLAYING right
9670         away.
9671
9672         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9673         Make the message check a little stronger.
9674         Handle ASYNC messages.
9675
9676         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9677         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9678         Expect ASYNC_DONE messages.
9679
9680 2007-03-19  Wim Taymans  <wim@fluendo.com>
9681
9682         * docs/gst/gstreamer-sections.txt:
9683         * gst/gstmessage.c: (gst_message_new_async_start),
9684         (gst_message_new_async_done), (gst_message_parse_info),
9685         (gst_message_parse_async_start):
9686         * gst/gstmessage.h:
9687         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9688         support.
9689
9690 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9691
9692         * tools/gst-inspect.c:
9693         (print_plugin_automatic_install_info_codecs):
9694           Now that we don't check for the 'Codec' keyword any longer in the
9695           klass, we shouldn't spew a warning if the klass isn't a decoder or
9696           encoder (since it might be a Source/Network, for example).
9697
9698 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9699
9700         * tools/gst-inspect.c:
9701         (print_plugin_automatic_install_info_codecs):
9702           Don't require decoder/demuxer/depayloader elements or
9703           encoder/muxer/paylader elements to have 'Codec' as part of their
9704           factory class string when introspecting a plugin's capabilities.
9705           draft-klass.txt mentions that it might be removed in future, and
9706           flump3dec doesn't have it as part of its class string, so chances
9707           are others might also not have it.
9708
9709 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9710
9711         * po/af.po:
9712         * po/az.po:
9713         * po/bg.po:
9714         * po/ca.po:
9715         * po/cs.po:
9716         * po/de.po:
9717         * po/en_GB.po:
9718         * po/fr.po:
9719         * po/it.po:
9720         * po/nb.po:
9721         * po/nl.po:
9722         * po/ru.po:
9723         * po/sq.po:
9724         * po/sr.po:
9725         * po/sv.po:
9726         * po/tr.po:
9727         * po/uk.po:
9728         * po/vi.po:
9729         * po/zh_CN.po:
9730         * po/zh_TW.po:
9731           Update translations from translation project
9732
9733 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9734
9735         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9736         (gst_child_proxy_set_property):
9737           Invert precondition check to be alike the ones in the mimiced gobject
9738           api.
9739
9740 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9741
9742         * docs/design/draft-tagreading.txt:
9743         * docs/random/ensonic/audiobaseclasses.txt:
9744           Do some Architect work.
9745
9746         * gst/gstobject.c: (gst_object_set_name):
9747           Add a WARNING.
9748
9749         * gst/gstpad.c:
9750           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9751
9752 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9753
9754         * gst/gstsystemclock.c: (gst_system_clock_init),
9755         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9756         Defer starting the async system clock thread until the first async
9757         wait is scheduled. Fixes #414986.
9758
9759 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9760
9761         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9762         (gst_single_queue_free):
9763           Fix small leak (free GstSingleQueue structure too, not only contents).
9764
9765 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9766
9767         * gst/gstbin.c:(gst_bin_add):
9768         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9769         * win32/common/libgstbase.def:
9770         * win32/common/libgstreamer.def:
9771         Add new exported functions.
9772
9773 2007-03-09  Wim Taymans  <wim@fluendo.com>
9774
9775         * docs/plugins/gstreamer-plugins-sections.txt:
9776         Fix GstTee docs.
9777
9778 2007-03-09  Wim Taymans  <wim@fluendo.com>
9779
9780         * docs/gst/gstreamer-sections.txt:
9781         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9782         * gst/gstbuffer.h:
9783         Add metadata copy functions. Fixes #393099.
9784         API: gst_buffer_copy_metadata()
9785
9786         * gst/gstutils.c: (gst_buffer_stamp):
9787         * libs/gst/base/gstbasetransform.c:
9788         (gst_base_transform_prepare_output_buffer):
9789         Use new metadata copy functions.
9790
9791 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9792
9793         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9794         (gst_identity_init), (gst_identity_check_perfect),
9795         (gst_identity_check_imperfect_timestamp),
9796         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9797         (gst_identity_set_property), (gst_identity_get_property):
9798         * plugins/elements/gstidentity.h:
9799         Separate out check-imperfect-timestamp and check-imperfect-offset.
9800         Put back check-perfect as it was to keep compatibility.
9801
9802 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9803
9804         * gst/gstelement.c: (gst_element_dispose):
9805         There's no need to warn if VOID_PENDING is not NONE here, as
9806         long as the state is NULL it's ok, and that's checked immediately
9807         above.
9808
9809 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9810
9811         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9812         Fix check for perfect stream to ignore buffers with -1 
9813         offsets/offset ends when checking data contiguity.
9814
9815 2007-03-08  Wim Taymans  <wim@fluendo.com>
9816
9817         * tools/gst-launch.c: (event_loop):
9818         Print INFO messages.
9819
9820 2007-03-08  Wim Taymans  <wim@fluendo.com>
9821
9822         * libs/gst/base/gstbasetransform.c:
9823         (gst_base_transform_sink_eventfunc),
9824         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9825         (gst_base_transform_activate):
9826         * libs/gst/base/gstbasetransform.h:
9827         Add support for dropping buffers with custom GstFlowReturn.
9828         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9829         buffers or dropped buffers.
9830
9831         * docs/libs/gstreamer-libs-sections.txt:
9832         docs for new custom return code.
9833
9834         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9835         Use drop support in base class to implement drop-probability.
9836
9837 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9838
9839         * gst/gst.c: (load_plugin_func):
9840         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9841         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9842         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9843           Remove newlines at end of debug log strings.
9844
9845 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9846
9847         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9848         Only post bus message at max, once per buffer received.
9849
9850 2007-03-07  Wim Taymans  <wim@fluendo.com>
9851
9852         * docs/design/Makefile.am:
9853         * docs/design/part-synchronisation.txt:
9854         Add doc about synchronisation
9855
9856         * docs/design/draft-latency.txt:
9857         * docs/design/part-TODO.txt:
9858         * docs/design/part-clocks.txt:
9859         * docs/design/part-events.txt:
9860         * docs/design/part-gstbus.txt:
9861         * docs/design/part-gstpipeline.txt:
9862         * docs/design/part-live-source.txt:
9863         * docs/design/part-messages.txt:
9864         * docs/design/part-overview.txt:
9865         * docs/design/part-streams.txt:
9866         * docs/design/part-trickmodes.txt:
9867         Documentation updates.
9868
9869 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9870
9871         * gstreamer.doap:
9872         Update the doap file.
9873
9874 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9875
9876         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9877         Rename non-perfect to imperfect for Mike and for the sanctity of the
9878         language.
9879         Also make sure bus message gets emitted for data-incontiguities.
9880
9881 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9882
9883         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9884         (gst_identity_start):
9885         * plugins/elements/gstidentity.h:
9886         Emit bus message if check-perfect is true and we encounter a
9887         non-perfect stream between 2 consecutive buffers.
9888         Fixes #415394.
9889
9890 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9891
9892         * configure.ac:
9893         Back to CVS
9894
9895 === release 0.10.12 ===
9896
9897 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9898
9899         * configure.ac:
9900           releasing 0.10.12, "Inevitable Demise"
9901
9902 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9903
9904         * configure.ac:
9905          Version 0.10.11.2 (0.10.12 pre-release)
9906          Bump libtool versioning.
9907
9908 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9909
9910         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9911           Log flow-names and not numbers.
9912
9913 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9914
9915         * configure.ac:
9916           Convert to new AG_GST style.
9917
9918 2007-02-28  Wim Taymans  <wim@fluendo.com>
9919
9920         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9921         Don't unref query twice.
9922
9923 2007-02-28  Wim Taymans  <wim@fluendo.com>
9924
9925         * gst/gstvalue.c: (gst_value_transform_object_string),
9926         (_gst_value_initialize):
9927         Implement GstObject -> string transform so we print object names
9928         when serializing GValues containing GstObjects.
9929
9930 2007-02-28  Wim Taymans  <wim@fluendo.com>
9931
9932         * docs/gst/gstreamer-sections.txt:
9933         Add new stuff to docs.
9934
9935 2007-02-28  Wim Taymans  <wim@fluendo.com>
9936
9937         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9938         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9939         (gst_base_sink_change_state):
9940         Improve latency query code.
9941         Don't leak latency events.
9942
9943         * tests/check/gst/gstbin.c: (GST_START_TEST):
9944         Improve debugging.
9945
9946 2007-02-28  Wim Taymans  <wim@fluendo.com>
9947
9948         * gst/gstelement.c: (gst_element_message_full),
9949         (gst_element_get_state_func):
9950         * gst/gstelement.h:
9951         Improve docs a little. Added Since: for new macro.
9952
9953         * gst/gstobject.c: (gst_object_sink):
9954         * gst/gstpipeline.c: (gst_pipeline_change_state),
9955         (gst_pipeline_set_new_stream_time):
9956         * gst/gstpipeline.h:
9957         Improve debugging and docs.
9958
9959         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9960         Improve debugging.
9961
9962 2007-02-28  Wim Taymans  <wim@fluendo.com>
9963
9964         * gst/gstelement.c: (gst_element_message_full),
9965         (gst_element_set_locked_state), (gst_element_get_state_func),
9966         (gst_element_change_state):
9967         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9968         Documentation updates.
9969         Small code cleanups.
9970
9971         * gst/gstmessage.c: (gst_message_new_info),
9972         (gst_message_parse_info):
9973         * gst/gstmessage.h:
9974         API: gst_message_new_info()
9975         API: gst_message_parse_info()
9976         Add INFO message create and parse code.
9977
9978 2007-02-28  Wim Taymans  <wim@fluendo.com>
9979
9980         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9981         (bin_query_latency_done):
9982         Also report the live parameter of a latency query.
9983
9984 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9985
9986         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9987           Copy the current generic/states example from -base and adapt so
9988           we can use the exact same code everywhere.
9989           Check a STATES_IGNORE_ELEMENTS env var which can be used
9990           to ignore certain element factories for this test, which is
9991           what is being done in -base
9992         * tests/check/Makefile.am:
9993           Mention this environment variable.
9994
9995 2007-02-27  Wim Taymans  <wim@fluendo.com>
9996
9997         * docs/gst/gstreamer-sections.txt:
9998         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9999         (gst_bus_timed_pop), (gst_bus_pop):
10000         * gst/gstbus.h:
10001         API: gst_bus_timed_pop()
10002         Implement gst_bus_timed_pop() to do a blocking timed wait for a
10003         message to arrive on the bus.
10004
10005         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
10006         (gst_bus_suite):
10007         Two unit tests for new _timed_pop() function.
10008
10009 2007-02-23  Wim Taymans  <wim@fluendo.com>
10010
10011         * gst/gstpipeline.c: (gst_pipeline_change_state),
10012         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
10013         Don't ref a NULL clock in _provide_clock_func().
10014         Don't allow an INVALID delay.
10015         Don't try to calculate base_time with an invalid start_time.
10016         Also distribute and notify a NULL clock when it was selected.
10017
10018         * tools/gst-launch.c: (event_loop):
10019         Don't crash when a NULL clock was selected in the pipeline.
10020
10021 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10022
10023         * docs/design/Makefile.am:
10024         * docs/design/draft-missing-plugins.txt:
10025         * docs/random/draft-missing-plugins.txt:
10026           Some small updates: update plugin system identifier prefix
10027           ('gstreamer.net' to 'gstreamer'), mention our new install
10028           API in libgstbaseutils rather than libgimme-codec, add
10029           reference to the online docs.
10030
10031 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10032
10033         * win32/common/config.h:
10034           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
10035           use moap cl ci to only check in what is mentioned in the ChangeLog.
10036
10037 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10038
10039         * docs/gst/gstreamer-sections.txt:
10040         * gst/gstelement.h:
10041           Fix up documentation to link to the correct GstGError section.
10042           Add GST_ELEMENT_INFO macro since someone else added a Info message.
10043
10044 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10045
10046         * tools/gst-launch.c: (event_loop):
10047           Make sure that we actually show the important message part of a
10048           warning message.
10049           No need to check if the gerror is not NULL to free; first of all
10050           g_free accepts NULL; and second the default error handler would
10051           segfault if gerror was NULL.
10052
10053 2007-02-21  Wim Taymans  <wim@fluendo.com>
10054
10055         * docs/gst/gstreamer-sections.txt:
10056         Removed docs as well.
10057
10058 2007-02-21  Wim Taymans  <wim@fluendo.com>
10059
10060         * gst/gstmessage.c: (gst_message_parse_duration):
10061         * gst/gstmessage.h:
10062         Remove new messages for release.
10063
10064 2007-02-20  Wim Taymans  <wim@fluendo.com>
10065
10066         * docs/design/part-gstghostpad.txt:
10067         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10068         (gst_ghost_pad_new_full):
10069         Make the ghostpad a parent of the internal pad again for better backward
10070         compatibility. Don't write code that relies on this however.
10071
10072         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10073         (gst_pad_link_check_hierarchy):
10074         Require that parents should be GstElements in the hierarchy check.
10075
10076 2007-02-20  Wim Taymans  <wim@fluendo.com>
10077
10078         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10079         (gst_bin_change_state_func), (bin_query_min_max_init),
10080         (bin_query_latency_fold), (bin_query_latency_done),
10081         (gst_bin_query):
10082         Improve debug info.
10083         Implement latency query.
10084
10085 2007-02-20  Wim Taymans  <wim@fluendo.com>
10086
10087         * docs/design/part-gstghostpad.txt:
10088         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10089         (gst_ghost_pad_internal_do_activate_push),
10090         (gst_ghost_pad_internal_do_activate_pull),
10091         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10092         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10093         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10094         Do not set the internal pad as a parent anymore so we can avoid
10095         hierarchy linking errors when the ghostpad has no parent yet. This also
10096         fixes failed activation because of unlinked internal pads, which in
10097         turn fixes the impossible case where you have to activate a pad before
10098         you can add it to a running element.
10099         Also fix the docs.
10100
10101         * gst/gstpad.c: (pre_activate), (post_activate),
10102         (gst_pad_set_active), (gst_pad_activate_pull),
10103         (gst_pad_activate_push), (gst_pad_check_pull_range):
10104         Add some more debug info.
10105         Mark activation mode in pre_activate so that we don't try to activate in
10106         endless loops. Fixes #385084.
10107
10108 2007-02-19  Wim Taymans  <wim@fluendo.com>
10109
10110         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10111         (gst_base_transform_check_get_range):
10112         Implement a checkgetrange function instead of relying on the default
10113         core behaviour that assumes we can operate in pull mode if we have a
10114         getrange function. First step at fixing #385084.
10115
10116 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10117
10118         * gst/gstchildproxy.h:
10119         * libs/gst/base/gstbasesink.h:
10120         * libs/gst/base/gstbasesrc.h:
10121         * libs/gst/base/gstbasetransform.h:
10122         More docs coverage and some ChangeLog surgery (add missing names)
10123
10124 2007-02-15  Wim Taymans  <wim@fluendo.com>
10125
10126         * docs/design/part-TODO.txt:
10127         * docs/design/part-activation.txt:
10128         * docs/design/part-block.txt:
10129         * docs/design/part-buffering.txt:
10130         * docs/design/part-clocks.txt:
10131         * docs/design/part-element-source.txt:
10132         * docs/design/part-events.txt:
10133         * docs/design/part-gstbin.txt:
10134         * docs/design/part-gstbus.txt:
10135         * docs/design/part-gstpipeline.txt:
10136         * docs/design/part-live-source.txt:
10137         * docs/design/part-messages.txt:
10138         * docs/design/part-overview.txt:
10139         * docs/design/part-qos.txt:
10140         * docs/design/part-query.txt:
10141         * docs/design/part-states.txt:
10142         * docs/design/part-trickmodes.txt:
10143         Some doc updates. Start renaming from stream_time to running_time where
10144         it was used wrongly.
10145
10146 2007-02-15  Wim Taymans  <wim@fluendo.com>
10147
10148         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10149         Answer LATENCY query.
10150
10151 2007-02-15  Wim Taymans  <wim@fluendo.com>
10152
10153         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10154         (GST_START_TEST):
10155         Improve debugging.
10156
10157 2007-02-15  Wim Taymans  <wim@fluendo.com>
10158
10159         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10160         (gst_pad_dispatcher):
10161         Improve debugging of default pad dispatcher and query functions.
10162
10163 2007-02-15  Wim Taymans  <wim@fluendo.com>
10164
10165         * docs/gst/gstreamer-sections.txt:
10166         Remove old unused method.
10167
10168 2007-02-13  Wim Taymans  <wim@fluendo.com>
10169
10170         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10171         Fix check
10172
10173 2007-02-13  Wim Taymans  <wim@fluendo.com>
10174
10175         * docs/design/part-seeking.txt:
10176         Some small update.
10177
10178         * gst/gstsegment.c: (gst_segment_set_seek):
10179         Revert old bogus change that should make seeking work again.
10180
10181 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10182
10183         * docs/random/ensonic/dynlink.txt:
10184         * docs/random/ensonic/interfaces.txt:
10185         * docs/random/ensonic/receipies.txt:
10186           Possible dynamic reconnection api, plus some type fixes the other two
10187           docs.
10188
10189 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10190
10191         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10192         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10193         Also check for an absolute path following file:// in the filesrc
10194         element. Remove redundant check and call g_path_is_absolute() on the
10195         unescaped location.
10196
10197 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10198
10199         * docs/design/draft-klass.txt:
10200           Add existing category analysis.
10201           
10202         * gst/gstcaps.c:
10203           Fix doc example, framerate is a fraction.
10204
10205 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10206
10207         * configure.ac:
10208         * docs/gst/Makefile.am:
10209         * docs/gst/gstreamer-sections.txt:
10210         * docs/libs/Makefile.am:
10211           Erm, forgot a bunch of --extra-dir.
10212
10213 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10214
10215         * configure.ac:
10216         * docs/gst/Makefile.am:
10217         * docs/libs/Makefile.am:
10218         * docs/plugins/Makefile.am:
10219           Add crossreferences to glib/gobject docs.
10220
10221 2007-02-12  Wim Taymans  <wim@fluendo.com>
10222
10223         * docs/design/draft-latency.txt:
10224         Small update.
10225
10226         * docs/libs/gstreamer-libs-sections.txt:
10227         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10228         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10229         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10230         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10231         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10232         (gst_base_sink_get_position), (gst_base_sink_query),
10233         (gst_base_sink_change_state):
10234         * libs/gst/base/gstbasesink.h:
10235         API: gst_base_sink_query_latency() to let subclasses query the upstream
10236         latency.
10237         API: gst_base_sink_get_latency() to let subclasses query the configured
10238         latency in the sink.
10239         Implement query and set latency.
10240         Update some docs.
10241         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10242         don't continue preroll when we are flushing. Fixes #405284.
10243
10244         * tests/check/pipelines/stress.c: (change_state_timeout),
10245         (quit_timeout), (GST_START_TEST), (stress_suite):
10246         Test for #405284.
10247
10248 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10249
10250         Patch by: René Stadler <mail at renestadler de>
10251
10252         * docs/gst/gstreamer-sections.txt:
10253         * gst/gsttaglist.c: (_gst_tag_initialize):
10254         * gst/gsttaglist.h:
10255           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10256
10257 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10258
10259         * docs/libs/Makefile.am:
10260           Fix path to core docs.
10261
10262         * gst/gstbin.c: (gst_bin_get_by_interface),
10263         (gst_bin_iterate_all_by_interface):
10264           Refix docs by also renaming 'interface' to 'iface' in implementation.
10265
10266         * docs/gst/gstreamer-sections.txt:
10267         * gst/gstcaps.c:
10268         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10269         * gst/gstchildproxy.h:
10270         * gst/gstelementfactory.c:
10271         * gst/gstpadtemplate.h:
10272         * libs/gst/controller/gstcontroller.c:
10273         (gst_controlled_property_new):
10274           Document more.
10275
10276 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10277
10278         * gst/gstbin.h:(gst_bin_get_by_interface),
10279         (gst_bin_iterate_all_by_interface):
10280         Replace interface parameter name by iface as interface is 
10281         a reserved keyword in Visual Studio for C++ projects so it removes
10282         a build error for application developpers using VS.
10283         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10284         Fix a bug on Windows in uri format check. Now the prefix checked
10285         is file:// and next we check if the path after file:// is absolute.
10286         * win32/common/libgstbase.def:
10287         * win32/common/libgstdataprotocol.def:
10288         * win32/common/libgstgstreamer.def:
10289         Add new exported functions.
10290
10291 2007-02-09  Andy Wingo  <wingo@pobox.com>
10292
10293         * tests/check/pipelines/simple-launch-lines.c
10294         (simple_launch_lines_suite, test_tee): Disable tee test until I
10295         have time to fix it :-(
10296
10297         * tests/check/Makefile.am (noinst_HEADERS): 
10298         * tests/check/libs/libsabi.c: 
10299         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10300         * tests/check/gst/gstabi.c: 
10301         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10302
10303         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10304         tests for push and pull tee behavior.
10305
10306         * plugins/elements/gsttee.h: 
10307         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10308         mark as deprecated as well as unimplemented. It was a crack idea.
10309         Add support for tee operating in pull mode, off by default.
10310
10311         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10312         normal-case logs down to LOG, raise errors to WARNING.
10313         (gst_registry_xml_read_cache): Don't log before calling a function
10314         that logs.
10315
10316         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10317         exit (registry finalize).
10318         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10319         DEBUG log when we emit signals that people don't even have the
10320         chance to connect to.
10321         (gst_registry_scan_path_level): Less logging in the normal case.
10322
10323 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10324
10325         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10326
10327         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10328         Correctly generate EOS for non-seekable files. We don't have a total
10329         length for them and would get an unexpected end of file if we only
10330         special-cased for regular files. (Fixes: #404569)
10331
10332 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10333
10334         * tests/check/elements/filesrc.c: (GST_START_TEST),
10335         (filesrc_suite):
10336         Add unit test for the GstURIHandler interface in filesrc. This also
10337         tests the newly added file://localhost/foo/bar support.
10338
10339 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10340
10341         * gst/gstelementfactory.h:
10342           The klass string is not a hierarchy. Add reference to the design doc
10343           for more information and common types.
10344
10345 2007-02-02  Wim Taymans  <wim@fluendo.com>
10346
10347         * gst/gstquery.c: (gst_query_new_latency):
10348         Remove old structure field.
10349
10350 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10351
10352         * tools/gst-launch.1.in:
10353           Give example for network streaming (#351998)
10354
10355 2007-02-02  Wim Taymans  <wim@fluendo.com>
10356
10357         * docs/gst/gstreamer-sections.txt:
10358         Add docs for new methods.
10359
10360         * gst/gstevent.c: (gst_event_new_latency),
10361         (gst_event_parse_latency):
10362         * gst/gstevent.h:
10363         Add new LATENCY event to configure latency in a pipeline.
10364         API: gst_event_new_latency
10365         API: gst_event_parse_latency
10366
10367         * gst/gstmessage.c: (gst_message_new_buffering),
10368         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10369         (gst_message_new_latency), (gst_message_parse_buffering),
10370         (gst_message_parse_lost_preroll):
10371         * gst/gstmessage.h:
10372         Added messages used in draft-latency.
10373         API: gst_message_new_lost_preroll
10374         API: gst_message_parse_lost_preroll
10375         API: gst_message_new_prerolled
10376         API: gst_message_new_latency
10377
10378         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10379         (gst_query_parse_latency):
10380         * gst/gstquery.h:
10381         Implemented new latency query as in design doc.
10382         API: gst_query_new_latency
10383         API: gst_query_set_latency
10384         API: gst_query_parse_latency
10385
10386 2007-02-02  Wim Taymans  <wim@fluendo.com>
10387
10388         * docs/design/draft-latency.txt:
10389         Slight redesign to allow for dynamic latency adjustments.
10390
10391         * docs/design/part-negotiation.txt:
10392         Fix some typos.
10393
10394 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10395
10396         reviewed by: Wim Taymans <wim@fluendo.com>
10397
10398         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10399         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10400         Allow file://localhost/foo/bar URLs and correctly fail for every other
10401         hostname that one sets. This was gnomevfssrc is linked for those if
10402         installed as it can handle it (#403172)
10403
10404 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10405
10406         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10407
10408         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10409         (unref_data), (gst_collect_pads_add_pad_full):
10410         * libs/gst/base/gstcollectpads.h:
10411         Don't put the previously added destroy notify in the GstCollectData
10412         struct as all it's padding is already used and we don't want to break
10413         ABI. Instead put in the pad's GObject data for now. This should be
10414         cleaned up for 0.11 (#402393).
10415
10416 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10417
10418         reviewed by: Wim Taymans <wim@fluendo.com>
10419
10420         * docs/libs/gstreamer-libs-sections.txt:
10421         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10422         (unref_data), (gst_collect_pads_add_pad),
10423         (gst_collect_pads_add_pad_full):
10424         * libs/gst/base/gstcollectpads.h:
10425         API: Add function to specify a destroy notification for custom
10426         GstCollectData when adding new pads in GstCollectPads (#402393).
10427
10428 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10429
10430         * po/sv.po:
10431           Update Swedish translation (#378255).
10432
10433 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10434
10435         * docs/design/draft-klass.txt:
10436           Fix the previous change, this is a list of categories and not a hierarchy.
10437
10438 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10439
10440         * docs/design/draft-klass.txt:
10441           Add info about how to get a list of used classes.
10442
10443 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10444
10445         * plugins/elements/gsttypefindelement.c:
10446         (gst_type_find_element_chain_do_typefinding),
10447         (gst_type_find_element_change_state):
10448           Don't leak found caps in chain function (no idea why that never
10449           showed up as a leak anywhere).
10450
10451 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10452
10453         * gst/gstplugin.h:
10454           Fix and expand GstPluginDesc API docs.
10455
10456 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10457
10458         * gst/gstcaps.c:
10459         * gst/gstelementfactory.c:
10460         * gst/gstpadtemplate.h:
10461           api doc fixes
10462
10463         * libs/gst/controller/gstcontroller.c:
10464         (gst_controlled_property_new):
10465         * tests/examples/controller/audio-example.c:
10466           comment fixes
10467
10468 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10469
10470         * configure.ac:
10471           comment about refining the xml deps
10472
10473         * docs/manuals.mak:
10474           comments about moving away from jade for docs
10475         
10476         * gst/gst.c:
10477           recommit the ifdefs to use the binary registry
10478         
10479         * gst/gstbin.c: (gst_bin_change_state_func):
10480           this break is obsolete
10481
10482         * gst/gstelementfactory.h:
10483           better GST_ELEMENT_DETAILS docs, add comment about translation
10484
10485         * gst/gstinfo.h:
10486           remove eol slash
10487
10488         * gst/gstobject.c: (gst_signal_object_get_type):
10489           add G_UNLIKELY as usual
10490
10491         * gst/gstpad.c: (gst_pad_event_default):
10492           add fall trhu comment
10493
10494         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10495         (gst_registry_binary_initialize_magic),
10496         (gst_registry_binary_save_string),
10497         (gst_registry_binary_save_pad_template),
10498         (gst_registry_binary_save_feature),
10499         (gst_registry_binary_save_plugin),
10500         (gst_registry_binary_write_cache),
10501         (gst_registry_binary_check_magic),
10502         (gst_registry_binary_load_pad_template),
10503         (gst_registry_binary_load_feature),
10504         (gst_registry_binary_load_plugin),
10505         (gst_registry_binary_read_cache):
10506           comment typo and formatting
10507
10508         * gst/gstutils.c: (gst_element_state_get_name),
10509         (gst_element_state_change_return_get_name):
10510           remove obsolete breaks
10511
10512         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10513           add FIXME 0.11 and remove cpp comment
10514
10515 2007-01-29  Edward Hervey  <edward@fluendo.com>
10516
10517         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10518         Fix print statement in an even more portable way.
10519
10520 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10521
10522         * docs/gst/gstreamer-sections.txt:
10523         * gst/gstutils.h:
10524           API: add GST_ROUND_DOWN_* macros (#401781).
10525
10526 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10527
10528         * docs/gst/gstreamer.types.in:
10529         * gst/gstregistry.c: (gst_registry_class_init):
10530           Document registry signals and make gtk-doc pick them up (#401381).
10531
10532 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10533
10534         * docs/pwg/building-testapp.xml:
10535           Add some audioconverts and audioresample to the pipeline, and some
10536           more comments and error handling.
10537
10538 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10539
10540         * docs/manual/manual.xml:
10541         * docs/pwg/pwg.xml:
10542           Fix typo (#400987).
10543
10544 2007-01-26  Wim Taymans  <wim@fluendo.com>
10545
10546         * gst/gstcaps.c: (gst_static_caps_get):
10547         Init caps flags too.
10548
10549 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10550
10551         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10552
10553         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10554         If not using mmap'ed files try to seek to the end instead of the
10555         start to determine whether we can seek at all. This fixes the case
10556         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10557         seeks for everything afterwards fail. Fixes #400656
10558
10559 2007-01-25  Wim Taymans  <wim@fluendo.com>
10560
10561         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10562         Add some refcount debugging.
10563         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10564         in multiple streaming threads.
10565
10566 2007-01-25  Wim Taymans  <wim@fluendo.com>
10567
10568         Patch by: David Schleef <ds at schleef dot org>
10569
10570         * docs/libs/gstreamer-libs-sections.txt:
10571         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10572         * libs/gst/base/gstadapter.h:
10573         API: gst_adapter_copy() that can reduce the amount of memcpy when
10574         getting data from the adapter. Fixes #388201.
10575
10576 2007-01-25  Edward Hervey  <edward@fluendo.com>
10577
10578         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10579         In print statements, "%x" is for guint. Fixes build on macosx.
10580
10581 2007-01-24  Edward Hervey  <edward@fluendo.com>
10582
10583         * plugins/elements/gstmultiqueue.c:
10584         (gst_multi_queue_loop):
10585         Small fix.
10586         (single_queue_overrun_cb), (single_queue_underrun_cb),
10587         (single_queue_check_full), (gst_single_queue_new):
10588         Implement single queue growth system.
10589         This uses the extra-size properties, and will grow single queues by
10590         that much if one goes full whereas there are others empty. This is
10591         called extra-mode in the code.
10592         When a single queue's levels go back below the initial max-size
10593         limits, it is no longer in extra-mode. This is to ensure we don't
10594         consume too much memory.
10595         Fixes #399875
10596
10597 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10598
10599         * gst/gst.c: (gst_init_get_option_group):
10600           Make warning about late g_thread_init() calls a bit more explicit,
10601           so that it's more obvious to application developers what they need
10602           to do if a user files a bug against their application.
10603
10604 2007-01-22  Edward Hervey  <edward@fluendo.com>
10605
10606         * plugins/elements/gstmultiqueue.c:
10607         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10608         Remove previous hack of unsetting the flushing flag for the source pad
10609         instead of activating it. Instead, fix the source pad activate function
10610         so that it no longer depends on having a parent set or not.
10611
10612 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10613
10614         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10615
10616         * docs/manual/basics-bus.xml:
10617           Fix example code, gst_element_unref() doesn't exist any longer.
10618
10619 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10620
10621         Patch by: Mark Nauwelaerts <manauw at skynet be>
10622
10623         * gst/gstpad.c:
10624           Fix two docs typoes (#399094).
10625
10626 2007-01-19  Edward Hervey  <edward@fluendo.com>
10627
10628         * docs/faq/gst-uninstalled:
10629         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10630         depending on libgstbaseutils can work in uninstalled environment.
10631
10632 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10633
10634         * gst/gsttaglist.h:
10635         * gst/gsttagsetter.c:
10636         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10637         statement for new tag.
10638
10639 2007-01-17  Edward Hervey  <edward@fluendo.com>
10640
10641         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10642         When dynamically creating single queues, activate sinkpad before adding
10643         it.
10644         We should be doing the same thing for the source pad, but we can't
10645         since it would call a method which needs the parent to be set in order
10646         to work propertly. Instead of activating the source pad, we just unset
10647         the flushing flag, which is the minimal requirement for adding a pad
10648         to an element in a state greater than READY.
10649
10650 2007-01-17  Edward Hervey  <edward@fluendo.com>
10651
10652         * docs/faq/gst-uninstalled:
10653         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10654         Mac OS X.
10655
10656 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10657
10658         * tests/check/gst/gstabi.c:
10659         * tests/check/gst/struct_hppa.h:
10660         * tests/check/libs/libsabi.c:
10661         * tests/check/libs/struct_hppa.h:
10662           Add ABI structs for HPPA (see #393796).
10663
10664 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10665
10666         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10667           Actually write ABI structs to the file specified in the GST_ABI
10668           environment variable, as the message we print claims we would.
10669
10670 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10671
10672         * tests/check/gst/gsttask.c:
10673           Fix header comment.
10674
10675 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10676
10677         * gst/gsttaglist.c: (_gst_tag_initialize):
10678           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10679           previous two entries.
10680
10681 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10682
10683         * docs/gst/gstreamer-sections.txt:
10684         * gst/gsttaglist.c: (_gst_tag_initialize):
10685         * gst/gsttaglist.h:
10686           Add tag support for beat-per-minute.
10687
10688 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10689
10690         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10691         (gst_registry_binary_initialize_magic),
10692         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10693         (gst_registry_binary_save_pad_template),
10694         (gst_registry_binary_save_feature),
10695         (gst_registry_binary_save_plugin),
10696         (gst_registry_binary_write_cache),
10697         (gst_registry_binary_check_magic),
10698         (gst_registry_binary_load_pad_template),
10699         (gst_registry_binary_load_feature),
10700         (gst_registry_binary_load_plugin),
10701         (gst_registry_binary_read_cache):
10702         * gst/gstregistrybinary.h:
10703           Use glib types, cleanup comments, impement interfaces and uri-types.
10704
10705 2007-01-13  Andy Wingo  <wingo@pobox.com>
10706
10707         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10708         getrange() to return buffers with other caps, while we fix
10709         demuxers and typefind, or otherwise change part-negotiation.txt.
10710
10711 2007-01-12  Andy Wingo  <wingo@pobox.com>
10712
10713         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10714         Factor start/stop into this private function instead of partially
10715         in activate functions and partially in the change_state function.
10716         Fixes setup before the element has changed from READY->PAUSED, as
10717         is the case in pull-mode pipelines.
10718         (gst_base_transform_sink_activate_push)
10719         (gst_base_transform_src_activate_pull): Refactor to use
10720         gst_base_transform_activate().
10721         (gst_base_transform_change_state): Removed, not needed any more.
10722
10723         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10724         Truncate before fixating.
10725         
10726         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10727         Don't set_caps() if the result of fixating is ANY, as it's not
10728         supported, and not necessary in the case of a link with no
10729         template caps on either side. Fixes tests/check/libs/basesrc in
10730         some pull-mode tests.
10731
10732         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10733         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10734         (gst_base_transform_src_activate_pull): 
10735         Track the activation mode.
10736         (gst_base_transform_setcaps): In pull mode, when activating the
10737         src pad, after activating the sink pad, activate the sink pad's
10738         peer, as discussed in part-negotiation.txt.
10739
10740         * libs/gst/base/gstbasesrc.h: 
10741         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10742         vmethod, as in basesink.
10743
10744         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10745
10746         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10747         mode, first proxy the setcaps to the peer pad.
10748         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10749         new fixate vmethod.
10750         (gst_base_sink_default_activate_pull): Rename from
10751         gst_base_sink_activate_pull.
10752         (gst_base_sink_negotiate_pull): New function, performs negotiation
10753         in pull mode before calling ::activate_pull().
10754         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10755         vmethod instead of the default implementation. I have no idea how
10756         this worked before. Negotiate before calling activate_pull.
10757
10758         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10759         sink pads in pull mode. In addition to being correct, fixes
10760         filesrc ! decodebin ! identity ! fakesink.
10761         (gst_pad_get_range, gst_pad_pull_range): Don't call
10762         gst_pad_set_caps() if the caps changes; instead error out with
10763         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10764
10765 2007-01-12  Andy Wingo  <wingo@pobox.com>
10766
10767         * docs/design/part-negotiation.txt: Update with more policy.
10768
10769 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10770
10771         * libs/gst/check/gstbufferstraw.h:
10772         * libs/gst/check/gstcheck.h:
10773           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10774           belongs.
10775
10776 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10777
10778         * tests/check/Makefile.am:
10779         * tests/check/gst/.cvsignore:
10780         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10781         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10782         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10783         (GST_START_TEST), (gst_tag_setter_suite):
10784           Add minimal unit test for beforementioned GstTagSetter bug.
10785
10786 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10787
10788         Patch by: René Stadler <mail at renestadler dot de>
10789
10790         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10791           gst_tag_list_merge() returns a new list, so it's not the best idea
10792           to ingore its return value. Effectively meant that tags could only
10793           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10794           Also add function guard to require a non-NULL taglist as input (has
10795           always been so due to gst_tag_list_copy(), just making it explicit).
10796
10797 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10798
10799         * docs/random/draft-missing-plugins.txt:
10800           Some additions: mention new API that is supposed to be used at the
10801           various stages; short blob about new gst-inspect introspection
10802           option; mention potential future problem with plugins that have
10803           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10804
10805 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10806
10807         * tools/gst-inspect.c:
10808         (print_plugin_automatic_install_info_codecs),
10809         (print_plugin_automatic_install_info_protocols),
10810         (print_plugin_automatic_install_info), (main):
10811         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10812         introspect plugin files and get machine-parsable output that corresponds
10813         to the last bit of the missing-plugin installer string (small gotcha:
10814         doesn't take into account ranks).
10815
10816 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10817
10818         * configure.ac:
10819         * docs/gst/gstreamer-sections.txt:
10820         * gst/Makefile.am:
10821         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10822         (gst_registry_lookup_locked):
10823         * gst/gstregistry.h:
10824         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10825         (gst_registry_binary_initialize_magic),
10826         (gst_registry_binary_save_string),
10827         (gst_registry_binary_save_pad_template),
10828         (gst_registry_binary_save_feature),
10829         (gst_registry_binary_save_plugin),
10830         (gst_registry_binary_write_cache),
10831         (gst_registry_binary_check_magic),
10832         (gst_registry_binary_load_pad_template),
10833         (gst_registry_binary_load_feature),
10834         (gst_registry_binary_load_plugin),
10835         (gst_registry_binary_read_cache):
10836         * gst/gstregistrybinary.h:
10837         * gst/gstregistryxml.c: (load_feature),
10838         (gst_registry_xml_read_cache):
10839           commit binary registry (disabled by default, see #359653)
10840
10841 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10842
10843         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10844           Fix 'make check' too.
10845
10846 2007-01-10  Andy Wingo  <wingo@pobox.com>
10847
10848         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10849         notes.
10850         
10851         * docs/design/part-negotiation.txt: Update with, um, one way that
10852         pull-mode negotiation might work?
10853
10854         * gst/gstpad.h: 
10855         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10856         that the pad must be a src pad; makes sense to call it the other
10857         way in pull mode, and the logic is symmetric anyway.
10858
10859 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10860
10861         * plugins/elements/gstfilesink.c:
10862           Include <stdio.h> for fseeko().
10863
10864 2007-01-10  Wim Taymans  <wim@fluendo.com>
10865
10866         * gst/gstevent.c:
10867         * gst/gstevent.h:
10868         Reserve LATENCY event.
10869
10870 2007-01-09  Wim Taymans  <wim@fluendo.com>
10871
10872         * docs/design/draft-latency.txt:
10873         Updates.
10874
10875 2007-01-09  Wim Taymans  <wim@fluendo.com>
10876
10877         * docs/design/draft-latency.txt:
10878         Updates.
10879
10880         * gst/gstelement.h:
10881         * gst/gststructure.c:
10882         * gst/gsttrace.c:
10883         Small typo fixes.
10884
10885 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10886
10887         * tests/check/.cvsignore:
10888           Ignore test-registry.xml as well.
10889
10890 2007-01-09  Wim Taymans  <wim@fluendo.com>
10891
10892         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10893         unref data at the end when we are done with the pad.
10894
10895 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10896
10897         * docs/gst/gstreamer-sections.txt:
10898         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10899         (init_post), (gst_deinit), (gst_update_registry):
10900         * gst/gst.h:
10901           API: add gst_update_registry() (#391296).
10902
10903         * tests/check/Makefile.am:
10904         * tests/check/gst/gstregistry.c:
10905         * tests/check/gst/.cvsignore:
10906           Simple unit test for the above.
10907
10908 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10909
10910         * gst/gstregistry.c: (gst_registry_scan_path_level):
10911           Plugin extension on HP-UX is .sl, add that to the list of approved
10912           plugin extensions (see #393796).
10913
10914         * tests/check/gst/gstpad.c: (GST_START_TEST):
10915           ulong => gulong. Fixes compilation with HP-UX compiler.
10916
10917         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10918           Fix compilation if valgrind headers are not available.
10919
10920 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10921
10922         * win32/common/libgstreamer.def: 
10923           Add new exported function.
10924         * win32/vs6/libgstbase.dsp: 
10925           Add gstdataqueue.c to the build.
10926         * win32/vs6/libgstcoreelements.dsp:
10927           Add gstmultiqueue.c to the build.
10928         
10929 2007-01-06  Andy Wingo  <wingo@pobox.com>
10930
10931         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10932         activate_pull(), providing for a way to specialize the process of
10933         spawning a thread to pull on the sink pad. There is a default
10934         implementation.
10935
10936         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10937         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10938         (gst_base_sink_init): Renamed pad activation functions (inserting
10939         "_pad" in their names). Refactor to use the new activate_pull
10940         vmethod, as appropriate.
10941         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10942         default activate_pull function to start a task pulling from the
10943         sink pad, as before.
10944
10945         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10946         on the pads if necessary, as in push()/chain(). Update docs.
10947         Shouldn't affect existing pull() usage as it is currently only
10948         being used on buffers without caps.
10949
10950 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10951
10952         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10953         (init_pre):
10954           Call g_thread_init() first thing in gst_init() / gst_check_init().
10955           When initialisation is done via gst_init_get_option_group() and
10956           GOption parsing, issue a warning if the GLib thread system has not
10957           been initialised yet by the time gst_init_get_option_group() is
10958           called, as it's quite likely other GLib functions such as
10959           g_option_context_new() have been called already then, and
10960           g_thread_init() must be called before any other GLib function. The
10961           application in question must be fixed in that case, since memory
10962           corruption might happen otherwise.
10963           We issue the warning because even if the GLib folks decide to work
10964           around the problem on their end in future, this is still an issue
10965           with all GLib versions >= 2.10.0, so we should warn until we depend
10966           on a GLib version we know to be safe.
10967           Update documentation as well.
10968           Closes bug #391278.
10969
10970 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10971
10972         * tools/gst-inspect.c: (main):
10973         * tools/gst-launch.c: (main):
10974         * tools/gst-typefind.c: (main):
10975         * tools/gst-xmlinspect.c: (main):
10976           Call g_thread_init() really really early, before any other GLib
10977           function (see #342564 and recent discussion on gtk-devel-list).
10978
10979 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10980
10981         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10982
10983         * gst/gst_private.h:
10984         * gst/gstconfig.h.in:
10985         * gst/gstinfo.h:
10986           On win32, all the __declspec stuff for symbol exporting is
10987           apparently only needed with MSVC, but doesn't work with MingW.
10988           Fixes compilation with MingW and #391909.
10989
10990 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10991
10992         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10993           Change some GST_ERROR_OBJECT that aren't really errors to
10994           GST_WARNING_OBJECT in order to reduce terminal spam.
10995
10996 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10997
10998         * tests/check/Makefile.am:
10999           disable test again, as there seem to be still race problems
11000
11001 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11002
11003         * tests/check/Makefile.am:
11004         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11005         (GST_START_TEST), (queue_suite):
11006           enable queue test again, add tests for the leaky behaviour
11007
11008 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
11009
11010         * configure.ac:
11011         * tests/examples/Makefile.am:
11012           Compile adapter test/example only if the required headers are
11013           available (fixes #391915).
11014
11015 2007-01-01  David Schleef  <ds@schleef.org>
11016
11017         * gst/gstplugin.c:
11018           Restore the previous signal handler for SIGSEGV instead of
11019           setting to default, since we may have stolen it away from
11020           someone.  (i.e., Mono)
11021
11022 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11023
11024         * docs/random/draft-missing-plugins.txt:
11025           Some small additions and clarifications.
11026
11027 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11028
11029         * gst/gstregistryxml.c: (gst_registry_save_escaped):
11030           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
11031           since that can lead to random memory corruptions and crashes
11032           (may or may not be related to #383244, #386711, and #386711).
11033
11034 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11035
11036         * tests/check/.cvsignore:
11037         * tests/check/Makefile.am:
11038           sync .cvsignome and CLEANFILES
11039
11040 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11041
11042         * tests/check/Makefile.am:
11043           fix distcheck
11044
11045 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11046
11047         * docs/design/part-states.txt:
11048           two tiny additional comments
11049         
11050         * gst/gststructure.c:
11051           doc fixing
11052
11053         * tests/check/Makefile.am:
11054         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11055         (GST_START_TEST):
11056           disable test for now, unless it gets fixed
11057
11058 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11059
11060         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11061         (GST_START_TEST):
11062           fix race in underrun test
11063
11064 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11065
11066         * tests/check/elements/.cvsignore:
11067           ignore more
11068
11069         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11070         (GST_START_TEST):
11071           try to narrow test failure
11072
11073 2006-12-21  David Schleef  <ds@schleef.org>
11074
11075         * plugins/elements/gstfakesrc.c:
11076           Use g_random_int_range(), since it produces better random
11077           numbers in a range than almost-correct floating point code.
11078
11079 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11080
11081         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11082         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11083         (gst_check_teardown_sink_pad):
11084           do not automatically (de)activate pads
11085
11086         * tests/check/Makefile.am:
11087         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11088         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11089           add new, yet simple tests for queue
11090
11091         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11092         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11093         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11094         (GST_START_TEST):
11095         * tests/check/elements/identity.c: (cleanup_identity):
11096           consistent pad (de)activation
11097
11098 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11099
11100         Patch by: Sebastian Dröge  <slomo ubuntu com>
11101
11102         * libs/gst/base/gstcollectpads.c:
11103           Fix two doc typos (#387866).
11104
11105 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11106
11107         * docs/manual/advanced-dparams.xml:
11108           Fix typo (g_object_control_properties() doesn't exist).
11109
11110 2006-12-19  Edward Hervey  <edward@fluendo.com>
11111
11112         * gst/gstsegment.c: (gst_segment_set_seek):
11113         Fine tune the cases where the segment start/stop values are really
11114         updated.
11115         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11116         Add tests for the return values of gst_segment_set_seek().
11117
11118 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11119
11120         * gst/gst.c:
11121           Docs typo fix.
11122
11123         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11124         (gst_queue_init):
11125           Fix incorrect documentation and flesh it out a bit more.
11126           Set default values for the max properties on the GParamSpec as well,
11127           so it shows up correctly in gst-inspect.
11128
11129 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11130
11131         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11132           Correct docs of queue, add more detail and crosslink it more.
11133
11134 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11135
11136         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11137           Print additional debug info when the stream isn't perfectly
11138           timestamped; don't try to use invalid durations.
11139
11140 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11141
11142         * docs/design/Makefile.am:
11143           Dist new design docs.
11144
11145 2006-12-16  Wim Taymans  <wim@fluendo.com>
11146
11147         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11148
11149         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11150         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11151         (gst_collect_pads_stop), (gst_collect_pads_event),
11152         (gst_collect_pads_chain):
11153         * libs/gst/base/gstcollectpads.h:
11154         Add refcounting to the collectpads data so we can track when it's safe
11155         to free the data. Fixes #383382.
11156
11157 2006-12-15  Wim Taymans  <wim@fluendo.com>
11158
11159         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11160         (gst_collect_pads_remove_pad):
11161         Automatically activate/deactivate pads when they are added to a
11162         started/stoped collectpads.
11163
11164 2006-12-15  Wim Taymans  <wim@fluendo.com>
11165
11166         * gst/gstelement.c: (gst_element_add_pad):
11167         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11168         * gst/gstpad.c: (gst_pad_init):
11169         Set pads to FLUSHING when they are created. Check, warn and fix when a
11170         demuxer adds an inactive pad to itself when running. Fixes #339326.
11171
11172 2006-12-15  Wim Taymans  <wim@fluendo.com>
11173
11174         * gst/gstelement.c: (gst_element_class_init),
11175         (gst_element_default_send_event), (gst_element_send_event),
11176         (gst_element_default_query), (gst_element_query):
11177         Expose default element send_event and query handling as vmethods that
11178         subclasses can chain up to.
11179
11180 2006-12-15  Wim Taymans  <wim@fluendo.com>
11181
11182         * gst/gstelement.c: (gst_element_set_state_func):
11183         Small documentation fixes.
11184
11185 2006-12-15  Wim Taymans  <wim@fluendo.com>
11186
11187         * docs/design/draft-latency.txt:
11188         Checked in draft for handling latency in pipelines.
11189
11190 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11191
11192         * Makefile.am:
11193         * gstreamer.doap:
11194         * gstreamer.spec.in:
11195           adding .doap file
11196
11197 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11198
11199         * gst/gst.c: (init_pre), (init_post):
11200           init_pre() and init_post() might be called via our GOptionGroup or
11201           from gst_init(), and we should skip both of them if we've already
11202           been initialised, otherwise we will init some things twice or add
11203           two default log functions.
11204
11205 2006-12-13  Edward Hervey  <edward@fluendo.com>
11206
11207         * docs/manual/basics-bus.xml:
11208         No, gst_main_loop does not exist. Its g_main_loop.
11209         Discovered by somebody who abused the copy-paste technique of coding :)
11210
11211 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11212
11213         * gst/gstghostpad.c:
11214           Log ghostpad debug stuff to the GST_PADS category as well rather
11215           than just to the default category.
11216
11217 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11218
11219         * configure.ac:
11220         * gst/gst.c: (init_pre):
11221           Add some basic system details such as OS and architecture
11222           to the debug output if possible, courtesy of uname().
11223
11224 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11225
11226         * docs/gst/running.xml:
11227           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11228           environment variables.
11229
11230 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11231
11232         * tests/check/gst/gstbin.c: (GST_START_TEST):
11233         It is acceptable to have a refcount of 2 or 3 at this point in the
11234         test, because the pipeline might be just posting its state_change
11235         message. The next line then waits for that message to appear using
11236         bus_poll, so that should be fine too.
11237
11238 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11239
11240         * gst/gst.c: (ensure_current_registry_forking):
11241         Ignore EINTR when reading from the child registry pipe.
11242         Explicitly ignore the return value from close, since it makes no
11243         difference.
11244
11245         * gst/gstminiobject.c: (gst_mini_object_ref),
11246         (gst_mini_object_unref):
11247         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11248
11249         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11250         When removing cached plugins, remove their features too, so they're
11251         not visible after they've disappeared.
11252
11253         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11254         In the unlikely case that we are linking pads with no parents, don't
11255         crash trying to get the non-existent parent bin.
11256
11257         * gst/parse/grammar.y:
11258         Output debug in the PIPELINE category
11259
11260 2005-03-08  Wim Taymans  <wim@fluendo.com>
11261
11262         Patch by: René Stadler <mail at renestadler dot de>
11263
11264         * gst/gstclock.c: (gst_clock_new_periodic_id):
11265         Reject invalid clock times for interval of periodic ids.
11266         Fixes ##383506.
11267
11268 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11269
11270         * gst/gstelementfactory.c: (gst_element_factory_create):
11271         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11272         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11273         * tools/gst-inspect.c: (print_element_info):
11274         Fix refcounting of gst_plugin_feature_load to match the docs. 
11275         Fixes: #380129
11276
11277 2006-12-07  Wim Taymans  <wim@fluendo.com>
11278
11279         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11280         (gst_base_sink_get_position):
11281         Improve debugging of events.
11282
11283 2006-12-07  Wim Taymans  <wim@fluendo.com>
11284
11285         Patch by: René Stadler <mail at renestadler dot de>
11286
11287         * gst/gstclock.c: (gst_clock_id_wait):
11288         Make period ids add the interval to the origial requested time instead
11289         of the possibly updated time which can be wrong when there are multiple
11290         waiters for the same id. Fixes #382592.
11291
11292         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11293         (gst_system_clock_id_wait_jitter_unlocked),
11294         (gst_system_clock_id_wait_jitter):
11295         Fix restart in the async notify thread when an async entry is added to
11296         the front of the list. Fixes #381492. 
11297
11298         * tests/check/gst/gstsystemclock.c: (store_callback),
11299         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11300         Added test for multiple async waits.
11301         Added test for async wait order.
11302
11303 2006-12-07  Wim Taymans  <wim@fluendo.com>
11304
11305         * gst/gstbin.c: (gst_bin_query):
11306         Add some more docs about the POSITION query.
11307
11308 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11309
11310         * configure.ac:
11311         Bump version nano - back to CVS.
11312
11313 === release 0.10.11 ===
11314
11315 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11316
11317         * configure.ac:
11318           releasing 0.10.11, "Love never runs on time"
11319
11320 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11321
11322         * win32/common/libgstbase.def:
11323         * win32/common/libgstreamer.def:
11324         * win32/vs8/libgstbase.vcproj:
11325         * win32/vs8/libgstcoreelements.vcproj:
11326         * win32/vs8/libgstreamer.vcproj:
11327         Fix compilation on win32 under VS8
11328         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11329         Partially fixes #381175
11330
11331 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11332
11333         * gst/gstvalue.c: (gst_value_compare_fraction):
11334         If someone is foolish enough to compare 2 fractions with denominator =
11335         0, return UNORDERED rather than aborting.
11336
11337 2006-11-28  Edward Hervey  <edward@fluendo.com>
11338
11339         * libs/gst/base/Makefile.am:
11340         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11341         (gst_data_queue_base_init), (gst_data_queue_class_init),
11342         (gst_data_queue_init), (gst_data_queue_new),
11343         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11344         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11345         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11346         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11347         (gst_data_queue_set_flushing), (gst_data_queue_push),
11348         (gst_data_queue_pop), (gst_data_queue_drop_head),
11349         (gst_data_queue_set_property), (gst_data_queue_get_property):
11350         * libs/gst/base/gstdataqueue.h:
11351         New GstDataQueue object for threadsafe queueing. Most useful for
11352         elements that need some queueing functionnality.
11353         * docs/libs/gstreamer-libs-docs.sgml:
11354         * docs/libs/gstreamer-libs-sections.txt:
11355         Insert documentation for GstDataQueue
11356         * plugins/elements/Makefile.am:
11357         * plugins/elements/gstelements.c:
11358         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11359         (gst_multi_queue_class_init), (gst_multi_queue_init),
11360         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11361         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11362         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11363         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11364         (gst_multi_queue_loop), (gst_multi_queue_chain),
11365         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11366         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11367         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11368         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11369         (wake_up_next_non_linked), (compute_next_non_linked),
11370         (single_queue_overrun_cb), (single_queue_underrun_cb),
11371         (single_queue_check_full), (gst_single_queue_new):
11372         * plugins/elements/gstmultiqueue.h:
11373         New multiqueue element, using GstDataQueue. Used for queuing multiple
11374         streams.
11375         Closes #344639 and #347785
11376
11377 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11378
11379         * docs/pwg/advanced-types.xml:
11380           add more missing type details
11381
11382         * tools/gst-run.c: (main):
11383           remove unused variable
11384
11385 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11386
11387         * docs/libs/Makefile.am:
11388         * docs/libs/gstreamer-libs.types:
11389           add types of base classes to enable gobject specific stuff in the docs
11390
11391         * docs/random/ensonic/embedded.txt:
11392           more ideas about isolating platform specific things
11393
11394 2006-11-20  Wim Taymans  <wim@fluendo.com>
11395
11396         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11397
11398         * libs/gst/check/gstcheck.h:
11399         Fix compilation and running against 0.9.4. Fixes #377332.
11400
11401 2006-11-20  Wim Taymans  <wim@fluendo.com>
11402
11403         * gst/gstsegment.c: (gst_segment_set_seek),
11404         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11405         (gst_segment_to_running_time):
11406         Fix boundary checking in to_running_time() and to_stream_time().
11407         Fixes #377183.
11408
11409         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11410         stream and running time can now be calculated for the complete
11411         clipped segment.
11412
11413 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11414
11415         * gst/gstpad.c: (gst_pad_push_event):
11416           Can't access event structure after giving away ownership of
11417           the event.
11418
11419 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11420
11421         * docs/random/ensonic/embedded.txt:
11422         * docs/random/ensonic/profiling.txt:
11423         * docs/random/ensonic/receipies.txt:
11424           more thinking
11425
11426 2006-11-13  Wim Taymans  <wim@fluendo.com>
11427
11428         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11429
11430         * gst/gstpad.c:
11431         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11432
11433 2006-11-13  Wim Taymans  <wim@fluendo.com>
11434
11435         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11436
11437         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11438         Store new length in segment duration so we don't keep on calling the
11439         potentially expensize get_size() call. Fixes #370865.
11440
11441 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11442
11443         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11444
11445         * win32/common/libgstreamer.def:
11446           Add two missing symbols (#366492).
11447
11448 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11449
11450         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11451         (gst_adapter_take_buffer):
11452         Fix format string to use all its arguments.
11453         Remove useless >= check on a guint
11454
11455 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11456
11457         * tests/examples/adapter/.cvsignore:
11458         Ignore build file as commanded by the build-bot
11459
11460 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11461
11462         * tests/examples/adapter/Makefile.am:
11463         * tests/examples/adapter/adapter_test.c: (run_test_take),
11464         (run_test_take_buffer), (run_tests), (main):
11465
11466         Add new files from the previous commit
11467
11468 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11469
11470         * Makefile.am:
11471         * configure.ac:
11472         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11473         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11474         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11475         * libs/gst/base/gstadapter.h:
11476         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11477         (GST_START_TEST), (gst_adapter_suite):
11478         * tests/examples/Makefile.am:
11479         Do some optimisation work in GstAdapter to avoid copies in more cases.
11480         It could still do slightly better by merging buffers when
11481         gst_buffer_is_span_fast is true, but is already faster. 
11482
11483         Also, avoid traversing a single-linked list to append each incoming 
11484         buffer inside the adapter.
11485
11486         Add simple test app that times the adapter behaviour in different
11487         situations, and extend the unit test to check that bytes enter and
11488         exit the adapter in their original order.
11489
11490 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11491
11492         * docs/random/draft-missing-plugins.txt:
11493           Update: use element message instead of adding a new message
11494           type to the core; don't provide GStreamer API to initiate the
11495           plugin download, just provide API to compose the strings needed
11496           and let an external libgimmestuff handle the rest.
11497
11498 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11499
11500         * tools/gst-inspect.c: (print_element_properties_info):
11501         Print a string instead of 'unknown type' for GValueArray properties
11502
11503 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11504
11505         * docs/random/draft-missing-plugins.txt:
11506         More small fixes.
11507
11508 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11509
11510         * tests/examples/typefind/typefind.c: (type_found), (main):
11511           Make typefind element example work again (#371894); add a
11512           license header.
11513
11514 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11515
11516         * docs/random/draft-missing-plugins.txt:
11517           Commit initial draft about how to deal with missing plugins,
11518           needs work (API too).
11519
11520 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11521
11522         * docs/pwg/advanced-types.xml:
11523           documents the new caps elements (see #363118)
11524
11525 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11526
11527         * gst/gstplugin.c: (gst_plugin_load_file):
11528         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11529         (gst_file_src_map_region), (gst_file_src_start):
11530         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11531         (gst_file_index_commit):
11532           Use g_strerror() instead of strerror() - we want UTF-8.
11533
11534 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11535
11536         Patch by: Peter Kjellerstedt <pkj at axis com>
11537
11538         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11539           Another printf fix (#371493).
11540
11541 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11542
11543         * tests/check/gst/gsttag.c:
11544           relicence (okay with author=company)
11545
11546 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11547
11548         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11549         (gst_pad_push_event):
11550           Enhance debug and improve docs
11551         
11552         * gst/gsturi.c:
11553           Fix docs
11554
11555 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11556
11557         * docs/random/ensonic/distributed.txt:
11558         * docs/random/ensonic/profiling.txt:
11559           more ideas
11560
11561 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11562
11563         * docs/gst/gstreamer-sections.txt:
11564           add new API and fix the build
11565           
11566         * gst/gstbin.c: (gst_bin_recalc_state):
11567         * gst/gstelement.c: (gst_element_message_full),
11568         (gst_element_get_state_func), (gst_element_set_state_func):
11569           use new API and improve logging
11570         
11571         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11572         * gst/gstutils.h:
11573           API: add function to get StateChangereturn names to improve logs 
11574
11575 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11576
11577         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11578           I'm considering shooting the next person to put strerror stuff
11579           in the translateable part of the message.
11580
11581 2006-11-03  Wim Taymans  <wim@fluendo.com>
11582
11583         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11584         Get the type and printf conversion specifiers right.
11585
11586 2006-11-03  Wim Taymans  <wim@fluendo.com>
11587
11588         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11589
11590         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11591         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11592         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11593         Some small cleanups. Improve debugging.
11594         * gst/gstpad.h:
11595         Signal all waiting threads with a broadcast instead of just one.
11596         Fixes #369942.
11597
11598 2006-11-03  Wim Taymans  <wim@fluendo.com>
11599
11600         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11601         (gst_fd_src_create):
11602         Add some debugging. 
11603         Only update fd when it's different from the old.
11604
11605 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11606
11607         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11608           Printf fixes for PPC/OSX, take two (#369366).
11609
11610 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11611
11612         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11613
11614         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11615         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11616         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11617           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11618           don't cast to long long for portability reasons, but use
11619           GLib's types instead.
11620
11621 2006-10-30  Michael Smith  <msmith@fluendo.com>
11622
11623         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11624           Get the arguments to lseek() the right way around.
11625           Fixes 367677.
11626
11627 2006-10-30  Wim Taymans  <wim@fluendo.com>
11628
11629         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11630
11631         * gst/gstinfo.h:
11632         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11633
11634 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11635
11636         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11637
11638         * docs/design/part-MT-refcounting.txt:
11639         * docs/random/wtay/capsnego2-docs:
11640         * gst/gstclock.c:
11641         * gst/gstxml.c:
11642           Typo fixes (#366212).
11643
11644 2006-10-28  Wim Taymans  <wim@fluendo.com>
11645
11646         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11647
11648         * gst/gst.c:
11649         * win32/common/libgstbase.def:
11650         * win32/common/libgstreamer.def:
11651         * win32/vs8/libgstbase.vcproj:
11652         * win32/vs8/libgstcontroller.vcproj:
11653         Add needed entries in .def files.
11654         Use HAVE_UNISTD_H.
11655         Rearrange def files in vs8 solutions. Fixes #366286.
11656
11657 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11658
11659         * win32/common/gstconfig.h:
11660           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11661           hand-made win32 gstconfig.h. Fixes #366321.
11662
11663 2006-10-27  Wim Taymans  <wim@fluendo.com>
11664
11665         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11666         (gst_ghost_pad_new_full):
11667         Make acceptcaps return TRUE when we don't have a target, just like
11668         setcaps does.
11669
11670 2006-10-27  Wim Taymans  <wim@fluendo.com>
11671
11672         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11673         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11674
11675 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11676
11677         * gst/gststructure.c: (gst_structure_id_set_value):
11678           If someone tries to set a non-UTF8 string field on a structure,
11679           don't just print a warning, but also ignore the request and do
11680           not change/add that field to the structure.
11681
11682         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11683           Test for the above.
11684
11685 2006-10-25  David Schleef  <ds@schleef.org>
11686
11687         * gst/gstinfo.c:
11688           g_hash_table_insert() needs a cast to a non-const pointer duh.
11689
11690 2006-10-25  David Schleef  <ds@schleef.org>
11691
11692         * gst/gstinfo.c:
11693         * gst/gstinfo.h:
11694           Change name parameter of _gst_debug_register_funcptr to const
11695           to reflect the constness of its use in the function as well
11696           as to quiet a gcc warning.
11697
11698 2006-10-25  Edward Hervey  <edward@fluendo.com>
11699
11700         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11701         Don't push the buffer if it's empty.
11702         Closes #363095
11703
11704 2006-10-24  Wim Taymans  <wim@fluendo.com>
11705
11706         * gst/gstevent.h:
11707         Add small comment.
11708
11709         * libs/gst/base/gstbasetransform.c:
11710         (gst_base_transform_sink_eventfunc):
11711         Debug segment values *after* updating them as this is more
11712         interesting.
11713
11714 2006-10-23  Wim Taymans  <wim@fluendo.com>
11715
11716         * docs/design/part-events.txt:
11717         Update some docs.
11718
11719         * docs/design/part-block.txt:
11720         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11721         (gst_pad_push_event):
11722         Revert BLOCKING patch, it tries to be smart without really having a
11723         clear idea what or how. So, now we discard all FLUSHING events again on
11724         a blocking pad. Should fix gnonlin again.
11725
11726 2006-10-23  Wim Taymans  <wim@fluendo.com>
11727
11728         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11729
11730         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11731         (gst_base_src_start), (gst_base_src_activate_push):
11732         Make sure size is always initialized. Fixes #364388.
11733
11734 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11735
11736         * docs/random/ensonic/distributed.txt:
11737           add some ideas about doing distributed processing
11738
11739         * docs/random/ensonic/profiling.txt:
11740           get_rusage look promising
11741
11742 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11743
11744         * docs/manual/basics-helloworld.xml:
11745           Add a cast in example to fix compile warning
11746
11747 2006-10-18  Wim Taymans  <wim@fluendo.com>
11748
11749         * gst/gstsegment.c: (gst_segment_set_last_stop),
11750         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11751         Relax arg checking again, -1 is allowed.
11752
11753 2006-10-18  Wim Taymans  <wim@fluendo.com>
11754
11755         * gst/gstsegment.c: (gst_segment_set_last_stop),
11756         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11757         _set_last_stop() must be with a value != -1
11758         A _TYPE_SET to -1 means seek to 0.
11759         Calc last_stop correctly for negative rates.
11760         Make sure we work with positive durations when updating a segment.
11761
11762 2006-10-18  Wim Taymans  <wim@fluendo.com>
11763
11764         * docs/design/part-live-source.txt:
11765         * gst/gstclock.h:
11766         Small docs fixes.
11767
11768 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11769
11770         * gst/gstbuffer.h:
11771           Add an explicit cast to GstBuffer** to keep old code that added an
11772           explicit cast to GstMiniObject** for gst_mini_object_replace()
11773           compiling without warning.
11774
11775 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11776
11777         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11778           check for validity of dates
11779
11780 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11781
11782         * docs/gst/gstreamer-sections.txt:
11783           Forgot this one, makes gtk-doc shut up.
11784
11785 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11786
11787         Patch by: Peter Kjellerstedt <pkj at axis com>
11788
11789         * gst/gstobject.h:
11790           Don't define xmlNodePtr to gpointer if the core was built with
11791           --disable-loadsave and --disable-registry, this will break
11792           applications that want to use libxml2 but are buildling against a
11793           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11794           instead so we don't have to mess with the libxml2 namespace
11795           (#361675).
11796
11797 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11798
11799         * gst/gstbuffer.h:
11800           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11801           type-punned pointer warnings.
11802
11803 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11804
11805         * gst/gstelement.h:
11806           Add casts to the correct return type to state <=> state transition
11807           macros.
11808
11809 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11810
11811         * docs/design/part-live-source.txt:
11812           describe howto handle latency
11813         
11814         * docs/random/ensonic/profiling.txt:
11815           more ideas
11816
11817         * tools/gst-plot-timeline.py:
11818           fix log parsing for solaris, remove unused function
11819
11820 2006-10-16  Wim Taymans  <wim@fluendo.com>
11821
11822         * docs/design/part-trickmodes.txt:
11823         * gst/gstevent.c:
11824         Update some docs regarding reverse playback.
11825
11826 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11827
11828         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11829
11830         * win32/vs8/grammar.vcproj:
11831           Error out with a warning if glib-genmarshal.exe is not in path,
11832           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11833
11834 2006-10-13  Wim Taymans  <wim@fluendo.com>
11835
11836         * gst/gstsegment.c: (gst_segment_set_seek):
11837         When seeking to stop -1, set last_stop (current position) to the
11838         duration of the segment.
11839
11840 2006-10-13  Wim Taymans  <wim@fluendo.com>
11841
11842         * gst/gstelement.h:
11843         Clarify _NO_PREROLL a bit more.
11844
11845         * gst/gstevent.c:
11846         Fix docs.
11847
11848         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11849         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11850         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11851         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11852         due to wrong locking order. Fixes #361769.
11853         Remove some redundant/misplaced checks in pad_block.
11854
11855         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11856         For negative rates, count backwards from the duration.
11857
11858 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11859
11860         * gst/gsterror.c: (_gst_library_errors_init):
11861           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11862           up with something better).
11863
11864 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11865
11866         * win32/vs6/libgstreamer.dsp:
11867         * win32/vs7/libgstreamer.vcproj:
11868         * win32/vs8/libgstreamer.vcproj:
11869           Don't reference glib-compat.c which is currently not used and not
11870           disted; add gstquark.c which was recently added. Fixes #361730.
11871
11872 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11873
11874         * win32/common/libgstbase.def:
11875         * win32/common/libgstcontroller.def:
11876         * win32/common/libgstreamer.def:
11877           Add gst_caps_merge() and a bunch of other recently-added functions.
11878           Fixes #361732.
11879
11880 2006-10-11  Wim Taymans  <wim@fluendo.com>
11881
11882         * docs/plugins/gstreamer-plugins.args:
11883         * docs/plugins/inspect/plugin-coreelements.xml:
11884         * docs/plugins/inspect/plugin-coreindexers.xml:
11885         Update element args.
11886
11887         * gst/gstsystemclock.c:
11888         Small comment update.
11889
11890         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11891         (gst_tee_request_new_pad), (gst_tee_release_pad),
11892         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11893         (gst_tee_sink_activate_pull):
11894         * plugins/elements/gsttee.h:
11895         Some tee loving:
11896         Add default property defines.
11897         Implement release pad function.
11898         Give properties better blubs etc.
11899         Activate pads before adding them to a running tee.
11900         Do simple buffer_alloc on the first requested pad.
11901         Post error when activation fails.
11902
11903 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11904
11905         * gst/gst.c: (ensure_current_registry_forking):
11906           Check return value of write() to make compiler happy.
11907
11908 2006-10-11  Wim Taymans  <wim@fluendo.com>
11909
11910         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11911
11912         * plugins/elements/gstqueue.c: (gst_queue_chain):
11913         Recheck queue filledness after signalling the overrun when we're about
11914         to leak downstream because we released the lock when emitting the signal
11915         and the queue could be empty again. Fixes #352345.
11916
11917 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11918
11919         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11920           Fix refcounting here too, just like we did for _new_valist() a few
11921           days ago (#357180) (thanks to René Stadler). Also remove all those
11922           'Since: 0.9' from the gtk-doc blobs.
11923
11924         * tests/check/libs/controller.c: (controller_refcount_new_list),
11925         (gst_controller_suite):
11926           Unit test for the above.
11927
11928 2006-10-10  Wim Taymans  <wim@fluendo.com>
11929
11930         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11931
11932         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11933         (gst_pad_save_thyself):
11934         Update some docs.
11935         Write pad direction in XML output. Fixes #345496.
11936
11937 2006-10-10  Wim Taymans  <wim@fluendo.com>
11938
11939         Patch by: René Stadler <mail at renestadler dot de>
11940
11941         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11942         (gst_controller_new_list), (_gst_controller_dispose),
11943         (_gst_controller_finalize), (_gst_controller_class_init):
11944         Take ref to controlled object so that it cannot disappear. 
11945         Fixes #357432.
11946
11947 2006-10-10  Wim Taymans  <wim@fluendo.com>
11948
11949         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11950         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11951         (gst_check_teardown_sink_pad):
11952         Activate/deactivate pads in setup/teardown respectively.
11953
11954 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11955
11956         Patch by: Josep Torra Valles <josep@fluendo.com>
11957
11958         * gst/Makefile.am:
11959         Cast values when making gstenumtypes.h.  This pacifies Forte
11960         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11961         in the enumeration.
11962
11963 2006-10-09  Wim Taymans  <wim@fluendo.com>
11964
11965         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11966         Rename some more @cur to @start to fix docs. 
11967
11968         * gst/gstsegment.c: (gst_segment_set_seek):
11969         Fix typo.
11970         time and start must always stay in sync as defined in design doc.
11971
11972         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11973         Rename param to fix docs.
11974
11975         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11976         Check that start and time are in sync.
11977
11978         * tests/check/pipelines/parse-launch.c:
11979         (gst_parse_test_element_change_state):
11980         Activate pad before adding to the element.
11981
11982 2006-10-09  Wim Taymans  <wim@fluendo.com>
11983
11984         * docs/design/part-qos.txt:
11985         Fix typo.
11986
11987         * gst/gstevent.c:
11988         * gst/gstevent.h:
11989         Update seek event docs regarding negative rates.
11990         Rename @cur to @start. 
11991
11992         * gst/gstsegment.c: (gst_segment_set_seek):
11993         * gst/gstsegment.h:
11994         Update set_seek docs regarding negative rates.
11995         Correctly update last_stop to @stop when dealing with negative
11996         rates.
11997         Rename @cur to @start. 
11998
11999         * tests/check/gst/gstpad.c: (GST_START_TEST):
12000         Activate pads before trying to use them.
12001
12002         * tests/check/gst/gstsegment.c: (GST_START_TEST),
12003         (gst_segment_suite):
12004         Add simple check for segments and negative rates.
12005
12006 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
12007
12008         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12009         * gst/gsttaglist.h:
12010         * docs/gst/gstreamer-sections.txt:
12011           API: add gst_tag_list_is_empty() (#360467).
12012
12013         * tests/check/gst/gsttag.c: (GST_START_TEST):
12014           And a test case.
12015
12016 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12017
12018         * gst/gstmessage.h:
12019         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
12020         a value that doesn't fit on enumeration.
12021
12022 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12023
12024         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12025         Remove local debugging system and use Gstreamer's instead.
12026
12027 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12028
12029         Patch by: Josep Torra Valles <josep@fluendo.com>
12030
12031         * common/m4/gst-error.m4:
12032         Disable warning of statement not reached on Forte.
12033         * gst/gstmessage.h:
12034         Fix warning on Forte (value doesn't fit on enumeration).
12035         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
12036         Fix warning on Forte (value doesn't fit on enumeration).
12037         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12038         DEBUG macro says it takes minimum of 2 args and so Forte
12039         complains about the use with just 1 arg.
12040         * plugins/elements/gstfdsink.c:
12041         * plugins/elements/gstfdsrc.c:
12042         * plugins/elements/gstfilesink.c:
12043         * plugins/elements/gstfilesrc.c:
12044         Use correct return type for the uri handler implementations.
12045
12046         All these fix warnings in Forte.  Fixes bug #360860.
12047
12048 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12049
12050         * gst/gstelement.h:
12051           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
12052           format string, so don't use G_GNUC_PRINTF for those versions.
12053
12054 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12055
12056         * gst/gsttaglist.c: (gst_is_tag_list):
12057         * gst/gsttaglist.h:
12058           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12059
12060         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12061           Small test for the above.
12062
12063 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12064
12065         * gst/gsttaglist.h:
12066           Less tabs, more spaces.
12067
12068 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
12069
12070         * gst/gstinfo.h:
12071           Those two function declarations do actually belong there, revert
12072           commit from yesterday that turned them intro macros.
12073
12074 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12075
12076         Patch by: Josep Torra Valles <josep@fluendo.com>
12077
12078         * gst/gst.c: (gst_init_get_option_group):
12079         Fix empty declaration and type mismatch.
12080         * gst/gstbin.c: (gst_bin_change_state_func):
12081         Fix type mismatch.
12082         * gst/gstelement.c: (gst_element_continue_state),
12083         (gst_element_set_state_func), (gst_element_change_state),
12084         (gst_element_change_state_func):
12085         Fix type mismatches.
12086         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12087         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12088         Cast as appropriate.
12089         * gst/gstobject.c: (gst_class_signal_connect):
12090         Cast as appropriate.  The function pointer parameter really
12091         has the wrong type but would break API if we change it.
12092         * gst/gstquery.c:
12093         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12094         order of including string.h.
12095         * gst/gstutils.c: (gst_element_state_get_name):
12096         Remove unreachable line.
12097         * gst/gstxml.c: (gst_xml_parse_doc):
12098         Fix type mismatch.
12099         All these caught by Forte.
12100
12101 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12102
12103         Patch by: Josep Torra Valles <josep@fluendo.com>
12104
12105         * common/m4/gst-error.m4:
12106         Fixed bug #360151.
12107         We need to disable warnings on Forte for empty declarations
12108         due to gst-indent adding ;s to lines that just use macros
12109         where the macro actually doesn't need a ; at end to end
12110         statement.
12111
12112 2006-10-06  Wim Taymans  <wim@fluendo.com>
12113
12114         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12115         (gst_file_sink_close_file), (gst_file_sink_event),
12116         (gst_file_sink_render):
12117         Add some FIXME for the NEWSEGMENT handling.
12118
12119 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12120
12121         * gst/parse/grammar.y:
12122         Remove static function gst_parse_element_lock as all it does
12123         is return.  Looks like cruft from 0.8.
12124
12125 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12126
12127         Patch by: Josep Torra Valles <josep@fluendo.com>
12128
12129         * common/m4/gst-error.m4:
12130         * configure.ac:
12131         * libs/gst/net/Makefile.am:
12132         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12133         libresolv.
12134
12135 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12136
12137         * gst/gstpad.c: (pre_activate):
12138         * gst/gstregistry.c: (gst_registry_scan_path_level):
12139         * gst/gstregistryxml.c: (load_plugin):
12140         * libs/gst/controller/gstcontroller.c:
12141         (gst_controlled_property_set_interpolation_mode):
12142         * libs/gst/dataprotocol/dataprotocol.c:
12143         (gst_dp_packet_from_event_1_0):
12144         * libs/gst/net/gstnetclientclock.c:
12145         (gst_net_client_clock_observe_times):
12146         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12147           Printf fixes.
12148
12149 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12150
12151         * configure.ac:
12152         * docs/gst/gstreamer-sections.txt:
12153         * gst/gstconfig.h.in:
12154         * gst/gstelement.h:
12155         * gst/gstinfo.h:
12156           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12157           whether we can use G_GNUC_PRINTF in other header files and at
12158           least check the printf format/arguments of debug messages and
12159           GST_ELEMENT_ERROR messages when the printf extension is not
12160           being used.
12161           Replace more tabs with spaces in gstinfo.h and remove two spurious
12162           function declarations in GST_DISABLE_DEBUG part with macros.
12163
12164 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12165
12166         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12167           More docs for the sync-message signal (mention that it is not
12168           emitted by default); log message structures of messages posted on
12169           the bus as well.
12170
12171 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12172
12173         * gst/gst.c: (ensure_current_registry_forking):
12174         Use a pipe pair to receive status results from the forked child, and
12175         ignore the result from waitpid. Fixes #355499
12176
12177 2006-10-02  Wim Taymans  <wim@fluendo.com>
12178
12179         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12180         (gst_ghost_pad_suite):
12181         Fix leak in check.
12182
12183 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12184
12185         * gst/gstpad.c:
12186           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12187
12188 2006-10-02  Edward Hervey  <edward@fluendo.com>
12189
12190         * docs/design/part-block.txt:
12191         Further explain the use of flushing on blocked pads.
12192         * docs/gst/gstreamer-sections.txt:
12193         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12194         (gst_pad_push_event):
12195         * gst/gstpad.h:
12196         Added new GstPadFlag : GST_PAD_BLOCKING.
12197         Adds the notion of pads really blocking, which enables to properly
12198         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12199         Fixes #358999
12200         API: gst_pad_is_blocking()
12201         API: GST_PAD_IS_BLOCKING() macro
12202         API: GST_PAD_BLOCKING GstPadFlag
12203         
12204 2006-10-02  Wim Taymans  <wim@fluendo.com>
12205
12206         Patch by: mrcgran <mrc.gran at gmail dot com>
12207
12208         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12209         Filter the proxied caps against the padtemplate if we have one.
12210
12211         * gst/gstquery.c: (gst_query_new_segment):
12212         Add include for gstinfo.h so that compilation with
12213         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12214
12215 2006-10-02  Wim Taymans  <wim@fluendo.com>
12216
12217         Patch by: Alessandro Decina  <alessandro at nnva org>
12218
12219         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12220         (gst_file_sink_set_location), (gst_file_sink_open_file),
12221         (gst_file_sink_close_file), (gst_file_sink_event),
12222         (gst_file_sink_render):
12223         Set file to NULL when closing filesink so that we can set a new filename
12224         in READY. Fixes #358613.
12225
12226 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12227
12228         Patch by: Alessandro Decina  <alessandro at nnva org>
12229
12230         * gst/gstevent.c: (_gst_event_copy):
12231           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12232           with event structures by setting the parent refcount address of the
12233           copied structure to the address of the refcount member of the newly
12234           copied event rather than the address of the refcount member of the
12235           original event. Fixes #358737.
12236
12237         * tests/check/gst/gstevent.c: (GST_START_TEST):
12238           Unit test for the above.
12239
12240 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12241
12242         * docs/design/Makefile.am:
12243           Dist some more files.
12244
12245 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12246
12247         * tests/check/libs/controller.c: (GST_START_TEST),
12248         (gst_controller_suite):
12249           Add test for the previous fix; add some more tests
12250           for correct refcounting behaviour; fix a few leaks
12251           in test cases; call gst_controller_init() at start
12252           of all tests.
12253
12254 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12255
12256         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12257         (gst_controller_set_from_list):
12258           Don't g_return_val_if_fail() on timed values with invalid timestamps
12259           inside a critical section without unlocking the mutex. Spotted by
12260           René Stadler. (#357617)
12261           Also, fix up refcounting properly: when returning an existing
12262           controller, we should increase the reference only once and not
12263           once per property and when trying to control a property again
12264           we should also increase the refcount.
12265
12266 2006-09-29  Wim Taymans  <wim@fluendo.com>
12267
12268         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12269         * libs/gst/net/gstnettimeprovider.c:
12270         (gst_net_time_provider_thread):
12271         Stop reading commands when EOF as well.
12272
12273         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12274         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12275         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12276         Unify description of the dump property.
12277
12278 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12279
12280         * tests/examples/manual/.cvsignore:
12281         OK, so it's actually cvsignore that needs changing. Stop laughing.
12282
12283 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12284
12285         * tests/examples/manual/Makefile.am:
12286         Gah, declare vars *before* using them
12287
12288 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12289
12290         * gst/gst.c: (init_pre), (scan_and_update_registry),
12291         (ensure_current_registry_nonforking),
12292         (ensure_current_registry_forking), (ensure_current_registry),
12293         (init_post), (gst_debug_help), (gst_deinit):
12294         * gst/gst_private.h:
12295         * gst/gstregistry.c: (gst_registry_finalize),
12296         (gst_registry_remove_features_for_plugin_unlocked),
12297         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12298         (gst_registry_scan_path),
12299         (_priv_gst_registry_remove_cache_plugins),
12300         (_priv_gst_registry_cleanup):
12301         * gst/gstregistry.h:
12302         Re-commit the registry changes, along with an extra fix:
12303           When a cached plugin is encountered at a different file path,
12304           update the stored path in the registry cache so that the parent
12305           process knows where it actually is now when it re-reads the registry
12306           cache. Fixes the thing that broke distcheck with the previous commit.
12307
12308         * tests/check/Makefile.am:
12309         Clean up files named 'core' too when running make clean.
12310
12311         * tests/examples/manual/Makefile.am:
12312         Set up a registry path for running these tests, and clean it properly
12313         for distcheck.
12314
12315 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12316
12317         * configure.ac:
12318         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12319         want gmodule-no-export-2.0.pc instead so that we don't drag in
12320         --export-dynamic on every project that links to GStreamer.
12321
12322         Also, make our export regex only match the start of symbols, rather 
12323         than any symbol that contains '_gst' somewhere.
12324
12325         * libs/gst/check/Makefile.am:
12326         The libgstcheck we build does however need export-dynamic, as it
12327         produces some symbols that don't match our _gst... style regex.
12328         Fixes: #318031
12329
12330 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12331
12332         * gst/gst.c: (init_pre), (scan_and_update_registry),
12333         (ensure_current_registry_nonforking),
12334         (ensure_current_registry_forking), (ensure_current_registry),
12335         (init_post), (gst_debug_help), (gst_deinit):
12336         * gst/gst_private.h:
12337         * gst/gstregistry.c: (gst_registry_finalize),
12338         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12339         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12340         (_gst_registry_cleanup):
12341         * gst/gstregistry.h:
12342           Revert previous change until I figure out why it breaks distcheck.
12343
12344 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12345
12346         * gst/gst.c: (init_pre), (scan_and_update_registry),
12347         (ensure_current_registry_nonforking),
12348         (ensure_current_registry_forking), (ensure_current_registry),
12349         (init_post), (gst_debug_help), (gst_deinit):
12350
12351           Make init_pre and init_post take the full complement of GOptionFunc
12352           args so they can return useful GErrors. Make the registry updating
12353           functions do so.
12354
12355           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12356           ensure that the registry we're about to write out doesn't contain
12357           stale information about old-deleted plugin files.
12358
12359           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12360           that deletion of plugin files is considered a registry change.
12361
12362         * gst/gst_private.h:
12363         * gst/gstregistry.c: (gst_registry_finalize),
12364         (gst_registry_remove_features_for_plugin_unlocked),
12365         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12366         (gst_registry_scan_path),
12367         (_priv_gst_registry_remove_cache_plugins),
12368         (_priv_gst_registry_cleanup):
12369         * gst/gstregistry.h:
12370         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12371         by adding _priv prefix, so that they won't appear in the global
12372         symbol table. They still do atm though because of #318031. Move the
12373         prototypes to gst_private.h
12374
12375         When removing a plugin, remove all features for that plugin too. 
12376         Fixes #340878.
12377
12378 2006-09-27  Wim Taymans  <wim@fluendo.com>
12379
12380         * docs/random/moving-plugins:
12381         Make it clear that the "compiled-in descriptions" really mean
12382         the element details.
12383
12384         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12385         (gst_base_sink_wait_preroll):
12386         Update docs.
12387
12388         * docs/libs/gstreamer-libs-sections.txt:
12389         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12390         (gst_base_src_get_range), (gst_base_src_activate_push):
12391         * libs/gst/base/gstbasesrc.h:
12392         Added function to block while waiting for PLAYING, this function
12393         is used by live sources that block on the clock.
12394         API: gst_base_src_wait_playing()
12395
12396 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12397
12398         Patch by: Peter Kjellerstedt <pkj at axis com>
12399
12400         * Makefile.am:
12401           gst-element-check.m4 is generated and should therefore be
12402           copied from the build dir rather than the source dir (#357593).
12403           'make distcheck' hasn't noticed this because we were disting
12404           the file as well, so stop doing that.
12405
12406 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12407
12408         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12409           Add some tests for gst_caps_intersect().
12410
12411         * tools/gst-launch.c: (event_loop):
12412           Print all buffering percentages we get, even the 100% one.
12413
12414 2006-09-26  Wim Taymans  <wim@fluendo.com>
12415
12416         * tools/gst-inspect.c: (print_element_properties_info),
12417         (print_signal_info):
12418         Fix printing of flags to match the look of enums.
12419
12420 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12421
12422         * gst/gstelementfactory.c:
12423           Fix typo in docs blurb.
12424
12425 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12426
12427         * gst/gsturi.c: (search_by_entry):
12428           Don't assert/crash here if a uri handler doesn't return any
12429           supported protocols. The list of protocols could be generated
12430           dynamically at runtime or at plugin registration, and an error
12431           in the underlying library shouldn't be fatal (#353301).
12432
12433 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12434
12435         * gst/gstinfo.c:
12436           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12437           (spotted by Peter Kjellerstedt).
12438
12439 2006-09-23  Wim Taymans  <wim@fluendo.com>
12440
12441         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12442
12443         * libs/gst/base/gstbasesrc.c:
12444         (gst_base_src_default_check_get_range), (gst_base_src_start),
12445         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12446         (gst_base_src_change_state):
12447         Match _start/_stop calls in the activate functions. Remove redundant
12448         _stop call from the state change function. Fixes #356910.
12449         Turn failure DEBUG into ERROR. 
12450
12451 2006-09-22  Wim Taymans  <wim@fluendo.com>
12452
12453         * docs/design/part-buffering.txt:
12454         * gst/gstmessage.c: (gst_message_new_buffering),
12455         (gst_message_parse_buffering):
12456         Update docs about buffering.
12457
12458         * docs/design/part-trickmodes.txt:
12459         Fix typo.
12460
12461 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12462
12463         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12464         (gst_controller_new_list):
12465           Ref instances when returning them again (fixes #357180)
12466
12467 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12468
12469         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12470           Don't forget to release proxy lock when there's an error.
12471
12472 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12473
12474         * gst/gstcaps.h:
12475           Add extra initialisers for Caps things, to fix some plugin warnings
12476           when using -Wextra
12477
12478 2006-09-18  Wim Taymans  <wim@fluendo.com>
12479
12480         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12481           Also set template on the internal pad so that a getcaps from the 
12482           target pad returns the template caps.
12483
12484 2006-09-18  Wim Taymans  <wim@fluendo.com>
12485
12486         * gst/gstelement.c: (gst_element_post_message),
12487         (gst_element_dispose):
12488         Use _DEBUG_OBJECT some more.
12489
12490         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12491         Avoid typechecks.
12492
12493         * tools/gst-launch.c: (main):
12494         If the toplevel element is not a GstPipeline, it must be put in a
12495         pipeline so that a bus and clock is selected.
12496
12497 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12498
12499         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12500           JITTER, RATE, and LATENCY query should be handled by the
12501           default case and not by the CONVERT query code.
12502
12503 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12504
12505         * gst/gstformat.c: (gst_format_register):
12506           Fix locking order (must take lock before using n_values).
12507
12508         * gst/gstvalue.c: (gst_value_serialize_enum),
12509         (gst_value_deserialize_enum_iter_cmp),
12510         (gst_value_deserialize_enum):
12511           Fix serialisation/deserialisation of custom registered GstFormats.
12512
12513         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12514           Unit test for custom format serialisation/deserialisation.
12515
12516 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12517
12518         * docs/pwg/building-boiler.xml:
12519         * plugins/elements/gstcapsfilter.c:
12520         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12521         section.
12522
12523 2006-09-16  Edward Hervey  <edward@fluendo.com>
12524
12525         * libs/gst/base/gstbasetransform.c:
12526         (gst_base_transform_buffer_alloc):
12527         Check if requested caps are the same as the sinks caps IF
12528         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12529         is FALSE.
12530         This fixes the renegotiation issues stated in #352827.
12531
12532 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12533
12534         * configure.ac:
12535         * docs/manual/advanced-autoplugging.xml:
12536         * tests/examples/Makefile.am:
12537         * tests/examples/manual/.cvsignore:
12538         * tests/examples/manual/Makefile.am:
12539         * tests/examples/manual/extract.pl:
12540           Extract the manual examples again like we used to do.
12541           Fix one of them.
12542
12543 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12544
12545         * win32/common/config.h:
12546           update for version
12547
12548 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12549
12550         * gst/gsterror.c:
12551           Documents how to receive errors.
12552
12553 2006-09-15  Wim Taymans  <wim@fluendo.com>
12554
12555         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12556         (event_loop), (main):
12557         Added some comments here and there.
12558         Post an application message when an interrupt is caught instead of doing
12559         an uncontrolled state change.
12560         Clean up the event loop.
12561         Handle buffering messages, pause/resume the pipeline.
12562         Make shutdown because of an interrupt more reliable.
12563
12564 2006-09-15  Wim Taymans  <wim@fluendo.com>
12565
12566         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12567         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12568         (gst_base_sink_preroll_object):
12569         Make sure that our internal state is correct when we commit our state
12570         asynchronously. This solves a race where a state change to PLAYING
12571         could cause the sink to remain blocked in preroll in some situations.
12572
12573 2006-09-15  Wim Taymans  <wim@fluendo.com>
12574
12575         * tools/gst-inspect.c: (print_element_properties_info),
12576         (print_signal_info):
12577         List flags as hex so it's easier to deal with.
12578
12579 2006-09-15  Wim Taymans  <wim@fluendo.com>
12580
12581         * docs/libs/gstreamer-libs-sections.txt:
12582         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12583         (gst_base_sink_do_sync):
12584         * libs/gst/base/gstbasesink.h:
12585         Expose logic to wait for preroll so that subclasses such as audiosink
12586         can also use this method.
12587         API: gst_base_sink_wait_preroll()
12588
12589 2006-09-15  Wim Taymans  <wim@fluendo.com>
12590
12591         * gst/gstobject.c: (gst_object_set_parent):
12592         * gst/gstpipeline.c: (do_pipeline_seek):
12593         Small cleanups in docs and code.
12594
12595         * gst/gstsegment.c: (gst_segment_clip):
12596         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12597         if stop == start and start is in the segment, no clipping should be
12598         done. Also add a test for this.
12599
12600 2006-09-15  Wim Taymans  <wim@fluendo.com>
12601
12602         * docs/design/part-buffering.txt:
12603         * docs/gst/gstreamer-sections.txt:
12604         * gst/gstmessage.c: (gst_message_new_buffering),
12605         (gst_message_parse_buffering):
12606         * gst/gstmessage.h:
12607         Added methods to create and parse BUFFERING messages.
12608         Added preliminary docs about buffering.
12609         API: gst_message_new_buffering
12610         API: gst_message_parse_buffering
12611
12612 2006-09-06  Wim Taymans  <wim@fluendo.com>
12613
12614         * gst/gstbin.c:
12615         Update documentation.
12616
12617         * gst/gstelement.c: (gst_element_class_init),
12618         (gst_element_release_request_pad), (gst_element_set_clock),
12619         (gst_element_get_index), (gst_element_add_pad),
12620         (gst_element_remove_pad), (gst_element_get_random_pad),
12621         (gst_element_send_event), (gst_element_get_query_types),
12622         (gst_element_query), (gst_element_post_message),
12623         (gst_element_message_full), (gst_element_continue_state),
12624         (gst_element_lost_state), (gst_element_save_thyself),
12625         (gst_element_restore_thyself):
12626         Documentation updates.
12627         Rename last bit of the new-pad -> pad-added signal rename.
12628         Fix the case where an element query would only work if the source
12629         pad was linked.
12630         Avoid some useless type checking in message handling.
12631
12632         * gst/gstevent.c:
12633         * gst/gstevent.h:
12634         * gst/gstutils.c:
12635         Documentation updates.
12636
12637 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12638
12639         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12640           add an INFO line for when we actually update the fd
12641
12642 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12643
12644         * configure.ac:
12645           back to TRUNK
12646
12647 === release 0.10.10 ===
12648
12649 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12650
12651         * configure.ac:
12652           releasing 0.10.10, "Pais"
12653
12654 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12655
12656         * docs/manual/advanced-position.xml:
12657           Fix typo in sample code.
12658
12659 2006-09-05  Wim Taymans  <wim@fluendo.com>
12660
12661         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12662         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12663         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12664         * libs/gst/net/gstnetclientclock.h:
12665         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12666         * libs/gst/net/gstnettimepacket.h:
12667         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12668         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12669         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12670         * libs/gst/net/gstnettimeprovider.h:
12671         Make stuff compile on windows. Fixes #345295.
12672
12673 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12674
12675         * gst/gst.c: (ensure_current_registry_forking):
12676           Print better details when child was terminated by signal.
12677
12678 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12679
12680         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12681           Print a warning rather than g_assert() if a plugin feature
12682           is a URI handler but returns no protocols (#353976).
12683
12684 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12685
12686         * docs/random/moving-plugins:
12687         Fix two typos.         
12688
12689 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12690
12691         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12692           Fix locking order, handle NULL function values properly.
12693
12694         * gst/gstinfo.h:
12695           Fix docs.
12696
12697         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12698           Initialise variable before using it and fix debug statement to
12699           print the address of the function rather than the address of the
12700           variable on the stack holding the address of the function.
12701
12702 2006-09-01  Wim Taymans  <wim@fluendo.com>
12703
12704         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12705         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12706         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12707         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12708         (gst_ghost_pad_parent_unset),
12709         (gst_ghost_pad_internal_do_activate_push),
12710         (gst_ghost_pad_internal_do_activate_pull),
12711         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12712         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12713         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12714         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12715         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12716         (gst_ghost_pad_new_no_target_from_template),
12717         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12718         More cleanups.
12719         Avoid needless typechecking in macros.
12720         Since the internal pad is always present and never changes, there is
12721         no need to locking or ref when retrieving it.
12722         Improve debugging a bit.
12723         Handle link errors when setting the target. Fixes #341029.
12724
12725 2006-09-01  Wim Taymans  <wim@fluendo.com>
12726
12727         * docs/libs/gstreamer-libs-sections.txt:
12728         * docs/plugins/gstreamer-plugins-sections.txt:
12729         Fix docs some more.
12730
12731         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12732         (gst_collect_pads_event):
12733         * libs/gst/base/gstcollectpads.h:
12734         Documentation updates.
12735         Free queued buffer when removing a pad.
12736
12737 2006-08-31  Michael Smith  <msmith@fluendo.com>
12738
12739         * gst/gstutils.c: (gst_element_link_pads),
12740         (gst_element_link_pads_filtered):
12741           Ensure that we set a capsfilter to NULL if we failed to link it
12742           when doing filtered linking, to avoid criticals.
12743
12744           No need to check for unreffing srcpad, which is explicly NULLed
12745           above (a trivial code cleanup).
12746
12747 2006-08-31  Wim Taymans  <wim@fluendo.com>
12748
12749         * docs/design/part-gstghostpad.txt:
12750         Update ascii art in documentation.
12751
12752         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12753         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12754         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12755         (gst_ghost_pad_internal_do_activate_push),
12756         (gst_ghost_pad_internal_do_activate_pull),
12757         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12758         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12759         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12760         (gst_ghost_pad_set_target):
12761         Small cleanups and leak fixes.
12762         Remove some checks now that the internal pad is never NULL.
12763         Fix the case where linking pads without a target would create nasty
12764         criticals. Fixes #341029.
12765         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12766         value of _set_target().
12767
12768         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12769         (gst_ghost_pad_suite):
12770         Some more tests for creating and linking untargeted ghostpads.
12771
12772 2006-08-31  Edward Hervey  <edward@fluendo.com>
12773
12774         * docs/gst/gstreamer-sections.txt:
12775         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12776         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12777         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12778         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12779         (gst_ghost_pad_new_from_template),
12780         (gst_ghost_pad_new_no_target_from_template):
12781         * gst/gstghostpad.h:
12782         Refactored *_new() functions.
12783         Templates are now used as a g_object_new() parameter.
12784         Use template in _do_getcaps() if we don't have a target.
12785         Small documentation cleanups.
12786         Added two new constructors:
12787         gst_ghost_pad_new_from_template()
12788         gst_ghost_pad_new_no_target_from_template()
12789         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12790         (gst_ghost_pad_suite):
12791         Added tests for new ghostpad instanciation functions.
12792
12793         API additions: gst_ghost_pad_new_from_template,
12794         gst_ghost_pad_new_no_target_from_template
12795
12796 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12797
12798         * docs/random/ensonic/profiling.txt:
12799           Ideas about qos profiling.
12800
12801 2006-08-29  Wim Taymans  <wim@fluendo.com>
12802
12803         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12804         Code cleanups.
12805         Fix memleak.
12806
12807 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12808
12809         * gst/gstxml.c:
12810           Improve and detypofy docs.
12811
12812         * tests/check/Makefile.am:
12813         * tests/check/gst/.cvsignore:
12814         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12815           Add a basic test suite for GstXML.
12816
12817 2006-08-29  Wim Taymans  <wim@fluendo.com>
12818
12819         * gst/gstelement.c: (activate_pads), (clear_caps),
12820         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12821         Clear the pad caps when the element shut down all of the pads and
12822         is not streaming data that could modify the caps. 
12823         Fixes #352958.
12824
12825 2006-08-28  Michael Smith  <msmith@fluendo.com>
12826
12827         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12828           Revert previous change; I misunderstood single-segment mode.
12829
12830 2006-08-28  Michael Smith  <msmith@fluendo.com>
12831
12832         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12833           Unset DISCONT on buffers when using single-segment mode.
12834
12835 2006-08-28  Wim Taymans  <wim@fluendo.com>
12836
12837         * gst/gstcaps.c: (gst_caps_merge_structure):
12838         * gst/gstcaps.h:
12839         Fix docs and indentation again.
12840
12841         * tests/check/gst/gstquery.c: (GST_START_TEST):
12842         Fix leak in tests and add some more tests.
12843
12844 2006-08-28  Edward Hervey  <edward@fluendo.com>
12845
12846         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12847         Inform GstSegment of the last stop position in order for the current
12848         segment to have a proper duration if it doesn't have a specific stop
12849         position from which a duration could be calculated.
12850         This bug was noticeable when a non-flushing, non-update new segment was
12851         followed by another segment (all buffers from the new segment were being
12852         dropped).
12853
12854 2006-08-28  Wim Taymans  <wim@fluendo.com>
12855
12856         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12857         Small comment update.
12858
12859         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12860         (gst_identity_transform_ip):
12861         Drop-probability is broken, mention this in the code with a 
12862         FIXME and also in the property description.
12863         Make silent also be silent about the drop messages.
12864
12865 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12866
12867         * docs/manual/appendix-win32.xml:
12868           Remove mention of popt, we don't depend on that any
12869           longer (#353136). Add some comments pointing out that
12870           this section is slightly outdated.
12871
12872 2006-08-28  Wim Taymans  <wim@fluendo.com>
12873
12874         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12875
12876         * gst/gstquery.c: (gst_query_new_segment):
12877         * tests/check/gst/gstquery.c: (GST_START_TEST):
12878         Initialize variables when creating a new segment query.
12879         Fixes #353121.
12880
12881 2006-08-28  Wim Taymans  <wim@fluendo.com>
12882
12883         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12884
12885         * gst/gstelement.c: (gst_element_get_bus):
12886         * tests/check/gst/gstelement.c: (GST_START_TEST):
12887         Check for NULL before _reffing the bus. Fixes #353122.
12888
12889 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12890
12891         * docs/manual/basics-bus.xml:
12892           Docs update: fix wrong callback return value explanation; add
12893           some lines about the implicit relationship between main loop
12894           and main context; remove duplicate main loop variable declaration.
12895
12896 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12897
12898         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12899           Don't leak caps in unit test; add a few more simple
12900           checks. 
12901
12902 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12903
12904         * docs/gst/gstreamer-sections.txt:
12905         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12906         (gst_caps_structure_is_subset), (gst_caps_merge),
12907         (gst_caps_merge_structure):
12908         * gst/gstcaps.h:
12909         * libs/gst/base/gstbasetransform.c:
12910         (gst_base_transform_transform_caps):
12911         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12912           implement caps merging (fixes #352580)
12913
12914 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12915
12916         * tools/Makefile.am:
12917         * tools/gst-plot-timeline.py:
12918           add debug-log plotting developer tool (#340674)
12919
12920 2006-08-23  Wim Taymans  <wim@fluendo.com>
12921
12922         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12923         (gst_pad_stop_task):
12924         Improve debugging for task functions.
12925
12926         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12927         (gst_task_start), (gst_task_pause), (gst_task_join):
12928         Make sure that the task function started and finished after a 
12929         join(). 
12930         Don't try to push the task function on the threadpool multiple
12931         times.
12932         Improve the g_warning message with some useful suggestions
12933         about how to fix the problem. 
12934
12935 2006-08-23  Wim Taymans  <wim@fluendo.com>
12936
12937         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12938         Handle RESYNC correctly in _proxy_getcaps.
12939
12940 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12941
12942         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12943         (gst_xml_parse_memory), (gst_xml_get_element):
12944           Chain up to parent class in dispose function and also
12945           unref the elements in the toplevel_elements GList.
12946           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12947           Always return a reference in gst_xml_get_element() rather
12948           than only sometimes.
12949
12950         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12951           Don't leak GstXml object.
12952
12953 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12954
12955         * docs/gst/gstreamer-sections.txt:
12956         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12957         (gst_caps_merge):
12958         * gst/gstcaps.h:
12959         * libs/gst/base/gstbasetransform.c:
12960         (gst_base_transform_transform_caps):
12961           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12962           in a better way
12963
12964 2006-08-21  Edward Hervey  <edward@fluendo.com>
12965
12966         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12967         Implement GObject::dispose virtual method in GstXML so we can free the
12968         top_elements GList.
12969
12970 2006-08-21  Wim Taymans  <wim@fluendo.com>
12971
12972         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12973         (gst_buffer_create_sub):
12974         Copy duration/offset_end/caps when creating a subbuffer of the
12975         complete parent.
12976         Make the subbuffer read-only when we make the metadata writable for
12977         now. Fixes #351768.
12978
12979         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12980         Added check for metadata copy when creating subbuffers.
12981
12982 2006-08-21  Edward Hervey  <edward@fluendo.com>
12983
12984         * libs/gst/base/gstbasetransform.c:
12985         (gst_base_transform_buffer_alloc):
12986         Only call downstream buffer_alloc if transform element is passthrough
12987         or always_in_place. Closes #350449.
12988
12989 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12990
12991         * ChangeLog:
12992           ChangeLog surgery to add comments to previous changes
12993
12994 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12995
12996         * gst/gst.c:
12997           Add comments
12998
12999         * gst/gstpad.c: (gst_pad_set_active):
13000           Be more verbose in the log
13001
13002         * libs/gst/base/gstbasetransform.c:
13003         (gst_base_transform_transform_caps):
13004           Simplify caps to get rid of duplicates, fixes #345444
13005
13006 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13007
13008         * gst/gstvalue.c:
13009         * gst/gstvalue.h:
13010           Use these optimizations only internally.
13011
13012 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13013
13014         * gst/gstvalue.c: (gst_value_compare_list),
13015         (gst_value_compare_fraction_range),
13016         (gst_value_intersect_fraction_fraction_range),
13017         (gst_value_intersect_fraction_range_fraction_range),
13018         (gst_value_subtract_fraction_fraction_range),
13019         (gst_value_subtract_fraction_range_fraction_range),
13020         (gst_value_get_compare_func), (gst_value_compare),
13021         (gst_value_compare_with_func):
13022         * gst/gstvalue.h:
13023           Saves the expensive lookup of the compare function in many cases
13024          (#345444)
13025
13026 2006-08-18  Edward Hervey  <edward@fluendo.com>
13027
13028         * tests/check/gst/gstinfo.c: (gst_info_suite):
13029         Disable test that require gstdebug if it wasn't built in core.
13030
13031 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13032
13033         * docs/random/ensonic/logging.txt:
13034           update ideas
13035           
13036         * gst/gstinfo.c: (gst_debug_log_default):
13037           reorder fields, save some columns, add optional color codes for log
13038           levels
13039
13040 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13041
13042         * docs/random/ensonic/logging.txt:
13043           add ideas about making the logs a bit more useful
13044
13045 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13046
13047         * docs/pwg/advanced-events.xml:
13048         * docs/pwg/titlepage.xml:
13049           Update for 0.10 API (#340627). Add myself
13050           to authors list.
13051
13052 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13053
13054         * docs/libs/gstreamer-libs-docs.sgml:
13055         * docs/libs/gstreamer-libs-sections.txt:
13056         * libs/gst/check/gstbufferstraw.c:
13057           Make gstcheck stuff show up in docs (still needs to
13058           be documented properly though).
13059
13060 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
13061
13062         * docs/gst/gstreamer-sections.txt:
13063         * gst/Makefile.am:
13064         * gst/gst.c: (init_post):
13065         * gst/gst_private.h:
13066         * gst/gstquark.c: (_priv_gst_quarks_initialize):
13067         * gst/gstquark.h:
13068         * gst/gstquery.c: (gst_query_new_position),
13069         (gst_query_set_position), (gst_query_parse_position),
13070         (gst_query_new_duration), (gst_query_set_duration),
13071         (gst_query_parse_duration), (gst_query_new_convert),
13072         (gst_query_set_convert), (gst_query_parse_convert),
13073         (gst_query_new_segment), (gst_query_set_segment),
13074         (gst_query_parse_segment), (gst_query_new_seeking),
13075         (gst_query_set_seeking), (gst_query_parse_seeking):
13076         Add internal helpers for pre-registering quarks from static strings
13077         and using the quark values directly instead of looking them up when
13078         creating and parsing queries. Can be used for event construction too.
13079         Closes #350432.
13080
13081 2006-08-16  Wim Taymans  <wim@fluendo.com>
13082
13083         * gst/gstbin.c:
13084         Fix bogus docs.
13085
13086 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13087
13088         * gst/gstutils.c: (gst_util_set_value_from_string):
13089           Fix memleak (#351502).
13090
13091         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13092           Add unit test for most of gst_util_set_value_from_string()
13093           (not that one would want to encourage use of this function).
13094
13095 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13096
13097         * libs/gst/check/gstcheck.h:
13098           Use const gchar * variables in fail_unless_equals_string
13099           macro to avoid compiler warnings (and don't use tabs for
13100           indenting).
13101
13102 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13103
13104         * tools/gst-launch.c: (print_tag):
13105           More space on the left for the tag names, to cater
13106           for the 'extended comment' tag (not touching the
13107           string for the first line since it's translated).
13108
13109 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13110
13111         * libs/gst/check/gstcheck.h:
13112           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13113           print something when they fail.
13114
13115 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13116
13117         * docs/gst/gstreamer-sections.txt:
13118         * gst/gsttaglist.c: (_gst_tag_initialize):
13119         * gst/gsttaglist.h:
13120           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13121           Also change merge function for GST_TAG_COMMENT to
13122           use_first.
13123
13124 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13125
13126         * gst/gstinfo.c: (gst_debug_print_object):
13127           Make GST_PTR_FORMAT print messages as well.
13128
13129         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13130         (GST_START_TEST), (gst_info_suite):
13131           More tests.
13132
13133 2006-08-14  Edward Hervey  <edward@fluendo.com>
13134
13135         * gst/gstelementfactory.c: (gst_element_register):
13136         If the GstElementClass doesn't have a GstElementDetails with all fields
13137         filled up correctly (longname, description AND author), then error out
13138         nicely instead of crashing.
13139
13140 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13141
13142         * gst/gststructure.c:
13143           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13144
13145         * gst/gstvalue.h:
13146           Expand on the difference between arrays and lists as we use them.
13147           
13148 2006-08-14  Wim Taymans  <wim@fluendo.com>
13149
13150         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13151         If the parent state change function failed, don't assume we can safely
13152         stop the source, this will be done when the pads are deactivated.
13153
13154 2006-08-14  Wim Taymans  <wim@fluendo.com>
13155
13156         * gst/gstbuffer.c:
13157         * gst/gsttask.c: (gst_task_join):
13158         Small doc updates.
13159
13160         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13161         (gst_pad_stop_task):
13162         When pad (de)activation failed for some reason, restore the old
13163         activation mode and set the pad to flushing instead of assuming the
13164         pad is deactivated.
13165         If the _task_join() failed, reinstall the task on the pad so that it can
13166         be stopped later and return an error.
13167
13168 2006-08-11  Andy Wingo  <wingo@pobox.com>
13169
13170         * configure.ac:
13171         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13172         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13173         is only for users of API that don't want to see deprecated
13174         functions in the headers; people that want to compile out
13175         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13176         CFLAGS. Fixes the build of multifdsink, or will soon..
13177
13178 2006-08-11  Wim Taymans  <wim@fluendo.com>
13179
13180         * docs/gst/gstreamer-sections.txt:
13181         Add GstClockClass vmethod docs.
13182
13183         * gst/gstcaps.h:
13184         Mark #endif with comment for associated #if
13185
13186         * gst/gstclock.c: (gst_clock_id_wait):
13187         * gst/gstclock.h:
13188         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13189         most clock implementations.
13190         Document vmethods.
13191         Flesh out docs about resolution methods.
13192         API: GstClockClass::wait_jitter
13193
13194         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13195         (gst_system_clock_async_thread),
13196         (gst_system_clock_id_wait_jitter_unlocked),
13197         (gst_system_clock_id_wait_jitter):
13198         Use base class wait_jitter variant for improved performance
13199         due to less clock polling.
13200
13201 2006-08-11  Edward Hervey  <edward@fluendo.com>
13202
13203         * gst/gst.c: (gst_init_check), (init_post):
13204         Set gst as being initialized before scanning/updating the registry,
13205         since there might be my python plugin loader that calls gst_init() and
13206         we don't want to loop back in.
13207         Closes #350879
13208
13209 2006-08-11  Wim Taymans  <wim@fluendo.com>
13210
13211         * docs/design/part-qos.txt:
13212         Bring docs in line with the code. Mostly the sign of the jitter was
13213         wrong in the docs. Fixes #349943.
13214
13215         * gst/gstclock.c:
13216         Fix the docs for the jitter.
13217
13218         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13219         (gst_event_parse_tag), (gst_event_new_buffer_size),
13220         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13221         (gst_event_new_seek), (gst_event_parse_seek),
13222         (gst_event_new_navigation):
13223         Make sure the GstStructure has no parent when creating custom
13224         events.
13225         Add some more argument checking so that we avoid 0.0 rates.
13226         Flesh out the docs for the QoS event some more.
13227
13228 2006-08-11  Wim Taymans  <wim@fluendo.com>
13229
13230         * docs/gst/gstreamer-sections.txt:
13231         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13232         (ensure_current_registry_forking), (ensure_current_registry),
13233         (parse_one_option), (parse_goption_arg), (gst_deinit),
13234         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13235         * gst/gst.h:
13236         Doc updates.
13237         Added API and command line option to disable registry forking in
13238         addition to the environment variable.
13239         Constify some static arrays.
13240         Added some more debug.
13241         Don't deinit twice.
13242         API: gst_registry_fork_is_enabled()
13243         API: gst_registry_fork_set_enabled()
13244         API: --gst-disable-registry-fork command line option
13245         Fixes #348918.
13246
13247 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13248
13249         * gst/gst.c: (gst_init):
13250           Fix typo in error message.
13251
13252 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13253
13254         * libs/gst/controller/gstcontroller.h:
13255           fix ABI size-correction
13256
13257         * tests/check/libs/gdp.c: (gst_dp_suite):
13258           make tests that use deprecated API conditional
13259
13260 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13261
13262         * docs/libs/gstreamer-libs-sections.txt:
13263         * libs/gst/controller/gstcontroller.c:
13264         (_gst_controller_get_property), (_gst_controller_set_property),
13265         (_gst_controller_init), (_gst_controller_class_init):
13266         * libs/gst/controller/gstcontroller.h:
13267         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13268         (gst_object_set_control_rate):
13269           API: add gst_object_{s,g}et_control_rate(), add private data section,
13270           fix docs
13271
13272         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13273         * libs/gst/dataprotocol/dataprotocol.h:
13274           add deprecation guards to make gtk-doc happy and allow disabling cruft
13275
13276 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13277
13278         * tests/check/Makefile.am:
13279         * tests/check/gst/.cvsignore:
13280           Let's enable the new unit test as well.
13281
13282 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13283
13284         * configure.ac:
13285         * docs/gst/gstreamer-sections.txt:
13286         * gst/gstconfig.h.in:
13287         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13288         (_gst_info_printf_extension_ptr),
13289         (_gst_info_printf_extension_segment):
13290           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13291           register that lets us easily dump GstSegments into debug
13292           logs (#350419).
13293
13294         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13295         (info_segment_format_printf_extension), (gst_info_suite):
13296           Add simple unit test that logs a bunch of different segments (not
13297           valgrinded at the moment because of leaks in
13298           gst_debug_add_log_function).
13299
13300 2006-08-09  Edward Hervey  <edward@fluendo.com>
13301
13302         * libs/gst/base/gstbasetransform.c:
13303         (gst_base_transform_buffer_alloc):
13304         Even if we can't figure out the proper format to request downstream,
13305         call buffer_alloc() downstream with the input parameters without setting
13306         the caps on the srcpad. This will force negotiation in the chain
13307         function.
13308         Closes #350449
13309
13310 2006-08-08  Edward Hervey  <edward@fluendo.com>
13311
13312         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13313         Unlinking from a pad without a target is now a perfectly valid case
13314         which should NOT raise an assertion.
13315         This case would happen if a linked ghostpad its target set to NULL after
13316         it was previously linked.
13317
13318 2006-08-08  Edward Hervey  <edward@fluendo.com>
13319
13320         * tests/check/libs/gdp.c:
13321         Also comment out the test (see below).
13322
13323 2006-08-08  Edward Hervey  <edward@fluendo.com>
13324
13325         * tests/check/libs/gdp.c: (gst_dp_suite):
13326         Use the architecture information from config.h and not gcc macros
13327         in order to properly disable a test that fails on PPC64.
13328
13329 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13330
13331         * gst/gstelement.c: (gst_element_remove_pad):
13332           Don't crash printing the warning if the pad has no parent.
13333
13334 2006-08-02  Wim Taymans  <wim@fluendo.com>
13335
13336         * libs/gst/dataprotocol/dataprotocol.c:
13337         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13338         (gst_dp_crc), (gst_dp_header_payload_length),
13339         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13340         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13341         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13342         (gst_dp_event_from_packet), (gst_dp_validate_header),
13343         (gst_dp_validate_payload):
13344         Make debug category static
13345         Constify the crc table.
13346         Do some more arg checking in public functions.
13347         Fix some docs and do some small cleanups.
13348
13349         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13350         Add some more checks to see if GDP deals with bogus input.
13351
13352 2006-07-31  Wim Taymans  <wim@fluendo.com>
13353
13354         * gst/gstvalue.c: (gst_value_compare_list):
13355         Fix GstValueList comparison code. Fixes #347293.
13356
13357         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13358         Check to test GstValueList comparison.
13359
13360 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13361
13362         * gst/gstelementfactory.c: (gst_element_factory_create):
13363         Remove unnecessary ref/unref pair
13364
13365         * gst/parse/grammar.y:
13366         Make sure to free the parse buffer on all code paths.
13367         Move a g_free up to the error handler where it's easier to see.
13368
13369         * tests/check/gst/gstevent.c: (test_event):
13370         Extending timeout for downstream travelling events to 10 seconds to
13371         hopefully avoid intermittent failure on the buildbots.
13372
13373         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13374         Don't manually set the state of the src element - it will happen as a
13375         natural consequence of the pipeline changing state, and that way it
13376         will do it in the right order too.
13377
13378 2006-07-31  Wim Taymans  <wim@fluendo.com>
13379
13380         * libs/gst/base/gstbasetransform.c:
13381         (gst_base_transform_buffer_alloc):
13382         Use OBJECT_LOCK and refcounting to get the pad caps in the
13383         buffer_alloc function because the caps could change while we are
13384         busy with them. Fixes #349105
13385
13386 2006-07-31  Wim Taymans  <wim@fluendo.com>
13387
13388         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13389         Protect _PAD_CAPS with OBJECT_LOCK.
13390
13391 2006-07-31  Wim Taymans  <wim@fluendo.com>
13392
13393         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13394         (gst_pad_get_property), (gst_pad_activate_pull),
13395         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13396         (gst_pad_set_activate_function),
13397         (gst_pad_set_activatepull_function),
13398         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13399         (gst_pad_set_getrange_function),
13400         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13401         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13402         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13403         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13404         (gst_pad_set_acceptcaps_function),
13405         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13406         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13407         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13408         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13409         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13410         (gst_pad_configure_sink), (gst_pad_configure_src),
13411         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13412         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13413         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13414         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13415         (gst_pad_send_event):
13416         Use _DEBUG_OBJECT when it makes sense.
13417         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13418         Small cleanups and code reflows.
13419         Avoid caps refcounting in _accept_caps.
13420         Refactor alloc_buffer so that the code performed on the peer is in a
13421         separate function. Also if the pad does not implement a buffer alloc
13422         function, we should still check if the pad is flushing before falling
13423         back to the default allocator.
13424
13425 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13426
13427         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13428         Make all uses of identity and fakesink have silent=true to avoid
13429         serialising every passing data structure, which is breaking tests
13430         on FC4 for some unknown reason.
13431
13432 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13433
13434         * gst/parse/Makefile.am:
13435         * gst/parse/grammar.y:
13436         * gst/parse/parse.l:
13437           Reverted previous patch as it required to bump the flex dependency to
13438           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13439
13440 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13441
13442         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13443
13444         * gst/parse/Makefile.am:
13445         * gst/parse/grammar.y:
13446         * gst/parse/parse.l:
13447           push & pop the state of the lexer for reentrant use case
13448           Fixes #349180
13449
13450 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13451
13452         * libs/gst/base/gstbasesrc.h:
13453           Note in the docs that the ::newsegment vfunc is not actually used by
13454           GstBaseSrc.
13455
13456 2006-07-28  Wim Taymans  <wim@fluendo.com>
13457
13458         * libs/gst/base/gstcollectpads.c:
13459         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13460         (gst_collect_pads_clear), (gst_collect_pads_flush),
13461         (gst_collect_pads_event), (gst_collect_pads_chain):
13462         When flushing a pad, also clear the queued buffer so that we don't
13463         accidentally use it when we shouldn't.
13464         Fix leaks by inreffing incomming buffer.
13465         Flush out queued buffers in case of errors.
13466         Fixes #347452.
13467
13468 2006-07-28  Wim Taymans  <wim@fluendo.com>
13469
13470         * docs/random/phonon-gst:
13471         Random notes about a Phonon backend.
13472
13473 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13474
13475         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13476         Extra debug output
13477         * tests/check/libs/gdp.c: (gst_dp_suite):
13478         Take a whack at fixing the ppc compile using a different define to
13479         disable the broken test.
13480
13481         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13482         Remove excess g_print()
13483
13484 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13485
13486         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13487         Oops, meant to uncomment this line too to dampen the noise a bit.
13488
13489 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13490
13491         * gst/parse/grammar.y:
13492         * gst/parse/parse.l:
13493         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13494         (GST_START_TEST), (parse_suite):
13495         Fix some of the leaks exposed by extending the parse-launch testsuite,
13496         and move the 3 I can't figure out into a separate test that won't run
13497         the pipelines unless the appropriate line is uncommented.
13498
13499 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13500
13501         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13502           Requesting 0 bytes before the end of the file should result in
13503           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13504           unit test.
13505
13506 2006-07-27  Wim Taymans  <wim@fluendo.com>
13507
13508         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13509         Fix useless assert, a uint is always positive.
13510
13511         * gst/gststructure.c: (gst_structure_nth_field_name),
13512         (gst_structure_foreach), (gst_structure_map_in_place):
13513         Check input arguments for public functions to avoid obvious crashes.
13514
13515         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13516         * plugins/elements/gstfakesink.h:
13517         Do less useless typechecking.
13518
13519 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13520
13521         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13522           Do not use mmap() by default since there are a number of error
13523           conditions that we would like to handle in a non-fatal way that
13524           will result in a SIGBUS if we use mmap(). Examples: external
13525           devices (USB harddrive, portable music player) being unplugged
13526           while in use; file on mounted CD/DVD that can't be read because
13527           the medium is partly damaged. Fixes #348455 and #348475.
13528
13529 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13530
13531         * gst/gstquery.h:
13532         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13533         rates are a gdouble
13534
13535 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13536
13537         * gst/gstregistry.c:
13538           Move big documentation comment into class section header, so that it
13539           appears in the API docs.
13540
13541 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13542
13543         * docs/gst/gstreamer-sections.txt:
13544         Oops. Commit the docs additions too for new API.
13545         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13546
13547 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13548
13549         * gst/gststructure.c: (gst_structure_id_set),
13550         (gst_structure_id_set_valist):
13551         * gst/gststructure.h:
13552         Add API for setting values into structures without performing
13553         a quark lookup, if the appropriate quark is already known.
13554
13555         API: gst_structure_id_set
13556         API: gst_structure_id_set_valist
13557
13558         * gst/parse/grammar.y:
13559         * gst/parse/parse.l:
13560         Remove some dead code shown by the coverage information.
13561         Don't throw a critical g_warning when encountering a syntax error,
13562         just warn and let the normal error path handle it.
13563
13564         * plugins/elements/gstelements.c:
13565         Bump the rank of filesink up to PRIMARY so that it is preferred over
13566         gnomevfssink for file:// sink uri's
13567
13568         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13569         (GST_START_TEST), (run_delayed_test),
13570         (gst_parse_test_element_base_init),
13571         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13572         (gst_parse_test_element_change_state),
13573         (gst_register_parse_element), (parse_suite):
13574         Beef up the tests for parse syntax to check that more error cases
13575         fail as they are supposed to. Increases the test coverage a bit.
13576
13577 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13578
13579         * docs/manual/basics-elements.xml:
13580           Fix gst_element_link() example.
13581
13582         * gst/gstutils.c:
13583           Mention in API docs that one should usually gst_bin_add()
13584           elements to a bin or pipeline before doing the linking.
13585           
13586 2006-07-26  Wim Taymans  <wim@fluendo.com>
13587
13588         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13589         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13590         Avoid function call for known types by keeping the buffer and
13591         subbuffer GType global.
13592
13593         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13594         Random silly optimisations in read() path.
13595
13596 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13597
13598         * tools/gst-launch.c: (main):
13599           If the top-level of the parse is a normal bin, it doesn't do the
13600           right logic to run as a top-level element, so place it inside a
13601           pipeline.
13602
13603 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13604
13605         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13606           Remove superfluous g_object_notify() calls, GObject does
13607           that for us automatically.
13608
13609 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13610
13611         * gst/gstinfo.h:
13612           on Win32, use dllspec to export the debug category symbols
13613
13614 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13615
13616         * gst/gsttaglist.c: (_gst_tag_initialize):
13617           Allow more than one GST_TAG_IMAGE per taglist.
13618
13619 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13620
13621         * gst/gstminiobject.c:
13622           update docs
13623         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13624         (gst_fd_src_create):
13625           log recurring events at LOG level
13626           add more debug for when the fd gets set
13627
13628 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13629
13630         * gst/gstparse.c: (gst_parse_launch):
13631           Also remove reentrance checks if flex is MT safe (#348179)
13632          Fix my empty ChangeLog entry below
13633
13634 2006-07-21  Andy Wingo  <wingo@pobox.com>
13635
13636         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13637
13638         * libs/gst/check/Makefile.am
13639         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13640         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13641         * libs/gst/check/gstbufferstraw.h:
13642         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13643         functions, thus proving I am still a GStreamer haxor. OK I wrote
13644         them a long time ago, but anyways.
13645
13646 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13647
13648         * configure.ac:
13649         * gst/gstparse.c: (gst_parse_launch):
13650           Check for flex version and omit mutex if we have a MT save flex
13651           (fixes #348179)
13652
13653 2006-07-21  Wim Taymans  <wim@fluendo.com>
13654
13655         * gst/gstparse.c: (gst_parse_launch):
13656         Protect recursive calls to _parse with a recursive mutex
13657         and busy flag.
13658
13659 2006-07-21  Wim Taymans  <wim@fluendo.com>
13660
13661         * tests/check/gst/gstpad.c: (GST_START_TEST):
13662         Fix leak in test.
13663
13664 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13665
13666         * gst/gstparse.c: (gst_parse_launch):
13667           Do not hang on recursive usage of gst_parse_launch()
13668
13669 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13670
13671         * gst/gsttaglist.c:
13672           Add some more docs, comments and FIXME 0.11s here and there
13673           and also fix some typos.
13674
13675 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13676
13677         * gst/gstsegment.h:
13678           Convert tabs to spaces for better readability. 
13679
13680 2006-07-20  Edward Hervey  <edward@fluendo.com>
13681
13682         * tests/check/libs/gdp.c: (gst_dp_suite):
13683         the test_buffer test fails at line 140 on ppc64 at the following
13684         check:
13685         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13686                 GST_BUFFER_FLAG_IN_CAPS),
13687                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13688         See bug #348114 for more details.
13689
13690 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13691
13692         * docs/pwg/advanced-scheduling.xml:
13693         * gst/gstpad.c:
13694           Fix typos (#348000).
13695
13696 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13697
13698         * docs/pwg/intro-basics.xml:
13699           Fix wrong links (#347927).
13700
13701 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13702
13703         * gst/gstregistry.h:
13704         * gst/gstregistryxml.c: (load_feature),
13705         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13706         * win32/common/config.h:
13707           make --disable-index work (#342564)
13708
13709 2006-07-18  Wim Taymans  <wim@fluendo.com>
13710
13711         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13712
13713         * gst/Makefile.am:
13714         * gst/gsttrace.h:
13715         The attached patch adds two missing defines to gsttrace.h when tracing
13716         is disabled.  It also corrects one existing define.
13717         Fixes #347756.
13718
13719 2006-07-17  Wim Taymans  <wim@fluendo.com>
13720
13721         * docs/gst/gstreamer-sections.txt:
13722         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13723         * gst/gst.h:
13724         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13725         Add two functions to check and change the SIGSEGV behaviour
13726         when loading plugins.
13727         Don't mess with the SIGSEGV handler when we were told not to.
13728         Fixes #347794.
13729         API: gst_segtrap_is_enabled
13730         API: gst_segtrap_set_enabled
13731
13732 2006-07-14  Wim Taymans  <wim@fluendo.com>
13733
13734         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13735         * tests/check/elements/filesrc.c: (GST_START_TEST):
13736         Revert fix for regression in #347408 after release.
13737
13738 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13739
13740         Patch by: Antoine Tremblay <hexa00 at gmail com>
13741
13742         * gst/gstutils.c: (gst_element_unlink):
13743           Free iterator when done (#347311).
13744
13745         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13746           And add a test case for this.
13747
13748 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13749
13750         * configure.ac:
13751         Bump nano back to CVS
13752
13753 === release 0.10.9 ===
13754
13755 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13756
13757         * configure.ac:
13758           releasing 0.10.9, "On the road again"
13759
13760 2006-07-13  Wim Taymans  <wim@fluendo.com>
13761
13762         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13763         * tests/check/elements/filesrc.c: (GST_START_TEST):
13764         Revert pull-0 fix for release. Disable check. Fixes #347408.
13765
13766 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13767
13768         * libs/gst/dataprotocol/dataprotocol.c:
13769         (gst_dp_event_from_packet_1_0):
13770           Fixes #347337: failure to deserialize event packets with
13771           empty payload (only event type)
13772
13773 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13774
13775         * gst/Makefile.am:
13776           do not install a .c file in the header directory
13777
13778 2006-07-13  Edward Hervey  <edward@fluendo.com>
13779
13780         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13781         GhostPad no longer implicitely use the padtemplates of the targets.
13782         Fixes #347384
13783
13784 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13785
13786         * gst/gstvalue.c: (gst_value_compare_list),
13787         (gst_value_compare_array), (_gst_value_initialize):
13788         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13789         Make GstValueArray comparison be order dependent as designed.
13790         Add checks for value lists and value array comparisons.
13791         Fixes #347221
13792
13793 2006-07-11  Edward Hervey  <edward@fluendo.com>
13794
13795         * gst/gstbin.c: (activate_pads),
13796         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13797         (gst_bin_change_state_func):
13798         (de)activate src pads before calling state_change on the childs.
13799         This is to avoid the case where a src ghostpad is blocked (holding the
13800         stream lock), which would block the deactivation of the ghostpad's
13801         target pad.
13802         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13803         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13804         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13805         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13806         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13807         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13808         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13809         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13810         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13811         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13812         (gst_ghost_pad_class_init),
13813         (gst_ghost_pad_internal_do_activate_push),
13814         (gst_ghost_pad_internal_do_activate_pull),
13815         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13816         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13817         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13818         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13819         GhostPads now create their internal GstProxyPad at creation (and not
13820         when they're linked, as it was being done previously).
13821         The internal and target pads are linked straight away.
13822         The data will also travel through the other pad in order to make
13823         pad blocking and probes non-hackish (the probe/block now really happens
13824         on the GhostPad and not on the target).
13825         * gst/gstpad.c: (gst_pad_set_blocked_async),
13826         (gst_pad_link_prepare), (gst_pad_push_event):
13827         Remove previous ghostpad cruft.
13828         * gst/gstutils.c: (gst_pad_add_data_probe),
13829         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13830         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13831         (gst_pad_remove_buffer_probe):
13832         Remove previous ghost pad cruft.
13833         Added more detailed debug statements.
13834         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13835         Fix the testsuite for refcounting changes.
13836         The comments about who has references were correct, but the refcount
13837         being checked wasn't the same (!?!).
13838
13839         Fixes #341029
13840
13841 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13842
13843         * docs/gst/gstreamer-sections.txt:
13844         * gst/gstconfig.h.in:
13845         More docs for configuration options, add docs to gtk-doc.
13846
13847 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13848
13849         * gst/Makefile.am:
13850         * gst/gstconfig.h.in:
13851         * win32/common/config.h:
13852         Fix build when disabling tracing (fixes #344016). Also start to document
13853         the defines that disable the sub-systems.
13854
13855 2006-07-10  Edward Hervey  <edward@fluendo.com>
13856
13857         * gst/gst.c: (ensure_current_registry_forking):
13858         let's make valgrind happy...
13859
13860 2006-07-09  Wim Taymans  <wim@fluendo.com>
13861
13862         * gst/gstelement.c: (activate_pads),
13863         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13864         Better pad activation code: Reset the collect value too on resync.
13865         Add some comments.
13866
13867 2006-07-09  Wim Taymans  <wim@fluendo.com>
13868
13869         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13870         (gst_pad_activate_push):
13871         Use some more macros where it makes sense.
13872         Allow pad mode switching instead of asserting. When a pad
13873         is activated in one mode and we activate it in another, 
13874         deactivate it first before activating it in a different mode.
13875         Fixes #329198.
13876
13877 2006-07-08  Andy Wingo  <wingo@pobox.com>
13878
13879         * tools/gst-launch.c (main): Handle err == NULL.
13880
13881         * gst/gst.c (init_post, ensure_current_registry)
13882         (ensure_current_registry_forking)
13883         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13884         factoring out the registry scanning into separate functions. Don't
13885         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13886         Better environment var name/interface suggestions accepted.
13887
13888 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13889
13890         * gst/gstobject.c: (gst_object_set_name_default),
13891         (gst_object_set_name):
13892           Random micro-optimisation: don't use a hash table
13893           with strings as keys and the usual strdup/strcmp
13894           involved, but rather just use the GQuark of the
13895           type name as key, since it needs to be looked up
13896           anyway to get the type name string.
13897
13898         * tests/check/gst/gstobject.c: (GST_START_TEST):
13899           Fix various leaks.
13900
13901 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13902
13903         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13904         (gst_bin_iterate_all_by_interface):
13905           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13906           GTypes are gulongs and thus the top 4 bytes might be cut
13907           off on some platforms when doing GPOINTER_TO_INT, leading
13908           to invalid GTypes and bad things happening (see RH bug #179654).
13909           Also add a check to make sure the type passed in is really
13910           an interface type.
13911
13912 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13913
13914         * .cvsignore:
13915           Ignore more.
13916
13917 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13918
13919         * Makefile.am:
13920         * configure.ac:
13921         * gst-element-check.m4:
13922         * gst-element-check.m4.in:
13923           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13924           instead of the unversioned gst-inspect (#324176, #168659).
13925
13926 2006-07-06  Wim Taymans  <wim@fluendo.com>
13927
13928         * gst/gstmessage.h:
13929         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13930         warnings.
13931
13932 2006-07-06  Wim Taymans  <wim@fluendo.com>
13933
13934         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13935         (gst_base_src_wait), (gst_base_src_update_length),
13936         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13937         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13938         (gst_base_src_loop), (gst_base_src_start),
13939         (gst_base_src_activate_pull):
13940         Update docs.
13941         blocksize == 0 now means the default blocksize when working in push
13942         based mode.
13943         Remove some pointless asserts in _wait function.
13944         Fix offset/length calculations and EOS handling. We can now pull 0
13945         bytes as well, which is allowed.
13946         use _check_get_range() to decide if we can operate in _pull based
13947         mode.
13948         Fix refcounting leak when check_get_range function was not 
13949         implemented.
13950         API GstBaseSrc::blocksize range can be 0 too now (default)
13951
13952         * tests/check/elements/filesrc.c: (GST_START_TEST),
13953         (filesrc_suite):
13954         Added check to test _get_range() behaviour.
13955
13956 2006-07-06  Wim Taymans  <wim@fluendo.com>
13957
13958         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13959         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13960         (gst_pad_pull_range):
13961         * gst/gstpad.h:
13962         Lots of comments and docs added to the pad functions.
13963         Flesh out the expected behaviour of the get_range() functions.
13964
13965 2006-07-06  Wim Taymans  <wim@fluendo.com>
13966
13967         * gst/gstbus.h:
13968         * gst/gstclock.h:
13969         * gst/gstevent.h:
13970         * gst/gstiterator.h:
13971         * gst/gstpad.h:
13972         * gst/gstplugin.h:
13973         * gst/gsttask.h:
13974         Remove comma at end of enumerator list. 
13975
13976 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13977
13978         * win32/common/libgstbase.def:
13979         * win32/common/libgstdataprotocol.def:
13980         * win32/common/libsgtreamer.def:
13981         Add new exported functions.
13982
13983 2006-07-05  Wim Taymans  <wim@fluendo.com>
13984
13985         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13986         Add some more docs here and there.
13987
13988 2006-07-05  Wim Taymans  <wim@fluendo.com>
13989
13990         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13991         (gst_base_sink_loop), (gst_base_sink_get_position):
13992         When operating in pull mode update the offset so that we
13993         read sequentially.
13994
13995 2006-07-05  Wim Taymans  <wim@fluendo.com>
13996
13997         * gst/gstregistryxml.c: (read_string):
13998         Avoid strdup. (will happen in libxml, but hey!)
13999
14000         * gst/gsturi.c:
14001         Add some more docs.
14002
14003 2006-07-05  Wim Taymans  <wim@fluendo.com>
14004
14005         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
14006         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
14007         (gst_buffer_suite):
14008         No point in checking if the size of the subbuffer > 0, the
14009         code handles it correclty as demonstrated by unit test.
14010         Also add a unit test for the zero sized _new_and_alloc and
14011         _copy. Fixes #346663.
14012
14013 2006-07-05  Wim Taymans  <wim@fluendo.com>
14014
14015         * libs/gst/base/gstbasetransform.c:
14016         (gst_base_transform_prepare_output_buffer),
14017         (gst_base_transform_buffer_alloc),
14018         (gst_base_transform_handle_buffer):
14019         Make sure the buffer we pass to transform_ip has a refcount of
14020         1 and thus is writable. Fixes #343196
14021
14022 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
14023
14024         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14025         (gst_file_src_init), (gst_file_src_set_property),
14026         (gst_file_src_get_property), (gst_file_src_map_region):
14027         * plugins/elements/gstfilesrc.h:
14028         Add "sequential" property, off by default, to use madvise and hint
14029         to the kernel that sequential access is desired.
14030         Touch all retrieved pages by default to ensure they are pulled
14031         into memory. (Closes #345720)
14032
14033 2006-07-03  Wim Taymans  <wim@fluendo.com>
14034
14035         * docs/design/part-block.txt:
14036         * docs/design/part-dynamic.txt:
14037         Small docs updates.
14038
14039 2006-07-03  Wim Taymans  <wim@fluendo.com>
14040
14041         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
14042         (gst_caps_unref), (gst_static_caps_get),
14043         (gst_caps_append_structure):
14044         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
14045         Use GSlice when the glib we build against is >= 2.10
14046
14047 2006-07-03  Wim Taymans  <wim@fluendo.com>
14048
14049         * gst/gstelement.c: (gst_element_pads_activate):
14050         Small cleanup in pad activation code.
14051
14052 2006-07-03  Wim Taymans  <wim@fluendo.com>
14053
14054         Patch by: Peter Kjellerstedt <pkj at axis dot com>
14055
14056         * gst/gst-i18n-app.h:
14057         * gst/gst-i18n-lib.h:
14058         * tools/gst-inspect.c: (print_signal_info):
14059         The attached patch will make the inclusion of gettext.h unconditional in
14060         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14061         libintl.h in tools/gst-inspect.c.
14062         This allows use of --disable-nls again and fixes #344642.
14063
14064 2006-07-03  Edward Hervey  <edward@fluendo.com>
14065
14066         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14067         Implement pad blocking on events according to part-block.txt.
14068         More comments on behaviour.
14069         * tests/check/gst/gstevent.c: (test_event):
14070         Send event to peer pad of blocked pad (else it will block).
14071
14072 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14073
14074         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14075         (gst_check_run_suite):
14076           if we get the wrong message, give us the types as string
14077         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14078           Fix a translatable
14079         * tests/check/elements/filesrc.c: (GST_START_TEST):
14080           add a test for trying to open a non-existing file
14081
14082 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14083
14084         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14085           add a test for adding self
14086
14087 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14088
14089         * libs/gst/check/gstcheck.h:
14090           add some assert_ as alias for fail_unless_*
14091         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14092           increase test coverage
14093
14094 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14095
14096         * Makefile.am:
14097           include lcov.mak for lcov coverage generation
14098         * tools/Makefile.am:
14099           add to CLEANFILES
14100
14101 2006-07-02  Edward Hervey  <edward@fluendo.com>
14102
14103         * tests/check/elements/.cvsignore:
14104         moaping
14105
14106 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14107
14108         * configure.ac:
14109           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14110         * tests/check/Makefile.am:
14111           clean up gcov files
14112
14113 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14114
14115         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14116           remove gst_caps_simplify; it was not declared and not used
14117           and deprecated in 0.8
14118
14119 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14120
14121         * docs/faq/gst-uninstalled:
14122           don't put empty paths on PYTHONPATH
14123         * docs/gst/gstreamer-sections.txt:
14124           remove some symbols that are not there
14125
14126 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14127
14128         * gst/gstcaps.c: (gst_caps_compare_structures):
14129           whitespace fixes
14130         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14131         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14132           add more tests
14133
14134 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14135
14136         * libs/gst/dataprotocol/Makefile.am:
14137           build dataprotocol test by linking to the lib, instead of
14138           compiling the source, so we get coverage
14139         * tests/check/Makefile.am:
14140         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14141         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14142           add a test for filesrc
14143
14144 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14145
14146         * tests/check/gst/gststructure.c: (GST_START_TEST),
14147         (gst_structure_suite):
14148           Push coverage from 59.04% to 70.00%
14149
14150 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14151
14152         * tests/check/Makefile.am:
14153           gst-inspect every element; this makes sure that we also get
14154           coverage on element's get/set functions
14155
14156 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14157
14158         * configure.ac:
14159           set CFLAGS and friends to -O0 if gcov is being used
14160           add GCOV LIBS
14161         * gst/Makefile.am:
14162         * libs/gst/base/Makefile.am:
14163         * libs/gst/check/Makefile.am:
14164         * libs/gst/controller/Makefile.am:
14165         * libs/gst/dataprotocol/Makefile.am:
14166         * libs/gst/net/Makefile.am:
14167         * plugins/elements/Makefile.am:
14168         * plugins/indexers/Makefile.am:
14169           add makefile rules to generate gcov data and clean up
14170         * tests/check/Makefile.am:
14171           add a coverage target that generates an html overview
14172           of coverage data
14173
14174 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14175
14176         * tests/check/elements/fakesink.c:
14177         * tests/check/elements/fakesrc.c:
14178         * tests/check/elements/fdsrc.c:
14179         * tests/check/elements/identity.c:
14180         * tests/check/generic/sinks.c: (gst_sinks_suite):
14181         * tests/check/generic/states.c:
14182         * tests/check/gst/gst.c:
14183         * tests/check/gst/gstabi.c:
14184         * tests/check/gst/gstbin.c:
14185         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14186         * tests/check/gst/gstbus.c: (gst_bus_suite):
14187         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14188         * tests/check/gst/gstelement.c:
14189         * tests/check/gst/gstevent.c: (gst_event_suite):
14190         * tests/check/gst/gstghostpad.c:
14191         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14192         * tests/check/gst/gstmessage.c: (gst_message_suite):
14193         * tests/check/gst/gstminiobject.c:
14194         * tests/check/gst/gstobject.c:
14195         * tests/check/gst/gstpad.c:
14196         * tests/check/gst/gstpipeline.c:
14197         * tests/check/gst/gstplugin.c:
14198         * tests/check/gst/gstquery.c: (gst_query_suite):
14199         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14200         * tests/check/gst/gststructure.c:
14201         * tests/check/gst/gstsystemclock.c:
14202         * tests/check/gst/gsttag.c:
14203         * tests/check/gst/gsttask.c: (gst_task_suite):
14204         * tests/check/gst/gstutils.c:
14205         * tests/check/gst/gstvalue.c:
14206         * tests/check/libs/adapter.c:
14207         * tests/check/libs/basesrc.c:
14208         * tests/check/libs/collectpads.c:
14209         * tests/check/libs/controller.c:
14210         * tests/check/libs/gdp.c: (gst_dp_suite):
14211         * tests/check/libs/gstnetclientclock.c:
14212         * tests/check/libs/gstnettimeprovider.c:
14213         * tests/check/libs/libsabi.c: (libsabi_suite):
14214         * tests/check/libs/typefindhelper.c:
14215         * tests/check/pipelines/cleanup.c:
14216         * tests/check/pipelines/parse-launch.c:
14217         * tests/check/pipelines/simple-launch-lines.c:
14218         * tests/check/pipelines/stress.c: (stress_suite):
14219           use the new macro
14220
14221 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14222
14223         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14224         * libs/gst/check/gstcheck.h:
14225           create a macro and function so that the simple unit test
14226           case can be just one macro to create main()
14227
14228 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14229
14230         * gst/gstbin.c: (gst_bin_restore_thyself):
14231         * gst/gstxml.c: (gst_xml_make_element):
14232           Fix deserialisation from XML. Set parent manually
14233           instead of using gst_bin_add(), since gst_bin_add()
14234           will unlink all pads of the element being added.
14235           Fixes #341667.
14236
14237 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14238
14239         Patch by: Peter Kjellerstedt <pkj at axis com>
14240
14241         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14242           Fix missing g_strdup() and double free when using the
14243           --gst-plugin-load command line option (#346097).
14244
14245 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14246
14247         * gst/gstinfo.c:
14248           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14249
14250         * libs/gst/net/gstnetclientclock.c:
14251         * libs/gst/net/gstnettimeprovider.c:
14252           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14253
14254 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14255
14256         * docs/manual/advanced-dataaccess.xml:
14257           Fix buffer probe example compilation in
14258           ADM (#345708).
14259         
14260 2006-06-22  Edward Hervey  <edward@fluendo.com>
14261
14262         * gst/gstelement.c: (gst_element_pads_activate):
14263         We need to deactivate src pads first and then sink pads.
14264         The reason is the src pads might be blocking while holding the streaming
14265         lock, so we need to deactivate them first so that deactivating the sink
14266         pads doesn't block (since it will require the streaming lock).
14267
14268 2006-06-22  Wim Taymans  <wim@fluendo.com>
14269
14270         * libs/gst/base/gstbasetransform.c:
14271         (gst_base_transform_buffer_alloc):
14272         Forgot to remove two unneeded unrefs.
14273         Simplify a check _is_equal allready checks the obvious case.
14274
14275 2006-06-22  Wim Taymans  <wim@fluendo.com>
14276
14277         * docs/design/part-block.txt:
14278         Some docs about what pad_block should do.
14279
14280 2006-06-22  Wim Taymans  <wim@fluendo.com>
14281
14282         * gst/gstcaps.c: (gst_caps_replace):
14283         Fix crasher when passed NULL. Doc clarification.
14284         Optimize for the trivial case.
14285
14286         * gst/gstpipeline.c: (gst_pipeline_change_state):
14287         Small cleanups.
14288
14289         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14290         Small documentation cleanup.
14291
14292         * libs/gst/base/gstbasetransform.c:
14293         (gst_base_transform_buffer_alloc):
14294         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14295         is what we need and it avoids a whole lot of redundant 
14296         refcount operations.
14297
14298 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14299
14300         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14301
14302         * docs/manual/advanced-dataaccess.xml:
14303           Fix 'Embedding static elements' section to use
14304           GST_PLUGIN_DEFINE_STATIC (#345607).
14305
14306 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14307
14308         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14309           Attempt to 'fix' spuriously failing test case: it seems like the
14310           timeout of half a second is simply too small when the system is under
14311           load otherwise, and the timeout doesn't really seem to serve any
14312           particular purpose here. Give the pipeline a few seconds to preroll
14313           first, and then give it another half a second to go from PAUSED to
14314           PLAYING and marshal the message into the main thread.
14315
14316 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14317
14318         * tools/gst-feedback-m.m:
14319           Don't only use unversioned tools, try versioned tools as well
14320           (#345086).
14321
14322 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14323
14324         * gst/gstbus.c: (gst_bus_class_init):
14325           Fix some typos, make docs more explicit.
14326
14327 2006-06-20  Wim Taymans  <wim@fluendo.com>
14328
14329         * tests/check/gst/gstghostpad.c: (block_callback),
14330         (GST_START_TEST), (gst_ghost_pad_suite):
14331         Added some more ghostpad tests, mainly blocking
14332         and probes.
14333
14334 2006-06-16  Wim Taymans  <wim@fluendo.com>
14335
14336         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14337         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14338         (gst_file_sink_event), (gst_file_sink_render):
14339         * plugins/elements/gstfilesink.h:
14340         Check if we can seek in the file instead of assuming
14341         we always can. Post an error when we are asked to seek in a
14342         non-seekable file (like a fifo). Fixes #343312.
14343         Some cleanups.
14344
14345 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14346
14347         * tools/gst-launch.1.in:
14348           Un-garble (fourcc) bit in filtered caps section.
14349
14350 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14351
14352         * docs/manual/advanced-autoplugging.xml:
14353         * docs/manual/basics-helloworld.xml:
14354         * docs/manual/highlevel-components.xml:
14355           Don't leak bus reference in sample code.
14356
14357 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14358
14359         * autogen.sh:
14360           Add default for new --enable-plugin-docs switch.
14361
14362         * configure.ac:
14363           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14364           Fixes #344039.
14365
14366         * docs/Makefile.am:
14367           Use new ENABLE_PLUGIN_DOCS conditional.
14368
14369 2006-06-14  Wim Taymans  <wim@fluendo.com>
14370
14371         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14372         Make it clear with a FIXME and a real define what the #if 0
14373         previously disabled.
14374
14375 2006-06-14  Wim Taymans  <wim@fluendo.com>
14376
14377         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14378         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14379         * libs/gst/base/gstbasetransform.c:
14380         (gst_base_transform_sink_eventfunc):
14381         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14382         Don't randomly and silently reset a segment when the format 
14383         changes as this is a bug somewhere upstream. Fixes #330379.
14384
14385 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14386
14387         Patch by: Wouter Paesen  <wouter at kangaroot net>
14388
14389         * libs/gst/controller/gstcontroller.c:
14390         (gst_controlled_property_new):
14391           Fix controlling of float properties (#344849).
14392
14393         * tests/check/libs/controller.c:
14394         (gst_test_mono_source_get_property),
14395         (gst_test_mono_source_set_property),
14396         (gst_test_mono_source_class_init), (GST_START_TEST):
14397           While we're at it, add some float stuff to unit test.
14398
14399 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14400
14401         * docs/README:
14402         * docs/images/gdp-header.svg:
14403           add a gdp image
14404         * docs/libs/Makefile.am:
14405         * docs/libs/gdp-header.png:
14406         * libs/gst/dataprotocol/dataprotocol.c:
14407           add it to the API docs
14408         * docs/manual/intro-motivation.xml:
14409           fix typo
14410
14411 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14412
14413         * gst/gst.c: (scan_and_update_registry), (init_post):
14414           If the fork()'ed child process can't write the updated registry cache
14415           file to disk for some reason, make it exit with a failure exit code,
14416           so that the parent can then re-scan the plugins itself and update the
14417           registry structures in memory and work with that (rather than failing
14418           when creating elements because seemingly no plugins are available).
14419           Refactor registry scanning code into separate function for this and
14420           also separate fork() and non-fork() code paths. Fixes #344748.
14421
14422 2006-06-13  Wim Taymans  <wim@fluendo.com>
14423
14424         * docs/manual/advanced-dataaccess.xml:
14425         Fix wrong PluginDesc. Fixes #344755.
14426
14427 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14428
14429         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14430           Fix silly bug that prevented us from creating
14431           ~/.gstreamer-0.10 and writing the registry in one
14432           go (the first call to g_mkstemp() would overwrite the
14433           placeholder in the template string, so the second call
14434           to g_mkstemp() after creating the missing directory
14435           would then error out with 'invalid argument').
14436
14437 2006-06-13  Edward Hervey  <edward@fluendo.com>
14438
14439         * gst/gst.c: (init_post):
14440         Free string.
14441
14442 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14443
14444         * gst/glib-compat-private.h:
14445         * gst/glib-compat.c:
14446         * gst/glib-compat.h:
14447         * gst/gstvalue.c: (gst_value_serialize_flags):
14448           remove GLib 2.6 compatibility code
14449
14450 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14451
14452         * gst/parse/Makefile.am:
14453           Fix build with 'make -j N' even more (#340016).
14454
14455 2006-06-12  Wim Taymans  <wim@fluendo.com>
14456
14457         * docs/gst/gstreamer-sections.txt:
14458         Fix docs.
14459
14460 2006-06-12  Wim Taymans  <wim@fluendo.com>
14461
14462         * gst/gstsegment.c: (gst_segment_set_duration),
14463         (gst_segment_set_last_stop), (gst_segment_set_seek),
14464         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14465         (gst_segment_to_running_time), (gst_segment_clip):
14466         Use G_UNLIKELY to help the compiler a bit.
14467
14468 2006-06-12  Wim Taymans  <wim@fluendo.com>
14469
14470         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14471
14472         * gst/gstevent.c: (gst_event_get_type):
14473         * gst/gstmessage.c:
14474         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14475         (gst_pad_push):
14476         constify quark registration strings. Fixes #344115
14477         Avoid unneeded type checking is _pad_push() by internally
14478         calling gst_pad_chain_unchecked().
14479
14480 2006-06-12  Wim Taymans  <wim@fluendo.com>
14481
14482         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14483         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14484         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14485         (gst_buffer_is_span_fast), (gst_buffer_span):
14486         Init _type for consistency.
14487         Use _FLAGS macro to avoid type check.
14488         Avoid unneeded type checks in subbufer code.
14489
14490 2006-06-12  Wim Taymans  <wim@fluendo.com>
14491
14492         * gst/gst.c: (gst_debug_help):
14493         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14494         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14495         (gst_plugin_feature_list_free):
14496         * gst/gstregistry.c: (gst_registry_add_plugin),
14497         (gst_registry_add_feature), (gst_registry_plugin_filter),
14498         (gst_registry_feature_filter), (gst_registry_find_plugin),
14499         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14500         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14501         * gst/gstregistryxml.c: (load_feature),
14502         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14503         * gst/gstminiobject.c: (gst_mini_object_unref),
14504         (gst_mini_object_replace), (gst_value_mini_object_free),
14505         (gst_value_mini_object_copy):
14506         Use _CAST macros to avoid unneeded type checking.
14507         Added some more G_UNLIKELY.
14508
14509 2006-06-12  Wim Taymans  <wim@fluendo.com>
14510
14511         * gst/gstbuffer.h:
14512         Avoid unneeded type checking.
14513         API: GST_BUFFER_IS_DISCONT
14514
14515         * gst/gstminiobject.h:
14516         Avoid type check in flag accessor.
14517
14518         * gst/gstelementfactory.h:
14519         * gst/gstplugin.h:
14520         * gst/gstpluginfeature.h:
14521         Add _CAST macros.
14522         API: GST_ELEMENT_FACTORY_CAST
14523         API: GST_PLUGIN_CAST
14524         API: GST_PLUGIN_FEATURE_CAST
14525
14526 2006-06-12  Wim Taymans  <wim@fluendo.com>
14527
14528         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14529         (gst_object_unref):
14530         Add G_UNLIKELY in type registration.
14531         Avoid type check in _ref/_unref since that is also
14532         done in glib.
14533
14534 2006-06-12  Wim Taymans  <wim@fluendo.com>
14535
14536         * gst/gsterror.c: (gst_g_error_get_type):
14537         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14538         (gst_static_pad_template_get_type):
14539         * gst/gsttaglist.c: (gst_tag_list_get_type):
14540         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14541         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14542         * gst/gsturi.c: (gst_uri_handler_get_type):
14543         * gst/gstvalue.c: (gst_date_get_type):
14544         * gst/gstxml.c: (gst_xml_get_type):
14545         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14546         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14547         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14548         Add G_UNLIKELY in type registration.
14549
14550 2006-06-12  Wim Taymans  <wim@fluendo.com>
14551
14552         * tools/gst-inspect.c: (print_signal_info):
14553         Properly print enum values.
14554
14555 2006-06-12  Wim Taymans  <wim@fluendo.com>
14556
14557         * gst/gstinfo.c: (gst_debug_set_active),
14558         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14559         * gst/gstinfo.h:
14560         Add some G_[UN]LIKELY.
14561         Maintain __gst_debug_min to avoid formatting the arguments of
14562         debug messages that will be dropped anyway to avoid a lot of 
14563         overhead from the debugging system.
14564
14565 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14566
14567         * po/POTFILES.in:
14568         * po/POTFILES.skip:
14569           add missing files containing translatable strings, tell intltool about
14570           one exception
14571
14572 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14573
14574         * tests/check/libs/.cvsignore:
14575         add test-binary to ignore list
14576
14577 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14578
14579         * docs/libs/gstreamer-libs-docs.sgml:
14580         reorder (put dp into a chapter) and indent
14581
14582 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14583
14584         * configure.ac:
14585           back to HEAD
14586
14587 === release 0.10.8 ===
14588
14589 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14590
14591         * configure.ac:
14592           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14593
14594 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14595
14596         * gst/gst.c: (init_post):
14597           move pid declaration to declaration block
14598
14599 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14600
14601         * gst/gst.c: (init_post):
14602           use _exit() instead of exit() in our forked child; this ensures
14603           that none of the registered exit handlers from whatever is using
14604           GStreamer get executed.  This fixes gnome-mixer-applet failing
14605           to load, because ORBit would shut down.
14606           Spotted by: Edward Hervey  <edward@fluendo.com>
14607           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14608           Fixes #344474
14609
14610 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14611
14612         * configure.ac:
14613           back to TRUNK
14614
14615 === release 0.10.7 ===
14616
14617 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14618
14619         * configure.ac:
14620           releasing 0.10.7, "Soepeke, ik zie ou"
14621
14622 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14623
14624         * configure.ac:
14625         * po/af.po:
14626         * po/az.po:
14627         * po/bg.po:
14628         * po/ca.po:
14629         * po/cs.po:
14630         * po/de.po:
14631         * po/en_GB.po:
14632         * po/fr.po:
14633         * po/it.po:
14634         * po/nb.po:
14635         * po/nl.po:
14636         * po/ru.po:
14637         * po/sq.po:
14638         * po/sr.po:
14639         * po/sv.po:
14640         * po/tr.po:
14641         * po/uk.po:
14642         * po/vi.po:
14643         * po/zh_CN.po:
14644         * po/zh_TW.po:
14645         * win32/common/config.h:
14646           0.10.6.2 prerelease
14647
14648 2006-06-07  Wim Taymans  <wim@fluendo.com>
14649
14650         * gst/gstindex.c: (gst_index_gtype_resolver):
14651         * tools/gst-xmlinspect.c: (print_plugin_info):
14652         Fix leak spotted by coverity checker. Fixes #343827
14653         Fix another other leak found by paolo borelli.
14654
14655 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14656
14657         * libs/gst/dataprotocol/dataprotocol.c:
14658         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14659         (gst_dp_version_get_type), (gst_dp_init),
14660         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14661         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14662         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14663         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14664         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14665         (gst_dp_packetizer_free):
14666         * libs/gst/dataprotocol/dataprotocol.h:
14667           API: add a GstDPPacketizer object, and create/free functions
14668           API: add GstDPVersion enum
14669           Add 1.0 event function that uses the string serialization
14670           Serialize more useful buffer flags
14671           Fixes #343988
14672
14673 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14674
14675         * tests/check/Makefile.am:
14676         * tests/check/gst/gstabi.c:
14677         * tests/check/gst/struct_ppc64.h:
14678         * tests/check/libs/libsabi.c:
14679         * tests/check/libs/struct_ppc64.h:
14680           add ppc64 structure sizes
14681
14682 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14683
14684         * tests/check/Makefile.am:
14685         * tests/check/gst/gstabi.c:
14686         * tests/check/gst/struct_x86_64.h:
14687         * tests/check/libs/libsabi.c:
14688         * tests/check/libs/struct_x86_64.h:
14689           generate and add structure size lists for x86_64
14690
14691 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14692
14693         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14694         * libs/gst/check/gstcheck.h:
14695           factor out the method from tests that checks size of structures,
14696           and add code to generate the header containing these sizes
14697         * tests/check/gst/gstabi.c: (GST_START_TEST):
14698         * tests/check/gst/struct_i386.h:
14699         * tests/check/libs/libsabi.c: (GST_START_TEST):
14700         * tests/check/libs/struct_i386.h:
14701           use it
14702
14703 2006-06-06  Michael Smith  <msmith@fluendo.com>
14704
14705         * gst/gstsegment.h:
14706           Don't use c++-style comments, fixes #343929
14707
14708 2006-06-05  Edward Hervey  <edward@fluendo.com>
14709
14710         * gst/gst.c:
14711         plugin_paths is not used if we build without registry support.
14712
14713         * gst/gstsegment.c: (gst_segment_copy): 
14714         _copy() was always returning NULL...
14715
14716 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14717
14718         * libs/gst/dataprotocol/dataprotocol.c:
14719         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14720         (gst_dp_packet_from_event):
14721           factor out CRC code
14722
14723 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14724
14725         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14726           make sure we unset caps
14727
14728 2006-06-02  Michael Smith  <msmith@fluendo.com>
14729
14730         * libs/gst/check/gstcheck.c: (gst_check_init),
14731         (gst_check_chain_func):
14732         * libs/gst/check/gstcheck.h:
14733           Add a cond/mutex to the check support lib, signal this whenever we
14734           add to the buffers list. This will allow tests to not busy-wait on
14735           the buffer-list.
14736
14737 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14738
14739         * libs/gst/dataprotocol/dataprotocol.c:
14740         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14741         (gst_dp_packet_from_event):
14742           factor out some common header init code
14743
14744 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14745
14746         * docs/libs/gstreamer-libs-sections.txt:
14747         * docs/libs/tmpl/gstdataprotocol.sgml:
14748         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14749         * libs/gst/dataprotocol/dataprotocol.h:
14750           API: make gst_dp_crc() public
14751
14752 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14753
14754         * plugins/indexers/gstindexers.c: (plugin_init):
14755         conditionally register fileindexer (fixes #343598)
14756
14757 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14758
14759         * gst/gsttagsetter.h:
14760         Can't cast ifaces to a class
14761
14762         * libs/gst/net/gstnetclientclock.h:
14763         * libs/gst/net/gstnettimeprovider.h:
14764         * plugins/elements/gstfakesink.h:
14765         * plugins/elements/gstfakesrc.h:
14766         * plugins/elements/gstfdsink.h:
14767         * plugins/elements/gstfdsrc.h:
14768         * plugins/elements/gstfilesink.h:
14769         * plugins/elements/gstfilesrc.h:
14770         * plugins/elements/gstidentity.h:
14771         * plugins/elements/gstqueue.h:
14772         * plugins/elements/gsttee.h:
14773         * plugins/indexers/gstfileindex.c:
14774         * plugins/indexers/gstmemindex.c:
14775         * tests/old/examples/plugins/example.h:
14776         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14777
14778 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14779
14780         * libs/gst/dataprotocol/dataprotocol.c:
14781         (gst_dp_header_from_buffer):
14782           make sure we zero the whole ABI-compatible area
14783
14784 2006-06-01  Wim Taymans  <wim@fluendo.com>
14785
14786         Patch by: Alessandro Decina <alessandro at nnva dot org>
14787
14788         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14789         Make sure the EOS flag is cleared from pads after a flush
14790         or stop. Fixes #343538.
14791
14792         * tests/check/libs/collectpads.c: (GST_START_TEST),
14793         (gst_collect_pads_suite):
14794         Added test for collectpads reusage after EOS.
14795
14796 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14797
14798         * gst/gst.c:
14799          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14800         * win32/common/libgstbase.def:
14801          export gst_collect_pads_set_flushing
14802         * win32/common/libgstreamer.def:
14803          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14804          gst_value_fraction_multiply
14805         * win32/vs6/gst_inspect.dsp:
14806          add a link to intl.lib
14807
14808 2006-05-30  Wim Taymans  <wim@fluendo.com>
14809
14810         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14811         (gst_collect_pads_chain):
14812         Handle the case where a pad is removed from the collection
14813         that could cause the other pads to become collectable.
14814
14815 2006-05-30  Wim Taymans  <wim@fluendo.com>
14816
14817         * gst/gstelement.c:
14818         Clarify the use of _release_request_pad() and
14819         _get_request_pad() a bit better.
14820
14821         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14822         (gst_adapter_take_buffer):
14823         Fix some doc and comment typos.
14824
14825 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14826
14827         * docs/gst/gstreamer-sections.txt:
14828         * docs/libs/gstreamer-libs-sections.txt:
14829           add declared symbols
14830
14831 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14832
14833         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14834         Add debug that can be enabled using a #define at the top of the file,
14835         for dumping stats about how late/early we were when waking up from
14836         waiting on the clock.
14837
14838 2006-05-30  Wim Taymans  <wim@fluendo.com>
14839
14840         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14841         When rebuilding the pad list, don't leak the previous list.
14842
14843 2006-05-30  Wim Taymans  <wim@fluendo.com>
14844
14845         Patch by: Lutz Mueller <lutz at topfrose dot de>
14846
14847         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14848         (gst_base_src_get_query_types), (gst_base_src_update_length):
14849         Publish supported query types.
14850         Update last_stop field in get_range mode so the position
14851         query works. Fixes #342321.
14852
14853 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14854
14855         * docs/gst/gstreamer-sections.txt:
14856         * gst/gsttaglist.c: (_gst_tag_initialize):
14857         * gst/gsttaglist.h:
14858           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14859
14860 2006-05-30  Wim Taymans  <wim@fluendo.com>
14861
14862         Patch by: Alessandro Decina <alessandro at nnva dot org>
14863
14864         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14865         Unlock mutex when removing an unknown pad.
14866         Fixes #343334.
14867
14868         * tests/check/Makefile.am:
14869         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14870         (push_event), (setup), (teardown), (GST_START_TEST),
14871         (gst_collect_pads_suite), (main):
14872         Added collecpads check, disabled for now as check crashes for
14873         some reason.
14874
14875 2006-05-29  Wim Taymans  <wim@fluendo.com>
14876
14877         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14878         Don't leak pads lists.
14879
14880 2006-05-29  Wim Taymans  <wim@fluendo.com>
14881
14882         * docs/libs/gstreamer-libs-sections.txt:
14883         * libs/gst/base/gstcollectpads.c:
14884         (gst_collect_pads_set_flushing_unlocked),
14885         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14886         (gst_collect_pads_stop):
14887         * libs/gst/base/gstcollectpads.h:
14888         API: gst_collect_pads_set_flushing()
14889         Added api to set the pads to flushing, useful for seeking
14890         code in elements using collectpads.
14891         Clear segment when receiving a flush.
14892
14893 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14894
14895         * gst/gst.c: (add_path_func), (init_post):
14896           Don't scan registry paths passed via --gst-plugin-path immediately
14897           (will crash, because absolutely nothing is set up and no types are
14898           registered etc.); do this later in init_post(). Fixes #343057.
14899
14900 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14901
14902         * gst/gst.c: (init_post):
14903           if we have fork, fork while reading/rebuilding the registry
14904           so the parent doesn't take the hit of having all plugins loaded
14905           in memory.  Fixes #342777.
14906         * configure.ac:
14907           Check if we have fork()
14908         * win32/common/config.h.in:
14909           no fork() on win32
14910
14911 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14912
14913         * plugins/elements/gstelements.c:
14914         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14915         (gst_file_src_init), (gst_file_src_set_property),
14916         (gst_file_src_get_property), (gst_file_src_start):
14917         * plugins/elements/gstfilesrc.h:
14918           API: GstFileSrc::use-mmap
14919
14920         Add a use-mmap property to enable easier testing of all code paths.
14921         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14922         in the absence of gnomevfssrc. (Closes #340501)
14923
14924 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14925
14926         * tools/gst-inspect.c:
14927         Add missing include, removes warning of ngettext not being defined on
14928         some arches.
14929
14930 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14931
14932         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14933         Handle NULL input and output pointers silently as a failed conversion,
14934         rather than g_warnings.
14935
14936 2006-05-25  Wim Taymans  <wim@fluendo.com>
14937
14938         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14939         Initialize variable before using. Fixes #342820.
14940
14941 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14942
14943         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14944           Fix off-by-one bug that would only allow peeks of N-1 bytes
14945           from the start even if the buffer to typefind on contains
14946           in fact N bytes of data (makes vorbis typefinding from a
14947           vorbis identification header buffer work).
14948
14949         * tests/check/Makefile.am:
14950         * tests/check/libs/.cvsignore:
14951         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14952         (gst_typefindhelper_suite), (main), (foobar_typefind),
14953         (plugin_init):
14954           Add very basic unit test for gst_type_find_helper_for_buffer()
14955           that checks for the problem fixed above.
14956
14957 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14958
14959         * tools/gst-inspect.c: (print_interfaces),
14960         (print_element_properties_info), (print_element_list), (main):
14961           add more translatable strings
14962
14963 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14964
14965         Patch by: Julien Moutte  <julien at moutte net>
14966
14967         * docs/gst/gstreamer-sections.txt:
14968           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14969           
14970         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14971         (gst_fake_sink_preroll):
14972         * plugins/elements/gstfakesink.h:
14973           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14974
14975 2006-05-23  Wim Taymans  <wim@fluendo.com>
14976
14977         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14978         * gst/gstpad.h:
14979         Added _CUSTOM error and success GstFlowReturn that can be
14980         used be elements internally. 
14981         Added macro to check for SUCCESS flowreturns.
14982         API: GST_FLOW_CUSTOM_SUCCESS
14983         API: GST_FLOW_CUSTOM_ERROR
14984         API: GST_FLOW_IS_SUCCESS
14985
14986         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14987         Added check for GstFlowReturn sanity.
14988
14989 2006-05-23  Wim Taymans  <wim@fluendo.com>
14990
14991         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14992
14993         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14994         (gst_collect_pads_event):
14995         clear/reset segment info in FLUSH_STOP.
14996         Fixes #336929.
14997
14998 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14999
15000         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
15001         (gst_collect_pads_check_collected):
15002         Flush queued buffer on _stop(), fixes playing again (#342454)
15003
15004 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15005
15006         * tests/check/gst/gststructure.c: (GST_START_TEST),
15007         (gst_structure_suite):
15008           add a test for a complete structure
15009
15010 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15011
15012         * docs/faq/developing.xml:
15013         * docs/faq/faq.xml:
15014         * docs/faq/troubleshooting.xml:
15015         * docs/faq/using.xml:
15016           Some minor FAQ updates that won't change the fact that
15017           our FAQ is badly structured, full of information hardly
15018           anyone new to GStreamer needs to know and lacking lots
15019           of information people constantly ask for.
15020           
15021 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
15022
15023         * gst/gstpad.c: (gst_pad_set_caps):
15024           Short-circuit gst_pad_set_caps if setting the existing
15025           caps pointer again, and avoid printing debug and 
15026           reffing/unreffing the caps.
15027
15028         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15029           There's actually no need to set the caps before pushing -
15030           the acceptcaps method will handle it anyway.
15031
15032 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15033
15034         * docs/gst/gstreamer-sections.txt:
15035         * win32/common/libgstreamer.def:
15036         * gst/gstutils.c: (gst_element_seek_simple):
15037         * gst/gstutils.h:
15038           API: add gst_element_seek_simple() (#342238).
15039
15040 2006-05-18  Edward Hervey  <edward@fluendo.com>
15041
15042         * gst/gsttypefind.c: (gst_type_find_get_type):
15043         * gst/gsttypefind.h:
15044         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
15045         registered for GstTypeFind pointers. This allows wrapping the structure
15046         in bindings (i.e. gst-python).
15047
15048 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15049
15050         * gst/gsttagsetter.c:
15051           Docs additions and fixes (see #339918).
15052
15053 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15054
15055         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15056         The caps intersection algorithm can produce multiple copies of the
15057         caps. Until that is fixed, we need to simplify the result to be
15058         sure whether the allowed caps are fixed or not.
15059
15060         * plugins/elements/gstqueue.c: (gst_queue_init),
15061         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15062         (gst_queue_push_one):
15063         Proxied buffer alloc should not set the caps on the source pad.
15064         When pushing buffers, we always accept the caps change that triggers.
15065         This prevents negotiation errors caused by caps changing mid-stream 
15066         and then being refused on our source pad (because upstream is now
15067         refusing those caps).
15068
15069 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15070
15071         * tests/examples/helloworld/helloworld.c: (main):
15072           Must plug audioconvert and audioresample between decoder
15073           and audio sink.
15074
15075 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15076
15077         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15078         (load_feature), (load_plugin):
15079         Allow empty strings for some of the plugin fields so we don't 
15080         drop valid plugin entries that were written out correctly
15081         (Fixes #341479)
15082
15083 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15084         
15085         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15086           Use g_remove and g_rename instead of remove and rename that don't 
15087           handle utf8 characters. rename was failing for users who had specific
15088           characters in their name then the registry was built at each 
15089           gstreamer init.
15090         * win32/vs6/gst_inspect.dsp:
15091         * win32/vs6/gst_launch.dsp:
15092         * win32/vs6/libgstbase.dsp:
15093         * win32/vs6/libgstcoreelements.dsp:
15094         * win32/vs6/libgstreamer.dsp:
15095           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15096           build of libgstreamer and clean unused libraries in projects link 
15097           settings.
15098
15099 2006-05-17  Edward Hervey  <edward@fluendo.com>
15100
15101         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15102         The queue is not responsible for pushing an EOS when receiving a fatal
15103         flow error. It's up to the real element driving the pipeline to do that.
15104
15105 2006-05-16  Edward Hervey  <edward@fluendo.com>
15106
15107         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15108         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15109         buffer returned a fatal error. It should just send an EOS and stop
15110         its task.
15111         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15112         when pushing buffers on the queue and will be able to handle the event.
15113
15114 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15115
15116         * docs/manual/basics-bins.xml:
15117         * docs/manual/basics-init.xml:
15118           Fix typos and minor errors in sample code (#341856).
15119
15120 2006-05-16  Wim Taymans  <wim@fluendo.com>
15121
15122         * docs/design/part-qos.txt:
15123         Fix indexes in formulas to make more sense.
15124
15125 2006-05-15  Wim Taymans  <wim@fluendo.com>
15126
15127         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15128         Don't report POSITION based on clock time if sync is
15129         disabled in a sink.
15130
15131 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15132
15133         * gst/gstobject.h:
15134           Add cast to make compiler happy - refcount variable was a gint
15135           in GstObject but is a guint in GObject and g_atomic_int_get()
15136           wants a gint *.
15137
15138 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15139
15140         * gst/parse/Makefile.am:
15141           chain commands using &&, which also makes parallel make work
15142
15143 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15144
15145         * docs/gst/gstreamer-sections.txt:
15146         * gst/gstevent.c:
15147         * gst/gstevent.h:
15148         * gst/gstmessage.h:
15149           Minor docs fixes.
15150
15151 === release 0.10.6 ===
15152
15153 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15154
15155         * configure.ac:
15156           releasing 0.10.6, "Take the cannoli"
15157
15158 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15159
15160         * tools/gst-launch.c: (print_tag):
15161           Fix use of uninitialized variable in the hypothetical
15162           case that some broken plugin creates a GST_TAG_IMAGE
15163           tag containing a NULL buffer (#341667).
15164
15165 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15166
15167         * tools/gst-launch.c: (print_tag):
15168           Print something more intelligible for image tags when
15169           using the -t switch (#341556).
15170
15171 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15172
15173         * Makefile.am:
15174           updates for win32
15175         * configure.ac:
15176           define GST_MAJORMINOR so we have it available in win32/common/config.h
15177           Possibly remove it from our Makefile.am files later
15178         * win32/common/config.h:
15179         * win32/common/config.h.in:
15180           added GST_MAJORMINOR
15181         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15182         * win32/common/gstversion.h:
15183           updated
15184
15185 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15186
15187         * win32/MANIFEST:
15188           Update win32 files listing.
15189         * win32/common/gstversion.h:
15190           Add GST_MAJORMINOR definition.
15191         * win32/common/libgstreamer.def:
15192           Add new exported functions.
15193           
15194 2006-05-12  Michael Smith  <msmith@fluendo.com>
15195
15196         * gst/gstplugin.c: (gst_plugin_load_file):
15197           If an so file has no plugin entry point, unload the module.
15198
15199 2006-05-11  Wim Taymans  <wim@fluendo.com>
15200
15201         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15202         (gst_queue_set_property):
15203         Don't forget to signal the _chain or _loop function 
15204         when the queue size or thresholds change since that might
15205         cause them to make progres again.
15206
15207 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15208
15209         * gst/gstclock.c: (gst_clock_class_init):
15210         * gst/gstindex.c: (gst_index_class_init):
15211         * gst/gstobject.c: (gst_object_class_init):
15212         * gst/gstpad.c: (gst_pad_class_init):
15213         * gst/gstpipeline.c: (gst_pipeline_class_init):
15214         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15215         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15216         * libs/gst/base/gstbasetransform.c:
15217         (gst_base_transform_class_init):
15218         * libs/gst/net/gstnetclientclock.c:
15219         (gst_net_client_clock_class_init):
15220         * libs/gst/net/gstnettimeprovider.c:
15221         (gst_net_time_provider_class_init):
15222         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15223         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15224         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15225         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15226         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15227         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15228         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15229         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15230         * plugins/elements/gsttee.c: (gst_tee_class_init):
15231         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15232         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15233           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15234
15235 2006-05-11  Wim Taymans  <wim@fluendo.com>
15236
15237         * gst/gstbuffer.c: (_gst_buffer_initialize):
15238         Register subbufer along with the buffer type so that
15239         it does not accidentally gets registered from N
15240         different streaming threads in a non threadsafe way.
15241
15242 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15243
15244         * gst/gstbuffer.h:
15245         * gst/gstevent.h:
15246         * gst/gstmessage.h:
15247           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15248           gst_event_ref() and gst_message_ref() functions again
15249           (ugly hack, please do fix if there's a better way besides
15250           overrides.txt, which doesn't seem to work).
15251
15252 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15253
15254         * libs/gst/check/gstcheck.h:
15255           add an assert for setting state to avoid lots of repetitive code
15256           in the future
15257
15258 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15259
15260         * gst/gstvalue.c: (gst_value_serialize_flags):
15261           fix a leak if no flags are set
15262         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15263           fix leak in tests
15264
15265 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15266
15267         * docs/manual/basics-pads.xml:
15268           Expand a bit on caps and filtered links and update
15269           examples that were still using the no longer existing
15270           gst_pad_link_filtered() (#338206).
15271
15272 2006-05-10  Wim Taymans  <wim@fluendo.com>
15273
15274         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15275         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15276         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15277         (gst_collect_pads_stop):
15278         * libs/gst/base/gstcollectpads.h:
15279         No need to call _stop in _finalize.
15280         Iterate the main pad list in _finalize.
15281         Added some more debug.
15282         Free lists and data in the right order.
15283         Also free data whem doing _remove_pad when stopped for
15284         backward compatibility protect ::started with PAD_LOCK as
15285         well.
15286
15287 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15288
15289         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15290         (gst_structure_parse_value):
15291           add some comments
15292           rename a method so that it actually says what it does better
15293
15294 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15295
15296         * gst/gstevent.c: (_gst_event_initialize):
15297         * gst/gstformat.c: (_gst_format_initialize):
15298           make sure some essential types used by events are registered
15299           as part of gst_init()
15300         * gst/gstvalue.c: (gst_value_serialize_flags):
15301           if no flags are set, serialize them to a value that represents NONE
15302           so that deserializing them works
15303         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15304           add tests for serialization and deserialization of flags
15305
15306 2006-05-10  Wim Taymans  <wim@fluendo.com>
15307
15308         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15309         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15310         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15311         (gst_collect_pads_event), (gst_collect_pads_chain):
15312         Update docs.
15313         Better debug info.
15314         Catch and return errors from the collect function
15315         Refuse data on eos pads.
15316
15317 2006-05-10  Edward Hervey  <edward@fluendo.com>
15318
15319         * gst/gstinterface.h:
15320         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15321         GInterface type checking.
15322         They were previously using non-defined macros.
15323
15324 2006-05-09  Wim Taymans  <wim@fluendo.com>
15325
15326         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15327         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15328         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15329         (gst_collect_pads_start), (gst_collect_pads_stop),
15330         (gst_collect_pads_peek), (gst_collect_pads_pop),
15331         (gst_collect_pads_available), (gst_collect_pads_read),
15332         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15333         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15334         (gst_collect_pads_chain):
15335         * libs/gst/base/gstcollectpads.h:
15336         Clean up the mess that is collectpads, add comments and
15337         FIXMEs where needed.
15338         Maintain a separate pad list so we can add pads while
15339         collecting the other ones. For this we need a new separate 
15340         lock (see comics).
15341         Fix memory leak in finalize.
15342         Refactor some weird code to set/unset pad flushing flags, mark
15343         with comments.
15344         Don't crash in _available, _read, _flush when we're EOS.
15345
15346         * tests/check/libs/.cvsignore:
15347         Ignore adapter check binary.
15348
15349 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15350
15351         * gst/gstindex.c: (gst_index_resolver_get_type):
15352         * plugins/elements/gstfakesink.c:
15353         (gst_fake_sink_state_error_get_type):
15354         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15355         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15356         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15357           Const-ify GEnumValue arrays.
15358
15359 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15360
15361         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15362           Add test case for flags + gst_buffer_make_metadata_writable().
15363
15364 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15365
15366         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15367           gst_buffer_make_metadata_writable() should maintain the
15368           buffer flags (those that make sense at least) (see #340859).
15369
15370 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15371
15372         * tools/gst-inspect.c:
15373         * tools/gst-launch.c:
15374         * tools/gst-typefind.c:
15375         * tools/gst-xmlinspect.c:
15376         * tools/tools.h:
15377           Fix up includes: need to include stdlib.h in tools.h for exit().
15378
15379 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15380
15381         * gst/gsttaglist.c: (_gst_tag_initialize):
15382         * gst/gsttaglist.h:
15383           API: add GST_TAG_IMAGE tag (#340721).
15384
15385 2006-05-08  Wim Taymans  <wim@fluendo.com>
15386
15387         * gst/gstquery.c:
15388         Added some docs for the segment query.
15389
15390 2006-05-08  Wim Taymans  <wim@fluendo.com>
15391
15392         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15393         (gst_base_src_loop), (gst_base_src_change_state):
15394         Always push non-flushing serialized events in the streaming 
15395         thread.
15396
15397 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15398
15399         * gst/gsterror.c: (_gst_stream_errors_init):
15400           Add a missing error string.
15401
15402 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15403
15404         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15405         Add applied_rate to the debug
15406
15407         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15408         Copy applied_rate into the outgoing NEWSEGMENT event
15409
15410 2006-05-08  Wim Taymans  <wim@fluendo.com>
15411
15412         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15413
15414         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15415         (gst_base_sink_change_state):
15416         call ::unlock before taking the PREROLL_LOCK so we can safely
15417         handle elements that lock in ::render.
15418         Fixes #340174.
15419
15420 2006-05-08  Edward Hervey  <edward@fluendo.com>
15421
15422         * autogen.sh: (CONFIGURE_DEF_OPT): 
15423         Darwin's libtoolize is in fact called glibtoolize.
15424         Adding glibtoolize to the list of accepted names for libtoolize.
15425
15426 2006-05-08  Wim Taymans  <wim@fluendo.com>
15427
15428         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15429         Unify error handling, don't post an error message
15430         when a push() returns EOS but perform our normal EOS
15431         handling code. Fixes #340772.
15432
15433 2006-05-08  Wim Taymans  <wim@fluendo.com>
15434
15435         * docs/design/part-overview.txt:
15436         Make upsteam/downstream concepts more clear.
15437         Give an example of serialized/non-serialized events.
15438
15439         * docs/design/part-events.txt:
15440         * docs/design/part-streams.txt:
15441         Mention applied_rate.
15442
15443         * docs/design/part-trickmodes.txt:
15444         Mention applied rate, flesh out some more use cases.
15445
15446         * gst/gstevent.c: (gst_event_new_new_segment),
15447         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15448         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15449         (gst_event_parse_tag), (gst_event_new_buffer_size),
15450         (gst_event_parse_buffer_size), (gst_event_new_qos),
15451         (gst_event_parse_qos), (gst_event_parse_seek),
15452         (gst_event_new_navigation):
15453         * gst/gstevent.h:
15454         Add applied_rate field to NEWSEGMENT event.
15455         API: gst_event_new_new_segment_full()
15456         API: gst_event_parse_new_segment_full()
15457
15458         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15459         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15460         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15461         * gst/gstsegment.h:
15462         Add applied_rate to GstSegment structure.
15463         Make calculation of stream_time and running_time more correct
15464         wrt rate/applied_rate.
15465         Add some more docs.
15466         API: GstSegment::applied_rate field
15467         API: gst_segment_set_newsegment_full();
15468
15469         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15470         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15471         * libs/gst/base/gstbasetransform.c:
15472         (gst_base_transform_sink_eventfunc),
15473         (gst_base_transform_handle_buffer):
15474         Parse and use applied_rate in the GstSegment field.
15475
15476         * tests/check/gst/gstevent.c: (GST_START_TEST):
15477         Add check for applied_rate field.
15478
15479         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15480         (gstsegments_suite):
15481         Add more checks for various GstSegment operations.
15482
15483 2006-05-08  Wim Taymans  <wim@fluendo.com>
15484
15485         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15486         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15487         (gst_base_sink_get_position), (gst_base_sink_change_state):
15488         Store the sync time of the buffer end position separatly in a
15489         new variable eos_rtime so we can properly sync the EOS event.
15490         Fixes #340697.
15491         Fix the docs for gst_base_sink_set_qos_enabled().
15492         Don't set segment start to invalid value when we receive a 
15493         non TIME newsegment.
15494         get closer to handling position reporting for negative rates 
15495         correctly.
15496
15497 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15498
15499         * gst/gstcaps.c:
15500         Docs about how to print caps for debug purposes.
15501
15502         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15503         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15504
15505 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15506
15507         * gst/gstelement.c:
15508           use full enum names and preprend a '%' in docs strings to make recent 
15509           gtk-doc turn that into a link
15510
15511 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15512
15513         * docs/manual/basics-bins.xml:
15514         * docs/manual/basics-bus.xml:
15515         * docs/manual/basics-pads.xml:
15516           Some typo fixes, some additions, some clarifications. 
15517
15518 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15519
15520         * tools/gst-inspect.c: (main):
15521         * tools/gst-launch.c: (main):
15522         * tools/gst-run.c: (main):
15523         * tools/gst-typefind.c: (main):
15524         * tools/gst-xmlinspect.c: (main):
15525           Use the string passed to g_option_context_new() for
15526           what it's intended for - the program name is already
15527           printed elsewhere.
15528
15529 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15530
15531         * tools/Makefile.am:
15532         * tools/gst-inspect.c: (main):
15533         * tools/gst-launch.c: (main):
15534         * tools/gst-xmlinspect.c: (main):
15535         * tools/tools.h:
15536           Add back --version command line option (#340460).
15537
15538         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15539           Add --version option and use GOption for argument parsing; refactor a
15540           bit; accept directories as arguments and recurse into them; lastly,
15541           print a decent error message when things go wrong.
15542
15543 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15544
15545         * docs/manual/basics-bins.xml:
15546         Don't mention GstThread (#340611)
15547         * docs/manual/basics-elements.xml:
15548         Update link to GObject tutorial (#340607)
15549         
15550 2006-05-05  Wim Taymans  <wim@fluendo.com>
15551
15552         * gst/gstbuffer.h:
15553         * gst/gstminiobject.c:
15554         Add note about refcounting and miniobject/buffer writeability
15555         to docs. Fixes #340604
15556
15557         * gst/gstelementfactory.h:
15558         Added some explanation about @klass.
15559
15560 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15561
15562         * docs/manual/intro-motivation.xml:
15563         * docs/manual/manual.xml:
15564         Avoid CORBA & Bonobo references (#340598)
15565
15566 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15567
15568         * docs/manual/basics-bus.xml:
15569         * docs/manual/basics-pads.xml:
15570         Fix up some inaccuracies and omissions (#340609)
15571         
15572 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15573
15574         * gst/gstghostpad.c:
15575           Small typo in docs (#340625)
15576
15577 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15578
15579         * gst/parse/Makefile.am:
15580           Make 'make -j' proof (see #340698).
15581
15582 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15583
15584         * configure.ac:
15585           Require GLib-2.8 here as well.
15586
15587 2006-05-05  Wim Taymans  <wim@fluendo.com>
15588
15589         * gst/glib-compat.c:
15590         * gst/gst.c: (init_pre):
15591         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15592         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15593         (gst_object_dispatch_properties_changed):
15594         * gst/gstobject.h:
15595         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15596         * gst/gststructure.c: (gst_structure_set_valist):
15597         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15598         Remove pre glib2.8 compatibility, fixes #340508
15599
15600 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15601
15602         * gst/gsttaglist.h:
15603           Mention type of tags in doc blurbs.
15604
15605 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15606
15607         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15608         (gst_pad_configure_src), (gst_pad_push):
15609         Restore acceptcaps checking behaviour now that good plugins have
15610         been released.
15611
15612 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15613
15614         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15615
15616         * gst/gst.c:
15617         * gst/gstbus.c:
15618         * gst/gstclock.c:
15619         * gst/gstevent.c:
15620         * gst/gstformat.c:
15621         * gst/gstmessage.c:
15622         * gst/gstparse.c:
15623         * gst/gstquery.c:
15624         * gst/gstutils.c:
15625         * gst/parse/Makefile.am:
15626         * libs/gst/base/gstadapter.c:
15627         * libs/gst/base/gstbasesrc.c:
15628         * libs/gst/base/gstpushsrc.c:
15629         * libs/gst/base/gsttypefindhelper.c:
15630         * plugins/elements/gstfakesrc.c:
15631         * plugins/elements/gstidentity.c:
15632           Make sure gstprivate.h and/or config.h are
15633           always included first, otherwise some of our
15634           defines (like _FILE_OFFSET_BITS) might be
15635           redefined in the system headers. Fixes build
15636           on opensolaris (#340016).
15637
15638 2006-05-04  Wim Taymans  <wim@fluendo.com>
15639
15640         * docs/libs/gstreamer-libs-sections.txt:
15641         API: addition: gst_adapter_take_buffer()
15642         
15643         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15644         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15645         (gst_adapter_available_fast):
15646         * libs/gst/base/gstadapter.h:
15647         Prepare for optimizing the hell out of this hugely inefficient
15648         piece of code. 
15649         Added gst_adapter_take_buffer() so we can at least start thinking
15650         about subbuffering and merging.
15651         Added some comments.
15652
15653         * tests/check/Makefile.am:
15654         * tests/check/libs/adapter.c: (GST_START_TEST),
15655         (gst_adapter_suite), (main):
15656         Added GstAdapter check.
15657
15658 2006-05-04  Wim Taymans  <wim@fluendo.com>
15659
15660         * docs/design/part-overview.txt:
15661         Fix some typos, add blurb about buffer flags.
15662
15663 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15664
15665         * docs/libs/gstreamer-libs-sections.txt:
15666           make sure GstBaseTransformClass shows up in the docs
15667         * libs/gst/base/gstbasetransform.c:
15668         * libs/gst/base/gstbasetransform.h:
15669           move docs so gtk-doc picks it up now
15670
15671 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15672
15673         * docs/libs/gstreamer-libs-sections.txt:
15674           add missing symbols to docs
15675
15676 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15677
15678         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15679           back out the newsegment handling change, see #340060 for ongoing
15680           discussion
15681
15682 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15683
15684         * tools/gst-run.c: (get_candidates), (main):
15685           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15686           work); fix typo in error message. Fixes #340079.
15687
15688 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15689
15690         * common/Makefile.am:
15691         * docs/Makefile.am:
15692         * docs/faq/Makefile.am:
15693         * docs/gst/Makefile.am:
15694         * docs/libs/Makefile.am:
15695         * docs/manual/Makefile.am:
15696         * docs/plugins/Makefile.am:
15697         * docs/pwg/Makefile.am:
15698         * docs/slides/Makefile.am:
15699         * docs/upload.mak:
15700         * common/upload.mak:
15701           move upload.mak to common
15702
15703 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15704
15705         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15706           add more asserts on refcounts
15707           do more cleanup at end of tests
15708           fix test leaks showing in FC5
15709
15710 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15711
15712         * plugins/elements/gsttypefindelement.c:
15713         (gst_type_find_element_handle_event):
15714         reverted wrong change and reflowed code to avoid others falling into
15715         this trap
15716
15717 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15718
15719         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15720           fix changelog entry about last collectpads change,
15721           add notes about proper fix
15722
15723 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15724
15725         * gst/gst.c:
15726         * gst/gstregistry.c: (gst_registry_scan_path_level),
15727         (gst_registry_scan_path):
15728         * gst/gstregistry.h:
15729           only write out registry if it has changed, fixes #338339
15730
15731 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15732
15733         * gst/gstbin.c:
15734         * gst/gstpipeline.c:
15735         * plugins/elements/gstcapsfilter.c:
15736         * plugins/elements/gstfakesink.c:
15737         * plugins/elements/gstfakesrc.c:
15738         * plugins/elements/gstfdsink.c:
15739         * plugins/elements/gstfdsrc.c:
15740         * plugins/elements/gstfilesink.c:
15741         * plugins/elements/gstfilesrc.c:
15742         * plugins/elements/gstidentity.c:
15743         * plugins/elements/gstqueue.c:
15744         * plugins/elements/gsttee.c:
15745         * plugins/elements/gsttypefindelement.c:
15746         (gst_type_find_element_handle_event):
15747           make GstElementDetails const
15748
15749 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15750
15751         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15752         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15753         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15754           more detailed debug and formatting cleanup,
15755           forward newsegments to src-pad (so that e.g. adder not eats them)
15756
15757 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15758
15759         * gst/gstutils.c: (gst_element_link_pads):
15760           cleanup double code
15761
15762 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15763
15764         * libs/gst/controller/gstcontroller.c:
15765         (gst_controller_sync_values):
15766           some little tuning
15767         * tests/check/libs/controller.c: (GST_START_TEST),
15768         (gst_controller_suite):
15769           a new test for live value handling
15770
15771 2006-04-28  Wim Taymans  <wim@fluendo.com>
15772
15773         * gst/gstutils.c: (push_and_ref):
15774         Added some more docs.
15775         Fix refcount issue whith gst_element_found_tags() helper 
15776         function. Fixes #338335
15777
15778         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15779         Added testsuite for gst_element_found_tags().
15780
15781 2006-04-28  Michael Smith  <msmith@fluendo.com>
15782
15783         * gst/gstvalue.c: (gst_value_serialize_flags):
15784           Avoid NULL dereference when trying to serialize flags containing
15785           invalid values.
15786
15787 2006-04-28  Michael Smith  <msmith@fluendo.com>
15788
15789         * plugins/elements/gsttypefindelement.c:
15790         (gst_type_find_element_handle_event):
15791           If we get EOS before any data is accumulated, don't use
15792           uninitialised local variables.
15793
15794 2006-04-28  Michael Smith  <msmith@fluendo.com>
15795
15796         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15797         (gst_dp_event_from_packet):
15798           Fixes in reading/writing events over GDP (not currently used?) - 
15799           dereferencing NULL events for unknown/invalid event types, memory
15800           leak, and change g_warning to GST_WARNING.
15801
15802 2006-04-28  Wim Taymans  <wim@fluendo.com>
15803
15804         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15805         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15806         (gst_base_sink_get_position), (gst_base_sink_change_state):
15807         When frame dropping is enabled, we should not ignore frames
15808         without a duration.
15809         Update some documentation.
15810
15811 2006-04-28  Wim Taymans  <wim@fluendo.com>
15812
15813         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15814         (gst_base_src_send_event), (gst_base_src_change_state):
15815         Documentation updates.
15816
15817 2006-04-28  Wim Taymans  <wim@fluendo.com>
15818
15819         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15820         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15821         handle EAGAIN, EINTR and short writes correctly. Also clean
15822         up some error cases, avoid a deadlock on bad file descriptors and
15823         use GST_DEBUG_OBJECT.
15824         Fixes #339843
15825
15826 2006-04-28  Wim Taymans  <wim@fluendo.com>
15827
15828         * gst/gstvalue.c: (gst_value_serialize_buffer),
15829         (gst_value_deserialize_buffer):
15830         Don't try to serialize a GValue with a NULL buffer. 
15831         Fixes #339821.
15832
15833         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15834         Added check for serialisation of NULL buffers.
15835
15836 2006-04-28  Wim Taymans  <wim@fluendo.com>
15837
15838         * gst/gstminiobject.c: (gst_value_take_mini_object):
15839         Taking a NULL miniobject is valid, fix the case where
15840         we try to unref the NULL miniobject.
15841
15842 2006-04-28  Wim Taymans  <wim@fluendo.com>
15843
15844         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15845
15846         * gst/gstbin.c: (gst_bin_handle_message_func):
15847         Update docs.
15848         Don't leak bin refcount when a state recalc is
15849         in progress and we delay another one #339808.
15850
15851 2006-04-28  Wim Taymans  <wim@fluendo.com>
15852
15853         * docs/design/part-TODO.txt:
15854         Mention QoS as an ongoing work item.
15855
15856         * docs/design/part-buffering.txt:
15857         New doc about buffering that needs to be fleshed out
15858         at some point.
15859
15860         * docs/design/part-qos.txt:
15861         More QoS policy for decoders/demuxers/transforms
15862
15863         * docs/design/part-trickmodes.txt:
15864         Small update.
15865
15866 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15867
15868         * configure.ac:
15869           back to HEAD
15870
15871 === release 0.10.5 ===
15872
15873 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15874
15875         * configure.ac:
15876           releasing 0.10.5, "Fogo"
15877
15878 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15879
15880         patch by: Wim Taymans
15881
15882         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15883         (gst_pad_configure_src), (gst_pad_push):
15884         * gst/gstpipeline.c: (gst_pipeline_init):
15885           Fix internal data flow errors.  Fixes #338711.
15886
15887 2006-04-12  Wim Taymans  <wim@fluendo.com>
15888
15889         * tests/check/gst/gstelement.c: (GST_START_TEST):
15890         Don't leak the factory.
15891
15892 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15893
15894         * configure.ac:
15895         * win32/common/config.h:
15896           prerelease
15897
15898 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15899
15900         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15901         (gst_controller_unset_all):
15902           Free allocated GstTimedValues when freeing list nodes.
15903           Should fix leaks 'make check-valgrind' complains about.
15904
15905         * win32/common/libgstcontroller.def:
15906           Add gst_controller_unset_all.
15907
15908 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15909
15910         * docs/libs/gstreamer-libs-sections.txt:
15911         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15912         (gst_controller_unset_all):
15913         * libs/gst/controller/gstcontroller.h:
15914         API: Added new method gst_controller_unset_all()
15915         fixed gst_controller_unset()
15916         * tests/check/libs/controller.c: (GST_START_TEST),
15917         (gst_controller_suite):
15918         Added two testcases for new and fixed method
15919
15920 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15921
15922         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15923           MSG_DONTWAIT is not defined on Cygwin, so work
15924           around that (fixes #317048).
15925           
15926 2006-04-11  Wim Taymans  <wim@fluendo.com>
15927
15928         * gst/gstelementfactory.c: (gst_element_register),
15929         (gst_element_factory_create), (gst_element_factory_make):
15930         Some cleanups.
15931         Fixed a FIXME.
15932         Updated docs (Fixes #131079)
15933
15934         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15935         Small cleanups.
15936
15937         * tests/check/gst/gstelement.c: (GST_START_TEST),
15938         (gst_element_suite):
15939         Added testcase for elementfactory class field.
15940
15941 2006-04-10  Wim Taymans  <wim@fluendo.com>
15942
15943         * gst/gstsegment.c:
15944         Added some more docs.
15945
15946         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15947         (gst_base_sink_reset_qos):
15948         Calculate more accurate rate values.
15949
15950 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15951
15952         * gst/gst_private.h:
15953           add a new #ifdef to use __declspec(dllimport) only for
15954           other modules and not for gstreamer core
15955         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15956           use gst_guint64_to_gdouble for conversion
15957         * win32/common/libgstreamer.def:
15958           add new exported functions
15959         * win32/vs6/gst_inspect.dsp:
15960         * win32/vs6/gst_launch.dsp:
15961         * win32/vs6/libgstbase.dsp:
15962         * win32/vs6/libgstcontroller.dsp:
15963         * win32/vs6/libgstcoreelements.dsp:
15964         * win32/vs6/libgstdataprotocol.dsp:
15965         * win32/vs6/libgstnet.dsp:
15966           update project files
15967
15968 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15969
15970         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15971         * gst/gstclock.c: (gst_clock_class_init):
15972         * gst/gstelement.c: (gst_element_class_init):
15973         * gst/gstindex.c: (gst_index_class_init):
15974         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15975         * gst/gstobject.c: (gst_object_class_init),
15976         (gst_signal_object_class_init):
15977         * gst/gstpad.c: (gst_pad_class_init):
15978         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15979         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15980         * gst/gstregistry.c: (gst_registry_class_init):
15981         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15982         * gst/gsttask.c: (gst_task_class_init):
15983         * gst/gstxml.c: (gst_xml_class_init):
15984         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15985         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15986         (gst_base_src_loop):
15987         * libs/gst/controller/gstcontroller.c:/
15988         (_gst_controller_class_init):
15989         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15990         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15991         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15992         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15993         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15994         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15995
15996 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15997
15998         * gst/gstpad.c: (gst_pad_link):
15999           Must set peer pads before calling the link function, otherwise
16000           a task started from a link function might get a flow-not-linked
16001           result when trying to push because the other thread where the
16002           linking happens hasn't had a chance to set the peers yet. This
16003           might happen for example when a queue gets linked to a downstream
16004           element, as queue starts a streaming task when its source pad
16005           gets linked. Happens in real life when playing back flac/musepack
16006           files in playbin (#332390).
16007           
16008 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16009
16010         * gst/gstindex.h:
16011         * gst/gstxml.h:
16012         * libs/gst/base/gstadapter.h:
16013         * libs/gst/base/gstbasesink.h:
16014         * libs/gst/base/gstbasesrc.h:
16015         * libs/gst/base/gstbasetransform.h:
16016         * libs/gst/base/gstcollectpads.h:
16017         * libs/gst/base/gstpushsrc.h:
16018         Fix broken GObject macros
16019
16020 2006-04-07  Wim Taymans  <wim@fluendo.com>
16021
16022         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16023         Initialize start and stop times, thanks valgrind.
16024
16025 2006-04-07  Wim Taymans  <wim@fluendo.com>
16026
16027         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16028         Be a bit nicer to badly behaving upstream elements that expect
16029         us to deal with non TIME segments and timestamps (such as fakesrc
16030         in the testsuite).
16031
16032 2006-04-07  Wim Taymans  <wim@fluendo.com>
16033
16034         * gst/gstbus.c:
16035         Small documentation clarification about the signal watch.
16036
16037         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
16038         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16039         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16040         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16041         (gst_base_sink_get_position_last),
16042         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
16043         Convert and store timestamps in stream time and running time, the
16044         raw timestamps are not useful, also document this better.
16045         Use different window sizes for good and bad QoS observations so
16046         we react to badness a little quicker.
16047         Keep track of the amount of rendered and dropped buffers.
16048         Send QoS timestamps in running time.
16049
16050         * libs/gst/base/gstbasetransform.c:
16051         (gst_base_transform_sink_eventfunc),
16052         (gst_base_transform_handle_buffer):
16053         Compare QoS timestamps against running time.
16054
16055 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16056
16057         * gst/gstpad.c:
16058           Typo fixes in docs.
16059
16060 2006-04-06  Michael Smith  <msmith@fluendo.com>
16061
16062         * gst/gstpad.c: (gst_pad_set_property):
16063           Use g_value_get_object() instead of g_value_dup_gst_object(),
16064           to avoid double-reffing the pad template (which we then sink,
16065           so this worked previously if (and only if) the pad template
16066           was floating.
16067
16068         * gst/gstpadtemplate.c: (gst_pad_template_init),
16069         (gst_pad_template_pad_created):
16070           Never return floating references to pad templates, create
16071           them as initially-sunken.
16072
16073           Document an extra function (and make this stop sinking our
16074           pad template, since that is now guaranteed to do nothing,
16075           since we created it sunken).
16076
16077         * gst/gstghostpad.c:
16078           Fix docs typo.
16079
16080 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16081
16082         * gst/gstinfo.c: (__gst_in_valgrind):
16083           Add some newlines.
16084
16085         * plugins/elements/gsttypefindelement.c:
16086         (gst_type_find_element_chain):
16087           Don't leak buffer caps.
16088
16089 2006-04-06  Michael Smith  <msmith@fluendo.com>
16090
16091         * gst/parse/grammar.y:
16092           Fix a leak in parse-launch for any source-or-sink named element 
16093           references used.
16094
16095         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16096           Unref the pipeline if it exists after we've failed parsing.
16097
16098 2006-04-05  Michael Smith  <msmith@fluendo.com>
16099
16100         * gst/gstpipeline.c: (gst_pipeline_init):
16101           When we create a pipeline bus, initially create it in flushing mode.
16102           Fixes leaks in at least one test, and makes a new pipeline work the
16103           same as one that has gone to READY and then back to NULL.
16104
16105         * gst/gstelement.c:
16106           Typo fix in docs.
16107
16108 2006-04-05  Michael Smith  <msmith@fluendo.com>
16109
16110         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16111           Unref a pad we reffed.
16112         * tests/check/gst/gstutils.c: (GST_START_TEST):
16113           Unref bins
16114
16115 2006-04-05  Michael Smith  <msmith@fluendo.com>
16116
16117         * gst/gstquery.c: (gst_query_set_formats),
16118         (gst_query_set_formatsv):
16119           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16120
16121 2006-04-05  Michael Smith  <msmith@fluendo.com>
16122
16123         * tests/check/generic/sinks.c: (GST_START_TEST):
16124           Fix a variety of memleaks in sinks check, which are only sometimes 
16125           shown by running the tests under valgrind (weird?).
16126
16127 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16128
16129         * docs/version.entities.in:
16130           Fix the substituted entity name after thomas' changes on the
16131           weekend.
16132
16133 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16134
16135         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16136         VALGRIND_PRINTF
16137         
16138 2006-04-05  Andy Wingo  <wingo@pobox.com>
16139
16140         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16141
16142         * libs/gst/base/gstbasetransform.c
16143         (gst_base_transform_sink_eventfunc): When resetting our segment on
16144         FLUSH_STOP, also update the flag saying we haven't seen a
16145         newsegment.
16146
16147 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16148
16149         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16150
16151         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16152         (gst_plugin_check_license):
16153           minor clean-ups: G_DEFINE_TYPE already takes care of the
16154           parent_class stuff, no need to do it twice. Mark array of
16155           license strings as constant. (#337103)
16156           
16157 2006-04-04  Michael Smith  <msmith@fluendo.com>
16158
16159         * tools/gst-inspect.c: (print_element_list):
16160           Free the right plugin list; fixes a memory leak.
16161
16162 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16163
16164         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16165
16166         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16167           Don't error out on empty buffers (#336945).
16168           
16169 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16170
16171         * docs/libs/gstreamer-libs-sections.txt:
16172         * gst/gsttaglist.c:
16173         * libs/gst/base/gstbasesink.c:
16174         * libs/gst/base/gstbasesink.h:
16175         * libs/gst/base/gstbasesrc.c:
16176         * libs/gst/base/gstbasesrc.h:
16177           Documentation updates. Make BaseSink and BaseSrc docs contain the
16178           class structure so that people can actually see the prototypes for
16179           virtual functions they're supposed to be overriding.
16180
16181 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16182
16183         * plugins/elements/gsttypefindelement.c:
16184         (gst_type_find_element_chain):
16185           More debug info; when skipping typefinding, send cached
16186           events in all cases.
16187
16188 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16189
16190         * configure.ac:
16191           use new AS_VERSION and AS_NANO macros
16192         * gst/gst-i18n-lib.h:
16193         * gst/gst.c:
16194         * gst/gsterror.c:
16195         * gst/gstversion.h.in:
16196         * win32/common/config.h:
16197         * win32/common/config.h.in:
16198           update accordingly
16199
16200 2006-03-31  Michael Smith  <msmith@fluendo.com>
16201
16202         * plugins/elements/gsttypefindelement.c:
16203         (gst_type_find_element_chain):
16204           Do not typefind content if the buffers already have caps.
16205           Neccesary for icydemux (#333657), and the right thing to do anyway.
16206
16207 2006-03-30  Wim Taymans  <wim@fluendo.com>
16208
16209         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16210         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16211         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16212         (gst_base_sink_record_qos_observation),
16213         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16214         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16215         (gst_base_sink_change_state):
16216         More QoS measurements as described in the design doc.
16217         Get rid of ringbuffer with observations, running average is
16218         more simple and equally good.
16219         Calculates valid proportion now.
16220         Added beginning of flood measurement.
16221
16222 2006-03-29  Wim Taymans  <wim@fluendo.com>
16223
16224         * docs/design/part-qos.txt:
16225         * gst/gstclock.c:
16226         Small documentation updates and additions.
16227
16228 2006-03-29  Wim Taymans  <wim@fluendo.com>
16229
16230         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16231         (gst_base_src_send_event), (gst_base_src_loop),
16232         (gst_base_src_change_state):
16233         Perform the EOS logic when we reach the segment stop position.
16234         Fix compilation on gcc4.1
16235
16236 2006-03-29  Wim Taymans  <wim@fluendo.com>
16237
16238         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16239
16240         * plugins/elements/gstqueue.c: (gst_queue_init),
16241         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16242         (gst_queue_set_property):
16243         * plugins/elements/gstqueue.h:
16244         In queue, when EOS is received, if minimum threshold > max_size -
16245         current_level, there is chance that queue blocks forever in conditional
16246         item del wait. This is because the queue is not emptied completely due
16247         to minimum threshold.  Here is another approach. Instead of setting
16248         cur_levels to max in EOS, just zero all minimum threshold levels. This
16249         should make sure that queue gives out all data. When going to READY
16250         (stop) state, just reset the original minimum threshold levels.
16251         Fixes #336336.
16252
16253 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16254
16255         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16256         (gst_type_find_element_handle_event),
16257         (gst_type_find_element_send_cached_events),
16258         (gst_type_find_element_change_state):
16259         * plugins/elements/gsttypefindelement.h:
16260           When typefinding is done in push mode, we should cache
16261           events we receive during typefinding instead of just
16262           dropping them (e.g. newsegment, custom events from
16263           dvdreadsrc etc.) and then send them out once we've
16264           determined the type of the stream (and decodebin
16265           has had a chance to plug in a decoder/demuxer).
16266           
16267 2006-03-27  Wim Taymans  <wim@fluendo.com>
16268
16269         * docs/design/part-qos.txt:
16270         First QoS ideas.
16271
16272 2006-03-27  Wim Taymans  <wim@fluendo.com>
16273
16274         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16275
16276         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16277         (gst_base_src_send_event), (gst_base_src_change_state):
16278         Handle element seek correctly when we are streaming.
16279         Fixes #326998.
16280
16281 2006-03-24  Michael Smith  <msmith@fluendo.com>
16282
16283         * docs/faq/gst-uninstalled:
16284           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16285           allow you to correctly run intalled applications built against old 
16286           core, using plugins that require updated core (e.g. running
16287           installed totem against a full uninstalled gstreamer stack)
16288
16289 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16290
16291         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16292         more debug details
16293
16294 2006-03-24  Wim Taymans  <wim@fluendo.com>
16295
16296         * docs/gst/gstreamer-sections.txt:
16297         Rearrange the order of the methods so that related methods
16298         are grouped together in sections.
16299
16300 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16301
16302         * gst/gstelement.c:
16303           Little clarification in the docs
16304
16305 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16306
16307         * docs/README:
16308         formatting fix
16309         * plugins/elements/gstidentity.c:
16310         * plugins/elements/gstqueue.c:
16311         * plugins/elements/gsttee.c:
16312         * plugins/elements/gsttypefindelement.c:
16313         GST_ELEMENT_DETAILS formatting
16314
16315 2006-03-24  Wim Taymans  <wim@fluendo.com>
16316
16317         * libs/gst/base/gstbasesink.h:
16318         Only add fields, not insert or we break ABI.
16319
16320 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16321
16322         * win32/common/libgstbase.def:
16323         * win32/common/libgstreamer.def:
16324           Update, add recently added functions.
16325
16326 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16327
16328         * docs/gst/gstreamer-sections.txt:
16329         * gst/gstutils.c: (gst_pad_query_peer_position),
16330         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16331         * gst/gstutils.h:
16332           API: add some new utility functions:
16333            - gst_pad_query_peer_position()
16334            - gst_pad_query_peer_duration()
16335            - gst_pad_query_peer_convert()
16336           
16337 2006-03-23  Wim Taymans  <wim@fluendo.com>
16338
16339         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16340         (gst_base_sink_init), (gst_base_sink_finalize),
16341         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16342         (gst_base_sink_set_property), (gst_base_sink_get_property),
16343         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16344         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16345         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16346         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16347         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16348         (gst_base_sink_preroll_object), (gst_base_sink_event),
16349         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16350         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16351         (gst_base_sink_query), (gst_base_sink_change_state):
16352         Decouple max-lateness and the fact that QoS messages are generated
16353         with a new property (qos).
16354         added API: GstBaseSink::async_play()
16355         Add vmethod so subclasses can be notified of ASYNC playing
16356         state changes.
16357         Collect timestamp start and stop to report better current
16358         position in EOS/PLAYING/PAUSED/READY/NULL.
16359         Refactor QoS/frame dropping and other measurements.
16360         API: GstBaseSrc::qos
16361         Fixes #326311
16362
16363         * libs/gst/base/gstbasesink.h:
16364         Added Private struct.
16365         API: gst_base_sink_set_qos_enabled()
16366         API: gst_base_sink_is_qos_enabled()
16367
16368 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16369
16370         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16371           If compiling against GLib-2.8 or newer, try to read the
16372           registry file using GMappedFile first before falling back
16373           to fopen() + fread() (#332151).
16374
16375 2006-03-22  Wim Taymans  <wim@fluendo.com>
16376
16377         * gst/gstinfo.c: (gst_debug_set_active),
16378         (gst_debug_category_set_threshold):
16379         Disable debugging unless explicitly activated.
16380         Fixes #335480.
16381
16382 2006-03-22  Wim Taymans  <wim@fluendo.com>
16383
16384         * gst/gstelement.c: (gst_element_set_locked_state),
16385         (gst_element_dispose):
16386         Cleanup the error case.
16387
16388         * gst/gstobject.c: (gst_object_dispose):
16389         print a critical when some object was disposed with
16390         a parent, also revive the object since it might
16391         crash the parent.
16392
16393 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16394
16395         * tools/gst-launch.1.in:
16396           Fix another typo.
16397
16398 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16399
16400         * configure.ac:
16401         * tests/check/Makefile.am:
16402           disable some tests when we don't have a registry
16403         * tests/check/gst/gstutils.c: (gst_utils_suite):
16404           don't build the part that needs parsing
16405
16406 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16407
16408         * gst/Makefile.am
16409         * tests/examples/Makefile.am:
16410           fix --disable-parse build
16411
16412 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16413
16414         * tools/gst-feedback.1.in:
16415           Fix typo: s/feeback/feedback/ (#133494).
16416
16417 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16418
16419         * tools/Makefile.am:
16420         * tools/gst-launch.1.in:
16421           Add FILES section and correct entry about GST_REGISTRY_PATH
16422           environment variable (#133495; #133494).
16423
16424 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16425
16426         * tools/Makefile.am:
16427         * tools/gst-md5sum.1.in:
16428         * tools/gst-md5sum.c:
16429           Remove gst-md5sum and man page (the md5sink element
16430           required was removed ages ago)
16431
16432 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16433
16434         * gst/gststructure.c: (gst_structure_id_set_value):
16435           Make sure that string fields in structures/taglists
16436           contain valid UTF-8 - we don't want to pass rubbish to
16437           applications because of a buggy plugin (cp. #334167).
16438
16439 2006-03-21  Edward Hervey  <edward@fluendo.com>
16440
16441         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16442         (gst_bin_handle_message_func):
16443         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16444         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16445         (gst_element_set_bus_func):
16446         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16447         * gst/gstminiobject.c: (gst_value_set_mini_object),
16448         (gst_value_take_mini_object):
16449         * gst/gstpad.c: (gst_pad_set_pad_template):
16450         * gst/gstpipeline.c: (gst_pipeline_dispose),
16451         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16452         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16453         (gst_collect_pads_chain):
16454         * libs/gst/net/gstnettimeprovider.c:
16455         (gst_net_time_provider_set_property):
16456         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16457         It's in fact all issues with gst_*object_replace().
16458
16459 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16460
16461         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16462         
16463         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16464         * pkgconfig/gstreamer-check.pc.in:
16465           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16466
16467 2006-03-21  Edward Hervey  <edward@fluendo.com>
16468
16469         * gst/gstbuffer.h:
16470         * gst/gstevent.h:
16471         * gst/gstmessage.h:
16472         gst_[buffer|event|message]_ref() macros are replaced by a static
16473         inline functions because gcc-4.1 will about if the return value
16474         isn't used.
16475         * tests/check/gst/gstevent.c: (event_probe):
16476         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16477
16478 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16479
16480         * gst/gstutils.h:
16481         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16482         the type' case. (Closes: #335195 for now). In the future, when we
16483         depend on GLib 2.10, we could also intern the type name using
16484         g_intern_static_string()
16485
16486 2006-03-20  Wim Taymans  <wim@fluendo.com>
16487
16488         * gst/gstbin.c: (gst_bin_handle_message_func),
16489         (bin_query_max_init), (bin_query_position_fold),
16490         (bin_query_position_done), (gst_bin_query):
16491         Position query should also take max of all streams.
16492
16493 2006-03-20  Wim Taymans  <wim@fluendo.com>
16494
16495         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16496         (gst_fake_src_finalize):
16497         Fix leaks in fakesrc.
16498
16499         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16500         Fix leaks in the testcase.
16501
16502 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16503
16504         * gst/gst_private.h:
16505           add win32 specific import decoration(__declspec(dllimport)) 
16506           for all extern GstDebugCategory * variables
16507         * win32/common/libgstbase.def:
16508         * win32/common/libgstcontroller.def:
16509         * win32/common/libgstreamer.def:
16510           Add some exports, remove empty lines
16511         * win32/common/libgstdataprotocol.def:
16512         * win32/common/libgstdataprotocol.dsp:
16513         * win32/common/libgstnet.def:
16514         * win32/common/libgstnet.dsp:
16515           new project files and exportation files added
16516         
16517 2006-03-19  Wim Taymans  <wim@fluendo.com>
16518
16519         * tests/check/libs/basesrc.c: (eos_event_counter):
16520         Use proper return value for probe.
16521
16522 2006-03-17  Wim Taymans  <wim@fluendo.com>
16523
16524         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16525         (gst_pad_push):
16526         Don't leak buffers, caps and pads on negotiation errors.
16527
16528 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16529
16530         * docs/faq/cvs.xml:
16531         * docs/faq/dependencies.xml:
16532         * docs/faq/developing.xml:
16533         * docs/faq/faq.xml:
16534         * docs/faq/general.xml:
16535         * docs/faq/getting.xml:
16536         * docs/faq/legal.xml:
16537         * docs/faq/troubleshooting.xml:
16538         * docs/faq/using.xml:
16539         Faq review and update.
16540
16541 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16542
16543         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16544         (gst_pad_push):
16545         Don't pound the cpu to pieces by checking get_caps when accept_caps
16546         is called with the same caps as the pad already has.
16547         Use GST_DEBUG_OBJECT when outputting caps change information.
16548
16549 2006-03-15  Wim Taymans  <wim@fluendo.com>
16550
16551         * gst/gstclock.c: (gst_clock_class_init):
16552         Fix docs.
16553
16554 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16555
16556         * gst/gstbuffer.h:
16557         Documentation fix.
16558
16559         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16560         (gst_pad_accept_caps), (gst_pad_configure_sink),
16561         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16562         Make the default acceptcaps behaviour be to check the requested 
16563         caps against the gst_pad_get_caps output. 
16564
16565         Ensure that gst_pad_accept_caps is used to check caps when a pad
16566         doesn't have a setcaps function, so that pads automatically refuse 
16567         caps that they don't allow in their pad template. (Fixes #332986)
16568
16569         When a buffer with attached caps is pushed, ensure that the source 
16570         pad receives those caps even if the element didn't call
16571         gst_pad_set_caps first.
16572
16573 2006-03-15  Wim Taymans  <wim@fluendo.com>
16574
16575         * libs/gst/base/gstadapter.c:
16576         Add some docs.
16577
16578 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16579
16580         * win32/common/libgstbase.def:
16581         * win32/common/libgstcontroller.def:
16582         * win32/common/libgstreamer.def:
16583           Add a whole bunch of missing functions (#334434).
16584
16585 2006-03-14  Wim Taymans  <wim@fluendo.com>
16586
16587         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16588         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16589         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16590         Better debug info when we receive a segment event.
16591         Reorganize a bit so we can pass the get_times() results around.
16592         Use the segment format when calculating the running time.
16593         Don't do QoS is sync is disabled or we have no clock or the
16594         element does not want us to sync to the clock.
16595         Don't drop buffers if QoS is disabled for now.
16596
16597 2006-03-14  Wim Taymans  <wim@fluendo.com>
16598
16599         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16600         Marked the stats property as unimplemented so people don't get
16601         wild ideas.
16602         Add debug message when regression goes wrong.
16603         Added some more docs.
16604
16605 2006-03-14  Wim Taymans  <wim@fluendo.com>
16606
16607         * gst/gstsegment.c: (gst_segment_to_stream_time):
16608         Return correct return type in case of errors.
16609
16610 2006-03-14  Wim Taymans  <wim@fluendo.com>
16611
16612         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16613           Don't segfault on invalid formats.
16614
16615 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16616
16617         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16618           Can't use gst_segment_to_running_time() when the segment
16619           is not in GST_TIME_FORMAT (like with filesink, for example).
16620           Stops flac encoding pipelines from spewing critical warnings
16621           at EOS (#331248).
16622           
16623 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16624
16625         * gst/gstpipeline.c: (gst_pipeline_class_init):
16626           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16627
16628         * plugins/elements/gsttypefindelement.c:
16629         (gst_type_find_element_handle_event):
16630           Don't try to typefind empty streams.
16631
16632 2006-03-14  Wim Taymans  <wim@fluendo.com>
16633
16634         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16635         (gst_base_sink_do_qos):
16636         Separate QoS calculation.
16637         Only drop buffers when lateness is bigger than the 
16638         duration of the buffer.
16639
16640 2006-03-13  Wim Taymans  <wim@fluendo.com>
16641
16642         * gst/gstpipeline.c: (gst_pipeline_set_property),
16643         (gst_pipeline_get_property), (do_pipeline_seek),
16644         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16645         (gst_pipeline_get_delay):
16646         Don't deadlock when reading properties.
16647
16648 2006-03-13  Wim Taymans  <wim@fluendo.com>
16649
16650         * libs/gst/base/gstbasetransform.c:
16651         (gst_base_transform_class_init), (gst_base_transform_init),
16652         (gst_base_transform_sink_event),
16653         (gst_base_transform_sink_eventfunc),
16654         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16655         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16656         (gst_base_transform_set_property),
16657         (gst_base_transform_get_property),
16658         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16659         (gst_base_transform_set_qos_enabled),
16660         (gst_base_transform_is_qos_enabled):
16661         * libs/gst/base/gstbasetransform.h:
16662         Make basetransform virtual method for src events too.
16663         Handle QOS in basetransform.
16664         API: gst_base_transform_update_qos()
16665         API: gst_base_transform_set_qos_enabled()
16666         API: gst_base_transform_is_qos_enabled()
16667
16668 2006-03-13  Wim Taymans  <wim@fluendo.com>
16669
16670         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16671         (gst_base_sink_do_sync):
16672         Small cleanups.
16673         Use QOS debug category.
16674
16675 2006-03-13  Wim Taymans  <wim@fluendo.com>
16676
16677         * plugins/elements/gstqueue.c:
16678         Very small doc update.
16679
16680 2006-03-13  Wim Taymans  <wim@fluendo.com>
16681
16682         * gst/gst_private.h:
16683         * gst/gstinfo.c: (_gst_debug_init):
16684         Added QOS debug category
16685
16686 2006-03-13  Wim Taymans  <wim@fluendo.com>
16687
16688         * docs/gst/gstreamer-sections.txt:
16689         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16690         * gst/gstbin.h:
16691         * gst/gstbus.c: (gst_bus_class_init):
16692         * gst/gstbus.h:
16693         * gst/gstclock.c:
16694         * gst/gstelement.c: (gst_element_set_locked_state):
16695         * gst/gstsegment.c:
16696         Documentation updates.
16697
16698         * gst/gstpipeline.c: (gst_pipeline_get_type),
16699         (gst_pipeline_class_init), (gst_pipeline_init),
16700         (gst_pipeline_dispose), (gst_pipeline_set_property),
16701         (gst_pipeline_get_property), (do_pipeline_seek),
16702         (gst_pipeline_send_event), (gst_pipeline_change_state),
16703         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16704         (gst_pipeline_get_delay):
16705         * gst/gstpipeline.h:
16706         Added methods for setting the delay.
16707         API: gst_pipeline_set_delay()
16708         API: gst_pipeline_get_delay()
16709         Add pipeline debug category
16710         Various cleanups.
16711         Updated docs.
16712         Don't reset stream time when seek failed.
16713
16714 2006-03-13  Wim Taymans  <wim@fluendo.com>
16715
16716         * docs/design/draft-klass.txt:
16717         * docs/design/part-clocks.txt:
16718         * docs/design/part-events.txt:
16719         * docs/design/part-gstbin.txt:
16720         * docs/design/part-gstpipeline.txt:
16721         * docs/design/part-messages.txt:
16722         * docs/design/part-negotiation.txt:
16723         * docs/design/part-overview.txt:
16724         * docs/design/part-preroll.txt:
16725         * docs/design/part-seeking.txt:
16726         * docs/design/part-states.txt:
16727         * docs/design/part-streams.txt:
16728         Documentation updates.
16729
16730 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16731
16732         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16733         us to leak strings...
16734
16735 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16736
16737         * libs/gst/net/gstnettimeprovider.c:
16738           fix docs
16739         * win32/common/config.h:
16740           update
16741
16742 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16743
16744         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16745
16746         * configure.ac:
16747           Don't check for libgnomeui (leftover from old examples
16748           that aren't built or disted any longer) (#334303).
16749           
16750 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16751
16752         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16753         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16754           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16755           there's no space left on the device.
16756
16757 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16758
16759         * gst/gstclock.h:
16760           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16761           to cast the input to GstClockTime before comparing with
16762           another GstClockTime value.
16763
16764 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16765
16766         * configure.ac:
16767           back to trunk
16768
16769 === release 0.10.4 ===
16770
16771 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16772
16773         * configure.ac:
16774           releasing 0.10.4, "Light"
16775
16776 2006-03-10  Michael Smith  <msmith@fluendo.com>
16777
16778         * libs/gst/dataprotocol/dataprotocol.c:
16779           Fix docs for dataprocotol to not get the return types completely
16780           wrong for a few functions.
16781
16782 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16783
16784         * docs/gst/gstreamer-sections.txt:
16785         * gst/gstpipeline.c: (gst_pipeline_class_init),
16786         (gst_pipeline_init), (gst_pipeline_set_property),
16787         (gst_pipeline_get_property), (gst_pipeline_change_state),
16788         (gst_pipeline_set_auto_flush_bus),
16789         (gst_pipeline_get_auto_flush_bus):
16790         * gst/gstpipeline.h:
16791           Add new API: gst_pipeline_set_auto_flush_bus() and
16792           gst_pipeline_get_auto_flush_bus() to disable automatic
16793           flushing of the pipeline's GstBus when going from READY
16794           to NULL state (#332045).
16795
16796 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16797
16798         * docs/gst/gstreamer-sections.txt:
16799         * gst/gsturi.c: (gst_uri_has_protocol):
16800         * gst/gsturi.h:
16801            Add new API: gst_uri_has_protocol() (#333779).
16802
16803 2006-03-09  Wim Taymans  <wim@fluendo.com>
16804
16805         * gst/gstclock.c: (gst_clock_entry_new),
16806         (gst_clock_id_compare_func), (gst_clock_id_wait),
16807         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16808         (gst_clock_init), (gst_clock_get_internal_time),
16809         (gst_clock_set_master), (do_linear_regression),
16810         (gst_clock_add_observation), (gst_clock_set_property):
16811         * gst/gstclock.h:
16812         Review docs.
16813         Small cleanups.
16814         Fix a possible segfault when the window-size is made smaller.
16815         Calculate jitter before performing the clock wait. Ideally
16816         the clock implementation should calculate jitter but we need
16817         API breakage for that.
16818
16819         * gst/gstsystemclock.c: (gst_system_clock_init):
16820         Docs review.
16821         
16822         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16823         Remove leftover else
16824
16825         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16826         (gst_systemclock_suite):
16827         Added check to test GST_CLOCK_DIFF.
16828
16829 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16830
16831         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16832         (gst_type_find_helper_get_range):
16833           If we are provided with the size, we should implement
16834           GstTypeFind::get_length, so that typefind functions who
16835           want to can actually peek at the middle of a file.
16836
16837 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16838
16839         * docs/manual/advanced-dataaccess.xml:
16840           Add some very very basic error checking.
16841
16842         * docs/pwg/appendix-checklist.xml:
16843           Some updates to the list of things to check when writing an element.
16844
16845 2006-03-08  Wim Taymans  <wim@fluendo.com>
16846
16847         * docs/design/part-element-transform.txt:
16848         Added some docs about the design of tranform elements.
16849
16850         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16851         (gst_base_src_loop), (gst_base_src_change_state):
16852         Mark buffers with the DISCONT flag.
16853
16854 2006-03-08  Michael Smith  <msmith@fluendo.com>
16855
16856         * gst/gstregistry.h:
16857         * gst/gstregistryxml.c: (gst_registry_save),
16858         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16859         (gst_registry_xml_save_pad_template),
16860         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16861         (gst_registry_xml_write_cache):
16862           Rewrite registry-saving to avoid race conditions and check for
16863           failed writes.
16864
16865 2006-03-08  Wim Taymans  <wim@fluendo.com>
16866
16867         * libs/gst/base/gstbasetransform.c:
16868         (gst_base_transform_transform_caps),
16869         (gst_base_transform_transform_size),
16870         (gst_base_transform_prepare_output_buffer),
16871         (gst_base_transform_get_unit_size),
16872         (gst_base_transform_buffer_alloc),
16873         (gst_base_transform_handle_buffer),
16874         (gst_base_transform_change_state):
16875         Cleanups, separate normal flow from errors, add sensible
16876         DEBUG lines.
16877         Don't try to renegotiate when allocating an output buffer.
16878         Also copy DISCONT buffer flag when copying a buffer.
16879         Reset the transform after we finish streaming, not during.
16880
16881 2006-03-08  Wim Taymans  <wim@fluendo.com>
16882
16883         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16884         Use last buffer timestamp in qos message.
16885
16886 2006-03-07  Wim Taymans  <wim@fluendo.com>
16887
16888         Patch by: Christophe Fergeau
16889
16890         * docs/pwg/advanced-tagging.xml:
16891         * docs/pwg/building-pads.xml:
16892           fixes #333416
16893
16894 2006-03-07  Wim Taymans  <wim@fluendo.com>
16895
16896         * docs/libs/gstreamer-libs-sections.txt:
16897         Added basesink new methods.
16898
16899         * gst/gstevent.c:
16900         * gst/gstevent.h:
16901         Docs updates. Flesh out the QoS docs.
16902
16903         * libs/gst/base/gstadapter.c:
16904         Small doc clarification about ownership and flushing.
16905
16906         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16907         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16908         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16909         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16910         * libs/gst/base/gstbasesink.h:
16911         API additions: 
16912         Added new methods to allow subclass to control max-lateness 
16913         and sync.
16914         Generate very basic QoS events based on last sync observation.
16915         Updated docs, fix typo, added some QoS blurb.
16916
16917         * libs/gst/base/gstbasesrc.c:
16918         Remove obsolete _get_state() calls from docs.
16919
16920 2006-03-07  Wim Taymans  <wim@fluendo.com>
16921
16922         * docs/libs/gstreamer-libs-sections.txt:
16923         * libs/gst/base/gstbasetransform.h:
16924         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16925         Fix docs for GstBaseSrc.
16926
16927 2006-03-07  Wim Taymans  <wim@fluendo.com>
16928
16929         * docs/gst/gstreamer-sections.txt:
16930         * gst/gstbuffer.h:
16931         * gst/gstvalue.c:
16932         * libs/gst/base/gstbasetransform.h:
16933         Small documentation fixes.
16934
16935 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16936
16937         * gst/gstvalue.c:
16938           Document thread-unsafety of gst_value_register_foo_func()
16939           when used at the same time as gst_value_foo() (#322628).
16940
16941 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16942
16943         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16944         (gst_push_src_check_get_range):
16945           Push sources don't support pull mode by default.
16946
16947 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16948
16949         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16950         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16951         (gst_base_src_default_check_get_range):
16952         * libs/gst/base/gstbasesrc.h:
16953           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16954           provide default implementation, and rename
16955           gst_base_src_check_get_range() to
16956           gst_base_src_pad_check_get_range() for clarity.
16957
16958 2006-03-06  Wim Taymans  <wim@fluendo.com>
16959
16960         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16961         Make property overridable.
16962
16963 2006-03-06  Wim Taymans  <wim@fluendo.com>
16964
16965         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16966         (gst_base_sink_init), (gst_base_sink_set_property),
16967         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16968         * libs/gst/base/gstbasesink.h:
16969         API addition: Make max-lateness a property.
16970
16971 2006-03-06  Wim Taymans  <wim@fluendo.com>
16972
16973         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16974         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16975         Don't ever draw a frame that is >10ms late.
16976
16977 2006-03-06  Michael Smith  <msmith@fluendo.com>
16978
16979         * gst/gstmessage.c: (_gst_message_copy):
16980           When copying a message, set the parent_refcount of the enclosed
16981           structure to point at the copy, not the original message.
16982
16983 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16984
16985         Patch by: Christophe Fergeau
16986
16987         * gst/gstutils.h:
16988           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16989           usable in c++ code (#333417)
16990
16991 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16992
16993         * gst/gstclock.h:
16994           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16995
16996 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16997
16998         * libs/gst/base/gstbasetransform.c:
16999         (gst_base_transform_transform_caps):
17000           Make sure caps are writable before passing them to
17001           gst_caps_append().
17002
17003 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17004
17005         * gst/gsterror.h:
17006           Fix some minor docs errors.
17007
17008 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17009
17010           Patch by: Ross Burton <ross at burtonini dot com>
17011
17012         * gst/gsterror.c: (_gst_resource_errors_init):
17013         * gst/gsterror.h:
17014           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
17015
17016 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17017
17018         * gst/gst.c:
17019         Add a check and output a g_warning when GStreamer is built
17020         against GLib 2.6 but running against 2.8 or higher, and vice 
17021         versa. (Closes: #323542)
17022
17023 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17024
17025         * gst/parse/parse.l:
17026           Commit patch for parse_launch syntax from #331255. Removes 
17027           support for quoted strings and mimetypes when writing filtered 
17028           caps. See the bug report for more details - I'm pretty sure this
17029           obscure feature is not in use by _anyone_ anywhere.
17030
17031           With this simple change, the size of the gstreamer.so here 
17032           drops from 2193KB to 1565KB.
17033
17034 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17035
17036         * plugins/elements/gsttypefindelement.h:
17037         * plugins/elements/gsttypefindelement.c:
17038         (gst_type_find_element_src_event), (start_typefinding),
17039         (stop_typefinding), (gst_type_find_element_handle_event),
17040         (gst_type_find_element_chain),
17041         (gst_type_find_element_chain_do_typefinding):
17042           Use gst_type_find_helper_for_buffer() for chain-based
17043           typefinding.
17044
17045 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17046
17047         * plugins/elements/gsttypefindelement.c:
17048         (gst_type_find_element_class_init),
17049         (gst_type_find_element_set_property),
17050         (gst_type_find_element_get_property):
17051           Deprecate "maximum" property (not only was it only taken into
17052           account for typefinding in push-mode anyway, it also was never
17053           actually possible to set it in the first place because the
17054           property was registered with the numeric property ID for the
17055           "minimum" property). Register "maximum" property correctly,
17056           for the sake of future copy'n'pasters. Remove some cruft
17057           from property get/set functions.
17058
17059 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17060
17061         * plugins/elements/gsttypefindelement.c:
17062         (gst_type_find_element_activate):
17063           Use gst_type_find_helper_get_range() here, so we
17064           can honour the "minimum" property and also emit
17065           the signal with the correct probability of the found caps.
17066
17067 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
17068
17069         * docs/libs/gstreamer-libs-sections.txt:
17070         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17071         (helper_find_suggest), (gst_type_find_helper_get_range),
17072         (gst_type_find_helper):
17073         * libs/gst/base/gsttypefindhelper.h:
17074           New API: gst_type_find_helper_get_range() (#333042).
17075
17076 2006-03-02  Michael Smith  <msmith@fluendo.com>
17077
17078         * gst/gstregistryxml.c: (load_feature):
17079           Asserting on a failure to read part of the registry is Not Cool.
17080           Just log a warning and return NULL (which is already handled)
17081
17082 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17083
17084         * win32/common/libgstbase.def:
17085           added export of gst_type_find_helper_for_buffer
17086         * win32/common/libgstbase.def:
17087           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17088           gst_ghost_pad_get_target
17089
17090 2006-02-28  Wim Taymans  <wim@fluendo.com>
17091
17092         * docs/design/draft-klass.txt:
17093         We use Filter now.
17094         Added Connector to mark elements that are only used to
17095         allow pipeline connections.
17096         Moved Debug to extra feature since most of them are 
17097         functionally something else.
17098
17099 2006-02-28  Wim Taymans  <wim@fluendo.com>
17100
17101         * docs/design/draft-klass.txt:
17102         Some updates and clarifications.
17103
17104 2006-02-28  Wim Taymans  <wim@fluendo.com>
17105
17106         * docs/design/draft-klass.txt:
17107         Proposal for klass field values.
17108
17109         * docs/design/part-streams.txt:
17110         Start of a doc describing stream anatomy.
17111
17112 2006-02-28  Wim Taymans  <wim@fluendo.com>
17113
17114         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17115         Help the compiler a bit with type registration.
17116         Use existing forward cod path instead of duplicating it when 
17117         handling a message.
17118         
17119         * gst/gstbus.c: (gst_bus_get_type):
17120         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17121         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17122         * gst/gstclock.c: (gst_clock_get_type):
17123         * gst/gstelement.c: (gst_element_get_type),
17124         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17125         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17126         * gst/gstminiobject.c: (gst_mini_object_get_type):
17127         * gst/gstpad.c: (gst_pad_get_type):
17128         * gst/gstsegment.c: (gst_segment_get_type):
17129         * gst/gststructure.c: (gst_structure_get_type):
17130         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17131         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17132         * gst/gstvalue.c:
17133         Help compiler with type registration.
17134
17135         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17136         Small doc update.
17137
17138 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17139
17140         * plugins/elements/gsttypefindelement.c:
17141         (gst_type_find_element_handle_event):
17142           When we get an EOS event and have not found a type yet
17143           (most likely because we had not yet accumulated
17144           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17145           type given the data we have so far. Fixes typefinding
17146           for very short streams again, most notably quicktime
17147           redirections as used on Apple's trailer site (#331701).
17148
17149 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17150
17151         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17152         (gst_type_find_helper):
17153           Try typefinding factories with the highest rank first.
17154
17155 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17156
17157         * docs/libs/gstreamer-libs-docs.sgml:
17158         * docs/libs/gstreamer-libs-sections.txt:
17159         * libs/gst/base/gsttypefindhelper.c:
17160           Add section for typefind helper and add documentation
17161           for the old and the new function.
17162
17163 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17164
17165         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17166         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17167         (gst_type_find_helper_for_buffer):
17168         * libs/gst/base/gsttypefindhelper.h:
17169           New API: gst_type_find_helper_for_buffer() (#332723).
17170           
17171 2006-02-27  Michael Smith  <msmith@fluendo.com>
17172
17173         Patch by: Loïc Minier
17174
17175         * configure.ac:
17176         * docs/Makefile.am:
17177         * docs/slides/Makefile.am:
17178           prevent CVS directories getting disted.
17179
17180 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17181
17182         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17183           Use the REFCOUNTING category for caps refcounting.
17184           
17185 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17186
17187         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17188           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17189
17190 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17191
17192         * plugins/elements/gsttypefindelement.c:
17193         (gst_type_find_element_activate):
17194           Use gst_pad_check_pull_range() before _activate_pull()
17195           to avoid unnecessary open/close (see #331690).
17196
17197 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17198
17199         * gst/gstutils.c:
17200           Docs enhancement: make it crystal clear what the
17201           gst_pad_add_*_probe() callbacks should look like.
17202
17203 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17204
17205         * libs/gst/base/gstbasesrc.c:
17206           Document how applications can stop recording from
17207           live sources (see #330996).
17208
17209 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17210
17211         * tests/check/Makefile.am:
17212         * tests/check/libs/basesrc.c: (eos_event_counter),
17213         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17214         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17215         (gst_basesrc_suite), (main):
17216           ... and add some tests for the base source EOS stuff.
17217
17218 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17219
17220         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17221           Test case originally showed the problem fixed below,
17222           but was then amended. Add checks back at the place
17223           where they used to be.
17224
17225 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17226
17227         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17228         (gst_base_src_init), (gst_base_src_loop),
17229         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17230         (gst_base_src_change_state):
17231         * libs/gst/base/gstbasesrc.h:
17232           Don't unconditionally send EOS when going from PAUSED to
17233           READY state, esp. make sure we don't send two EOS events
17234           in some cases (e.g. one when reaching EOS and one when
17235           going from PAUSED to READY). Also, we don't want to send
17236           EOS events when operating in pull mode. However, we do
17237           want to send an EOS event when shutting down a live
17238           source explicitly, for example (fixes #330996).
17239           
17240 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17241
17242         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17243           Update src->read_position after a seek when not using mmap.
17244           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17245
17246 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17247
17248         * gst/Makefile.am:
17249         * gst/gstparse.h:
17250         * gst/gstutils.c:
17251         * gst/gstutils.h:
17252         Make things work with --disable-parse as they do with 
17253         --disable-load-save - the symbols involved disappear, but the
17254         header is still installed and GST_DISABLE_PARSE is included via
17255         gstconfig.h
17256
17257 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17258
17259         * libs/gst/base/gstbasetransform.c:
17260         (gst_base_transform_change_state): Fix a stupid bug. I was 
17261         sure I compiled that.
17262
17263 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17264
17265         * gst/gstpad.c: (gst_pad_set_blocked_async):
17266         * gst/gstutils.c: (gst_pad_add_data_probe),
17267         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17268         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17269         (gst_pad_remove_buffer_probe): Make those function act on the
17270         ghostpad target when it's a ghostpad. (Closes #331727)
17271
17272 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17273
17274         * libs/gst/base/gstbasetransform.c:
17275         (gst_base_transform_change_state): Make basetransform reusable.
17276         (Closes #331898)
17277
17278 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17279
17280         * docs/random/release:
17281         Move the current documentation of how to do a release to the top
17282         of the file.
17283
17284         * gst/gstbin.c: (gst_bin_class_init),
17285         (gst_bin_handle_message_func):
17286         Allow multiple state-recalculation threads. (Closes #328873)
17287
17288 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17289
17290         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17291         * gst/gstpad.c: (gst_pad_set_event_function),
17292         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17293         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17294         2 strings. You can't use the STR_NULL macro on that.
17295
17296 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17297
17298         * gst/gstpad.c: (gst_pad_set_event_function),
17299         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17300         (gst_pad_set_getcaps_function)
17301         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17302           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17303           So now, we can use --gst-debug-level=5 on Windows
17304         * win32/common/libgstcontroller.def:
17305           Added export of gst_controller_init
17306         * win32/vs6/libgstcontroller.dsp:
17307           Fixed Release post build configuration
17308
17309 2006-02-17  Wim Taymans  <wim@fluendo.com>
17310
17311         * tests/check/gst/gstquery.c: (GST_START_TEST):
17312         Added another check.
17313
17314 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17315
17316         * plugins/elements/gsttypefindelement.c: (find_peek):
17317           We can do peeks at non-zero offsets, as long as they
17318           fall within the buffer we have.
17319
17320 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17321
17322         * tests/check/Makefile.am:
17323         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17324         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17325         (parse_suite), (main):
17326           Add testsuite for parse launch syntax
17327
17328 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17329
17330         * plugins/elements/gsttypefindelement.c:
17331         (gst_type_find_element_chain):
17332           When typefinding is unsuccessful in the chain function, don't
17333           error out immediately. Only error out with NO_CAPS_FOUND if
17334           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17335           otherwise simply wait for more data so we can try typefinding
17336           again with more data later. Also, don't attempt to typefind
17337           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17338           this should improve typefinding from network sources where the
17339           size of the first buffer can be somewhat random.
17340
17341 2006-02-14  Wim Taymans  <wim@fluendo.com>
17342
17343         * docs/gst/gstreamer-sections.txt:
17344         * gst/gstpadtemplate.c:
17345         * gst/gstpadtemplate.h:
17346         Fix padtemplate docs, fixes #328805.
17347
17348 2006-02-14  Wim Taymans  <wim@fluendo.com>
17349
17350         * tools/gst-launch.c: (main):
17351         NO_PREROLL is not an ERROR so don't send confusing messages
17352         to the user.
17353
17354 2006-02-14  Wim Taymans  <wim@fluendo.com>
17355
17356         Patch by: Torsten Schoenfeld
17357
17358         * gst/gstregistry.c: (gst_registry_get_default),
17359         (_gst_registry_cleanup):
17360         Protect default registry with lock and ref/sink it.
17361         Fixes #324818
17362
17363 2006-02-14  Wim Taymans  <wim@fluendo.com>
17364
17365         * gst/gstbuffer.c:
17366         * gst/gstquery.c: (gst_query_list_add_format),
17367         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17368         (gst_query_parse_formats_nth):
17369         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17370         Docs fixes.
17371
17372 2006-02-14  Wim Taymans  <wim@fluendo.com>
17373
17374         * docs/gst/gstreamer-sections.txt:
17375         Reworked query docs.
17376
17377         * gst/gstquery.c: (gst_query_new_formats),
17378         (gst_query_list_add_format), (gst_query_set_formats),
17379         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17380         (gst_query_parse_formats_nth):
17381         * gst/gstquery.h:
17382         Flesh out formats query, added some new methods.
17383         Fix part of #324398.
17384
17385         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17386         Added query creation tests.
17387
17388 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17389
17390         * gst/gstpad.c: (fixate_value):
17391         Add a default fixation for fraction lists.
17392
17393 2006-02-13  Wim Taymans  <wim@fluendo.com>
17394
17395         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17396         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17397         (gst_task_join):
17398         * gst/gsttask.h:
17399         Detect and warn for obvious deadlocks. fixes #320340
17400         Fix error case where lock was not released.
17401
17402         * tests/check/Makefile.am:
17403         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17404         (task_func), (gst_element_suite), (main):
17405         Add task check.
17406
17407 2006-02-13  Wim Taymans  <wim@fluendo.com>
17408
17409         * docs/gst/gstreamer-sections.txt:
17410         * gst/gstbus.c:
17411         Add new functions to docs.
17412
17413 2006-02-13  Wim Taymans  <wim@fluendo.com>
17414
17415         * docs/design/part-TODO.txt:
17416         Updated TODO list, basesrc supports seeking to non-bytes
17417         formats.
17418
17419         * docs/design/part-element-sink.txt:
17420         Update docs.
17421
17422         * gst/gstbin.c: (bin_replace_message),
17423         (gst_bin_handle_message_func):
17424         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17425         * gst/gstevent.c: (gst_event_finalize):
17426         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17427         (gst_pad_send_event):
17428         Use shiny new _TYPE_NAME macros.
17429
17430         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17431         Move debug statement up.
17432
17433         * gst/gstelement.c: (gst_element_set_locked_state):
17434         Add some debugging.
17435
17436 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17437
17438         * docs/gst/gstreamer-sections.txt:
17439         * gst/gstmessage.h:
17440         * gst/gstquery.h:
17441           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17442           macros (#330906). Also, document the already existing
17443           GST_QUERY_TYPE macro.
17444
17445 2006-02-13  Wim Taymans  <wim@fluendo.com>
17446
17447         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17448         (event_probe), (GST_START_TEST):
17449         Only events up to the pipeline EOS are counted, there are
17450         some more when going to NULL currently which we don't care
17451         about for now.
17452
17453 2006-02-13  Wim Taymans  <wim@fluendo.com>
17454
17455         * gst/gstpad.c: (gst_pad_send_event):
17456         Correctly check flushing and emit probes. fixes #330125
17457
17458 2006-02-10  Andy Wingo  <wingo@pobox.com>
17459
17460         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17461         structure.
17462         (gst_bus_init): Cache the location of the private data in the
17463         instance structure.
17464         (gst_bus_enable_sync_message_emission) 
17465         (gst_bus_disable_sync_message_emission): Implement new public
17466         functions.
17467         (gst_bus_post): Emit the sync-message signal if the user asked for
17468         it. Fixes #330684.
17469
17470         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17471         location of the bus-private structure.
17472         (gst_bus_enable_sync_message_emission)
17473         (gst_bus_disable_sync_message_emission): API addition
17474
17475 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17476
17477         Patch by: Vincent Torri
17478
17479         * docs/pwg/building-boiler.xml:
17480         PWG patch from #326800
17481
17482 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17483
17484         * configure.ac:
17485         * docs/Makefile.am:
17486         * docs/design/Makefile.am:
17487           Dist design docs.
17488
17489 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17490
17491         * configure.ac:
17492           back to CVS
17493
17494 === release 0.10.3 ===
17495
17496 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17497
17498         * configure.ac:
17499           releasing 0.10.3, "Like a virgin"
17500
17501 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17502
17503         * configure.ac:
17504           2nd prerelease of 0.10.3
17505           Bump libtool versioning.
17506
17507 2006-02-07  Andy Wingo  <wingo@pobox.com>
17508
17509         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17510         update last_stop if we're in TIME format and the timestamp is
17511         valid.
17512
17513         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17514         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17515         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17516         If we get a new newsegment with a different format, adapt
17517         accordingly.
17518
17519         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17520         of 0. Not a problem, really.
17521
17522         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17523         warn if sync=true.
17524
17525 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17526
17527         * configure.ac:
17528           Prelease of 0.10.3
17529
17530 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17531
17532         * win32/vs7:
17533           project files updated to the default vs7 configuration
17534         * win32/common/libgstbase.def:
17535         * win32/common/libgstreamer.def:
17536           added new symbols,
17537           removed empty lines,
17538           sorted all exported symbols alphabetically
17539         * win32/common/dirent.c:
17540         * win32/common/dirent.h:
17541         * win32/common/gchar.h:
17542           use windows line end.
17543           
17544 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17545
17546         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17547           Send EOS event when stopping.
17548
17549 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17550
17551         * docs/README:
17552           Tell folks what to do if the plugin-foobar.xml file
17553           hasn't been generated for a newly-added plugin.
17554
17555 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17556
17557         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17558         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17559         (gst_collect_pads_start), (gst_collect_pads_stop),
17560         (gst_collect_pads_event): Collectpads now holds a reference
17561         to the GstPad that was added. Indeed we don't want to look
17562         at pads that might just go away with no warning...
17563
17564 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17565
17566         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17567         (gst_collect_pads_start), (gst_collect_pads_stop),
17568         (gst_collect_pads_event), (gst_collect_pads_chain):
17569         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17570         Mark Nauwelaerts's patch on bug #328491.
17571
17572 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17573
17574         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17575         (gst_utils_suite):
17576           Add some simple tests for gst_parse_bin_from_description() and
17577           gst_bin_find_unconnected_pad() (#329069).
17578
17579 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17580
17581         * tools/gst-launch.c: (event_loop), (main):
17582           Catch errors during preroll (#320084).
17583
17584 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17585
17586         * plugins/elements/gsttypefindelement.c:
17587         (gst_type_find_element_activate):
17588           Post TYPE_NOT_FOUND error message when typefinding
17589           is unsuccessful in the activate function as well.
17590
17591 2006-02-02  Wim Taymans  <wim@fluendo.com>
17592
17593         * docs/design/part-element-sink.txt:
17594         Updated doc.
17595
17596 2006-02-02  Wim Taymans  <wim@fluendo.com>
17597
17598         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17599         (gst_base_sink_render_object),
17600         (gst_base_sink_queue_object_unlocked):
17601         Only keep track of prerollable items when we are 
17602         prerolling.
17603         Before rendering after preroll, always check if we
17604         have queued items.
17605         Added some more debugging.
17606
17607 2006-02-02  Wim Taymans  <wim@fluendo.com>
17608
17609         * gst/gstelement.c: (gst_element_continue_state),
17610         (gst_element_set_state_func), (gst_element_change_state):
17611         Fixed #326576, been running this for quite some time with
17612         no regressions at all.
17613
17614 2006-02-02  Wim Taymans  <wim@fluendo.com>
17615
17616         * common/gst.supp:
17617         Added more suppressions
17618
17619 2006-02-02  Wim Taymans  <wim@fluendo.com>
17620
17621         * docs/design/part-element-sink.txt:
17622         Updated document.
17623
17624         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17625         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17626         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17627         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17628         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17629         (gst_base_sink_preroll_object),
17630         (gst_base_sink_queue_object_unlocked),
17631         (gst_base_sink_queue_object), (gst_base_sink_event),
17632         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17633         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17634         (gst_base_sink_get_position), (gst_base_sink_change_state):
17635         * libs/gst/base/gstbasesink.h:
17636         Totally refactored matching the design doc.
17637         Use two segments, one to clip incomming buffers and another to
17638         perform sync.
17639         Handle queueing correctly, bypass the queue when playing.
17640         Make EOS cancelable.
17641         Handle errors correctly when operating in pull based mode.
17642
17643         * tests/check/elements/fakesink.c: (GST_START_TEST),
17644         (fakesink_suite):
17645         Added new check for sinks.
17646
17647 2006-02-02  Wim Taymans  <wim@fluendo.com>
17648
17649         * gst/gstsegment.c: (gst_segment_clip):
17650         No reason to refuse to clip when start == -1
17651
17652 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17653
17654         * docs/README:
17655         * docs/manual/intro-basics.xml:
17656         * docs/manual/intro-preface.xml:
17657         * docs/manual/manual.xml:
17658         * docs/pwg/advanced-dparams.xml:
17659         * docs/pwg/intro-basics.xml:
17660         * docs/pwg/intro-preface.xml:
17661         * docs/pwg/pwg.xml:
17662           describe dparams (controller) for plugins
17663           unify docs a little more
17664
17665 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17666
17667         * docs/gst/gstreamer-sections.txt:
17668         * gst/gstutils.c: (element_find_unconnected_pad),
17669         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17670         * gst/gstutils.h:
17671           Add new API: gst_parse_bin_from_description() and
17672           gst_bin_find_unconnected_pad() (#329069).
17673
17674 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17675
17676         * docs/manual/README:
17677           uncover a nasty detail of the docs build
17678
17679 2006-01-31  Wim Taymans  <wim@fluendo.com>
17680
17681         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17682         Don't cache duration messages if we're not going to use or
17683         free them.
17684
17685 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17686
17687         * docs/manual/advanced-dparams.xml:
17688         * docs/pwg/advanced-dparams.xml:
17689           more dparam docs
17690         * gst/gstindex.c:
17691           fix docs
17692         * libs/gst/controller/lib.c: (gst_controller_init):
17693           init just once
17694
17695 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17696
17697         * gst/gstelement.c: (gst_element_message_full):
17698           also show file/line/func if no additional debug was given
17699
17700 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17701         
17702         * win32/vs7/grammar.vcproj:
17703           activate copy of autogenerated files for Release mode
17704
17705 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17706         
17707         * win32/common/libgstreamer.def:
17708           export gst_value_compare
17709
17710 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17711
17712         * plugins/elements/Makefile.am:
17713         * plugins/elements/gstelements.c:
17714         * plugins/elements/gstfdsink.c: (_do_init),
17715         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17716         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17717         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17718         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17719         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17720         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17721         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17722         * plugins/elements/gstfdsink.h:
17723         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17724
17725 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17726
17727         * docs/manual/advanced-dparams.xml:
17728           describe controller
17729         * docs/manual/advanced-position.xml:
17730         * docs/manual/basics-init.xml:
17731         * docs/manual/manual.xml:
17732         * docs/manual/titlepage.xml:
17733         * docs/pwg/pwg.xml:
17734         * docs/pwg/titlepage.xml:
17735           cleanup xml (more to come)
17736         * libs/gst/controller/gstcontroller.c:
17737           fix typo
17738
17739 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17740         
17741         * win32/vs6/grammar.dsp:
17742           add autogen of gstmarshal.c,h for Release mode
17743                 
17744 2006-01-30  Wim Taymans  <wim@fluendo.com>
17745
17746         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17747         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17748         (gst_base_sink_handle_object), (gst_base_sink_event),
17749         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17750         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17751         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17752         (gst_base_sink_deactivate), (gst_base_sink_activate),
17753         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17754         (gst_base_sink_query), (gst_base_sink_change_state):
17755         Basesink cleanups, remove some old code.
17756         Handle the case where a subclass can preroll in the render
17757         method (mostly audiosinks).
17758         Handle more events.
17759         Remove some locks around variables that are now protected
17760         with the PREROLL_LOCK (clock_id, flushing, ..).
17761         Optimize position query some more, do correct locking.
17762         Remove old code to push queue in state change, this is not
17763         needed anymore since preroll blocks on all prerollable items 
17764         now.
17765         Almost implemented as described in design doc.
17766
17767 2006-01-30  Wim Taymans  <wim@fluendo.com>
17768
17769         * tests/check/gst/gstbin.c: (GST_START_TEST):
17770         Wait for refcount to settle down before checking.
17771
17772 2006-01-30  Wim Taymans  <wim@fluendo.com>
17773
17774         * docs/design/part-element-sink.txt:
17775         Pseudo code overview of desired sink behaviour regarding
17776         preroll.
17777
17778 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17779         * win32/vs6/grammar.dsp:
17780           fix some bugs in Release mode for autogenerated files
17781                 
17782 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17783         * win32/common/libgstbase.def:
17784         * win32/common/libgstreamer.def:
17785           export some new symbols: gst_base_src_set_format,
17786           gst_iterator_next, gst_structure_set_valist
17787
17788 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17789
17790         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17791         Set pad functions unconditionally. Fixes #329105.
17792
17793 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17794         * win32/vs8:
17795           add vs8 project files created by Sergey Scobich
17796
17797 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17798
17799         * gst/gstutils.c: (gst_element_unlink_pads):
17800         Don't leak pad references.
17801
17802         * tests/check/elements/fakesink.c: (GST_START_TEST):
17803         * tests/check/generic/sinks.c: (GST_START_TEST):
17804         * tests/check/generic/states.c: (GST_START_TEST):
17805         * tests/check/gst/gstbin.c: (GST_START_TEST):
17806         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17807         * tests/check/gst/gstelement.c: (GST_START_TEST):
17808         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17809         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17810         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17811         Fix a bunch of leaks. Make generic/sinks.c
17812         use a bit less cpu by slowing the buffer rate
17813         between fakesrc and fakesink.
17814         
17815 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17816         * gst/gstcaps.c:
17817         * gst/gstelement.c: (gst_element_send_event):
17818         * gst/gstevent.c:
17819         * gst/gstinfo.c:
17820         * gst/gstiterator.c:
17821         * gst/gstiterator.h:
17822         * gst/gstpad.c: (gst_pad_send_event):
17823         * gst/gststructure.c:
17824         * gst/gsturi.c:
17825         * gst/gstutils.c:
17826         * gst/gstvalue.c:
17827         * libs/gst/base/gstadapter.c:
17828           doc fixes, to link to function, just write gst_cool_function(), don't
17829           prefix with '#'
17830
17831 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17832
17833         * plugins/elements/gsttee.c: (gst_tee_do_push),
17834         (gst_tee_handle_buffer):
17835         Always prefer an actual return value from a src
17836         pad in place of NOT_LINKED. This means we return
17837         WRONG_STATE when all src pads are WRONG_STATE
17838         instead of NOT_LINKED.
17839
17840         Lock when replacing the last message to prevent
17841         racing with the get_property method.
17842
17843         Add debug output
17844
17845 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17846
17847         * tests/check/Makefile.am:
17848         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17849         (main):
17850         Add a very simple check that should have caught the memleak I fixed
17851         last night (if not for the slice allocator hiding it)
17852
17853 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17854
17855         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17856         (gst_bin_remove_func), (gst_bin_handle_message_func),
17857         (bin_query_duration_fold), (bin_query_generic_fold):
17858         Clean up references to the clock provider when disposed or when
17859         handling a clock-lost message from it.
17860
17861         Unref sinks when performing a query via gst_iterator_fold, as the
17862         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17863
17864         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17865         (gst_clock_set_master):
17866         Drop our reference to the master clock, if any, when we are disposed.
17867
17868         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17869         Chain up in dispose. 
17870
17871 2006-01-26  Wim Taymans  <wim@fluendo.com>
17872
17873         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17874         Add some debugging.
17875
17876 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17877
17878         * plugins/elements/gsttee.c: (gst_tee_do_push),
17879         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17880         handles pad being NOT_LINKED or in WRONG_STATE.
17881
17882 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17883
17884         * win32/MANIFEST:
17885           more updating
17886
17887 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17888
17889         * win32/MANIFEST:
17890           remove obsolete entry
17891
17892 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17893
17894         * docs/gst/gstreamer-sections.txt:
17895         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17896         (gst_bin_iterate_sources), (gst_bin_send_event):
17897         * gst/gstbin.h:
17898         * gst/gstelement.c: (gst_element_send_event):
17899         * gst/gstevent.c:
17900         * gst/gstpad.c: (gst_pad_send_event):
17901           added code for downstream events, reviewed docs in gstevent.c
17902
17903 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17904
17905         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17906         We only query position using the clock in the playing state.
17907         Query peer in the other cases.
17908         * win32/common/config.h: Updates.
17909
17910 2006-01-24  Wim Taymans  <wim@fluendo.com>
17911
17912         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17913         A clock entry that is scheduled for the exact time of the
17914         clock is still in time.
17915
17916         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17917         (gst_base_sink_do_sync):
17918         Add some more debug info.
17919
17920 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17921
17922         * win32/vs7:
17923           Add new vs7 project files and solution.
17924
17925 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17926
17927         * win32/vs7:
17928           all files removed as they were out-dated.
17929
17930 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17931
17932         * docs/random/release:
17933           update notes
17934         * gst/gstbin.c: (gst_bin_init):
17935         * gst/gstbus.c: (gst_bus_new):
17936         * gst/gstbus.h:
17937         * gst/gstpipeline.c: (gst_pipeline_init):
17938           use gst_bus_new(), improve logging, fix docs
17939         * win32/common/config.h:
17940           update for cvs build
17941
17942 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17943
17944         * autogen.sh:
17945           up required version of automake to 1.7
17946
17947 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17948
17949         * win32/common/libgstreamer.def:
17950           export gst_buffer_is_metadata_writable
17951
17952 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17953
17954         * docs/gst/gstreamer-sections.txt:
17955         * gst/gstevent.h:
17956           Add gst_event_replace() (#327001)
17957
17958 2006-01-20  Wim Taymans  <wim@fluendo.com>
17959
17960         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17961         Make it actually compile too..
17962
17963 2006-01-20  Wim Taymans  <wim@fluendo.com>
17964
17965         * gst/gstcaps.c:
17966         Clarify behaviour of _is_equal() when passing NULL parameters.
17967
17968         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17969         (gst_pad_set_caps):
17970         Cleanups. Don't unref NULL caps.
17971         When setting the same caps, protect caps of the pad with
17972         proper lock.
17973         Use full functionality of _is_equal() when comparing caps.
17974
17975 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17976
17977         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17978         Don't loop infinitely if there are no buffers to present. Partially
17979         fixes #327197, but collectpads is just broken for reusing elements
17980         to do multiple encodes atm.
17981
17982 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17983
17984         * tools/gst-inspect.c: (print_element_features):
17985         * tools/gst-xmlinspect.c: (main):
17986         URL_HANDLER is not a plugin feature we can search for in
17987         the registry.
17988
17989 2006-01-19  Edward Hervey  <edward@fluendo.com>
17990
17991         * gst/gstelement.c: (gst_element_pads_activate): 
17992         When activating, do src pads first, then sink pads.
17993         When de-activating, do sink pads first, then src pads.
17994
17995 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17996
17997         * docs/gst/gstreamer-sections.txt:
17998         Add gst_index_add_associationv to the docs
17999
18000 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18001
18002         * gst/gstevent.c:
18003           Fix docs typo
18004
18005         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
18006         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
18007           Do some refactoring. Doesn't actually change functionality,
18008           but makes landing the DRAIN event easier later.
18009
18010 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
18011
18012         * docs/pwg/advanced-scheduling.xml:
18013           Update from 0.9.x to 0.10 API and make example a bit
18014           clearer.
18015
18016 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18017
18018         * docs/gst/gstreamer-sections.txt:
18019         Add gst_buffer_(is|make)_metadata_writable methods.
18020
18021 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18022
18023         * docs/design/part-sparsestreams.txt:
18024         Update sparse streams doc, hopefully for greater clarity
18025
18026 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
18027
18028         * docs/design/part-events.txt:
18029         Remove mention of FILLER events.
18030         Add DRAIN event.
18031
18032         * docs/design/part-sparsestreams.txt:
18033         Write some things about using NEWSEGMENT to keep sparse streams
18034         flowing.
18035
18036 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18037
18038         * gst/gstbin.c: (gst_bin_dispose):
18039           Guard gst_object_unref call against a NULL object (dispose
18040           can theoretically be called multiple times).
18041           
18042 2006-01-18  Wim Taymans  <wim@fluendo.com>
18043
18044         * gst/gstbin.c: (gst_bin_element_set_state):
18045         * gst/gstclock.c: (gst_clock_id_wait):
18046         Added some more debug info.
18047
18048         * libs/gst/base/gstadapter.c:
18049         Added more docs.
18050
18051         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18052         (gst_base_sink_do_sync), (gst_base_sink_chain):
18053         Added some comments.
18054
18055 2006-01-18  Wim Taymans  <wim@fluendo.com>
18056
18057         * tests/check/Makefile.am:
18058         * tests/check/elements/fakesink.c: (chain_async_buffer),
18059         (chain_async), (chain_async_return), (GST_START_TEST),
18060         (fakesink_suite), (main):
18061         Added fakesink test that checks prerolling and clipping
18062         behaviour.
18063
18064         * tests/check/gst/gstutils.c: (GST_START_TEST):
18065         Make check run faster so that buildbots don't timeout.
18066
18067 2006-01-18  Wim Taymans  <wim@fluendo.com>
18068
18069         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18070         (gst_base_sink_do_sync):
18071         Some cleanups.
18072         When the sink finishes blocking on the preroll buffer, it can
18073         immediatly render it instead of rendering when the next buffer
18074         arrives.
18075
18076 2006-01-18  Wim Taymans  <wim@fluendo.com>
18077
18078         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18079         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18080         (gst_base_sink_chain):
18081         Small cleanups.
18082         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18083         Don't store _last_stop if the buffer is dropped.
18084
18085 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18086
18087         * plugins/elements/gsttypefindelement.c:
18088         (gst_type_find_element_class_init):
18089           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18090           object method handler that sets the caps on the pad and we want
18091           that to happen before we emit the signal (fixes e.g. feeding a
18092           plain text file to decodebin).
18093
18094 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18095
18096         * gst/gstplugin.c: Add MPL and Proprietary as license options
18097
18098 2006-01-18  Andy Wingo  <wingo@pobox.com>
18099
18100         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18101         symbol was exported before, it appears this was just an oversight.
18102         Fixes #168703.
18103         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18104
18105         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18106         prototype to gint. OK since this prototype was not in the header.
18107
18108 2006-01-17  Andy Wingo  <wingo@pobox.com>
18109
18110         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18111         registry while we remove plugins.
18112
18113         * tools/gst-inspect.c (print_element_info): Don't unref the
18114         factory arg, that should be the responsibility of whatever code
18115         received the ref. Fixes a double-free when called from
18116         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18117         (main): Unref the factory if we have one.
18118         (print_element_list): No change -- relies on the
18119         plugin_feature_list_free to free the list of features.
18120
18121 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18122
18123         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18124         (gst_buffer_make_metadata_writable):
18125         * gst/gstbuffer.h:
18126         * libs/gst/base/gstbasetransform.c:
18127         (gst_base_transform_prepare_output_buf):
18128         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18129         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18130           Replace gst_buffer_(make|is)_metadata_writable patch now
18131           that the release is out.
18132
18133 2006-01-17  Andy Wingo  <wingo@pobox.com>
18134
18135         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18136         in the present tense without reference to versions.
18137
18138         * gst/gstregistry.c (gst_registry_add_plugin)
18139         (gst_registry_remove_plugin, gst_registry_remove_feature)
18140         (gst_registry_find_feature, gst_registry_get_feature_list)
18141         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18142         (gst_registry_lookup, gst_registry_scan_path)
18143         (_gst_registry_remove_cache_plugins)
18144         (gst_registry_get_feature_list_by_plugin): Add argument
18145         validation.
18146
18147 === release 0.10.2 ===
18148
18149 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18150
18151         * configure.ac:
18152           releasing 0.10.2, "If man is five"
18153
18154 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18155
18156         * gst/gstbuffer.c:
18157         * gst/gstbuffer.h:
18158         * libs/gst/base/gstbasetransform.c:
18159         (gst_base_transform_prepare_output_buf):
18160         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18161         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18162           Back out patch until after the release.
18163
18164 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18165
18166         * gst/gstminiobject.c:
18167           Spelling fix in docs.
18168         * ChangeLog - remove conflict indicator
18169
18170 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18171
18172         Reviewed By: Andy Wingo
18173
18174         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18175         (gst_buffer_make_metadata_writable):
18176         * gst/gstbuffer.h:
18177           Add gst_buffer_(is|make)_metadata_writable as analogues of
18178           gst_buffer_(is|make)_writable.
18179
18180         * libs/gst/base/gstbasetransform.c:
18181         (gst_base_transform_prepare_output_buf):
18182         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18183           Use name gst_buffer_(is|make)_metadata_writable functions.
18184
18185         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18186           Test gst_buffer_(is|make)_metadata_writable
18187         
18188           (Closes: #324162)
18189
18190 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18191
18192         * docs/manual/Makefile.am:
18193           don't do parallel make
18194         * configure.ac:
18195           AC_SUBST HOST_CPU
18196         * win32/common/config.h.in:
18197           add generations for HOST_CPU and GST_MAJORMINOR
18198         * win32/common/config.h:
18199           commit generated result
18200
18201 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18202
18203         * docs/manual/appendix-integration.xml:
18204           Update GNOME integration section to use gst_init_get_option_group()
18205           instead of the old popt stuff (#322911). Also, GNOME applications
18206           should  now use gconf*sink and gconf*src instead of the old gconf
18207           helper lib we had.
18208
18209 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18210
18211
18212         * docs/gst/gstreamer-docs.sgml:
18213         * docs/gst/gstreamer-sections.txt:
18214         * docs/libs/gstreamer-libs-sections.txt:
18215           add new API entries to the docs
18216         * libs/gst/controller/Makefile.am:
18217         * libs/gst/controller/gstcontroller.c:
18218         * libs/gst/controller/gstcontroller.h:
18219         * libs/gst/controller/gstcontrollerprivate.h:
18220         * libs/gst/controller/gsthelper.c:
18221         * libs/gst/controller/gstinterpolation.c:
18222           move private structs to private header
18223         * po/README:
18224           gstreamer-0.7 -> gstreamer-0.10
18225         * tests/check/libs/struct_i386.h:
18226           remove private structs
18227
18228 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18229
18230         * plugins/indexers/Makefile.am:
18231           Fixes as part of #317048
18232
18233 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18234
18235         * plugins/indexers/Makefile.am:
18236           fix #316086 - compilation when mmap is missing
18237
18238 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18239
18240         * libs/gst/base/gstbasesink.c:
18241           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18242           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18243         * win32/common/config.h:
18244           added some defines GST_MAJORMINOR and HOST_CPU
18245         * win32/common/libgstbase.def:
18246         * win32/common/libgstreamer.def:
18247           added some exported functions.
18248
18249 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18250
18251         * libs/gst/controller/gstcontroller.c:
18252         (gst_controlled_property_set_interpolation_mode),
18253         (gst_controlled_property_new):
18254         * libs/gst/controller/gstcontroller.h:
18255         * libs/gst/controller/gstinterpolation.c:
18256         (interpolate_none_get_string_value_array):
18257           make G_TYPE_STRING controlable
18258
18259 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18260
18261         * tools/README:
18262         * tools/gst-feedback.1.in:
18263         * tools/gst-inspect.1.in:
18264         * tools/gst-launch.1.in:
18265         * tools/gst-md5sum.1.in:
18266         * tools/gst-typefind.1.in:
18267         * tools/gst-xmlinspect.1.in:
18268         * tools/gst-xmllaunch.1.in:
18269           cleanup man-pages, remove reference to gst-register, document env-vars
18270
18271 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18272
18273         * gst/gstbuffer.c: (gst_buffer_span):
18274           gst_buffer_span should copy the timestamp of the first buffer
18275           if they were both originally overlapping subbuffers of the 
18276           same parent, using the same logic as the 'slow copy' case.
18277
18278 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18279
18280         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18281           Need to awaken ALL the pads when we pop a buffer, otherwise
18282           collectpads only works when there is 2 input streams.
18283
18284 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18285
18286         * docs/random/ensonic/media-device-daemon.txt:
18287           more ideas (dbus)
18288         * gst/gstbuffer.c:
18289           fix doc example, add clarification
18290         * tools/gst-launch.1.in:
18291           add initial info about GST_PLUGIN_PATH, needs more work
18292
18293 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18294
18295         * docs/manual/basics-bins.xml:
18296         * docs/manual/basics-elements.xml:
18297         * docs/manual/intro-basics.xml:
18298           Some more minor docs additions and updates.
18299
18300 2006-01-11  Wim Taymans  <wim@fluendo.com>
18301
18302         * docs/manual/basics-bins.xml:
18303         * docs/manual/basics-elements.xml:
18304         Some small fixes as pointed out by Ser-ver on IRC.
18305
18306 2006-01-10  Edward Hervey  <edward@fluendo.com>
18307
18308         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18309         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18310         the single-segment mode.
18311
18312 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18313
18314         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18315
18316         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18317         (gst_base_src_perform_seek), (gst_base_src_send_event),
18318         (gst_base_src_set_property), (gst_base_src_get_property),
18319         (gst_base_src_loop), (gst_base_src_start),
18320         (gst_base_src_activate_push):
18321         * libs/gst/base/gstbasesrc.h:
18322           Name (private) union; makes Sun's Forte compiler happy (#324900).
18323
18324 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18325
18326         * README:
18327           gst-register is gone.
18328
18329 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18330
18331         * gst/gstvalue.c: (_gst_value_initialize):
18332           make the G_TYPE_DATE instantiation work if debug is disabled
18333
18334 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18335
18336         * gst/gstmessage.c: (gst_message_parse_tag),
18337         (gst_message_parse_error), (gst_message_parse_warning):
18338           Don't crash when return location for error/warning debug
18339           string is NULL; add fact that return locations can be
18340           NULL to docs where appropriate.
18341
18342 2006-01-05  Wim Taymans  <wim@fluendo.com>
18343
18344         * gst/gstplugin.c: (gst_plugin_load_file):
18345         Replace strdup by g_strdup.
18346
18347 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18348
18349         * docs/pwg/advanced-types.xml:
18350           fix doc borkage
18351
18352 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18353
18354         submitted by: Abel Cheung
18355
18356         * po/LINGUAS:
18357         * po/zh_TW.po:
18358           Added Chinese (traditional) translation
18359
18360 2006-01-04  Wim Taymans  <wim@fluendo.com>
18361
18362         * docs/manual/basics-pads.xml:
18363         * docs/plugins/Makefile.am:
18364         * docs/plugins/gstreamer-plugins-docs.sgml:
18365         * docs/plugins/gstreamer-plugins-sections.txt:
18366         * docs/pwg/advanced-clock.xml:
18367         * docs/pwg/advanced-scheduling.xml:
18368         * docs/pwg/advanced-types.xml:
18369         * plugins/elements/gstfdsink.c:
18370         * plugins/elements/gstfdsrc.c:
18371         * plugins/elements/gstfdsrc.h:
18372         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18373         * plugins/elements/gstidentity.h:
18374         * plugins/elements/gstqueue.h:
18375         * plugins/elements/gsttee.c:
18376         * plugins/elements/gsttee.h:
18377         * plugins/elements/gsttypefindelement.c:
18378         (gst_type_find_element_class_init):
18379         * plugins/elements/gsttypefindelement.h:
18380         Small updates to various docs.
18381         Added core plugins to docs.
18382
18383 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18384
18385         * common/gst.supp:
18386           add a suppression for liboil's uninitialized variable
18387
18388 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18389
18390         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18391
18392         * gst/gstutils.h:
18393           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18394           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18395           compiler switch is being used (#325429).
18396
18397 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18398
18399         * gst/gstbin.c: (gst_bin_query):
18400           Disable duration query caching in bins until it gets
18401           fixed (see #324807).
18402
18403 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18404
18405         * tools/gst-inspect.c: (print_element_properties_info):
18406           Handle properties of POINTER and BOXED type.
18407
18408 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18409
18410         * gst/gst.c: (init_post):
18411           Init tags stuff and some other things before loading
18412           any static plugins (there may be other static plugins
18413           than just the GStreamer ones, and they may want to
18414           register their own tags or formats or whatever, and
18415           preferably without segfaulting).
18416
18417         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18418           Print at least a warning in the debug logs if we drop a
18419           query just because we don't know how to adjust the value
18420           in the particular format.
18421
18422 2005-12-24  David Schleef  <ds@schleef.org>
18423
18424         * tools/gstreamer-completion:
18425           Replacement for gst-complete written in sh and sed.  Only
18426           completes names of features, but that's 90% of what I want
18427           it for.  Properties are not available in registry.xml.  (Maybe
18428           they should be...)
18429
18430 === release 0.10.1 ===
18431
18432 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18433
18434         * configure.ac:
18435           releasing 0.10.1, "Nollaig chridheil"
18436
18437 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18438
18439         * docs/faq/cvs.xml:
18440           Add missing quote, should be make ERROR_CFLAGS="".
18441
18442 2005-12-20  Wim Taymans  <wim@fluendo.com>
18443
18444         * docs/design/part-trickmodes.txt:
18445         More documentation on trickmodes.
18446
18447 2005-12-20  Edward Hervey  <edward@fluendo.com>
18448
18449         * gst/gstcaps.c: (gst_static_caps_get_type):
18450         * gst/gstcaps.h:
18451           API addition: GST_TYPE_STATIC_CAPS
18452         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18453         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18454         * gst/gstpadtemplate.h:
18455           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18456         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18457         bindings.
18458
18459 2005-12-18  Wim Taymans  <wim@fluendo.com>
18460
18461         * libs/gst/base/gstadapter.c:
18462         * libs/gst/base/gstadapter.h:
18463         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18464         (gst_base_sink_get_position):
18465         * libs/gst/base/gstbasesink.h:
18466         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18467         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18468         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18469         (gst_base_src_send_event), (gst_base_src_update_length),
18470         (gst_base_src_get_range), (gst_base_src_loop),
18471         (gst_base_src_start):
18472         * libs/gst/base/gstbasesrc.h:
18473         * libs/gst/base/gstbasetransform.h:
18474         * libs/gst/base/gstcollectpads.h:
18475         * libs/gst/base/gstpushsrc.c:
18476         * libs/gst/base/gstpushsrc.h:
18477         * libs/gst/dataprotocol/dataprotocol.c:
18478         * libs/gst/dataprotocol/dataprotocol.h:
18479         * libs/gst/net/gstnetclientclock.h:
18480         * libs/gst/net/gstnettimeprovider.h:
18481         Documentation updates.
18482
18483 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18484
18485         * docs/manual/basics-helloworld.xml:
18486           Remove superfluous closing bracket in helloworld example.
18487
18488 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18489
18490         * tools/gst-launch.1.in:
18491           Update gst-launch man page; add a section with useful
18492           environment variables. Fixes #323882.
18493
18494 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18495
18496         * gst/gst.c:
18497         * gst/gst_private.h:
18498           change some char* into char[]
18499
18500 2005-12-16  Wim Taymans  <wim@fluendo.com>
18501
18502         * gst/gstregistryxml.c: (load_feature):
18503         Cleanups.
18504         Don't use g_object_unref on GstObjects so that we avoid
18505         leaks on unsafe glibs.
18506
18507 2005-12-16  Wim Taymans  <wim@fluendo.com>
18508
18509         * gst/gstbin.c: (gst_bin_recalc_state):
18510         Small doc updates.
18511
18512 2005-12-16  Wim Taymans  <wim@fluendo.com>
18513
18514         * common/check.mak:
18515         Added make forever target for check.
18516
18517 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18518
18519         * gst/gst.c: (init_post):
18520           make the registry cache file HOST_CPU-dependent
18521
18522 2005-12-16  Andy Wingo  <wingo@pobox.com>
18523
18524         * plugins/elements/gstbufferstore.c
18525         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18526         return value.
18527
18528         * tests/check/gst/gstobject.c
18529         (test_fake_object_name_threaded_unique): Pay attention to
18530         g_list_sort return value.
18531
18532 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18533
18534         * tools/gst-feedback-m.m:
18535           Update for 0.9/0.10 (fixes #323870).
18536
18537 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18538
18539         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18540           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18541           
18542         * tests/check/gst/gstminiobject.c: (my_foo_init),
18543         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18544         (test_value_collection), (gst_mini_object_suite):
18545           Add test to ensure refcounts end up as expected when passing
18546           GstMiniObjects through g_object_get() and g_object_set().
18547
18548 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18549
18550         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18551         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18552         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18553         of collectpads. This version removes a lot of races without
18554         touching API/ABI. Yay !
18555
18556 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18557
18558         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18559           Don't allow activation of a srcpad in pull_range if it has no
18560           getrange function.
18561           Change some debug statements to be a little clearer
18562
18563         * plugins/elements/gsttypefindelement.c:
18564         (gst_type_find_handle_src_query):
18565           Check that we have a peer before executing queries thereupon.
18566
18567         * tests/examples/metadata/read-metadata.c: (message_loop):
18568           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18569           immediately return us any available message with 0 timeout.
18570
18571 2005-12-12  Michael Smith  <msmith@fluendo.com>
18572
18573         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18574           Don't unref factories after calling them.
18575         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18576         * plugins/elements/gsttypefindelement.c:
18577         (gst_type_find_element_chain):
18578           Free lists of factories after using them. Fixing typefinding memory
18579           leaks.
18580
18581 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18582
18583         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18584         (gst_plugin_feature_load):
18585           more meaningful debug output
18586         * configure.ac:
18587         * tests/Makefile.am:
18588         * tests/old/examples/Makefile.am:
18589           make make distcheck happy again
18590
18591 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18592
18593         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18594           Catch the special case where we are operating chain-based,
18595           but the downstream peer pad has no chain function. Emit a
18596           custom error message in this case instead of letting the
18597           core generate one implying that this is some sort of core
18598           bug. It's not, it just means that whatever got plugged
18599           into the pipeline downstream when we announced the type
18600           can only operate pull-based, while our source can only
18601           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18602           Error string has not been marked for translation yet, as
18603           it probably needs some more work first.
18604
18605         (gst_type_find_element_get_best_possibility):
18606           Add helper function to find the best of all available
18607           found possibilities that qualify given the min. threshold.
18608
18609         (gst_type_find_element_handle_event):
18610           Fix the case where we get an EOS while still in TYPEFIND
18611           mode (we want to chose the best of all possible types,
18612           not just the first type that happens to be in our unsorted
18613           list of possible types).
18614
18615         (gst_type_find_element_chain):
18616           Make sure we return GST_FLOW_ERROR when we errored out
18617           in stop_typefinding(); also, don't just find the best of
18618           all found type entries and then use the last examined
18619           type entry, but actually use the best entry.
18620
18621 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18622
18623         * tests/examples/typefind/typefind.c: (type_found):
18624         * tests/examples/xml/runxml.c: (xml_loaded):
18625           More gcc4 fixes and a mem leak fix.
18626
18627 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18628
18629         * tests/examples/xml/createxml.c: (object_saved):
18630           gcc 4 fixes
18631
18632 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18633
18634         * tests/Makefile.am:
18635           enable the examples even more
18636
18637 2005-12-12  Andy Wingo  <wingo@pobox.com>
18638
18639         * libs/gst/net/gstnettimeprovider.c
18640         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18641         (gst_net_time_provider_set_property)
18642         (gst_net_time_provider_get_property):
18643         API addition: Export "active" as a GObject property.
18644         (gst_net_time_provider_thread): Only respond to time queries if
18645         the time provider is active.
18646
18647         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18648         NetTimeProvider, preserving binary compat.
18649
18650 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18651
18652         * tests/examples/controller/audio-example.c: (main):
18653         * tests/examples/launch/Makefile.am:
18654           convert comments again
18655
18656 2005-12-12  Wim Taymans  <wim@fluendo.com>
18657
18658         * libs/gst/base/gstpushsrc.c:
18659         Fix typo.
18660
18661 2005-12-12  Wim Taymans  <wim@fluendo.com>
18662
18663         * docs/libs/gstreamer-libs-sections.txt:
18664         Added new symbol to docs.
18665
18666         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18667         (gst_base_src_init), (gst_base_src_set_format),
18668         (gst_base_src_default_query), (gst_base_src_query),
18669         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18670         (gst_base_src_perform_seek), (gst_base_src_send_event),
18671         (gst_base_src_default_event), (gst_base_src_event_handler),
18672         (gst_base_src_set_property), (gst_base_src_get_property),
18673         (gst_base_src_wait), (gst_base_src_do_sync),
18674         (gst_base_src_update_length), (gst_base_src_get_range),
18675         (gst_base_src_check_get_range), (gst_base_src_loop),
18676         (gst_base_src_default_negotiate), (gst_base_src_start),
18677         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18678         (gst_base_src_change_state):
18679         * libs/gst/base/gstbasesrc.h:
18680         Implement seeking to other formats than _BYTES.
18681         Implement more seeking methods correctly.
18682         Doc updates.
18683         Added query vmethod.
18684         Added do_seek vmethod to make life easier for subclasses
18685         when seeking.
18686         API addition: gst_base_src_set_format()
18687
18688 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18689
18690         * tests/examples/Makefile.am:
18691           added that too
18692
18693 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18694
18695         * configure.ac:
18696         * docs/random/ensonic/media-device-daemon.txt:
18697         * tests/examples/controller/.cvsignore:
18698         * tests/examples/controller/Makefile.am:
18699         * tests/examples/controller/audio-example.c: (main):
18700         * tests/examples/helloworld/.cvsignore:
18701         * tests/examples/helloworld/Makefile.am:
18702         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18703         * tests/examples/launch/.cvsignore:
18704         * tests/examples/launch/Makefile.am:
18705         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18706         * tests/examples/metadata/.cvsignore:
18707         * tests/examples/metadata/Makefile.am:
18708         * tests/examples/metadata/read-metadata.c: (message_loop),
18709         (make_pipeline), (print_tag), (main):
18710         * tests/examples/queue/.cvsignore:
18711         * tests/examples/queue/Makefile.am:
18712         * tests/examples/queue/queue.c: (event_loop), (main):
18713         * tests/examples/typefind/.cvsignore:
18714         * tests/examples/typefind/Makefile.am:
18715         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18716         (main):
18717         * tests/examples/xml/.cvsignore:
18718         * tests/examples/xml/Makefile.am:
18719         * tests/examples/xml/createxml.c: (object_saved), (main):
18720         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18721         * tests/old/examples/Makefile.am:
18722         * tests/old/examples/TODO:
18723         * tests/old/examples/controller/.cvsignore:
18724         * tests/old/examples/controller/Makefile.am:
18725         * tests/old/examples/controller/audio-example.c:
18726         * tests/old/examples/helloworld/.cvsignore:
18727         * tests/old/examples/helloworld/Makefile.am:
18728         * tests/old/examples/helloworld/helloworld.c:
18729         * tests/old/examples/launch/.cvsignore:
18730         * tests/old/examples/launch/Makefile.am:
18731         * tests/old/examples/launch/mp3parselaunch.c:
18732         * tests/old/examples/launch/mp3play:
18733         * tests/old/examples/manual/Makefile.am:
18734         * tests/old/examples/metadata/Makefile.am:
18735         * tests/old/examples/metadata/read-metadata.c:
18736         * tests/old/examples/queue/.cvsignore:
18737         * tests/old/examples/queue/Makefile.am:
18738         * tests/old/examples/queue/queue.c:
18739         * tests/old/examples/typefind/.cvsignore:
18740         * tests/old/examples/typefind/Makefile.am:
18741         * tests/old/examples/typefind/typefind.c:
18742         * tests/old/examples/xml/.cvsignore:
18743         * tests/old/examples/xml/Makefile.am:
18744         * tests/old/examples/xml/createxml.c:
18745         * tests/old/examples/xml/runxml.c:
18746           applied some simple fixing to some examples
18747           re-enabled the working examples
18748
18749 2005-12-12  Wim Taymans  <wim@fluendo.com>
18750
18751         * gst/gstsegment.c: (gst_segment_init),
18752         (gst_segment_set_last_stop), (gst_segment_set_seek),
18753         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18754         (gst_segment_to_running_time):
18755         Added more documentation.
18756         Make sure the last_pos value is updated properly.
18757         Make sure to_stream_time and to_running_time don't
18758         operate on wrong values.
18759
18760         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18761         Update check.
18762
18763 2005-12-12  Michael Smith  <msmith@fluendo.com>
18764
18765         * plugins/elements/gsttypefindelement.c: (free_entry),
18766         (gst_type_find_element_chain):
18767           Now that we're not leaking factories, make sure we keep references
18768           to them while we need them.
18769
18770 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18771
18772         * tests/check/gst/struct_i386.h:
18773           ifdef out the XML structs
18774
18775 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18776
18777         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18778           floor is not needed, F is always positive; this obviates the
18779           need for adding -lm when building without libxml
18780
18781 2005-12-12  Wim Taymans  <wim@fluendo.com>
18782
18783         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18784         Take current playback rate into account when reporting
18785         the position.
18786
18787 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18788
18789         * docs/manual/mime-world.fig:
18790           Let's try this again, this time with a file that is
18791           actually in XFig format.
18792
18793 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18794
18795         * docs/manual/mime-world.fig:
18796           Add audioconvert element to diagram so that it
18797           matches the text and the code (fixes #319526).
18798
18799 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18800
18801         * docs/pwg/building-chainfn.xml:
18802         * docs/pwg/building-pads.xml:
18803         * docs/pwg/building-state.xml:
18804         * docs/pwg/other-source.xml:
18805           Update state change stuff for 0.10 (fixes #322969).
18806
18807 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18808
18809         * docs/manual/advanced-dataaccess.xml:
18810         * docs/manual/appendix-checklist.xml:
18811         * docs/manual/appendix-programs.xml:
18812         * docs/manual/basics-pads.xml:
18813         * docs/manual/highlevel-components.xml:
18814         * docs/manual/manual.xml:
18815           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18816           add converters in front of pipelines; remove curly
18817           brackets for threads stuff, they no longer exist; use
18818           GST_TYPE_FRACTION for framerates; update some pieces of
18819           code to 0.10, but there's plenty more to do.
18820
18821         * docs/manual/appendix-porting.xml:
18822           Expand on asynchroneous state changes; s/0.9/0.10/;
18823           mention disappearance of gst_init_get_popt_table()
18824           (fixes #322916).
18825
18826 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18827
18828         * docs/faq/using.xml:
18829           Spider no longer exists, and neither does gst-launch-ext.
18830           Update examples to use decodebin and playbin and put
18831           converters in front of sinks (fixes #323726).
18832
18833 2005-12-09  Michael Smith  <msmith@fluendo.com>
18834
18835         * plugins/elements/gsttypefindelement.c: (find_peek),
18836         (gst_type_find_element_chain):
18837           Fix leaking element factories in typefinding.
18838           Fix problem where we forgot about a probable type on non-seekable
18839           files, and thus later mis-typefound it.
18840
18841 2005-12-09  Michael Smith  <msmith@fluendo.com>
18842
18843         * common/m4/gst-makecontext.m4:
18844         * common/m4/gst-mcsc.m4:
18845         * configure.ac:
18846         * win32/common/config.h:
18847         * win32/common/config.h.in:
18848           Remove makecontext stuff; not used in 0.10 and causes problems on
18849           HPUX according to bug #322441
18850
18851 2005-12-07  Wim Taymans  <wim@fluendo.com>
18852
18853         * tests/check/Makefile.am:
18854         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18855         (main):
18856         * tests/check/libs/struct_i386.h:
18857         Added ABI check for libs
18858
18859 2005-12-07  Wim Taymans  <wim@fluendo.com>
18860
18861         * tests/check/Makefile.am:
18862         And add the struct_i386.h to dist.
18863
18864 2005-12-07  Wim Taymans  <wim@fluendo.com>
18865
18866         * tests/check/Makefile.am:
18867         * tests/check/gst/.cvsignore:
18868         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18869         (main):
18870         * tests/check/gst/struct_i386.h:
18871         Added check for ABI compatibility.
18872
18873 2005-12-07  Wim Taymans  <wim@fluendo.com>
18874
18875         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18876         (gst_fake_src_get_times), (gst_fake_src_create):
18877         Fix broken sync option, fixes #323259
18878
18879 2005-12-07  Wim Taymans  <wim@fluendo.com>
18880
18881         * gst/gstbuffer.c:
18882         Small docs update.
18883
18884         * gst/gstcaps.c: (gst_caps_is_equal):
18885         Don't assert on NULL <--> X. Fixes #323260
18886
18887         * gst/gstminiobject.c: (gst_mini_object_replace):
18888         If we're doing atomic operations, we might just as well use
18889         the proper way to get an atomic pointer.
18890
18891         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18892         Clean up debugging.
18893
18894 2005-12-07  Michael Smith  <msmith@fluendo.com>
18895
18896         * gst/parse/grammar.y:
18897           Remove handling of { } for threads.
18898
18899 2005-12-06  David Schleef  <ds@schleef.org>
18900
18901         * libs/gst/base/gstbasetransform.c: speling fix.
18902
18903 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18904
18905         * docs/libs/tmpl/gstdataprotocol.sgml:
18906         * docs/random/omega/testing/gstobject.c:
18907         * gst/gst.c:
18908         * gst/gstclock.c:
18909         * gst/gstelement.c:
18910         * gst/gstelementfactory.c:
18911         * gst/gsterror.c:
18912         * gst/gstevent.c:
18913         * gst/gstghostpad.c:
18914         * gst/gstinfo.c:
18915         * gst/gstpadtemplate.c:
18916         * gst/gstregistryxml.c:
18917         * gst/gsttaglist.c:
18918         * gst/gsttagsetter.c:
18919         * gst/gsttypefind.c:
18920         * gst/gstvalue.c:
18921         * libs/gst/base/gstbasesrc.c:
18922         * libs/gst/net/gstnetclientclock.c:
18923         * libs/gst/net/gstnettimeprovider.c:
18924         * plugins/elements/gstfakesrc.c:
18925         * plugins/elements/gstfdsrc.c:
18926         * plugins/elements/gstfilesrc.c:
18927         * plugins/elements/gstidentity.c:
18928         * plugins/elements/gstqueue.c:
18929         * plugins/elements/gsttypefindelement.c:
18930         * plugins/indexers/gstfileindex.c:
18931         * plugins/indexers/gstmemindex.c:
18932         * tests/check/gst/gsttag.c:
18933         * tests/old/examples/cutter/cutter.c:
18934         * tests/old/examples/mixer/mixer.c:
18935         * tests/old/examples/xml/runxml.c: (main):
18936         * tests/old/testsuite/caps/normalisation.c:
18937         * tests/old/testsuite/debug/global.c:
18938         * tests/old/testsuite/parse/parse1.c:
18939         * tools/gst-xmlinspect.c:
18940         * win32/common/dirent.c:
18941           expand tabs
18942
18943 === release 0.10.0 ===
18944
18945 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18946
18947         * configure.ac:
18948           releasing 0.10.0, "Maroilles"
18949
18950 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18951
18952         submitted by: Funda Wang <fundawang@linux.net.cn>
18953
18954         * po/LINGUAS:
18955         * po/zh_CN.po:
18956           added Chinese (Traditional) translation
18957
18958 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18959
18960         * docs/gst/gstreamer-sections.txt:
18961         * docs/libs/tmpl/gstdataprotocol.sgml:
18962         * docs/random/thomasvs/TODO:
18963         * gst/gstutils.c:
18964         * gst/gstutils.h:
18965           fix docs
18966
18967 2005-12-05  Andy Wingo  <wingo@pobox.com>
18968
18969         patch by: Wim Taymans <wim@fluendo.com>
18970
18971         * libs/gst/base/gstbasetransform.c
18972         (gst_base_transform_prepare_output_buf)
18973         (gst_base_transform_buffer_alloc):
18974         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18975         alloc_buffer_and_set_caps.
18976
18977         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18978         set_caps on the source pad.
18979         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18980         alloc_buffer used to do. Fixes #322874.
18981
18982         * docs/gst/gstreamer-sections.txt: 
18983         * docs/design/part-negotiation.txt: 
18984         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18985         changes.
18986
18987 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18988
18989         patch by: Sebastien Moutte
18990
18991         * win32/MANIFEST:
18992         * win32/common/config.h.in:
18993         * win32/vs6/libgstcontroller.dsp:
18994           win32 build fixes
18995
18996 2005-12-05  Wim Taymans  <wim@fluendo.com>
18997
18998         * gst/gstcaps.c: (gst_caps_is_equal):
18999         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19000         (gst_fake_src_create):
19001         Back out previous code changes, leave doc updates, file bugs 
19002         instead. 
19003
19004 2005-12-05  Wim Taymans  <wim@fluendo.com>
19005
19006         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19007         (gst_fake_src_get_times), (gst_fake_src_create):
19008         * plugins/elements/gstfakesrc.h:
19009         Fix broken sync code.
19010
19011 2005-12-05  Wim Taymans  <wim@fluendo.com>
19012
19013         * gst/gstcaps.c: (gst_caps_is_equal):
19014         Comparing NULL against !NULL yields different caps, not a
19015         failure.
19016
19017 2005-12-05  Wim Taymans  <wim@fluendo.com>
19018
19019         * gst/gstpipeline.c:
19020         Fix small typo in docs.
19021
19022 2005-12-05  Andy Wingo  <wingo@pobox.com>
19023
19024         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
19025
19026         * gst/gst.c (init_post): remove hard-coded 0.9 location for
19027         registries/plugins with a MAJORMINOR one.
19028         (plugin_desc): Rename library from gstcoreleements to
19029         staticelements. Fixes #323222.
19030
19031 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
19032
19033         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
19034           Change debug category to 'collectpads' from 'collect_pads'
19035           (fixes #323250).
19036
19037 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19038
19039         patch by: Sebastien Moutte
19040
19041         * libs/gst/controller/gstinterpolation.c:
19042           use convert function for uint64/double
19043         * win32/vs6/libgstcontroller.dsp:
19044           link to GLib
19045
19046 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19047
19048         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
19049         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
19050         * gst/gstutils.h:
19051         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19052           add tests that seem to show that the guint64/gdouble conversions
19053           are correct.
19054
19055 2005-12-02  Wim Taymans  <wim@fluendo.com>
19056
19057         * gst/gstregistry.c: (gst_registry_add_path):
19058         * gst/gstregistry.h:
19059         * gst/gstregistryxml.c:
19060         Fix docs again.
19061
19062 2005-12-02  Wim Taymans  <wim@fluendo.com>
19063
19064         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19065         (gst_util_uint64_scale_int):
19066         Small cleanup.
19067
19068         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19069         Add debug log line.
19070
19071         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19072         Add FIXME.
19073
19074 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19075
19076         * win32/MANIFEST:
19077         * win32/common/config.h:
19078         * win32/vs6/gstreamer.dsw:
19079         * win32/vs6/libgstcoreelements.dsp:
19080         * win32/vs6/libgstelements.dsp:
19081           renamed core elements plugin
19082
19083 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19084
19085         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19086         (get_candidates):
19087           do piece-wise major/minor comparison so 0.9 < 0.10
19088           also allow .exe extensions for tools
19089
19090 2005-12-02  Michael Smith  <msmith@fluendo.com>
19091
19092         * gst/gst.c:
19093           Escape a % to make gtkdoc happier; bug 322958.
19094
19095 === release 0.9.7 ===
19096
19097 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19098
19099         * configure.ac:
19100           releasing 0.9.7, "My Dog Has No Nose"
19101
19102 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19103
19104         * common/gst-xmlinspect.py:
19105         * configure.ac:
19106         * docs/libs/tmpl/gstdataprotocol.sgml:
19107         * docs/random/release:
19108         * po/af.po:
19109         * po/az.po:
19110         * po/bg.po:
19111         * po/ca.po:
19112         * po/cs.po:
19113         * po/de.po:
19114         * po/en_GB.po:
19115         * po/fr.po:
19116         * po/it.po:
19117         * po/nb.po:
19118         * po/nl.po:
19119         * po/ru.po:
19120         * po/sq.po:
19121         * po/sr.po:
19122         * po/sv.po:
19123         * po/tr.po:
19124         * po/uk.po:
19125         * po/vi.po:
19126         * win32/common/config.h:
19127         * win32/common/config.h.in:
19128         * win32/vs6/gst_inspect.dsp:
19129         * win32/vs6/gst_launch.dsp:
19130         * win32/vs6/libgstbase.dsp:
19131         * win32/vs6/libgstelements.dsp:
19132         * win32/vs6/libgstreamer.dsp:
19133         * win32/vs7/GStreamer.vcproj:
19134         * win32/vs7/gst-inspect.vcproj:
19135         * win32/vs7/gst-launch.vcproj:
19136         * win32/vs7/libgstbase.vcproj:
19137           bump GST_MAJORMINOR to 0.10
19138           reset libtool version
19139
19140 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19141
19142         * po/LINGUAS:
19143         * po/bg.po:
19144           Added Bulgarian translation by (Alexander Shopov)
19145
19146 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19147
19148         * tests/check/gst/gstplugin.c:
19149           fix test
19150
19151 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19152
19153         * common/gst-xmlinspect.py:
19154         * common/gtk-doc-plugins.mak:
19155         * configure.ac:
19156         * docs/Makefile.am:
19157         * docs/gst/Makefile.am:
19158         * docs/gst/gstreamer-docs.sgml:
19159         * docs/gst/gstreamer-sections.txt:
19160         * docs/gst/gstreamer.types:
19161         * docs/gst/gstreamer.types.in:
19162         * docs/plugins/Makefile.am:
19163         * docs/plugins/gstreamer-plugins-docs.sgml:
19164         * docs/plugins/gstreamer-plugins-sections.txt:
19165         * docs/plugins/gstreamer-plugins.types:
19166         * docs/plugins/inspect.stamp:
19167         * docs/plugins/inspect/plugin-coreelements.xml:
19168         * docs/plugins/inspect/plugin-coreindexers.xml:
19169         * docs/plugins/scanobj-build.stamp:
19170         * gstreamer.spec.in:
19171         * plugins/elements/Makefile.am:
19172         * plugins/elements/gstelements.c:
19173         * plugins/elements/gstfakesink.c:
19174         * plugins/elements/gstfakesrc.c:
19175         * plugins/elements/gstfilesink.c:
19176         * plugins/elements/gstfilesrc.c:
19177         * plugins/elements/gstqueue.c:
19178         * plugins/indexers/Makefile.am:
19179         * plugins/indexers/gstindexers.c:
19180           document core plugins in a separate document just like all the
19181           others
19182           rename these plugins to something starting with core
19183
19184 2005-12-01  Andy Wingo  <wingo@pobox.com>
19185
19186         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19187         padding here before, but it missed the commit.
19188
19189 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19190
19191         * libs/gst/controller/gstinterpolation.c:
19192           whitespace prices have crashed, we should feel free to use some now
19193           use gst_guint64_to_gdouble
19194
19195 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19196
19197         * libs/gst/controller/gstcontroller.c:
19198         * libs/gst/controller/gsthelper.c:
19199         * libs/gst/controller/gstinterpolation.c:
19200         * libs/gst/controller/lib.c:
19201           wrap config.h include
19202
19203 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19204
19205         * docs/gst/gstreamer-sections.txt:
19206           update docs
19207
19208 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19209
19210         * plugins/elements/gstelements.c:
19211         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19212         (gst_fd_sink__class_init), (gst_fd_sink__init),
19213         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19214         (gst_fd_sink__get_property):
19215         * plugins/elements/gstfdsink.h:
19216         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19217         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19218         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19219         (gst_fd_src_unlock), (gst_fd_src_set_property),
19220         (gst_fd_src_get_property), (gst_fd_src_create),
19221         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19222         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19223         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19224         (gst_fd_src_uri_handler_init):
19225         * plugins/elements/gstfdsrc.h:
19226         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19227           more anal cleanup
19228
19229 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19230
19231         * docs/gst/Makefile.am:
19232         * docs/gst/gstreamer.types.in:
19233         * gst/Makefile.am:
19234           fix the docs build
19235
19236 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19237
19238         * configure.ac:
19239         * gst/Makefile.am:
19240         * gst/gst.c:
19241         * gst/gstplugin.h:
19242         * gst/gstregistry.h:
19243         * tests/benchmarks/complexity.c:
19244         * tests/benchmarks/mass-elements.c:
19245         * tests/check/Makefile.am:
19246         * tools/Makefile.am:
19247         * tools/gst-inspect.c:
19248         * tools/gst-xmlinspect.c:
19249           various fixes to make
19250           --disable-nls --disable-registry --disable-loadsave
19251           --disable-parse --disable-gst-debug
19252           work and get the core .so down to 360444 bytes after stripping
19253
19254 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19255
19256         * Makefile.am:
19257         * configure.ac:
19258           descend into tests
19259         * docs/random/thomasvs/TODO:
19260         * tests/Makefile.am:
19261         * tests/README:
19262           add a README
19263
19264 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19265
19266         * win32/GStreamer.vcproj:
19267         * win32/MANIFEST:
19268         * win32/Makefile:
19269         * win32/Makefile.inspect:
19270         * win32/Makefile.launch:
19271         * win32/Makefile.register:
19272         * win32/README.txt:
19273         * win32/gst-inspect.vcproj:
19274         * win32/gst-launch.vcproj:
19275         * win32/gst-register.vcproj:
19276         * win32/gstelements.vcproj:
19277         * win32/gstgetbits.def:
19278         * win32/gstgetbits.vcproj:
19279         * win32/gstreamer-dbg.def:
19280         * win32/gstreamer.def:
19281         * win32/libgstbase.def:
19282         * win32/libgstbase.vcproj:
19283         * win32/link_oldruntime.c:
19284         * win32/mman.c:
19285         * win32/mman.h:
19286         * win32/mman.inl:
19287         * win32/msvc71.sln:
19288           move even more stuff, win32/ is nice and clean now
19289
19290 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19291
19292         * libs/gst/control/.cvsignore:
19293         * win32/MANIFEST:
19294         * win32/config.h:
19295         * win32/dirent.c:
19296         * win32/dirent.h:
19297         * win32/gstbytestream.def:
19298         * win32/gstbytestream.vcproj:
19299         * win32/gstconfig.h:
19300         * win32/gstenumtypes.c:
19301         * win32/gstenumtypes.h:
19302         * win32/gstoptimalscheduler.vcproj:
19303         * win32/gstversion.h:
19304         * win32/gtchar.h:
19305         * win32/testsuite/bins.vcproj:
19306         * win32/testsuite/bytestream.vcproj:
19307         * win32/testsuite/caps.vcproj:
19308         * win32/testsuite/cleanup.vcproj:
19309         * win32/testsuite/clock.vcproj:
19310         * win32/testsuite/debug.vcproj:
19311         * win32/testsuite/dlopen.vcproj:
19312         * win32/testsuite/dynparams.vcproj:
19313         * win32/testsuite/elements.vcproj:
19314         * win32/testsuite/ghostpads.vcproj:
19315         * win32/testsuite/indexers.vcproj:
19316         * win32/testsuite/negotiation.vcproj:
19317         * win32/testsuite/parse.vcproj:
19318         * win32/testsuite/plugin.vcproj:
19319         * win32/testsuite/refcounting.vcproj:
19320         * win32/testsuite/schedulers.vcproj:
19321         * win32/testsuite/states.vcproj:
19322         * win32/testsuite/tags.vcproj:
19323         * win32/testsuite/threads.vcproj:
19324           remove old win32 stuff that isn't maintained and should be
19325           reorganized
19326
19327 2005-11-30  Andy Wingo  <wingo@pobox.com>
19328
19329         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19330         loading the gst.interfaces python module bork.
19331
19332         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19333         available since GLib 2.2. Fixes #318031.
19334
19335 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19336
19337         * Makefile.am:
19338         * check/.cvsignore:
19339         * check/Makefile.am:
19340         * check/elements/.cvsignore:
19341         * check/elements/fakesrc.c:
19342         * check/elements/fdsrc.c:
19343         * check/elements/identity.c:
19344         * check/generic/.cvsignore:
19345         * check/generic/states.c:
19346         * check/gst-libs/.cvsignore:
19347         * check/gst-libs/controller.c:
19348         * check/gst-libs/gdp.c:
19349         * check/gst/.cvsignore:
19350         * check/gst/capslist.h:
19351         * check/gst/gst.c:
19352         * check/gst/gstbin.c:
19353         * check/gst/gstbuffer.c:
19354         * check/gst/gstbus.c:
19355         * check/gst/gstcaps.c:
19356         * check/gst/gstelement.c:
19357         * check/gst/gstevent.c:
19358         * check/gst/gstghostpad.c:
19359         * check/gst/gstiterator.c:
19360         * check/gst/gstmessage.c:
19361         * check/gst/gstminiobject.c:
19362         * check/gst/gstobject.c:
19363         * check/gst/gstpad.c:
19364         * check/gst/gstpipeline.c:
19365         * check/gst/gstplugin.c:
19366         * check/gst/gstsegment.c:
19367         * check/gst/gststructure.c:
19368         * check/gst/gstsystemclock.c:
19369         * check/gst/gsttag.c:
19370         * check/gst/gstutils.c:
19371         * check/gst/gstvalue.c:
19372         * check/net/.cvsignore:
19373         * check/net/gstnetclientclock.c:
19374         * check/net/gstnettimeprovider.c:
19375         * check/pipelines/.cvsignore:
19376         * check/pipelines/cleanup.c:
19377         * check/pipelines/simple_launch_lines.c:
19378         * check/pipelines/stress.c:
19379         * check/states/.cvsignore:
19380         * check/states/sinks.c:
19381         * configure.ac:
19382         * examples/Makefile.am:
19383         * examples/appreader/.cvsignore:
19384         * examples/appreader/Makefile.am:
19385         * examples/appreader/appreader.c:
19386         * examples/controller/.cvsignore:
19387         * examples/controller/Makefile.am:
19388         * examples/controller/audio-example.c:
19389         * examples/cutter/.cvsignore:
19390         * examples/cutter/Makefile.am:
19391         * examples/cutter/cutter.c:
19392         * examples/cutter/cutter.h:
19393         * examples/events/Makefile.am:
19394         * examples/events/seek.c:
19395         * examples/helloworld/.cvsignore:
19396         * examples/helloworld/Makefile.am:
19397         * examples/helloworld/helloworld.c:
19398         * examples/helloworld2/.cvsignore:
19399         * examples/helloworld2/Makefile.am:
19400         * examples/helloworld2/helloworld2.c:
19401         * examples/launch/.cvsignore:
19402         * examples/launch/Makefile.am:
19403         * examples/launch/mp3parselaunch.c:
19404         * examples/launch/mp3play:
19405         * examples/manual/.cvsignore:
19406         * examples/manual/Makefile.am:
19407         * examples/manual/extract.pl:
19408         * examples/metadata/Makefile.am:
19409         * examples/metadata/read-metadata.c:
19410         * examples/mixer/.cvsignore:
19411         * examples/mixer/Makefile.am:
19412         * examples/mixer/mixer.c:
19413         * examples/mixer/mixer.h:
19414         * examples/pingpong/.cvsignore:
19415         * examples/pingpong/Makefile.am:
19416         * examples/pingpong/pingpong.c:
19417         * examples/plugins/.cvsignore:
19418         * examples/plugins/Makefile.am:
19419         * examples/plugins/example.c:
19420         * examples/plugins/example.h:
19421         * examples/pwg/.cvsignore:
19422         * examples/pwg/Makefile.am:
19423         * examples/pwg/extract.pl:
19424         * examples/queue/.cvsignore:
19425         * examples/queue/Makefile.am:
19426         * examples/queue/queue.c:
19427         * examples/queue2/.cvsignore:
19428         * examples/queue2/Makefile.am:
19429         * examples/queue2/queue2.c:
19430         * examples/queue3/.cvsignore:
19431         * examples/queue3/Makefile.am:
19432         * examples/queue3/queue3.c:
19433         * examples/queue4/.cvsignore:
19434         * examples/queue4/Makefile.am:
19435         * examples/queue4/queue4.c:
19436         * examples/retag/.cvsignore:
19437         * examples/retag/Makefile.am:
19438         * examples/retag/retag.c:
19439         * examples/retag/transcode.c:
19440         * examples/thread/.cvsignore:
19441         * examples/thread/Makefile.am:
19442         * examples/thread/thread.c:
19443         * examples/typefind/.cvsignore:
19444         * examples/typefind/Makefile.am:
19445         * examples/typefind/typefind.c:
19446         * examples/xml/.cvsignore:
19447         * examples/xml/Makefile.am:
19448         * examples/xml/createxml.c:
19449         * examples/xml/runxml.c:
19450         * tests/Makefile.am:
19451         * tests/check/Makefile.am:
19452         * testsuite/.cvsignore:
19453         * testsuite/Makefile.am:
19454         * testsuite/Rules:
19455         * testsuite/caps/.cvsignore:
19456         * testsuite/caps/Makefile.am:
19457         * testsuite/caps/app_fixate.c:
19458         * testsuite/caps/audioscale.c:
19459         * testsuite/caps/caps.c:
19460         * testsuite/caps/caps.h:
19461         * testsuite/caps/caps_strings:
19462         * testsuite/caps/compatibility.c:
19463         * testsuite/caps/deserialize.c:
19464         * testsuite/caps/enumcaps.c:
19465         * testsuite/caps/eratosthenes.c:
19466         * testsuite/caps/filtercaps.c:
19467         * testsuite/caps/fixed.c:
19468         * testsuite/caps/fraction-convert.c:
19469         * testsuite/caps/fraction-multiply-and-zero.c:
19470         * testsuite/caps/intersect2.c:
19471         * testsuite/caps/intersection.c:
19472         * testsuite/caps/normalisation.c:
19473         * testsuite/caps/random.c:
19474         * testsuite/caps/renegotiate.c:
19475         * testsuite/caps/sets.c:
19476         * testsuite/caps/simplify.c:
19477         * testsuite/caps/string-conversions.c:
19478         * testsuite/caps/structure.c:
19479         * testsuite/caps/subtract.c:
19480         * testsuite/caps/union.c:
19481         * testsuite/debug/.cvsignore:
19482         * testsuite/debug/Makefile.am:
19483         * testsuite/debug/category.c:
19484         * testsuite/debug/commandline.c:
19485         * testsuite/debug/global.c:
19486         * testsuite/debug/output.c:
19487         * testsuite/debug/printf_extension.c:
19488         * testsuite/dlopen/.cvsignore:
19489         * testsuite/dlopen/Makefile.am:
19490         * testsuite/dlopen/dlopen_gst.c:
19491         * testsuite/dlopen/loadgst.c:
19492         * testsuite/elements/.cvsignore:
19493         * testsuite/elements/Makefile.am:
19494         * testsuite/elements/gst-inspect-check.in:
19495         * testsuite/elements/struct_i386.h:
19496         * testsuite/elements/struct_size.c:
19497         * testsuite/indexers/.cvsignore:
19498         * testsuite/indexers/Makefile.am:
19499         * testsuite/indexers/cache1.c:
19500         * testsuite/indexers/indexdump.c:
19501         * testsuite/parse/.cvsignore:
19502         * testsuite/parse/Makefile.am:
19503         * testsuite/parse/parse1.c:
19504         * testsuite/parse/parse2.c:
19505         * testsuite/plugin/.cvsignore:
19506         * testsuite/plugin/Makefile.am:
19507         * testsuite/plugin/README:
19508         * testsuite/plugin/dynamic.c:
19509         * testsuite/plugin/linked.c:
19510         * testsuite/plugin/loading.c:
19511         * testsuite/plugin/registry.c:
19512         * testsuite/plugin/static.c:
19513         * testsuite/plugin/static2.c:
19514         * testsuite/plugin/testplugin.c:
19515         * testsuite/plugin/testplugin2.c:
19516         * testsuite/plugin/testplugin2_s.c:
19517         * testsuite/plugin/testplugin_s.c:
19518         * testsuite/refcounting/.cvsignore:
19519         * testsuite/refcounting/Makefile.am:
19520         * testsuite/refcounting/bin.c:
19521         * testsuite/refcounting/element.c:
19522         * testsuite/refcounting/element_pad.c:
19523         * testsuite/refcounting/mainloop.c:
19524         * testsuite/refcounting/mem.c:
19525         * testsuite/refcounting/mem.h:
19526         * testsuite/refcounting/object.c:
19527         * testsuite/refcounting/pad.c:
19528         * testsuite/refcounting/sched.c:
19529         * testsuite/refcounting/thread.c:
19530         * testsuite/states/.cvsignore:
19531         * testsuite/states/Makefile.am:
19532         * testsuite/states/bin.c:
19533         * testsuite/states/locked.c:
19534         * testsuite/states/parent.c:
19535         * testsuite/threads/.cvsignore:
19536         * testsuite/threads/159566.c:
19537         * testsuite/threads/159852.c:
19538         * testsuite/threads/Makefile.am:
19539         * testsuite/threads/queue.c:
19540         * testsuite/threads/signals.c:
19541         * testsuite/threads/staticrec.c:
19542         * testsuite/threads/thread.c:
19543         * testsuite/threads/threadb.c:
19544         * testsuite/threads/threadc.c:
19545         * testsuite/threads/threadd.c:
19546         * testsuite/threads/threade.c:
19547         * testsuite/threads/threadf.c:
19548         * testsuite/threads/threadg.c:
19549         * testsuite/threads/threadh.c:
19550         * testsuite/threads/threadi.c:
19551           move all of these under tests
19552
19553 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19554
19555         * configure.ac:
19556         * tests/Makefile.am:
19557           fix distcheck
19558
19559 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19560
19561         * docs/gst/gstreamer-sections.txt:
19562         * tests/sched/.cvsignore:
19563         * tests/sched/Makefile.am:
19564         * tests/sched/cases/(fs-fs).xml:
19565         * tests/sched/cases/(fs-i-fs).xml:
19566         * tests/sched/cases/(fs-i-i-fs).xml:
19567         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19568         * tests/sched/dynamic-pipeline.c:
19569         * tests/sched/interrupt1.c:
19570         * tests/sched/interrupt2.c:
19571         * tests/sched/interrupt3.c:
19572         * tests/sched/runtestcases:
19573         * tests/sched/runxml.c:
19574         * tests/sched/sched-stress.c:
19575         * tests/sched/sort.c:
19576         * tests/sched/testcases:
19577         * tests/sched/testcases1.tc:
19578         * tests/seeking/.cvsignore:
19579         * tests/seeking/Makefile.am:
19580         * tests/seeking/seeking1.c:
19581         * tests/threadstate/.cvsignore:
19582         * tests/threadstate/Makefile.am:
19583         * tests/threadstate/test1.c:
19584         * tests/threadstate/test2.c:
19585         * tests/threadstate/threadstate1.c:
19586         * tests/threadstate/threadstate2.c:
19587         * tests/threadstate/threadstate3.c:
19588         * tests/threadstate/threadstate4.c:
19589         * tests/threadstate/threadstate5.c:
19590           remove obsolete tests
19591         * configure.ac:
19592         * tests/bench-complexity.scm:
19593         * tests/bench-mass_elements.scm:
19594         * tests/complexity.c:
19595         * tests/complexity.gnuplot:
19596         * tests/instantiate/.cvsignore:
19597         * tests/instantiate/Makefile.am:
19598         * tests/instantiate/caps.c:
19599         * tests/mass_elements.c:
19600         * tests/network-clock-utils.scm:
19601         * tests/network-clock.scm:
19602         * tests/plot-data:
19603         First pass at cleaning up tests/ dir before moving the rest
19604         Combined with CVS surgery
19605
19606 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19607
19608         * po/POTFILES.in:
19609           queue has moved, update
19610
19611 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19612
19613         * docs/gst/gstreamer-sections.txt:
19614           remove double entries from the docs
19615         * gst/gst_private.h:
19616         * gst/gstinfo.c: (_gst_debug_init):
19617           remove the THREAD debug category
19618         * gst/Makefile.am:
19619         * gst/gstqueue.c:
19620         * gst/gstqueue.h:
19621         * docs/gst/gstreamer.types:
19622         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19623         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19624           completely move queue and fix up debugging categories
19625
19626 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19627
19628         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19629           make initialization portable, using LL is not
19630
19631 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19632
19633         * win32/common/gstconfig.h:
19634           add large padding
19635
19636 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19637
19638         * win32/common/libgstreamer.def:
19639           rename symbols; sort base section
19640
19641 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19642
19643         * gst/gstclock.c: (do_linear_regression):
19644           remove crack non-portable handrolled DEBUG macro
19645
19646 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19647
19648         * docs/random/release:
19649           update notes
19650         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19651         (gst_object_flags_get_type), (register_gst_bin_flags),
19652         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19653         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19654         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19655         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19656         (gst_caps_flags_get_type), (register_gst_clock_return),
19657         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19658         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19659         (gst_clock_flags_get_type), (register_gst_state),
19660         (gst_state_get_type), (register_gst_state_change_return),
19661         (gst_state_change_return_get_type), (register_gst_state_change),
19662         (gst_state_change_get_type), (register_gst_element_flags),
19663         (gst_element_flags_get_type), (register_gst_core_error),
19664         (gst_core_error_get_type), (register_gst_library_error),
19665         (gst_library_error_get_type), (register_gst_resource_error),
19666         (gst_resource_error_get_type), (register_gst_stream_error),
19667         (gst_stream_error_get_type), (register_gst_event_type_flags),
19668         (gst_event_type_flags_get_type), (register_gst_event_type),
19669         (gst_event_type_get_type), (register_gst_seek_type),
19670         (gst_seek_type_get_type), (register_gst_seek_flags),
19671         (gst_seek_flags_get_type), (register_gst_format),
19672         (gst_format_get_type), (register_gst_index_certainty),
19673         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19674         (gst_index_entry_type_get_type),
19675         (register_gst_index_lookup_method),
19676         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19677         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19678         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19679         (gst_index_flags_get_type), (register_gst_debug_level),
19680         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19681         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19682         (gst_iterator_result_get_type), (register_gst_iterator_item),
19683         (gst_iterator_item_get_type), (register_gst_message_type),
19684         (gst_message_type_get_type), (register_gst_mini_object_flags),
19685         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19686         (gst_pad_link_return_get_type), (register_gst_flow_return),
19687         (gst_flow_return_get_type), (register_gst_activate_mode),
19688         (gst_activate_mode_get_type), (register_gst_pad_direction),
19689         (gst_pad_direction_get_type), (register_gst_pad_flags),
19690         (gst_pad_flags_get_type), (register_gst_pad_presence),
19691         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19692         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19693         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19694         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19695         (gst_plugin_flags_get_type), (register_gst_rank),
19696         (gst_rank_get_type), (register_gst_query_type),
19697         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19698         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19699         (gst_tag_flag_get_type), (register_gst_task_state),
19700         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19701         (gst_alloc_trace_flags_get_type),
19702         (register_gst_type_find_probability),
19703         (gst_type_find_probability_get_type), (register_gst_uri_type),
19704         (gst_uri_type_get_type), (register_gst_parse_error),
19705         (gst_parse_error_get_type):
19706         * win32/common/gstenumtypes.h:
19707         * win32/common/gstversion.h:
19708           update visual studio generated files
19709
19710 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19711
19712         * win32/vs6/libgstbase.dsp:
19713         * win32/vs6/libgstelements.dsp:
19714           update project files for new locations
19715
19716 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19717
19718         * Makefile.am:
19719           remove some files
19720         * README:
19721           reinstate and update
19722         * DEVEL:
19723         * REQUIREMENTS:
19724           removed
19725         * LICENSE:
19726         * docs/random/LICENSE:
19727           moved to random
19728
19729 2005-11-30  Edward Hervey  <edward@fluendo.com>
19730
19731         * gst/gsttypefind.c: (gst_type_find_register):
19732         * gst/gsttypefind.h:
19733         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19734         (gst_type_find_factory_dispose):
19735         * gst/gsttypefindfactory.h:
19736         Fix memory leak in GstTypeFindFactory.
19737
19738 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19739
19740         * gst/gst.c:
19741         * plugins/elements/Makefile.am:
19742         * plugins/elements/gstelements.c:
19743         * plugins/elements/gstqueue.c:
19744           move queue from core to the elements plugin
19745
19746 2005-11-29  Andy Wingo  <wingo@pobox.com>
19747
19748         * libs/gst/base/gstbasetransform.h: 
19749         * libs/gst/base/gstbasesrc.h: 
19750         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19751
19752         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19753         of pointers by which to pad very extensible base classes (like the
19754         ones in libs/gst/base).
19755
19756 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19757
19758         * docs/gst/gstreamer-docs.sgml:
19759         * docs/gst/gstreamer-sections.txt:
19760         * docs/libs/gstreamer-libs-docs.sgml:
19761         * docs/libs/gstreamer-libs-sections.txt:
19762           moving documentation from core to lib
19763
19764 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19765
19766         * check/Makefile.am:
19767         * configure.ac:
19768         * docs/gst/Makefile.am:
19769         * gst/Makefile.am:
19770         * gst/base/.cvsignore:
19771         * gst/base/Makefile.am:
19772         * gst/base/README:
19773         * gst/base/gstadapter.c:
19774         * gst/base/gstadapter.h:
19775         * gst/base/gstbasesink.c:
19776         * gst/base/gstbasesink.h:
19777         * gst/base/gstbasesrc.c:
19778         * gst/base/gstbasesrc.h:
19779         * gst/base/gstbasetransform.c:
19780         * gst/base/gstbasetransform.h:
19781         * gst/base/gstcollectpads.c:
19782         * gst/base/gstcollectpads.h:
19783         * gst/base/gstpushsrc.c:
19784         * gst/base/gstpushsrc.h:
19785         * gst/base/gsttypefindhelper.c:
19786         * gst/base/gsttypefindhelper.h:
19787         * gst/check/Makefile.am:
19788         * gst/check/gstcheck.c:
19789         * gst/check/gstcheck.h:
19790         * gst/net/Makefile.am:
19791         * gst/net/gstnet.h:
19792         * gst/net/gstnetclientclock.c:
19793         * gst/net/gstnetclientclock.h:
19794         * gst/net/gstnettimepacket.c:
19795         * gst/net/gstnettimepacket.h:
19796         * gst/net/gstnettimeprovider.c:
19797         * gst/net/gstnettimeprovider.h:
19798         * libs/gst/Makefile.am:
19799         * libs/gst/base/Makefile.am:
19800         * libs/gst/base/gstbasetransform.c:
19801         * libs/gst/check/Makefile.am:
19802         * plugins/elements/Makefile.am:
19803         * po/POTFILES.in:
19804           CVS surgery + support to move base, check, and net out of gst
19805           and into libs/gst
19806
19807 2005-11-29  Andy Wingo  <wingo@pobox.com>
19808
19809         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19810
19811         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19812         padding.
19813
19814         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19815
19816         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19817
19818         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19819
19820         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19821         padding; reduces object size by about 30%. We don't expect
19822         anything else to go into gstobject.
19823
19824         * gst/gstminiobject.h (struct _GstMiniObject)
19825         (struct _GstMiniObjectClass): Only one pointer of padding; the
19826         payload is only a pointer and two ints anyway. For the class there
19827         are only two methods as well.
19828         
19829         * gst/gstelement.h (struct _GstElementClass): Removed
19830         the state_changed signal callback, it is not used.
19831
19832 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19833
19834         * docs/gst/gstreamer.types:
19835           fix includes, though they are a little dinky
19836
19837 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19838
19839         * check/Makefile.am:
19840           look in the right place for elements, a lot more chance of
19841           success
19842         * gst/Makefile.am:
19843           remove indexers and elements subdirs
19844         * plugins/Makefile.am:
19845           make indexers conditional
19846
19847 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19848
19849         * Makefile.am:
19850         * configure.ac:
19851         * plugins/elements/Makefile.am:
19852         * plugins/elements/gstcapsfilter.c:
19853         * plugins/elements/gstfilesink.c:
19854         * plugins/elements/gstfilesrc.c:
19855         * plugins/elements/gstidentity.c:
19856         * plugins/indexers/Makefile.am:
19857           do CVS surgery and related build fixery to move elements
19858           and indexers in a new gstreamer/plugins directory, out of the
19859           gst/ directory
19860
19861 2005-11-29  Andy Wingo  <wingo@pobox.com>
19862
19863         * check/Makefile.am:
19864         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19865         * pkgconfig/gstreamer-net.pc.in:
19866         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19867         #322257.
19868
19869 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19870
19871         * tools/Makefile.am:
19872         * tools/gst-complete.1.in:
19873         * tools/gst-complete.c:
19874         * tools/gst-compprep.1.in:
19875         * tools/gst-compprep.c:
19876           removing -compprep and -complete
19877
19878 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19879
19880         * gst/gstevent.c: (gst_event_new_new_segment),
19881         (gst_event_parse_new_segment):
19882         * gst/gstevent.h:
19883           fix #320529 - clean up new_segment API and structure.
19884           Let's hope everyone was using the methods, and not the structure.
19885
19886 2005-11-29  Edward Hervey  <edward@fluendo.com>
19887
19888         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19889         (gst_base_sink_event), (gst_base_sink_do_sync),
19890         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19891         Properly handle non GST_FORMAT_TIME segment
19892         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19893         Properly handle non GST_FORMAT_TIME segment
19894         * gst/gstsegment.c:
19895         This function is valid if the accumulator is 0 and the format
19896         is different from the requested format.
19897         
19898 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19899
19900         * docs/gst/gstreamer-sections.txt:
19901         Add gst_query_new_seeking and gst_query_parse_seeking to the
19902         docs.
19903
19904 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19905
19906         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19907           Treat a pad alloc with new caps the same as if we were not
19908           negotiated, in order to allow a changing upstream output
19909           to produce a new format of data.
19910
19911 2005-11-29  Edward Hervey  <edward@fluendo.com>
19912
19913         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19914         (gst_base_transform_event), (gst_base_transform_eventfunc):
19915         The event virtual method is now properly implemented, with a default
19916         handler
19917         Sub classes should call the parent_class event method. They should
19918         return FALSE if they had a problem handling the given event, or don't
19919         want GstBaseTransform to send that even downstream
19920         * gst/elements/gstidentity.c: (gst_identity_class_init),
19921         (gst_identity_init), (gst_identity_event),
19922         (gst_identity_transform_ip), (gst_identity_set_property),
19923         (gst_identity_get_property):
19924         * gst/elements/gstidentity.h:
19925         Added the single-segment boolean property.
19926         If set to TRUE, it will output a single segment of data, starting from
19927         0, will eat up all incoming newsegment, and modify the timestamp of the
19928         buffers accordingly
19929
19930 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19931
19932         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19933           Don't ref NULL target pad (#322751). Improve docs.
19934
19935 2005-11-29  Michael Smith  <msmith@fluendo.com>
19936
19937         * gst/gstregistryxml.c: (load_plugin):
19938           Don't crash if we failed to load a feature from a plugin. 
19939
19940 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19941
19942         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19943         (GST_START_TEST):
19944           use more check API and less GLib API
19945
19946 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19947
19948         * Makefile.am:
19949           don't run checks if we don't have check
19950         * common/check.mak:
19951           remove the registry when running make torture
19952         * docs/gst/gstreamer-sections.txt:
19953           remove second multiply
19954         * gst/gstqueue.c: (gst_queue_loop):
19955           fix a compile warning when disabling debug
19956
19957 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19958
19959         * gst/gstinfo.h:
19960         Hey! Let's print the pad name if the pointer != NULL instead
19961         of when it == NULL :-)
19962
19963 2005-11-28  Wim Taymans  <wim@fluendo.com>
19964
19965         * check/gst/gstutils.c: (GST_START_TEST):
19966         Updated check, add some scaling accuracy checking code.
19967
19968         * gst/gstutils.c: (gst_util_div128_64),
19969         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19970         (gst_util_uint64_scale_int):
19971         Fix 6 times faster division code. Optimize for common 
19972         1/1 and less common X/1 cases.
19973
19974 2005-11-28  Wim Taymans  <wim@fluendo.com>
19975
19976         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19977         More checks.
19978
19979         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19980         (do_linear_regression), (gst_clock_add_observation):
19981         Cleanups.
19982         Release lock when the clock cannot be slaved.
19983         Catch the case where the regression returned an invalid denominator.
19984
19985         * gst/gstutils.c: (gst_util_div128_64_iterate),
19986         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19987         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19988         Add protentially more performant non-iterative 128/64 divide function
19989         that unfortunatly does not work yet.
19990         Shortcut the trivial 0/X = 0 case.
19991         Remove the warnings on overflow.
19992
19993 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19994
19995         * gst/gstplugin.c: (gst_plugin_register_func):
19996           everything causing a plugin not to load should be at least a WARNING
19997
19998 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19999
20000         * docs/random/ensonic/dparams.txt:
20001           some TODOs for the next dev cycle
20002         * libs/gst/controller/gstcontroller.c:
20003         (gst_controlled_property_set_interpolation_mode),
20004         (gst_controlled_property_new):
20005         * libs/gst/controller/gstcontroller.h:
20006           use base type to assign acccessor functions
20007
20008 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20009
20010         * check/Makefile.am:
20011         Oops, that should have been top_srcdir
20012
20013 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20014
20015         * check/Makefile.am:
20016         * check/elements/fdsrc.c: (GST_START_TEST):
20017         Use a cmdline define to specify the location of a file to use for
20018         testing, to avoid breaking distcheck.
20019
20020 2005-11-28  Andy Wingo  <wingo@pobox.com>
20021
20022         * gst/gstpad.c (fixate_value): Use array functions for arrays.
20023
20024 2005-11-28  Edward Hervey  <edward@fluendo.com>
20025
20026         * tools/gst-launch.c: (main):
20027         Clarify the output strings, makes it easier to translate.
20028         Fixes #322626
20029
20030 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20031
20032         * gst/Makefile.am:
20033           don't try and build net if we don't even have <sys/socket.h>
20034
20035 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
20036
20037         * check/Makefile.am:
20038         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
20039         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
20040           Add tests for fdsrc seekability
20041
20042         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20043         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
20044         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
20045         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
20046         * gst/elements/gstfdsrc.h:
20047           fdsrc should not be a 'live' source.
20048           Implement seeking on seekable fd's.
20049
20050         * gst/gstquery.c: (gst_query_new_seeking),
20051         (gst_query_parse_seeking):
20052         * gst/gstquery.h:
20053           Implement SEEKING query functions: 
20054             *_new_seeking and *_parse_seeking
20055
20056 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
20057
20058         * gst/gstelement.c: (gst_element_dispose):
20059           don't loop forever
20060
20061         * gst/gstiterator.c:
20062         * gst/gststructure.c:
20063           doc fixes
20064
20065         * libs/gst/controller/gstcontroller.c:
20066         (gst_controlled_property_set_interpolation_mode):
20067         * libs/gst/controller/gstcontroller.h:
20068         * libs/gst/controller/gstinterpolation.c:
20069         (interpolate_none_get_enum_value_array):
20070           support controlling enums
20071
20072 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20073
20074         * gst/gstvalue.c:
20075           Improve documentation for gst_value_union().
20076
20077         * gst/gstvalue.h:
20078           Change return value for union, intersect and subtract functions
20079           from gint to gboolean.
20080
20081 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20082
20083         * gst/gstvalue.c: (gst_value_serialize_any_list),
20084         (gst_value_transform_any_list_string),
20085         (gst_value_deserialize_list), (gst_value_deserialize_array),
20086         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20087         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20088         (gst_value_set_fraction_range_full),
20089         (gst_value_deserialize_fraction_range),
20090         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20091         (gst_value_deserialize_boolean),
20092         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20093         (gst_value_serialize_float), (gst_value_deserialize_float),
20094         (gst_string_wrap), (gst_value_deserialize_string),
20095         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20096         (gst_value_union_int_range_int_range),
20097         (gst_value_intersect_int_range_int_range),
20098         (gst_value_intersect_double_range_double_range),
20099         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20100         (gst_value_subtract_int_range_int_range),
20101         (gst_value_subtract_double_double_range),
20102         (gst_value_subtract_double_range_double_range),
20103         (gst_value_deserialize_fraction):
20104         * gst/gstvalue.h:
20105           Use gint, gdouble and gchar in our API instead of int, double and
20106           char (and make usage in gstvalue.c more consistent).
20107
20108 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20109
20110         * check/Makefile.am:
20111         * libs/gst/controller/Makefile.am:
20112         * libs/gst/dataprotocol/Makefile.am:
20113           fix up Makefile.am and remove GST_ENABLE_NEW
20114
20115 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20116
20117         * configure.ac:
20118         * gst/Makefile.am:
20119         * gst/base/Makefile.am:
20120         * gst/check/Makefile.am:
20121         * gst/elements/Makefile.am:
20122         * gst/net/Makefile.am:
20123           update LDFLAGS use some more
20124
20125 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20126
20127         * common/m4/gst-doc.m4:
20128           Fixes #312589
20129
20130 2005-11-26  Edward Hervey  <edward@fluendo.com>
20131
20132         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20133         This shouldn't issue a g_warning since it returns NULL if it
20134         couldn't find the plugin, and all functions using this behave
20135         properly on a NULL return. Switching to a GST_WARNING.
20136
20137 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20138
20139         * gst/gstbin.c: (gst_bin_handle_message_func):
20140         Don't leak clock messages.
20141
20142 2005-11-25  Wim Taymans  <wim@fluendo.com>
20143
20144         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20145         (gst_util_uint64_scale_int):
20146         Optimisations, remove unneeded vars.
20147
20148 2005-11-25  Wim Taymans  <wim@fluendo.com>
20149
20150         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20151         Added more checks for the high precision uint64 cases.
20152
20153         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20154         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20155         Implement high precision (guint64 * guint64) / guint64.
20156
20157 2005-11-24  Wim Taymans  <wim@fluendo.com>
20158
20159         * gst/base/gstbasesrc.c: (gst_base_src_query):
20160         Fix wrong percentage query.
20161
20162         * gst/gstutils.c: (gst_util_uint64_scale),
20163         (gst_util_uint64_scale_int):
20164         Add some more common cases that can be handled 
20165         efficiently to _scale.
20166
20167 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20168
20169         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20170         (gst_mini_object_suite):
20171           don't use check calls from threads; check probably isn't
20172           threadsafe and using a lock to make it threadsafe would
20173           defeat the purpose of this check
20174         * gst/check/gstcheck.c:
20175         * gst/check/gstcheck.h:
20176           use GST_DEBUG some more
20177
20178 2005-11-24  Wim Taymans  <wim@fluendo.com>
20179
20180         * gst/gstutils.c: (gst_util_uint64_scale),
20181         (gst_util_uint64_scale_int):
20182         Chain trivial case to _scale_int.
20183
20184 2005-11-24  Wim Taymans  <wim@fluendo.com>
20185
20186         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20187         Added test for scaling.
20188
20189         * gst/gstclock.h:
20190         Small doc fix.
20191
20192         * gst/gstutils.c: (gst_util_uint64_scale_int):
20193         Implemented high precision scaling code.
20194
20195 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20196
20197         * gst/gstinfo.h:
20198           do not crash on pad==NULL
20199
20200 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20201
20202         Patch by: Stefan Kost
20203
20204         * common/gtk-doc.mak:
20205         * docs/gst/Makefile.am:
20206         * docs/libs/Makefile.am:
20207           Fix distcheck issues for the libraries docs build
20208           Closes #319599.
20209
20210 2005-11-24  Michael Smith <msmith@fluendo.com>
20211
20212         * docs/manual/basics-helloworld.xml:
20213           Fix bug #315027: memory leak in example code in docs.
20214
20215 2005-11-24  Michael Smith <msmith@fluendo.com>
20216
20217         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20218           Unlock the PREROLL_LOCK in a failure case.
20219
20220 2005-11-24  Wim Taymans  <wim@fluendo.com>
20221
20222         * docs/gst/gstreamer-sections.txt:
20223         * gst/base/gstadapter.h:
20224         * gst/base/gstbasesink.h:
20225         * gst/base/gstbasesrc.h:
20226         * gst/base/gstbasetransform.h:
20227         * gst/base/gstpushsrc.h:
20228         * gst/elements/gstfakesink.h:
20229         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20230         * gst/elements/gstfakesrc.h:
20231         * gst/elements/gstfilesink.h:
20232         * gst/elements/gstfilesrc.h:
20233         * gst/gst.c:
20234         * gst/gstbin.c:
20235         * gst/gstbuffer.c: (_gst_buffer_copy):
20236         * gst/gstbus.h:
20237         * gst/gstcaps.c:
20238         * gst/gstchildproxy.c:
20239         * gst/gstclock.c:
20240         * gst/gstelement.c:
20241         * gst/gstelementfactory.c:
20242         * gst/gstelementfactory.h:
20243         * gst/gstevent.c:
20244         * gst/gstghostpad.h:
20245         * gst/gstindex.h:
20246         * gst/gstinterface.h:
20247         * gst/gstminiobject.c:
20248         * gst/gstminiobject.h:
20249         * gst/gstpad.c:
20250         * gst/gstpad.h:
20251         * gst/gstpadtemplate.h:
20252         * gst/gstpipeline.h:
20253         * gst/gstpluginfeature.h:
20254         * gst/gstquery.h:
20255         * gst/gstqueue.h:
20256         * gst/gsttaglist.c:
20257         * gst/gsttaglist.h:
20258         * gst/gsttagsetter.c:
20259         * gst/gsttagsetter.h:
20260         * gst/gsttrace.c:
20261         * gst/gsttrace.h:
20262         * gst/gsttypefind.h:
20263         * gst/gsturi.h:
20264         * gst/gstvalue.c:
20265         * gst/net/gstnetclientclock.c:
20266         * gst/net/gstnetclientclock.h:
20267         * gst/net/gstnettimepacket.c:
20268         * gst/net/gstnettimeprovider.c:
20269         * gst/net/gstnettimeprovider.h:
20270         Doc fixes.
20271
20272 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20273
20274         * configure.ac: back to HEAD
20275
20276 === release 0.9.6 ===
20277
20278 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20279
20280         * configure.ac:
20281           releasing 0.9.6, "Always On Time"
20282
20283 2005-11-23  Wim Taymans  <wim@fluendo.com>
20284
20285         * docs/gst/gstreamer-sections.txt:
20286         * gst/glib-compat.c:
20287         * gst/gsttagsetter.c:
20288         * gst/gstvalue.c:
20289         * gst/net/gstnetclientclock.c:
20290         * gst/net/gstnettimepacket.h:
20291         Doc updates.
20292
20293 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20294
20295         * docs/faq/using.xml:
20296         * docs/libs/tmpl/gstcontrol.sgml:
20297         * docs/manual/advanced-dparams.xml:
20298         * docs/manual/appendix-checklist.xml:
20299         * docs/manual/basics-elements.xml:
20300         * docs/pwg/other-source.xml:
20301         * docs/random/moving-plugins:
20302         * gst/gstpad.c:
20303         * tools/gst-launch.1.in:
20304           remove mentions of sinesrc
20305
20306 2005-11-23  Michael Smith <msmith@fluendo.com>
20307
20308         * docs/gst/gstreamer-sections.txt:
20309           Update for new API and API changes.
20310         * gst/gstobject.h:
20311           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20312         * gst/gstvalue.c:
20313           Documentation typo fix.
20314         * gst/net/gstnettimepacket.c:
20315           Documentation fixes for arguments.
20316
20317 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20318
20319         * gst/gststructure.c: (gst_structure_get_fraction),
20320         (gst_structure_parse_value),
20321         (gst_structure_fixate_field_nearest_fraction):
20322         * gst/gststructure.h:
20323         * gst/gstutils.c: (gst_util_uint64_scale_int):
20324         * gst/gstutils.h:
20325         * scripts/update-funcnames:
20326         API Changes. 
20327         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20328         Make gst_structure_fixate_field_nearest_fraction take a numerator
20329         and denominator argument instead of a GValue
20330         add gst_structure_get_fraction helper function.
20331
20332 2005-11-23  Wim Taymans  <wim@fluendo.com>
20333
20334         * docs/design/part-TODO.txt:
20335         Update TODO.
20336
20337         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20338         * gst/net/gstnetclientclock.h:
20339         Use parent fields for timeout and window_size.
20340
20341 2005-11-23  Andy Wingo  <wingo@pobox.com>
20342
20343         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20344         rate_num/rate_denom change.
20345
20346         * gst/net/gstnetclientclock.c
20347         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20348         OBJECT_LOCK. Don't call add_observation with the lock.
20349
20350         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20351         fraction.
20352         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20353         rate fraction.
20354         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20355         deal with rate as a fraction whose numerator and denominator are
20356         GstClockTime values.
20357         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20358         master; the other fields are protected by the SLAVE_LOCK.
20359         (do_linear_regression): Note that this must be called with the
20360         SLAVE_LOCK.
20361         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20362         OBJECT_LOCK. Call set_calibration instead of touching the
20363         variables directly.
20364         (gst_clock_set_property, gst_clock_get_property): Protect
20365         master/slave parameters with the SLAVE_LOCK.
20366
20367         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20368         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20369         note that all of the instance variables that add_observation and
20370         the set_master functions use are protected by that lock and not
20371         the OBJECT_LOCK.
20372         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20373
20374         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20375         the caller to take the object lock.
20376
20377 2005-11-23  Wim Taymans  <wim@fluendo.com>
20378
20379         * gst/gsterror.c: (_gst_core_errors_init):
20380         * gst/gsterror.h:
20381         Add error for clock stuff.
20382
20383         * gst/gstpipeline.c: (gst_pipeline_change_state),
20384         (gst_pipeline_set_clock):
20385         Post clock error when clock cannot be used in a pipeline.
20386
20387 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20388
20389         * docs/gst/gstreamer-sections.txt:
20390           make two symbols from gstinfo private for the docs
20391         * gst/base/gstcollectpads.h:
20392         * gst/gstutils.c:
20393           fix doc typos, update docs
20394
20395 2005-11-22  Wim Taymans  <wim@fluendo.com>
20396
20397         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20398         (gst_base_sink_wait), (gst_base_sink_do_sync),
20399         (gst_base_sink_handle_event):
20400         * gst/base/gstbasesink.h:
20401         No need to store the clock, the parent element class already
20402         has it.
20403
20404         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20405         Updates for clock_set returning a gboolean
20406
20407         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20408         (gst_clock_id_wait_async), (gst_clock_class_init),
20409         (gst_clock_init), (gst_clock_finalize),
20410         (gst_clock_get_internal_time), (gst_clock_get_time),
20411         (gst_clock_slave_callback), (gst_clock_set_master),
20412         (gst_clock_get_master), (do_linear_regression),
20413         (gst_clock_add_observation), (gst_clock_set_property),
20414         (gst_clock_get_property):
20415         * gst/gstclock.h:
20416         Implement master/slave. When setting a clock as a slave, a
20417         periodic timeout is scheduled to sample master and slave times.
20418         Then the slave clock is recalibrated to match offset and rate
20419         of the master clock.
20420         Update logging a bit.
20421         Add flag so that a clock can state that is cannot be slaved to
20422         another clock.
20423
20424         * gst/gstelement.c: (gst_element_set_clock):
20425         * gst/gstelement.h:
20426         The set clock returns a gboolean for when an element cannot
20427         deal with the selected clock in the pipeline. 
20428
20429         * gst/gstpipeline.c: (gst_pipeline_change_state),
20430         (gst_pipeline_set_clock):
20431         * gst/gstpipeline.h:
20432         Handle the case where the selected clock cannot be set on
20433         the pipeline.
20434
20435         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20436         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20437         (gst_net_client_clock_set_property),
20438         (gst_net_client_clock_get_property),
20439         (gst_net_client_clock_observe_times):
20440         * gst/net/gstnetclientclock.h:
20441         Use regression code in GstClock parent, remove duplicated
20442         functionality.
20443
20444 2005-11-22  Michael Smith <msmith@fluendo.com>
20445
20446         * gst/gstutils.c: (gst_util_clock_time_scale):
20447         * gst/gstutils.h:
20448         * docs/gst/gstreamer-sections.txt:
20449           Rename method to have extra underscore.
20450
20451 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20452
20453         * gst/elements/Makefile.am:
20454         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20455         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20456         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20457         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20458         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20459         * gst/elements/gstfakesrc.h:
20460         * gst/gstqueue.c: (queue_leaky_get_type):
20461           correctly fix GEnumValues so that nick is the short lowercase
20462           dashed tag
20463         * tools/gst-inspect.c: (print_element_properties_info):
20464           also show the nick, since it's useful to use from parse_launch
20465           syntax
20466           Fixes #322139
20467
20468 2005-11-22  Michael Smith <msmith@fluendo.com>
20469
20470         * gst/gstutils.c: (gst_util_clocktime_scale):
20471         * gst/gstutils.h:
20472         * docs/gst/gstreamer-sections.txt:
20473           Add util method for scaling a clocktime by a fraction. Useful 
20474           implementation is left as an exercise for the reader.
20475
20476 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20477
20478         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20479         If needed, allocate storage in the destination value during
20480         collection.
20481
20482 2005-11-22  Edward Hervey  <edward@fluendo.com>
20483
20484         * docs/gst/gstreamer-sections.txt:
20485         * gst/Makefile.am:
20486         * gst/gst.h:
20487         * gst/gsturitype.c:
20488         * gst/gsturitype.h:
20489         * gst/gstutils.c: (gst_util_set_object_arg):
20490         * tools/gst-compprep.c: (main):
20491         * tools/gst-inspect.c: (print_element_properties_info):
20492         Removed GstURI, closes bug #321061
20493
20494 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20495
20496         * check/gst/gststructure.c: (GST_START_TEST):
20497         * gst/gststructure.c: (gst_structure_parse_value):
20498           Oops, broke automatic string type parsing.
20499           Add a test to catch it in future.
20500
20501 2005-11-22  Andy Wingo  <wingo@pobox.com>
20502
20503         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20504         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20505         Actually rename the function implementations. Grr.
20506
20507 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20508
20509         * check/gst/capslist.h:
20510           Comment test cases
20511         * check/gst/gststructure.c: (GST_START_TEST),
20512         (gst_structure_suite):
20513           Test automatic value type detection in gst_structure_from_string.
20514         * gst/gststructure.c: (gst_structure_parse_value):
20515           Add fraction as a type we try and guess automatically in
20516           caps/structure strings.
20517
20518 2005-11-22  Andy Wingo  <wingo@pobox.com>
20519
20520         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20521
20522         * gst/gsttagsetter.h:
20523         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20524         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20525         (gst_tag_setter_add_tag_valist)
20526         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20527         _add_values, _add_valist, and _add_valist_values. Since this is an
20528         interface the function suffixes should be more explicit so
20529         language binding don't end up with element.add_valist ->
20530         gst_tag_setter_add_valist, for example. Fixes #322069.
20531
20532 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20533
20534         * check/gst/gstcaps.c: (GST_START_TEST):
20535           Extend caps string tests to check that a caps to string
20536           conversion is reversible and produces the same caps.
20537
20538         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20539           Output "fraction" as the generic type fraction range, so caps
20540           serialisation and deserialisation works.
20541         * check/gst/capslist.h:
20542         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20543           Support 'MIN' and 'MAX' for deserialising fractions.
20544
20545 2005-11-22  Andy Wingo  <wingo@pobox.com>
20546
20547         * gst/gstevent.h (gst_event_new_new_segment)
20548         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20549         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20550         Renamed from *_newsegment, *_buffersize, *_notarget.
20551
20552         * scripts/update-funcnames: New script, performs the changes
20553         listed above.
20554
20555 2005-11-22  Wim Taymans  <wim@fluendo.com>
20556
20557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20558         Make sure the GstFlowReturn is returned.
20559
20560         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20561         (gst_bus_add_signal_watch):
20562         * gst/gstbus.h:
20563         add gst_bus_add_signal_watch_full.
20564
20565         * gst/gstplugin.c: (gst_plugin_load_file):
20566         Small style cleanup.
20567
20568 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20569
20570         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20571           Block the fakesrc srcpad when we send an event, to avoid
20572           contention on the stream_lock causing random test failures.
20573
20574 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20575
20576         * check/gst/gstvalue.c: (GST_START_TEST):
20577         * gst/gstvalue.c: (gst_value_fraction_subtract):
20578           Fix subtraction.
20579
20580 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20581
20582         * gst/gst.h:
20583           include "gstchildproxy.h"
20584         * gst/gstchildproxy.h:
20585         * libs/gst/controller/gstcontroller.h:
20586           use G_GNUC_NULL_TERMINATED
20587
20588 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20589
20590         * check/gst/capslist.h:
20591         * check/gst/gstcaps.c: (GST_START_TEST):
20592         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20593         * gst/gststructure.c: (gst_structure_parse_range),
20594         (gst_structure_fixate_field_nearest_fraction):
20595         * gst/gststructure.h:
20596         * gst/gstvalue.c: (gst_value_init_fraction_range),
20597         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20598         (gst_value_collect_fraction_range),
20599         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20600         (gst_value_set_fraction_range_full),
20601         (gst_value_get_fraction_range_min),
20602         (gst_value_get_fraction_range_max),
20603         (gst_value_serialize_fraction_range),
20604         (gst_value_transform_fraction_range_string),
20605         (gst_value_compare_fraction_range),
20606         (gst_value_deserialize_fraction_range),
20607         (gst_value_intersect_fraction_fraction_range),
20608         (gst_value_intersect_fraction_range_fraction_range),
20609         (gst_value_subtract_fraction_fraction_range),
20610         (gst_value_subtract_fraction_range_fraction),
20611         (gst_value_subtract_fraction_range_fraction_range),
20612         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20613         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20614         (gst_value_transform_string_fraction), (_gst_value_initialize):
20615         * gst/gstvalue.h:
20616           Implement fraction ranges and extend GstFraction to support
20617           arithmetic subtraction, as well as deserialization from integer
20618           strings such as "100"
20619           Add a testsuite as for int and double range set operations
20620
20621 2005-11-21  Andy Wingo  <wingo@pobox.com>
20622
20623         * gst/gsttaglist.h: 
20624         * gst/gstcaps.h: 
20625         * gst/gststructure.h: Add glib-compat.h.
20626
20627 2005-11-21  Wim Taymans  <wim@fluendo.com>
20628
20629         * gst/gstbin.c: (gst_bin_change_state_func):
20630         Fix for #321595
20631
20632 2005-11-21  Wim Taymans  <wim@fluendo.com>
20633
20634         * gst/gstsegment.h:
20635         And add a nice define too.
20636
20637 2005-11-21  Wim Taymans  <wim@fluendo.com>
20638
20639         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20640         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20641         (gst_segment_set_duration), (gst_segment_set_last_stop),
20642         (gst_segment_set_seek), (gst_segment_set_newsegment),
20643         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20644         (gst_segment_clip):
20645         * gst/gstsegment.h:
20646         Make binding friendly.
20647
20648 2005-11-21  Andy Wingo  <wingo@pobox.com>
20649
20650         * gst/gsttagsetter.h: 
20651         * gst/gsttaglist.h: 
20652         * gst/gststructure.h: 
20653         * gst/gstcaps.h: 
20654         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20655         #319940.
20656
20657         * gst/gsterror.c (_gst_core_errors_init):
20658         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20659         category.
20660
20661         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20662         (noinst_HEADERS): noinst the -private.
20663
20664 2005-11-21  Michael Smith <msmith@fluendo.com>
20665
20666         * gst/gstplugin.h:
20667         * gst/gstregistry.h:
20668           Remove unimplemented declarations for which we can see no sensible
20669           use.
20670
20671 2005-11-21  Andy Wingo  <wingo@pobox.com>
20672
20673         * gst/gst.h: Include glib-compat.h.
20674
20675         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20676
20677         * gst/glib-compat.c: Include the public and the private header.
20678
20679         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20680
20681         * gst/gstvalue.c: 
20682         * gst/gstpad.c: 
20683         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20684
20685         * check/gst/gstevent.c (create_custom_events): Check that
20686         FLUSH_STOP is serialized.
20687
20688         * check/elements/identity.c (event_func): 
20689         * check/elements/fakesrc.c (event_func): No stream lock, the core
20690         takes it.
20691
20692         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20693         stream lock taking, yay.
20694
20695         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20696         ensure that core takes the stream lock.
20697
20698         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20699         lock name change.
20700
20701         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20702         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20703         it already. For the flush start we do take it though so we get the
20704         right preroll state change messages.
20705
20706         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20707         the stream lock here, the core does it for us.
20708
20709         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20710         GST_STREAM_GET_LOCK.
20711         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20712         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20713         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20714         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20715         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20716         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20717
20718         * gst/gstpad.c: Update for stream lock name change.
20719
20720         * gst/base/gstbasesink.c: Update for preroll lock name change.
20721
20722 2005-11-21  Wim Taymans  <wim@fluendo.com>
20723
20724         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20725         (gst_clock_get_master):
20726         * gst/gstclock.h:
20727         * gst/gstsystemclock.c: (gst_system_clock_init):
20728         Convert Clock flags to object flags.
20729         Added methods to manage master/slave clocks.
20730
20731 2005-11-21  Wim Taymans  <wim@fluendo.com>
20732
20733         * check/gst/gstsegment.c: (GST_START_TEST):
20734         * docs/design/part-TODO.txt:
20735         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20736         (gst_base_sink_event), (gst_base_sink_do_sync),
20737         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20738         (gst_base_sink_query), (gst_base_sink_change_state):
20739         * gst/base/gstbasesink.h:
20740         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20741         (gst_base_src_default_newsegment),
20742         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20743         (gst_base_src_get_range), (gst_base_src_loop),
20744         (gst_base_src_change_state):
20745         * gst/base/gstbasesrc.h:
20746         * gst/base/gstbasetransform.c:
20747         (gst_base_transform_prepare_output_buf),
20748         (gst_base_transform_event), (gst_base_transform_change_state):
20749         * gst/base/gstbasetransform.h:
20750         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20751         (gst_collect_pads_event):
20752         * gst/base/gstcollectpads.h:
20753         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20754         (gst_fake_src_create):
20755         * gst/elements/gstfakesrc.h:
20756         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20757         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20758         (gst_segment_set_last_stop), (gst_segment_set_seek),
20759         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20760         (gst_segment_to_running_time), (gst_segment_clip):
20761         * gst/gstsegment.h:
20762         More segment updates, replace code in plugins with segment
20763         helper functions.
20764
20765 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20766
20767         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20768         Don't ignore sscanf results
20769
20770 2005-11-21  Andy Wingo  <wingo@pobox.com>
20771
20772         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20773
20774         * *.h:
20775         * *.c: Ran scripts/update-macros. Oh yes.
20776
20777         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20778         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20779         GST_GET_LOCK, etc.
20780
20781         * scripts/update-macros: New script. Run it on your files to
20782         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20783         well.
20784
20785 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20786
20787         * docs/gst/Makefile.am:
20788         * docs/gst/gstreamer-docs.sgml:
20789         * docs/gst/gstreamer-sections.txt:
20790         * docs/gst/gstreamer.types:
20791         * gst/gstinfo.h:
20792           more docs fixes, add new api to the docs
20793
20794 2005-11-21  Andy Wingo  <wingo@pobox.com>
20795
20796         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20797         state_broadcast call.
20798
20799         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20800
20801 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20802
20803         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20804         function calls for arrays.
20805
20806 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20807
20808         * docs/random/ensonic/media-device-daemon.txt:
20809           wild idea, can this be done?
20810         * docs/gst/gstreamer-sections.txt:
20811         * gst/gsterror.h:
20812         * gst/gstfilter.c:
20813         * gst/gstfilter.h:
20814         * gst/gstplugin.h:
20815         * gst/gstpluginfeature.c:
20816         * gst/gsttrace.c:
20817         * gst/gstvalue.c:
20818         * gst/gstvalue.h:
20819           doc fixes and additions
20820
20821 2005-11-21  Andy Wingo  <wingo@pobox.com>
20822
20823         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20824         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20825         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20826         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20827         private to the basesrc implementation.
20828
20829         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20830         behalf of event function if necessary. It should no longer be
20831         necessary to take the stream lock in pad's event functions. Fixes
20832         #320299.
20833
20834 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20835         * docs/gst/gstreamer-sections.txt:
20836         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20837         (gst_structure_fixate_field_nearest_double),
20838         (gst_structure_fixate_field_boolean):
20839         * gst/gststructure.h:
20840         * win32/common/libgstreamer.def:
20841         * win32/gstreamer.def:
20842
20843         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20844         (#322027)
20845
20846 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20847
20848         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20849         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20850         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20851         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20852         (gst_fdsrc_uri_handler_init):
20853         * gst/elements/gstfdsrc.h:
20854           Port fd:// URI handler from 0.8 to fdsrc
20855
20856 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20857
20858         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20859         (gst_value_serialize_fourcc):
20860         * gst/gstvalue.h:
20861           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20862           consistent with our other format defines (#320324).
20863
20864 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20865
20866         * gst/gstvalue.c: (gst_value_is_fixed):
20867           Revert previous commit. Value lists are by definition
20868           not fixed, as they are a list of possible values.
20869
20870 2005-11-21  Andy Wingo  <wingo@pobox.com>
20871
20872         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20873         during the stable series if we need it. Fixes #319178.
20874
20875         * gst/gstevent.c (gst_event_new_filler): Removed.
20876
20877         * check/gst/gstevent.c: Update comment about filler events.
20878
20879 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20880
20881         * gst/gstvalue.c: (gst_value_is_fixed):
20882           Should handle both value arrays and value lists.
20883
20884 2005-11-21  Andy Wingo  <wingo@pobox.com>
20885
20886         patch by: Alessandro Dessina <alessandro nnva org>
20887
20888         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20889         functions to access arrays. Fixes #321962.
20890
20891 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20892
20893         * docs/gst/gstreamer.types:
20894           gst_collectpads_get_type => gst_collect_pads_get_type.
20895           
20896         * gst/base/gstbasetransform.c:
20897           Remove unused SIGNAL_HANDOFF enum.
20898
20899 2005-11-21  Andy Wingo  <wingo@pobox.com>
20900
20901         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20902         the event type (upstream, downstream, serialized). Renamed
20903         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20904         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20905         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20906
20907         * gst/gstevent.c: Update for new CUSTOM event names.
20908
20909         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20910
20911         * gst/gstevent.h:
20912         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20913         bug #319392.
20914
20915 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20916
20917         * docs/gst/gstreamer-sections.txt:
20918         * win32/common/libgstbase.def:
20919         * win32/libgstbase.def:
20920         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20921         (gst_collect_pads_class_init), (gst_collect_pads_init),
20922         (gst_collect_pads_finalize), (gst_collect_pads_new),
20923         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20924         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20925         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20926         (gst_collect_pads_start), (gst_collect_pads_stop),
20927         (gst_collect_pads_peek), (gst_collect_pads_pop),
20928         (gst_collect_pads_available), (gst_collect_pads_read),
20929         (gst_collect_pads_flush), (gst_collect_pads_event),
20930         (gst_collect_pads_chain):
20931         * gst/base/gstcollectpads.h:
20932           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20933           unimplemented functions as unimplemented. Add padding to
20934           GstCollectData. (#320766, #320423)
20935
20936 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20937
20938         * gst/gstmessage.c:
20939           Improve docs for DURATION message (usage of duration parameter)
20940           (#320113)
20941
20942 2005-11-20  Wim Taymans  <wim@fluendo.com>
20943
20944         * check/Makefile.am:
20945         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20946         (main):
20947         * gst/Makefile.am:
20948         * gst/gst.h:
20949         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20950         (gst_segment_set_seek), (gst_segment_set_newsegment),
20951         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20952         (gst_segment_clip):
20953         * gst/gstsegment.h:
20954         Added segment helper structure and methods. Not fully implemented
20955         yet.
20956         Added segment check.
20957
20958 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20959
20960         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20961           Add a deserialisation test for fractions
20962         * examples/metadata/read-metadata.c: (message_loop),
20963         (make_pipeline), (main):
20964           Fix up metadata reading sample.
20965         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20966           Debug format fix
20967         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20968           Don't try and fixate empty caps
20969         * gst/gst_private.h:
20970           Wrap in G_BEGIN_DECLS/G_END_DECLS
20971         * gst/gstvalue.c: (gst_value_collect_fraction),
20972         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20973         (gst_value_transform_string_fraction),
20974         (gst_value_compare_fraction):
20975           Add some extra guards to ensure that we don't end up 
20976           with an invalid denominator of 0 in a gstfraction and
20977           that fractions always get reduced.
20978
20979 2005-11-20  Wim Taymans  <wim@fluendo.com>
20980
20981         * docs/gst/gstreamer-sections.txt:
20982         * gst/gstbuffer.h:
20983         * gst/gstelement.c:
20984         * gst/gstformat.c:
20985         * gst/gstformat.h:
20986         * gst/gstindex.h:
20987         * gst/gstquery.c:
20988         * gst/gstquery.h:
20989         * gst/gstvalue.c:
20990         Doc fixes.
20991
20992 2005-11-20  Wim Taymans  <wim@fluendo.com>
20993
20994         * docs/design/part-TODO.txt:
20995         * gst/gstcaps.h:
20996         Make a proper enum of the flag.
20997
20998 2005-11-19  Wim Taymans  <wim@fluendo.com>
20999
21000         * docs/design/part-TODO.txt:
21001         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
21002         (gst_format_to_quark), (gst_format_register):
21003         * gst/gstformat.h:
21004         * gst/gstquery.c: (_gst_query_initialize),
21005         (gst_query_type_get_name), (gst_query_type_to_quark),
21006         (gst_query_type_register):
21007         * gst/gstquery.h:
21008         Add type to quark and type to string conversions.
21009
21010 2005-11-19  Andy Wingo  <wingo@pobox.com>
21011
21012         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
21013         #320097.
21014
21015 2005-11-19  Wim Taymans  <wim@fluendo.com>
21016
21017         * docs/design/part-TODO.txt:
21018         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21019         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
21020         (gst_bin_handle_message_func):
21021         * gst/gstbin.h:
21022         Make message handling overridable.
21023
21024 2005-11-19  Andy Wingo  <wingo@pobox.com>
21025
21026         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
21027
21028         * gst/gstclock.h:
21029         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
21030         be a GstClockTime.
21031         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
21032         is a GstClockTime. Fixes #321710.
21033
21034         * gst/gstclock.h (GstClock): Remove offset property. Add
21035         internal_calibration and external_calibration. Fix padding. Pad
21036         also by GstClockTime so we don't run into problems.
21037
21038         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
21039         (gst_clock_get_rate_offset): Remove.
21040         (gst_clock_set_time_adjust): Remove. Fixes #321712.
21041
21042         * gst/gstutils.h:
21043         * gst/gstutils.c (g_static_rec_cond_wait)
21044         (g_static_rec_cond_timed_wait): Removed, no longer needed.
21045
21046         * gst/gstbin.c: Remove terrible continue_state prototype.
21047
21048         * gst/gstelement.h (gst_element_continue_state): Make public.
21049
21050         * gst/gstelement.h:
21051         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
21052         by continue_state. Fixes #319389.
21053
21054         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21055         Really fixes #168438. However I don't see anywhere where the
21056         filter function is called... stupid GStreamer...
21057         
21058         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21059         don't have a dispose function, so it won't get called when the
21060         object is unreffed, but oh well!
21061
21062         * gst/gstindex.c (gst_index_set_filter_full): New API function,
21063         allows a destroy function to be set so user_data can be freed.
21064         Fixes #168438.
21065         (gst_index_set_filter): Call gst_index_set_filter_full.
21066
21067         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21068
21069         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21070         string should produce an error, given the lack of a way to
21071         represent NULL strings. Fixes #165650.
21072         
21073         * gst/gstvalue.h: 
21074         * gst/gstvalue.c (gst_value_array_append_value) 
21075         (gst_value_array_prepend_value, gst_value_array_get_size) 
21076         (gst_value_array_get_value): New API, copied from
21077         gst_value_list_*, only operates on arrays.
21078         (gst_value_list_append_value, gst_value_list_prepend_value) 
21079         (gst_value_list_concat, gst_value_list_get_size) 
21080         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21081
21082         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21083         init_list, because it works on both.
21084         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21085         (gst_value_copy_list_or_array): Renamed from copy_list.
21086         (gst_value_free_list_or_array): Renamed from free_list.
21087         (gst_value_collect_list_or_array): Renamed from collect_list.
21088         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21089         (gst_value_list_or_array_peek_pointer): Renamed from
21090         list_peek_pointer.
21091         (_gst_value_array_value_table, _gst_value_list_value_table):
21092         Update value table functions.
21093         (gst_value_compare_list_or_array): Renamed from compare_list.
21094
21095         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21096         some constness.
21097
21098         * gst/gsttaglist.c:
21099         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21100         GstTagList*. Fixes #143472.
21101
21102         * gst/gststructure.h: Clarify what the foreach/map functions can
21103         or can't do to their arguments.
21104
21105 2005-11-18  Wim Taymans  <wim@fluendo.com>
21106
21107         * gst/gstclock.c: (gst_clock_set_calibration),
21108         (gst_clock_get_calibration):
21109         Doc and API fixes.
21110         Calibration can be set with internal time equal to current
21111         internal time too.
21112
21113 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21114
21115         * gst/gsterror.c:
21116         * gst/gsterror.h:
21117           document
21118
21119 2005-11-18  Andy Wingo  <wingo@pobox.com>
21120
21121         * configure.ac: 
21122         * pkgconfig/gstreamer-net.pc.in:
21123         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21124         * pkgconfig/Makefile.am: Add net pkgconfig files.
21125
21126 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21127
21128         * gst/gstcaps.c:
21129         * gst/gstghostpad.c:
21130         * gst/gsttrace.c:
21131         * gst/gstvalue.c:
21132         * gst/gstvalue.h:
21133           docs fixes
21134
21135 2005-11-18  Andy Wingo  <wingo@pobox.com>
21136
21137         * gst/net/gstnetclientclock.c: Turn off debugging.
21138
21139         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21140         times connverge somewhat. Can't make a real test.
21141
21142         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21143         integer arithmetic. Return the minimum of the domain, which can be
21144         set as "internal" for gst_clock_set_calibration.
21145         (gst_net_client_clock_observe_times): Call _set_calibration.
21146         (gst_net_client_clock_new): Call _set_calibration instead of
21147         rate_offset.
21148
21149         * check/net/gstnetclientclock.c (test_functioning): Use the right
21150         adjustment api.
21151
21152         * gst/gstclock.h:
21153         * gst/gstclock.c (gst_clock_get_calibration) 
21154         (gst_clock_set_calibration): New functions, obsolete the ones I
21155         added yesterday. Doh. Precision issues mean we have to extrapolate
21156         from a point in the more recent past than 1970.
21157         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21158         obsolete.
21159         (gst_clock_adjust_unlocked): Use the right calibration data.
21160
21161 2005-11-18  Edward Hervey  <edward@fluendo.com>
21162
21163         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21164         Also reset the ->current_* values in READY->PAUSED
21165
21166 2005-11-18  Andy Wingo  <wingo@pobox.com>
21167
21168         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21169         Whoops, check the right fd. Also add some debugging.
21170         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21171         (do_linear_regression): Add a crapload of debugging. Subtract off
21172         the minimum values from the input series to discard unneeded bits.
21173         Use only int arithmetic. There is still double arithmetic when
21174         calculating the intercept that needs fixing. Return boolean to
21175         indicate success; FALSE would mean the domain or range is too
21176         great. Still needs fixes.
21177
21178 2005-11-18  Wim Taymans  <wim@fluendo.com>
21179
21180         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21181         For the current position in stream time, we need to subtract
21182         accumulated time.
21183         
21184         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21185         Release lock before calling the callback function of async
21186         entries.
21187
21188 2005-11-18  Andy Wingo  <wingo@pobox.com>
21189
21190         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21191         Port goes all the way to MAXUINT16.
21192
21193         * gst/net/gstnettimeprovider.c: Make the port range the same as
21194         for the kernel: 0 assigns, otherwise ports are less than
21195         MAXUINT16.
21196
21197         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21198         port change.
21199
21200         * check/net/gstnetclientclock.c (test_functioning): Add the start
21201         of another test. 
21202
21203 2005-11-18  Wim Taymans  <wim@fluendo.com>
21204
21205         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21206         (gst_bin_remove_func), (bin_bus_handler):
21207         * gst/gstbin.h:
21208         Removing a clock provider from a bin, triggers a clock lost message
21209         so that a new clock will be selected.
21210         Adding a clock to a bin triggers a clock provider message.
21211         Make sure we reselect a clock when we received a clock lost message.
21212         Keep a reference to the element that provided the clock.
21213
21214 2005-11-18  Andy Wingo  <wingo@pobox.com>
21215
21216         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21217         the clock initially so it produces values around the base time.
21218         (gst_net_client_clock_class_init): Typo fix.
21219         (gst_net_client_clock_thread): Add note on when the socket gets
21220         closed.
21221
21222 2005-11-17  Wim Taymans  <wim@fluendo.com>
21223
21224         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21225         Free remote and local time arrays.
21226
21227 2005-11-17  Wim Taymans  <wim@fluendo.com>
21228
21229         * gst/net/gstnetclientclock.c: (do_linear_regression),
21230         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21231         Fix compilation, uninitialized vars and a forgotten continue.
21232
21233 2005-11-17  Andy Wingo  <wingo@pobox.com>
21234
21235         * check/Makefile.am (check_PROGRAMS): 
21236         * check/net/gstnetclientclock.c: Add a most minimal test for the
21237         net client clock. More to come later.
21238
21239         * gst/net/gstnet.h: 
21240         * gst/net/Makefile.am: Add netclientclock.
21241
21242         * gst/net/gstnetclientclock.h:
21243         * gst/net/gstnetclientclock.c: New files, implement an untested
21244         GstClock that takes its time from a network time provider.
21245         Implements the algorithm in network-clock.scm.
21246
21247         * tests/network-clock.scm (*window-size*): Rename from
21248         *queue-length*.
21249         * tests/network-clock.scm (network-time): 
21250         * tests/network-clock-utils.scm (q-push): Update callers.
21251
21252 2005-11-17  Wim Taymans  <wim@fluendo.com>
21253
21254         * gst/gstbin.c: (gst_bin_provide_clock_func),
21255         (gst_bin_sort_iterator_new):
21256         And unref the child too..
21257
21258 2005-11-17  Wim Taymans  <wim@fluendo.com>
21259
21260         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21261         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21262         Refactor the sort iterator so it can be used while holding the
21263         LOCK too.
21264         Make clock selection select a clock closest to the source.
21265
21266 2005-11-17  Michael Smith <msmith@fluendo.com>
21267
21268         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21269         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21270         * gst/gstclock.h:
21271           Anonymous structs are a gcc (and some other compilers) extension, so
21272           don't use them. Since this is only for ABI-compatibility, and our
21273           API/ABI freeze is over in a few days, this whole thing will only
21274           last a few days, so don't bother trying to think up a meaningful
21275           name for the struct.
21276
21277 2005-11-17  Andy Wingo  <wingo@pobox.com>
21278
21279         * gst/gstclock.h (GstClock): Add rate and offset properties,
21280         preserving ABI stability. Add rate/offset accessors. Will file bug
21281         for the freeze break.
21282
21283         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21284         and offset, trying to keep precision and avoiding
21285         underflow/overflow.
21286         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21287         functions. Make gst_clock_set_time_adjust obsolete.
21288         (gst_clock_set_time_adjust): Note that this function is obsolete.
21289         Will file bug soon.
21290
21291         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21292         greppable by using GST_PADDING-1+1.
21293
21294 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21295
21296         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21297
21298         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21299           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21300
21301         * gst/gstpadtemplate.h:
21302         * gst/gstpluginfeature.h:
21303           Don't use c++ style comments in headers (#321638).
21304
21305 2005-11-16  Andy Wingo  <wingo@pobox.com>
21306
21307         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21308         buffer.
21309
21310         * check/net/gstnettimeprovider.c: Check to see that the time
21311         provider actually provides times. Works, yo!
21312
21313 2005-11-16  Wim Taymans  <wim@fluendo.com>
21314
21315         * check/Makefile.am:
21316         Enable more tests.
21317
21318         * check/elements/fakesrc.c: (GST_START_TEST):
21319         Set element to NULL before disposing it.
21320
21321 2005-11-16  Andy Wingo  <wingo@pobox.com>
21322
21323         * gst/net/Makefile.am:
21324         * gst/net/gstnet.h:
21325         * gst/net/gstnettimeprovider.c: 
21326         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21327         provider, include it from gstnet.h, and add it to the build.
21328
21329         * gst/net/gstnettimepacket.h: 
21330         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21331         sending and receiving.
21332
21333 2005-11-16  Wim Taymans  <wim@fluendo.com>
21334
21335         * check/Makefile.am:
21336         Enable valgrind check.
21337
21338         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21339         (gst_fake_src_alloc_buffer):
21340         Fix memleak.
21341
21342 2005-11-16  Wim Taymans  <wim@fluendo.com>
21343
21344         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21345         Call parent finalize too.
21346
21347 2005-11-16  Wim Taymans  <wim@fluendo.com>
21348
21349         * check/Makefile.am:
21350         Enable valgrind check that should work fine now.
21351
21352         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21353         * gst/gstqueue.c: (gst_queue_init):
21354         Fix memleaks in pad allocation.
21355
21356 2005-11-16  Andy Wingo  <wingo@pobox.com>
21357
21358         * gst/net/Makefile.am:
21359         * gst/net/gstnet.h: New part of core to hold network elements and
21360         objects. Put in core because it exposes API that applications want
21361         to use. The library is named libgstnet-tempname right now because
21362         of the existing libgstnet in gst-plugins-base. Solution is
21363         probably to rename the one in plugins-base; will file a bug for
21364         the freeze break.
21365
21366         * gst/net/gstnettimeprovider.c: 
21367         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21368         get_time call over the network.
21369
21370         * configure.ac: 
21371         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21372
21373         * check/Makefile.am:
21374         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21375         get additions shortly.
21376
21377 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21378
21379         * gst/gstpad.c: (gst_pad_new_from_static_template):
21380         * gst/gstpad.h:
21381           add gst_pad_new_from_static_template functions
21382         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21383         (gst_check_setup_sink_pad):
21384         * gst/elements/gsttee.c: (gst_tee_init):
21385           and use them
21386
21387 2005-11-16  Wim Taymans  <wim@fluendo.com>
21388
21389         * gst/gstpad.c: (gst_pad_pause_task):
21390         Removed warning, it's not really an error either.
21391
21392 2005-11-16  Wim Taymans  <wim@fluendo.com>
21393
21394         * gst/base/gstbasetransform.c:
21395         (gst_base_transform_prepare_output_buf),
21396         (gst_base_transform_event):
21397         Check if the caps are NULL, this can happen if the element
21398         is shutting down and the pad caps are set to NULL.
21399
21400 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21401
21402         * gst/elements/gsttee.c: (gst_tee_init):
21403           fix pad template leak in tee
21404
21405 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21406
21407         * gst/glib-compat.c: (g_value_dup_gst_object):
21408         * gst/glib-compat.h:
21409         * gst/gstpad.c: (gst_pad_set_property):
21410           use gst_object_ref when setting the pad template; this will
21411           trigger the pad template leaks on GLib 2.6 and the slaves
21412
21413 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21414
21415         * gst/glib-compat.c: (gst_flags_get_first_value):
21416         * gst/glib-compat.h:
21417         * gst/gstregistryxml.c:
21418           remove functions copied from GLib 2.6
21419
21420 2005-11-16  Michael Smith <msmith@fluendo.com>
21421
21422         * gst/Makefile.am:
21423           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21424           do, but only breaks with newer valgrind versions. We're not a
21425           valgrind tool, we have no link-time dependencies on libcoregrind.
21426
21427 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21428
21429         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21430           some debug changes
21431         * gst/gstmessage.h:
21432           typo fixes
21433
21434 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21435
21436         * gst/base/gstbasesrc.c: (gst_base_src_init):
21437         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21438         * gst/gstqueue.c: (gst_queue_init):
21439         * gst/gstregistryxml.c: (load_feature):
21440           Revert all these unrefs, they don't even pass make check !
21441
21442 2005-11-15  Johan Dahlin  <johan@gnome.org>
21443
21444         * gst/base/gstbasesrc.c: (gst_base_src_init):
21445         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21446         * gst/gstqueue.c: (gst_queue_init): 
21447         Free pad templates, fixes a couple of leaks.
21448
21449 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21450
21451         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21452
21453         * gst/gstpad.c: (gst_pad_get_property):
21454           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21455           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21456           (#321452)
21457
21458 2005-11-15  Wim Taymans  <wim@fluendo.com>
21459
21460         * gst/gstevent.c:
21461         Small doc update.
21462
21463 2005-11-15  Andy Wingo  <wingo@pobox.com>
21464
21465         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21466
21467         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21468         using GST_CLOCK_TIME_NONE to disable base time management.
21469         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21470         time if it was NONE before.
21471         (gst_pipeline_change_state): Only munge the base time if
21472         stream_time != GST_CLOCK_TIME_NONE.
21473
21474         * check/gst/gstpipeline.c (test_base_time): Punt around the
21475         problem of the probe not being called, because that's not the
21476         issue I'm looking at. Add a check that setting stream_time to NONE
21477         disables base time management.
21478         
21479 2005-11-15  Wim Taymans  <wim@fluendo.com>
21480
21481         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21482         segment_stop == -1 at startup.
21483
21484         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21485         (gst_base_transform_change_state):
21486         Init segment values at start.
21487
21488 2005-11-15  Wim Taymans  <wim@fluendo.com>
21489
21490         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21491         0 segment values are 0 in any format.
21492
21493         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21494         * gst/base/gstbasetransform.h:
21495         Parse newsegment correctly in basetransform
21496
21497         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21498         Sync to clock using updated segment values.
21499
21500 2005-11-15  Andy Wingo  <wingo@pobox.com>
21501
21502         * check/gst/gstpipeline.c (test_base_time): Add check that the
21503         base time and stream time are reset correctly.
21504
21505 2005-11-15  Wim Taymans  <wim@fluendo.com>
21506
21507         * docs/design/part-TODO.txt:
21508         Some more TODO items.
21509
21510 2005-11-15  Andy Wingo  <wingo@pobox.com>
21511
21512         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21513         error if the user selected "no clock" as the clocking method.
21514
21515         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21516         timestamps with live capture.
21517
21518         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21519         is 0 but we are a live source, timestamp the buffers using the
21520         element's clock.
21521
21522 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21523
21524         * docs/gst/gstreamer-sections.txt:
21525         * gst/gsterror.c:
21526         * gst/gstghostpad.c:
21527         * gst/gstobject.h:
21528         * gst/gstxml.c:
21529           more section docs
21530
21531 2005-11-14  Wim Taymans  <wim@fluendo.com>
21532
21533         * common/gst.supp:
21534           add suppressions from Wim's Debian machine
21535
21536 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21537
21538         * common/gst.supp:
21539           add suppressions from Andy's AMD64 Ubuntu machine
21540
21541 2005-11-14  Andy Wingo  <wingo@pobox.com>
21542
21543         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21544         STATE_LOCK not necessary. Fixes #311489.
21545
21546         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21547         #305291.
21548
21549         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21550         this function is not implemented.
21551
21552 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21553
21554         * gst/base/gstbasetransform.c:
21555         (gst_base_transform_prepare_output_buf):
21556         Ref the source pad caps while we need them.
21557         Fixes (#321386)
21558
21559 2005-11-11  Wim Taymans  <wim@fluendo.com>
21560
21561         * docs/gst/gstreamer-sections.txt:
21562         Added some docs for GstCollectData.
21563
21564         * gst/base/gstadapter.c:
21565         Some small code example fix.
21566
21567         * gst/base/gstcollectpads.c:
21568         * gst/base/gstcollectpads.h:
21569         Document some more.
21570
21571 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21572
21573         * configure.ac: back to HEAD
21574
21575 === release 0.9.5 ===
21576
21577 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21578
21579         * configure.ac:
21580           releasing 0.9.5, "Bike Lunch Day"
21581
21582 2005-11-11  Wim Taymans  <wim@fluendo.com>
21583
21584         * gst/gstbuffer.c: (_gst_buffer_copy):
21585         Copy more flags.
21586
21587         * gst/gstcaps.c: (gst_caps_is_equal):
21588         Fix some docs.
21589         Make _is_equal fast in the trivial cases.
21590
21591         * gst/gstminiobject.c:
21592         * gst/gstminiobject.h:
21593         More docs. Spifify .h file.
21594
21595         * gst/gstutils.c:
21596         Small doc update.
21597
21598 2005-11-11  Wim Taymans  <wim@fluendo.com>
21599
21600         * gst/base/gstbasetransform.c:
21601         (gst_base_transform_prepare_output_buf),
21602         (gst_base_transform_handle_buffer):
21603         Small cleanups.
21604         If we're processing a buffer and need to allocate an output
21605         buffer, we cannot accept a format change. If we did get a 
21606         format change, we have to alloc a buffer ourselves of the 
21607         right size.
21608
21609 2005-11-11  Wim Taymans  <wim@fluendo.com>
21610
21611         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21612         While checking the flag for reentrancy in the gstcaps function
21613         is nice to detect recursive invocations, it also makes it 
21614         impossible to call getcaps from multiple threads, which must be
21615         possible. So, checking for recursive calls has to go.
21616
21617 2005-11-11  Michael Smith <msmith@fluendo.com>
21618
21619         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21620           Don't sync on buffers that fall partially outside our current
21621           segment. Prevents an assertion failure/abort playing some files.
21622
21623 2005-11-10  Andy Wingo  <wingo@pobox.com>
21624
21625         * check/gst/gstbin.c (test_message_state_changed_children): Style
21626         fix..
21627
21628         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21629         gst_bus_poll with the signal watch. Ensures that poll and a signal
21630         watch see the same messages.
21631
21632         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21633         a poll and a watch at the same time get the same messages.
21634
21635 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21636
21637         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21638         * gst/gstcaps.c: (gst_caps_intersect):
21639           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21640           and it's not needed.
21641
21642 2005-11-10  Wim Taymans  <wim@fluendo.com>
21643
21644         * docs/design/part-TODO.txt:
21645         Updated todo.
21646
21647 2005-11-10  Wim Taymans  <wim@fluendo.com>
21648
21649         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21650         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21651         (gst_base_src_do_sync), (gst_base_src_get_range):
21652         Implement clock sync in base class.
21653
21654 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21655
21656         patch by: Tim-Philipp Müller <tim at centricular dot net>
21657
21658         * gst/gststructure.c: (gst_structure_parse_field),
21659         (gst_structure_from_string):
21660           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21661           so that gst_parse_launch() can deal with spaces in filtered link
21662           caps (fixes #164479)
21663         * check/gst/capslist.h:
21664         * check/gst/gststructure.c: (GST_START_TEST):
21665           add unit tests for this change
21666
21667 2005-11-10  Wim Taymans  <wim@fluendo.com>
21668
21669         * docs/gst/gstreamer-sections.txt:
21670         * gst/gstelement.c:
21671         * gst/gstelement.h:
21672         Fix docs, move some STATE macros to private.
21673
21674 2005-11-10  Wim Taymans  <wim@fluendo.com>
21675
21676         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21677         Added check for bug #317341
21678
21679         * gst/gstbuffer.c:
21680         * gst/gstbuffer.h:
21681         Some more spiffifying.
21682
21683         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21684         Call peer linkfunction if we are a source pad. Totally fixes
21685         #317341
21686
21687         * gst/gstpad.c:
21688         Update docs, source pads should call the peer linkfunction
21689         so they can atomically perform the pad link.
21690
21691 2005-11-09  Wim Taymans  <wim@fluendo.com>
21692
21693         * gst/gstbuffer.c:
21694         * gst/gstbuffer.h:
21695         Uber-spiffy-spiffify some more.
21696
21697 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21698
21699         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21700         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21701         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21702         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21703         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21704         * gst/gstpad.c: (gst_pad_init):
21705           Use GST_DEBUG_FUNCPTR() more extensively.
21706
21707 2005-11-09  Wim Taymans  <wim@fluendo.com>
21708
21709         * gst/gstobject.c: (gst_object_class_init):
21710         * gst/gstobject.h:
21711         Documentation fixes.
21712
21713 2005-11-09  Edward Hervey  <edward@fluendo.com>
21714
21715         * gst/gsttypefindfactory.c:
21716         Fix docs.
21717         
21718 2005-11-09  Edward Hervey  <edward@fluendo.com>
21719
21720         * gst/base/gsttypefindhelper.c:
21721         * gst/gsttypefind.c:
21722         * gst/gsttypefind.h:
21723         Fix docs.
21724
21725 2005-11-09  Wim Taymans  <wim@fluendo.com>
21726
21727         * gst/gstiterator.c:
21728         Fix revision data.
21729
21730         * gst/gsttask.c:
21731         * gst/gsttask.h:
21732         Fix docs.
21733
21734 2005-11-09  Wim Taymans  <wim@fluendo.com>
21735
21736         * gst/gstevent.h:
21737         * gst/gsturi.h:
21738         Fix docs.
21739
21740 2005-11-09  Wim Taymans  <wim@fluendo.com>
21741
21742         * docs/gst/gstreamer-sections.txt:
21743         Moved the message async delivery private lock and cond
21744         to the private section.
21745
21746         * gst/gstmessage.c:
21747         * gst/gstmessage.h:
21748         Fixed docs.
21749
21750 2005-11-09  Edward Hervey  <edward@fluendo.com>
21751
21752         * docs/gst/gstreamer-sections.txt:
21753         * gst/gsturi.c:
21754         * gst/gsturi.h:
21755         Document GstURIHandler
21756
21757 2005-11-09  Wim Taymans  <wim@fluendo.com>
21758
21759         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21760         (gst_iterator_find_custom):
21761         * gst/gstiterator.h:
21762         Fix iterator docs.
21763
21764 2005-11-09  Wim Taymans  <wim@fluendo.com>
21765
21766         * gst/gstbin.h:
21767         Document another field.
21768
21769         * gst/gststructure.c:
21770         * gst/gststructure.h:
21771         Document.
21772
21773 2005-11-09  Wim Taymans  <wim@fluendo.com>
21774
21775         * gst/gstbin.h:
21776         Documented structs.
21777
21778 2005-11-09  Wim Taymans  <wim@fluendo.com>
21779
21780         * docs/gst/gstreamer-sections.txt:
21781         Added some new macros.
21782
21783         * gst/gstclock.c:
21784         * gst/gstclock.h:
21785         * gst/gstobject.h:
21786         Docs updates.
21787
21788 2005-11-09  Wim Taymans  <wim@fluendo.com>
21789
21790         * docs/design/part-TODO.txt:
21791         Some more items for the TODO
21792
21793         * gst/gstcaps.c:
21794         * gst/gstcaps.h:
21795         Document GstCaps.
21796
21797 2005-11-09  Andy Wingo  <wingo@pobox.com>
21798
21799         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21800         to work on something else now tho...
21801
21802         * gst/base/gstadapter.c: More adapter docs.
21803
21804         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21805         (gst_file_sink_stop): New functions, replace the state change
21806         handler.
21807         (gst_file_sink_class_init): Hook up the start and stop functions.
21808         (gst_file_sink_base_init): Don't set the state change handler any
21809         more. It was a bit ugly too, being set from here...
21810         (gst_file_sink_get_property, gst_file_sink_set_property):
21811         Cleanups...
21812         (gst_file_sink_set_location): More robust check that doesn't call
21813         GST_STATE. Ugggggg.
21814
21815 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21816
21817         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21818           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21819
21820 2005-11-08  Wim Taymans  <wim@fluendo.com>
21821
21822         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21823         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21824         (gst_base_sink_chain), (gst_base_sink_change_state):
21825         * gst/base/gstbasesink.h:
21826         * gst/base/gstbasesrc.h:
21827         * gst/gstelement.h:
21828         * gst/gstevent.h:
21829         Avoid excessive typechecking in macros.
21830
21831         * gst/gstminiobject.c: (gst_mini_object_get_type),
21832         (gst_mini_object_init), (gst_mini_object_new),
21833         (gst_mini_object_free):
21834         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21835         (gst_object_finalize):
21836         Remove cruft code, optimize alloc_trace.
21837
21838 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21839
21840         * docs/faq/gst-uninstalled:
21841           fix up PS1 for systems that try to reset it
21842
21843 2005-11-07  Wim Taymans  <wim@fluendo.com>
21844
21845         * gst/base/gstbasesrc.c: (gst_base_src_init),
21846         (gst_base_src_get_range):
21847         Set the segment_end to -1 initially. Fixed typefind.
21848
21849 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21850
21851         * gst/base/gstadapter.c:
21852           Debug category should be 'adapter', not 'GstAdapter'.
21853           
21854         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21855         (gst_collectpads_class_init), (gst_collectpads_init),
21856         (gst_collectpads_peek), (gst_collectpads_pop),
21857         (gst_collectpads_event), (gst_collectpads_chain):
21858           Add debug category and some debugging output. Use boilerplate
21859           macros. Remove some extraneous words from docs.
21860
21861 2005-11-05  Andy Wingo  <wingo@pobox.com>
21862
21863         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21864         macro.
21865
21866 2005-11-04  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 added
21875
21876 2005-11-04  Wim Taymans  <wim@fluendo.com>
21877
21878         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21879         Small update to stop at the configured segment_end
21880         position.
21881
21882 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21883
21884         * gst/gstregistry.c:
21885         * gst/gstregistry.h:
21886           added missing docs
21887
21888 2005-11-04  Edward Hervey  <edward@fluendo.com>
21889
21890         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21891         Check if we are doing a segment seek and have arrived at the
21892         end of that segment.
21893
21894 2005-11-04  Wim Taymans  <wim@fluendo.com>
21895
21896         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21897         Don't leak a mutex unlock in case of an error.
21898
21899         * gst/gstbus.h:
21900         Doc fixes.
21901
21902 2005-11-04  Wim Taymans  <wim@fluendo.com>
21903
21904         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21905         (gst_bus_post):
21906         Get the context to wake up only once.
21907
21908 2005-11-03  Wim Taymans  <wim@fluendo.com>
21909
21910         * check/states/sinks.c: (GST_START_TEST):
21911         Uncomment fixed check.
21912
21913         * docs/design/part-TODO.txt:
21914         Updated TODO.
21915
21916         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21917         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21918         (gst_base_sink_get_position):
21919         If we are going to PLAYING, post the right pending state
21920         when we post the intermediate paused message.
21921
21922         * gst/gstelement.c: (gst_element_continue_state),
21923         (gst_element_set_state_func), (gst_element_change_state):
21924         Don't post state changes that were between the same state
21925         and were not ASYNC.
21926
21927 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21928
21929         * docs/gst/gstreamer-sections.txt:
21930         * gst/gstcaps.h:
21931         * gst/gstinfo.c:
21932         * gst/gstminiobject.h:
21933         * gst/gstobject.h:
21934         * gst/gstutils.h:
21935           more docs and doc style fixes
21936
21937 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21938
21939         * docs/gst/gstreamer-sections.txt:
21940         * gst/gstelement.c:
21941         * gst/gstminiobject.c:
21942         doc fixes
21943
21944 2005-11-03  Andy Wingo  <wingo@pobox.com>
21945
21946         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21947         state-changed messages actually have the right order and the right
21948         values.
21949
21950 2005-11-03  Wim Taymans  <wim@fluendo.com>
21951
21952         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21953         Added some more checks. Specifically the case where NO_PREROLL
21954         elements are in the pipeline.
21955
21956         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21957         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21958         (gst_base_sink_get_position):
21959         Post READY->PAUSED state change messages too.
21960         Fix bug where VOID was posted as pending state...
21961
21962         * gst/gstbin.c: (gst_bin_recalc_state):
21963         use _element_continue_state() to continue the state change.
21964
21965         * gst/gstelement.c: (gst_element_continue_state),
21966         (gst_element_commit_state), (gst_element_set_state_func),
21967         (gst_element_change_state), (gst_element_change_state_func):
21968         Lots of state change cleanups, assign the STATE_RETURN in
21969         a new continue_state() function that also propagates the
21970         last return value from a state change to the app.
21971         Update some debug statements with proper category.
21972
21973 2005-11-03  Wim Taymans  <wim@fluendo.com>
21974
21975         * docs/design/part-events.txt:
21976         * docs/design/part-gstpipeline.txt:
21977         * docs/design/part-messages.txt:
21978         * docs/design/part-overview.txt:
21979         * docs/design/part-seeking.txt:
21980         * docs/design/part-states.txt:
21981         * docs/design/part-trickmodes.txt:
21982         * docs/manual/advanced-position.xml:
21983         Small docs updates.
21984
21985         * gst/gstobject.h:
21986         People think !! is ugly, this looks better.
21987
21988         * gst/gstpad.c: (gst_pad_set_blocked_async):
21989         Remove !! since it's fixed elsewhere now.
21990
21991 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21992
21993         * gst/gstminiobject.h:
21994         * gst/gstobject.h:
21995           Add !! to _FLAG_IS_SET macros to make the result boolean.
21996
21997 2005-11-03  Edward Hervey  <edward@fluendo.com>
21998
21999         * gst/gstpad.c: (gst_pad_set_blocked_async):
22000         comparing a flag and a gboolean rarely returns coherent results...
22001         Added two characters (!!) to make that work correctly.
22002         
22003 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22004
22005         * gst/gstbus.c: (gst_bus_class_init):
22006           Fix some typos.
22007           
22008         * gst/gstqueue.c: (gst_queue_loop):
22009           Don't assume a miniobject that isn't a buffer is an
22010           event (it could be that there is a refcounting
22011           problem somewhere and the pointer is stale and
22012           refers to an already destroyed miniobject).
22013
22014 2005-11-03  Julien MOUTTE  <julien@moutte.net>
22015
22016         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
22017
22018 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22019
22020         * docs/manual/advanced-position.xml:
22021           Update seek example and explanations to current 0.9 API.
22022
22023         * gst/elements/gsttypefindelement.c:
22024         (gst_type_find_element_activate):
22025           Remove FIXME comment now that the found caps
22026           are unreffed.
22027
22028 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22029
22030         * gst/gstregistryxml.c: (load_feature):
22031           Add another GST_STR_NULL instance
22032
22033 2005-11-02  Edward Hervey  <edward@fluendo.com>
22034
22035         * gst/gstpad.c: (handle_pad_block):
22036         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
22037         
22038 2005-11-02  Wim Taymans  <wim@fluendo.com>
22039
22040         * gst/gstbin.c:
22041         Fix typo in docs.
22042
22043         * gst/gstelement.c: (gst_element_commit_state):
22044         Remove unused value.
22045
22046         * gst/gstiterator.c:
22047         Mention that the returned element is reffed in the docs.
22048
22049 2005-11-02  Wim Taymans  <wim@fluendo.com>
22050
22051         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
22052         (gst_pad_push), (gst_pad_push_event):
22053         Unlock blocked pads when they are flushed.
22054
22055 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22056
22057         * docs/README:
22058         * docs/gst/gstreamer-sections.txt:
22059         * gst/gstbin.c:
22060           doc updates
22061         * gst/gstregistry.c: (gst_registry_scan_path_level):
22062           fix for a nasty little missed situation where an installed plug-in
22063           which was in the cache did not get overridden by an uninstalled one
22064           which was earlier in the plugin path because the newly created plugin
22065           for the uninstalled one (not in the registry) didn't get its
22066           ->registered set to TRUE
22067
22068 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22069
22070         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22071         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22072         (gst_collectpads_is_active), (gst_collectpads_collect),
22073         (gst_collectpads_collect_range), (gst_collectpads_start),
22074         (gst_collectpads_stop), (gst_collectpads_peek),
22075         (gst_collectpads_pop), (gst_collectpads_available),
22076         (gst_collectpads_read), (gst_collectpads_flush):
22077           Guard public API with assertions.
22078         
22079         * gst/gstpad.c:
22080           Fix docs for gst_pad_set_link_function().
22081
22082 2005-11-02  Johan Dahlin  <johan@gnome.org>
22083
22084         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22085         Unref found_caps after we used it.
22086
22087 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22088
22089         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22090           Don't try to ref NULL.
22091
22092 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22093
22094         * win32/common/config.h.in:
22095           provide a GST_FUNCTION that just gives a string for now
22096
22097 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22098
22099         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22100         (gst_object_flags_get_type), (register_gst_bin_flags),
22101         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22102         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22103         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22104         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22105         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22106         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22107         (gst_clock_flags_get_type), (register_gst_state),
22108         (gst_state_get_type), (register_gst_state_change_return),
22109         (gst_state_change_return_get_type), (register_gst_state_change),
22110         (gst_state_change_get_type), (register_gst_element_flags),
22111         (gst_element_flags_get_type), (register_gst_core_error),
22112         (gst_core_error_get_type), (register_gst_library_error),
22113         (gst_library_error_get_type), (register_gst_resource_error),
22114         (gst_resource_error_get_type), (register_gst_stream_error),
22115         (gst_stream_error_get_type), (register_gst_event_type),
22116         (gst_event_type_get_type), (register_gst_seek_type),
22117         (gst_seek_type_get_type), (register_gst_seek_flags),
22118         (gst_seek_flags_get_type), (register_gst_format),
22119         (gst_format_get_type), (register_gst_index_certainty),
22120         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22121         (gst_index_entry_type_get_type),
22122         (register_gst_index_lookup_method),
22123         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22124         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22125         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22126         (gst_index_flags_get_type), (register_gst_debug_level),
22127         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22128         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22129         (gst_iterator_result_get_type), (register_gst_iterator_item),
22130         (gst_iterator_item_get_type), (register_gst_message_type),
22131         (gst_message_type_get_type), (register_gst_mini_object_flags),
22132         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22133         (gst_pad_link_return_get_type), (register_gst_flow_return),
22134         (gst_flow_return_get_type), (register_gst_activate_mode),
22135         (gst_activate_mode_get_type), (register_gst_pad_direction),
22136         (gst_pad_direction_get_type), (register_gst_pad_flags),
22137         (gst_pad_flags_get_type), (register_gst_pad_presence),
22138         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22139         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22140         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22141         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22142         (gst_plugin_flags_get_type), (register_gst_rank),
22143         (gst_rank_get_type), (register_gst_query_type),
22144         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22145         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22146         (gst_tag_flag_get_type), (register_gst_task_state),
22147         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22148         (gst_alloc_trace_flags_get_type),
22149         (register_gst_type_find_probability),
22150         (gst_type_find_probability_get_type), (register_gst_uri_type),
22151         (gst_uri_type_get_type), (register_gst_parse_error),
22152         (gst_parse_error_get_type):
22153         * win32/common/gstversion.h:
22154           update win32 copies
22155
22156 2005-11-01  Luca Ognibene  <luogni@tin.it>
22157
22158         * gst/gst.c:
22159           fix docs. popt is dead, long live GOption.
22160
22161 2005-10-31  Wim Taymans  <wim@fluendo.com>
22162
22163         * gst/gstbuffer.h:
22164         Small doc fix.
22165
22166 2005-10-31  Andy Wingo  <wingo@pobox.com>
22167
22168         * Boo!
22169
22170         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22171
22172         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22173         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22174         the possibility of deadlocks here if code calling notify() or
22175         set() has a lock that can be taken in another notify handler (ABBA
22176         with class lock and e.g. python GIL state lock).
22177
22178 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22179
22180         * gst/gstbus.c: Doc updates.
22181
22182 2005-10-28  Wim Taymans  <wim@fluendo.com>
22183
22184         * docs/design/part-TODO.txt:
22185         * gst/gstiterator.c:
22186         * gst/gstsystemclock.c:
22187         * gst/gstsystemclock.h:
22188         Doc updates.
22189
22190 2005-10-28  Edward Hervey  <edward@fluendo.com>
22191
22192         * docs/gst/gstreamer-docs.sgml:
22193         * docs/gst/gstreamer-sections.txt:
22194         the GstURIType documentation page is private, it only defines GstURIType
22195         which should be defined in the GstURIHandler page
22196         
22197 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22198
22199         * gst/gstbin.c: (gst_bin_class_init):
22200         * gst/gstbin.h:
22201         * gst/gstutils.c:
22202         Documentation updates.
22203
22204 2005-10-28  Wim Taymans  <wim@fluendo.com>
22205
22206         * docs/gst/gstreamer-sections.txt:
22207         * gst/gstclock.c:
22208         * gst/gstclock.h:
22209         Documented the clocks.
22210
22211 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22212
22213         * docs/gst/gstreamer-sections.txt:
22214           move some macros to private sections
22215         * gst/gstminiobject.c:
22216         * gst/gstminiobject.h:
22217           add descriptions provided by ds and some more
22218         * gst/gstpad.h:
22219           mark macro as to be removed
22220
22221 2005-10-28  Wim Taymans  <wim@fluendo.com>
22222
22223         * docs/design/part-TODO.txt:
22224         Add an item to TODO.
22225
22226         * gst/gstiterator.c: (gst_iterator_fold),
22227         (gst_iterator_find_custom):
22228         * gst/gstiterator.h:
22229         Add iterator docs.
22230
22231 2005-10-28  Wim Taymans  <wim@fluendo.com>
22232
22233         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22234         (gst_base_transform_init):
22235         Don't leak class.
22236
22237         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22238         An EOS event marks the queue as completely filled.
22239
22240 2005-10-27  Wim Taymans  <wim@fluendo.com>
22241
22242         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22243         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22244         Some more debugging.
22245
22246         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22247         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22248         (gst_base_transform_event), (gst_base_transform_getrange),
22249         (gst_base_transform_chain):
22250         * gst/base/gstbasetransform.h:
22251         Fix debugging,
22252         Protect transform and concurrent buffer alloc with a new lock.
22253         Try not to break ABI/API.
22254
22255 2005-10-27  Wim Taymans  <wim@fluendo.com>
22256
22257         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22258         (gst_base_src_init), (gst_base_src_query),
22259         (gst_base_src_default_newsegment),
22260         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22261         (gst_base_src_send_event), (gst_base_src_event_handler),
22262         (gst_base_src_pad_get_range), (gst_base_src_loop),
22263         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22264         (gst_base_src_start), (gst_base_src_deactivate),
22265         (gst_base_src_activate_push), (gst_base_src_change_state):
22266         Move some stuff around and cleanup things.
22267
22268 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22269
22270         * gst/base/gstbasesrc.c: (gst_base_src_query):
22271           Add missing break statements.
22272
22273 2005-10-27  Wim Taymans  <wim@fluendo.com>
22274
22275         * check/gst/gstbin.c: (GST_START_TEST):
22276         An extra refcount is taken in basesrc.
22277
22278         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22279         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22280         (gst_base_src_loop):
22281         Small cleanups, check for flushing after being unlocked from the 
22282         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22283         Don't send out EOS when going to READY.
22284
22285 2005-10-27  Wim Taymans  <wim@fluendo.com>
22286
22287         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22288         (gst_base_sink_get_position):
22289         Some more debug.
22290
22291         * gst/gstbin.c: (message_check), (bin_replace_message),
22292         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22293         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22294         (bin_query_duration_init), (bin_query_duration_fold),
22295         (bin_query_duration_done), (bin_query_generic_fold),
22296         (gst_bin_query):
22297         * tools/gst-launch.c: (main):
22298         Remove old option.
22299
22300 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22301
22302         * examples/controller/audio-example.c: (main):
22303         * examples/queue/queue.c: (event_loop):
22304         * gst/base/gstbasetransform.h:
22305         * gst/gstelement.c: (gst_element_send_event):
22306         * gst/gstevent.h:
22307         * gst/gstpad.c: (gst_pad_send_event):
22308           fixing examples
22309           fixing docs typos
22310           changing log priority in error situations
22311
22312 2005-10-25  Wim Taymans  <wim@fluendo.com>
22313
22314         * gst/gstbin.c: (message_check), (bin_replace_message),
22315         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22316         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22317         (bin_query_duration_init), (bin_query_duration_fold),
22318         (bin_query_duration_done), (bin_query_generic_fold),
22319         (gst_bin_query):
22320         Some doc and debug updates.
22321         Cache previously requested query DURATION for speed. invalidate
22322         cached duration if element posts a DURATION message.
22323
22324 2005-10-25  Wim Taymans  <wim@fluendo.com>
22325
22326         * docs/design/part-TODO.txt:
22327         Update TODO.
22328
22329         * gst/gstbin.c: (message_check), (bin_replace_message),
22330         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22331         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22332         (bin_query_duration_init), (bin_query_duration_fold),
22333         (bin_query_duration_done), (bin_query_generic_fold),
22334         (gst_bin_query):
22335         Handle SEGMENT_START/DONE messages correctly.
22336         More evolved query algorithm that handles duration queries
22337         correctly.
22338
22339         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22340         (gst_element_get_state_func), (gst_element_abort_state),
22341         (gst_element_commit_state), (gst_element_lost_state):
22342         Some more debugging.
22343
22344         * gst/gstmessage.h:
22345         Added doc.
22346
22347 2005-10-25  Wim Taymans  <wim@fluendo.com>
22348
22349         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22350         Don't use invalid stream_time.
22351
22352         * gst/gstevent.c: (gst_event_new_newsegment):
22353         stream_time in newsegment cannot be undefined.
22354
22355 2005-10-24  Wim Taymans  <wim@fluendo.com>
22356
22357         * gst/gstbus.c:
22358         Doc fix.
22359
22360         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22361         (gst_queue_loop):
22362         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22363
22364 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22365
22366         * docs/libs/tmpl/gstdparam.sgml:
22367         * docs/libs/tmpl/gstdplinint.sgml:
22368         * docs/libs/tmpl/gstdpman.sgml:
22369         * docs/libs/tmpl/gstdpsmooth.sgml:
22370         * docs/libs/tmpl/gstunitconvert.sgml:
22371           these are obsolete
22372
22373 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22374
22375         * configure.ac:
22376           back to HEAD
22377
22378 === release 0.9.4 ===
22379
22380 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22381
22382         * configure.ac:
22383           releasing 0.9.4, "Tyrannosaurus Rex"
22384
22385 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22386
22387         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22388         (gst_file_sink_get_current_offset):
22389           Use fseeko() and ftello() if available. When falling back on
22390           lseek() to get the current offset, fflush() first to make sure
22391           everything is up-to-date and we get the right offset.
22392
22393 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22394
22395         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22396         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22397         * gst/gsterror.c: (_gst_stream_errors_init):
22398         * gst/gsterror.h:
22399         * gst/gstqueue.c: (gst_queue_loop):
22400         * po/POTFILES.in:
22401           remove prematurely added error category and clean up the instances
22402
22403 2005-10-21  Wim Taymans  <wim@fluendo.com>
22404
22405         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22406         (gst_base_sink_get_position), (gst_base_sink_query),
22407         (gst_base_sink_change_state):
22408         Simply set the right flag when going to playing, that's all
22409         we need to do instead of calling a function inside the object
22410         lock (that could take the lock as well and deadlock)
22411
22412 2005-10-21  Wim Taymans  <wim@fluendo.com>
22413
22414         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22415         (gst_base_src_loop):
22416         Don't warn, the peer element knows what to do best when
22417         the seek failed, it might try something else.
22418
22419 2005-10-21  Wim Taymans  <wim@fluendo.com>
22420
22421         * gst/base/gstbasesrc.c: (gst_base_src_init),
22422         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22423         Fix seeking.
22424
22425 2005-10-21  Wim Taymans  <wim@fluendo.com>
22426
22427         * docs/design/part-segments.txt:
22428         More docs.
22429
22430         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22431         Correctly set caps, even on the subbufer.
22432
22433 2005-10-21  Wim Taymans  <wim@fluendo.com>
22434
22435         * docs/gst/gstreamer-docs.sgml:
22436         * docs/gst/gstreamer-sections.txt:
22437         * gst/gstelement.h:
22438         * gst/gstevent.c:
22439         * gst/gstevent.h:
22440         * gst/gstmessage.h:
22441         * gst/gstpad.h:
22442         * gst/gstparse.h:
22443         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22444         * gst/gsttask.h:
22445         * gst/gstutils.c:
22446         * gst/gstutils.h:
22447         And 2% more doc coverage.
22448
22449 2005-10-21  Andy Wingo  <wingo@pobox.com>
22450
22451         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22452         position reporting.
22453
22454 2005-10-20  Wim Taymans  <wim@fluendo.com>
22455
22456         * gst/gsterror.c: (gst_error_get_message):
22457         * gst/gstparse.h:
22458         * gst/gstquery.h:
22459         * gst/gststructure.c:
22460         * gst/gsttrace.c:
22461         * gst/gstutils.c:
22462         More docs.
22463
22464 2005-10-20  Wim Taymans  <wim@fluendo.com>
22465
22466         * gst/gstbuffer.h:
22467         * gst/gstpad.c:
22468         * gst/gstparse.c:
22469         Another 1% more coverage.
22470
22471 2005-10-20  Wim Taymans  <wim@fluendo.com>
22472
22473         * docs/gst/gstreamer-sections.txt:
22474         * gst/gstelement.c: (gst_element_get_state_func),
22475         (gst_element_abort_state), (gst_element_commit_state),
22476         (gst_element_lost_state):
22477         * gst/gstevent.h:
22478         * gst/gstquery.c: (gst_query_set_position),
22479         (gst_query_parse_position), (gst_query_set_duration),
22480         (gst_query_parse_duration), (gst_query_new_convert):
22481         * gst/gstutils.c:
22482         Yay! 1% more docs coverage.
22483
22484 2005-10-20  Wim Taymans  <wim@fluendo.com>
22485
22486         * gst/gstpad.h:
22487         * gst/gstquery.c: (gst_query_set_position),
22488         (gst_query_parse_position), (gst_query_set_duration),
22489         (gst_query_parse_duration), (gst_query_new_convert):
22490         * gst/gstquery.h:
22491         * gst/gstutils.c: (gst_element_query_convert):
22492         * gst/gstutils.h:
22493         Docs and consistency fixes.
22494
22495 2005-10-20  Wim Taymans  <wim@fluendo.com>
22496
22497         * gst/gsttask.c:
22498         * gst/gsttask.h:
22499         More docs.
22500
22501 2005-10-20  Wim Taymans  <wim@fluendo.com>
22502
22503         * gst/gstbin.c: (message_check), (bin_replace_message),
22504         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22505         (update_degree), (gst_bin_sort_iterator_next),
22506         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22507         Reworked the message handling a bit, cache the messages instead of
22508         only the senders. alows us to do more in the future.
22509
22510 2005-10-20  Wim Taymans  <wim@fluendo.com>
22511
22512         * docs/design/part-TODO.txt:
22513         Update TODO
22514
22515         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22516         (gst_base_sink_query):
22517         Don't use clock time to report position when in EOS.
22518
22519 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22520
22521         * tools/gst-inspect.c: (print_interfaces),
22522         (print_element_properties_info), (print_element_info):
22523           Fix interface output with gst-inspect -a; don't print
22524           newlines after double/float properties.
22525
22526 2005-10-20  Wim Taymans  <wim@fluendo.com>
22527
22528         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22529         (gst_base_sink_query):
22530         Speed up current position calculation.
22531
22532         * gst/base/gstbasesrc.c: (gst_base_src_query),
22533         (gst_base_src_default_newsegment):
22534         Correctly set stream position in newsegment.
22535
22536         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22537         (update_degree), (gst_bin_sort_iterator_next),
22538         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22539         * gst/gstmessage.c: (gst_message_new_custom):
22540         Clean up debugging info
22541
22542         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22543         (gst_queue_loop), (gst_queue_handle_src_query):
22544         Pause task faster.
22545
22546 2005-10-19  Wim Taymans  <wim@fluendo.com>
22547
22548         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22549         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22550         Fix query handling again.
22551
22552 2005-10-19  Wim Taymans  <wim@fluendo.com>
22553
22554         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22555         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22556         * gst/base/gstbasesrc.c: (gst_base_src_query):
22557         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22558         * gst/elements/gsttypefindelement.c:
22559         (gst_type_find_handle_src_query), (find_element_get_length),
22560         (gst_type_find_element_activate):
22561         API change fix.
22562
22563         * gst/gstquery.c: (gst_query_new_position),
22564         (gst_query_set_position), (gst_query_parse_position),
22565         (gst_query_new_duration), (gst_query_set_duration),
22566         (gst_query_parse_duration), (gst_query_set_segment),
22567         (gst_query_parse_segment):
22568         * gst/gstquery.h:
22569         Bundling query position/duration is not a good idea since duration
22570         does not change much and we don't want to recalculate it for every
22571         position query, so they are separated again..
22572         Base value in segment query is not needed.
22573
22574         * gst/gstqueue.c: (gst_queue_handle_src_query):
22575         * gst/gstutils.c: (gst_element_query_position),
22576         (gst_element_query_duration), (gst_pad_query_position),
22577         (gst_pad_query_duration):
22578         * gst/gstutils.h:
22579         Updates for query API change.
22580         Added some docs here and there.
22581
22582 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22583
22584         * check/gst/gstbin.c: (GST_START_TEST):
22585         * check/gst/gstghostpad.c: (GST_START_TEST):
22586         * check/pipelines/cleanup.c: (GST_START_TEST):
22587           wait on thread to die so we can check refcount correctly
22588
22589 2005-10-18  Wim Taymans  <wim@fluendo.com>
22590
22591         * check/pipelines/stress.c: (GST_START_TEST):
22592         Make check a little more time consuming.
22593
22594 2005-10-18  Wim Taymans  <wim@fluendo.com>
22595
22596         * check/Makefile.am:
22597         * check/pipelines/stress.c: (GST_START_TEST),
22598         (simple_launch_lines_suite), (main):
22599         Small state change torture test.
22600
22601         * docs/design/part-states.txt:
22602         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22603         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22604         (gst_base_sink_change_state):
22605         Never take state lock from streaming thread, clean up ugly
22606         hacks. Unfortunatly core does not yet support nice ways to
22607         async commit state.
22608         
22609         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22610         (bin_bus_handler):
22611         Start state recalc if a STATE_DIRTY message is posted, but only
22612         on the toplevel bin.
22613
22614         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22615         (gst_element_get_state_func), (gst_element_abort_state),
22616         (gst_element_commit_state), (gst_element_lost_state),
22617         (gst_element_set_state_func), (gst_element_change_state):
22618         * gst/gstelement.h:
22619         State variables are now protected with the LOCK, the state
22620         lock is only used to serialize _set_state().
22621
22622 2005-10-18  Wim Taymans  <wim@fluendo.com>
22623
22624         * check/gst/gstbin.c: (GST_START_TEST):
22625         * check/gst/gstmessage.c: (GST_START_TEST):
22626         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22627         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22628         (bin_bus_handler):
22629         * gst/gstelement.c: (gst_element_abort_state),
22630         (gst_element_commit_state), (gst_element_lost_state):
22631         * gst/gstmessage.c: (gst_message_new_state_changed),
22632         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22633         (gst_message_new_segment_done), (gst_message_new_duration),
22634         (gst_message_parse_state_changed),
22635         (gst_message_parse_segment_start),
22636         (gst_message_parse_segment_done), (gst_message_parse_duration):
22637         * gst/gstmessage.h:
22638         * tools/gst-launch.c: (event_loop):
22639         Seriously, this is better than a previous commit as we only need
22640         to notify the fact that an element changed state in a streaming
22641         thread, marking the state of the parents dirty, hence the 
22642         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22643         message.
22644
22645 2005-10-18  Wim Taymans  <wim@fluendo.com>
22646
22647         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22648         (gst_bin_recalc_func):
22649         * gst/gstelement.c: (gst_element_set_clock),
22650         (gst_element_abort_state), (gst_element_lost_state):
22651         Cleanups, prepare for state change fixes.
22652
22653 2005-10-18  Wim Taymans  <wim@fluendo.com>
22654
22655         * gst/gstbin.h:
22656         * gst/gstelement.c: (gst_element_class_init),
22657         (gst_element_set_state), (gst_element_set_state_func):
22658         * gst/gstelement.h:
22659         Pending ABI changes.
22660         GThreadPool in GstBinClass to monitor async state changes.
22661         state_cookie in GstElement to detect concurrent gst/set state.
22662         set_state is now virtual too in case a very complicated element
22663         has to be constructed.
22664
22665 2005-10-18  Wim Taymans  <wim@fluendo.com>
22666
22667         * check/gst/gstbin.c: (GST_START_TEST):
22668         * check/gst/gstmessage.c: (GST_START_TEST):
22669         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22670         * gst/gstbin.c: (bin_bus_handler):
22671         * gst/gstelement.c: (gst_element_commit_state),
22672         (gst_element_lost_state):
22673         * gst/gstmessage.c: (gst_message_new_state_changed),
22674         (gst_message_new_segment_start), (gst_message_new_segment_done),
22675         (gst_message_new_duration), (gst_message_parse_state_changed),
22676         (gst_message_parse_segment_start),
22677         (gst_message_parse_segment_done), (gst_message_parse_duration):
22678         * gst/gstmessage.h:
22679         * tools/gst-launch.c: (event_loop):
22680         Make messages future proof.
22681         state-change gets a flag if it was a message comming from the
22682         streaming thread.
22683         segment-start/stop can also be specified in other formats.
22684         A message to notify an app that a pipeline changed playback 
22685         duration.
22686         Also fix a GstMessage leak in -launch
22687
22688 2005-10-18  Andy Wingo  <wingo@pobox.com>
22689
22690         * gst/gstelement.c (gst_element_dispose): More helpful message.
22691
22692 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22693
22694         reviewed by: <delete if not using a buddy>
22695
22696         * common/gtk-doc.mak:
22697
22698 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22699
22700         * gst/gstregistry.c: (gst_registry_scan_path_level):
22701           unref a plug-in we get that was already initialized
22702
22703 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22704
22705         * docs/gst/gstreamer-sections.txt:
22706         * docs/libs/gstreamer-libs-sections.txt:
22707         * gst/gstelement.h:
22708           add new api entries
22709           hide internal macro
22710
22711 2005-10-17  Andy Wingo  <wingo@pobox.com>
22712
22713         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22714         cleanup.
22715
22716         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22717
22718         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22719
22720         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22721         (gst_element_get_state_func): Better debug message.
22722         (gst_element_commit_state): s/INFO/DEBUG/.
22723         (gst_element_lost_state, gst_element_change_state): 
22724
22725         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22726         (gst_message_new_custom): s/INFO/LOG/.
22727
22728 2005-10-17  Michael Smith <msmith@fluendo.com>
22729
22730         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22731           Check if end time is valid using end time, not start time.
22732
22733 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22734
22735         * check/gst-libs/controller.c: (GST_START_TEST),
22736         (gst_controller_suite):
22737         * libs/gst/controller/gstcontroller.c:
22738         (gst_controlled_property_set_interpolation_mode):
22739         * libs/gst/controller/gstcontroller.h:
22740         * libs/gst/controller/gstinterpolation.c:
22741         * testsuite/controller/.cvsignore:
22742         * testsuite/controller/Makefile.am:
22743         * testsuite/controller/interpolator.c:
22744           merge controller testsuites
22745           fix broken tests
22746           remove mem-chunk from docs
22747
22748 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22749
22750         * gst/gstmemchunk.c:
22751         * gst/gstmemchunk.h:
22752         * gst/gsttrashstack.c:
22753         * gst/gsttrashstack.h:
22754           out.  get out.  you're fired.  to the Attic !
22755
22756 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22757
22758         * gst/gstcaps.c: (gst_caps_intersect):
22759           fix signedness issues in a (hopefully) correct way
22760         * gst/gstelement.c: (gst_element_pads_activate):
22761           some debugging
22762         * gst/gstobject.c: (gst_object_set_parent):
22763           some debugging
22764
22765 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22766
22767         * gst/gstvalue.h: Fix prototypes.
22768
22769 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22770
22771         * docs/gst/gstreamer-sections.txt:
22772         * gst/gst.c: (gst_version_string):
22773         * gst/gst.h:
22774         * gst/gstversion.h.in:
22775         * win32/common/libgstreamer.def:
22776           add gst_version_string ()
22777
22778 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22779
22780         * configure.ac:
22781           clean up further
22782         * gst/gst.c: (init_post):
22783         * win32/common/config.h.in:
22784           it's PLUGINDIR now
22785         * gst/gstcaps.c: (gst_caps_intersect):
22786           use gint64, the range could be bigger than a guint
22787
22788 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22789
22790         * gst/gstclock.h:
22791           document potential problem in 2038
22792
22793 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22794
22795         * gst/gstcaps.c: (gst_caps_intersect):
22796           Fix guint j diving under 0
22797
22798 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22799
22800         * configure.ac:
22801         * win32/common/config.h:
22802         * win32/common/config.h.in:
22803           check for process.h, declares getpid() on Windows
22804         * gst/gstinfo.c:
22805           include process.h if we have it
22806         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22807         * gst/gstmemchunk.h:
22808           fix signedness issues
22809         * win32/common/libgstreamer.def:
22810           fix get_type's
22811
22812 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22813
22814         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22815         fix. Because of unsigned ints, caps intersection was going nuts and
22816         trying to access structures with G_MAXUINT index. That fixes
22817         videotestsrc ! ffmpegcolorspace ! fakesink
22818         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22819         consistency.
22820
22821 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22822
22823         * configure.ac:
22824           use the gettext macro
22825         * gst/elements/gstelements.c:
22826         * gst/gst.c:
22827         * gst/indexers/gstindexers.c:
22828           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22829         * win32/common/config.h:
22830           updated config.h
22831         * win32/common/config.h.in:
22832           add the template to generate config.h
22833         * win32/common/gstenumtypes.c:
22834         * win32/common/gstversion.h:
22835           updated copies
22836
22837 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22838
22839         * gst/gst.c: (gst_version):
22840         * gst/gstversion.h.in:
22841           add the nano
22842
22843 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22844
22845         * gst/gstevent.h:
22846           Oops, add missing closing bracket.
22847
22848 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22849
22850         * configure.ac:
22851           use common m4's for argument checking
22852
22853 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22854
22855         * docs/gst/gstreamer-sections.txt:
22856         * gst/gstevent.h:
22857           Add GST_EVENT_TYPE_NAME() macro.
22858
22859 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22860
22861         * gst/gstinfo.c:
22862         * gst/gstpluginfeature.c:
22863         * gst/gsttask.c:
22864           privatize more symbols
22865
22866 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22867
22868         * configure.ac:
22869           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22870           everything that uses GStreamer API should have the includes
22871
22872 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22873
22874         * docs/gst/gstreamer-sections.txt:
22875         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22876         * gst/gstvalue.h:
22877           give each value a _get_type, removes the DATA exports
22878
22879 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22880
22881         * gst/gst.c:
22882         * gst/gst.h:
22883           remove _gst_registry_auto_load, not used anymore
22884         * gst/gstbin.c: (gst_bin_get_type):
22885         * gst/gstbin.h:
22886         * gst/gstelement.c: (gst_element_get_type):
22887         * gst/gstelement.h:
22888         * gst/gstobject.c: (gst_object_get_type):
22889         * gst/gstobject.h:
22890         * gst/gstpad.c: (gst_pad_get_type):
22891         * gst/gstpad.h:
22892           make _get_type functions similar, fixes data export from library
22893
22894 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22895
22896         * configure.ac:
22897           correctly make conditionals
22898         * gst/elements/Makefile.am:
22899         * gst/elements/gstelements.c:
22900           fix typo causing fdsrc not to build
22901
22902 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22903
22904         * testsuite/Makefile.am:
22905         * testsuite/bytestream/.cvsignore:
22906         * testsuite/bytestream/Makefile.am:
22907         * testsuite/bytestream/filepadsink.c:
22908         * testsuite/bytestream/gstbstest.c:
22909         * testsuite/bytestream/test1.c:
22910         * testsuite/bytestream/testfile1:
22911         * testsuite/caps/normalisation.c:
22912         * testsuite/caps/random.c: (main):
22913         * testsuite/cleanup/.cvsignore:
22914         * testsuite/cleanup/Makefile.am:
22915         * testsuite/cleanup/cleanup1.c:
22916         * testsuite/cleanup/cleanup2.c:
22917         * testsuite/cleanup/cleanup3.c:
22918         * testsuite/cleanup/cleanup4.c:
22919         * testsuite/cleanup/cleanup5.c:
22920         * testsuite/controller/interpolator.c:
22921         * testsuite/debug/printf_extension.c: (main):
22922         * testsuite/elements/tee.c:
22923         * testsuite/negotiation/.cvsignore:
22924         * testsuite/negotiation/Makefile.am:
22925         * testsuite/negotiation/pad_link.c:
22926         * testsuite/pad/Makefile.am:
22927         * testsuite/pad/chainnopull.c:
22928         * testsuite/pad/getnopush.c:
22929         * testsuite/pad/link.c:
22930         * testsuite/refcounting/sched.c: (create_pipeline):
22931         * testsuite/registry/Makefile.am:
22932         * testsuite/registry/gst-print-formats.c:
22933         * testsuite/schedulers/.cvsignore:
22934         * testsuite/schedulers/142183-2.c:
22935         * testsuite/schedulers/142183.c:
22936         * testsuite/schedulers/143777-2.c:
22937         * testsuite/schedulers/143777.c:
22938         * testsuite/schedulers/147713.c:
22939         * testsuite/schedulers/147819.c:
22940         * testsuite/schedulers/147894-2.c:
22941         * testsuite/schedulers/147894.c:
22942         * testsuite/schedulers/Makefile.am:
22943         * testsuite/schedulers/group_link.c:
22944         * testsuite/schedulers/queue_link.c:
22945         * testsuite/schedulers/relink.c:
22946         * testsuite/schedulers/unlink.c:
22947         * testsuite/schedulers/unref.c:
22948         * testsuite/schedulers/useless_iteration.c:
22949         * testsuite/states/bin.c:
22950           clean out/remove some stuff from the testsuite directories
22951
22952 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22953
22954         * configure.ac:
22955           check for some headers
22956         * gst/elements/Makefile.am:
22957         * gst/elements/gstelements.c:
22958           don't compile fdsrc without sys/socket.h
22959         * gst/indexers/Makefile.am:
22960         * gst/indexers/gstindexers.c: (plugin_init):
22961           don't compile fileindex without mmap
22962
22963 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22964
22965         * configure.ac:
22966           reorganize
22967           clean up
22968           document more
22969           remove cruft
22970         * check/Makefile.am:
22971         * docs/gst/Makefile.am:
22972         * examples/helloworld/Makefile.am:
22973         * gst/Makefile.am:
22974         * gst/base/Makefile.am:
22975         * gst/check/Makefile.am:
22976         * gst/elements/Makefile.am:
22977         * gst/indexers/Makefile.am:
22978         * gst/parse/Makefile.am:
22979         * libs/gst/controller/Makefile.am:
22980         * libs/gst/dataprotocol/Makefile.am:
22981         * examples/helloworld/helloworld.c: (event_loop):
22982           compile fixes, though it's not being compiled currently
22983
22984 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22985
22986         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22987           Add some simple tests for the new taglist date API.
22988
22989 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22990
22991         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22992         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22993           Beautify 'last-message' output: print 'none' for buffer timestamps
22994           and durations if none is set; improve alignment with next messages.
22995
22996 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22997
22998         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22999         * gst/gstpluginfeature.h:
23000         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
23001         * gst/gstregistry.h:
23002         * docs/gst/gstreamer-sections.txt:
23003           Add new API to check plugin feature version requirements.
23004
23005         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
23006           Some basic tests for the above.         
23007
23008 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23009
23010         * gst/gststructure.c: (gst_structure_to_string):
23011           guard against NULL printf - happens when for example
23012           a message structure with GstClock gets serialized
23013
23014 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23015
23016         * gst/base/gstcollectpads.c: (gst_collectpads_event):
23017           Fix presumable copy'n'pasto.
23018
23019 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23020
23021         * gst/elements/gstfakesrc.h:
23022         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
23023         * gst/elements/gsttypefindelement.c:
23024           fix some signedness
23025         * gst/elements/gstfilesink.c: (gst_file_sink_render):
23026           I wonder if this could actually write +2GB files before
23027
23028 2005-10-13  Andy Wingo  <wingo@pobox.com>
23029
23030         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
23031         Fix Timmeke Waymans bug.
23032         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
23033         string of the proper length to gst_caps_from_string. There's a
23034         potential for, before this fix, that this could cause someone
23035         connecting over the network to cause a segfault if the payload is
23036         not NUL-terminated.
23037
23038 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23039
23040         * docs/design/draft-push-pull.txt:
23041         * docs/design/part-overview.txt:
23042         * docs/random/TODO-pre-0.9:
23043         * docs/random/old/ChangeLog.gstreamer:
23044         * gst/base/gstpushsrc.c:
23045         * gst/gstclock.c:
23046           fixed typos
23047
23048 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23049
23050         * gst/glib-compat.c: (gst_flags_get_first_value):
23051         * gst/glib-compat.h:
23052         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
23053         (gst_value_compare_double), (gst_value_serialize_flags):
23054           GLib 2.6 g_flags_get_first_value has a bug that triggers an
23055           infinite loop
23056
23057 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23058
23059         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23060         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23061           fix up debugging
23062         * tools/gst-launch.c: (event_loop):
23063           print out clock nicely
23064
23065 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23066
23067         * docs/gst/gstreamer-sections.txt:
23068         * gst/gsttaglist.h:
23069         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23070         (gst_tag_list_get_date_index):
23071           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23072           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23073
23074 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23075
23076         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23077         (gst_collectpads_chain):
23078         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23079         in CollectData.
23080
23081 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23082
23083         * docs/gst/gstreamer-sections.txt:
23084         * gst/gst.c:
23085         * gst/gsterror.h:
23086         * tools/gst-inspect.c: (main):
23087         * tools/gst-launch.c: (main):
23088         * tools/gst-run.c: (main):
23089         * tools/gst-xmlinspect.c: (main):
23090           fix GOption context leaks
23091           doc fixes
23092
23093 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23094
23095         * gst/gstbus.c:
23096           use HAVE_UNISTD_H
23097         * win32/common/config.h:
23098           update config
23099         * win32/vs6/grammar.dsp:
23100         * win32/vs6/libgstelements.dsp:
23101         * win32/vs6/libgstreamer.dsp:
23102           update vs6 files
23103
23104 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23105
23106         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23107         * gst/base/gstbasesrc.c: (gst_base_src_query):
23108           fix more guint64<->gdouble conversions
23109
23110 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23111
23112         * Makefile.am:
23113           add win32-update target
23114         * win32/common/gstconfig.h:
23115         * win32/common/gstenumtypes.c:
23116         * win32/common/gstenumtypes.h:
23117         * win32/common/gstversion.h:
23118           add files that visual studio can't generate
23119
23120 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23121
23122         * Makefile.am:
23123           add a win32-update target
23124         * configure.ac:
23125
23126 2005-10-12  Wim Taymans  <wim@fluendo.com>
23127
23128         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23129         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23130         * gst/gstelement.c: (gst_element_commit_state),
23131         (gst_element_set_state):
23132         Protect flags with proper lock.
23133         unref provided cached clock in dispose.
23134
23135 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23136
23137         * gst/gst.c:
23138         * gst/gstminiobject.h:
23139         * gst/gstpad.h:
23140         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23141           removed unused flags from miniobject
23142           doc fixes
23143
23144 2005-10-12  Wim Taymans  <wim@fluendo.com>
23145
23146         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23147         (gst_file_sink_event), (gst_file_sink_render):
23148         Flush before seeking.
23149
23150 2005-10-12  Andy Wingo  <wingo@pobox.com>
23151
23152         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23153         always been the case.
23154
23155 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23156
23157         * check/gst/gstbin.c: (GST_START_TEST):
23158         * docs/gst/gstreamer-sections.txt:
23159         * gst/base/gstbasesink.c: (gst_base_sink_init):
23160         * gst/base/gstbasesrc.c: (gst_base_src_init),
23161         (gst_base_src_get_range), (gst_base_src_check_get_range),
23162         (gst_base_src_start), (gst_base_src_stop):
23163         * gst/base/gstbasesrc.h:
23164         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23165         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23166         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23167         (bin_bus_handler):
23168         * gst/gstbin.h:
23169         * gst/gstbuffer.h:
23170         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23171         * gst/gstbus.h:
23172         * gst/gstelement.c: (gst_element_is_locked_state),
23173         (gst_element_set_locked_state), (gst_element_commit_state),
23174         (gst_element_set_state):
23175         * gst/gstelement.h:
23176         * gst/gstindex.c: (gst_index_init):
23177         * gst/gstindex.h:
23178         * gst/gstminiobject.h:
23179         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23180         (gst_object_set_parent):
23181         * gst/gstobject.h:
23182         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23183         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23184         * gst/gstpad.h:
23185         * gst/gstpadtemplate.h:
23186         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23187         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23188         * gst/gstpipeline.h:
23189         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23190         (gst_file_index_commit):
23191         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23192         * testsuite/pad/link.c: (gst_test_src_init),
23193         (gst_test_filter_init), (gst_test_sink_init):
23194         * testsuite/states/locked.c: (main):
23195           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23196           moved bitshift from macro to enum definition
23197
23198 2005-10-12  Wim Taymans  <wim@fluendo.com>
23199
23200         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23201         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23202         (gst_file_sink_render):
23203         Some more debugging info.
23204
23205 2005-10-12  Wim Taymans  <wim@fluendo.com>
23206
23207         * docs/design/part-states.txt:
23208         * tools/gst-launch.c: (main):
23209         Some doc updates.
23210         Revert non-intentional change.
23211
23212 2005-10-12  Wim Taymans  <wim@fluendo.com>
23213
23214         * check/gst/gstbin.c: (GST_START_TEST):
23215         * check/gst/gstelement.c: (GST_START_TEST):
23216         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23217         * check/gst/gstghostpad.c: (GST_START_TEST):
23218         * check/gst/gstpipeline.c: (GST_START_TEST):
23219         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23220         * check/states/sinks.c: (GST_START_TEST):
23221         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23222         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23223         (gst_bin_remove_func), (gst_bin_get_state_func),
23224         (gst_bin_recalc_state), (gst_bin_change_state_func),
23225         (bin_bus_handler):
23226         * gst/gstelement.c: (gst_element_get_state_func),
23227         (gst_element_get_state), (gst_element_abort_state),
23228         (gst_element_commit_state), (gst_element_set_state),
23229         (gst_element_change_state), (gst_element_change_state_func):
23230         * gst/gstelement.h:
23231         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23232         (gst_pipeline_provide_clock_func):
23233         * gst/gstutils.c: (gst_element_link_pads_filtered):
23234         * tools/gst-launch.c: (main):
23235         * tools/gst-typefind.c: (main):
23236         Use GstClockTime in _get_state() instead of GTimeVal.
23237         Remove old code in gstutils.c
23238
23239 2005-10-12  Andy Wingo  <wingo@pobox.com>
23240
23241         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23242         removed.
23243
23244         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23245         there is no task. Shouldn't affect any code, as nothing in our
23246         plugins checks this return value.
23247         (gst_pad_stop_task): Also take the stream lock if the pad has no
23248         task. Docs updated.
23249
23250 2005-10-12  Wim Taymans  <wim@fluendo.com>
23251
23252         * gst/gstpad.c: (pre_activate), (post_activate),
23253         (gst_pad_activate_pull), (gst_pad_activate_push):
23254         Cleanup activation code. Reset old state if
23255         activation failed.
23256
23257 2005-10-12  Wim Taymans  <wim@fluendo.com>
23258
23259         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23260         (gst_base_sink_change_state):
23261         No need to prerol after receiving EOS.
23262
23263         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23264         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23265         * gst/elements/gstidentity.c: (gst_identity_event):
23266         Print events more verbosely.
23267
23268 2005-10-12  Wim Taymans  <wim@fluendo.com>
23269
23270         * check/Makefile.am:
23271         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23272         * check/states/sinks2.c:
23273         Moved sinks2 testcode in sinks check.
23274
23275         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23276         (gst_bin_remove_func), (gst_bin_recalc_state),
23277         (gst_bin_change_state_func), (bin_bus_handler):
23278         Fix potential race condition when _get_state() iterated over an
23279         ASYNC element right before it posted a state completion.
23280
23281         * gst/gstclock.h:
23282         Do proper cast here.
23283
23284         * gst/gstevent.c: (gst_event_new_newsegment),
23285         (gst_event_parse_newsegment):
23286         A playback rate of 0.0 is not allowed.
23287
23288 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23289
23290         * win32/common/config.h:
23291         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23292         (_trewinddir), (_ttelldir), (_tseekdir):
23293         * win32/common/dirent.h:
23294         * win32/common/gtchar.h:
23295         * win32/common/libgstbase.def:
23296         * win32/common/libgstreamer.def:
23297         * win32/vs6/grammar.dsp:
23298         * win32/vs6/gst_inspect.dsp:
23299         * win32/vs6/gst_launch.dsp:
23300         * win32/vs6/gstreamer.dsw:
23301         * win32/vs6/libgstbase.dsp:
23302         * win32/vs6/libgstelements.dsp:
23303         * win32/vs6/libgstreamer.dsp:
23304           Visual Studio 6 project files, and a new common directory.
23305           Phear.
23306
23307 2005-10-11  Wim Taymans  <wim@fluendo.com>
23308
23309         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23310         (gst_base_sink_do_sync), (gst_base_sink_query),
23311         (gst_base_sink_change_state):
23312         * gst/base/gstbasesink.h:
23313         Correctly parse newsegment info.
23314
23315 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23316
23317         * gst/gst.c: (init_post):
23318           split plugin paths correctly
23319
23320 2005-10-11  Wim Taymans  <wim@fluendo.com>
23321
23322         * check/gst/gstevent.c: (GST_START_TEST):
23323         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23324         (gst_base_sink_change_state):
23325         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23326         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23327         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23328         * gst/gstevent.c: (gst_event_new_newsegment),
23329         (gst_event_parse_newsegment):
23330         * gst/gstevent.h:
23331         Added extra flag to newsegment for future API freeze.
23332         Updated check and base elements.
23333
23334 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23335
23336         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23337         (gst_collectpads_add_pad), (gst_collectpads_pop),
23338         (gst_collectpads_event), (gst_collectpads_chain):
23339         * gst/base/gstcollectpads.h: Handle EOS correctly.
23340
23341 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23342
23343         * tools/gst-launch.c: (main):
23344           more null protecting
23345
23346 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23347
23348         * gst/gst-i18n-lib.h:
23349           check for ENABLE_NLS, not GETTEXT_PACKAGE
23350         * gst/gstregistry.c: (gst_registry_add_plugin),
23351         (gst_registry_scan_path_level),
23352         (_gst_registry_remove_cache_plugins):
23353           protect possibly NULL strings
23354         * gst/parse/types.h:
23355           config.h already included before
23356         * tools/gst-inspect.c: (main):
23357           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23358           check for ENABLE_NLS, not GETTEXT_PACKAGE
23359         * tools/gst-launch.c: (main):
23360           check for ENABLE_NLS, not GETTEXT_PACKAGE
23361
23362 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23363
23364         * configure.ac:
23365           if we don't have glib, fail before testing 2.8
23366         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23367           fix a leak, should fix plugins-base testsuite
23368
23369 2005-10-11  Andy Wingo  <wingo@pobox.com>
23370
23371         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23372         take the mode we're going to as an arg. Go head and set the mode
23373         and flushing flags now, so that if the activate function starts a
23374         thread all the flags will be in the right state.
23375         (post_activate): Renamed also. Just handle making sure streaming
23376         finishes for the deactivation case, and setting the deactivated
23377         mode.
23378         (gst_pad_set_active): Complain loudly if deactivation fails.
23379         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23380         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23381         remove the terrible hack.
23382
23383 2005-10-11  Wim Taymans  <wim@fluendo.com>
23384
23385         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23386         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23387         (gst_bin_recalc_state), (gst_bin_change_state_func),
23388         (gst_bin_dispose), (bin_bus_handler):
23389         * gst/gstbin.h:
23390         Prepare to make current EOS message queue more generic.
23391         Fix some typos.
23392
23393         * gst/gstevent.c: (gst_event_new_newsegment),
23394         (gst_event_parse_newsegment):
23395         * gst/gstevent.h:
23396         Rename base to stream_time.
23397
23398         * gst/gstmessage.h:
23399         Fix typo in docs.
23400
23401 2005-10-11  Wim Taymans  <wim@fluendo.com>
23402
23403         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23404         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23405         (gst_bin_change_state_func), (bin_bus_handler):
23406         * gst/gstbin.h:
23407         Work on proper clock selection.
23408
23409 2005-10-11  Edward Hervey  <edward@fluendo.com>
23410
23411         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23412         * libs/gst/controller/gstcontroller.h:
23413         Added GList* version of _remove_properties() in order to be able to wrap
23414         it in bindings.
23415
23416 2005-10-11  Wim Taymans  <wim@fluendo.com>
23417
23418         * docs/design/part-states.txt:
23419         Some more docs.
23420
23421         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23422         (gst_bin_change_state_func), (bin_bus_handler):
23423         Doc updates. Don't distribute the same clock over and over again.
23424
23425         * gst/gstclock.c:
23426         * gst/gstclock.h:
23427         Doc updates.
23428
23429         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23430         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23431         (gst_pad_send_event):
23432         * gst/gstpad.h:
23433         Make probe emission threadsafe again.
23434         Register quarks and move _get_name() from utils.
23435         Doc updates.
23436
23437         * gst/gstpipeline.c: (gst_pipeline_class_init),
23438         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23439         Only redistribute the clock of it changed.
23440
23441         * gst/gstsystemclock.h:
23442         Doc updates. 
23443
23444         * gst/gstutils.c:
23445         * gst/gstutils.h:
23446         Moved the _flow_get_name() to GstPad.
23447
23448 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23449
23450         * check/gst-libs/gdp.c: (GST_START_TEST):
23451         * check/gst/gstcaps.c: (GST_START_TEST):
23452         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23453         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23454         (gst_dp_packet_from_caps):
23455           fix more valgrind warnings before turning up the heat
23456
23457 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23458
23459         * gst/parse/grammar.y:
23460           some cleanup before the hacking
23461
23462 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23463
23464         * gst/base/gstbasesrc.c: (gst_base_src_query):
23465           use conversions
23466         * gst/gstutils.c: (gst_guint64_to_gdouble),
23467         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23468         * gst/gstutils.h:
23469           externalize, basesrc uses it
23470           obviously the implementation needs testing
23471
23472 2005-10-10  Wim Taymans  <wim@fluendo.com>
23473
23474         * tests/sched/Makefile.am:
23475         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23476         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23477
23478 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23479
23480         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23481           apparently converting from guint64 to double is not implemented
23482           on MSVC
23483
23484 2005-10-10  Wim Taymans  <wim@fluendo.com>
23485
23486         * check/Makefile.am:
23487         * check/generic/states.c: (GST_START_TEST):
23488         * check/gst/gstbin.c: (GST_START_TEST):
23489         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23490         * check/states/sinks.c: (GST_START_TEST):
23491         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23492         (main):
23493         Check fixes, use API as stated in design docs, remove hacks.
23494
23495         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23496         (gst_base_sink_change_state):
23497         Catch stopping our task while we're shutting down.
23498
23499         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23500         (gst_bin_remove_func), (gst_bin_get_state_func),
23501         (gst_bin_recalc_state), (gst_bin_change_state_func),
23502         (bin_bus_handler):
23503         * gst/gstbin.h:
23504         * gst/gstelement.c: (gst_element_init),
23505         (gst_element_get_state_func), (gst_element_abort_state),
23506         (gst_element_commit_state), (gst_element_lost_state),
23507         (gst_element_set_state), (gst_element_change_state),
23508         (gst_element_change_state_func):
23509         * gst/gstelement.h:
23510         New state change algorithm (see #318116)
23511
23512         * gst/gstpipeline.c: (gst_pipeline_class_init),
23513         (gst_pipeline_init), (gst_pipeline_set_property),
23514         (gst_pipeline_get_property), (do_pipeline_seek),
23515         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23516         * gst/gstpipeline.h:
23517         Remove crude state change hacks.
23518
23519         * gst/gstutils.h:
23520         Remove crude hacks.
23521
23522         * tools/gst-launch.c: (main):
23523         Fixes for state change. Needs some more work to fully use the
23524         new stuff.
23525
23526 2005-10-10  Andy Wingo  <wingo@pobox.com>
23527
23528         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23529
23530         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23531         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23532         issue.
23533
23534 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23535
23536         * gst/gstiterator.c: (gst_iterator_new):
23537           Fix my previous commit: GTypes passed to gst_iterator_new()
23538           can be fundamental types.
23539
23540 2005-10-10  Wim Taymans  <wim@fluendo.com>
23541
23542         * gst/gstelement.c: (gst_element_iterate_pad_list),
23543         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23544         (gst_element_iterate_sink_pads):
23545         Use src/sink pads lists for the respective iterators instead
23546         of filtering.
23547
23548 2005-10-10  Andy Wingo  <wingo@pobox.com>
23549
23550         Merged in popt removal + GOption addition patch from Ronald, bug
23551         #169772.
23552
23553         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23554         GstElement macros around, remove popt-related symbols, add goption
23555         stuff.
23556
23557         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23558         
23559         * docs/gst/Makefile.am:
23560         * docs/libs/Makefile.am: No POPT_CFLAGS.
23561         
23562         * examples/manual/Makefile.am:
23563         * docs/manual/basics-init.xml: Doc updates with an example.
23564         
23565         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23566         (gst_init), (parse_one_option), (parse_goption_arg):
23567         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23568         bit of hand merging and debugging to get the GOption stuff working
23569         tho.
23570         
23571         * tests/Makefile.am:
23572         * tools/Makefile.am:
23573         * tools/gst-inspect.c: (main):
23574         * tools/gst-launch.c: (main):
23575         * tools/gst-run.c: (main):
23576         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23577
23578 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23579
23580         * gst/gstiterator.c: (gst_iterator_new):
23581           Add assertions to make sure passed GType is likely to really
23582           be a GType (as the compiler won't catch it if the size and
23583           GType arguments get mixed up, see #318447).
23584
23585 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23586
23587         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23588
23589         * gst/gstbin.c: (gst_bin_iterate_sorted):
23590           Pass GType and size arguments to gst_iterator_new() in the right
23591           order (maybe we should make _new() take the GType as first argument
23592           just like _new_list()?) (#318447).
23593           
23594
23595 2005-10-10  Wim Taymans  <wim@fluendo.com>
23596
23597         * gst/gstelement.c: (gst_element_finalize):
23598         And free the GStaticRecMutex too
23599
23600 2005-10-10  Andy Wingo  <wingo@pobox.com>
23601
23602         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23603         Allocate and free the mutex properly.
23604
23605         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23606         New macros.
23607         (GstElement): The state_lock is now recursive. Rebuild your
23608         plugins, suckers. Old macros adapted.
23609
23610         * docs/gst/gstreamer-sections.txt: Doc updates.
23611
23612         * gst/gstutils.h:
23613         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23614         (g_static_rec_cond_wait): Ported from state changes patch, while
23615         we wait on bug #317802 to be solved in a well-distributed GLib.
23616
23617         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23618         gst_element_change_state, variable name changes.
23619         (gst_element_change_state): Split out of gst_element_set_state in
23620         preparation for the state change merge. Doesn't pay attention to
23621         the 'transition' argument.
23622         (gst_element_set_state): Updates, hopefully purely cosmetic.
23623         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23624         state change patch.
23625         (gst_element_get_state_func): Renamed from get_state, cosmetic
23626         changes.
23627
23628 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23629
23630         * gst/elements/gstelements.c:
23631         * win32/GStreamer.vcproj:
23632         * win32/config.h:
23633         * win32/dirent.c: (_tseekdir):
23634         * win32/gst-inspect.vcproj:
23635         * win32/gst-launch.vcproj:
23636         * win32/gstconfig.h:
23637         * win32/gstelements.vcproj:
23638         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23639         * win32/gstreamer.def:
23640         * win32/msvc71.sln:
23641           updates for the win32 build (patch from Sebastien Moutte)
23642
23643 2005-10-10  Andy Wingo  <wingo@pobox.com>
23644
23645         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23646         gst_bin_get_state, cleaned up (but no logic changes).
23647         (bin_element_is_sink): Comment updates.
23648         (sink_iterator_filter): Remove needless cast.
23649         (gst_bin_iterate_sinks): Doc update.
23650         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23651         cleaned up (but no logic changes).
23652
23653         * check/states/sinks.c (test_src_sink): Cleanups from the state
23654         change patch.
23655         (test_livesrc_sink): Sync on the state.
23656
23657         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23658         the state change patch.
23659
23660         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23661         change patch.
23662
23663         * check/gst/gstbin.c: Merge in some style fixes and additional
23664         checks from Wim's state change patch.
23665
23666 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23667
23668         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23669         (gst_type_find_helper):
23670           Check whether we have the requested data already in our list of
23671           cached buffers before pulling a new buffer; also make the buffer
23672           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23673
23674 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23675
23676         * gst/gstcaps.c:
23677         * gst/gstevent.c:
23678           doc updates
23679         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23680           don't use long long, it's not portable.  Replacing with
23681           gint64 seems to work; let's hope no skeletons fall out of the closet.
23682
23683 2005-10-10  Andy Wingo  <wingo@pobox.com>
23684
23685         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23686
23687 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23688
23689         * docs/gst/gstreamer-sections.txt:
23690         * gst/gstevent.c:
23691         * gst/gstevent.h:
23692         * gst/gstinfo.c:
23693         * gst/gstinfo.h:
23694         * gst/gstmessage.c: (gst_message_parse_state_changed):
23695         * gst/gstpad.c:
23696         * gst/gstpad.h:
23697           more docs, fix compilation
23698
23699 2005-10-09  Philippe Khalaf <burger@speedy.org>
23700         * gst/gstmessage.c:
23701           Fixed a few forgotten variables on previous commit
23702
23703 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23704
23705         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23706           Fix evil typefind crasher: getrange() might return a short
23707           buffer at the end of a file, but gst_type_find_peek() must
23708           either return the full data as requested or NULL, but
23709           never a short buffer.
23710
23711 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23712
23713         * gst/gstmessage.c: (gst_message_new_state_changed),
23714         (gst_message_parse_state_changed):
23715         * gst/gstmessage.h:
23716           don't use "new", it's a C++ keyword
23717
23718 2005-10-08  Wim Taymans  <wim@fluendo.com>
23719
23720         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23721         * gst/gstelement.c: (gst_element_post_message):
23722         * gst/gstpipeline.c: (gst_pipeline_change_state):
23723         Small docs and debug updates.
23724
23725 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23726
23727         * docs/gst/gstreamer-sections.txt:
23728         * gst/gstelementfactory.c:
23729         * gst/gstevent.c:
23730         * gst/gsttaglist.c:
23731           more docs
23732
23733 2005-10-08  Wim Taymans  <wim@fluendo.com>
23734
23735         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23736         (gst_bin_dispose), (bin_bus_handler):
23737         Fix typos, add comments.
23738         Clear EOS list when going to PAUSED from any direction and do it
23739         in a threadsafe way.
23740         Get base time in a threadsafe way too.
23741         Fix confusing debug in the change_state function.
23742         Various other small cleanups.
23743         
23744         * gst/gstelement.c: (gst_element_post_message):
23745         Fix very verbose bus posting code.
23746
23747         * gst/gstpipeline.c: (gst_pipeline_class_init),
23748         (gst_pipeline_set_property), (gst_pipeline_get_property),
23749         (gst_pipeline_change_state):
23750         Small ARG_ -> PROP_ cleanup
23751
23752 2005-10-08  Wim Taymans  <wim@fluendo.com>
23753
23754         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23755         Do a less CPU demanding EOS check because we can.
23756
23757 2005-10-08  Wim Taymans  <wim@fluendo.com>
23758
23759         * libs/gst/dataprotocol/dataprotocol.c:
23760         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23761         (gst_dp_packet_from_event):
23762         * libs/gst/dataprotocol/dataprotocol.h:
23763         * libs/gst/dataprotocol/dp-private.h:
23764         It's about time we bump the version number.
23765         Since event types don't fit in the guint8 anymore describing
23766         the payload type, make payload type 16 bits wide.
23767
23768 2005-10-08  Wim Taymans  <wim@fluendo.com>
23769
23770         * docs/design/part-TODO.txt:
23771         * docs/design/part-clocks.txt:
23772         * docs/design/part-events.txt:
23773         * docs/design/part-gstbin.txt:
23774         * docs/design/part-gstelement.txt:
23775         * docs/design/part-gstpipeline.txt:
23776         * docs/design/part-live-source.txt:
23777         * docs/design/part-messages.txt:
23778         * docs/design/part-overview.txt:
23779         * docs/design/part-states.txt:
23780         Many doc updates.
23781
23782 2005-10-08  Wim Taymans  <wim@fluendo.com>
23783
23784         * gst/gstevent.c:
23785         * gst/gstevent.h:
23786         Fix event quark registration.
23787         Add some space between events so we can insert them in the
23788         right groups.
23789
23790 2005-10-08  Wim Taymans  <wim@fluendo.com>
23791
23792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23793         (gst_base_sink_handle_buffer):
23794         Better log message.
23795
23796         * gst/gstbus.h:
23797         * gst/gstelement.h:
23798         More docs.
23799
23800         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23801         (gst_queue_set_property), (gst_queue_get_property):
23802         * gst/gstqueue.h:
23803         Remove old unused properties.
23804
23805 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23806         * docs/gst/gstreamer-sections.txt:
23807         * gst/gstmessage.c:
23808         * gst/gstmessage.h:
23809         * gst/gstminiobject.c:
23810         * gst/gstminiobject.h:
23811         * gst/gstobject.h:
23812         * gst/gstpad.h:
23813         * gst/gstutils.h:
23814           lots of new docs and doc fixes
23815
23816 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23817
23818         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23819         * gst/gstplugin.h:
23820         * gst/gstregistry.c: (gst_registry_lookup_locked),
23821         (gst_registry_scan_path_level):
23822         * gst/gstregistryxml.c: (load_plugin):
23823           Only ever load one plugin for a given plugin basename.
23824           This ensures correct overriding of GST_PLUGIN_PATH over
23825           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23826           system installed plugins.
23827
23828 2005-10-08  Wim Taymans  <wim@fluendo.com>
23829
23830         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23831         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23832         Prepare for doing QOS.
23833
23834 2005-10-08  Wim Taymans  <wim@fluendo.com>
23835
23836         * check/gst/gstbin.c: (GST_START_TEST):
23837         * check/pipelines/cleanup.c: (GST_START_TEST):
23838         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23839         Allow new clock message too.
23840
23841 2005-10-08  Wim Taymans  <wim@fluendo.com>
23842
23843         * gst/gstmessage.c: (gst_message_new_error),
23844         (gst_message_new_warning), (gst_message_new_tag),
23845         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23846         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23847         (gst_message_new_segment_start), (gst_message_new_segment_done),
23848         (gst_message_parse_state_changed),
23849         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23850         (gst_message_parse_new_clock):
23851         * gst/gstmessage.h:
23852         Also carry the clock in question.
23853
23854 2005-10-08  Wim Taymans  <wim@fluendo.com>
23855
23856         * gst/gstmessage.c: (gst_message_new_custom),
23857         (gst_message_new_eos), (gst_message_new_error),
23858         (gst_message_new_warning), (gst_message_new_tag),
23859         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23860         (gst_message_new_new_clock), (gst_message_new_segment_start),
23861         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23862         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23863         * gst/gstmessage.h:
23864         Clean up.
23865         Added clock related messages.
23866
23867         * gst/gstpipeline.c: (gst_pipeline_change_state):
23868         Post message when the clock changed.
23869
23870         * tools/gst-launch.c: (event_loop):
23871         Print new clock.
23872
23873 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23874
23875         * tools/gst-inspect.c: (print_element_properties_info):
23876           Can't pass NULL strings to g_print() on windows.
23877
23878 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23879
23880         * docs/Makefile.am:
23881         * docs/gst/Makefile.am:
23882         * docs/gst/gstreamer-docs.sgml:
23883         * docs/gst/running.xml:
23884         * docs/version.entities.in:
23885           add a chapter on running GStreamer.
23886           document GST_DEBUG and GST_PLUGIN* env vars
23887
23888 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23889
23890         * Makefile.am:
23891           remove include dir
23892         * configure.ac:
23893           remove PLUGINS_BUILDDIR stuff
23894         * gst/gst.c: (init_post):
23895           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23896         * idiottest.mak:
23897           remove, it was condescending and not needed
23898
23899 2005-10-08  Wim Taymans  <wim@fluendo.com>
23900
23901         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23902         (gst_base_sink_handle_object), (gst_base_sink_event),
23903         (gst_base_sink_wait), (gst_base_sink_handle_event),
23904         (gst_base_sink_change_state):
23905         * gst/base/gstbasesink.h:
23906         Repost EOS message while going to PLAYING if still EOS.
23907         Make sure that when receiving a FLUSH_START we don't attempt
23908         to sync on the clock anymore.
23909
23910 2005-10-08  Wim Taymans  <wim@fluendo.com>
23911
23912         * tools/gst-launch.c: (event_loop):
23913         Better message printout.
23914
23915 2005-10-08  Wim Taymans  <wim@fluendo.com>
23916
23917         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23918         (gst_bin_child_proxy_get_children_count):
23919         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23920         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23921         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23922         (gst_child_proxy_set_valist):
23923         * gst/parse/grammar.y:
23924         Make ChildProxy threadsafe and fix mem leaks.
23925
23926 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23927
23928         * gst/gst.c: (init_post):
23929           debug the GST_PLUGIN_ env vars
23930
23931 2005-10-08  Wim Taymans  <wim@fluendo.com>
23932
23933         * check/gst/gstbin.c: (GST_START_TEST):
23934         * check/gst/gstmessage.c: (GST_START_TEST):
23935         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23936         * gst/gstelement.c: (gst_element_commit_state),
23937         (gst_element_lost_state):
23938         * gst/gstmessage.c: (gst_message_new_state_changed),
23939         (gst_message_parse_state_changed):
23940         * gst/gstmessage.h:
23941         * tools/gst-launch.c: (event_loop):
23942         Added extra field to STATE_CHANGE message with the pending
23943         state, which will be different from the new state soon.
23944
23945 2005-10-08  Wim Taymans  <wim@fluendo.com>
23946
23947         * gst/gstbus.c: (gst_bus_pop):
23948         * gst/gstclock.c:
23949         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23950         Small cleanups and doc updates.
23951
23952 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23953
23954         * gst/gst.c: (init_pre):
23955         * gst/gstbin.c: (gst_bin_add_func):
23956           log distributing clocks and base time
23957         * gst/gstregistry.c: (gst_registry_add_plugin),
23958         (gst_registry_scan_path_level), (gst_registry_scan_path):
23959           clean up the debugging output a little
23960         * gst/gstutils.c: (gst_element_state_get_name):
23961           warn about a memleak (I've actually seen this be used, though
23962           it was probably a bug)
23963
23964 2005-10-07  Wim Taymans  <wim@fluendo.com>
23965
23966         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23967         (gst_base_src_init), (gst_base_src_default_newsegment),
23968         (gst_base_src_newsegment), (gst_base_src_do_seek),
23969         (gst_base_src_loop), (gst_base_src_start):
23970         * gst/base/gstbasesrc.h:
23971         Make the newsegment event customizable by subclasses.
23972
23973 2005-10-07  Wim Taymans  <wim@fluendo.com>
23974
23975         * gst/gstevent.c: (gst_event_new_buffersize),
23976         (gst_event_parse_buffersize):
23977         * gst/gstevent.h:
23978         New event for future idea.
23979
23980 2005-10-07  Andy Wingo  <wingo@pobox.com>
23981
23982         * gst/gstelement.c (gst_element_post_message): Doc update.
23983
23984         * docs/gst/gstreamer-sections.txt: Update.
23985
23986         * gst/gstmessage.c (gst_message_new_application): Made into a
23987         function like honest API calls.
23988         (gst_message_new_element): New message type.
23989
23990         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23991
23992         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23993         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23994         times.
23995
23996         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23997         NO_PREROLL from gst_element_change_state to fall through.
23998
23999 2005-10-07  Wim Taymans  <wim@fluendo.com>
24000
24001         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
24002         (gst_ghost_pad_do_activate_push):
24003         Activating a ghostpad with no internal pad in push mode
24004         is ok.
24005
24006 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24007
24008         * gst/gstobject.h:
24009           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
24010           Fixes compilation on Windows.
24011
24012 2005-10-07  Michael Smith <msmith@fluendo.com>
24013
24014         * tools/gst-inspect.c:
24015           Print out feature and plugin count at the end when printing out
24016           all features.
24017
24018 2005-10-04  Michael Smith <msmith@fluendo.com>
24019
24020         * gst/gsterror.c: (_gst_stream_errors_init):
24021           Add another error string used in a few existing plugins.
24022
24023         * gst/gstplugin.c:
24024         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
24025         * tools/gst-inspect.c: (print_element_info):
24026           When a feature disappears from a plugin (and the feature exists in
24027           the cached registry file), things went horribly wrong. This isn't a
24028           complete fix, we should actually be removing the 'missing' features
24029           from the features list when we load the actual plugin. That's not
24030           yet implemented. 
24031
24032 2005-10-04  Johan Dahlin  <johan@gnome.org>
24033
24034         * check/gst/gstiterator.c: (GST_START_TEST):
24035         * gst/gstbin.c: (gst_bin_iterate_elements),
24036         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
24037         * gst/gstelement.c: (gst_element_iterate_pads):
24038         * gst/gstformat.c: (gst_format_iterate_definitions):
24039         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24040         (gst_iterator_new_list), (gst_iterator_filter):
24041         * gst/gstiterator.h:
24042         * gst/gstquery.c: (gst_query_type_iterate_definitions):
24043         Add a GType to GstIterator, update callsites and tests.
24044
24045 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24046
24047         * gst/gstpad.c: (gst_pad_event_default_dispatch):
24048           give events a chance to be handled by event probes when the pad
24049           is not linked
24050
24051 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24052
24053         * gst/gstevent.c: (gst_event_type_get_name),
24054         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24055         * gst/gstevent.h:
24056           add string representations for event types
24057
24058 2005-10-06  Wim Taymans  <wim@fluendo.com>
24059
24060         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24061         Don't use NULL pointers.
24062
24063 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24064
24065         * gst/gst_private.h:
24066         * gst/gstbus.c:
24067         * gst/gstelement.c:
24068         * gst/gstinfo.c:
24069         * gst/gstpluginfeature.c:
24070           widen the debug category in output to fit the biggest one we have
24071           add a bus category and use it
24072           play with the colors
24073           fix up some categories
24074
24075 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24076
24077         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24078           add push activation of sink ghost pads.
24079           Andye, please verify
24080
24081 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24082
24083         * gst/gstutils.c: (gst_element_link_pads):
24084           fix a bug in the case where neither element has a pad
24085         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24086           add a test for that case
24087
24088 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24089
24090         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24091           emit have-data before checking for peers.  This allows
24092           for probe handlers to connect elements.  This helps autopluggers.
24093         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24094         (gst_pad_suite):
24095           add six checks, linked/unlinked with no/true/false probe
24096
24097 2005-10-04  Wim Taymans  <wim@fluendo.com>
24098
24099         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24100         (gst_fake_sink_event), (gst_fake_sink_preroll),
24101         (gst_fake_sink_render), (gst_fake_sink_change_state):
24102         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24103         (gst_fake_src_get_property), (gst_fake_src_create),
24104         (gst_fake_src_stop):
24105         * gst/elements/gstidentity.c: (gst_identity_stop):
24106         Protect last_message with lock.
24107
24108 2005-10-04  Edward Hervey  <edward@fluendo.com>
24109
24110         * gst/gstformat.h: 
24111         Added precision in the comments for GST_FORMAT_DEFAULT
24112
24113 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24114
24115         * tools/gst-launch.c: (main):
24116           Don't try to run erroneous pipelines.
24117
24118 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24119
24120         * gst/gstbus.c: We don't need this header.
24121
24122 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24123
24124         * configure.ac:
24125           back to development
24126
24127 === release 0.9.3 ===
24128
24129 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24130
24131         * README:
24132         * configure.ac:
24133           Releasing 0.9.3, "Unregistered"
24134
24135 2005-10-03  Andy Wingo  <wingo@pobox.com>
24136
24137         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24138         whereby calling a pad's activatepush() function can start a thread
24139         that starts to push or pull before the pad gets the FLUSHING flag
24140         unset. Hack around it by holding the stream lock until the flag is
24141         set. Need to replace this with a proper solution. Together with
24142         the ghost pad fixes, this fixes mp3 playing/tagreading.
24143
24144         * docs/design/part-gstghostpad.txt: Add a note about activation of
24145         proxy pads outside of ghost pads.
24146
24147         * gst/gstghostpad.c: Implement the ghost pad activation design.
24148
24149 2005-10-02  Andy Wingo  <wingo@pobox.com>
24150
24151         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24152         It is volatile, after all.
24153
24154         * docs/design/part-gstghostpad.txt: Flesh out activation with
24155         ghost pads.
24156
24157         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24158         GST_DEBUG_FUNCPTR.
24159
24160 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24161
24162         * configure.ac:
24163           Fix (unused) AM_CONDITIONAL tests.
24164
24165 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24166
24167         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24168
24169         * gst/gstutils.c: (gst_pad_query_convert):
24170           Add assertion that makes sure src_val is >=0, just like
24171           gst_query_new_convert() has. (#315895)
24172
24173 2005-09-30  Edward Hervey  <edward@fluendo.com>
24174
24175         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24176         Let's not iterate pads we're not interested in, it avoids getting 
24177         sky-high refcounts on sinkpad.
24178
24179 2005-09-30  Wim Taymans  <wim@fluendo.com>
24180
24181         * gst/gstelement.c: (gst_element_set_state),
24182         (gst_element_change_state):
24183         Small tweak, element in ASYNC remains ASYNC.
24184
24185 2005-09-30  Wim Taymans  <wim@fluendo.com>
24186
24187         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24188         Only error is an error.
24189
24190         * gst/gstbin.c: (gst_bin_change_state):
24191         Better debugging.
24192
24193         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24194         Also call pad_block in pad alloc.
24195
24196         * gst/gstutils.c: (gst_flow_get_name):
24197         Better debugging.
24198
24199 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24200
24201         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24202         (gst_base_src_get_range):
24203           Fix documentation typos. Add some more debug info.
24204
24205 2005-09-29  David Schleef  <ds@schleef.org>
24206
24207         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24208           more end-user friendly.
24209         * tools/gst-inspect.c: (main): Check if command-line argument is
24210           a file and attempt to load that file as a plugin.
24211
24212 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24213
24214         * check/gst/gstbin.c:
24215         * check/states/sinks.c:
24216           fix tests for the new warning
24217         * check/gst/gstpipeline.c:
24218           add a test for pipeline and bus interaction
24219         * gst/gstelement.c:
24220           elements should be NULL if they get disposed; add a warning if not
24221
24222 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24223
24224         * gst/gstobject.c:
24225           for 2.6 refcounting, make debug log more correct by printing
24226           the actual refcounts at the time of swap (Wim)
24227
24228 2005-09-29  Andy Wingo  <wingo@pobox.com>
24229
24230         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24231         removes signal watches previously added via
24232         gst_bus_add_signal_watch.
24233         (gst_bus_add_signal_watch): Don't return the source id, just store
24234         it on the bus if there wasn't an id already.
24235
24236         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24237         add_signal_watch and remove_signal_watch.
24238
24239 2005-09-29  Edward Hervey  <edward@fluendo.com>
24240
24241         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24242         Better if we actually iterate the list :)
24243
24244 2005-09-29  Wim Taymans  <wim@fluendo.com>
24245
24246         * check/gst/gstbin.c: (GST_START_TEST):
24247         Change for new bus API.
24248
24249         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24250         (send_messages), (GST_START_TEST), (gstbus_suite):
24251         Change for new bus signal API.
24252
24253         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24254         (gst_bus_source_prepare), (gst_bus_source_check),
24255         (gst_bus_create_watch), (gst_bus_add_watch_full),
24256         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24257         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24258         * gst/gstbus.h:
24259         Remove support for multiple GSources operating on different
24260         message types as it is too complex and unneeded when using
24261         signals.
24262         Added support for receiving signals from the bus.
24263
24264 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24265
24266         * docs/libs/tmpl/gstdataprotocol.sgml:
24267         * docs/manual/advanced-dataaccess.xml:
24268         * gst/elements/gstcapsfilter.c:
24269         * gst/gstutils.c:
24270           rename filter-caps to caps property
24271
24272 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24273
24274         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24275           More robust fraction string parsing.
24276
24277         * docs/pwg/appendix-porting.xml:
24278           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24279
24280 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24281
24282         * gst/gstcaps.c: (gst_caps_do_simplify):
24283           Thou shalt not free a structure and then continue using it
24284           in the next loop iteration.
24285
24286         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24287         (gst_caps_suite):
24288           Add test case for caps simplification.
24289
24290 2005-09-29  Wim Taymans  <wim@fluendo.com>
24291
24292         * check/gst/gstbin.c: (GST_START_TEST):
24293         Oops.
24294
24295 2005-09-29  Wim Taymans  <wim@fluendo.com>
24296
24297         * check/gst/gstbin.c: (GST_START_TEST):
24298         Add bus to bin.
24299
24300         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24301         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24302         (find_element), (gst_bin_sort_iterator_next),
24303         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24304         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24305         (gst_bin_change_state), (gst_bin_dispose):
24306         A bin does not have a bus, it gets the bus from the parent.
24307
24308         * gst/gstelement.c: (gst_element_requires_clock),
24309         (gst_element_provides_clock), (gst_element_is_indexable),
24310         (gst_element_is_locked_state), (gst_element_change_state),
24311         (gst_element_set_bus_func):
24312         Small cleanups.
24313
24314         * gst/gstpipeline.c: (gst_pipeline_class_init),
24315         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24316         The pipeline provides a bus.
24317
24318 2005-09-28  Johan Dahlin  <johan@gnome.org>
24319
24320         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24321         gst_structure_get_enum instead of gst_structure_get_int
24322
24323         * gst/gststructure.c (gst_structure_get_enum): Impl.
24324
24325         * gst/gststructure.h (gst_structure_get_enum): Add
24326
24327         * docs/gst/gstreamer-sections.txt: Ditto
24328
24329         * gst/gstmessage.c (gst_message_new_state_changed): Use
24330         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24331         which does introspection.
24332         Reviewed by Christian Schaller
24333
24334 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24335
24336         * gst/gstinfo.c: (gst_debug_log_default):
24337           don't do dummy g_strdup()s
24338         * libs/gst/controller/gstcontroller.c:
24339         (on_object_controlled_property_changed),
24340         (gst_controlled_property_new), (gst_controller_new_valist),
24341         (gst_controller_new_list),
24342         (gst_controller_remove_properties_valist), (gst_controller_set),
24343         (gst_controller_get), (gst_controller_sync_values),
24344         (gst_controller_get_value_array), (_gst_controller_class_init),
24345         (gst_controller_get_type):
24346         * libs/gst/controller/gstcontroller.h:
24347         * libs/gst/controller/gstinterpolation.c:
24348         (gst_controlled_property_find_timed_value_node):
24349           convert // to /**/ comments
24350
24351 2005-09-28  Wim Taymans  <wim@fluendo.com>
24352
24353         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24354         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24355         (gst_bus_sync_signal_handler):
24356         * gst/gstbus.h:
24357         Added async-message and sync-message signals to the bus.
24358         Added helper BusFunc to emit signals for all posted messages.
24359
24360         * gst/gstmessage.c: (gst_message_type_get_name),
24361         (gst_message_type_to_quark), (gst_message_get_type):
24362         * gst/gstmessage.h:
24363         Register quarks for message names.
24364
24365 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24366
24367         * docs/libs/gstreamer-libs-sections.txt:
24368         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24369         (gst_controller_new_list):
24370         * libs/gst/controller/gstcontroller.h:
24371           added another constructor for language bindings
24372
24373 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24374
24375         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24376           add another check
24377         * gst/gstbus.c:
24378           add some doc
24379         * gst/gstinfo.c: (_gst_debug_init):
24380           slightly more readable color for refcount debugging
24381
24382 2005-09-28  Wim Taymans  <wim@fluendo.com>
24383
24384         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24385         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24386         (find_element), (gst_bin_sort_iterator_next),
24387         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24388         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24389         (gst_bin_change_state), (gst_bin_dispose):
24390         Small doc fixes. get_clock -> provide_clock.
24391
24392         * gst/gstelement.c: (gst_element_class_init),
24393         (gst_element_provides_clock), (gst_element_provide_clock),
24394         (gst_element_get_clock), (gst_element_commit_state),
24395         (gst_element_lost_state):
24396         * gst/gstelement.h:
24397         Make get/set_clock() symetric. Add provide_clock vmethod since
24398         that is actually what this function does.
24399
24400         * gst/gstpipeline.c: (gst_pipeline_class_init),
24401         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24402         (gst_pipeline_get_clock):
24403         get_clock -> provide_clock.
24404
24405 2005-09-28  Andy Wingo  <wingo@pobox.com>
24406
24407         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24408         lieu of real docs...
24409
24410         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24411
24412 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24413
24414         * gst/elements/gstcapsfilter.c:
24415         * gst/elements/gstfakesink.c:
24416         * gst/elements/gstfakesrc.c:
24417         * gst/elements/gstfdsink.c:
24418         * gst/elements/gstfdsrc.c:
24419         * gst/elements/gstfilesink.c:
24420         * gst/elements/gstfilesrc.c:
24421         * gst/elements/gstidentity.c:
24422         * gst/elements/gsttee.c:
24423         * gst/elements/gsttypefindelement.c:
24424           Make element details static.
24425
24426 2005-09-28  Wim Taymans  <wim@fluendo.com>
24427
24428         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24429         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24430         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24431         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24432         (gst_bin_change_state), (gst_bin_dispose):
24433         Some documentation updates.
24434         Clean up dispose handlers.
24435
24436         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24437         * gst/gstpad.c: (gst_pad_dispose):
24438         Clean up dispose handler.
24439
24440         * gst/gstpipeline.c: (gst_pipeline_change_state):
24441         Removed spurious UNLOCK.
24442
24443 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24444
24445         * docs/gst/gstreamer-sections.txt:
24446         * gst/base/gstbasesrc.h:
24447         * gst/gstelement.h:
24448         * gst/gstevent.h:
24449         * gst/gstobject.h:
24450         * gst/gstpad.h:
24451         * gst/gstpipeline.c:
24452         * gst/gstpipeline.h:
24453         * gst/gstutils.h:
24454         * gst/gstxml.h:
24455           added two new functions to the docs
24456                 documents all undocumented GstXXXFlags
24457                 completed some incomplete docs 
24458
24459 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24460
24461         * gst/gstbin.c: (gst_bin_dispose):
24462         * gst/gstelement.c: (gst_element_dispose):
24463           remove now useless and leaky resurrection code in dispose
24464         * gst/base/gstbasesrc.c: (gst_base_src_init):
24465         * gst/gstelementfactory.c: (gst_element_factory_create):
24466         * gst/gstobject.c: (gst_object_set_parent):
24467           add some debugging
24468
24469 2005-09-27  Wim Taymans  <wim@fluendo.com>
24470
24471         * docs/design/part-TODO.txt:
24472         Update TODO.
24473
24474         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24475         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24476         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24477         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24478         (gst_bin_change_state):
24479         * gst/gstelement.h:
24480         Remove element variable, we keep element info in the iterator now.
24481
24482 2005-09-27  Andy Wingo  <wingo@pobox.com>
24483
24484         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24485         values.
24486
24487 2005-09-27  Wim Taymans  <wim@fluendo.com>
24488
24489         * check/gst/gstbin.c: (GST_START_TEST):
24490         Enable check that works now.
24491
24492         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24493         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24494         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24495         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24496         (gst_bin_change_state):
24497         * gst/gstbin.h:
24498         Redid the state change algorithm using a topological sort algo.
24499         Handles all cases correctly.
24500         Exposed iterator for state change order.
24501
24502         * gst/gstelement.h:
24503         Temp storage for state changes. Need to get rid of this soon.
24504
24505 2005-09-27  Wim Taymans  <wim@fluendo.com>
24506
24507         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24508         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24509         (link_fold_func), (gst_pad_proxy_setcaps):
24510         Leak fixes, the fold functions need to unref the passed object and
24511         _get_parent_*() returns ref to parent.
24512
24513 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24514
24515         * check/gst/gstbuffer.c: (test_make_writable):
24516           Plug leak in test case and fix 'make check-valgrind'
24517
24518 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24519
24520         * gst/gstbuffer.c: (gst_subbuffer_init):
24521           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24522           works correctly in all circumstances (we could have just copied
24523           the parent buffer's readonly flag, but conceptually it seems
24524           cleaner to mark all subbuffers as read-only). (based on patch
24525           by Alessandro Decina, #314710).
24526         
24527         * check/gst/gstbuffer.c: (create_read_only_buffer),
24528         (test_make_writable), (test_subbuffer_make_writable),
24529         (gst_test_suite):
24530           Add some tests for gst_buffer_make_writable().
24531
24532 2005-09-27  Wim Taymans  <wim@fluendo.com>
24533
24534         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24535         use gst_object_has_ancestor().
24536
24537         * gst/gstobject.c: (gst_object_has_ancestor):
24538         * gst/gstobject.h:
24539         gst_object_has_ancestor() copied from gstbin.c as it is a
24540         useful function.
24541
24542         * tests/instantiate/create.c: (create_all_elements):
24543         * tests/lat.c: (handoff_src), (handoff_sink):
24544         * tests/sched/runxml.c: (main):
24545         * tests/seeking/seeking1.c: (main):
24546         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24547         (main):
24548         Fix compilation of some tests.
24549
24550 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24551
24552         * gst/gsterror.h:
24553           Remove comment. GST_TYPE_G_ERROR is here to stay,
24554           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24555           (#316961, #300610).
24556
24557 2005-09-26  Wim Taymans  <wim@fluendo.com>
24558
24559         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24560         Added check that shows error in state change order.
24561
24562 2005-09-26  Wim Taymans  <wim@fluendo.com>
24563
24564         * gst/gstbin.c: (gst_bin_change_state):
24565         Make state change function use 3 queues again, we were
24566         adding elements in the wrong order.
24567
24568         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24569         Some debug info,
24570
24571         * gst/gstpad.c: (gst_pad_dispose):
24572         Added some debug info first.
24573
24574 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24575
24576         * docs/design/draft-push-pull.txt:
24577         * docs/design/part-events.txt:
24578         * docs/design/part-overview.txt:
24579         * docs/design/part-scheduling.txt:
24580           Replace all _pull_region() with _pull_range()
24581           
24582 2005-09-26  Andy Wingo  <wingo@pobox.com>
24583
24584         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24585
24586         * check/gst-libs/controller.c: Update for controller api change.
24587
24588         * configure.ac: 
24589         * tests/Makefile.am:
24590         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24591         over by GLib bug 118439.
24592         
24593         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24594         routines to a function.
24595
24596         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24597
24598         * libs/gst/controller/gsthelper.c:
24599         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24600         (gst_object_sync_values): Renamed from sink_values. Ugh.
24601
24602         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24603
24604         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24605         Renamed from controller_key, as it is exported.
24606
24607         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24608
24609 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24610
24611         * gst/Makefile.am:
24612         * gst/gst.h:
24613         * gst/gstpad.h:
24614         * gst/gstpadtemplate.h:
24615         * gst/gstquery.c:
24616         * gst/gstquery.h:
24617         * gst/gstqueryutils.c:
24618         * gst/gstqueryutils.h:
24619           remove queryutils headers after moving the two used functions
24620           to gstquery.  also fixes build problem for gstsiddec
24621
24622 2005-09-26  Michael Smith <msmith@fluendo.com>
24623
24624         * tools/gst-launch.1.in:
24625         Correct documentation in manpage of debug syntax
24626
24627 2005-09-26  Wim Taymans  <wim@fluendo.com>
24628
24629         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24630         (gst_base_src_is_seekable), (gst_base_src_change_state):
24631         Some more debugging info.
24632
24633 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24634
24635         * docs/gst/gstreamer-sections.txt:
24636         * gst/base/gstbasetransform.h:
24637         * gst/gstindex.h:
24638           added more docs
24639
24640 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24641
24642         * docs/gst/.cvsignore:
24643         * docs/gst/tmpl/.cvsignore:
24644         * docs/gst/tmpl/gstpipeline.sgml:
24645         * docs/gst/tmpl/gstplugin.sgml:
24646         * gst/gstpipeline.c:
24647         * gst/gstplugin.c:
24648         * gst/gstplugin.h:
24649           inlined the last two docs files
24650           removed the tmpl directory from cvs (no more conflicts here!)
24651
24652 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24653
24654         * docs/gst/gstreamer-sections.txt:
24655         * docs/gst/tmpl/.cvsignore:
24656         * docs/gst/tmpl/gstpad.sgml:
24657         * docs/gst/tmpl/gstpadtemplate.sgml:
24658         * gst/Makefile.am:
24659         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24660         (gst_pad_finalize), (gst_pad_set_pad_template):
24661         * gst/gstpad.h:
24662         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24663         (gst_pad_template_class_init), (gst_pad_template_init),
24664         (gst_pad_template_dispose), (name_is_valid),
24665         (gst_static_pad_template_get), (gst_pad_template_new),
24666         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24667         (gst_pad_template_pad_created):
24668         * gst/gstpadtemplate.h:
24669           inlined two more docs
24670           factored gstpadtemplate out of gstpad
24671
24672 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24673
24674         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24675         (test_children_state_change_order_semi_sink):
24676           Fix test case: we can't rely on a fixed state change order when
24677           going from READY => PAUSED because the sink might commit its 
24678           new state first when the first buffer created by the source 
24679           reaches the sink before the source has finished its change state.
24680           (Test case still fails at times, see #316856, comment 5 onwards)
24681
24682 2005-09-24  Wim Taymans  <wim@fluendo.com>
24683
24684         * docs/design/part-events.txt:
24685         * docs/design/part-gstbus.txt:
24686         * docs/design/part-gstpipeline.txt:
24687         * docs/design/part-messages.txt:
24688         * docs/design/part-overview.txt:
24689         * docs/design/part-segments.txt:
24690         * gst/gstbin.c:
24691         * gst/gstbuffer.c:
24692         * gst/gstclock.c:
24693         * gst/gstelement.c:
24694         * gst/gstevent.c:
24695         * gst/gstfilter.c:
24696         * gst/gstiterator.c:
24697         Various documentation updates.
24698
24699 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24700
24701         * gst/gstclock.h:
24702           Well, that's embarassing.  Luckily we weren't using
24703           GST_CLOCK_DIFF anywhere.
24704
24705 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24706
24707         * common/gtk-doc.mak:
24708           don't fail on building XML, FC4 slave shows a bunch of doc
24709           missing bits that I don't get
24710         * gst/gstpad.c:
24711         * gst/gstpipeline.c:
24712         * gst/gststructure.c:
24713           some doc updates
24714
24715 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24716
24717         * docs/design/part-gstbin.txt:
24718         * docs/design/part-gstbus.txt:
24719         * gst/gstbus.c:
24720           Add blurb about how the bus goes into flushing mode and
24721           drops all messages when its bin goes from READY into NULL 
24722           state.
24723
24724 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24725
24726         * docs/gst/gstreamer-sections.txt:
24727         * gst/gststructure.c: (gst_structure_get_clock_time):
24728         * gst/gststructure.h:
24729           add a method to get a GstClockTime out of a structure
24730
24731 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24732
24733         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24734         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24735           Added test to check state change order in bins (can still be made
24736           to fail here under heavy disk load; bails out with 'Push on pad
24737           fakesink:sink0, but it was not activated in push mode').
24738
24739         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24740           Fix state change order when there is only a semi sink (#316856)
24741
24742         * gst/gstbus.c: (gst_bus_class_init):
24743           Use _class_peek_parent(), not _class_ref(); fix docs to say
24744           'default main context' instead of 'mainloop' where that is
24745           what's meant.
24746
24747         * gst/gstelement.c: (gst_element_commit_state),
24748         (gst_element_set_state):
24749           Fix typos in debug messages
24750
24751 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24752
24753         * docs/README:
24754         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24755         * gst/gstpluginfeature.c:
24756         * gst/gstutils.c:
24757           various doc updates
24758         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24759           change an assert into an error until it gets fixed properly
24760
24761 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24762
24763         * docs/gst/gstreamer-sections.txt:
24764         * docs/gst/tmpl/.cvsignore:
24765         * docs/gst/tmpl/gstelement.sgml:
24766         * docs/gst/tmpl/gstinfo.sgml:
24767         * docs/gst/tmpl/gstobject.sgml:
24768         * gst/gstelement.c:
24769         * gst/gstelement.h:
24770         * gst/gstinfo.c:
24771         * gst/gstinfo.h:
24772         * gst/gstobject.c: (gst_object_class_init):
24773         * gst/gstobject.h:
24774           inlined 3 more biiiig doc files and added some missing docs on the fly
24775
24776 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24777
24778         * check/gst/.cvsignore:
24779         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24780         * gst/gstregistryxml.c: (load_plugin),
24781         (gst_registry_xml_save_plugin):
24782           put back source in registry.  add checks for find_plugin.
24783         * testsuite/states/bin.c: (assert_state), (empty_bin),
24784         (test_adding_one_element), (main):
24785         * testsuite/states/locked.c: (main):
24786           some compile/run fixes
24787
24788 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24789
24790         * check/gst/gstvalue.c: (GST_START_TEST):
24791           fix leaks in the test itself
24792
24793 2005-09-22  Wim Taymans  <wim@fluendo.com>
24794
24795         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24796         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24797         (gst_base_sink_query):
24798         Prepare for more accurate position reporting and query
24799         handling.
24800
24801         * gst/gstelement.c: (gst_element_send_event),
24802         (gst_element_set_state):
24803         Add some comment.
24804
24805 2005-09-22  Wim Taymans  <wim@fluendo.com>
24806
24807         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24808         (gst_query_parse_segment):
24809         * gst/gstquery.h:
24810         More documentation.
24811         Add segment query for future use.
24812
24813 2005-09-22  Wim Taymans  <wim@fluendo.com>
24814
24815         * gst/gstbin.c: (gst_bin_add_func):
24816         Some more debug info.
24817
24818         * gst/gstelement.c: (gst_element_send_event):
24819         Simplify send_event
24820
24821         * gst/gstelement.h:
24822         Don't know how flags got broken.
24823
24824         * gst/gstquery.h:
24825         Added new query.
24826
24827 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24828
24829         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24830           Add simplistic test suite for GST_TYPE_DATE serialisation and
24831           deserialisation.
24832
24833 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24834
24835         * docs/gst/gstreamer-sections.txt:
24836         * gst/gststructure.c: (gst_structure_set_valist),
24837         (gst_structure_get_date):
24838         * gst/gststructure.h:
24839         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24840         (gst_date_copy), (gst_value_compare_date),
24841         (gst_value_serialize_date), (gst_value_deserialize_date),
24842         (gst_value_transform_date_string),
24843         (gst_value_transform_string_date), (_gst_value_initialize):
24844         * gst/gstvalue.h:
24845           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24846           bunch of utility functions along with a hack that checks that
24847           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24848           is required. Part of the grand scheme in #170777.
24849
24850 2005-09-22  Andy Wingo  <wingo@pobox.com>
24851
24852         * gst/gstconfig.h.in: Psych out gtk-doc.
24853
24854         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24855
24856         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24857
24858         * tools/gst-inspect.c (print_element_list): Plug some
24859         inconsequential leaks.
24860
24861         * gst/gstregistry.c (gst_registry_get_default): Doc.
24862
24863         * check/gst/gstplugin.c: 
24864         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24865         * gst/gstelementfactory.c (gst_element_factory_create): 
24866         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24867         refcount changes.
24868
24869         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24870         (gst_plugin_feature_load): Doc, don't eat refs.
24871
24872         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24873         (gst_plugin_list_free): Doc.
24874         (gst_plugin_load_file): Doc updates.
24875
24876         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24877         accessors returning refcounted objects, return a ref.
24878
24879         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24880         accessor for caps. IDEMPOTENCE. Oh yes.
24881
24882 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24883
24884         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24885
24886         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24887         (_gst_debug_register_funcptr):
24888           Add mutex to serialise access to the hash table with
24889           the function pointer => function name string mapping;
24890           make that hash table static scope (#316809).
24891
24892         * gst/registries/.cvsignore:
24893           Remove left-over file.
24894
24895 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24896
24897         * docs/pwg/appendix-porting.xml:
24898           And something about newsegment events and caps-on-buffers to
24899           the porting guide (feel free to improve).
24900
24901 2005-09-21  Andy Wingo  <wingo@pobox.com>
24902
24903         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24904         data and event probes on the same pad.
24905         (test_buffer_probe_once): Test that removing probes from within
24906         the probe functions works.
24907
24908 2005-09-21  Andy Wingo  <wingo@pobox.com>
24909
24910         * check/gst/gstutils.c: New file.
24911         (test_buffer_probe_n_times): A simple buffer probe test. More to
24912         come, foolios.
24913
24914         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24915         have-data::buffer, not have-data.
24916         (gst_pad_add_event_probe): Likewise for have-data::event.
24917         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24918         peer' isn't quite right yet though.
24919         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24920         (gst_pad_remove_data_probe): Change to take the guint handler_id
24921         as their arg, not the function+data, which is more glib-like.
24922
24923         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24924         the signal emission to indicate if the data is a buffer or an
24925         event.
24926         (gst_pad_get_type): Initialize buffer and event quarks.
24927         (gst_pad_class_init): have-data is now a detailed signal, yes it
24928         is.
24929
24930 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24931
24932         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24933         * gst/gstutils.c: (gst_util_set_value_from_string),
24934         (gst_util_set_object_arg):
24935           Don't put functional code in g_return_if_fail() or
24936           g_return_val_if_fail() statements, otherwise things will 
24937           break when G_DISABLE_CHECKS is defined during compilation.
24938
24939 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24940
24941         * docs/gst/tmpl/.cvsignore:
24942         * docs/gst/tmpl/gstvalue.sgml:
24943         * gst/gstvalue.c:
24944         * gst/gstvalue.h:
24945           inlied another one and added  some obvious docs
24946
24947 2005-09-21  Wim Taymans  <wim@fluendo.com>
24948
24949         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24950         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24951         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24952         (gst_fdsrc_get_property), (gst_fdsrc_create):
24953         * gst/elements/gstfdsrc.h:
24954         Properly implement fdsrc. Removed signal and timeout,
24955         better implemented somewhere else.
24956
24957 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24958
24959         * docs/gst/tmpl/.cvsignore:
24960         * docs/gst/tmpl/gstimplementsinterface.sgml:
24961         * gst/gstinterface.c:
24962           inlined more docs
24963
24964 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24965
24966         * docs/gst/gstreamer-sections.txt:
24967         * docs/gst/tmpl/.cvsignore:
24968         * docs/gst/tmpl/gstenumtypes.sgml:
24969           remove obsolete doc file
24970
24971 2005-09-21  David Schleef  <ds@schleef.org>
24972
24973         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24974         little beer, fix a little leak.
24975
24976 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24977
24978         * docs/gst/gstreamer-docs.sgml:
24979         * docs/gst/gstreamer-sections.txt:
24980         * docs/gst/tmpl/.cvsignore:
24981         * gst/Makefile.am:
24982         * gst/gst.h:
24983         * gst/gstbin.c:
24984         * gst/gstelement.h:
24985         * gst/gstindex.c: (gst_index_class_init):
24986         * gst/gstindex.h:
24987         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24988         (gst_index_factory_class_init), (gst_index_factory_init),
24989         (gst_index_factory_finalize), (gst_index_factory_new),
24990         (gst_index_factory_destroy), (gst_index_factory_find),
24991         (gst_index_factory_create), (gst_index_factory_make):
24992         * gst/gstindexfactory.h:
24993         * gst/gstpluginfeature.c:
24994         * gst/gstpluginfeature.h:
24995         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24996           more docs inlined, splitted gstindex.{c,h}
24997
24998 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24999
25000         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25001           fix a leak
25002
25003 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25004
25005         * gst/elements/gstfilesink.c: (gst_file_sink_init):
25006           Set sync to FALSE by default.
25007
25008 2005-09-20  Wim Taymans  <wim@fluendo.com>
25009
25010         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25011         (gst_base_sink_init):
25012         Make sync property settable from subclass.
25013
25014         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25015         (gst_fake_sink_change_state):
25016         Set sync to FALSE by default.
25017
25018 2005-09-20  Wim Taymans  <wim@fluendo.com>
25019
25020         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
25021         * tools/gst-launch.c: (main):
25022         The timeout handler should have lower priority than the source
25023         so we don't timeout before popping a message with 0 timeout.
25024         Dump error messages after failed state change.
25025
25026 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25027
25028         * tools/gst-inspect.c: (print_element_properties_info):
25029           Fix two typos.
25030
25031 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25032
25033         * check/gst/gstevent.c:
25034         * gst/elements/gstfakesink.c:
25035         * gst/elements/gstfakesink.h:
25036           remove the sync property from fakesink.
25037           has the side effect of setting sync TRUE
25038           for fakesink, which is a change.  Anyone who knows how
25039           to fix this nicely in a GObject-y way, feel free.
25040
25041 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25042
25043         * docs/gst/gstreamer-docs.sgml:
25044           remove probe refsection
25045
25046 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25047
25048         * check/Makefile.am:
25049           disable valgrinding the controller test again
25050         * docs/gst/gstreamer-sections.txt:
25051           update for api-changes
25052
25053 2005-09-20  Wim Taymans  <wim@fluendo.com>
25054
25055         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25056         (gst_base_sink_set_property), (gst_base_sink_get_property),
25057         (gst_base_sink_do_sync):
25058         * gst/base/gstbasesink.h:
25059         Added sync property to basesink to disable clock sync.
25060
25061 2005-09-20  Andy Wingo  <wingo@pobox.com>
25062
25063         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25064         eating the caller's refcount.
25065
25066         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
25067         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25068         refcount.
25069
25070         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25071         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25072         of GLib 2.8 public, so we can know which refcount to check in
25073         tests.
25074
25075         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25076         (gst_object_init): Only set the gst refcount if we're going ahead
25077         with the refcount hack.
25078
25079 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25080
25081         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25082         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25083           more leaks plumbed, added more debug-logging
25084         * gst/gstmacros.h:
25085           whitespace fix
25086
25087 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25088
25089         * gst/gstmessage.c:
25090           remove include of gstmemchunk.h
25091
25092 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25093
25094         * gst/gstclock.c: (_gst_clock_id_free):
25095           Commit from the Political Party For More Atomic CVS Commits,
25096           so that people don't waste too much of their day fishing
25097           out obvious leaks out of massive commits.
25098           Oh, and fix a pretty damn obvious leak in the memchunk
25099           removal code.
25100
25101 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25102
25103         * check/Makefile.am:
25104         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25105           plug mem-leak, re-add to valgrindable tests
25106
25107 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25108
25109         * gst/gstplugin.h:
25110           unbreak the build for those who have chronic arthritis
25111           and typing "make check" is just too taxing on the hands
25112
25113 2005-09-20  Andy Wingo  <wingo@pobox.com>
25114
25115         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25116         really want it out, you should fix plugins at the same time.
25117
25118 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25119
25120         * configure.ac:
25121         * docs/gst/gstreamer-sections.txt:
25122         * gst/gstobject.c:
25123           added missing symbols to api docs
25124           disable ref-count hack if we have glib >= 2.8
25125
25126 2005-09-19  David Schleef  <ds@schleef.org>
25127
25128         * docs/gst/Makefile.am: Ignore a few more internal headers
25129         * docs/gst/gstreamer-docs.sgml: Remove old sections
25130         * docs/gst/gstreamer-sections.txt: Remove old sections
25131         * docs/gst/tmpl/gstobject.sgml: update
25132         * docs/gst/tmpl/gstplugin.sgml: update
25133         * docs/gst/tmpl/gstpluginfeature.sgml: update
25134         * docs/random/ds/0.9-suggested-changes: update.
25135         * gst/Makefile.am: remove memchunk and trashstack, since they're
25136           not used.
25137         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25138         * gst/gst.h: don't include some headers
25139         * gst/gstchildproxy.c: add gstmarshal.h
25140         * gst/gstclock.c: Don't use memchunks
25141         * gst/gstminiobject.c: Add some docs
25142         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25143         * gst/gstobject.h: same
25144         * gst/gstplugin.c: include gstmacros.h
25145         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25146         * gst/gstquery.c: don't use memchunks
25147         * gst/gstregistry.c: rename gst_registry_deinit()
25148         * gst/gstregistry.h: same
25149
25150 2005-09-19  David Schleef  <ds@schleef.org>
25151
25152         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25153         * docs/libs/gstreamer-libs-sections.txt:
25154         * docs/libs/tmpl/gstgetbits.sgml:
25155         * docs/libs/tmpl/gstputbits.sgml:
25156
25157 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25158
25159         * win32/gstenumtypes.c:
25160         * win32/gstenumtypes.h:
25161           Update.
25162
25163 2005-09-19  Wim Taymans  <wim@fluendo.com>
25164
25165         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25166         Automatically PAUSE and RESUME a pipeline when a flushing seek
25167         is performed.
25168
25169 2005-09-19  Andy Wingo  <wingo@pobox.com>
25170
25171         * gst/gstregistry.h: Spacing fixen.
25172
25173 2005-09-19  Wim Taymans  <wim@fluendo.com>
25174
25175         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25176         Handle state change failure more correctly.
25177
25178 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25179
25180         * check/Makefile.am:
25181         * check/pipelines/cleanup.c: (run_pipeline):
25182         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25183         (GST_START_TEST):
25184           enable cleanup again after fixing the leak
25185         * docs/README:
25186           some more info on docs
25187
25188 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25189
25190         * check/Makefile.am:
25191           re-enable tests now that leaks are plugged
25192         * check/gst/gst.c:
25193         * check/gst/gstbin.c:
25194         * check/gst/gstpipeline.c:
25195           add some more tests while fixing leaks
25196         * common/check.mak:
25197           make sure binaries are uptodate when valgrinding/gdbing
25198         * gst/gst.c:
25199         * gst/gstelementfactory.c:
25200           remove a ref too many, and add a FIXME for when we get
25201           round to disposing of classes
25202         * gst/gstplugin.c:
25203           fix the refcounting when loading a plugin from a file and
25204           the code pretends that the pointer is the same even though
25205           of course it can change
25206         * gst/gstpluginfeature.c:
25207           unref plugins marked cached (a bit confusing as a name)
25208           as the docs state should be done
25209           various doc additions to explain refcounting
25210         * gst/gstregistry.c:
25211         * gst/gstregistryxml.c:
25212           debugging
25213
25214 2005-09-19  Wim Taymans  <wim@fluendo.com>
25215
25216         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25217         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25218         (send_messages), (GST_START_TEST), (gstbus_suite):
25219         * check/gst/gstpipeline.c: (GST_START_TEST):
25220         * check/pipelines/cleanup.c: (run_pipeline):
25221         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25222         (GST_START_TEST):
25223         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25224         (gst_bus_source_check), (gst_bus_source_dispatch),
25225         (gst_bus_create_watch), (gst_bus_add_watch_full),
25226         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25227         * gst/gstbus.h:
25228         * tools/gst-launch.c: (event_loop):
25229         * tools/gst-md5sum.c: (event_loop):
25230         GstBusHandler -> GstBusFunc, return value has the same meaning as
25231         any other GSource (FALSE == remove source).
25232         _add_watch() and _add_watch_full() now take a MessageType mask to
25233         only handle specific types of messages.
25234         _poll() returns the GstMessage instead of the message type to avoid
25235         race conditions.
25236         _have_pending() takes a MessageType mask now too.
25237         Added testsuite for multiple bus watches.
25238         Fix testsuites and applications for new bus API.
25239
25240 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25241
25242         * check/Makefile.am:
25243           mark a bunch of the tests as to fix until we fix them
25244
25245 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25246
25247         * common/check.mak:
25248           use GST_PLUGIN settings for valgrind tests as well, so we're
25249           valgrinding the correct thing
25250         * gst/gst.c: (init_post):
25251           plug another leak
25252
25253 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25254
25255         * gst/gst.c: (init_post), (gst_deinit):
25256         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25257         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25258         * gst/gstindex.c: (gst_index_factory_class_init),
25259         (gst_index_factory_finalize):
25260         * gst/gstobject.c: (gst_object_dispose):
25261         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25262         (gst_plugin_load_file), (gst_plugin_desc_free):
25263         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25264         (gst_plugin_feature_finalize):
25265         * gst/gstregistry.c: (gst_registry_class_init),
25266         (gst_registry_init), (gst_registry_finalize),
25267         (gst_registry_get_default), (gst_registry_deinit):
25268         * gst/gstregistry.h:
25269         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25270           various cleanups and memleak plugging.  make valgrind is happy now.
25271
25272 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25273
25274         * common/check.mak:
25275           add a check-valgrind target
25276
25277 2005-09-18  David Schleef  <ds@schleef.org>
25278
25279         * tools/gst-inspect.c: Revert the GOption code.
25280
25281 2005-09-17  David Schleef  <ds@schleef.org>
25282
25283         * check/Makefile.am: Fix environment variables.
25284         * check/gst/gstplugin.c: Fix for API changes.
25285         * tools/gst-inspect.c: Fix for API changes.
25286         * tools/gst-xmlinspect.c: Fix for API changes.
25287         * gst/gstelementfactory.c:
25288         * gst/gstplugin.c:
25289         * gst/gstplugin.h:
25290         * gst/gstpluginfeature.c:
25291         * gst/gstpluginfeature.h:
25292         * gst/gstregistry.c:
25293         * gst/gstregistry.h:
25294         * gst/gstregistryxml.c:
25295         * gst/gsttypefind.c:
25296         * gst/gsttypefindfactory.c:
25297         * gst/indexers/gstfileindex.c:
25298         * gst/indexers/gstmemindex.c:
25299         * gst/schedulers/Makefile.am:
25300           Change registry to keep track of both plugins and features,
25301           removing the feature tracking from plugins themselves.
25302
25303 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25304
25305         * check/Makefile.am:
25306         * tools/gst-register.1.in:
25307           remove gst-register
25308
25309 2005-09-15  David Schleef  <ds@schleef.org>
25310
25311         * check/gst/gstplugin.c:
25312         * gst/gstelementfactory.c:
25313         * gst/gstplugin.c:
25314         * gst/gstpluginfeature.c:
25315         * gst/gstregistry.c:
25316           Getting tired of debugging.  Disabled all the unreffing of
25317           plugins and features, which fixes the segfaults, but of
25318           course leaks like crazy.  At least playbin works.
25319
25320 2005-09-15  David Schleef  <ds@schleef.org>
25321
25322         * check/gst/gstplugin.c: (register_check_elements),
25323         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25324         More testing
25325         * gst/elements/gsttypefindelement.c: Fix refcounting.
25326         * gst/gsttypefind.c:
25327         * gst/gsttypefindfactory.c:
25328         * gst/gsttypefindfactory.h:
25329
25330 2005-09-15  David Schleef  <ds@schleef.org>
25331
25332         * gst/gstindex.c: get refcounting correct.
25333         * gst/gstregistry.c: Handle the case where a feature/plugin is
25334           not found.
25335
25336 2005-09-15  David Schleef  <ds@schleef.org>
25337
25338         * check/Makefile.am:
25339         * check/gst/gstplugin.c: Add test
25340         * gst/gstplugin.c: Fix problems noticed by testsuite
25341         * gst/gstplugin.h:
25342         * gst/gstregistry.c: 
25343         * gst/gstregistry.h:
25344
25345 2005-09-15  David Schleef  <ds@schleef.org>
25346
25347         * gst/gstplugin.c: Implement semi-decent recounting and locking
25348           in plugins and plugin features.
25349         * gst/gstplugin.h:
25350         * gst/gstpluginfeature.c:
25351         * gst/gstpluginfeature.h:
25352         * gst/gstregistry.c:
25353
25354 2005-09-15  Michael Smith <msmith@fluendo.com>
25355
25356         * gst/gstregistry.c: (gst_registry_get_feature_list):
25357           Implement this. Makes oggdemux work; decodebin still broken.
25358
25359 2005-09-14  David Schleef  <ds@schleef.org>
25360
25361         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25362           #316076)
25363         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25364         * gst/check/Makefile.am:
25365         * libs/gst/controller/Makefile.am:
25366         * libs/gst/dataprotocol/Makefile.am:
25367
25368 2005-09-14  David Schleef  <ds@schleef.org>
25369
25370         * configure.ac: Remove getbits library.  Nothing uses it, and
25371           it should be in something like liboil if someone did want
25372           to use it.
25373         * libs/gst/Makefile.am:
25374         * libs/gst/getbits/Makefile.am:
25375         * libs/gst/getbits/gbtest.c:
25376         * libs/gst/getbits/getbits.c:
25377         * libs/gst/getbits/getbits.h:
25378         * libs/gst/getbits/gstgetbits_generic.c:
25379         * libs/gst/getbits/gstgetbits_i386.s:
25380         * libs/gst/getbits/gstgetbits_inl.h:
25381
25382 2005-09-14  David Schleef  <ds@schleef.org>
25383
25384         * gst/Makefile.am: Dist glib-compat.h
25385
25386 2005-09-14  David Schleef  <ds@schleef.org>
25387
25388         * configure.ac: Remove gst/registries, since it's no longer used.
25389         * gst/registries/Makefile.am:
25390         * gst/registries/gstlibxmlregistry.c:
25391         * gst/registries/gstlibxmlregistry.h:
25392         * gst/registries/gstxmlregistry.c:
25393         * gst/registries/gstxmlregistry.h:
25394         * gst/registries/registrytest.c:
25395
25396 2005-09-14  David Schleef  <ds@schleef.org>
25397
25398         * gst/glib-compat.h:
25399         * gst/gstregistryxml.c:
25400           Convergence is near.  Seriously.
25401
25402 2005-09-14  David Schleef  <ds@schleef.org>
25403
25404         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25405         * gst/glib-compat.h:
25406           Attempt #4 to appease the buildbots.
25407
25408 2005-09-14  David Schleef  <ds@schleef.org>
25409
25410         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25411           Attempt #3.
25412
25413 2005-09-14  David Schleef  <ds@schleef.org>
25414
25415         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25416         Attempt #2.
25417
25418 2005-09-14  David Schleef  <ds@schleef.org>
25419
25420         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25421           the new functions.
25422
25423 2005-09-14  David Schleef  <ds@schleef.org>
25424
25425         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25426         * gst/glib-compat.h: Add some functions that are in newer versions
25427           of glib than we care to require.
25428         * gst/gstregistryxml.c: Use them.
25429
25430 2005-09-14  David Schleef  <ds@schleef.org>
25431
25432         * po/POTFILES.in: remove gst-register.c
25433
25434 2005-09-14  David Schleef  <ds@schleef.org>
25435
25436         * docs/gst/gstreamer-docs.sgml:
25437         * docs/gst/gstreamer-sections.txt:
25438         * docs/gst/gstreamer.types:
25439         * docs/gst/tmpl/gstelement.sgml:
25440         * docs/gst/tmpl/gstplugin.sgml:
25441         * docs/gst/tmpl/gstpluginfeature.sgml:
25442           Documentation updates for registry changes.
25443
25444 2005-09-14  David Schleef  <ds@schleef.org>
25445
25446         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25447           because we don't require glib-2.8.
25448
25449 2005-09-14  David Schleef  <ds@schleef.org>
25450
25451         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25452           registries directory.
25453
25454 2005-09-14  David Schleef  <ds@schleef.org>
25455
25456         * check/Makefile.am:
25457         * check/generic/states.c:
25458         * gst/Makefile.am:
25459         * gst/gst.c:
25460         * gst/gst.h:
25461         * gst/gst_private.h:
25462         * gst/gstelementfactory.c:
25463         * gst/gstindex.c:
25464         * gst/gstinfo.c:
25465         * gst/gstplugin.c:
25466         * gst/gstplugin.h:
25467         * gst/gstpluginfeature.c:
25468         * gst/gstpluginfeature.h:
25469         * gst/gstregistry.c:
25470         * gst/gstregistry.h:
25471         * gst/gstregistrypool.c: remove
25472         * gst/gstregistrypool.h: remove
25473         * gst/gsttypefind.c:
25474         * gst/gsttypefindfactory.c:
25475         * gst/gsturi.c:
25476         * tools/Makefile.am:
25477         * tools/gst-compprep.c:
25478         * tools/gst-inspect.c:
25479         * tools/gst-register.c: remove
25480         * tools/gst-xmlinspect.c:
25481           Registry rewrite.  Changes registry from being a file created
25482           by a tool into a simple cache file created automatically by 
25483           libgstreamer.  Removed gst-register (because it's no longer
25484           needed).  Remove registry pools, because we only have one
25485           registry implementation (XML).  Fix up other subsystems as
25486           necessary.
25487
25488 2005-09-13  Michael Smith <msmith@fluendo.com>
25489
25490         * gst/gstconfig.h.in:
25491           Don't Use windows linking attributes for MinGW. Fixes #316157
25492
25493 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25494
25495         * gst/gstutils.c: (set_state_async_thread_func),
25496         (gst_element_set_state_async):
25497           Apparently people think it's better if this function doesn't
25498           try to set the state to whatever state was asked for on the first
25499           call to this function for any object.  Seriously.
25500
25501 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25502
25503         * check/gst/gstpipeline.c: (GST_START_TEST):
25504         * docs/gst/gstreamer-sections.txt:
25505         * gst/gstutils.c: (set_state_async_thread_func),
25506         (gst_element_set_state_async):
25507         * gst/gstutils.h:
25508           add a "gst_element_set_state_async" method that
25509           sets the state and starts a thread to make sure the state
25510           change completes as best as it can
25511
25512 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25513
25514         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25515           codify design+behaviour in testsuite after discussion
25516
25517 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25518
25519         * docs/gst/tmpl/gstelement.sgml:
25520         * docs/manual/appendix-quotes.xml:
25521           add a quote
25522         * gst/gstelement.c: (gst_element_set_state):
25523           add some debug
25524
25525 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25526
25527         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25528         (gst_base_transform_prepare_output_buf),
25529         (gst_base_transform_handle_buffer):
25530         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25531         (gst_capsfilter_prepare_buf):
25532           Remove the requirement for sub-classes to call the parent
25533           implementation of prepare_output_buffer with a wrapper function.
25534           
25535         * gst/gsttaglist.h:
25536         * gst/gsttagsetter.h:
25537           Fix #define wrapper
25538
25539 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25540
25541         * docs/gst/gstreamer-sections.txt:
25542           more doc cleanups
25543
25544 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25545
25546         * docs/gst/gstreamer-sections.txt:
25547         * docs/gst/tmpl/gstelement.sgml:
25548         * docs/gst/tmpl/gstplugin.sgml:
25549         * gst/gstminiobject.c:
25550         * gst/gstvalue.h:
25551           docs now stop throwing warnings
25552
25553 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25554
25555         * docs/gst/gstreamer-sections.txt:
25556         * docs/gst/gstreamer.types:
25557         * docs/gst/tmpl/gstpad.sgml:
25558         * docs/gst/tmpl/gsttypes.sgml:
25559         * gst/base/gstadapter.h:
25560         * gst/base/gstbasesink.h:
25561         * gst/base/gstbasesrc.h:
25562         * gst/gstbin.h:
25563         * gst/gstbuffer.h:
25564         * gst/gstbus.h:
25565         * gst/gstcaps.h:
25566         * gst/gstclock.h:
25567         * gst/gstelement.h:
25568         * gst/gstevent.h:
25569         * gst/gstmessage.h:
25570         * gst/gstpad.h:
25571         * gst/gststructure.c:
25572         * gst/registries/gstlibxmlregistry.h:
25573           various documentation fixes
25574
25575 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25576
25577         * docs/gst/gstreamer-sections.txt:
25578         * docs/gst/tmpl/gstvalue.sgml:
25579           rearrange gstvalue section
25580         * gst/gstutils.c: (gst_element_state_get_name):
25581           NONE -> VOID
25582         * gst/gstvalue.c: (_gst_value_initialize):
25583         * gst/gstvalue.h:
25584           doc updates
25585
25586 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25587
25588         * check/gst-libs/controller.c:
25589           Header include fix.
25590         * gst/base/gstbasetransform.c:
25591         (gst_base_transform_default_prepare_buf),
25592         (gst_base_transform_handle_buffer):
25593         * gst/base/gstbasetransform.h:
25594           Some more basetransform changes and fixes to enable sub-classes
25595           that modify buffer metadata only.
25596         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25597         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25598         (gst_capsfilter_prepare_buf):
25599           If the output pad has fixed allowed caps and input buffers 
25600           don't have any, set the fixed caps on outgoing buffers.
25601
25602 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25603         * check/elements/identity.c: (GST_START_TEST):
25604           Make the error a little clearer when the test fails because
25605           identity made a copy of the buffer.
25606         * docs/gst/gstreamer-sections.txt:
25607           New symbols in gstbasetransform.h
25608         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25609         (gst_base_transform_init), (gst_base_transform_transform_size),
25610         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25611         (gst_base_transform_default_prepare_buf),
25612         (gst_base_transform_get_unit_size),
25613         (gst_base_transform_buffer_alloc),
25614         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25615         (gst_base_transform_change_state),
25616         (gst_base_transform_set_passthrough),
25617         (gst_base_transform_set_in_place),
25618         (gst_base_transform_is_in_place):
25619         * gst/base/gstbasetransform.h:
25620           Change BaseTransform to separate in_place operate from same_caps
25621           output. in_place implies that the element can perform the transform
25622           on incoming buffers in-place, even if the caps on the output are
25623           different.
25624           Sub-class elements can now implement special buffer allocation
25625           methods for outgoing buffers if they wish to.
25626           Big documentation addition.
25627         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25628         * gst/elements/gstelements.c:
25629           Changes for basetransform modifications.
25630         * gst/elements/Makefile.am:
25631         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25632           Compile fix. Extra debug output.
25633
25634 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25635
25636         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25637         (gst_pad_suite):
25638           add tests for valid pad naming
25639         * gst/check/gstcheck.c: (gst_check_log_message_func),
25640         (gst_check_log_critical_func):
25641           add ASSERT_WARNING
25642           remove printing of code, it is fragile when the code contains
25643           % and the line number is enough info
25644         * gst/check/gstcheck.h:
25645         * gst/gstpad.c: (gst_pad_template_new):
25646           fix memleaks
25647
25648 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25649
25650         * configure.ac:
25651           say what CHECK flags we use
25652         * docs/libs/gstreamer-libs.types:
25653         * libs/gst/controller/Makefile.am:
25654         * libs/gst/controller/gst-controller.c:
25655         * libs/gst/controller/gst-controller.h:
25656         * libs/gst/controller/gst-helper.c:
25657         * libs/gst/controller/gst-interpolation.c:
25658         * libs/gst/controller/gstcontroller.c:
25659         * libs/gst/controller/gsthelper.c:
25660         * libs/gst/controller/gstinterpolation.c:
25661         * tools/gst-inspect.c: (print_plugin_info):
25662           we don't use dashes in header names
25663
25664 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25665
25666         * check/Makefile.am:
25667         * check/gst/.cvsignore:
25668         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25669         (gst_pipeline_suite), (main):
25670           adding a test for pipelines and state changes
25671         * gst/gstutils.c: (get_state_func):
25672           add some debugging
25673         * gstreamer.spec.in:
25674           fix up spec file
25675
25676 2005-09-08  Michael Smith <msmith@fluendo.com>
25677
25678         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25679         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25680         (gst_file_src_is_seekable), (gst_file_src_get_size),
25681         (gst_file_src_start):
25682         * gst/elements/gstfilesrc.h:
25683           Various fixes for unseekable, unmmapable, and non-normal files, so
25684           that fallback to read() rather than mmap() works.
25685         * gst/gstevent.c: (gst_event_new_newsegment):
25686           Allow newsegment events with segment_start == segment_end, as will
25687           correctly happen if you use filesrc on a zero-size file, for
25688           example.
25689
25690 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25691
25692         * gst/gstplugin.c: (gst_plugin_load_file):
25693           Call g_module_close when we don't load the module
25694
25695         * gst/registries/gstlibxmlregistry.c:
25696         (gst_xml_registry_get_property):
25697           Port leak fix from 0.8
25698
25699 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25700
25701         * docs/gst/gstreamer-docs.sgml:
25702         * docs/gst/tmpl/.cvsignore:
25703         * docs/gst/tmpl/gsttrace.sgml:
25704         * docs/gst/tmpl/gsttrashstack.sgml:
25705         * gst/Makefile.am:
25706         * gst/gst.h:
25707         * gst/gstelement.h:
25708         * gst/gstevent.h:
25709         * gst/gstmessage.c:
25710         * gst/gstmessage.h:
25711         * gst/gsttag.c:
25712         * gst/gsttag.h:
25713         * gst/gsttaginterface.c:
25714         * gst/gsttaginterface.h:
25715         * gst/gsttaglist.c:
25716         * gst/gsttaglist.h:
25717         * gst/gsttagsetter.c:
25718         * gst/gsttagsetter.h:
25719         * gst/gsttrace.c:
25720         * gst/gsttrace.h:
25721         * gst/gsttrashstack.c:
25722           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25723           inlined docs for gsttrace, gsttrashstack
25724
25725 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25726
25727         * gst/Makefile.am:
25728         * gst/elements/gstbufferstore.h:
25729         * gst/elements/gsttypefindelement.c:
25730         * gst/elements/gsttypefindelement.h:
25731         * gst/gst.h:
25732         * gst/gsttypefind.c:
25733         * gst/gsttypefind.h:
25734         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25735         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25736         (gst_type_find_factory_dispose),
25737         (gst_type_find_factory_unload_thyself),
25738         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25739         (gst_type_find_factory_get_caps),
25740         (gst_type_find_factory_get_extensions),
25741         (gst_type_find_factory_call_function):
25742         * gst/gsttypefindfactory.h:
25743         * gst/registries/gstlibxmlregistry.c:
25744         * gst/registries/gstxmlregistry.c:
25745           splitted gsttypefind into gsttypefind, gsttypefindfactory
25746
25747 2005-09-07  Andy Wingo  <wingo@pobox.com>
25748
25749         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25750         condition whereby the pad's task function is entered before the
25751         pad_mode variable was set.
25752
25753 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25754
25755         * gst/gstpad.c: (gst_pad_alloc_buffer):
25756           Catch misbehaving pad_alloc functions that don't
25757           set up caps and do it for them.
25758
25759 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25760
25761         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25762           test for pipe!=NULL
25763         * docs/gst/tmpl/.cvsignore:
25764         * docs/gst/tmpl/gstmemchunk.sgml:
25765         * docs/gst/tmpl/gstparse.sgml:
25766         * docs/gst/tmpl/gsttaglist.sgml:
25767         * docs/gst/tmpl/gsttagsetter.sgml:
25768         * docs/gst/tmpl/gsttypefind.sgml:
25769         * docs/gst/tmpl/gsttypefindfactory.sgml:
25770         * gst/gstmemchunk.c:
25771         * gst/gstparse.c:
25772         * gst/gsttag.c:
25773         * gst/gsttaginterface.c:
25774         * gst/gsttypefind.c:
25775         * gst/gsttypefind.h:
25776           inlined more docs
25777
25778 === release 0.9.2 ===
25779
25780 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25781
25782         * NEWS:
25783         * RELEASE:
25784         * configure.ac:
25785           releasing 0.9.2, "South"
25786
25787 2005-09-05  Andy Wingo  <wingo@pobox.com>
25788
25789         * gst/registries/gstxmlregistry.h:
25790         * gst/registries/gstxmlregistry.c: Um... resurrect...
25791         
25792         * gst/registries/gstxmlregistry.h:
25793         * gst/registries/gstxmlregistry.c: and update to newer API.
25794         Incidentally they should be a bit faster now that they don't have
25795         to parse the caps.
25796         
25797 2005-09-05  Andy Wingo  <wingo@pobox.com>
25798
25799         * gst/registries/gstxmlregistry.h:
25800         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25801         replaced by the libxml registry a while back
25802
25803 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25804
25805         * docs/gst/tmpl/gstplugin.sgml:
25806         * gst/elements/gstelements.c:
25807         * gst/gst.c:
25808         * gst/gstplugin.c: (gst_plugin_register_func),
25809         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25810         (gst_plugin_get_source):
25811         * gst/gstplugin.h:
25812         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25813         (gst_xml_registry_save_plugin):
25814         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25815         (gst_xml_registry_save_plugin):
25816         * tools/gst-inspect.c: (print_plugin_info):
25817           add a "source" plugin description field, to represent the source
25818           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25819           will set it to PACKAGE, which is automake's idea of the name of
25820           the source project.
25821
25822 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25823
25824         * Makefile.am:
25825         * autogen.sh:
25826         * configure.ac:
25827         * docs/Makefile.am:
25828         * docs/faq/Makefile.am:
25829         * docs/gst/tmpl/gstelement.sgml:
25830         * docs/gst/tmpl/gsttypes.sgml:
25831         * docs/htmlinstall.mak:
25832         * docs/manual/Makefile.am:
25833         * docs/pwg/Makefile.am:
25834           reorganize doc build a little
25835           split out docbook and gtk-doc stuff
25836           have two separate --enable's and enable them through autogen
25837           but disable by default in configure (to be similar to other
25838           projects)
25839         * gstreamer.spec.in:
25840           clean up docs install
25841         * po/af.po:
25842         * po/az.po:
25843         * po/ca.po:
25844         * po/cs.po:
25845         * po/de.po:
25846         * po/en_GB.po:
25847         * po/fr.po:
25848         * po/it.po:
25849         * po/nb.po:
25850         * po/nl.po:
25851         * po/ru.po:
25852         * po/sq.po:
25853         * po/sr.po:
25854         * po/sv.po:
25855         * po/tr.po:
25856         * po/uk.po:
25857         * po/vi.po:
25858           translation updates
25859
25860 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25861
25862         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25863           Add comment.
25864           
25865         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25866         (gst_fake_sink_change_state):
25867           Make state change function thread-safe.
25868           
25869         * gst/gstpad.c: (gst_pad_alloc_buffer):
25870           Set offset on generic buffer allocated by fallback.
25871
25872 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25873
25874         * docs/gst/gstreamer-sections.txt:
25875         * docs/gst/tmpl/gstelement.sgml:
25876         * gst/gstpad.c:
25877         * libs/gst/controller/gst-controller.c:
25878         (gst_controlled_property_set_interpolation_mode),
25879         (gst_controlled_property_new),
25880         (gst_controller_find_controlled_property):
25881          run the wingo-magic script against the docs
25882
25883 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25884
25885         * docs/gst/gstreamer-docs.sgml:
25886         * docs/gst/gstreamer-sections.txt:
25887         * docs/gst/tmpl/.cvsignore:
25888         * docs/gst/tmpl/gstelementdetails.sgml:
25889         * docs/gst/tmpl/gstelementfactory.sgml:
25890         * gst/gst.c:
25891         * gst/gstbus.c:
25892         * gst/gstelementfactory.c:
25893         * gst/gstelementfactory.h:
25894           merged elementdetails docs into elementfactory docs
25895           inlined both
25896
25897 2005-09-02  Andy Wingo  <wingo@pobox.com>
25898
25899         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25900         consider this enum an enum and not a flags.
25901
25902 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25903
25904         * docs/gst/gstreamer-docs.sgml:
25905         * docs/gst/tmpl/.cvsignore:
25906         * docs/gst/tmpl/gstghostpad.sgml:
25907         * docs/gst/tmpl/gstiterator.sgml:
25908         * docs/gst/tmpl/gstmacros.sgml:
25909         * docs/gst/tmpl/gstrealpad.sgml:
25910         * docs/gst/tmpl/gstregistry.sgml:
25911         * docs/gst/tmpl/gstregistrypool.sgml:
25912         * docs/gst/tmpl/gststructure.sgml:
25913         * docs/gst/tmpl/gstsystemclock.sgml:
25914         * docs/gst/tmpl/gsttrace.sgml:
25915         * gst/gstghostpad.c:
25916         * gst/gstmacros.h:
25917         * gst/gstmemchunk.c:
25918         * gst/gstmemchunk.h:
25919         * gst/gstqueue.c:
25920         * gst/gstregistry.c:
25921         * gst/gstregistrypool.c:
25922         * gst/gststructure.c:
25923         * gst/gstsystemclock.c:
25924           more docs inlined
25925
25926 2005-09-02  Andy Wingo  <wingo@pobox.com>
25927
25928         * gst/gstelement.h (GstState): Renamed from GstElementState,
25929         changed to be a normal enum instead of flags.
25930         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25931         munged to be GST_STATE_CHANGE_*.
25932         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25933         work with the new state representation.
25934         (GstStateChange): New enumeration of possible state transitions.
25935         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25936         (GstElementClass::change_state): Pass the GstStateChange along as
25937         an argument. Helps language bindings, so they don't have to use
25938         tricky lock-needing macros like GST_STATE_CHANGE ().
25939
25940         * scripts/update-states (file): New script. Run it on a file to
25941         update it for state naming and API changes. Updates files in
25942         place.
25943
25944         * All files updated for the new API.
25945
25946 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25947
25948         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25949         * gst/gstutils.c: (gst_util_set_value_from_string),
25950         (gst_util_set_object_arg):
25951           fix a bunch of unchecked return values
25952         * tools/gst-complete.c: (main):
25953         * gstreamer.spec.in:
25954           clean up a little
25955
25956 2005-09-01  Wim Taymans  <wim@fluendo.com>
25957
25958         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25959         (gst_base_sink_event), (gst_base_sink_do_sync),
25960         (gst_base_sink_handle_event):
25961         * gst/base/gstbasesink.h:
25962         Handle newsegments more correctly.
25963
25964         * gst/gstbus.c:
25965         Fix docs.
25966
25967         * gst/gstevent.c: (gst_event_new_newsegment):
25968         A newsegment cannot have a start_time of -1
25969
25970 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25971
25972         * win32/gstenumtypes.c:
25973         * win32/gstenumtypes.h:
25974           Update
25975
25976 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25977
25978         * libs/gst/controller/gst-controller.c:
25979         (gst_controlled_property_set_interpolation_mode),
25980         (gst_controlled_property_new):
25981          fixed boolean again
25982
25983 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25984
25985         * docs/faq/gst-uninstalled:
25986           add -good
25987         * gst/gstevent.c:
25988         * gst/gstevent.h:
25989           remove wrong docs
25990         * gst/gstutils.c: (gst_element_link_filtered):
25991         * gst/gstutils.h:
25992           add gst_element_link_filtered
25993
25994 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25995
25996         * docs/gst/gstreamer-docs.sgml:
25997         * docs/gst/gstreamer-sections.txt:
25998         * docs/gst/tmpl/.cvsignore:
25999         * docs/gst/tmpl/gsterror.sgml:
26000         * docs/gst/tmpl/gstfilter.sgml:
26001         * docs/gst/tmpl/gsturihandler.sgml:
26002         * docs/gst/tmpl/gsturitype.sgml:
26003         * docs/gst/tmpl/gstutils.sgml:
26004         * docs/gst/tmpl/gstxml.sgml:
26005         * gst/gsterror.c:
26006         * gst/gsterror.h:
26007         * gst/gstfilter.c:
26008         * gst/gsturi.c:
26009         * gst/gsturitype.c:
26010         * gst/gstutils.c:
26011         * gst/gstxml.c:
26012           inlined more docs, fixed double id-ref
26013
26014 2005-08-31  Wim Taymans  <wim@fluendo.com>
26015
26016         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26017         (gst_base_transform_handle_buffer):
26018         Passthrough elements don't need the caps as they don't care.
26019
26020 2005-08-31  Wim Taymans  <wim@fluendo.com>
26021
26022         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26023         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
26024         Don't leak refcounts on buffers.
26025
26026 2005-08-31  Wim Taymans  <wim@fluendo.com>
26027
26028         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
26029         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26030         (gst_base_transform_chain), (gst_base_transform_change_state):
26031         * gst/base/gstbasetransform.h:
26032         Handle the case where we are not negotiated more gracefully.
26033
26034 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
26035
26036         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
26037         (gst_file_src_map_region):
26038           Set READONLY flag on mmap'ed buffers, otherwise
26039           gst_buffer_make_writable() won't work properly (#314708).
26040
26041 2005-08-31  Wim Taymans  <wim@fluendo.com>
26042
26043         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
26044         passthrough elements can even do inplace on non writable
26045         buffers (as they don't touch them).
26046
26047 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26048
26049         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26050         (gst_test_mono_source_set_property),
26051         (gst_test_mono_source_class_init), (GST_START_TEST),
26052         (gst_controller_suite):
26053           more tests (hehe I have the most)
26054         * gst/gstbus.c:
26055           describe popping messages whenusing mulltiple sources
26056         * libs/gst/controller/gst-controller.c:
26057         (gst_controlled_property_set_interpolation_mode),
26058         (gst_controlled_property_new):
26059         * libs/gst/controller/gst-controller.h:
26060         * libs/gst/controller/gst-interpolation.c:
26061           implement boolean properties
26062
26063 2005-08-31  Wim Taymans  <wim@fluendo.com>
26064
26065         * gst/gstminiobject.c: (gst_mini_object_ref):
26066         Cannot assert that the refcount has to be positive
26067         since a disposed object can be resurrected.
26068
26069 2005-08-31  Wim Taymans  <wim@fluendo.com>
26070
26071         * gst/gstpad.c: (gst_pad_init):
26072         Revert change, need to first fix badly behaving 
26073         apps.
26074
26075 2005-08-30  Wim Taymans  <wim@fluendo.com>
26076
26077         * check/elements/fakesrc.c: (setup_fakesrc):
26078         * check/elements/identity.c: (setup_identity):
26079         Activate pads before using them.
26080
26081 2005-08-30  Wim Taymans  <wim@fluendo.com>
26082
26083         * gst/base/gstadapter.c: (gst_adapter_flush):
26084         Flushing out 0 bytes is ok for this function.
26085
26086         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26087         no newsegment gives a warning and sets the start/stop to 
26088         invalid.
26089
26090         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26091         (gst_base_transform_set_passthrough):
26092         Some debug info.
26093
26094         * gst/gstminiobject.c: (gst_mini_object_ref):
26095         Check refcount here too.
26096
26097         * gst/gstpad.c: (gst_pad_init):
26098         Pads are initially flushing and refusing data.
26099
26100         * gst/gstutils.c: (gst_element_link_pads_filtered):
26101         When adding a capsfilter element make sure it has the
26102         same state as the parent bin.
26103
26104 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26105
26106         * docs/gst/tmpl/.cvsignore:
26107         * docs/gst/tmpl/gstformat.sgml:
26108         * docs/gst/tmpl/gstversion.sgml:
26109         * gst/gstbus.h:
26110         * gst/gstformat.c:
26111         * gst/gstformat.h:
26112         * gst/gstversion.h.in:
26113           more docs and two more inlined
26114
26115 2005-08-30  Wim Taymans  <wim@fluendo.com>
26116
26117         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26118         Don't sync to clock.
26119
26120 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26121
26122         * docs/gst/gstreamer-sections.txt:
26123           ultral33t func10ns deserve to appear in the docs actually
26124         * docs/gst/tmpl/.cvsignore:
26125         * docs/gst/tmpl/gstcompat.sgml:
26126         * docs/gst/tmpl/gstconfig.sgml:
26127         * gst/check/gstcheck.c:
26128         * gst/gstcompat.h:
26129         * gst/gstconfig.h.in:
26130           inlined more docs
26131
26132 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26133
26134         * docs/gst/tmpl/.cvsignore:
26135         * docs/gst/tmpl/gstquery.sgml:
26136         * docs/gst/tmpl/gstutils.sgml:
26137         * gst/gstquery.c:
26138         * gst/gstquery.h:
26139           inlined and extended docs
26140
26141 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26142
26143         * check/gst-libs/controller.c: (GST_START_TEST),
26144         (gst_controller_suite):
26145           more tests
26146         * docs/gst/tmpl/gstutils.sgml:
26147         * docs/libs/gstreamer-libs-sections.txt:
26148         * docs/libs/tmpl/gstdataprotocol.sgml:
26149           include path fixes
26150         * examples/controller/audio-example.c: (main):
26151           controller example works now
26152         * gst/gstclock.h:
26153           doc fixes
26154         * tools/gst-inspect.c: (print_element_properties_info):
26155           show param spec flags
26156
26157 2005-08-29  Andy Wingo  <wingo@pobox.com>
26158
26159         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26160
26161 2005-08-28  Andy Wingo  <wingo@pobox.com>
26162
26163         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26164         as having two arguments instead of just one. Allows superclasses
26165         to access information on subclasses -- see the terrible for() loop
26166         in gtype.c:g_type_create_instance for the reason why. All callers
26167         changed.
26168
26169 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26170
26171         * docs/design/part-messages.txt:
26172           update info
26173         * docs/gst/tmpl/.cvsignore:
26174         * docs/gst/tmpl/gstcaps.sgml:
26175         * docs/gst/tmpl/gstclock.sgml:
26176         * gst/gstbus.c:
26177         * gst/gstcaps.c:
26178         * gst/gstcaps.h:
26179         * gst/gstclock.c:
26180         * gst/gstclock.h:
26181         * gst/gstmessage.c:
26182           added descriptions for bus and message
26183           inline caps and clock docs
26184
26185 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26186
26187         * gst/gstmessage.c:
26188         * gst/gstmessage.h:
26189           doc fixes
26190
26191 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26192
26193         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26194           fix div-by-zero
26195
26196 2005-08-26  Andy Wingo  <wingo@pobox.com>
26197
26198         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26199         element_set_state's return val.
26200         (test_2_elements): Add test that's been disabled for months.
26201
26202         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26203         can-activate-pull properties.
26204
26205         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26206         can-activate-pull properties. Implement is_seekable so fakesrc can
26207         operate in pull mode.
26208
26209         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26210         properties.
26211         (gst_base_sink_activate, gst_base_sink_activate_pull)
26212         (gst_base_sink_activate_push): Make activation mode choosing work.
26213         Cleanups.
26214         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26215         is right. Make pull mode work. Post an eos before pausing in pull
26216         mode.
26217         (gst_base_sink_change_state): Pay attention to the core's
26218         change_state() return val.
26219         
26220         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26221         has-getrange properties. Cleanups.
26222         
26223         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26224         has_getrange and replace with can_activate_pull and
26225         can_activate_push.
26226
26227         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26228         locking comments. Remove has_loop, has_chain and replace with
26229         can_activate_pull and can_activate_push.
26230
26231 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26232
26233         * configure.ac:
26234         * examples/Makefile.am:
26235         * examples/metadata/Makefile.am:
26236         * examples/metadata/read-metadata.c: (message_loop),
26237         (have_pad_handler), (make_pipeline), (print_tag), (main):
26238           Add metadata reading example that loops over a list of filenames,
26239           dumping any tags found.
26240
26241         * gst/gstbus.c: (gst_bus_dispose):
26242         * gst/gstelement.c: (gst_element_dispose):
26243           Release a few potentially-held references in dispose.
26244
26245 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26246
26247         * docs/gst/tmpl/gstminiobject.sgml:
26248           do *not* add tmpl/*.sgml files to CVS!
26249
26250 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26251
26252         * libs/gst/bytestream/.cvsignore:
26253         * libs/gst/bytestream/Makefile.am:
26254         * libs/gst/bytestream/adapter.c:
26255         * libs/gst/bytestream/adapter.h:
26256         * libs/gst/bytestream/bytestream.c:
26257         * libs/gst/bytestream/bytestream.h:
26258         * libs/gst/bytestream/filepad.c:
26259         * libs/gst/bytestream/filepad.h:
26260           removing obsolete files
26261
26262 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26263
26264         * docs/gst/gstreamer-docs.sgml:
26265         * docs/libs/gstreamer-libs-docs.sgml:
26266           disabed additional index entries again, as this makes docs-gen just
26267           slow and they aren't useful yet
26268         * docs/libs/gstreamer-libs-sections.txt:
26269           little -section.txt cleanup for libs
26270
26271 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26272
26273         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26274         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26275           fix up some debugging
26276         (gst_base_transform_get_unit_size),
26277         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26278         (gst_base_transform_handle_buffer):
26279         * gst/base/gstbasetransform.h:
26280           handle and store timed NEWSEGMENT events so that subclasses that
26281           calculate time by counting samples have a segment_start time they
26282           need to add to their timestamps - see audioresample
26283
26284 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26285
26286         * gst/gstbin.h:
26287           removed ';' from the end of macro defs
26288         * docs/gst/gstreamer-docs.sgml:
26289         * docs/gst/gstreamer-sections.txt:
26290         * docs/gst/tmpl/.cvsignore:
26291         * gst/gstbus.h:
26292         * gst/gstelement.c: (gst_element_class_init),
26293         (gst_element_set_state), (activate_pads),
26294         (gst_element_save_thyself):
26295         * gst/gstevent.c: (gst_event_new_newsegment):
26296         * gst/gstevent.h:
26297         * gst/gstiterator.c:
26298         * gst/gstiterator.h:
26299         * gst/gstpad.c:
26300         * gst/gstprobe.h:
26301         * gst/gstutils.c: (gst_pad_query_convert):
26302         * gst/gstutils.h:
26303           fixed parameter name mismatches between source, header and docs
26304           added some more docs, resolved the last batch of unused elements in
26305           docs (now someone needs to doc them)
26306
26307 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26308
26309         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26310         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26311           don't walk through the plugins backwards.  Where is all this
26312           reversed logic coming from ?
26313
26314 2005-08-25  Wim Taymans  <wim@fluendo.com>
26315
26316         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26317         (gst_base_transform_transform_size),
26318         (gst_base_transform_configure_caps),
26319         (gst_base_transform_get_unit_size),
26320         (gst_base_transform_buffer_alloc),
26321         (gst_base_transform_change_state):
26322         * gst/base/gstbasetransform.h:
26323         Cache caps unit_size.
26324         Make sure we cannot negotiate up and downstream at the
26325         same time.
26326
26327 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26328
26329         * gst/gst.c: (init_pre), (init_post):
26330           register the installed plugin path after the env var
26331         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26332         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26333           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26334           directories, so the tests can prefer uninstalled over installed
26335
26336 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26337
26338         * gst/base/gstbasetransform.h:
26339           comment
26340         * gst/gstpad.c:
26341           add to docs
26342
26343 2005-08-25  Wim Taymans  <wim@fluendo.com>
26344
26345         * gst/gstbin.c: (bin_bus_handler):
26346         Be a bit more conservative about the posted message.
26347         
26348         * gst/gstbus.c: (gst_bus_post):
26349         Some cleanups, warn wrong return values.
26350
26351 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26352
26353         * check/gst/gstbin.c: (GST_START_TEST):
26354         * gst/gstbin.c: (bin_bus_handler):
26355         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26356         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26357         (gst_message_new_warning), (gst_message_new_tag),
26358         (gst_message_new_state_changed), (gst_message_new_segment_start),
26359         (gst_message_new_segment_done), (gst_message_new_custom):
26360         * gst/gstmessage.h:
26361         * tools/gst-launch.c: (event_loop):
26362         * tools/gst-md5sum.c: (event_loop):
26363           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26364
26365 2005-08-25  Wim Taymans  <wim@fluendo.com>
26366
26367         * check/generic/states.c: (GST_START_TEST):
26368         Cleanup can be done at the end.
26369
26370         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26371         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26372         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26373         Oh boy.. Thanks for finding this, Thomas. 
26374
26375 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26376
26377         * docs/gst/gstreamer.types:
26378           added missing types
26379
26380 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26381
26382         * docs/gst/gstreamer-docs.sgml:
26383         * docs/gst/gstreamer-sections.txt:
26384         * docs/gst/tmpl/.cvsignore:
26385         * gst/gstbin.c:
26386         * gst/gstiterator.c:
26387         * gst/gstutils.c:
26388         * gst/registries/gstxmlregistry.h:
26389           added missing classes and symbols (123 more to go)
26390           removed removed symbols from section file
26391           fixed many doc-comments
26392
26393 2005-08-24  Wim Taymans  <wim@fluendo.com>
26394
26395         * check/generic/states.c: (GST_START_TEST):
26396         Make sure all tasks are stopped.
26397
26398         * check/gst/gstbin.c: (GST_START_TEST):
26399         Unref after usage for proper valgrinding.
26400
26401         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26402         Really wait for the task to stop before destroying the
26403         mutex.
26404
26405         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26406         (gst_queue_src_activate_push):
26407         Small cleanups. Don't stop the task when we did not start
26408         it.
26409
26410         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26411         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26412         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26413         (gst_task_join):
26414         * gst/gsttask.h:
26415         Protect the stream lock with the object lock.
26416         Disallow setting the stream lock when running.
26417         Add cleanup_all to wait for the threadpool to finish.
26418         Remove code to autoallocate a mutex if none was provided.
26419         Add _join() to wait for a task to stop.
26420         Protect the thread pool with a global lock.
26421
26422 2005-08-24  Wim Taymans  <wim@fluendo.com>
26423
26424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26425         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26426         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26427         * gst/base/gstbasesink.h:
26428         Handle newsegment events correctly.
26429         Drop buffers out of the segment range.
26430
26431 2005-08-22  Andy Wingo  <wingo@pobox.com>
26432
26433         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26434         macro, implements an interface and gstimplementsinterface for a
26435         new type.
26436
26437 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26438
26439         * check/Makefile.am:
26440         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26441           add a test that does a bunch of state changes on elements
26442           needs some fixing for valgrind
26443         * check/states/sinks.c: (gst_object_suite):
26444           whitespace
26445         * gst/gstcaps.h:
26446           add prototype for gst_caps_is_equal_fixed
26447         * gst/gstplugin.c:
26448         * gst/gstregistrypool.c:
26449           doc fixes
26450
26451 2005-08-24  Andy Wingo  <wingo@pobox.com>
26452
26453         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26454         convert a negative value. Doesn't make much sense. Mostly this is
26455         here to force callers to ensure -1 maps to -1.
26456
26457 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26458
26459         * docs/pwg/advanced-types.xml:
26460           Well done to Michael for catching my deliberate introduction
26461           of this spelling mistake. 
26462         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26463         * gst/gstelement.h:
26464           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26465           unlink pads before removing the element from the bin.
26466
26467 2005-08-24  Andy Wingo  <wingo@pobox.com>
26468
26469         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26470         the same thing as GST_DEBUG=*:4.
26471         (parse_debug_level, parse_debug_category): New helper parsers.
26472
26473 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26474
26475         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26476         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26477         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26478         (gst_base_transform_buffer_alloc),
26479         (gst_base_transform_handle_buffer):
26480           use gboolean return values and pointers to size so we can use the
26481           full GST_BUFFER_SIZE range (guint) for buffer sizes
26482           use GstPadDirection for transform_caps
26483         * gst/base/gstbasetransform.h:
26484           rename get_size to get_unit_size since that's what it is
26485         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26486           use GstPadDirection for transform_caps
26487         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26488         * gst/gstutils.h:
26489           cleanup and debugging
26490
26491 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26492
26493         * gst/gstelement.c: (gst_element_class_init),
26494         (gst_element_set_state), (activate_pads),
26495         (gst_element_save_thyself):
26496         * tools/gst-compprep.c: (main):
26497         * tools/gst-inspect.c: (print_element_properties_info):
26498         * tools/gst-xmlinspect.c: (print_element_properties):
26499           Fixed long standing mem-leak
26500
26501 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26502
26503         * check/gst/gstbin.c: (GST_START_TEST):
26504         * gst/gstbin.c: (bin_bus_handler):
26505         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26506         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26507         (gst_message_new_warning), (gst_message_new_tag),
26508         (gst_message_new_state_changed), (gst_message_new_segment_start),
26509         (gst_message_new_segment_done), (gst_message_new_custom):
26510         * gst/gstmessage.h:
26511         * tools/gst-launch.c: (event_loop):
26512         * tools/gst-md5sum.c: (event_loop):
26513           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26514           that applications can sensibly post custom messages with references
26515           to their own objects.
26516
26517 2005-08-24  Andy Wingo  <wingo@pobox.com>
26518
26519         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26520         already.
26521
26522 2005-08-24  Wim Taymans  <wim@fluendo.com>
26523
26524         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26525         (gst_base_transform_transform_caps),
26526         (gst_base_transform_transform_size),
26527         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26528         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26529         (gst_base_transform_handle_buffer):
26530         * gst/base/gstbasetransform.h:
26531         Many fixes and new features added by Thomas. Can now also do
26532         transforms with variable sizes and a custom fixate_caps function.
26533
26534 2005-08-24  Wim Taymans  <wim@fluendo.com>
26535
26536         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26537         Some debugging.
26538
26539         * gst/gstclock.h:
26540         Cast to ClockTime before formatting to time.
26541
26542         * gst/gstutils.h:
26543         Cleanups.
26544
26545 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26546
26547         * check/gst-libs/controller.c: (GST_START_TEST),
26548         (gst_controller_suite):
26549         * docs/gst/tmpl/gstcaps.sgml:
26550         * docs/gst/tmpl/gstghostpad.sgml:
26551         * docs/gst/tmpl/gstquery.sgml:
26552         * docs/gst/tmpl/gstutils.sgml:
26553         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26554         (gst_object_sink_values), (gst_object_get_value_arrays),
26555         (gst_object_get_value_array):
26556           gracefully handle helper method calls to objects that are not beeing
26557           controlled, added test case for that          
26558
26559 2005-08-23  Wim Taymans  <wim@fluendo.com>
26560
26561         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26562         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26563         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26564         (gst_event_parse_qos), (gst_event_new_seek),
26565         (gst_event_parse_seek):
26566         * gst/gstevent.h:
26567         Some more debugging output and doc cleanups.
26568
26569         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26570         Fix possible deadlock.
26571
26572 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26573
26574         * docs/gst/gstreamer-docs.sgml:
26575         * docs/gst/gstreamer-sections.txt:
26576         * docs/gst/gstreamer.types:
26577         * docs/gst/tmpl/.cvsignore:
26578         * gst/gstbin.h:
26579         * gst/gstbus.c:
26580         * gst/gstelement.c:
26581         * gst/gstevent.h:
26582           added 100 symbols from gstreamer-unused.txt to the right sections
26583           fixed more broken comments
26584           added GstBus to docs
26585
26586 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26587
26588         * docs/gst/gstreamer-sections.txt:
26589         * docs/gst/tmpl/.cvsignore:
26590         * docs/gst/tmpl/gstbin.sgml:
26591         * docs/gst/tmpl/gstbuffer.sgml:
26592         * gst/base/gstbasesrc.c:
26593         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26594         * gst/gstbuffer.c:
26595         * gst/gstbuffer.h:
26596         * tools/gst-launch.1.in:
26597           inlined more doc comments, added missing comments and fixed comments
26598           fixed typos
26599
26600 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26601
26602         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26603           some debugging
26604         * gst/gstcaps.h:
26605           whitespace fixes
26606         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26607           more debugging
26608         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26609         * gst/gststructure.h:
26610           add a fixate function for booleans; add a FIXME that these func
26611           names should probably be gst_structure_fixate_*
26612
26613 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26614
26615         * docs/gst/gstreamer-docs.sgml:
26616         * docs/gst/gstreamer-sections.txt:
26617         * gst/Makefile.am:
26618         * gst/gstbin.c: (gst_bin_get_type),
26619         (gst_bin_child_proxy_get_child_by_index),
26620         (gst_bin_child_proxy_get_children_count),
26621         (gst_bin_child_proxy_init):
26622         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26623         (gst_child_proxy_get_child_by_index),
26624         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26625         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26626         (gst_child_proxy_get), (gst_child_proxy_set_property),
26627         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26628         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26629         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26630         * gst/gstchildproxy.h:
26631         * gst/parse/grammar.y:
26632         * tools/gst-inspect.c: (print_interfaces),
26633         (print_element_properties_info), (print_element_info):
26634           ported gstchildproxy over from 0.8
26635           ported gst-inspect fixes and enhancements over from 0.8
26636
26637 2005-08-22  Wim Taymans  <wim@fluendo.com>
26638
26639         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26640         (gst_base_transform_handle_buffer):
26641         Also call the transform function if we have ANY caps.
26642
26643         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26644         Fix debug info.
26645
26646 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26647
26648         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26649           Don't pretend to handle seek events if the source is not seekable
26650
26651 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26652
26653         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26654           Remove extra parameter to debug output
26655
26656         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26657         (gst_base_src_do_seek), (gst_base_src_activate_push):
26658           Fix seek event handling.
26659
26660         * gst/gstpipeline.c: (gst_pipeline_change_state):
26661         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26662         (gst_queue_src_activate_push):
26663           Don't start the src pad task on FLUSH_STOP if the pad
26664           isn't linked.
26665           Debug changes.
26666
26667 2005-08-22  Wim Taymans  <wim@fluendo.com>
26668
26669         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26670         Added check for gst_static_caps_get() refcounting.
26671
26672 2005-08-22  Wim Taymans  <wim@fluendo.com>
26673
26674         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26675         Make _static_caps_get() refcounting sane.
26676         
26677         * gst/gstelement.c: (gst_element_set_state):
26678         Add g_return_val_if_fail() to protect against segfaults.
26679
26680 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26681
26682         * docs/gst/tmpl/gstevent.sgml:
26683         * gst/gstevent.c:
26684         * gst/gstevent.h:
26685           inlined remaining docs, added missing doc comments
26686
26687 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26688
26689         * check/gst/gstbin.c: (GST_START_TEST):
26690           since we don't know when preroll is done, use refcount range
26691           check for the sink
26692         * gst/check/gstcheck.h:
26693           add macro for checking refcount range
26694
26695 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26696
26697         * check/Makefile.am:
26698           clean up environment for when registry gets built versus
26699           when actual tests are run; valgrind seems to not report
26700           leaks if GST_PLUGIN_PATH is set to some specific values
26701         * check/gst/gstbin.c: (GST_START_TEST):
26702           add more refcounting checks; maybe this exposes a
26703           preroll lock bug ?
26704         * common/check.mak:
26705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26706         * gst/check/gstcheck.h:
26707         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26708         (gst_bin_change_state):
26709         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26710           add/fix debugging/whitespace
26711
26712 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26713
26714         * check/gst/gstevent.c: (event_probe), (test_event),
26715         (GST_START_TEST):
26716          Er, don't call gst_bin_watch_for_state_change you idiot.
26717
26718 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26719
26720         * check/Makefile.am:
26721           Use CHECK_CFLAGS and CHECK_LIBS
26722         * check/gst/gstevent.c: (event_probe), (test_event),
26723         (GST_START_TEST):
26724           Don't leak events.
26725         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26726         (gst_base_src_start), (gst_base_src_stop),
26727         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26728         (gst_base_src_change_state):
26729           Sprinkle gst_base_src_stop liberally around error paths to fix
26730           problems reusing a source after failed state changes.
26731         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26732         (helper_find_suggest), (gst_type_find_helper):
26733           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26734         * gst/gstevent.h:
26735         * docs/gst/tmpl/gstevent.sgml:
26736           Migrate part of the docs from the SGML file. Wait for ensonic to
26737           tell me how I did it wrong ;)
26738         * tools/gst-typefind.c: (main):
26739           Extra robustness to state changes between files.
26740
26741 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26742
26743         * check/Makefile.am:
26744           don't valgrind the controller test - it's leaking - Stefan, HELP
26745         * gst/check/gstcheck.c: (gst_check_message_error),
26746         (gst_check_chain_func), (gst_check_setup_element),
26747         (gst_check_teardown_element), (gst_check_setup_src_pad),
26748         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26749         (gst_check_teardown_sink_pad):
26750         * gst/check/gstcheck.h:
26751           add a bunch of methods to set up elements, and src and sink pads
26752         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26753         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26754         (GST_START_TEST):
26755           use them
26756         * gst/gstmessage.c:
26757         * gst/gsttag.h:
26758           whitespace/doc fixes
26759
26760 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26761
26762         * gst/gstelement.h:
26763           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26764           be handled by the application and not always printed as well
26765
26766 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26767
26768         * check/Makefile.am:
26769           set GST_TOOLS_DIR
26770         * gst/check/gstcheck.c: (gst_check_message_error):
26771         * gst/check/gstcheck.h:
26772           add a fail_unless_equals_int
26773           add fail_unless for error messages
26774
26775 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26776
26777         * check/Makefile.am:
26778         * check/gst.supp:
26779         * common/Makefile.am:
26780         * common/check.mak:
26781         * common/gst.supp:
26782           factor out some of the common stuff so we can use it
26783
26784 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26785
26786         * check/Makefile.am:
26787         * check/gst/gstiterator.c: (GST_START_TEST):
26788         * check/gst/gstsystemclock.c: (GST_START_TEST),
26789         (gst_systemclock_suite):
26790         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26791         * gst/gstclock.c:
26792           valgrind more tests
26793
26794 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26795
26796         * check/elements/.cvsignore:
26797         * check/elements/gstfakesrc.c:
26798           rename to name of element
26799         * check/elements/identity.c: (chain_func), (event_func),
26800         (setup_identity), (cleanup_identity), (GST_START_TEST),
26801         (identity_suite), (main):
26802           add a test for identity
26803         * check/Makefile.am:
26804         * pkgconfig/Makefile.am:
26805         * pkgconfig/gstreamer-check.pc.in:
26806         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26807         * gst/check:
26808         * gst/Makefile.am:
26809         * configure.ac:
26810           move the check stuff to a library that gets installed
26811         * check/gst-libs/controller.c: (GST_START_TEST):
26812         * check/gst-libs/gdp.c:
26813         * check/gst/gst.c: (GST_START_TEST):
26814         * check/gst/gstbin.c:
26815         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26816         * check/gst/gstbus.c:
26817         * check/gst/gstcaps.c: (GST_START_TEST):
26818         * check/gst/gstelement.c:
26819         * check/gst/gstghostpad.c:
26820         * check/gst/gstiterator.c:
26821         * check/gst/gstmessage.c:
26822         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26823         * check/gst/gstobject.c:
26824         * check/gst/gstpad.c: (GST_START_TEST):
26825         * check/gst/gststructure.c: (GST_START_TEST):
26826         * check/gst/gstsystemclock.c: (GST_START_TEST),
26827         (gst_systemclock_suite):
26828         * check/gst/gsttag.c: (gst_tag_suite):
26829         * check/gst/gstvalue.c:
26830         * check/pipelines/cleanup.c:
26831         * check/pipelines/simple_launch_lines.c:
26832         * check/states/sinks.c:
26833           change include statement
26834
26835         * docs/gst/gstreamer-sections.txt:
26836         * docs/gst/tmpl/gstpad.sgml:
26837           document more pad stuff
26838         * gst/gstminiobject.c: (gst_mini_object_ref),
26839         (gst_mini_object_unref):
26840           debug refcounting
26841
26842 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26843
26844         * docs/gst/tmpl/gst.sgml:
26845         * gst/gst.c:
26846           eliminate another tmpl file, fix spelling in the long-description
26847
26848 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26849
26850         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26851         (test_event), (timediff), (gstevents_suite):
26852           Should fix build on 64-bit arch's
26853
26854 2005-08-18  Andy Wingo  <wingo@pobox.com>
26855
26856         Make sure that when a pipeline goes to PLAYING, that data has
26857         actually hit the sink.
26858
26859         * check/states/sinks.c (test_sink): A sink that doesn't get any
26860         data shouldn't return SUCCESS for going to either PLAYING or
26861         PAUSED. Test also the return values on the way back down.
26862
26863         * gst/gstelement.c (gst_element_set_state): When changing the
26864         state of an element currently changing state asynchronously, go to
26865         lost-state after commiting the pending state. Makes future calls
26866         to get_state continue to return ASYNC.
26867
26868         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26869         ASYNC when going to PLAYING if we still don't have preroll, as can
26870         happen with live sources.
26871
26872 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26873
26874         * docs/pwg/advanced-types.xml:
26875           Hack long paragraph into 2 chunks as a workaround for buggy
26876           jadetex version in sid and breezy that loops infinitely and
26877           eats all RAM.
26878
26879 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26880
26881         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26882         (test_event), (timediff), (gstevents_suite):
26883           Provide more error margin in clock measurements to allow for 
26884           g_get_current_time inaccuracies.
26885
26886 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26887
26888         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26889         (test_event), (timediff), (gstevents_suite):
26890            Fix error message output so I might be able to tell why the
26891            test works here but fails on the build farm.
26892
26893 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26894
26895         * check/Makefile.am:
26896         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26897         (test_event), (timediff), (gstevents_suite), (main):
26898           I wrote a test!
26899
26900         * docs/design/part-seeking.txt:
26901           Spelling correction
26902
26903         * docs/gst/tmpl/gstevent.sgml:
26904         * docs/gst/tmpl/gstfakesrc.sgml:
26905           Docs updates.
26906
26907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26908           Treat a buffer-without-newsegment the same as a receiving 
26909           a newsegment not in time format, and disable syncing to the clock
26910           with a warning.
26911
26912         * gst/gstbus.c: (gst_bus_set_sync_handler):
26913           Assert if anyone tries to replace the existing sync_handler for bus, 
26914           as only the owner should be setting it.
26915
26916         * gst/gstevent.h:
26917           Have a fixed set of custom event enums with events identified by
26918           their structure name (as in 0.8), rather than a free-for-all
26919           allowing collisions between enum values from different plugins.
26920
26921         * gst/gstpad.c: (gst_pad_class_init):
26922           Docs change.
26923           
26924         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26925           Handle out-of-band downstream events from the sending thread.
26926
26927 2005-08-17  Andy Wingo  <wingo@pobox.com>
26928
26929         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26930         play-timeout==0 to mean no timeout at all. In that case, don't
26931         bother with a get_state or a warning, just return directly, even
26932         if it's ASYNC.
26933
26934         * gst/base/gstbasetransform.c: Debug changes.
26935
26936         * gst/gstutils.h:
26937         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26938         ensure bins post state change messages. A bit of a hack but I can't
26939         think of a way to avoid it.
26940
26941         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26942
26943 2005-08-16  Andy Wingo  <wingo@pobox.com>
26944
26945         * gst/base/gstadapter.h:
26946         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26947         peek() but you own the data. Not terribly efficient atm.
26948
26949 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26950
26951         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26952         (gst_element_found_tags):
26953         * gst/gstutils.h:
26954           Add two utility functions for tag handling.
26955
26956 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26957
26958         * docs/manual/advanced-dataaccess.xml:
26959         * docs/manual/basics-helloworld.xml:
26960           Fix docs to use _bin_add() before _link(), which fixes the examples
26961           with recent core versions (reported by Madhan Raj M
26962           <raj_madan@rediffmail.com>, #313199).
26963
26964 2005-08-16  Wim Taymans  <wim@fluendo.com>
26965
26966         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26967         Added subtract checks.
26968
26969         * docs/design/part-events.txt:
26970         Some more docs about newsegment
26971
26972         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26973         Fix FIXME
26974
26975         * gst/gstcaps.c: (gst_caps_to_string):
26976         Add comments, cleanups.
26977         
26978         * gst/gstelement.c: (gst_element_save_thyself):
26979         cleanups
26980         
26981         * gst/gstvalue.c: (gst_value_collect_int_range),
26982         (gst_string_unwrap), (gst_value_union_int_int_range),
26983         (gst_value_union_int_range_int_range),
26984         (gst_value_intersect_int_int_range),
26985         (gst_value_intersect_int_range_int_range),
26986         (gst_value_intersect_double_double_range),
26987         (gst_value_intersect_double_range_double_range),
26988         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26989         (gst_value_subtract_int_range_int),
26990         (gst_value_subtract_double_range_double),
26991         (gst_value_subtract_double_range_double_range),
26992         (gst_value_subtract_from_list), (gst_value_subtract_list),
26993         (gst_value_can_compare), (gst_value_compare_fraction):
26994         Cleanups, add comments, remove unneeded asserts.
26995
26996 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26997
26998         * tools/gst-launch.c: (event_loop):
26999           don't convert NULL structures to strings
27000
27001 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
27002
27003         * docs/gst/gstreamer-sections.txt:
27004           made some defines private
27005         * docs/gst/tmpl/gstconfig.sgml:
27006         * docs/gst/tmpl/gstqueue.sgml:
27007         * docs/gst/tmpl/gsttaglist.sgml:
27008         * docs/gst/tmpl/gsttypes.sgml:
27009         * docs/gst/tmpl/gstutils.sgml:
27010         * docs/pwg/appendix-porting.xml:
27011         * gst/base/gstbasesink.h:
27012         * gst/base/gstbasesrc.c:
27013         * gst/base/gstbasesrc.h:
27014         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
27015         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
27016         * gst/gstelement.c: (gst_element_class_init):
27017         * gst/gstpad.c: (gst_pad_class_init):
27018         * gst/gstqueue.c: (gst_queue_class_init):
27019         * gst/gstxml.c: (gst_xml_class_init):
27020           documented all undocumented signal inline
27021         * libs/gst/controller/gst-controller.h:
27022           added padding
27023
27024 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27025
27026         * docs/pwg/appendix-porting.xml:
27027           Document _set_link_function -> _set_setcaps_function.
27028
27029 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27030
27031         * check/Makefile.am:
27032           add a .check target for running the check
27033         * check/gst-libs/controller.c: (GST_START_TEST):
27034           cosmetic fixups
27035         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27036           complete checks for gstbuffer; would be nice if I could get the
27037           gcov stuff to work so I can see if I actually completed gstbuffer.c
27038         * check/gstcheck.h:
27039           add ASSERT_BUFFER_REFCOUNT
27040
27041 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
27042
27043         * docs/gst/gstreamer-sections.txt:
27044         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
27045         * gst/gsttag.h:
27046           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
27047           spew out a warning if a tag that is already registered
27048           is re-registered, unless it is re-registered with a 
27049           different type (#308438).
27050
27051 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
27052
27053         * docs/pwg/appendix-porting.xml:
27054         * docs/pwg/building-state.xml:
27055           Add some paragraphs about state changes in 0.9 to the PWG
27056           and the porting guide, in particular about the new meaning
27057           of GST_STATE_PAUSED and how to write state change functions
27058           with concurrent access by multiple threads in mind.
27059
27060 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
27061
27062         * docs/gst/gstreamer-docs.sgml:
27063         * docs/libs/gstreamer-libs-docs.sgml:
27064           added deprecation and since indexes
27065         * libs/gst/controller/gst-controller.c:
27066         * libs/gst/controller/gst-helper.c:
27067           added since tags
27068
27069
27070 2005-08-11  Wim Taymans  <wim@fluendo.com>
27071
27072         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27073         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27074         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27075         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27076         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27077         (gst_ghost_pad_set_target):
27078         Actually implement (re)setting the target on a ghostpad
27079         as described in the docs.
27080
27081 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27082
27083         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27084           Check whether GST_DEBUG_NO_COLOR environment variable is
27085           set and disable coloured debug output if that is the case.
27086
27087 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27088
27089         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27090         (gst_type_find_helper):
27091           The memory returned by gst_type_find_peek() needs to
27092           stay valid until the end of a typefind function, and
27093           typefind functions may keep results from different 
27094           offsets around, so we can't just unref the buffer from
27095           the previous _peek(), but have to save all buffers 
27096           returned by _peek() until typefinding is done and only
27097           free them then.
27098
27099 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27100
27101         * docs/gst/gstreamer-sections.txt:
27102         * gst/gstutils.h:
27103           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27104
27105 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27106
27107         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27108           Fix a pretty good memleak.
27109
27110 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27111
27112         * gst/gstiterator.h:
27113           Fix wrong include and 'make distcheck'.
27114
27115 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27116
27117         * gst/gstbin.c: (bin_bus_handler):
27118           Use gst_element_post_message() instead.
27119
27120 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27121
27122         * gst/base/gstadapter.h:
27123         * gst/base/gstbasesink.h:
27124         * gst/base/gstbasesrc.h:
27125         * gst/base/gstbasetransform.h:
27126         * gst/base/gstcollectpads.h:
27127         * gst/base/gstpushsrc.h:
27128         * gst/gstiterator.h:
27129           Add padding to our base elements' class and instance structs and
27130           to GstIterator (you will need to rebuild all plugins and apps!)
27131
27132 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27133
27134         * gst/gstbin.c: (bin_bus_handler):
27135           Make default message forwarding from child->bus to bin->bus
27136           threadsafe and make it not emit warnings if the parent has no bus.
27137
27138 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27139
27140         * gst/gstelement.c: (activate_pads):
27141           On paused->ready, set pad->caps to NULL, as is the documented
27142           behaviour in this state change. Fixes playback of series of
27143           media files when visualization is enabled in Totem.
27144
27145 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27146
27147         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27148           Allow NULL as filter-caps (which means "any").
27149
27150 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27151
27152         * docs/libs/gstreamer-libs-sections.txt:
27153         * libs/gst/controller/gst-controller.c:
27154         * libs/gst/controller/gst-controller.h:
27155         * libs/gst/controller/gst-helper.c:
27156           adding more entries to the docs and fix small doc-bugs
27157
27158 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27159
27160         * docs/gst/gstreamer-docs.sgml:
27161         * docs/gst/gstreamer-sections.txt:
27162         * docs/gst/gstreamer.types:
27163         * docs/gst/tmpl/gstbasesink.sgml:
27164         * docs/gst/tmpl/gstbasesrc.sgml:
27165         * docs/gst/tmpl/gstbasetransform.sgml:
27166         * docs/gst/tmpl/gstfakesrc.sgml:
27167         * gst/base/gstcollectpads.c:
27168         * gst/base/gstcollectpads.h:
27169         * libs/gst/controller/gst-controller.c:
27170         * libs/gst/controller/gst-controller.h:
27171         * libs/gst/controller/gst-helper.c:
27172         * libs/gst/controller/gst-interpolation.c:
27173         * libs/gst/controller/lib.c:
27174           added long/short desc for controller docs
27175           added collectpads base class docs
27176           added correct includes to base-class docs
27177
27178 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27179
27180         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27181         (gst_test_mono_source_set_property),
27182         (gst_test_mono_source_class_init), (GST_START_TEST),
27183         (gst_controller_suite):
27184         * docs/gst/gstreamer-docs.sgml:
27185         * docs/gst/gstreamer-sections.txt:
27186         * docs/gst/gstreamer.types:
27187         * docs/libs/gstreamer-libs-docs.sgml:
27188         * docs/libs/gstreamer-libs-sections.txt:
27189         * gst/base/gstadapter.c:
27190         * libs/gst/controller/gst-controller.c:
27191         (gst_controlled_property_new), (gst_controlled_property_free),
27192         (gst_controller_new_valist),
27193         (gst_controller_remove_properties_valist),
27194         (gst_controller_sink_values), (_gst_controller_finalize):
27195         * libs/gst/controller/gst-controller.h:
27196         * libs/gst/controller/gst-helper.c:
27197         (gst_object_control_properties), (gst_object_uncontrol_properties),
27198         (gst_object_get_controller), (gst_object_set_controller),
27199         (gst_object_sink_values), (gst_object_get_value_arrays),
27200         (gst_object_get_value_array):
27201           more tests (and fixes) for the controller
27202           more docs for the controller
27203           integrated companies docs for the adapter 
27204
27205 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27206
27207         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27208         (GST_START_TEST), (fakesrc_suite):
27209           add tests for sizetype
27210
27211 2005-08-04  Andy Wingo  <wingo@pobox.com>
27212
27213         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27214         fixes buffer_alloc proxying among other things.
27215
27216         * gst/base/gstbasetransform.c:
27217         * gst/base/gstbasetransform.h:
27218         Revert patch to gstbasetransform from 7-28 removing
27219         delay_configure.
27220
27221         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27222         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27223         Semantics changed, should return not the size of the output buffer
27224         but the byte size of a buffer with a given caps.
27225
27226         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27227         debug object.
27228         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27229         out) are not the pad caps until setcaps finishes.
27230         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27231         not-in-place case as well. Deal with changing from in-place to
27232         not-in-place within calling pad_alloc_buffer. Still a bit
27233         concerned about the overhead here...
27234
27235 2005-08-03  Andy Wingo  <wingo@pobox.com>
27236
27237         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27238         fixating is an error.
27239
27240 2005-08-04  Edward Hervey  <edward@fluendo.com>
27241
27242         * gst/base/gstadapter.h: 
27243         Added gst_adapter_get_type() to the header
27244
27245 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27246
27247         * check/Makefile.am:
27248         * check/gst-libs/controller.c:
27249         * libs/gst/controller/gst-controller.c:
27250         (gst_controller_new_valist):
27251           added check test suite for the controller
27252         * gst/base/gstpushsrc.c:
27253           fixed a doc typo
27254
27255 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27256
27257         * docs/gst/Makefile.am:
27258         * docs/gst/gstreamer-docs.sgml:
27259         * docs/gst/gstreamer-sections.txt:
27260         * docs/gst/gstreamer.types:
27261         * docs/gst/tmpl/gstfakesrc.sgml:
27262         * gst/base/README:
27263         * gst/base/gstbasesink.c:
27264         * gst/base/gstbasesink.h:
27265         * gst/base/gstbasesrc.c:
27266         * gst/base/gstbasesrc.h:
27267         * gst/base/gstbasetransform.c:
27268         * gst/base/gstpushsrc.c:
27269         * gst/base/gstpushsrc.h:
27270           add short/long description docs to base classes
27271           add pushsrc to the docs
27272           remove consolidated doc fragments
27273
27274 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27275
27276         * configure.ac:
27277         * docs/libs/Makefile.am:
27278         * docs/libs/gstreamer-libs-docs.sgml:
27279         * docs/libs/gstreamer-libs-sections.txt:
27280         * docs/libs/gstreamer-libs.types:
27281         * examples/Makefile.am:
27282         * examples/controller/.cvsignore:
27283         * examples/controller/Makefile.am:
27284         * examples/controller/audio-example.c: (main):
27285         * libs/gst/Makefile.am:
27286         * libs/gst/controller/.cvsignore:
27287         * libs/gst/controller/Makefile.am:
27288         * libs/gst/controller/gst-controller.c:
27289         (on_object_controlled_property_changed), (gst_timed_value_compare),
27290         (gst_timed_value_find),
27291         (gst_controlled_property_set_interpolation_mode),
27292         (gst_controlled_property_new), (gst_controlled_property_free),
27293         (gst_controller_find_controlled_property),
27294         (gst_controller_new_valist), (gst_controller_new),
27295         (gst_controller_remove_properties_valist),
27296         (gst_controller_remove_properties), (gst_controller_set),
27297         (gst_controller_set_from_list), (gst_controller_unset),
27298         (gst_controller_get), (gst_controller_get_all),
27299         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27300         (gst_controller_get_value_array),
27301         (gst_controller_set_interpolation_mode),
27302         (_gst_controller_finalize), (_gst_controller_init),
27303         (_gst_controller_class_init), (gst_controller_get_type):
27304         * libs/gst/controller/gst-controller.h:
27305         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27306         (g_object_uncontrol_properties), (g_object_get_controller),
27307         (g_object_set_controller), (g_object_sink_values),
27308         (g_object_get_value_arrays), (g_object_get_value_array):
27309         * libs/gst/controller/gst-interpolation.c:
27310         (gst_controlled_property_find_timed_value_node),
27311         (interpolate_none_get), (interpolate_trigger_get),
27312         (interpolate_trigger_get_value_array):
27313         * libs/gst/controller/lib.c: (gst_controller_init):
27314         * pkgconfig/Makefile.am:
27315         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27316         * pkgconfig/gstreamer-control.pc.in:
27317         * testsuite/Makefile.am:
27318         * testsuite/controller/.cvsignore:
27319         * testsuite/controller/Makefile.am:
27320         * testsuite/controller/interpolator.c: (main):
27321           added controller code
27322           removed dparam pc files
27323
27324 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27325         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27326         (gst_collectpads_stop):
27327           Broadcast the condition when shutting down, to make sure we wake all
27328           threads up. Shut down pads on finalize, for safety.
27329
27330 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27331         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27332         (gst_base_transform_handle_buffer),
27333         (gst_base_transform_change_state):
27334           Handle PAUSED->READY->PAUSED transition after negotiation
27335           occurred already.
27336         * gst/gstmessage.c: (gst_message_init):
27337           Extra piece of debug for new messages.
27338
27339 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27340
27341         * configure.ac:
27342         * docs/gst/tmpl/gstbasesrc.sgml:
27343         * docs/gst/tmpl/gstelement.sgml:
27344         * docs/gst/tmpl/gstevent.sgml:
27345         * docs/gst/tmpl/gstfakesrc.sgml:
27346         * docs/gst/tmpl/gstformat.sgml:
27347         * docs/gst/tmpl/gstghostpad.sgml:
27348         * docs/gst/tmpl/gstpad.sgml:
27349         * docs/gst/tmpl/gstquery.sgml:
27350         * docs/gst/tmpl/gststructure.sgml:
27351         * docs/gst/tmpl/gsttaglist.sgml:
27352         * docs/gst/tmpl/gstvalue.sgml:
27353         * docs/libs/gstreamer-libs-docs.sgml:
27354         * docs/libs/gstreamer-libs-sections.txt:
27355         * docs/libs/gstreamer-libs.types:
27356         * libs/gst/Makefile.am:
27357         * libs/gst/control/.cvsignore:
27358         * libs/gst/control/Makefile.am:
27359         * libs/gst/control/control.c:
27360         * libs/gst/control/control.h:
27361         * libs/gst/control/dparam.c:
27362         * libs/gst/control/dparam.h:
27363         * libs/gst/control/dparam_smooth.c:
27364         * libs/gst/control/dparam_smooth.h:
27365         * libs/gst/control/dparamcommon.h:
27366         * libs/gst/control/dparammanager.c:
27367         * libs/gst/control/dparammanager.h:
27368         * libs/gst/control/dplinearinterp.c:
27369         * libs/gst/control/dplinearinterp.h:
27370         * libs/gst/control/unitconvert.c:
27371         * libs/gst/control/unitconvert.h:
27372         * testsuite/Makefile.am:
27373         * testsuite/dynparams/.cvsignore:
27374         * testsuite/dynparams/Makefile.am:
27375         * testsuite/dynparams/dparamstest.c:
27376         * tools/Makefile.am:
27377         * tools/gst-inspect.c: (print_element_info), (main):
27378         * tools/gst-xmlinspect.c: (print_element_info), (main):
27379           deactivate and remove dparams (libgstcontrol)
27380
27381 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27382
27383         * gst/elements/gsttypefindelement.c:
27384         (gst_type_find_element_have_type), (gst_type_find_element_init),
27385         (stop_typefinding), (gst_type_find_element_handle_event),
27386         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27387         * gst/elements/gsttypefindelement.h:
27388           Set caps on all outgoing buffers, not just the first one.
27389
27390 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27391
27392         * gst/elements/gsttypefindelement.c:
27393         (gst_type_find_element_have_type),
27394         (gst_type_find_element_check_set_buffer_caps),
27395         (gst_type_find_element_init), (stop_typefinding),
27396         (gst_type_find_element_handle_event),
27397         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27398         * gst/elements/gsttypefindelement.h:
27399           Set caps on first outgoing buffer when we've found the type.
27400
27401 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27402
27403         * docs/gst/gstreamer-docs.sgml:
27404         * docs/gst/gstreamer-sections.txt:
27405         * docs/gst/tmpl/gstscheduler.sgml:
27406         * docs/gst/tmpl/gstschedulerfactory.sgml:
27407           Remove some old cruft from docs.
27408
27409 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27410
27411         * gst/gstpad.h:
27412           Fix inline docs for GstPadLinkReturn.
27413           
27414         * gst/gststructure.c: (gst_structure_has_name):
27415         * gst/gststructure.h:
27416         * docs/gst/gstreamer-sections.txt:
27417           New API: gst_structure_has_name().
27418
27419 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27420
27421         * configure.ac:
27422           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27423           and _LARGEFILE_SOURCE in config.h as required. Do not 
27424           export those flags in our .pc files any longer (#142209).
27425
27426           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27427
27428         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27429         (gst_file_sink_do_seek), (gst_file_sink_event),
27430         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27431           Redo seek/tell calls with large file support in mind; add some
27432           debugging messages; add log message that tells us when large
27433           file support is unavailable or not enabled for some reason.
27434
27435         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27436           Add log message that tells us when large file support 
27437           is unavailable or not enabled for some reason.
27438
27439 2005-07-29  Wim Taymans  <wim@fluendo.com>
27440
27441         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27442         Added test for removing an element with ghostpad from a bin.
27443         Fixed test as current implementation does the right thing.
27444
27445         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27446         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27447         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27448         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27449         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27450         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27451         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27452         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27453         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27454         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27455         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27456         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27457         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27458         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27459         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27460         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27461         * gst/gstghostpad.h:
27462         Clean up ghostpads, remove properties for internal stuff.
27463         Make threadsafe.
27464         Fix refcounting.
27465         Prepare for switching targets, not all use cases work yet.
27466
27467 2005-07-29  Wim Taymans  <wim@fluendo.com>
27468
27469         * docs/design/part-gstghostpad.txt:
27470         Small update.
27471
27472         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27473         (gst_bin_remove_func):
27474         Unlinking pads while holding the bin LOCK is not a good
27475         idea.
27476
27477         * gst/gstpad.c: (gst_pad_class_init),
27478         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27479         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27480         No prob setting template after creating the pad.
27481
27482 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27483
27484         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27485         (gst_bus_peek), (gst_bus_source_dispatch),
27486         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27487         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27488           gst_bus_poll may be called from other threads. Handle
27489           this nicely by not making poll_data disappear off the
27490           stack once gst_bus_poll returns.
27491           gst_bus_peek now increments the refcount on the returned
27492           message.
27493
27494 2005-07-29  Wim Taymans  <wim@fluendo.com>
27495
27496         * docs/design/part-gstghostpad.txt:
27497         Overview of current GhostPad datastructures and use
27498         cases for changing the target.
27499
27500 2005-07-28  Wim Taymans  <wim@fluendo.com>
27501
27502         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27503         Added checks for hierarchy consistency whan adding linked
27504         elements to bins.
27505
27506         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27507         Added check to test element scheduling without bin/pipeline.
27508
27509         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27510         First add elements to bin, then link.
27511         
27512         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27513         (gst_bin_remove_func):
27514         Unlink pads from elements added/removed from bin to maintain
27515         hierarchy consistency.
27516
27517 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27518
27519         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27520         (gst_base_transform_handle_buffer):
27521         * gst/base/gstbasetransform.h:
27522           Remove broken delay_configure (fixes renegotiation of software
27523           scaling pipelines); remove some leftover printf()s.
27524
27525 2005-07-28  Wim Taymans  <wim@fluendo.com>
27526
27527         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27528         Added some more tests for wrong hierarchy
27529
27530         * docs/design/part-overview.txt:
27531         Some updates.
27532
27533         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27534         Cleanups.
27535
27536         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27537         (gst_element_dispose):
27538         Some more cleanups.
27539
27540         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27541         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27542         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27543         (gst_pad_set_caps), (gst_pad_send_event):
27544         Check for correct hierarchy when linking pads. Moving to
27545         strict requirement for ghostpads when linking elements in
27546         different bins.
27547
27548         * gst/gstpad.h:
27549         Clean ups. Added WRONG_HIERARCHY return value.
27550
27551 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27552
27553         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27554           Better debug if no transform is possible.
27555
27556 2005-07-27  Wim Taymans  <wim@fluendo.com>
27557
27558         * docs/random/wtay/network-transp:
27559         Some old doc I had.
27560
27561 2005-07-27  Wim Taymans  <wim@fluendo.com>
27562
27563         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27564         (gst_dp_event_from_packet):
27565         Fix serialization of seek events.
27566
27567 2005-07-27  Wim Taymans  <wim@fluendo.com>
27568
27569         * check/gst-libs/gdp.c: (GST_START_TEST):
27570         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27571         Fix compilation and fix event serialization.
27572
27573 2005-07-27  Wim Taymans  <wim@fluendo.com>
27574
27575         * CHANGES-0.9:
27576         * docs/design/part-TODO.txt:
27577         * docs/design/part-events.txt:
27578         Some docs updates
27579
27580         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27581         (gst_base_sink_event), (gst_base_sink_do_sync),
27582         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27583         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27584         (gst_base_src_do_seek), (gst_base_src_event_handler),
27585         (gst_base_src_loop):
27586         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27587         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27588         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27589         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27590         (gst_base_transform_set_passthrough),
27591         (gst_base_transform_is_passthrough):
27592         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27593         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27594         Event updates.
27595
27596         * gst/gstbuffer.h:
27597         Use faster casts.
27598
27599         * gst/gstelement.c: (gst_element_seek):
27600         * gst/gstelement.h:
27601         Update gst_element_seek.
27602
27603         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27604         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27605         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27606         (gst_event_new_eos), (gst_event_new_newsegment),
27607         (gst_event_parse_newsegment), (gst_event_new_tag),
27608         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27609         (gst_event_parse_qos), (gst_event_new_seek),
27610         (gst_event_parse_seek), (gst_event_new_navigation):
27611         * gst/gstevent.h:
27612         Make GstEvent use GstStructure. Add parsing code, make sure the
27613         API is sufficiently generic.
27614         Mark possible directions of events and serialization.
27615
27616         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27617         (_gst_message_copy), (gst_message_new_segment_start),
27618         (gst_message_new_segment_done), (gst_message_new_custom),
27619         (gst_message_parse_segment_start),
27620         (gst_message_parse_segment_done):
27621         Small cleanups.
27622
27623         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27624         (gst_pad_set_caps), (gst_pad_send_event):
27625         Update for new events. 
27626         Catch events sent in wrong directions.
27627
27628         * gst/gstqueue.c: (gst_queue_link_src),
27629         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27630         (gst_queue_handle_src_query):
27631         Event updates.
27632
27633         * gst/gsttag.c:
27634         * gst/gsttag.h:
27635         Remove event code from this file.
27636
27637         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27638         (gst_dp_event_from_packet):
27639         Event updates.
27640
27641 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27642
27643         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27644         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27645         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27646           Make debugging actually useful.
27647
27648 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27649
27650         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27651         (gst_pad_fixate_caps):
27652           Implement default fixation once again, so that gst_pad_fixate()
27653           actually does anything at all. This probably needs to be some
27654           sort of a last resort, and use profile-based fixation first, but
27655           since that doesn't exist yet, this is the best we have. Fixes
27656           visualization in Totem.
27657
27658 2005-07-22  Wim Taymans  <wim@fluendo.com>
27659
27660         * docs/design/part-events.txt:
27661         Small update.
27662
27663         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27664         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27665         (gst_base_sink_activate_pull):
27666         Some more comments.
27667
27668         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27669         (gst_fake_src_create):
27670         Fix handoff marshall.
27671
27672         * gst/elements/gstidentity.c: (gst_identity_class_init),
27673         (gst_identity_transform_ip):
27674         We're a real inplace element.
27675
27676         * gst/gstbus.c: (gst_bus_post):
27677         Added some comments.
27678
27679         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27680         * tests/muxing/case1.c: (main):
27681         * tests/sched/dynamic-pipeline.c: (main):
27682         * tests/sched/interrupt1.c: (main):
27683         * tests/sched/interrupt2.c: (main):
27684         * tests/sched/interrupt3.c: (main):
27685         * tests/sched/runxml.c: (main):
27686         * tests/sched/sched-stress.c: (main):
27687         * tests/seeking/seeking1.c: (event_received), (main):
27688         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27689         (main):
27690         * tests/threadstate/threadstate3.c: (main):
27691         * tests/threadstate/threadstate4.c: (main):
27692         * tests/threadstate/threadstate5.c: (main):
27693         Fix the tests.
27694
27695 2005-07-21  Wim Taymans  <wim@fluendo.com>
27696
27697         * docs/design/part-seeking.txt:
27698         Some small additions.
27699
27700         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27701         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27702         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27703         * gst/base/gstbasesink.h:
27704         discont values are gint64, handle the math correctly.
27705
27706         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27707         Make the basesrc report error if the source pad is not linked.
27708
27709         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27710         (gst_queue_loop), (gst_queue_handle_src_query),
27711         (gst_queue_src_activate_push):
27712         Make queue collect data even if the srcpad is not linked.
27713         Start pushing out data as soon as it is linked.
27714
27715         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27716         * gst/gstutils.h:
27717         Added gst_flow_get_name() to ease error reporting.
27718
27719 2005-07-20  Wim Taymans  <wim@fluendo.com>
27720
27721         * gst/gstmessage.c: (gst_message_new_segment_start),
27722         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27723         (gst_message_parse_segment_done):
27724         * gst/gstmessage.h:
27725         Added a bunch of messages for advanced seeking.
27726
27727         * gst/parse/grammar.y:
27728         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27729         (gst_dpman_state_changed):
27730         Fix some new-pad -> pad-added signals
27731
27732 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27733
27734         * docs/manual/appendix-porting.xml:
27735         * docs/pwg/appendix-porting.xml:
27736           Document new-pad/state-change signal renames and the FixedList
27737           type rename.
27738
27739 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27740
27741         * docs/manual/advanced-autoplugging.xml:
27742         * docs/manual/basics-helloworld.xml:
27743         * docs/manual/basics-pads.xml:
27744         * docs/random/ds/0.9-suggested-changes:
27745         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27746         * gst/gstelement.h:
27747         * gst/gstevent.h:
27748         * gst/gstformat.h:
27749         * gst/gstquery.h:
27750         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27751         (gst_structure_parse_array), (gst_structure_parse_value):
27752         * gst/gstvalue.c: (gst_type_is_fixed),
27753         (gst_value_list_prepend_value), (gst_value_list_append_value),
27754         (gst_value_list_get_size), (gst_value_list_get_value),
27755         (gst_value_transform_array_string), (gst_value_serialize_array),
27756         (gst_value_deserialize_array), (gst_value_intersect_array),
27757         (gst_value_is_fixed), (_gst_value_initialize):
27758         * gst/gstvalue.h:
27759           GstElement::new-pad -> pad-added, GstElement::state-change ->
27760           state-changed, GstValueFixedList -> GstValueArray, add format and
27761           flags as their own arguments in gst_element_seek() (should improve
27762           "bindeability"), remove function generators since they don't work
27763           under a whole bunch of compilers (they were deprecated already
27764           anyway).
27765
27766 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27767
27768         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27769         (_gst_debug_register_funcptr):
27770         * gst/gstinfo.h:
27771           Fix illegal cast on some platforms (#309253).
27772
27773 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27774
27775         * gst/gstmessage.c: (gst_message_new_custom):
27776         * gst/gstmessage.h:
27777           Add _new_custom, make _new_application a macro to _new_custom.
27778
27779 2005-07-20  Wim Taymans  <wim@fluendo.com>
27780
27781         * gst/base/gstbasesrc.c: (gst_base_src_init),
27782         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27783         * gst/base/gstbasesrc.h:
27784         Add a gboolean to decide when to push out a discont.
27785
27786         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27787         (gst_queue_loop), (gst_queue_handle_src_query),
27788         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27789         (gst_queue_set_property), (gst_queue_get_property):
27790         Some cleanups.
27791
27792         * tests/threadstate/threadstate1.c: (main):
27793         Make a thread test compile and run... very silly..
27794
27795
27796 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27797
27798         * docs/manual/appendix-porting.xml:
27799           Mention removal of libgstgconf-0.9.la and existence of gconf
27800           elements.
27801
27802 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27803
27804         * docs/pwg/advanced-clock.xml:
27805         * docs/pwg/appendix-porting.xml:
27806         * docs/pwg/intro-preface.xml:
27807         * docs/pwg/other-base.xml:
27808         * docs/pwg/other-manager.xml:
27809         * docs/pwg/other-nton.xml:
27810         * docs/pwg/other-ntoone.xml:
27811         * docs/pwg/other-oneton.xml:
27812         * docs/pwg/pwg.xml:
27813           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27814           demuxer), remove n-to-n (was never written), fix some code examples
27815           and links and update the porting section to include all this.
27816
27817 2005-07-19  Wim Taymans  <wim@fluendo.com>
27818
27819         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27820         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27821         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27822         (gst_queue_src_activate_push), (gst_queue_change_state),
27823         (gst_queue_get_property):
27824         * gst/gstqueue.h:
27825         Propagate GstFlowReturn more intelligently upstream and output
27826         an ERROR/EOS when streaming stopped due to fatal error.
27827
27828 2005-07-19  Wim Taymans  <wim@fluendo.com>
27829
27830         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27831         Don't block forever for the state change to complete, the
27832         pipeline already did with a sensible timeout.
27833
27834 2005-07-19  Wim Taymans  <wim@fluendo.com>
27835
27836         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27837         Make sure we never call the create function is we
27838         got deactivated.
27839
27840 2005-07-19  Andy Wingo  <wingo@pobox.com>
27841
27842         * gst/parse/parse.l: Attempt to solve bug #172815.
27843
27844 2005-07-19  Wim Taymans  <wim@fluendo.com>
27845
27846         * docs/design/part-clocks.txt:
27847         * docs/design/part-events.txt:
27848         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27849         Small docs updates.
27850         Only update the seeking values when we are not
27851         busy streaming.
27852
27853 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27854
27855         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27856           Oops, ignore the result of gst_pad_push_event here.
27857
27858 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27859
27860         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27861         (gst_base_src_activate_push):
27862           Send discont event from the loop function, as pads
27863           aren't activated yet in the activate_push handler.
27864
27865         * gst/gstbin.c: (bin_bus_handler):
27866           Don't leak element name.
27867
27868 2005-07-18  Andy Wingo  <wingo@pobox.com>
27869
27870         * configure.ac: Use AS_LIBTOOL_TAGS.
27871
27872 2005-07-18  Wim Taymans  <wim@fluendo.com>
27873
27874         * docs/gst/gstreamer.types:
27875         Remove deleted types.
27876
27877 2005-07-18  Wim Taymans  <wim@fluendo.com>
27878
27879         * check/elements/gstfakesrc.c: (GST_START_TEST):
27880         * configure.ac:
27881         * gst/Makefile.am:
27882         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27883         (init_popt_callback):
27884         * gst/gst.h:
27885         * gst/gst_private.h:
27886         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27887         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27888         * gst/gstbin.h:
27889         * gst/gstbus.h:
27890         * gst/gstconfig.h.in:
27891         * gst/gstelement.c: (gst_element_class_init),
27892         (gst_element_set_base_time), (gst_element_get_base_time),
27893         (iterator_fold_with_resync), (gst_element_change_state),
27894         (gst_element_dispose), (gst_element_get_bus):
27895         * gst/gstelement.h:
27896         * gst/gstelementfactory.h:
27897         * gst/gsterror.c: (_gst_core_errors_init):
27898         * gst/gsterror.h:
27899         * gst/gstevent.h:
27900         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27901         * gst/gstindex.c:
27902         * gst/gstinfo.c: (_gst_debug_init):
27903         * gst/gstmessage.c: (_gst_message_copy):
27904         * gst/gstmessage.h:
27905         * gst/gstminiobject.h:
27906         * gst/gstobject.c:
27907         * gst/gstobject.h:
27908         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27909         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27910         * gst/gstpad.h:
27911         * gst/gstparse.h:
27912         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27913         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27914         (gst_pipeline_get_last_stream_time):
27915         * gst/gstpipeline.h:
27916         * gst/gstpluginfeature.h:
27917         * gst/gstquery.h:
27918         * gst/gstscheduler.c:
27919         * gst/gstscheduler.h:
27920         * gst/gststructure.h:
27921         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27922         (gst_task_finalize), (gst_task_func), (gst_task_create),
27923         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27924         (gst_task_stop), (gst_task_pause):
27925         * gst/gsttask.h:
27926         * gst/gsttypefind.h:
27927         * gst/gsttypes.h:
27928         * gst/registries/gstlibxmlregistry.c: (load_feature),
27929         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27930         * gst/registries/gstxmlregistry.c:
27931         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27932         * gst/schedulers/threadscheduler.c:
27933         * libs/gst/control/dparammanager.h:
27934         * tools/gst-inspect.c: (print_element_list),
27935         (print_plugin_features), (print_element_features):
27936         * tools/gst-xmlinspect.c: (print_element_list),
27937         (print_plugin_info), (main):
27938         Removed plugable schedulers.
27939         Removed Scheduler/Manager from elements.
27940         Removed gsttypes.h, rearranged includes.
27941         Removed dependency pad<->element, element<>pipeline, and
27942         various others,  fix includes.
27943         implement gst_pad_get_parent() with gst_object_get_parent()
27944         Make GstTask sefcontained.
27945         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27946         timeout.
27947         Fix endless loop in iterator_fold_with_resync.
27948
27949
27950 2005-07-18  Wim Taymans  <wim@fluendo.com>
27951
27952         * gst/Makefile.am:
27953         * gst/gstarch.h:
27954         Remove old file.
27955
27956 2005-07-18  Wim Taymans  <wim@fluendo.com>
27957
27958         * gst/Makefile.am:
27959         No more cothreads.h
27960
27961 2005-07-18  Wim Taymans  <wim@fluendo.com>
27962
27963         * gst/cothreads.c:
27964         * gst/cothreads.h:
27965         Let's remove these.
27966
27967 2005-07-18  Wim Taymans  <wim@fluendo.com>
27968
27969         * docs/design/part-dynamic.txt:
27970         * docs/design/part-events.txt:
27971         * docs/design/part-seeking.txt:
27972         Some more docs in the works.
27973
27974         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27975         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27976         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27977         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27978         (gst_base_transform_handle_buffer),
27979         (gst_base_transform_sink_activate_push),
27980         (gst_base_transform_src_activate_pull),
27981         (gst_base_transform_set_passthrough),
27982         (gst_base_transform_is_passthrough):
27983         Refcounting fixes.
27984
27985         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27986         Cleanups.
27987
27988         * gst/gstevent.c: (gst_event_finalize):
27989         Set SRC to NULL.
27990
27991         * gst/gstutils.c: (gst_element_unlink),
27992         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27993         (gst_pad_proxy_setcaps):
27994         * gst/gstutils.h:
27995         Add _get_parent_element() to get a pads parent as an element.
27996
27997 2005-07-18  Wim Taymans  <wim@fluendo.com>
27998
27999         * check/gst/gstbin.c: (GST_START_TEST):
28000         Remove bogus test.
28001
28002 2005-07-18  Wim Taymans  <wim@fluendo.com>
28003
28004         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28005         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28006         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28007         (gst_base_sink_event), (gst_base_sink_do_sync),
28008         (gst_base_sink_chain), (gst_base_sink_loop),
28009         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
28010         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
28011         Refcounting fixes.
28012         Fix logic for returning ASYNC when not prerolled.
28013
28014 2005-07-18  Wim Taymans  <wim@fluendo.com>
28015
28016         * gst/gstqueue.c: (gst_queue_handle_sink_event):
28017         Fix nasty refcount bug.
28018
28019 2005-07-16 Philippe Khalaf <burger@speedy.org>
28020
28021         * gst/elements/gstfdsrc.c:
28022         * gst/elements/gstfdsrc.h:
28023         * gst/elements/gstelements.c:
28024         * gst/elements/Makefile.am:
28025         Ported fdsrc to 0.9.
28026
28027 2005-07-16  Wim Taymans  <wim@fluendo.com>
28028
28029         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28030         (gst_base_sink_do_sync):
28031         Fix compile error.
28032
28033 2005-07-16  Wim Taymans  <wim@fluendo.com>
28034
28035         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28036         (gst_base_sink_event), (gst_base_sink_get_times),
28037         (gst_base_sink_do_sync), (gst_base_sink_change_state):
28038         * gst/base/gstbasesink.h:
28039         Store and use discont values when syncing buffers as described
28040         in design docs.
28041         
28042         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
28043         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
28044         (gst_base_src_activate_push):
28045         Push discont event when starting.
28046
28047         * gst/elements/gstidentity.c: (gst_identity_transform):
28048         Small cleanups.
28049
28050         * gst/gstbin.c: (gst_bin_change_state):
28051         Small cleanups in base_time  distribution.
28052
28053         * gst/gstelement.c: (gst_element_set_base_time),
28054         (gst_element_get_base_time), (gst_element_change_state):
28055         * gst/gstelement.h:
28056         Added methods for the base_time of the element.
28057         Some MT fixes.
28058
28059         * gst/gstpipeline.c: (gst_pipeline_send_event),
28060         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28061         (gst_pipeline_get_last_stream_time):
28062         * gst/gstpipeline.h:
28063         MT fixes.
28064         Handle seeking as described in design doc, remove stream_time
28065         hack.
28066         Cleanups clock and stream_time selection code. Added accessors
28067         for the stream_time.
28068         
28069
28070 2005-07-16  Andy Wingo  <wingo@pobox.com>
28071
28072         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28073         (#305291).
28074
28075 2005-07-16  Wim Taymans  <wim@fluendo.com>
28076
28077         * check/gst/gstbin.c: (GST_START_TEST):
28078         Make elements silent as the deep_notify refs the
28079         parent, which might make the test fail.
28080
28081         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28082         Don't hold the lock for too long.
28083
28084 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28085
28086         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28087           Don't unref the caps we passed to gst_caps_make_writable() after
28088           passing them. gst_caps_make_writable() will do that for us.
28089
28090 2005-07-15  Andy Wingo  <wingo@pobox.com>
28091
28092         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28093         (#157311).
28094
28095         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28096         own marshalling function for the handoff signal. Properly type the
28097         buffer as a buffer. Fixes some warnings. Should do a more general
28098         solution.
28099         (gst_identity_class_init): Plug into the right marshaller.
28100
28101 2005-07-15  Wim Taymans  <wim@fluendo.com>
28102
28103         * docs/design/part-TODO.txt:
28104         * docs/design/part-clocks.txt:
28105         * docs/design/part-element-sink.txt:
28106         * docs/design/part-events.txt:
28107         * docs/design/part-gstpipeline.txt:
28108         Updated docs, mostly DISCONT related.
28109
28110 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28111
28112         * docs/pwg/building-pads.xml:
28113           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28114
28115 2005-07-15  Andy Wingo  <wingo@pobox.com>
28116
28117         * tools/gst-typefind.c: Update, add copyright block.
28118
28119         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28120         Normalize and truncate caps before fixation.
28121
28122         * gst/gstcaps.h:
28123         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28124         discards all but the first structure from its argument.
28125
28126 2005-07-15  Wim Taymans  <wim@fluendo.com>
28127
28128         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28129         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28130         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28131         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28132         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28133         (gst_base_transform_chain), (gst_base_transform_change_state),
28134         (gst_base_transform_set_passthrough),
28135         (gst_base_transform_is_passthrough):
28136         * gst/base/gstbasetransform.h:
28137         Make passthrough work using the bufferpools.
28138         Changed API a bit, subclasses have to write into a buffer
28139         provided by the base class.
28140         More debug info in nego functions.
28141         
28142         * gst/elements/gstidentity.c: (gst_identity_init),
28143         (gst_identity_transform):
28144         Port to new base class.
28145
28146 2005-07-15  Wim Taymans  <wim@fluendo.com>
28147
28148         * gst/gstmessage.c: (gst_message_new_state_changed):
28149         * tools/gst-launch.c: (event_loop), (main):
28150         Totally dump messages in -launch with the -m option.
28151         Fix message name for State messages,
28152
28153 2005-07-14  Wim Taymans  <wim@fluendo.com>
28154
28155         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28156         Post error messages on errors.
28157
28158 2005-07-14  Wim Taymans  <wim@fluendo.com>
28159
28160         * gst/gstcaps.c: (gst_caps_do_simplify):
28161         Remove debug info.
28162
28163         * gst/gsterror.h:
28164         Define error for stream stopped.
28165
28166         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28167         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28168         Do proper return values.
28169
28170         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28171         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28172         (gst_pad_get_range):
28173         Better return values.
28174
28175         * gst/gstpad.h:
28176         Reorganise return values, add macro to check for fatal errors.
28177
28178         * gst/gstqueue.c: (gst_queue_chain):
28179         Return proper GstFlowReturn values,
28180
28181 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28182
28183         * docs/gst/gstreamer-sections.txt:
28184         * docs/gst/gstreamer.types:
28185         * docs/gst/tmpl/gst.sgml:
28186         * docs/gst/tmpl/gstbasesink.sgml:
28187         * docs/gst/tmpl/gstbasesrc.sgml:
28188         * docs/gst/tmpl/gstbasetransform.sgml:
28189         * docs/gst/tmpl/gstbin.sgml:
28190         * docs/gst/tmpl/gstbuffer.sgml:
28191         * docs/gst/tmpl/gstcaps.sgml:
28192         * docs/gst/tmpl/gstclock.sgml:
28193         * docs/gst/tmpl/gstcompat.sgml:
28194         * docs/gst/tmpl/gstconfig.sgml:
28195         * docs/gst/tmpl/gstelement.sgml:
28196         * docs/gst/tmpl/gstelementdetails.sgml:
28197         * docs/gst/tmpl/gstelementfactory.sgml:
28198         * docs/gst/tmpl/gstenumtypes.sgml:
28199         * docs/gst/tmpl/gsterror.sgml:
28200         * docs/gst/tmpl/gstevent.sgml:
28201         * docs/gst/tmpl/gstfakesink.sgml:
28202         * docs/gst/tmpl/gstfakesrc.sgml:
28203         * docs/gst/tmpl/gstfilesink.sgml:
28204         * docs/gst/tmpl/gstfilesrc.sgml:
28205         * docs/gst/tmpl/gstfilter.sgml:
28206         * docs/gst/tmpl/gstformat.sgml:
28207         * docs/gst/tmpl/gstghostpad.sgml:
28208         * docs/gst/tmpl/gstimplementsinterface.sgml:
28209         * docs/gst/tmpl/gstindex.sgml:
28210         * docs/gst/tmpl/gstindexfactory.sgml:
28211         * docs/gst/tmpl/gstinfo.sgml:
28212         * docs/gst/tmpl/gstiterator.sgml:
28213         * docs/gst/tmpl/gstmacros.sgml:
28214         * docs/gst/tmpl/gstmemchunk.sgml:
28215         * docs/gst/tmpl/gstminiobject.sgml:
28216         * docs/gst/tmpl/gstobject.sgml:
28217         * docs/gst/tmpl/gstpad.sgml:
28218         * docs/gst/tmpl/gstpadtemplate.sgml:
28219         * docs/gst/tmpl/gstparse.sgml:
28220         * docs/gst/tmpl/gstpipeline.sgml:
28221         * docs/gst/tmpl/gstplugin.sgml:
28222         * docs/gst/tmpl/gstpluginfeature.sgml:
28223         * docs/gst/tmpl/gstquery.sgml:
28224         * docs/gst/tmpl/gstqueue.sgml:
28225         * docs/gst/tmpl/gstregistry.sgml:
28226         * docs/gst/tmpl/gstregistrypool.sgml:
28227         * docs/gst/tmpl/gstscheduler.sgml:
28228         * docs/gst/tmpl/gstschedulerfactory.sgml:
28229         * docs/gst/tmpl/gststructure.sgml:
28230         * docs/gst/tmpl/gstsystemclock.sgml:
28231         * docs/gst/tmpl/gsttaglist.sgml:
28232         * docs/gst/tmpl/gsttagsetter.sgml:
28233         * docs/gst/tmpl/gsttrace.sgml:
28234         * docs/gst/tmpl/gsttrashstack.sgml:
28235         * docs/gst/tmpl/gsttypefind.sgml:
28236         * docs/gst/tmpl/gsttypefindfactory.sgml:
28237         * docs/gst/tmpl/gsttypes.sgml:
28238         * docs/gst/tmpl/gsturihandler.sgml:
28239         * docs/gst/tmpl/gsturitype.sgml:
28240         * docs/gst/tmpl/gstutils.sgml:
28241         * docs/gst/tmpl/gstvalue.sgml:
28242         * docs/gst/tmpl/gstversion.sgml:
28243         * docs/gst/tmpl/gstxml.sgml:
28244         * docs/libs/tmpl/gstcontrol.sgml:
28245         * docs/libs/tmpl/gstdataprotocol.sgml:
28246         * docs/libs/tmpl/gstdparam.sgml:
28247         * docs/libs/tmpl/gstdplinint.sgml:
28248         * docs/libs/tmpl/gstdpman.sgml:
28249         * docs/libs/tmpl/gstdpsmooth.sgml:
28250         * docs/libs/tmpl/gstgetbits.sgml:
28251         * docs/libs/tmpl/gstunitconvert.sgml:
28252         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28253         (gst_push_src_base_init), (gst_push_src_class_init),
28254         (gst_push_src_init), (gst_push_src_create):
28255         * gst/base/gstpushsrc.h:
28256         * gst/elements/gstelements.c:
28257         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28258         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28259         (gst_fake_sink_init), (gst_fake_sink_set_property),
28260         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28261         (gst_fake_sink_event), (gst_fake_sink_preroll),
28262         (gst_fake_sink_render), (gst_fake_sink_change_state):
28263         * gst/elements/gstfakesink.h:
28264         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28265         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28266         (gst_fake_src_base_init), (gst_fake_src_class_init),
28267         (gst_fake_src_init), (gst_fake_src_event_handler),
28268         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28269         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28270         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28271         (gst_fake_src_create_buffer), (gst_fake_src_create),
28272         (gst_fake_src_start), (gst_fake_src_stop):
28273         * gst/elements/gstfakesrc.h:
28274         * gst/elements/gstfilesink.c: (_do_init),
28275         (gst_file_sink_base_init), (gst_file_sink_class_init),
28276         (gst_file_sink_init), (gst_file_sink_dispose),
28277         (gst_file_sink_set_location), (gst_file_sink_set_property),
28278         (gst_file_sink_get_property), (gst_file_sink_open_file),
28279         (gst_file_sink_close_file), (gst_file_sink_query),
28280         (gst_file_sink_event), (gst_file_sink_render),
28281         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28282         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28283         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28284         * gst/elements/gstfilesink.h:
28285         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28286         (gst_file_src_class_init), (gst_file_src_init),
28287         (gst_file_src_finalize), (gst_file_src_set_location),
28288         (gst_file_src_set_property), (gst_file_src_get_property),
28289         (gst_file_src_map_region), (gst_file_src_map_small_region),
28290         (gst_file_src_create_mmap), (gst_file_src_create_read),
28291         (gst_file_src_create), (gst_file_src_is_seekable),
28292         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28293         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28294         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28295         (gst_file_src_uri_handler_init):
28296         * gst/elements/gstfilesrc.h:
28297           more autistic cleanliness in functions/names/defines
28298
28299 2005-07-13  Andy Wingo  <wingo@pobox.com>
28300
28301         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28302         source couldn't negotiate.
28303
28304         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28305         connections again.
28306
28307         * gst/gstutils.h:
28308         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28309         function. I am channeling Hades. Put your boots on suckers!!!
28310
28311 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28312
28313         * testsuite/caps/Makefile.am:
28314         * testsuite/caps/value_compare.c:
28315         * testsuite/caps/value_intersect.c:
28316         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28317           move two testsuite apps over to the check dir
28318
28319 2005-07-12  Wim Taymans  <wim@fluendo.com>
28320
28321         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28322         Added more debug info in the negotiate process.
28323
28324         * gst/gstmessage.h:
28325         Prepare for segment playback.
28326
28327         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28328         Better debugging.
28329
28330         * gst/gstutils.c:
28331         Some more docs.
28332
28333         * tools/gst-launch.c: (main):
28334         NULL pipeline on errors.
28335
28336 2005-07-12  Andy Wingo  <wingo@pobox.com>
28337
28338         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28339         not it comes from a malloc region. Make sure our copy gets freed.
28340
28341 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28342
28343         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28344         * check/gst/gstmessage.c: (GST_START_TEST):
28345         * check/gst/gststructure.c: (GST_START_TEST),
28346         (gst_structure_suite), (main):
28347           more testing
28348         * gst/gstelement.c: (gst_element_message_full):
28349           clean up GError and debug string now that they get copied
28350         * gst/gstmessage.c: (gst_message_new_error),
28351         (gst_message_new_warning), (gst_message_parse_error),
28352         (gst_message_parse_warning):
28353           use GST_TYPE_G_ERROR for structure_new, and take copies of
28354           arguments, so that we don't mess up refcounting
28355
28356 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28357
28358         * check/Makefile.am:
28359           add per-test valgrind targets
28360         * check/gst-libs/gdp.c: (GST_START_TEST),
28361         (gst_data_protocol_suite), (main):
28362           clean up
28363
28364 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28365
28366         * check/Makefile.am:
28367           instate more valgrindable tests
28368         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28369         (GST_START_TEST), (fakesrc_suite):
28370         * check/gst/gstpad.c: (GST_START_TEST):
28371         * check/gst/gststructure.c: (GST_START_TEST):
28372           fix test leaks
28373         * docs/gst/tmpl/gstminiobject.sgml:
28374         * gst/gstpad.c: (gst_pad_finalize):
28375           fix the static mutex leak
28376
28377 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28378
28379         * check/Makefile.am:
28380           add two more tests for valgrinding
28381         * check/gst/gstvalue.c: (GST_START_TEST):
28382           test refcount of deserialized buffer, found a leak
28383         * docs/gst/gstreamer-docs.sgml:
28384         * docs/gst/gstreamer-sections.txt:
28385         * docs/gst/gstreamer.types:
28386         * docs/gst/tmpl/gstminiobject.sgml:
28387           add miniobject to docs
28388         * gst/gstminiobject.c:
28389           add some docs
28390         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28391         (gst_string_unwrap):
28392           fix a hard-to-find invalid write for one of the tests
28393           fix a leak for deserialized buffers
28394
28395 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28396
28397         * docs/pwg/advanced-events.xml:
28398         * docs/pwg/advanced-request.xml:
28399         * docs/pwg/advanced-scheduling.xml:
28400         * docs/pwg/appendix-porting.xml:
28401         * docs/pwg/building-boiler.xml:
28402         * docs/pwg/intro-preface.xml:
28403         * docs/pwg/other-ntoone.xml:
28404           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28405           of example code and explanation for pad activation, loop() and
28406           getrange() functions and a bit more. Remove old comments pointing
28407           to loop-functions.
28408         * examples/pwg/Makefile.am:
28409           Add loop/getrange examples.
28410
28411 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28412
28413         * configure.ac:
28414           check for valgrind binary + some fixes
28415         * check/gst.supp:
28416           valgrind suppressions for the tests
28417         * check/Makefile.am:
28418           add a valgrind: target that valgrinds the unit tests
28419         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28420         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28421         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28422         * check/gst/gstghostpad.c:
28423           added some cleanup
28424         * check/gst/gstdata.c:
28425           removed
28426         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28427         (thread_unref), (gst_mini_object_suite), (main):
28428           added
28429         * gst/gst.c: (gst_deinit):
28430         * gst/gst.h:
28431           add a method to clean up.
28432         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28433         (gst_system_clock_obtain):
28434           allow for disposing the system clock.
28435         * tools/gst-launch.c: (main):
28436           deinit
28437
28438 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28439
28440         * docs/gst/tmpl/gstbasesrc.sgml:
28441         * docs/gst/tmpl/gstfakesrc.sgml:
28442         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28443         (gst_base_src_init), (gst_base_src_set_property),
28444         (gst_base_src_get_property), (gst_base_src_get_range),
28445         (gst_base_src_start):
28446         * gst/base/gstbasesrc.h:
28447           add num-buffers property
28448         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28449         (gst_fakesrc_init), (gst_fakesrc_set_property),
28450         (gst_fakesrc_get_property), (gst_fakesrc_create),
28451         (gst_fakesrc_start):
28452           remove num-buffers property
28453
28454 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28455
28456         * docs/gst/gstreamer-sections.txt:
28457         * docs/gst/tmpl/gstbasesink.sgml:
28458         * docs/gst/tmpl/gstbasesrc.sgml:
28459         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28460         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28461         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28462         (gst_base_sink_set_property), (gst_base_sink_get_property),
28463         (gst_base_sink_handle_object), (gst_base_sink_event),
28464         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28465         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28466         (gst_base_sink_loop), (gst_base_sink_deactivate),
28467         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28468         (gst_base_sink_change_state):
28469         * gst/base/gstbasesink.h:
28470         * gst/base/gstbasesrc.h:
28471         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28472         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28473         (gst_filesink_init):
28474           more macro splitting
28475
28476 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28477
28478         * gst/gstelement.c: (gst_element_get_bus):
28479           add debug
28480         * tools/gst-launch.c: (check_intr), (event_loop):
28481           fix bus leaks
28482
28483 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28484
28485         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28486           fix a caps leak
28487
28488 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28489
28490         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28491         (gst_base_src_finalize):
28492           add finalize method and clean up properly
28493         * gst/gstpipeline.c: (gst_pipeline_dispose):
28494           add debug
28495
28496 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28497
28498         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28499         (gst_bin_suite):
28500           add more things to check
28501         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28502         * gst/gstelement.c:
28503           more debug
28504
28505 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28506
28507         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28508         (GST_START_TEST), (fakesrc_suite):
28509         * check/gst-libs/gdp.c: (GST_START_TEST):
28510         * check/gst/gst.c: (GST_START_TEST):
28511         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28512         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28513         * check/gst/gstbus.c: (GST_START_TEST):
28514         * check/gst/gstcaps.c: (GST_START_TEST):
28515         * check/gst/gstdata.c: (GST_START_TEST):
28516         * check/gst/gstelement.c: (GST_START_TEST):
28517         * check/gst/gstghostpad.c: (GST_START_TEST):
28518         * check/gst/gstiterator.c: (GST_START_TEST):
28519         * check/gst/gstmessage.c: (GST_START_TEST):
28520         * check/gst/gstobject.c: (GST_START_TEST):
28521         * check/gst/gstpad.c: (GST_START_TEST):
28522         * check/gst/gststructure.c: (GST_START_TEST):
28523         * check/gst/gstsystemclock.c: (GST_START_TEST),
28524         (gst_systemclock_suite):
28525         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28526         * check/gst/gstvalue.c: (GST_START_TEST):
28527         * check/pipelines/cleanup.c: (GST_START_TEST):
28528         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28529         * check/states/sinks.c: (GST_START_TEST):
28530         * check/gstcheck.c: (gst_check_init):
28531         * check/gstcheck.h:
28532           add debugging category
28533           use GST_START_TEST now, so we add a debug line
28534
28535 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28536
28537         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28538           add test for state change message on a bin
28539         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28540           add another test
28541         * gst/gstbin.c: (gst_bin_init):
28542         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28543         * gst/gstelement.c: (gst_element_post_message),
28544         (gst_element_set_state):
28545         * gst/gstelementfactory.c: (gst_element_factory_create):
28546         * gst/gstmessage.c: (gst_message_new):
28547         * gst/gstscheduler.c:
28548           various debugging additions and cleanups
28549
28550 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28551
28552         * check/Makefile.am:
28553         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28554         (main):
28555           adding tests for elements
28556         * gst/gstelement.c: (gst_element_dispose):
28557
28558 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28559
28560         * gst/registries/gstlibxmlregistry.c: (load_feature):
28561           plug more leaks.  A simple gst_init() now is leakfree, yay.
28562
28563 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28564
28565         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28566         (gst_xml_registry_load):
28567           plug another memleak
28568
28569 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28570
28571         * configure.ac:
28572           use GST_SET_ERROR_CFLAGS
28573         * docs/faq/cvs.xml:
28574           change to ERROR_CFLAGS
28575
28576 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28577
28578         * configure.ac:
28579           make GST_ERROR_CFLAGS overridable and re-enable Werror
28580         * docs/faq/cvs.xml:
28581           add a note about error CFLAGS
28582         * docs/gst/tmpl/gstfakesrc.sgml:
28583         * gst/elements/gstfakesrc.c:
28584           comment out some unused code
28585         * gst/gst.c: (split_and_iterate):
28586         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28587         (load_feature):
28588           plug some memleaks
28589
28590 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28591
28592         * common/Makefile.am:
28593         * common/gtk-doc.mak:
28594         * docs/gst/Makefile.am:
28595           factor out gtk-doc.mak
28596
28597 2005-07-07  Wim Taymans  <wim@fluendo.com>
28598
28599         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28600         (gst_thread_scheduler_dispose):
28601         Unlock the STREAM_LOCK completely.
28602
28603 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28604
28605         * check/Makefile.am:
28606         * check/elements/.cvsignore:
28607         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28608         (START_TEST), (fakesrc_suite), (main):
28609         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28610         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28611         (gst_fakesrc_create), (gst_fakesrc_start):
28612         * gst/elements/gstfakesrc.h:
28613           adding a first element test
28614
28615 2005-07-07  Andy Wingo  <wingo@pobox.com>
28616
28617         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28618         debug message.
28619
28620 2005-07-07  Wim Taymans  <wim@fluendo.com>
28621
28622         * gst/gstquery.c:
28623         * gst/gstquery.h:
28624         Remove old types
28625
28626 2005-07-07  Wim Taymans  <wim@fluendo.com>
28627
28628         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28629         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28630         Allow subclasses to implement their own negotiation.
28631
28632 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28633
28634         * docs/design/part-gstbin.txt:
28635         * docs/design/part-gstpipeline.txt:
28636           Update design notes to reflect the movement of
28637           responsibility for bus handling from GstPipeline to
28638           GstBin
28639
28640 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28641
28642         * configure.ac:
28643           Remove unnecessary queue2/3/4 examples.
28644
28645 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28646
28647         * examples/Makefile.am:
28648         * examples/helloworld/helloworld.c: (event_loop), (main):
28649         * examples/queue/queue.c: (event_loop), (main):
28650         * examples/queue2/queue2.c: (main):
28651           Update a couple of the examples to work again.
28652
28653         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28654         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28655          Spelling corrections and extra debug.
28656         
28657         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28658         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28659         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28660         * gst/gstbin.h:
28661         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28662         (gst_pipeline_change_state):
28663         * gst/gstpipeline.h:
28664           Move the bus handler for children to the GstBin, and create a
28665           separate bus for receiving messages from children to the one the
28666           bus sends 'upwards' on.
28667
28668 2005-07-06  Wim Taymans  <wim@fluendo.com>
28669
28670         * gst/base/README:
28671         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28672         (gst_base_sink_handle_object), (gst_base_sink_loop),
28673         (gst_base_sink_change_state):
28674         * gst/base/gstbasesink.h:
28675         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28676         (gst_base_src_init), (gst_base_src_setcaps),
28677         (gst_base_src_getcaps), (gst_base_src_loop),
28678         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28679         (gst_base_src_start), (gst_base_src_change_state):
28680         * gst/base/gstbasesrc.h:
28681         Make basesrc negotiate.
28682         Handle the case where preroll fails in basesink.
28683         Update README.
28684
28685 2005-07-06  Wim Taymans  <wim@fluendo.com>
28686
28687         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28688         Implement the fixate function.
28689         Clean up acceptcaps.
28690
28691 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28692
28693         * docs/pwg/building-filterfactory.xml:
28694         * docs/pwg/pwg.xml:
28695           Remove never-written filter-factory chapter; I'll add the various
28696           base classes to part 4 ("other element types") later on.
28697
28698 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28699
28700         * docs/pwg/advanced-negotiation.xml:
28701         * docs/pwg/building-boiler.xml:
28702         * docs/pwg/building-pads.xml:
28703         * docs/pwg/pwg.xml:
28704         * examples/pwg/Makefile.am:
28705           Add a chapter on caps negotiation, simplify the original code
28706           samples a bit w.r.t. caps negotiation, add link to the advanced
28707           section. Add a bunch of examples showing different use cases of
28708           different types of caps negotiation. Upstream renegotiation isn't
28709           fully documented yet since nobody knows how that works.
28710
28711 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28712
28713         * check/gst/gstpad.c:
28714         * check/gstcheck.c:
28715         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28716           if pad has no parent, return NULL as list of internal links
28717
28718 2005-07-05  Andy Wingo  <wingo@pobox.com>
28719
28720         * gst/elements/gstfilesrc.c:
28721         * gst/elements/gstfakesrc.c: 
28722         * gst/base/gstpushsrc.c:
28723         * gst/base/gstbasesrc.h: 
28724         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28725         
28726 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28727
28728         * Makefile.am:
28729           better report generation target (lcov needs a patch)
28730
28731 2005-07-05  Andy Wingo  <wingo@pobox.com>
28732
28733         * gst/elements, testsuite: Null if we got it...
28734
28735 2005-07-05  Wim Taymans  <wim@fluendo.com>
28736
28737         * configure.ac:
28738         * libs/gst/dataprotocol/Makefile.am:
28739         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28740         * libs/gst/dataprotocol/dataprotocol.h:
28741         * pkgconfig/Makefile.am:
28742         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28743         * pkgconfig/gstreamer-dataprotocol.pc.in:
28744         Ported dataprotol to 0.9. 
28745         Added pkgconfig files.
28746
28747 2005-07-05  Andy Wingo  <wingo@pobox.com>
28748
28749         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28750         Default to returning TRUE for the case when tranform_caps returns
28751         a fixed caps, like for identity or volume.
28752
28753         * check/gst/gstbus.c (pound_bus_with_messages): 
28754         * check/gst/gstmessage.c (START_TEST): 
28755         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28756         message API change.
28757
28758         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28759         logic weaks here: always run transform_caps, trying passthrough
28760         operation only if the original caps intersects with the transform.
28761
28762         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28763         source and sink caps.
28764
28765         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28766         Intersect the peer caps with the pad template before going into
28767         transform_caps.
28768         (gst_base_transform_transform_caps): More debugging.
28769
28770         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28771         src argument.
28772
28773 2005-07-04  Edward Hervey  <edward@fluendo.com>
28774
28775         * gst/gstutils.c:
28776         * gst/gstutils.h:
28777         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28778         in bindings.
28779
28780 2005-07-04  Andy Wingo  <wingo@pobox.com>
28781
28782         * check/gst/gstpad.c: Only set explicit caps on pads.
28783
28784 2005-07-01  Andy Wingo  <wingo@pobox.com>
28785
28786         * tests/network-clock.scm: Commentary update.
28787
28788         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28789         Didn't really make sense, not implementable with basetransform,
28790         etc.
28791         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28792         attempt at implementing the sync property, needs an unlock method.
28793
28794         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28795         New func, by default returns the same caps (the identity
28796         transformation).
28797         (gst_base_transform_getcaps): Uses transform_caps to return
28798         something sensible.
28799         (gst_base_transform_setcaps): Complicated logic to get caps on
28800         both pads, even if they are different, and to call set_caps once
28801         for every time both pads get their caps set.
28802         (gst_base_transform_handle_buffer): Give the ref to the transform
28803         function. Allows in-place modification of the buffer.
28804
28805         * gst/base/gstbasetransform.h (transform_caps): New class method.
28806         Given caps on one side, what can I do on the other.
28807         (set_caps): Take two caps, one for each side of the element.
28808
28809         * gst/gstpad.h:
28810         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28811         caps in place. This is safe because we can check the mutability of
28812         the caps, and a good idea because fixate functions are just called
28813         as a matter of last resort. (Not actually implemented.)
28814         (gst_pad_set_caps): If the caps we're setting is actually the same
28815         as the existing pad caps, just update the pointer without calling
28816         setcaps. Assert that caps is either NULL or fixed, as per the
28817         docs.
28818
28819         * gst/gstghostpad.c: Update for fixate changes.
28820
28821 2005-07-02  Andy Wingo  <wingo@pobox.com>
28822
28823         * gst/gstcaps.c:
28824         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28825         two refcounts makes it immutable, which is enough. Doc more.
28826
28827 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28828
28829         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28830           Put the mini_object into GValue as a mini_object,
28831           not a gpointer, since that's how we declared
28832           the signal.
28833
28834 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28835
28836         * examples/pwg/Makefile.am:
28837           Fix buildbot again.
28838
28839 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28840
28841         * docs/pwg/building-testapp.xml:
28842           Add extra check.
28843         * examples/pwg/Makefile.am:
28844           Fix buildbot.
28845
28846 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28847
28848         * configure.ac:
28849         * examples/Makefile.am:
28850         * examples/pwg/Makefile.am:
28851         * examples/pwg/extract.pl:
28852           Enable building the PWG examples.
28853         * docs/pwg/advanced-interfaces.xml:
28854           Add URI interface stub.
28855         * docs/pwg/advanced-types.xml:
28856         * docs/pwg/other-autoplugger.xml:
28857         * docs/pwg/appendix-porting.xml:
28858         * docs/pwg/pwg.xml:
28859           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28860         * docs/pwg/building-boiler.xml:
28861         * docs/pwg/building-chainfn.xml:
28862         * docs/pwg/building-pads.xml:
28863         * docs/pwg/building-props.xml:
28864         * docs/pwg/building-state.xml:
28865         * docs/pwg/building-testapp.xml:
28866           Update the building-*.xml parts for 0.9 changes. All examples
28867           code blocks compile in examples/pwg/*.
28868
28869 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28870
28871         * docs/manual/advanced-autoplugging.xml:
28872         * docs/manual/appendix-checklist.xml:
28873         * docs/manual/appendix-integration.xml:
28874         * docs/manual/highlevel-components.xml:
28875           Fix playbin/decodebin examples, update docs a bit, mention bus
28876           instead of signals in various places, mention kmplayer and
28877           kaffeine since they have a working GStreamer backend in the KDE
28878           section.
28879
28880 2005-06-30  Wim Taymans  <wim@fluendo.com>
28881
28882         * CHANGES-0.9:
28883         * docs/design/draft-ghostpads.txt:
28884         * docs/design/draft-push-pull.txt:
28885         * docs/design/draft-query.txt:
28886         * docs/design/part-TODO.txt:
28887         * docs/design/part-query.txt:
28888         Added CHANGES-0.9 doc, updated status of other docs.
28889         
28890         * gst/gstquery.h:
28891         Remove "hmm" macro
28892
28893 2005-06-30  Wim Taymans  <wim@fluendo.com>
28894
28895         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28896         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28897         (gst_base_sink_change_state):
28898         * gst/base/gstbasesink.h:
28899         Some tweaks, only EOS and a buffer complete a preroll.
28900
28901 2005-06-30  Andy Wingo  <wingo@pobox.com>
28902
28903         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28904         activate_push down to the internal pad as well.
28905
28906 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28907
28908         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28909
28910         * gst/gsttaginterface.c:
28911           Some documentation fixes (#307394 and #307397).
28912
28913 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28914
28915         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28916
28917         * gst/gstvalue.c: (gst_value_intersect_list):
28918           Fix memleak (#309125).
28919
28920 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28921
28922         * docs/manual/advanced-dataaccess.xml:
28923           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28924         * docs/manual/basics-pads.xml:
28925           Add reference for filtered caps to above chapter.
28926
28927 2005-06-30  Wim Taymans  <wim@fluendo.com>
28928
28929         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28930         (gst_bin_change_state):
28931         Probes are gone.
28932         Lame attempt at making the state change function a bit
28933         more readable.
28934
28935 2005-06-30  Wim Taymans  <wim@fluendo.com>
28936
28937         * docs/design/part-clocks.txt:
28938         * docs/design/part-element-sink.txt:
28939         * docs/design/part-events.txt:
28940         * docs/design/part-preroll.txt:
28941         * docs/design/part-states.txt:
28942         Some more tweeks and additions to the docs.
28943
28944 2005-06-30  Wim Taymans  <wim@fluendo.com>
28945
28946         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28947         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28948         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28949         (gst_pad_check_pull_range), (gst_pad_get_range),
28950         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28951         * gst/gstpad.h:
28952         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28953         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28954         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28955         (gst_pad_remove_buffer_probe):
28956         Removed atomic operations, use existing LOCK.
28957         Move exception handling out of main code path.
28958
28959 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28960
28961         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28962         (silly_return_true_function), (gst_pad_class_init),
28963         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28964         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28965         (gst_pad_send_event):
28966           Fix accumulator, add default value by using _emitv() instead
28967           of _emit() for signal emission.
28968
28969 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28970
28971         * docs/manual/advanced-dataaccess.xml:
28972         * examples/manual/Makefile.am:
28973           Add probe example.
28974         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28975           Make work (??).
28976
28977 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28978
28979         * gst/elements/gstfilesink.c: (gst_filesink_render):
28980           Simplify code so that we don't have to handle short
28981           writes and return GST_FLOW_ERROR if an error occured.
28982
28983 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28984
28985         * docs/gst/gstreamer-docs.sgml:
28986           Remove probes more.
28987
28988 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28989
28990         * docs/gst/gstreamer-sections.txt:
28991         * docs/gst/tmpl/gstpad.sgml:
28992         * docs/gst/tmpl/gstprobe.sgml:
28993         * gst/Makefile.am:
28994         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28995         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28996         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28997         (gst_pad_push_event), (gst_pad_send_event):
28998         * gst/gstpad.h:
28999         * gst/gstutils.c: (gst_pad_add_data_probe),
29000         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29001         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29002         (gst_pad_remove_buffer_probe):
29003         * gst/gstutils.h:
29004           Remove old probes, add new g-signal-based probes and some utility
29005           functions.
29006
29007 2005-06-29  Edward Hervey  <edward@fluendo.com>
29008
29009         * gst/gstelementfactory.c:
29010         * gst/gstutils.h:
29011         * gst/gstutils.c:
29012         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
29013         the definition to the header file.
29014
29015 2005-06-29  Andy Wingo  <wingo@pobox.com>
29016
29017         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
29018         plugins from the source directory.
29019
29020 2005-06-29  Wim Taymans  <wim@fluendo.com>
29021
29022         * docs/gst/tmpl/gstbuffer.sgml:
29023         * docs/gst/tmpl/gstclock.sgml:
29024         Some fixings for blantently wrong text.
29025
29026 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29027
29028         * check/Makefile.am:
29029         * gst/gst.c: (add_path_func), (init_pre):
29030         * gst/gstregistry.c: (gst_registry_add_path):
29031           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
29032           only scan the GST_PLUGIN_PATH locations, and not add
29033           system locations
29034
29035 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29036
29037         * docs/gst/gstreamer-sections.txt:
29038         * docs/gst/tmpl/gstbasesrc.sgml:
29039         * gst/gstelement.c:
29040         * gst/gstelement.h:
29041         * gst/gstevent.c:
29042         * gst/gstutils.c:
29043           doc fixes
29044
29045 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29046
29047         * docs/manual/advanced-autoplugging.xml:
29048           Fix autoplugging example.
29049
29050 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29051
29052         * docs/manual/advanced-autoplugging.xml:
29053         * docs/manual/mime-world.fig:
29054           Try to get autoplugging working, fix type detection. Fix text
29055           in hello-world image.
29056
29057 2005-06-29  Wim Taymans  <wim@fluendo.com>
29058
29059         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29060         (gst_base_sink_change_state):
29061         Small debug line.
29062
29063         * gst/gstclock.h:
29064         map SIGNAL and BROADCAST to the right function.
29065
29066         * gst/gstobject.h:
29067         Remove redundant braces.
29068
29069         * gst/gstpad.c: (gst_pad_set_caps):
29070         Don't call setcaps function when reseting caps to NULL.
29071
29072         * gst/gstsystemclock.c: (gst_system_clock_dispose),
29073         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29074         (gst_system_clock_id_unschedule):
29075         Use BROADCAST as this is what we do.
29076
29077 2005-06-29  Wim Taymans  <wim@fluendo.com>
29078
29079         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29080         We are actually prerolling before commiting the state
29081         change. 
29082
29083 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29084
29085         * docs/manual/advanced-clocks.xml:
29086         * docs/manual/advanced-interfaces.xml:
29087         * docs/manual/advanced-metadata.xml:
29088         * docs/manual/advanced-position.xml:
29089         * docs/manual/advanced-schedulers.xml:
29090         * docs/manual/advanced-threads.xml:
29091         * docs/manual/appendix-porting.xml:
29092         * docs/manual/basics-bins.xml:
29093         * docs/manual/basics-bus.xml:
29094         * docs/manual/basics-elements.xml:
29095         * docs/manual/basics-helloworld.xml:
29096         * docs/manual/basics-pads.xml:
29097         * docs/manual/highlevel-components.xml:
29098         * docs/manual/manual.xml:
29099         * docs/manual/thread.fig:
29100           Update (until threads/scheduling) Application Development Manual;
29101           remove GstThread, add GstBus, add simple porting checklist, add
29102           documentation for tag writing, clocks, make all examples until this
29103           part compile and run.
29104         * examples/manual/Makefile.am:
29105           Update from changes to Application Development Manual; add bus
29106           example, remove thread example.
29107
29108 2005-06-28  Wim Taymans  <wim@fluendo.com>
29109
29110         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29111         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29112         (gst_bus_source_dispatch):
29113         Add debugging messages.
29114         Make internal methods static.
29115         Handle the case where the bus is flushed in the handler.
29116         
29117         * gst/gstelement.c: (gst_element_get_bus):
29118         Fix refcount in _get_bus();
29119
29120         * gst/gstpipeline.c: (gst_pipeline_change_state),
29121         (gst_pipeline_get_clock_func):
29122         Clock refcounting fixes.
29123         Handle the case where preroll timed out more gracefully.
29124         
29125         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29126         Clean up the internal thread in dispose. This is needed
29127         for subclasses that actually get disposed.
29128         
29129         * gst/schedulers/threadscheduler.c:
29130         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29131         (gst_thread_scheduler_dispose):
29132         Free thread pool in dispose.
29133
29134 2005-06-28  Andy Wingo  <wingo@pobox.com>
29135
29136         * tests/network-clock-utils.scm (debug, print-event): New utils.
29137
29138         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29139         (*packet-loss*): Unified loss probability.
29140         (network-time): Report out-of-band events.
29141
29142         * tests/plot-data: Add support for out-of-band events. Hack it
29143         into this script instead of passing it down the pipe; should fix
29144         this later.
29145
29146 2005-06-28  Wim Taymans  <wim@fluendo.com>
29147
29148         * docs/gst/gstreamer.types:
29149         * docs/gst/tmpl/gstbasesrc.sgml:
29150         * docs/gst/tmpl/gstpad.sgml:
29151         Docs fixes.
29152
29153 2005-06-28  Wim Taymans  <wim@fluendo.com>
29154
29155         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29156         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29157         (gst_proxy_pad_do_fixatecaps):
29158         Correctly proxy the check_pull_range function.
29159
29160 2005-06-28  Andy Wingo  <wingo@pobox.com>
29161
29162         * tests/network-clock.scm: Removed need for slib.
29163         
29164 2005-06-28  Wim Taymans  <wim@fluendo.com>
29165
29166         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29167         (gst_basesink_preroll_queue_flush):
29168         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29169         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29170         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29171         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29172         (gst_proxy_pad_set_property):
29173         * gst/gstpad.c:
29174         * gst/gstpad.h:
29175         * gst/gstqueue.c: (gst_queue_init):
29176         The deprecated pad loop function is removed now.
29177
29178 2005-06-28  Andy Wingo  <wingo@pobox.com>
29179
29180         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29181         New parameters, simulate network packet loss.
29182
29183         * tests/network-clock-utils.scm: Initialize the RNG.
29184
29185 2005-06-28  Wim Taymans  <wim@fluendo.com>
29186
29187         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29188         (gst_basesink_event), (gst_basesink_deactivate):
29189         Flushing the preroll queue always needs to unlock the waiters.
29190
29191 2005-06-28  Edward Hervey  <edward@fluendo.com>
29192
29193         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29194         Wheen a seek was successful on a pipeline, set the stream_time to the
29195         seek offset in order to have a synchronized stream_time.
29196
29197 2005-06-28  Wim Taymans  <wim@fluendo.com>
29198
29199         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29200         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29201         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29202         (gst_proxy_pad_do_fixatecaps):
29203         Call wrapper function instead of just calling the function
29204         pointers. This takes care of any locking and whatmore.
29205
29206 2005-06-28  Wim Taymans  <wim@fluendo.com>
29207
29208         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29209         (gst_pad_pull_range):
29210         * gst/gstpad.h:
29211         CONNECTED -> LINKED.
29212
29213 2005-06-28  Andy Wingo  <wingo@pobox.com>
29214
29215         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29216         source-munging commit!!!
29217
29218         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29219         (gst_object_sink): Take gpointer arguments, not GstObject --
29220         avoids casts. Like GLib.
29221
29222         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29223         activate.
29224
29225 2005-06-27  Andy Wingo  <wingo@pobox.com>
29226
29227         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29228         remaining buffer.
29229
29230         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29231         returns a sorted copy of the trace list.
29232         (gst_alloc_trace_print_live): New API, only prints traces with
29233         live objects. Sort the list.
29234         (gst_alloc_trace_print_all): Sort the list.
29235         (gst_alloc_trace_print): Align columns.
29236
29237         * gst/elements/gstttypefindelement.c:
29238         * gst/elements/gsttee.c:
29239         * gst/base/gstbasesrc.c:
29240         * gst/base/gstbasesink.c:
29241         * gst/base/gstbasetransform.c:
29242         * gst/gstqueue.c: Adapt for pad activation changes.
29243
29244         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29245         sched.
29246         (gst_pipeline_dispose): Drop ref on sched.
29247
29248         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29249         (gst_pad_activate_default): Push mode by default.
29250         (pre_activate_switch, post_activate_switch): New stubs, things to
29251         do before and after switching activation modes on pads.
29252         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29253         the pad's activate function to choose which mode to activate.
29254         Shortcut on deactivation and call the right function directly.
29255         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29256         mode.
29257         (gst_pad_activate_push): New API, same for push mode.
29258         (gst_pad_set_activate_function) 
29259         (gst_pad_set_activatepull_function) 
29260         (gst_pad_set_activatepush_function): Setters for new API.
29261
29262         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29263         Trace all miniobjects.
29264         (gst_mini_object_make_writable): Unref the arg if we copy, like
29265         gst_caps_make_writable.
29266
29267         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29268
29269         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29270         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29271         Adapt for new pad API.
29272
29273         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29274
29275         * gst/gstelement.h:
29276         * gst/gstelement.c (gst_element_iterate_src_pads) 
29277         (gst_element_iterate_sink_pads): New API functions.
29278         
29279         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29280         should fold into gstiterator.c in some form.
29281         (gst_element_pads_activate): Simplified via use of fold and
29282         delegation of decisions to gstpad->activate.
29283
29284         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29285         help in debugging.
29286
29287         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29288         class once in init, like gstmessage. Didn't run into this issue
29289         but it seems correct. Don't initialize a trace, gstminiobject does
29290         that.
29291
29292         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29293         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29294         to the bus.
29295         (assert_live_count): New util function, uses alloc traces to check
29296         cleanup.
29297
29298         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29299         To be modified when unlink drops the internal pad.
29300
29301 2005-06-27  Wim Taymans  <wim@fluendo.com>
29302
29303         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29304         (gst_bin_change_state):
29305         Cleanup the get_state() function a little, make sure it
29306         iterates the same set of elements.
29307         Added stub iterate_state_order().
29308
29309 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29310
29311         * docs/gst/gstreamer-docs.sgml:
29312         * docs/gst/gstreamer-sections.txt:
29313         * docs/gst/gstreamer.types:
29314         * docs/gst/tmpl/gstbasesink.sgml:
29315         * docs/gst/tmpl/gstbasesrc.sgml:
29316         * docs/gst/tmpl/gstbasetransform.sgml:
29317         * docs/gst/tmpl/gstelement.sgml:
29318         * docs/gst/tmpl/gstiterator.sgml:
29319         * gst/base/gstbasesrc.c:
29320         * gst/base/gstbasesrc.h:
29321         * gst/base/gstbasetransform.h:
29322         * gst/gstelement.c:
29323         * gst/gstiterator.h:
29324           adding basetransform and iterator docs
29325
29326 2005-06-27  Andy Wingo  <wingo@pobox.com>
29327
29328         * docs/design/part-activation.txt: Notes on how activation should
29329         work -- not quite implemented yet.
29330
29331 2005-06-25  Wim Taymans  <wim@fluendo.com>
29332
29333         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29334         At least get the chain function correct, needs more
29335         fixing.
29336
29337 2005-06-25  Wim Taymans  <wim@fluendo.com>
29338
29339         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29340         (gst_basesink_handle_object), (gst_basesink_event),
29341         (gst_basesink_do_sync), (gst_basesink_handle_event),
29342         (gst_basesink_change_state):
29343         * gst/gsttask.h:
29344         Right, two problems here: ghostpads don't take locks and
29345         glib _rec_mutex_lock_full() with depth==0 still locks.
29346         Catch illegal locking and g_warn them.
29347
29348 2005-06-25  Wim Taymans  <wim@fluendo.com>
29349
29350         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29351         Have to check for completion now...
29352
29353 2005-06-25  Wim Taymans  <wim@fluendo.com>
29354
29355         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29356         (gst_basesink_handle_object), (gst_basesink_event),
29357         (gst_basesink_do_sync), (gst_basesink_handle_event),
29358         (gst_basesink_change_state):
29359         * gst/gstpad.h:
29360         Unlock STREAM_LOCK whatever the recursion was.
29361
29362 2005-06-25  Wim Taymans  <wim@fluendo.com>
29363
29364         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29365         (gst_basesink_preroll_queue_empty),
29366         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29367         (gst_basesink_event), (gst_basesink_do_sync),
29368         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29369         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29370         (gst_basesink_change_state):
29371         Reworked the base sink, handle event and buffer serialisation
29372         correctly and removed possible deadlock.
29373         Handle EOS correctly.
29374
29375 2005-06-25  Wim Taymans  <wim@fluendo.com>
29376
29377         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29378         (gst_pipeline_change_state):
29379         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29380         Allow elements to post EOS in the state change function.
29381         Fix up -launch, make it exit the poll loop when the
29382         pipeline actually changed state.
29383         Fix up warning parsing in -launch.
29384
29385 2005-06-25  Wim Taymans  <wim@fluendo.com>
29386
29387         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29388         (gst_tee_sink_activate):
29389         Core takes STREAM_LOCK for us now.
29390
29391 2005-06-25  Wim Taymans  <wim@fluendo.com>
29392
29393         * gst/gstelement.c: (gst_element_get_state_func),
29394         (gst_element_set_state):
29395         * gst/gstelement.h:
29396         * gst/gstmessage.c: (gst_message_parse_error),
29397         (gst_message_parse_warning):
29398         Keep track of current target state while performing a state
29399         change so that subclasses can do something interesting.
29400         Fix parsing of warning/error messages when GError is NULL.
29401
29402 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29403
29404         * docs/gst/Makefile.am:
29405         * docs/gst/gstreamer-docs.sgml:
29406         * docs/gst/gstreamer-sections.txt:
29407         * docs/gst/gstreamer.types:
29408         * docs/gst/tmpl/gstbasesink.sgml:
29409         * docs/gst/tmpl/gstbasesrc.sgml:
29410         * docs/gst/tmpl/gstbin.sgml:
29411         * docs/gst/tmpl/gstcompat.sgml:
29412         * docs/gst/tmpl/gstfakesink.sgml:
29413         * docs/gst/tmpl/gstfakesrc.sgml:
29414         * docs/gst/tmpl/gstfilesink.sgml:
29415         * docs/gst/tmpl/gstfilesrc.sgml:
29416         * docs/gst/tmpl/gstindex.sgml:
29417         * docs/manual/appendix-quotes.xml:
29418         * gst/base/gstbasesrc.h:
29419         * gst/elements/gstfakesrc.h:
29420         * gst/gstmessage.h:
29421           start pulling in base classes and elements in our docs
29422
29423 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29424
29425         * docs/gst/Makefile.am:
29426         * docs/libs/Makefile.am:
29427           fixed make distcheck with gtk-doc 1.3
29428
29429 2005-06-23  Wim Taymans  <wim@fluendo.com>
29430
29431         * gst/gstelement.c: (gst_element_get_state_func),
29432         (gst_element_set_state), (gst_element_change_state):
29433         When the state did not change, also report NO_PREROLL
29434         when it matters.
29435
29436 2005-06-23  Wim Taymans  <wim@fluendo.com>
29437
29438         * gst/gstpad.c: (gst_pad_event_default):
29439         * gst/gstqueue.c: (gst_queue_loop):
29440         No unsafe task pausing please.
29441
29442 2005-06-23  Wim Taymans  <wim@fluendo.com>
29443
29444         * gst/schedulers/threadscheduler.c:
29445         (gst_thread_scheduler_task_start),
29446         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29447         Ref the task before pushing it on the threadpool. This
29448         makes sure that we have a ref when the threadfunction is
29449         actually called.
29450
29451 2005-06-23  Andy Wingo  <wingo@pobox.com>
29452
29453         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29454         offset is greater than the file's size.
29455
29456         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29457         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29458         * gst/gstobject.c (gst_object_class_init): Make the class lock
29459         recursive. Wim won't let me drop deep_notify. Decodebin works
29460         again, whoopdy doo.
29461
29462         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29463         internal pad, and hacks accordingly. Doesn't do it on the target
29464         pad because we change its caps. Probably catches all cases of
29465         interest tho.
29466         (gst_ghost_pad_set_property): Connect to notify::caps as
29467         appropritate.
29468
29469         * tests/network-clock.scm (plot-simulation): Pipe data to the
29470         elite python skript.
29471
29472         * tests/network-clock-utils.scm (define-parameter): New macro,
29473         defines a parameter that can be set via the command line.
29474         (set-parameter!, parse-parameter-arguments): Command line args
29475         parser.
29476
29477         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29478         stdin.
29479
29480 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29481
29482         * gst/elements/gsttypefindelement.c:
29483         (gst_type_find_element_handle_event):
29484           Don't restart typefinding on a discont.
29485         * gst/gstelement.c: (gst_element_set_state):
29486           Debug spelling fix.
29487         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29488           Allow changing mode of an active pad.
29489           Debug output fixes.
29490         * gst/registries/gstlibxmlregistry.c: (load_feature):
29491           Don't cast a static pad template to a normal pad template.
29492
29493 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29494
29495         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29496         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29497           remove gst_strtoll completely, since it didn't actually do
29498           anything more than what g_ascii_strtoull already does.
29499           check for range errors when deserializing
29500           do a cast for the unsigned cases; but further fixing needs
29501           a decision on what the interpretation of "(int)" and
29502           deserialization should be for values that fall outside the
29503           type's boundaries (ie, refuse, or interpret as casting)
29504
29505 2005-06-23  Wim Taymans  <wim@fluendo.com>
29506
29507         * check/Makefile.am:
29508         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29509         * docs/design/part-live-source.txt:
29510         * docs/design/part-states.txt:
29511         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29512         (gst_basesrc_set_live), (gst_basesrc_is_live),
29513         (gst_basesrc_get_range), (gst_basesrc_activate),
29514         (gst_basesrc_change_state):
29515         * gst/base/gstbasesrc.h:
29516         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29517         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29518         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29519         * gst/gstelement.c: (gst_element_get_state_func),
29520         (gst_element_set_state):
29521         * gst/gstelement.h:
29522         * gst/gsttypes.h:
29523         * tools/gst-launch.c: (event_loop), (main):
29524         Added support for live sources and other elements that
29525         cannot do preroll.
29526         Updated design docs, added live-source design doc.
29527         Implemented live source functionality in basesrc
29528         Fix error condition in _bin_get_state()
29529         Implement live source handling in -launch.
29530         Added check for live sources.
29531         Fixed case in GstBin where elements were changed state
29532         multiple times.
29533
29534
29535 2005-06-23  Andy Wingo  <wingo@pobox.com>
29536
29537         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29538         borken refcounting.
29539
29540         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29541         gst_caps_replace takes care of this for us.
29542
29543         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29544         gst_pad_set_caps on the target, not just its setcaps() function.
29545
29546         * tests/network-clock.scm: 
29547         * tests/network-clock-utils.scm: A network clock simulator.
29548         Something of an algorithmic testbed before doing something in C.
29549
29550 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29551
29552         * check/Makefile.am:
29553         * check/gst/capslist.h:
29554           copy over from 0.8, and add two with bitmasks specified with
29555           (int) 0xFF...
29556         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29557           add test to parse everything from capslist.h
29558         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29559         (main):
29560           add test for structure deserialization
29561         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29562           add tests for deserialization of strings to int types
29563         * gst/gststructure.c: (gst_structure_nth_field_name):
29564         * gst/gststructure.h:
29565           add a way to get the name of a field referenced by index
29566         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29567           instead of checking if the resulting long long lies between
29568           min and max, we check if the long long would fit into
29569           a number of bytes for the final type.
29570           This fixes cases where a string represents 2^32 - 1, which
29571           when cast to int would be the (valid) -1, but is bigger than
29572           G_MAXINT
29573
29574 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29575
29576         * gst/parse/grammar.y:
29577           add a log line for type deserialization
29578
29579 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29580
29581         * check/gst/gstvalue.c: (START_TEST):
29582         * gst/gstvalue.c: (gst_value_deserialize):
29583           return long long, not int, so gint64 deserialization actually
29584           works.  Is there any flag that makes the compiler check this ?
29585           Fixes #308559
29586
29587 2005-06-22  Wim Taymans  <wim@fluendo.com>
29588
29589         * gst/gstbuffer.h:
29590         Added convenience macros for setting buffers in GValue.
29591
29592 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29593
29594         * check/gst/.cvsignore:
29595         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29596           add a test deserializing int64, and comment part out because
29597           it fails, yay !
29598
29599 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29600
29601         * check/Makefile.am:
29602         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29603         * testsuite/Makefile.am:
29604         * testsuite/caps/Makefile.am:
29605         * testsuite/caps/value_serialize.c:
29606         * testsuite/test_gst_init.c:
29607           move a value_serialize test over
29608
29609 2005-06-20  Wim Taymans  <wim@fluendo.com>
29610
29611         * gst/gstpad.c:
29612         Small doc updates.
29613         
29614         * gst/gstvalue.c: (gst_value_compare_buffer),
29615         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29616         (gst_value_compare_flags), (gst_value_serialize_flags),
29617         (gst_value_deserialize_flags), (_gst_value_initialize):
29618         Fix serialisation of buffers, they are not boxed types anymore
29619
29620 2005-06-20  Wim Taymans  <wim@fluendo.com>
29621
29622         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29623         Testcase to show error in buffer-on-caps serialisation.
29624
29625 2005-06-20  Andy Wingo  <wingo@pobox.com>
29626
29627         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29628         will be adding to later.
29629
29630         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29631         if its socks fill with rocks.
29632         (gst_system_clock_obtain): Set the name on object construction.
29633         Avoid double-checked locking.
29634
29635 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29636
29637         * gst/gsturi.c: (gst_element_make_from_uri):
29638           Fix potential endless loop.
29639
29640 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29641
29642         * check/Makefile.am:
29643           add gsttag
29644         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29645         (main):
29646           move over from testsuite dir and clean up
29647         * configure.ac:
29648         * gst/gsttag.c:
29649         * testsuite/Makefile.am:
29650         * testsuite/tags/.cvsignore:
29651         * testsuite/tags/Makefile.am:
29652         * testsuite/tags/merge.c:
29653           remove testsuite/tags
29654
29655 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29656
29657         * docs/gst/gstreamer-sections.txt:
29658         * docs/gst/tmpl/gstenumtypes.sgml:
29659         * win32/gstenumtypes.c:
29660           clean up documentation build a little
29661
29662 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29663
29664         * check/gstcheck.h:
29665           add macros for checking refcounts on objects and caps
29666         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29667           add some more unit tests
29668         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29669         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29670           fix leaked refcounts (I hope :)) so unittest works
29671         * gst/gstpad.h:
29672           whitespace removal
29673
29674 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29675
29676         * configure.ac: back to HEAD
29677
29678 === release 0.9.1 ===
29679
29680 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29681
29682         * NEWS:
29683         * RELEASE:
29684           updated
29685
29686 2005-06-17  Andy Wingo  <wingo@pobox.com>
29687
29688         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29689         assert; it's always possible that the pad gets deactivated in
29690         between the checks in gstpad.c and the implementation. Rely on
29691         finish_preroll() to return a FLUSHING or similar instead of on the
29692         assert.
29693         
29694         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29695         clock and post an EOS message if we come out of finish_preroll in
29696         the playing state.
29697
29698 2005-06-16  David Schleef  <ds@schleef.org>
29699
29700         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29701         (gst_capsfilter_set_property): Allow NULL as possible value
29702         for filter_caps property, indicating GST_CAPS_ANY.
29703
29704 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29705
29706         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29707           fix debug output
29708         * gst/schedulers/Makefile.am:
29709           use libgst prefix
29710         * gstreamer.spec.in:
29711           fix spec for it
29712
29713 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29714
29715         * gstreamer.spec.in:
29716           clean up
29717
29718 2005-06-08  Andy Wingo  <wingo@pobox.com>
29719
29720         * gst/gstutils.c: RPAD fixes all around.
29721         (gst_element_link_pads): Refcounting fixes.
29722
29723         * tools/gst-inspect.c:
29724         * tools/gst-xmlinspect.c:
29725         * parse/grammar.y:
29726         * gst/base/gsttypefindhelper.c:
29727         * gst/base/gstbasesink.c:
29728         * gst/gstqueue.c: RPAD fixes.
29729
29730         * gst/gstghostpad.h:
29731         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29732         pads. The tricky thing is they provide both source and sink
29733         interfaces, since they proxy the internal pad for the external
29734         pad, and vice versa. Implement with lower-level ProxyPad objects,
29735         with the interior proxy pad as a child of the exterior ghost pad.
29736         Should write a doc on this.
29737         
29738         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29739         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29740         gst_object API.
29741         
29742         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29743         pads are real pads. No ghost pads in this file. Not documenting
29744         the myriad s/RPAD/PAD/ and REALIZE fixes.
29745         (gst_pad_class_init): Add properties for "direction" and
29746         "template". Both are construct-only, so they can't change during
29747         the life of the pad. Fixes properly deriving from GstPad.
29748         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29749         derived objects, just set properties when creating the objects via
29750         g_object_new.
29751         (gst_pad_get_parent): Implement as a function, return NULL if the
29752         parent is not an element.
29753         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29754         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29755         
29756         * gst/gstobject.c (gst_object_class_init): Make name a construct
29757         property. Don't set it in the object init.
29758
29759         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29760         with UNKNOWN direction.
29761         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29762         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29763         (gst_element_remove_pad): Remove ghost-pad special cases.
29764         (gst_element_pads_activate): Remove rpad cruft.
29765
29766         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29767         catch the pad's-parent-not-an-element case.
29768
29769         * gst/gst.h: Include gstghostpad.h.
29770
29771         * gst/gst.c (init_post): No more real, ghost pads.
29772
29773         * gst/Makefile.am: Add gstghostpad.[ch].
29774
29775         * check/Makefile.am:
29776         * check/gst/gstbin.c:
29777         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29778         into a bin creates ghost pads, and that the refcounts are right.
29779         Partly moved from gstbin.c.
29780
29781 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29782
29783         * check/gst-libs/.cvsignore:
29784         * check/gst/.cvsignore:
29785         * check/pipelines/.cvsignore:
29786           ignore more
29787         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29788         (START_TEST), (cleanup_suite), (main):
29789           add some tests related to cleanup after running pipelines
29790
29791 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29792
29793         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29794           add a testsuite for GstBuffer
29795
29796 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29797
29798         * gst/gstminiobject.h:
29799           add defines for accessing the refcount
29800
29801 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29802
29803         * Makefile.am: added support for html unit test coverage reports
29804
29805 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29806
29807         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29808           Free existing caps if the capsfilter changes. Add a FIXME about
29809           setting those caps on the pads.
29810
29811         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29812           Before adding a ghost pad to a parent bin, check that there isn't
29813           already one for the element on the bin. Prevents infinite recursion
29814           when using decodebin in parse pipelines. Andy says he'll rewrite the
29815           way this works anyway, so ignore the hack.
29816
29817 2005-06-02  Andy Wingo  <wingo@pobox.com>
29818
29819         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29820         file size, pass it on to the type find helper.
29821
29822         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29823         segment_start and segment_end properly according to the seek
29824         method. Segment_end is still a bit flaky because offset can be
29825         negative for CUR and END cases, but it takes -1 as an "unset"
29826         value.
29827
29828 2005-06-02  Wim Taymans  <wim@fluendo.com>
29829
29830         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29831         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29832         (gst_basesink_activate):
29833         * gst/base/gstbasesink.h:
29834         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29835         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29836         (gst_pad_query), (gst_pad_start_task):
29837         * gst/gstpad.h:
29838         * gst/gstqueue.c: (gst_queue_bufferalloc),
29839         (gst_queue_handle_sink_event), (gst_queue_chain):
29840         Bufferalloc: return GstFlowReturn to more accuratly report
29841         why allocation failed.
29842
29843 2005-06-02  Wim Taymans  <wim@fluendo.com>
29844
29845         * gst/gstpipeline.c: (gst_pipeline_send_event):
29846         Take snapshot of state without blocking.
29847
29848 2005-06-02  Wim Taymans  <wim@fluendo.com>
29849
29850         * docs/design/part-TODO.txt:
29851         * docs/design/part-caps.txt:
29852         * docs/design/part-clocks.txt:
29853         * docs/design/part-negotiation.txt:
29854         * docs/design/part-preroll.txt:
29855         Small doc updates 
29856
29857 2005-05-30  Wim Taymans  <wim@fluendo.com>
29858
29859         * gst/elements/gstidentity.c: (gst_identity_event),
29860         (gst_identity_transform), (gst_identity_get_property):
29861         Protect last_message property as it is accessed from
29862         multiple threads.
29863
29864 2005-05-30  Wim Taymans  <wim@fluendo.com>
29865
29866         * gst/gstelement.c: (gst_element_init),
29867         (gst_element_pads_activate), (gst_element_change_state):
29868         Slicker pad activation code.
29869
29870 2005-05-30  Wim Taymans  <wim@fluendo.com>
29871
29872         * gst/Makefile.am:
29873         * gst/gstelement.h:
29874         * gst/gstelementfactory.h:
29875         * gst/gsttypes.h:
29876         Move elementfactory methods to separate .h file.
29877
29878 2005-05-30  Wim Taymans  <wim@fluendo.com>
29879
29880         * docs/design/part-overview.txt:
29881         * gst/gstsystemclock.h:
29882         Small typo fixes, doc updates.
29883
29884 2005-05-30  Wim Taymans  <wim@fluendo.com>
29885
29886         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29887         (init_popt_callback):
29888         Remove cpu-opt flag.
29889
29890 2005-05-30  Wim Taymans  <wim@fluendo.com>
29891
29892         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29893         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29894         * gst/gstbuffer.h:
29895         Avoid typechecking in places where not needed.
29896         Added accessor for malloc_data.
29897
29898 2005-05-30  Wim Taymans  <wim@fluendo.com>
29899
29900         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29901         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29902         (gst_pad_configure_sink), (gst_pad_configure_src),
29903         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29904         (gst_pad_start_task):
29905         Propagate errors from _set_caps() in configure_src/sink
29906         functions instead of returning TRUE.
29907         FLUSH events can travel up and downstream
29908
29909
29910 2005-05-30  Wim Taymans  <wim@fluendo.com>
29911
29912         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29913         (gst_basesink_activate):
29914         Handle EOS in preroll.
29915
29916 2005-05-30  Wim Taymans  <wim@fluendo.com>
29917
29918         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29919         (gst_queue_loop), (gst_queue_handle_src_event):
29920         Remove old pieces of code
29921         Flushing the queue in an upstream event is a very bad idea.
29922
29923 2005-05-26  Andy Wingo  <wingo@pobox.com>
29924
29925         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29926         gst_value_set_mini_object so as to add a ref on the object (which
29927         will be removed when the value is unset).
29928
29929         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29930         arg type in ::handoff.
29931
29932         * gst/gstelement.c (gst_element_change_state): Also deactivate
29933         pads in READY->NULL, just in case the element didn't make it to
29934         PAUSED. Wingo tested, Wim approved.
29935
29936 2005-05-26  Wim Taymans  <wim@fluendo.com>
29937
29938         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29939         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29940         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29941         A flushing pad cannot be used to alloc_buffer from.
29942
29943 2005-05-26  Wim Taymans  <wim@fluendo.com>
29944
29945         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29946         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29947         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29948         (gst_bus_create_watch), (gst_bus_add_watch_full):
29949         * gst/gstbus.h:
29950         Implement a real GSource and use g_main_context_wakeup() to
29951         signal new messages instead of the socketpair.
29952
29953 2005-05-25  Wim Taymans  <wim@fluendo.com>
29954
29955         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29956         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29957         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29958         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29959         (gst_pad_send_event), (gst_pad_start_task):
29960         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29961         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29962         (gst_queue_sink_activate), (gst_queue_src_activate),
29963         (gst_queue_change_state):
29964         * gst/gstqueue.h:
29965         Fix state changes for non sinks. We now change sinks, then elements
29966         with unconnected srcpads, then the rest.
29967         More efficient queue unlocking in flush and state changes.
29968         Set the pad activate mode even if it does not have an activate
29969         function.
29970
29971 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29972
29973         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29974           Don't go in pull mode for non-seekable sources.
29975         * gst/elements/gsttypefindelement.h:
29976         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29977         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29978         (free_entry), (stop_typefinding),
29979         (gst_type_find_element_handle_event), (find_peek),
29980         (gst_type_find_element_chain), (do_pull_typefind),
29981         (gst_type_find_element_change_state):
29982           Allow typefinding (w/o seeking) in push-mode, simplified version
29983           of what was in 0.8.
29984         * gst/gstutils.c: (gst_buffer_join):
29985         * gst/gstutils.h:
29986           gst_buffer_join() from 0.8.
29987
29988 2005-05-25  Wim Taymans  <wim@fluendo.com>
29989
29990         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29991         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29992         (gst_pad_send_event), (gst_pad_start_task):
29993         Disable attempt at mode switching until it is figured out.
29994
29995 2005-05-25  Wim Taymans  <wim@fluendo.com>
29996
29997         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29998         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29999         (gst_basesink_finish_preroll), (gst_basesink_chain),
30000         (gst_basesink_loop), (gst_basesink_activate),
30001         (gst_basesink_change_state):
30002         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
30003         (gst_basesrc_get_range), (gst_basesrc_loop),
30004         (gst_basesrc_activate):
30005         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30006         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30007         (gst_real_pad_init), (gst_real_pad_set_property),
30008         (gst_real_pad_get_property), (gst_pad_set_active),
30009         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
30010         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
30011         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
30012         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
30013         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30014         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
30015         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
30016         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
30017         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
30018         (gst_pad_stop_task):
30019         * gst/gstpad.h:
30020         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30021         (gst_queue_loop), (gst_queue_src_activate):
30022         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
30023         (gst_task_get_state):
30024         * gst/gsttask.h:
30025         * gst/schedulers/threadscheduler.c:
30026         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
30027         Implement gst_pad_pause/start/stop_task(), take STREAM lock
30028         in task function.
30029         Remove ACTIVE pad flag, use FLUSHING everywhere
30030         Added _pad_chain(), _pad_get_range() to call chain/getrange 
30031         functions.
30032         Add locks around IS_FLUSHING when reading.
30033         Take STREAM lock in chain(), get_range() functions so plugins
30034         don't need to take it anymore.
30035         
30036
30037
30038 2005-05-25  Wim Taymans  <wim@fluendo.com>
30039
30040         * tools/gst-launch.c: (event_loop):
30041         Unref message after using its contents instead of
30042         before.
30043
30044 2005-05-24  Wim Taymans  <wim@fluendo.com>
30045
30046         * docs/design/draft-ghostpads.txt:
30047         * docs/design/draft-push-pull.txt:
30048         * docs/design/draft-query.txt:
30049         * docs/design/part-overview.txt:
30050         Docs updates, added general overview doc.
30051
30052 2005-05-21  David Schleef  <ds@schleef.org>
30053
30054         * docs/gst/tmpl/old/GstBin.sgml:
30055         * docs/gst/tmpl/old/GstBuffer.sgml:
30056         * docs/gst/tmpl/old/GstCaps.sgml:
30057         * docs/gst/tmpl/old/GstClock.sgml:
30058         * docs/gst/tmpl/old/GstCompat.sgml:
30059         * docs/gst/tmpl/old/GstData.sgml:
30060         * docs/gst/tmpl/old/GstElement.sgml:
30061         * docs/gst/tmpl/old/GstEvent.sgml:
30062         * docs/gst/tmpl/old/GstIndex.sgml:
30063         * docs/gst/tmpl/old/GstStructure.sgml:
30064         * docs/gst/tmpl/old/GstTag.sgml:
30065         * docs/gst/tmpl/old/cothreads.sgml:
30066         * docs/gst/tmpl/old/cothreads_compat.sgml:
30067         * docs/gst/tmpl/old/gettext.sgml:
30068         * docs/gst/tmpl/old/gobject2gtk.sgml:
30069         * docs/gst/tmpl/old/grammar.tab.sgml:
30070         * docs/gst/tmpl/old/gst-i18n-app.sgml:
30071         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30072         * docs/gst/tmpl/old/gst_private.sgml:
30073         * docs/gst/tmpl/old/gstaggregator.sgml:
30074         * docs/gst/tmpl/old/gstarch.sgml:
30075         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30076         * docs/gst/tmpl/old/gstbufferstore.sgml:
30077         * docs/gst/tmpl/old/gstdata_private.sgml:
30078         * docs/gst/tmpl/old/gstdisksink.sgml:
30079         * docs/gst/tmpl/old/gstdisksrc.sgml:
30080         * docs/gst/tmpl/old/gstelementfactory.sgml:
30081         * docs/gst/tmpl/old/gstextratypes.sgml:
30082         * docs/gst/tmpl/old/gstfakesink.sgml:
30083         * docs/gst/tmpl/old/gstfakesrc.sgml:
30084         * docs/gst/tmpl/old/gstfdsink.sgml:
30085         * docs/gst/tmpl/old/gstfdsrc.sgml:
30086         * docs/gst/tmpl/old/gstfilesink.sgml:
30087         * docs/gst/tmpl/old/gstfilesrc.sgml:
30088         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30089         * docs/gst/tmpl/old/gstidentity.sgml:
30090         * docs/gst/tmpl/old/gstindexfactory.sgml:
30091         * docs/gst/tmpl/old/gstmarshal.sgml:
30092         * docs/gst/tmpl/old/gstmd5sink.sgml:
30093         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30094         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30095         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30096         * docs/gst/tmpl/old/gstpipefilter.sgml:
30097         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30098         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30099         * docs/gst/tmpl/old/gstshaper.sgml:
30100         * docs/gst/tmpl/old/gstspider.sgml:
30101         * docs/gst/tmpl/old/gstspideridentity.sgml:
30102         * docs/gst/tmpl/old/gststatistics.sgml:
30103         * docs/gst/tmpl/old/gsttee.sgml:
30104         * docs/gst/tmpl/old/gsttimecache.sgml:
30105         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30106         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30107         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30108         * docs/gst/tmpl/old/types.sgml:
30109           I didn't intend to add these or check them in.
30110
30111 2005-05-19  David Schleef  <ds@schleef.org>
30112
30113         * configure.ac: Use -no-common everywhere.  In a sane world, it
30114           would be the default in libtool, because without it, you can't
30115           build DLLs on Windows.
30116         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30117         * docs/gst/gstreamer-sections.txt:
30118         * docs/gst/tmpl/gstcpu.sgml:
30119         * docs/gst/tmpl/gstdata.sgml:
30120         * docs/gst/tmpl/gstthread.sgml:
30121
30122 2005-05-19  David Schleef  <ds@schleef.org>
30123
30124         * gst/gstminiobject.c: (gst_value_set_mini_object),
30125         (gst_value_take_mini_object), (gst_value_get_mini_object):
30126         * gst/gstminiobject.h: Add GValue set/get functions.
30127
30128 2005-05-19  Wim Taymans  <wim@fluendo.com>
30129
30130         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30131         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30132         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30133         * gst/gstbuffer.h:
30134         * gst/gstbus.c: (gst_bus_post):
30135         * gst/gstelement.c: (gst_element_get_random_pad):
30136         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30137         Make subbufer unref the parent in finalize.
30138         some more debugging info.
30139
30140
30141 2005-05-19  Wim Taymans  <wim@fluendo.com>
30142
30143         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30144         (gst_basesink_init), (gst_basesink_finalize),
30145         (gst_basesink_activate), (gst_basesink_change_state):
30146         Don't free preroll queue too early.
30147
30148 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30149
30150         * gst/Makefile.am:
30151         * gst/ROADMAP:
30152           Hi, I'm outdated. Please shoot me.
30153
30154 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30155
30156         * gst/gstpipeline.c: (gst_pipeline_send_event):
30157           Do not access variables after they have been deleted.
30158
30159 2005-05-19  Wim Taymans  <wim@fluendo.com>
30160
30161         * tools/gst-inspect.c: (print_plugin_features):
30162         A plugin feature does unfortunatly not use the
30163         object name yet...
30164
30165 2005-05-18  Wim Taymans  <wim@fluendo.com>
30166
30167         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30168         Port _span() functions to new subbuffers.
30169
30170 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30171
30172         * gst/gstbin.c: (gst_bin_add_func):
30173           Fix clock settery in bins when adding kids after the clock has
30174           been selected.
30175
30176 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30177
30178         * gst/elements/gstidentity.c: (gst_identity_class_init):
30179           Workaround until signals support GstMiniObject.
30180
30181 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30182
30183         * gst/gstbuffer.c:
30184         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30185
30186 2005-05-18  Wim Taymans  <wim@fluendo.com>
30187
30188         * gst/base/Makefile.am:
30189         * gst/base/gstadapter.c: (gst_adapter_base_init),
30190         (gst_adapter_class_init), (gst_adapter_init),
30191         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30192         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30193         (gst_adapter_flush), (gst_adapter_available),
30194         (gst_adapter_available_fast):
30195         * gst/base/gstadapter.h:
30196         Ported and added adapter to the base classes.
30197
30198 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30199
30200         * gst/gst.c:
30201         * gst/gstmessage.c:
30202           Make sure the class is reffed/unreffed once before threads can be
30203           used.  Fixes #304551.
30204
30205 2005-05-17  Wim Taymans  <wim@fluendo.com>
30206
30207         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30208         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30209         * gst/gstminiobject.c: (gst_mini_object_get_type),
30210         (gst_mini_object_free):
30211         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30212         (gst_pad_push), (gst_pad_push_event):
30213         * gst/gstqueue.c: (gst_queue_change_state):
30214         Don't queue buffers in basesink when we are flushing.
30215         Unref buffer when flushing in basesink.
30216         Flush queue when going to READY
30217         Unref buffer when _push() returns an error.
30218         Don't free MiniObject instance when refcount is incremented
30219         in _finalize() so that we can recover objects.
30220
30221 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30222
30223         * docs/manual/advanced-schedulers.xml:
30224         * docs/manual/appendix-checklist.xml:
30225         * docs/pwg/advanced-clock.xml:
30226         * docs/pwg/advanced-interfaces.xml:
30227         * docs/pwg/advanced-request.xml:
30228         * docs/pwg/advanced-types.xml:
30229         * docs/pwg/intro-preface.xml:
30230         * examples/plugins/example.c: (gst_example_get_type),
30231         (gst_example_class_init), (gst_example_chain),
30232         (gst_example_set_property), (gst_example_get_property),
30233         (gst_example_change_state), (plugin_init):
30234         * examples/plugins/example.h:
30235           small doc fixes
30236
30237 2005-05-17  Wim Taymans  <wim@fluendo.com>
30238
30239         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30240         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30241         * gst/gstqueue.c: (gst_queue_change_state):
30242         Clear queue when going to READY.
30243         Remove IN_SETCAPS flag too.
30244
30245 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30246
30247         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30248           Remove implicit cast from gboolean to GstElementStateReturn;
30249           make sure we still return failure in paused => ready case if
30250           the parent class fails to change state and our own stop 
30251           vfunc succeeds.
30252
30253 2005-05-17  Wim Taymans  <wim@fluendo.com>
30254
30255         * tools/gst-launch.c: (event_loop):
30256         Message was unreffed too soon.
30257
30258 2005-05-16  Andy Wingo  <wingo@pobox.com>
30259
30260         * gst/gstbin.c (sink_iterator_filter): Err... um...
30261
30262         * check/gst/gstbin.c (test_ghost_pads): New test for the
30263         ghosting-if-elements-not-in-same-bin behavior.
30264
30265 2005-05-16  David Schleef  <ds@schleef.org>
30266
30267         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30268         accessing refcount directly.
30269
30270 2005-05-15  David Schleef  <ds@schleef.org>
30271
30272         * check/Makefile.am: remove GstData checks
30273         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30274         * gst/Makefile.am: add miniobject, remove data
30275         * gst/gst.h: add miniobject, remove data
30276         * gst/gstdata.c: remove
30277         * gst/gstdata.h: remove
30278         * gst/gstdata_private.h: remove
30279         * gst/gsttypes.h: remove GstEvent and GstMessage
30280         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30281         * gst/gstmarshal.list: change BOXED -> OBJECT
30282
30283         Implement GstMiniObject.
30284         * gst/gstminiobject.c:
30285         * gst/gstminiobject.h:
30286
30287         Modify to be subclasses of GstMiniObject.
30288         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30289         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30290         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30291         (gst_subbuffer_get_type), (gst_subbuffer_init),
30292         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30293         (gst_buffer_span):
30294         * gst/gstbuffer.h:
30295         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30296         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30297         (_gst_event_copy), (gst_event_new):
30298         * gst/gstevent.h:
30299         * gst/gstmessage.c: (_gst_message_initialize),
30300         (gst_message_get_type), (gst_message_class_init),
30301         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30302         (gst_message_new), (gst_message_new_error),
30303         (gst_message_new_warning), (gst_message_new_tag),
30304         (gst_message_new_state_changed), (gst_message_new_application):
30305         * gst/gstmessage.h:
30306         * gst/gstprobe.c: (gst_probe_perform),
30307         (gst_probe_dispatcher_dispatch):
30308         * gst/gstprobe.h:
30309         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30310         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30311         (_gst_query_copy), (gst_query_new):
30312
30313         Update elements for GstData -> GstMiniObject changes
30314         * gst/gstquery.h:
30315         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30316         (gst_queue_chain), (gst_queue_loop):
30317         * gst/elements/gstbufferstore.c:
30318         (gst_buffer_store_add_buffer_func),
30319         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30320         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30321         (gst_fakesink_render):
30322         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30323         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30324         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30325         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30326         (gst_filesrc_create_read):
30327         * gst/elements/gstidentity.c: (gst_identity_class_init):
30328         * gst/elements/gsttypefindelement.c:
30329         (gst_type_find_element_src_event), (free_entry_buffers),
30330         (gst_type_find_element_handle_event):
30331         * libs/gst/dataprotocol/dataprotocol.c:
30332         (gst_dp_header_from_buffer):
30333         * libs/gst/dataprotocol/dataprotocol.h:
30334         * libs/gst/dataprotocol/dp-private.h:
30335
30336 2005-05-15  David Schleef  <ds@schleef.org>
30337
30338         * gst/elements/gstelements.c: Don't include headers that were
30339         just removed.
30340
30341 2005-05-15  David Schleef  <ds@schleef.org>
30342
30343         * gst/elements/Makefile.am: Remove some elements that don't
30344         need to be in the core (or even exist at all).
30345         * gst/elements/gstaggregator.c:
30346         * gst/elements/gstaggregator.h:
30347         * gst/elements/gstmd5sink.c:
30348         * gst/elements/gstmd5sink.h:
30349         * gst/elements/gstmultifilesrc.c:
30350         * gst/elements/gstmultifilesrc.h:
30351         * gst/elements/gstpipefilter.c:
30352         * gst/elements/gstpipefilter.h:
30353         * gst/elements/gstshaper.c:
30354         * gst/elements/gstshaper.h:
30355         * gst/elements/gststatistics.c:
30356         * gst/elements/gststatistics.h:
30357         * po/POTFILES.in: Remove above files.
30358
30359 2005-05-14  Andy Wingo  <wingo@pobox.com>
30360
30361         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30362         so as to get the refs right.
30363         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30364         unreffing objects that don't pass the filter.
30365
30366         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30367         gst_element_set_bus.
30368         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30369         normal cases, this will destroy the bus.
30370
30371         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30372         object.
30373
30374         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30375         has no sinks.
30376
30377 2005-05-13  Andy Wingo  <wingo@pobox.com>
30378
30379         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30380         gst_pad_link, call pad_link_maybe_ghosting,
30381         (pad_link_maybe_ghosting): Links pads, making sure that the
30382         elements being linked are in the same bin.
30383         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30384         Helpers for pad_link_maybe_ghosting.
30385
30386 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30387
30388         * configure.ac:
30389           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30390
30391 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30392
30393         * docs/design/part-element-source.txt:
30394           Mention GstPushSrc
30395
30396 2005-05-12  Wim Taymans  <wim@fluendo.com>
30397
30398         * gst/base/gstbasesink.c: (gst_basesink_init),
30399         (gst_basesink_activate):
30400         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30401         (gst_basesrc_is_seekable):
30402         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30403         (bin_element_is_sink), (gst_bin_change_state):
30404         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30405         * gst/gstelement.h:
30406         Identify sinks by their flag to avoid overly complicated
30407         checks (fow now).
30408         Do state changes even for elements not reachable from the
30409         sinks.
30410         BaseSink is a sink now :)
30411         Some more debugging info in the basesrc.
30412
30413
30414 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30415
30416         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30417           Implement _query on a bin, similar to _send_event.
30418
30419 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30420
30421         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30422           Discont event offset format should be GST_FORMAT_BYTES,
30423           not GST_FORMAT_TIME.
30424
30425 2005-05-12  Wim Taymans  <wim@fluendo.com>
30426
30427         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30428         Same fix as Ronald's but without the signal. 
30429
30430 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30431
30432         * gst/gstutils.c: (gst_element_query_position):
30433           No, an element is not a pad.
30434
30435 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30436
30437         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30438         (gst_bin_get_state):
30439           If a child is removed from a bin while we remove the child from
30440           the bin and while we're retrieving its state, signal this to the
30441           get_state function so we abort the wait (instead of waiting for
30442           a timeout) and can immediately re-iterate over all other elements.
30443
30444 2005-05-12  Wim Taymans  <wim@fluendo.com>
30445
30446         * gst/base/Makefile.am:
30447         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30448         (gst_basesrc_start):
30449         * gst/base/gstbasesrc.h:
30450         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30451         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30452         (gst_pushsrc_init), (gst_pushsrc_create):
30453         * gst/base/gstpushsrc.h:
30454         Added is_seekable to BaseSrc
30455         Added simple PushSrc.
30456
30457 2005-05-11  Wim Taymans  <wim@fluendo.com>
30458
30459         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30460         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30461         (gst_element_link_pads), (gst_element_query_position),
30462         (gst_element_query_convert), (intersect_caps_func),
30463         (gst_pad_query_position), (gst_pad_query_convert):
30464         Fix refcounting in utils function.
30465         No point in trying to activate a pad when it's added, it could
30466         be added from the state change function and then we deadlock, the
30467         element has to decide what to do.
30468
30469 2005-05-10  Andy Wingo  <wingo@pobox.com>
30470
30471         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30472         *all* the arguments.
30473
30474         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30475         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30476         lock (according to the docs -- if this is wrong change the docs).
30477
30478         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30479         flush messages in the NULL state.
30480
30481         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30482         message immediately and return.
30483         (gst_bus_set_flushing): New function. If a bus is flushing, it
30484         flushes out any queued messages and immediately unrefs new
30485         messages. This is so when an element goes to NULL, all of the
30486         unhandled messages coming from it can be freed, and their
30487         references to the element dropped. In other words: message source
30488         ref considered harmful :P
30489
30490         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30491         we're finished with it.
30492
30493         * gst/gstmessage.c (gst_message_new_state_changed): 
30494
30495 2005-05-10  Wim Taymans  <wim@fluendo.com>
30496
30497         * gst/gstvalue.c: (gst_value_compare_flags),
30498         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30499         (_gst_value_initialize):
30500         Added flags serialize/deserialize/compare code.
30501
30502 2005-05-09  Andy Wingo  <wingo@pobox.com>
30503
30504         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30505         Intersect the peer's caps with our caps.
30506
30507 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30508
30509         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30510         * gst/elements/gsttypefindelement.c: (find_peek):
30511           Handle negative offsets better. Fixes decodebin.
30512
30513 2005-05-09  Wim Taymans  <wim@fluendo.com>
30514
30515         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30516         (gst_base_transform_event):
30517         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30518         Implement accept_caps.
30519         Fix silly lock/unlock mismatch in base class.
30520
30521 2005-05-09  Wim Taymans  <wim@fluendo.com>
30522
30523         * docs/design/draft-push-pull.txt:
30524         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30525         * gst/elements/gstfilesink.c: (gst_filesink_init),
30526         (gst_filesink_query):
30527         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30528         (gst_type_find_handle_src_query), (find_element_get_length):
30529         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30530         * gst/gstelement.h:
30531         * gst/gstmessage.c:
30532         * gst/gstmessage.h:
30533         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30534         (gst_real_pad_get_caps_unlocked),
30535         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30536         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30537         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30538         (gst_real_pad_dispose), (gst_real_pad_finalize),
30539         (gst_pad_load_and_link), (gst_pad_save_thyself),
30540         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30541         (gst_pad_check_pull_range), (gst_pad_pull_range),
30542         (gst_pad_template_get_type), (gst_pad_template_class_init),
30543         (gst_pad_template_init), (gst_pad_template_dispose),
30544         (name_is_valid), (gst_static_pad_template_get),
30545         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30546         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30547         (gst_pad_get_element_private), (gst_pad_start_task),
30548         (gst_pad_pause_task), (gst_pad_stop_task),
30549         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30550         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30551         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30552         (gst_ghost_pad_new):
30553         * gst/gstpad.h:
30554         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30555         (gst_query_new_position), (gst_query_set_position),
30556         (gst_query_parse_position), (gst_query_new_convert),
30557         (gst_query_set_convert), (gst_query_parse_convert):
30558         * gst/gstquery.h:
30559         * gst/gstqueryutils.c:
30560         * gst/gstqueryutils.h:
30561         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30562         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30563         (gst_queue_handle_src_query):
30564         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30565         (gst_element_query_position), (gst_element_query_convert),
30566         (intersect_caps_func), (gst_pad_query_position),
30567         (gst_pad_query_convert):
30568         * gst/gstutils.h:
30569         * tools/gst-inspect.c: (print_pad_info):
30570         * tools/gst-xmlinspect.c: (print_element_info):
30571         Remove old query functions. Ported old code.
30572         Added position/convert helper functions to gstutils.
30573         Reordered gstpad.c code, grouping relevant things.
30574         Remove gst_message_new(), always need to speficy a specific
30575         message.
30576
30577
30578 2005-05-09  Andy Wingo  <wingo@pobox.com>
30579
30580         * gst/gstiterator.h: Add some includes.
30581
30582         * gst/gstqueryutils.h: Include more headers.
30583
30584         * gst/gstpad.h:
30585         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30586         some uses of gst_pad_query.
30587
30588         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30589         NULL out parameters.
30590         (gst_query_new_position): New proc, allocates a new position
30591         query.
30592
30593         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30594         gstqueryutils.c to the build.
30595
30596         * gst/gststructure.c (gst_structure_set_valist): Implement with
30597         the generic G_VALUE_COLLECT.
30598         
30599 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30600
30601         * gst/Makefile.am: (gst_headers):
30602         Added gstqueryutils.h to the list of headers to install, that was
30603         a 'nachty' move wingo :)
30604
30605 2005-05-06  Andy Wingo  <wingo@pobox.com>
30606
30607         * gst/gstquery.h
30608         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30609         GstData, init a memchunk.
30610         (standard_definitions): Add a few query types, deprecate a few.
30611         (gst_query_get_type): New proc.
30612         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30613         implementation.
30614         (gst_query_new_application, gst_query_get_structure): New public
30615         procs.
30616
30617         * docs/design/draft-query.txt: Removed LINKS from the query types,
30618         because all the rest can be dispatched to other pads -- seemed
30619         ugly to have a query that couldn't be dispatched. internal_links
30620         is fine as a pad method.
30621
30622         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30623         in gstpad.c, but maintain binary compatibility for the moment.
30624         Will fix before 0.9 is out.
30625
30626         * gst/gstqueryutils.c: 
30627         * gst/gstqueryutils.h: New files, implement 3 methods for each
30628         query type: parse_query, parse_response, and set. Probably need an
30629         allocator as well.
30630
30631         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30632
30633         * gst/elements/gstfilesink.c (gst_filesink_query2):
30634         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30635         query_types, and formats methods.
30636
30637         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30638         (gst_pad_set_query2_function): New functions.
30639         (gst_real_pad_init): Set query2_default as the default query2
30640         function. Basically just dispatches to internally linked pads.
30641
30642         Needs review!
30643         
30644         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30645         without using the atomic operations. Only one thread can possibly
30646         be accessing the data at this point. Changed so as to avoid
30647         gst_atomic operations.
30648
30649 2005-05-06  Wim Taymans  <wim@fluendo.com>
30650
30651         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30652         Also set caps if we use the fallback buffer alloc.
30653
30654 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30655
30656         * docs/gst/Makefile.am:
30657         * docs/gst/gstreamer-docs.sgml:
30658         * docs/gst/gstreamer-sections.txt:
30659         * docs/gst/tmpl/gstatomic.sgml:
30660         * docs/gst/tmpl/gstmemchunk.sgml:
30661         * testsuite/elements/struct_i386.h:
30662         * win32/GStreamer.vcproj:
30663         * win32/Makefile:
30664           Purge GstAtomic stuff from docs and win32 makefiles as well
30665
30666 2005-05-06  Wim Taymans  <wim@fluendo.com>
30667
30668         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30669         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30670         * gst/gstpad.c: (gst_pad_peer_get_caps):
30671         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30672         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30673         (gst_queue_src_activate), (gst_queue_change_state):
30674         * gst/gstqueue.h:
30675         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30676         (intersect_caps_func):
30677         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30678         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30679         Some fixes for the peer_get_caps() change.
30680
30681 2005-05-06  Wim Taymans  <wim@fluendo.com>
30682
30683         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30684         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30685         (gst_basesink_activate):
30686         Actually do something with error codes returned from the push
30687         functions.
30688
30689 2005-05-06  Wim Taymans  <wim@fluendo.com>
30690
30691         * docs/design/part-element-sink.txt:
30692         * docs/design/part-element-source.txt:
30693         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30694         (gst_basesink_event), (gst_basesink_activate):
30695         * gst/base/gstbasesink.h:
30696         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30697         (gst_basesrc_activate):
30698         * gst/base/gstbasesrc.h:
30699         * gst/gstelement.c: (gst_element_pads_activate):
30700         Some more documentation.
30701         Fixed scheduling decision in _pads_activate().
30702
30703 2005-05-05  Andy Wingo  <wingo@pobox.com>
30704
30705         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30706         the test suite.
30707
30708 2005-05-05  Wim Taymans  <wim@fluendo.com>
30709
30710         * gst/base/Makefile.am:
30711         * gst/base/gstbasesink.h:
30712         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30713         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30714         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30715         (gst_collectpads_class_init), (gst_collectpads_init),
30716         (gst_collectpads_finalize), (gst_collectpads_new),
30717         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30718         (find_pad), (gst_collectpads_remove_pad),
30719         (gst_collectpads_is_active), (gst_collectpads_collect),
30720         (gst_collectpads_collect_range), (gst_collectpads_start),
30721         (gst_collectpads_stop), (gst_collectpads_peek),
30722         (gst_collectpads_pop), (gst_collectpads_available),
30723         (gst_collectpads_read), (gst_collectpads_flush),
30724         (gst_collectpads_chain):
30725         * gst/base/gstcollectpads.h:
30726         * gst/elements/Makefile.am:
30727         * gst/elements/gstelements.c:
30728         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30729         (gst_fakesink_get_times), (gst_fakesink_event),
30730         (gst_fakesink_preroll), (gst_fakesink_render):
30731         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30732         (gst_filesink_init), (gst_filesink_set_location),
30733         (gst_filesink_open_file), (gst_filesink_close_file),
30734         (gst_filesink_pad_query), (gst_filesink_event),
30735         (gst_filesink_render), (gst_filesink_change_state):
30736         * gst/elements/gstfilesink.h:
30737         Added object to help in making collect pad based elements.
30738         Ported filesink.
30739         Make event function in sink baseclass return gboolean.
30740
30741 2005-05-05  Wim Taymans  <wim@fluendo.com>
30742
30743         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30744         (gst_bin_get_by_name):
30745         * gst/gstbuffer.h:
30746         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30747         (gst_clock_finalize):
30748         * gst/gstdata.c: (gst_data_replace):
30749         * gst/gstdata.h:
30750         * gst/gstelement.c: (gst_element_request_pad),
30751         (gst_element_pads_activate):
30752         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30753         (gst_object_unref):
30754         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30755         (gst_pad_set_checkgetrange_function),
30756         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30757         (gst_pad_check_pull_range), (gst_pad_pull_range),
30758         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30759         (gst_pad_pause_task), (gst_pad_stop_task):
30760         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30761         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30762         Fix name lookup in GstBin.
30763         Added _data_replace() function and _buffer_replace()
30764         Use finalize method to clean up clock.
30765         Fix refcounting on request pads.
30766         Fix pad schedule mode error.
30767         Some more object refcounting debug info,
30768
30769
30770 2005-05-04  Andy Wingo <wingo@pobox.com>
30771
30772         * check/Makefile.am:
30773         * docs/gst/tmpl/gstatomic.sgml:
30774         * docs/gst/tmpl/gstplugin.sgml:
30775         * gst/base/gstbasesink.c: (gst_basesink_activate):
30776         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30777         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30778         (gst_basesrc_query), (gst_basesrc_set_property),
30779         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30780         (gst_basesrc_activate):
30781         * gst/base/gstbasesrc.h:
30782         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30783         (gst_base_transform_src_activate):
30784         * gst/elements/gstelements.c:
30785         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30786         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30787         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30788         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30789         (gst_type_find_element_checkgetrange),
30790         (gst_type_find_element_activate):
30791         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30792         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30793         (gst_caps_load_thyself):
30794         * gst/gstelement.c: (gst_element_pads_activate),
30795         (gst_element_save_thyself), (gst_element_restore_thyself):
30796         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30797         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30798         * gst/gstpad.h:
30799         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30800         (gst_xml_parse_file), (gst_xml_parse_memory),
30801         (gst_xml_get_element), (gst_xml_make_element):
30802         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30803         (_file_index_id_save_xml), (gst_file_index_commit):
30804         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30805         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30806         (load_paths):
30807         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30808         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30809         * tools/gst-complete.c: (main):
30810         * tools/gst-compprep.c: (main):
30811         * tools/gst-inspect.c: (print_element_properties_info):
30812         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30813         * tools/gst-xmlinspect.c: (print_element_properties):
30814         GCC 4 fixen.
30815         
30816 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30817
30818         * gst/gstplugin.c: (gst_plugin_check_module),
30819         (gst_plugin_check_file), (gst_plugin_load_file):
30820             apply patch from #172526 to make register work on MacOSX
30821
30822 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30823
30824         * docs/gst/tmpl/gstconfig.sgml:
30825         * gst/gstconfig.h.in:
30826           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30827         * testsuite/debug/printf_extension.c: (main):
30828           Do not use GST_PTR_FORMAT on pointers to types with
30829           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30830         * testsuite/elements/property.h:
30831           use correct printf format
30832
30833 2005-05-02  Wim Taymans  <wim@fluendo.com>
30834
30835         * docs/design/draft-push-pull.txt:
30836         * docs/design/draft-query.txt:
30837         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30838         (gst_basesrc_start):
30839         Added draft for new query API.
30840         Added draft for better selecting scheduling methods.
30841         Make basesrc ignore length if the subclass does not support
30842         it.
30843
30844 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30845
30846         * gst/Makefile.am:
30847           possible fixes for automake-1.5 - _LIBADD is reserved
30848
30849 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30850
30851         * docs/faq/Makefile.am:
30852         * docs/manual/Makefile.am:
30853         * docs/manuals.mak:
30854         * docs/pwg/Makefile.am:
30855         * gst/Makefile.am:
30856           possible fixes for automake-1.5
30857
30858 2005-04-28  Wim Taymans  <wim@fluendo.com>
30859
30860         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30861         (gst_basesink_pad_getcaps), (gst_basesink_init),
30862         (gst_basesink_do_sync):
30863         * gst/gstclock.c: (gst_clock_entry_new):
30864         * gst/gstevent.c: (gst_event_discont_get_value):
30865         * gst/gstpipeline.c: (pipeline_bus_handler),
30866         (gst_pipeline_change_state):
30867         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30868         Better debugging of clocking info.
30869         Allow NULL values when getting discont values.
30870
30871 2005-04-27  Wim Taymans  <wim@fluendo.com>
30872
30873         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30874         * check/gst/gstpad.c: (gst_pad_suite):
30875         Increase timeout for checks.
30876
30877 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30878
30879         * check/Makefile.am:
30880           fix the broken rule for cleanup.  Apparently this rule is
30881           only needed on FC2, so maybe this warrants further autotool
30882           inspection.
30883
30884 2005-04-26  Wim Taymans  <wim@fluendo.com>
30885
30886         * gst/gsttrashstack.h:
30887         Ooohh. a nasty one! After having a failed pop() from the stack,
30888         it's possible that the stack is empty. In that case, don't
30889         follow the NULL pointer.
30890
30891 2005-04-25  Wim Taymans  <wim@fluendo.com>
30892
30893         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30894         (gst_pad_set_checkgetrange_function),
30895         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30896         (gst_pad_check_pull_range), (gst_pad_pull_range),
30897         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30898         (gst_pad_pause_task), (gst_pad_stop_task):
30899         * gst/gstplugin.c: (gst_plugin_load):
30900         * gst/gstplugin.h:
30901         Remove gst_library_load as it does more harm than good with
30902         the new g_module flags.
30903         Revert bogus caps template check in pad linking, pad caps
30904         are important when linking not the template, which is more
30905         general than the current caps.
30906
30907 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30908
30909         * gst/autoplug/.cvsignore:
30910         * gst/autoplug/Makefile.am:
30911         * gst/autoplug/gstsearchfuncs.c:
30912         * gst/autoplug/gstsearchfuncs.h:
30913         * gst/autoplug/gstspider.c:
30914         * gst/autoplug/gstspider.h:
30915         * gst/autoplug/gstspideridentity.c:
30916         * gst/autoplug/gstspideridentity.h:
30917         * gst/autoplug/spidertest.c:
30918           Die, spider, die.
30919
30920 2005-04-25  Wim Taymans  <wim@fluendo.com>
30921
30922         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30923         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30924         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30925         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30926         * gst/gstpad.h:
30927         Added stubs for unimplemented functions. 
30928
30929 2005-04-24  David Schleef  <ds@schleef.org>
30930
30931         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30932         please fix.
30933
30934 2005-04-24  David Schleef  <ds@schleef.org>
30935
30936         Convert everything from GstAtomicInt to g_atomic_int_*, and
30937         remove gstatomic.
30938         * gst/Makefile.am:
30939         * gst/gstatomic.c:
30940         * gst/gstatomic.h:
30941         * gst/gstatomic_impl.h:
30942         * gst/gstbuffer.c:
30943         * gst/gstcaps.c:
30944         * gst/gstcaps.h:
30945         * gst/gstclock.c:
30946         * gst/gstclock.h:
30947         * gst/gstdata.c:
30948         * gst/gstdata.h:
30949         * gst/gstdata_private.h:
30950         * gst/gstevent.c:
30951         * gst/gstinfo.c:
30952         * gst/gstinfo.h:
30953         * gst/gstmessage.c:
30954         * gst/gstobject.c:
30955         * gst/gstobject.h:
30956         * gst/gststructure.c:
30957         * gst/gststructure.h:
30958         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30959         * gst/gstutils.h:
30960
30961 2005-04-24  David Schleef  <ds@schleef.org>
30962
30963         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30964         make the regressions tests work.  Remove some code that is no
30965         longer true.
30966         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30967         Disable warning for pads without templates.
30968
30969 2005-04-24  David Schleef  <ds@schleef.org>
30970
30971         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30972         functions that handle filtered links.
30973         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30974         removed functions.
30975         * gst/gstutils.c: Fix/remove utility functions that handle
30976         filtered caps.
30977         * gst/gstutils.h:
30978         * gst/gstvalue.c: Add serialization/deserialization of caps
30979         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30980         requires fixing so that the filter caps notation creates
30981         a capsfilter element and sets the filter_caps property.  I
30982         think everyone probably wants to keep the shorthand notation.
30983         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30984         * docs/gst/tmpl/gstpad.sgml:
30985
30986         * gst/elements/gstelements.c: Register capsfilter element.
30987         * gst/Makefile.am: fix spacing
30988         * docs/random/ds/0.9-suggested-changes: random
30989
30990 2005-04-23  David Schleef  <ds@schleef.org>
30991
30992         * gst/elements/Makefile.am:
30993         * gst/elements/gstcapsfilter.c: New element that acts like an
30994         identity, but filters caps.  Will eventually replace filtered
30995         caps in pad linking.
30996         * gst/gstutils.c: (gst_element_create_all_pads): New function
30997         to create all the ALWAYS pads that are registered with an
30998         element class.  This functionality should eventually be
30999         merged in with GstElement initialization.
31000         * gst/gstutils.h:
31001         * testsuite/trigger/README: part of trigger test code that should
31002         have been checked in a long time ago.
31003
31004 2005-04-23  David Schleef  <ds@schleef.org>
31005
31006         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
31007         needed with new versions of libtool (nobody will confirm this),
31008         and hard to carry around.
31009         * gst/autoplug/Makefile.am:
31010         * gst/base/Makefile.am:
31011         * gst/elements/Makefile.am:
31012         * gst/indexers/Makefile.am:
31013         * gst/schedulers/Makefile.am:
31014         * libs/gst/bytestream/Makefile.am:
31015         * libs/gst/control/Makefile.am:
31016         * libs/gst/dataprotocol/Makefile.am:
31017         * libs/gst/getbits/Makefile.am:
31018
31019 2005-04-21  Wim Taymans  <wim@fluendo.com>
31020
31021         * docs/design/draft-push-pull.txt:
31022         * docs/design/part-MT-refcounting.txt:
31023         * docs/design/part-TODO.txt:
31024         * docs/design/part-caps.txt:
31025         * docs/design/part-events.txt:
31026         * docs/design/part-gstbus.txt:
31027         * docs/design/part-gstpipeline.txt:
31028         * docs/design/part-messages.txt:
31029         * docs/design/part-push-pull.txt:
31030         * docs/design/part-query.txt:
31031         Some more docs.
31032
31033 2005-04-21  Wim Taymans  <wim@fluendo.com>
31034
31035         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
31036         (gst_message_new), (gst_message_new_error),
31037         (gst_message_new_warning), (gst_message_new_tag),
31038         (gst_message_new_state_changed), (gst_message_new_application),
31039         (gst_message_get_structure):
31040         * gst/gstmessage.h:
31041         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31042         (gst_structure_copy_conditional):
31043         Use parent refcount in GstMessage to ensure GstStructure
31044         consistency.
31045         Cleaned up headers a bit.
31046         
31047
31048 2005-04-20  Wim Taymans  <wim@fluendo.com>
31049
31050         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31051         (gst_basesink_pad_getcaps), (gst_basesink_init),
31052         (gst_basesink_chain_unlocked):
31053         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
31054         (gst_type_find_helper):
31055         * gst/elements/gsttypefindelement.c:
31056         (gst_type_find_element_have_type), (gst_type_find_element_init),
31057         (stop_typefinding), (gst_type_find_element_handle_event),
31058         (find_suggest), (gst_type_find_element_chain),
31059         (gst_type_find_element_checkgetrange),
31060         (gst_type_find_element_getrange), (do_typefind),
31061         (gst_type_find_element_activate):
31062         * gst/gstbuffer.c: (_gst_buffer_sub_free),
31063         (gst_buffer_default_free), (gst_buffer_default_copy),
31064         (gst_buffer_set_caps):
31065         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31066         (gst_caps_replace):
31067         * gst/gstmessage.c: (gst_message_new),
31068         (gst_message_new_state_changed):
31069         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31070         (gst_pad_set_checkgetrange_function),
31071         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31072         (gst_pad_set_caps), (gst_pad_check_pull_range),
31073         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31074         * gst/gstpad.h:
31075         * gst/gsttypefind.c: (gst_type_find_register):
31076         Make gst_caps_replace() work like other _replace() functions.
31077         Use _caps_replace() where possible.
31078         Make sure _message_new() initialises its field.
31079         Add gst_static_pad_template_get_caps()
31080
31081
31082 2005-04-18  Andy Wingo  <wingo@pobox.com>
31083
31084         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31085         on the peer, not the pad. I think that was a typo. Pass an extra
31086         arg to see if random access is possible. Activate the pads as
31087         PULL_RANGE if possible.
31088
31089         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31090
31091         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31092         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31093         to PROP_....
31094
31095 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31096
31097         * docs/faq/using.xml:
31098           Add note on gstreamer-properties (#154996).
31099
31100 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31101
31102         * docs/random/bbb/optional-properties:
31103           Some analysis on optional properties.
31104
31105 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31106
31107         * docs/gst/tmpl/gstelementfactory.sgml:
31108         * gst/gstelement.h:
31109         * gst/gstelementfactory.c: (gst_element_factory_init),
31110         (gst_element_factory_cleanup), (gst_element_register),
31111         (__gst_element_factory_add_static_pad_template),
31112         (gst_element_factory_get_static_pad_templates),
31113         (gst_element_factory_can_src_caps),
31114         (gst_element_factory_can_sink_caps):
31115         * gst/registries/Makefile.am:
31116         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31117         (gst_xml_registry_class_init), (gst_xml_registry_init),
31118         (gst_xml_registry_new), (gst_xml_registry_set_property),
31119         (gst_xml_registry_get_property), (get_time), (make_dir),
31120         (gst_xml_registry_get_perms_func),
31121         (plugin_times_older_than_recurse), (plugin_times_older_than),
31122         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31123         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31124         (add_to_char_array), (read_string), (read_uint), (read_enum),
31125         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31126         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31127         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31128         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31129         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31130         (gst_xml_registry_rebuild):
31131         * gst/registries/gstlibxmlregistry.h:
31132         * tools/gst-compprep.c: (main):
31133         * tools/gst-inspect.c: (print_pad_templates_info):
31134         * tools/gst-xmlinspect.c: (print_element_info):
31135           Use libxml2 for registry parsing, use staticpadtemplates in
31136           elementfactories. Makes gst_init() +/- 10x faster.
31137
31138 2005-04-12  Wim Taymans  <wim@fluendo.com>
31139
31140         * gst/base/Makefile.am:
31141         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31142         (gst_basesink_pad_getcaps), (gst_basesink_init),
31143         (gst_basesink_event), (gst_basesink_change_state):
31144         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31145         (gst_basesrc_init), (gst_basesrc_query),
31146         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31147         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31148         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31149         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31150         (gst_basesrc_stop), (gst_basesrc_activate),
31151         (gst_basesrc_change_state):
31152         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31153         (helper_find_suggest), (gst_type_find_helper):
31154         * gst/base/gsttypefindhelper.h:
31155         * gst/elements/Makefile.am:
31156         * gst/elements/gstelements.c:
31157         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31158         (gst_fakesink_get_times), (gst_fakesink_event),
31159         (gst_fakesink_preroll), (gst_fakesink_render):
31160         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31161         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31162         (gst_fakesrc_get_property), (gst_fakesrc_create),
31163         (gst_fakesrc_start), (gst_fakesrc_stop):
31164         * gst/elements/gstfakesrc.h:
31165         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31166         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31167         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31168         (gst_filesrc_create_read), (gst_filesrc_create),
31169         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31170         (gst_filesrc_start):
31171         * gst/elements/gsttypefindelement.c:
31172         (gst_type_find_element_have_type), (gst_type_find_element_init),
31173         (start_typefinding), (stop_typefinding), (push_buffer_store),
31174         (gst_type_find_element_handle_event),
31175         (gst_type_find_element_chain),
31176         (gst_type_find_element_checkgetrange),
31177         (gst_type_find_element_getrange), (do_typefind),
31178         (gst_type_find_element_activate),
31179         (gst_type_find_element_change_state):
31180         * gst/elements/gsttypefindelement.h:
31181         * gst/gstpipeline.c: (pipeline_bus_handler):
31182         Added typefind helper.
31183         Small preroll fix in the base sink.
31184         Disable typefind code in basesrc.
31185         Crude port of typefindelement.
31186         Fakesrc cleanups.
31187
31188
31189 2005-04-11  Wim Taymans  <wim@fluendo.com>
31190
31191         * check/gst/gstbus.c: (gstbus_suite):
31192         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31193         * check/gstcheck.h:
31194           Fix up the timeout so that the test does not fail.
31195
31196 2005-04-06  Wim Taymans  <wim@fluendo.com>
31197
31198         * gst/base/README:
31199         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31200         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31201         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31202         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31203         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31204         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31205         (gst_basesrc_stop), (gst_basesrc_activate),
31206         (gst_basesrc_change_state), (basesrc_find_peek),
31207         (basesrc_find_suggest), (gst_basesrc_type_find):
31208         * gst/base/gstbasesrc.h:
31209         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31210         (gst_filesrc_class_init), (gst_filesrc_init),
31211         (gst_filesrc_finalize), (gst_filesrc_set_location),
31212         (gst_filesrc_set_property), (gst_filesrc_get_property),
31213         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31214         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31215         (gst_filesrc_create_read), (gst_filesrc_create),
31216         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31217         * gst/elements/gstfilesrc.h:
31218         * gst/gstelement.c: (gst_element_get_state_func),
31219         (gst_element_lost_state), (gst_element_pads_activate):
31220         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31221         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31222         (gst_pad_pull_range):
31223         * gst/gstpad.h:
31224         More work on the generic source base class, implement seeking,
31225         query.
31226         Make filesrc extend the base source class.
31227         Added gst_pad_set_checkgetrange_function to GstPad.
31228
31229 2005-04-06  Andy Wingo  <wingo@pobox.com>
31230
31231         * pkgconfig/gstreamer-base.pc.in:
31232         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31233
31234         * pkgconfig/Makefile.am:
31235         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31236
31237 2005-04-04  Wim Taymans  <wim@fluendo.com>
31238
31239         * gst/base/Makefile.am:
31240         * gst/base/README:
31241         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31242         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31243         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31244         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31245         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31246         (gst_basesrc_base_init), (gst_basesrc_class_init),
31247         (gst_basesrc_init), (gst_basesrc_get_formats),
31248         (gst_basesrc_get_query_types), (gst_basesrc_query),
31249         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31250         (gst_basesrc_set_property), (gst_basesrc_get_property),
31251         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31252         (gst_basesrc_loop), (gst_basesrc_activate),
31253         (gst_basesrc_change_state):
31254         * gst/base/gstbasesrc.h:
31255         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31256         (gst_fakesrc_class_init), (gst_fakesrc_init),
31257         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31258         (gst_fakesrc_get_property), (gst_fakesrc_create):
31259         * gst/elements/gstfakesrc.h:
31260         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31261         (gst_filesrc_open_file), (gst_filesrc_loop),
31262         (gst_filesrc_activate), (filesrc_find_peek),
31263         (gst_filesrc_type_find):
31264         Made base source class, make fakesrc extend it.
31265         Add comments to basesink class.
31266         Some filesrc cleanup.
31267
31268 2005-03-31  David Schleef  <ds@schleef.org>
31269
31270         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31271         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31272         expected to link against libgstreamer.
31273         * gst/base/Makefile.am: link against libgstreamer
31274         * gst/elements/Makefile.am: same
31275
31276 2005-03-31  Andy Wingo  <wingo@pobox.com>
31277
31278         * tests/instantiate/Makefile.am:
31279         * tests/instantiate/caps.c: Add test to test speed of caps copy
31280         and free.
31281
31282         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31283         GMemChunk to be fair.
31284
31285         * gst/gsttrashstack.h: Remove warning about using the fallback
31286         trash stack implementation, it's still faster than malloc.
31287
31288 2005-03-30  Andy Wingo  <wingo@pobox.com>
31289
31290         * tests/complexity.c: Add a copyright.
31291
31292 2005-03-31  Wim Taymans  <wim@fluendo.com>
31293
31294         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31295         (gst_base_transform_class_init), (gst_base_transform_init),
31296         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31297         (gst_base_transform_get_property),
31298         (gst_base_transform_sink_activate),
31299         (gst_base_transform_src_activate),
31300         (gst_base_transform_change_state):
31301         * gst/base/gstbasetransform.h:
31302         * gst/elements/gstidentity.c: (gst_identity_class_init),
31303         (gst_identity_event), (gst_identity_check_perfect),
31304         (gst_identity_transform), (gst_identity_start),
31305         (gst_identity_stop):
31306         Added start/stop methods to transform base class so subclasses 
31307         don't need to deal with state changes even.
31308
31309 2005-03-31  Wim Taymans  <wim@fluendo.com>
31310
31311         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31312         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31313         * gst/gstevent.h:
31314         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31315         (gst_pad_pull_range):
31316         Added rate to the discont event to prepare for variable speed
31317         and reverse playback.
31318
31319 2005-03-29  David Schleef  <ds@schleef.org>
31320
31321         * configure.ac:
31322         * testsuite/trigger/Makefile.am:
31323         * testsuite/trigger/trigger.c: A little example program to show
31324         how trigger-based elements can work.
31325
31326 2005-03-29  Wim Taymans  <wim@fluendo.com>
31327
31328         * gst/base/Makefile.am:
31329         * gst/base/README:
31330         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31331         (gst_basesink_base_init), (gst_basesink_class_init),
31332         (gst_basesink_pad_getcaps), (gst_basesink_init),
31333         (gst_basesink_activate), (gst_basesink_change_state):
31334         * gst/base/gstbasesink.h:
31335         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31336         (gst_base_transform_base_init), (gst_base_transform_finalize),
31337         (gst_base_transform_class_init), (gst_base_transform_init),
31338         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31339         (gst_base_transform_event), (gst_base_transform_getrange),
31340         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31341         (gst_base_transform_set_property),
31342         (gst_base_transform_get_property),
31343         (gst_base_transform_sink_activate),
31344         (gst_base_transform_src_activate),
31345         (gst_base_transform_change_state):
31346         * gst/base/gstbasetransform.h:
31347         * gst/elements/gstidentity.c: (gst_identity_finalize),
31348         (gst_identity_class_init), (gst_identity_init),
31349         (gst_identity_event), (gst_identity_check_perfect),
31350         (gst_identity_transform), (gst_identity_set_property),
31351         (gst_identity_get_property), (gst_identity_change_state):
31352         * gst/elements/gstidentity.h:
31353         * gst/gstelement.c: (gst_element_get_state_func),
31354         (gst_element_lost_state), (gst_element_pads_activate):
31355         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31356         (gst_pad_check_pull_range), (gst_pad_pull_range):
31357         * gst/gstpad.h:
31358         Simplify pad activation.
31359         Added function to check if pull_range can be performed.
31360         Error out when pulling inactive or flushing pads.
31361         Removed const from refcounted types as it does not make sense.
31362         Simplify pad templates in basesink
31363         Added base class for simple 1-to-1 transforms.
31364         Make identity subclass the base transform.
31365
31366 2005-03-29  Andy Wingo  <wingo@pobox.com>
31367
31368         * docs/libs/gstreamer-libs-overrides.txt: 
31369         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31370         really don't understand what's going on, but like whatever. I want
31371         green buildbot!
31372
31373         * docs/gst/Makefile.am:
31374         * docs/libs/Makefile.am: Dist the overrides files.
31375
31376         * check/Makefile.am (clean-local): Remove .libs directories.
31377
31378         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31379         elements to EXTRA_DIST, so po/ files are happy.
31380
31381         * po/POTFILES.in: Er, remove it here.
31382
31383         * po/POTFILES: Remove gstspider.c.
31384
31385         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31386
31387         * docs/libs/gstreamer-libs-docs.sgml: 
31388         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31389         bytestream.
31390
31391         * tests/complexity.c (main): Set the length of the preroll queue
31392         on the sinks to prevent a lockup.
31393
31394         * libs/gst/dataprotocol/Makefile.am: 
31395         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31396         the same as the one in check/gst-libs/gdp.c.
31397
31398         * po/, docs/gst/: Commit automatic changes to docs and po files.
31399
31400         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31401         the versioned libgstbase.
31402
31403         * check/Makefile.am: Depend on an unversioned gst-register, seems
31404         to make autoconf happier.
31405
31406         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31407
31408 2005-03-28  Wim Taymans  <wim@fluendo.com>
31409
31410         * configure.ac:
31411         * docs/design/part-gstelement.txt:
31412         * docs/design/part-negotiation.txt:
31413         * docs/design/part-preroll.txt:
31414         * docs/design/part-scheduling.txt:
31415         * docs/design/part-states.txt:
31416         * gst/Makefile.am:
31417         * gst/base/Makefile.am:
31418         * gst/base/README:
31419         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31420         (gst_basesink_base_init), (gst_basesink_class_init),
31421         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31422         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31423         (gst_basesink_set_pad_functions),
31424         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31425         (gst_basesink_set_property), (gst_basesink_get_property),
31426         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31427         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31428         (gst_basesink_preroll_queue_push),
31429         (gst_basesink_preroll_queue_empty),
31430         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31431         (gst_basesink_event), (gst_basesink_get_times),
31432         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31433         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31434         (gst_basesink_loop), (gst_basesink_activate),
31435         (gst_basesink_change_state):
31436         * gst/base/gstbasesink.h:
31437         * gst/elements/Makefile.am:
31438         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31439         (gst_fakesink_class_init), (gst_fakesink_init),
31440         (gst_fakesink_set_property), (gst_fakesink_get_property),
31441         (gst_fakesink_get_times), (gst_fakesink_event),
31442         (gst_fakesink_preroll), (gst_fakesink_render),
31443         (gst_fakesink_change_state):
31444         * gst/elements/gstfakesink.h:
31445         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31446         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31447         * gst/gstelement.c: (gst_element_add_pad),
31448         (gst_element_get_state_func), (gst_element_abort_state),
31449         (gst_element_commit_state), (gst_element_lost_state),
31450         (gst_element_set_state), (gst_element_pads_activate):
31451         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31452         * gst/gstpipeline.c: (gst_pipeline_send_event),
31453         (gst_pipeline_change_state):
31454         Added state change code.
31455         Added/updated docs.
31456         Added sink base class, make fakesink extend the base class.
31457         Small cleanups in GstPipeline.
31458
31459 2005-03-26  David Schleef  <ds@schleef.org>
31460
31461         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31462         is broken and should be implemented in a different library.
31463         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31464         * gst/gst.h: remove gstcpu.h
31465         * gst/gstcpu.c: remove
31466         * gst/gstcpu.h: remove
31467         * gst/Makefile.am.future: Remove this file.  It's ancient.
31468
31469 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31470
31471         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31472         (gst_bin_send_event):
31473           Add default event/set_manager handlers. The set_manager handler
31474           takes care that the manager is distributed over kids that were
31475           already in the bin before the manager was set. The event handler
31476           is a utility virtual function that sends the event over all sinks,
31477           so that gst_element_send_event (bin, event); has the expected
31478           behaviour.
31479         * gst/gstpad.c: (gst_pad_event_default):
31480           Re-install default event handling for discontinuities, so that
31481           seeking works without requiring hacks in applications or extra
31482           code in sinks.
31483         * gst/gstpipeline.c: (gst_pipeline_class_init),
31484         (gst_pipeline_send_event):
31485           Half hack, half utility: set a pipeline to PAUSED for seek events,
31486           since that is the only way we can guarantee a/v sync. Means that
31487           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31488           and it "just works".
31489
31490 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31491
31492         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31493           Lock/unlock mismatch.
31494
31495 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31496
31497         * docs/faq/gst-uninstalled:
31498           add gst-plugins-base
31499         * docs/gst/Makefile.am:
31500           don't error out until docs are fixed
31501         * docs/gst/gstreamer.types:
31502           remove thread
31503
31504 2005-03-22  Wim Taymans  <wim@fluendo.com>
31505
31506         * check/Makefile.am:
31507         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31508         * gst/gststructure.c: (gst_structure_set_valist),
31509         (gst_structure_copy_conditional):
31510         Activated more tests.
31511         Added message test.
31512         Added G_TYPE_POINTER to GstStructure.
31513         
31514
31515 2005-03-22  Wim Taymans  <wim@fluendo.com>
31516
31517         * docs/design/part-TODO.txt:
31518         * docs/design/part-events.txt:
31519         * docs/design/part-gstbin.txt:
31520         * docs/design/part-gstbus.txt:
31521         * docs/design/part-gstpipeline.txt:
31522         * docs/design/part-messages.txt:
31523         * gst/gstbus.c:
31524         * gst/gstmessage.c:
31525         Docs updates
31526
31527 2005-03-21  Wim Taymans  <wim@fluendo.com>
31528
31529         * gst/gstbus.c: (gst_bus_post):
31530         Fix copy-and-paste error.
31531
31532 2005-03-21  Wim Taymans  <wim@fluendo.com>
31533
31534         * check/Makefile.am:
31535         * gst/Makefile.am:
31536         * gst/elements/Makefile.am:
31537         * gst/elements/gstelements.c:
31538         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31539         (gst_fakesink_event), (gst_fakesink_chain):
31540         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31541         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31542         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31543         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31544         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31545         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31546         (gst_fakesrc_loop), (gst_fakesrc_activate),
31547         (gst_fakesrc_change_state):
31548         * gst/elements/gstfakesrc.h:
31549         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31550         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31551         (gst_filesrc_open_file), (gst_filesrc_loop),
31552         (gst_filesrc_activate), (gst_filesrc_change_state),
31553         (filesrc_find_peek), (filesrc_find_suggest),
31554         (gst_filesrc_type_find):
31555         * gst/elements/gstidentity.c: (gst_identity_finalize),
31556         (gst_identity_class_init), (gst_identity_init),
31557         (gst_identity_proxy_getcaps), (identity_queue_push),
31558         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31559         (gst_identity_getrange), (gst_identity_chain),
31560         (gst_identity_sink_loop), (gst_identity_src_loop),
31561         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31562         (gst_identity_set_property), (gst_identity_get_property),
31563         (gst_identity_change_state):
31564         * gst/elements/gstidentity.h:
31565         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31566         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31567         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31568         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31569         (gst_tee_sink_activate):
31570         * gst/elements/gsttee.h:
31571         * gst/gst.c: (gst_register_core_elements), (init_post):
31572         * gst/gst.h:
31573         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31574         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31575         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31576         (gst_bin_change_state):
31577         * gst/gstbin.h:
31578         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31579         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31580         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31581         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31582         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31583         (bus_watch_callback), (bus_watch_destroy),
31584         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31585         (poll_timeout), (gst_bus_poll):
31586         * gst/gstbus.h:
31587         * gst/gstcaps.h:
31588         * gst/gstdata.h:
31589         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31590         (gst_element_post_message), (gst_element_message_full),
31591         (gst_element_get_state_func), (gst_element_get_state),
31592         (gst_element_abort_state), (gst_element_commit_state),
31593         (gst_element_lost_state), (gst_element_set_state),
31594         (gst_element_pads_activate), (gst_element_change_state),
31595         (gst_element_dispose), (gst_element_set_manager_func),
31596         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31597         (gst_element_set_manager), (gst_element_get_manager),
31598         (gst_element_set_bus), (gst_element_get_bus),
31599         (gst_element_set_scheduler), (gst_element_get_scheduler):
31600         * gst/gstelement.h:
31601         * gst/gstevent.c: (gst_event_new_segment_seek),
31602         (gst_event_new_flush):
31603         * gst/gstevent.h:
31604         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31605         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31606         (gst_message_new_eos), (gst_message_new_error),
31607         (gst_message_new_warning), (gst_message_new_tag),
31608         (gst_message_new_state_changed), (gst_message_new_application),
31609         (gst_message_get_structure), (gst_message_parse_tag),
31610         (gst_message_parse_state_changed), (gst_message_parse_error),
31611         (gst_message_parse_warning):
31612         * gst/gstmessage.h:
31613         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31614         (gst_real_pad_set_property), (gst_pad_set_active),
31615         (gst_pad_is_active), (gst_pad_set_blocked_async),
31616         (gst_pad_set_blocked), (gst_pad_is_blocked),
31617         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31618         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31619         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31620         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31621         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31622         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31623         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31624         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31625         (gst_pad_set_caps), (gst_pad_configure_sink),
31626         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31627         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31628         (gst_real_pad_dispose), (gst_real_pad_finalize),
31629         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31630         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31631         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31632         * gst/gstpad.h:
31633         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31634         (pipeline_bus_handler), (gst_pipeline_change_state),
31635         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31636         * gst/gstpipeline.h:
31637         * gst/gstprobe.h:
31638         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31639         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31640         (gst_queue_link_src), (gst_queue_bufferalloc),
31641         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31642         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31643         (gst_queue_loop), (gst_queue_handle_src_event),
31644         (gst_queue_handle_src_query), (gst_queue_src_activate),
31645         (gst_queue_change_state):
31646         * gst/gstqueue.h:
31647         * gst/gstscheduler.c: (gst_scheduler_init),
31648         (gst_scheduler_dispose), (gst_scheduler_create_task),
31649         (gst_scheduler_factory_create):
31650         * gst/gstscheduler.h:
31651         * gst/gststructure.c: (gst_structure_get_type),
31652         (gst_structure_copy_conditional):
31653         * gst/gststructure.h:
31654         * gst/gsttaginterface.h:
31655         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31656         (gst_task_init), (gst_task_dispose), (gst_task_create),
31657         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31658         (gst_task_pause):
31659         * gst/gsttask.h:
31660         * gst/gstthread.c:
31661         * gst/gstthread.h:
31662         * gst/gsttypes.h:
31663         * gst/schedulers/Makefile.am:
31664         * gst/schedulers/cothreads_compat.h:
31665         * gst/schedulers/entryscheduler.c:
31666         * gst/schedulers/faircothreads.c:
31667         * gst/schedulers/faircothreads.h:
31668         * gst/schedulers/fairscheduler.c:
31669         * gst/schedulers/gstbasicscheduler.c:
31670         * gst/schedulers/gstoptimalscheduler.c:
31671         * gst/schedulers/gthread-cothreads.h:
31672         * gst/schedulers/threadscheduler.c:
31673         (gst_thread_scheduler_task_get_type),
31674         (gst_thread_scheduler_task_class_init),
31675         (gst_thread_scheduler_task_init),
31676         (gst_thread_scheduler_task_start),
31677         (gst_thread_scheduler_task_stop),
31678         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31679         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31680         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31681         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31682         (plugin_init):
31683         * libs/gst/Makefile.am:
31684         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31685         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31686         (gst_file_pad_parent_set):
31687         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31688         (gst_dp_event_from_packet):
31689         * tests/complexity.c: (main):
31690         * tests/mass_elements.c: (main):
31691         * testsuite/states/locked.c: (message_received), (main):
31692         * testsuite/states/parent.c: (main):
31693         * tools/gst-inspect.c: (print_element_flag_info),
31694         (print_implementation_info), (print_pad_info):
31695         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31696         (main):
31697         * tools/gst-md5sum.c: (event_loop), (main):
31698         * tools/gst-typefind.c: (main):
31699         * tools/gst-xmlinspect.c: (print_element_info):
31700         Next big merge.
31701         Added GstBus for mainloop integration.
31702         Added GstMessage for sending notifications on the bus.
31703         Added GstTask as an abstraction for pipeline entry points.
31704         Removed GstThread.
31705         Removed Schedulers.
31706         Simplified GstQueue for multithreaded core.
31707         Made _link threadsafe, removed old capsnego.
31708         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31709         Added pad blocking functions.
31710         Reworked scheduling functions in GstPad to prepare for
31711         scheduling updates soon.
31712         Moved events out of data stream.
31713         Simplified GstEvent types.
31714         Added return values to push/pull.
31715         Removed clocking from GstElement.
31716         Added prototypes for state change function for next merge.
31717         Removed iterate from bins and state change management.
31718         Fixed some elements, disabled others for now.
31719         Fixed -inspect and -launch.
31720         Added check for GstBus.
31721
31722 2005-03-10  Wim Taymans  <wim@fluendo.com>
31723
31724         * docs/design/part-MT-refcounting.txt:
31725         * docs/design/part-clocks.txt:
31726         * docs/design/part-gstelement.txt:
31727         * docs/design/part-gstobject.txt:
31728         * docs/design/part-standards.txt:
31729         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31730         (gst_bin_remove_func), (gst_bin_remove):
31731         * gst/gstbin.h:
31732         * gst/gstbuffer.c:
31733         * gst/gstcaps.h:
31734         * testsuite/clock/clock1.c: (main):
31735         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31736         (main):
31737         * testsuite/dlopen/loadgst.c: (do_test):
31738         * testsuite/refcounting/bin.c: (add_remove_test1),
31739         (add_remove_test2), (main):
31740         * testsuite/refcounting/element.c: (main):
31741         * testsuite/refcounting/element_pad.c: (main):
31742         * testsuite/refcounting/pad.c: (main):
31743         * tools/gst-launch.c: (sigint_handler_sighandler):
31744         * tools/gst-typefind.c: (main):
31745         Doc updates.
31746         Added doc about clock.
31747         removed gst_bin_iterate_recurse_up(), marked methods
31748         for removal.
31749         Fix more testsuites.
31750
31751 2005-03-09  Wim Taymans  <wim@fluendo.com>
31752
31753         * gst/gstpad.c: (gst_pad_get_direction),
31754         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31755         (gst_pad_collect_valist):
31756         * testsuite/bins/interface.c: (main):
31757         * testsuite/caps/audioscale.c: (test_caps):
31758         * testsuite/caps/caps.c: (test1), (test2), (test3):
31759         * testsuite/caps/deserialize.c: (main):
31760         * testsuite/caps/enumcaps.c: (main):
31761         * testsuite/caps/filtercaps.c: (main):
31762         * testsuite/caps/intersect2.c: (main):
31763         * testsuite/caps/random.c: (main):
31764         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31765         * testsuite/caps/sets.c: (check_caps):
31766         * testsuite/caps/simplify.c: (check_caps), (main):
31767         * testsuite/caps/subtract.c: (check_caps):
31768         Fix _pad_get_direction wrt ghostpads.
31769         Fix caps testsuite.
31770
31771 2005-03-09  Wim Taymans  <wim@fluendo.com>
31772
31773         * check/Makefile.am:
31774         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31775         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31776         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31777         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31778         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31779         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31780         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31781         (bin_element_is_sink), (gst_bin_iterate_sinks),
31782         (gst_bin_iterate_all_by_interface):
31783         * gst/gstbin.h:
31784         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31785         (gst_element_change_state), (gst_element_dispose),
31786         (gst_element_finalize), (gst_element_set_loop_function):
31787         * gst/gstelement.h:
31788         * gst/gstiterator.c: (find_custom_fold_func):
31789         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31790         (gst_pad_collectv), (gst_pad_collect_valist),
31791         (gst_pad_template_new):
31792         * gst/gstpipeline.c: (gst_pipeline_class_init),
31793         (gst_pipeline_dispose), (gst_pipeline_set_property),
31794         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31795         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31796         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31797         * gst/gstutils.h:
31798         * gst/schedulers/entryscheduler.c:
31799         * gst/schedulers/gstbasicscheduler.c:
31800         (gst_basic_scheduler_cothreaded_chain),
31801         (gst_basic_scheduler_chain_add_element):
31802         * testsuite/bins/interface.c: (main):
31803         Added GstBin test.
31804         Added GstSystemClock test.
31805         Implemented clock distribution code in GstBin.
31806         Implemented iterate sinks method for future use.
31807         Rearranged gstelement.h
31808         Fix GstIterator comparison bug.
31809         Moved some code to GstPipeline, mostly clocking related.
31810
31811 2005-03-09  Wim Taymans  <wim@fluendo.com>
31812
31813         * configure.ac:
31814         * gst/gst_private.h:
31815         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31816         (gst_bin_remove_func), (gst_bin_remove),
31817         (gst_bin_get_by_name_recurse_up):
31818         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31819         (gst_clock_id_compare_func), (gst_clock_id_wait),
31820         (gst_clock_id_wait_async), (gst_clock_init),
31821         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31822         * gst/gstelement.h:
31823         * gst/gstinfo.c: (_gst_debug_init):
31824         * gst/gstobject.h:
31825         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31826         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31827         * gst/gstpad.h:
31828         Bump version number, we're now 0.9.0
31829         Add future debugging category.
31830         Fix NULL _unref() in _get_by_name_recurse_up
31831         Rearrange gstpad.h.
31832         Update some docs.
31833
31834 2005-03-08  Wim Taymans  <wim@fluendo.com>
31835
31836         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31837         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31838         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31839         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31840         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31841         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31842         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31843         * gst/elements/gstidentity.c: (gst_identity_class_init):
31844         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31845         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31846         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31847         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31848         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31849         (gst_tee_link):
31850         * gst/gstelement.c: (gst_element_class_init),
31851         (gst_element_base_class_init), (gst_element_init),
31852         (gst_element_get_random_pad), (gst_element_wait_state_change),
31853         (gst_element_change_state), (gst_element_dispose),
31854         (gst_element_finalize), (gst_element_set_loop_function):
31855         * gst/gstelement.h:
31856         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31857         * gst/gstthread.c: (gst_thread_class_init),
31858         (gst_thread_release_children_locks), (gst_thread_change_state):
31859         * gst/schedulers/gstbasicscheduler.c:
31860         (gst_basic_scheduler_loopfunc_wrapper),
31861         (gst_basic_scheduler_chain_wrapper),
31862         (gst_basic_scheduler_src_wrapper),
31863         (gst_basic_scheduler_remove_element):
31864         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31865         Remove threadsafe properties. Fix elements because GObject
31866         complains when installing a property before declaring a
31867         set/get_property handler.
31868         Rearrange gstelement.h file, use STATE macros for state locks.
31869         Free mutexes in the finalize method instead of dispose.
31870
31871 2005-03-08  Wim Taymans  <wim@fluendo.com>
31872
31873         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31874         * gst/gstthread.c: (gst_thread_release_children_locks):
31875         Added parentage check.
31876         Fix build og GstThread again.
31877
31878 2005-03-08  Wim Taymans  <wim@fluendo.com>
31879
31880         * docs/design/part-MT-refcounting.txt:
31881         * docs/design/part-conventions.txt:
31882         * docs/design/part-gstobject.txt:
31883         * docs/design/part-relations.txt:
31884         * docs/design/part-standards.txt:
31885         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31886         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31887         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31888         (gst_bin_iterate_all_by_interface):
31889         * gst/gstbuffer.h:
31890         * gst/gstclock.h:
31891         * gst/gstelement.c: (gst_element_class_init),
31892         (gst_element_change_state), (gst_element_set_loop_function):
31893         * gst/gstelement.h:
31894         * gst/gstiterator.c:
31895         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31896         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31897         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31898         (gst_object_set_parent), (gst_object_unparent),
31899         (gst_object_check_uniqueness):
31900         * gst/gstobject.h:
31901         Docs updates, clean up some headers.
31902
31903 2005-03-07  Wim Taymans  <wim@fluendo.com>
31904
31905         * check/.cvsignore:
31906         * check/Makefile.am:
31907         * check/gst-libs/.cvsignore:
31908         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31909         * check/gst/.cvsignore:
31910         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31911         (START_TEST), (gstbus_suite), (main):
31912         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31913         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31914         (gst_data_suite), (main):
31915         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31916         (add_fold_func), (gstiterator_suite), (main):
31917         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31918         (thread_name_object), (thread_name_object_default),
31919         (gst_object_name_compare), (gst_object_suite), (main):
31920         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31921         (gst_pad_suite), (main):
31922         * check/gstcheck.c: (gst_check_log_message_func),
31923         (gst_check_log_critical_func), (gst_check_init):
31924         * check/gstcheck.h:
31925         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31926         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31927         Added checks.
31928
31929 2005-03-07  Wim Taymans  <wim@fluendo.com>
31930
31931         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31932         (gst_list_iterator_next), (gst_list_iterator_resync),
31933         (gst_list_iterator_free), (gst_iterator_new_list),
31934         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31935         (gst_iterator_free), (gst_iterator_push), (filter_next),
31936         (filter_resync), (filter_uninit), (filter_free),
31937         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31938         (gst_iterator_foreach), (find_custom_fold_func),
31939         (gst_iterator_find_custom):
31940         * gst/gstiterator.h:
31941         Added missing files.
31942
31943 2005-03-07  Wim Taymans  <wim@fluendo.com>
31944
31945         * Makefile.am:
31946         * configure.ac:
31947         * docs/design/part-MT-refcounting.txt:
31948         * docs/design/part-conventions.txt:
31949         * docs/design/part-gstobject.txt:
31950         * docs/design/part-relations.txt:
31951         * examples/mixer/mixer.c: (main):
31952         * examples/thread/thread.c: (eos), (main):
31953         * gst/Makefile.am:
31954         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31955         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31956         (gst_spider_plug_from_srcpad):
31957         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31958         (gst_spider_identity_change_state),
31959         (gst_spider_identity_sink_loop_type_finding):
31960         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31961         * gst/elements/gstidentity.c: (gst_identity_init):
31962         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31963         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31964         * gst/elements/gsttypefindelement.c: (free_entry):
31965         * gst/gst.c:
31966         * gst/gst.h:
31967         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31968         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31969         (gst_bin_set_index), (gst_bin_set_element_sched),
31970         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31971         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31972         (gst_bin_iterate_elements), (iterate_child_recurse),
31973         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31974         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31975         (compare_interface), (gst_bin_get_by_interface),
31976         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31977         * gst/gstbin.h:
31978         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31979         (gst_buffer_default_free), (gst_buffer_default_copy),
31980         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31981         (gst_buffer_create_sub):
31982         * gst/gstbuffer.h:
31983         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31984         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31985         (gst_caps_unref), (gst_static_caps_get),
31986         (gst_caps_remove_and_get_structure), (gst_caps_append),
31987         (gst_caps_append_structure), (gst_caps_remove_structure),
31988         (gst_caps_copy_nth), (gst_caps_set_simple),
31989         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31990         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31991         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31992         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31993         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31994         (gst_caps_structure_figure_out_union),
31995         (gst_caps_switch_structures), (gst_caps_do_simplify),
31996         (gst_caps_replace), (gst_caps_from_string),
31997         (gst_caps_copy_conditional):
31998         * gst/gstcaps.h:
31999         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
32000         (_gst_clock_id_free), (gst_clock_id_unref),
32001         (gst_clock_id_compare_func), (gst_clock_id_wait),
32002         (gst_clock_id_wait_async), (gst_clock_class_init),
32003         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
32004         (gst_clock_get_time), (gst_clock_set_time_adjust),
32005         (gst_clock_set_property), (gst_clock_get_property):
32006         * gst/gstclock.h:
32007         * gst/gstcompat.h:
32008         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
32009         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
32010         * gst/gstdata.h:
32011         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
32012         (gst_element_requires_clock), (gst_element_provides_clock),
32013         (gst_element_set_clock), (gst_element_clock_wait),
32014         (gst_element_wait), (gst_element_set_time_delay),
32015         (gst_element_is_indexable), (gst_element_add_pad),
32016         (gst_element_add_ghost_pad), (gst_element_remove_pad),
32017         (pad_compare_name), (gst_element_get_static_pad),
32018         (gst_element_request_pad), (gst_element_get_request_pad),
32019         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
32020         (gst_element_class_get_pad_template_list),
32021         (gst_element_class_get_pad_template), (gst_element_error_func),
32022         (gst_element_get_random_pad), (gst_element_get_event_masks),
32023         (gst_element_send_event), (gst_element_seek),
32024         (gst_element_get_query_types), (gst_element_query),
32025         (gst_element_get_formats), (gst_element_convert),
32026         (gst_element_is_locked_state), (gst_element_set_locked_state),
32027         (gst_element_sync_state_with_parent), (gst_element_change_state),
32028         (gst_element_finalize), (gst_element_yield),
32029         (gst_element_interrupt), (gst_element_set_scheduler),
32030         (gst_element_get_scheduler), (gst_element_set_loop_function):
32031         * gst/gstelement.h:
32032         * gst/gstevent.h:
32033         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
32034         (gst_format_get_by_nick), (gst_format_get_details),
32035         (gst_format_iterate_definitions):
32036         * gst/gstformat.h:
32037         * gst/gstindex.c: (gst_index_gtype_resolver):
32038         * gst/gstinfo.c:
32039         * gst/gstinfo.h:
32040         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
32041         (gst_mem_chunk_free):
32042         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
32043         (gst_object_ref), (gst_object_unref), (gst_object_sink),
32044         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
32045         (gst_object_dispatch_properties_changed),
32046         (gst_object_set_name_default), (gst_object_set_name),
32047         (gst_object_get_name), (gst_object_set_name_prefix),
32048         (gst_object_get_name_prefix), (gst_object_set_parent),
32049         (gst_object_get_parent), (gst_object_unparent),
32050         (gst_object_check_uniqueness), (gst_object_save_thyself),
32051         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
32052         (gst_object_set_property), (gst_object_get_property),
32053         (gst_object_get_path_string):
32054         * gst/gstobject.h:
32055         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32056         (gst_real_pad_init), (gst_real_pad_get_property),
32057         (gst_pad_custom_new), (gst_pad_get_direction),
32058         (gst_pad_set_active), (gst_pad_is_active),
32059         (gst_pad_set_event_function), (gst_pad_is_linked),
32060         (gst_pad_link_free), (gst_pad_link_intersect),
32061         (gst_pad_link_fixate), (gst_pad_set_caps),
32062         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32063         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32064         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32065         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32066         (gst_pad_get_caps), (gst_pad_peer_get_caps),
32067         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32068         (gst_pad_realize), (gst_pad_get_allowed_caps),
32069         (gst_real_pad_dispose), (gst_real_pad_finalize),
32070         (gst_pad_collectv), (gst_pad_collect_valist),
32071         (gst_pad_template_dispose), (gst_pad_template_new),
32072         (gst_pad_get_internal_links):
32073         * gst/gstpad.h:
32074         * gst/gstpipeline.c: (gst_pipeline_dispose),
32075         (gst_pipeline_change_state):
32076         * gst/gstpipeline.h:
32077         * gst/gstplugin.c:
32078         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32079         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32080         * gst/gstpluginfeature.h:
32081         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32082         * gst/gstquery.c: (_gst_query_type_initialize),
32083         (gst_query_type_register), (gst_query_type_get_by_nick),
32084         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32085         * gst/gstquery.h:
32086         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32087         * gst/gstscheduler.c: (gst_scheduler_add_element),
32088         (gst_scheduler_factory_create):
32089         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32090         (gst_structure_free), (gst_structure_set_name),
32091         (gst_structure_id_set_value), (gst_structure_set_value),
32092         (gst_structure_set_valist), (gst_structure_remove_field),
32093         (gst_structure_remove_fields),
32094         (gst_structure_remove_fields_valist),
32095         (gst_structure_remove_all_fields), (gst_structure_foreach),
32096         (gst_structure_map_in_place),
32097         (gst_caps_structure_fixate_field_nearest_int),
32098         (gst_caps_structure_fixate_field_nearest_double):
32099         * gst/gststructure.h:
32100         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32101         (gst_system_clock_init), (gst_system_clock_dispose),
32102         (gst_system_clock_async_thread),
32103         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32104         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32105         * gst/gstsystemclock.h:
32106         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32107         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32108         * gst/gsttaginterface.c:
32109         * gst/gstthread.c: (gst_thread_dispose),
32110         (gst_thread_release_children_locks), (gst_thread_change_state),
32111         (gst_thread_main_loop):
32112         * gst/gsttrashstack.h:
32113         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32114         * gst/gsttypes.h:
32115         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32116         (gst_element_request_pad), (gst_element_get_pad_from_template),
32117         (gst_element_request_compatible_pad),
32118         (gst_element_get_compatible_pad_filtered),
32119         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32120         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32121         (gst_element_link_many), (gst_element_link),
32122         (gst_element_link_pads), (gst_element_unlink_pads),
32123         (gst_element_unlink_many), (gst_element_unlink),
32124         (gst_pad_can_link_filtered), (gst_pad_can_link),
32125         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32126         (gst_object_default_error), (gst_bin_add_many),
32127         (gst_bin_remove_many), (gst_element_populate_std_props),
32128         (gst_element_class_install_std_props), (gst_buffer_merge),
32129         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32130         (link_fold_func), (gst_pad_proxy_setcaps):
32131         * gst/gstutils.h:
32132         * gst/gstvalue.c: (gst_value_deserialize_string):
32133         * gst/parse/grammar.y:
32134         * gst/schedulers/gstbasicscheduler.c:
32135         (gst_basic_scheduler_cothreaded_chain),
32136         (gst_basic_scheduler_chain_recursive_add),
32137         (gst_basic_scheduler_pad_link):
32138         * gst/schedulers/gstoptimalscheduler.c:
32139         (get_group_schedule_function),
32140         (gst_opt_scheduler_state_transition),
32141         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32142         * libs/gst/bytestream/bytestream.c:
32143         * libs/gst/dataprotocol/dataprotocol.c:
32144         (gst_dp_header_from_buffer):
32145         * po/nb.po:
32146         * po/ru.po:
32147         * tests/threadstate/threadstate2.c: (eos):
32148         * tools/gst-compprep.c: (main):
32149         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32150         (print_pad_info), (print_children_info):
32151         * tools/gst-launch.c: (idle_func), (main):
32152         * tools/gst-md5sum.c: (idle_func), (main):
32153         * tools/gst-xmlinspect.c: (print_element_info):
32154         First THREADED backport attempt, focusing on adding locks and
32155         making sure the API is threadsafe. Needs more work. More docs
32156         follow this week.
32157
32158 2005-02-24  Andy Wingo  <wingo@pobox.com>
32159
32160         * tests/bench-complexity.scm:
32161         * tests/complexity.gnuplot: New files, good for running complexity
32162         benchmarks.
32163
32164         * tests/Makefile.am:
32165         * tests/complexity.c: New test, sets up N elements, at each level
32166         teeing into M streams per element. Eeeenteresting.
32167
32168         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32169         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32170         running bench-mass_elements.scm.
32171
32172         * tests/bench-mass_elements.scm: New script, runs mass_elements
32173         for various numbers of identities, outputting the results to a
32174         file. Requires guile 1.6. Just for testing.
32175
32176 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32177
32178         * gst/schedulers/fairscheduler.c:
32179           compile with debug disabled
32180
32181 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32182
32183         * configure.ac:
32184           hunting season on 0.9 is now OPEN