tests/check/gst/gstghostpad.c: Add some more unit-tests for the ghostpad notify signa...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * tests/check/gst/gstghostpad.c: (ghost_notify_caps),
4         (GST_START_TEST):
5         Add some more unit-tests for the ghostpad notify signal, one of which
6         currently fails.
7
8 2008-12-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
9
10         * win32/common/libgstreamer.def:
11         Add gst_tag_setter_reset_tags to the list of exported symbols.
12
13 2008-12-17  Alessandro Decina  <alessandro.decina@collabora.co.uk>
14
15         * gst/gstghostpad.c:
16         * tests/check/gst/gstghostpad.c:
17         In a source ghostpad, when caps are changed in the target pad, the
18         change needs to be reflected in the ghostpad.
19         Fixes #564863.
20
21 2008-12-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
22
23         * gst/gstutils.c: (gst_element_found_tags_for_pad):
24         Add FIXME for 0.11 to set the pad as message source and not
25         the element. Otherwise it's impossible to detect for which
26         pad the tags were found without adding an event probe
27         or something similar to the pad.
28
29 2008-12-16  Wim Taymans  <wim.taymans@collabora.co.uk>
30
31         * docs/faq/general.xml:
32         Update the faq.
33
34 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
35
36         * docs/gst/gstreamer-sections.txt:
37         * gst/gsttagsetter.c:
38         * gst/gsttagsetter.h:
39           Rename api added in previous commit and add since tag to docs.
40           API: gst_tag_setter_reset_tags()
41
42 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
43
44         * docs/gst/gstreamer-sections.txt:
45         * gst/gsttagsetter.c:
46         * gst/gsttagsetter.h:
47           Add function to reset tagsetter for element reuse.
48
49 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
50
51         * gst/gsttaglist.c:
52           Avoid copy of empty taglist.
53
54 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
55
56         * gst/gsttaglist.c:
57         * tests/check/gst/gsttag.c:
58           More complete unit tests. Fix handling of empty taglists (they were
59           not merged before).
60
61 2008-12-15  Stefan Kost  <ensonic@users.sf.net>
62
63         * gst/gsttaglist.h:
64         * gst/gsttagsetter.c:
65           Update GstTagSetter and GstTagMergeMode documentation. Mention
66           that tags can come from events and from application. Fix example.
67
68 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
69
70         * docs/design/part-TODO.txt:
71         Remove the seqnum entry that we implemented in 0.10 already.
72         Add entry about removing the format return value for queries.
73
74 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
75
76         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
77         (gst_base_sink_init), (gst_base_sink_set_property),
78         (gst_base_sink_get_property):
79         Expose the render-delay as a property so things like appsink can use it
80         to tweak the synchronisation.
81
82 2008-12-10  Peter Kjellerstedt  <pkj@axis.com>
83
84         * libs/gst/check/gstcheck.h: Allow check tests to use
85         MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
86         CK_FORK=no to be used with multiple check test that use threads.
87
88 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
89
90         * gst/gstutils.c: (gst_element_get_compatible_pad):
91         Fix a caps memory leak introduced by the last change.
92
93 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
94
95         * gst/gstutils.c: (gst_element_get_compatible_pad):
96         Check if the caps of the pads are compatible before returning
97         a pad and claiming it is compatible. This, among other things,
98         fixes a bug with gst-launch where an incompatible pad is chosen
99         and linking fails. Fixes bug #544003.
100
101 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
102
103         * libs/gst/check/gstcheck.c: (gst_check_init):
104         Revert accidentially commited patch for bug #404631 which
105         tries to print a backtrace if a testcase is terminated by
106         a signal. This code was never activated as the corresponding
107         configure.ac change wasn't committed.
108
109 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
110
111         * tests/check/libs/controller.c: (GST_START_TEST):
112         This test should return TRUE now as syncing an uncontrolled
113         object will succeed now (there's nothing to sync).
114
115 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
116
117         * libs/gst/controller/gstcontroller.c:
118           Aggregate return value for gst_controller_sync_values(). More info in
119           logging. Always set values on first sync-call.
120
121         * libs/gst/controller/gstcontrolsource.c:
122           Microoptimizations.
123
124         * libs/gst/controller/gsthelper.c:
125           Fix return code and comment.
126
127 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
128
129         * tools/gst-launch.1.in:
130           Fix description of how to specify a type in caps. Fixes #553873.
131           Also ranges and list contain values and not property-assignments.
132
133 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
134
135         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
136         Check for changed pads-list before checking the last returned
137         GstFlowReturn because the pad could have been removed and we
138         need to ignore the value in that case.
139
140 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
141
142         * libs/gst/base/gstbasetransform.c:
143         (gst_base_transform_prepare_output_buffer),
144         (gst_base_transform_getrange), (gst_base_transform_chain):
145         * libs/gst/base/gstbasetransform.h:
146         Add vmethod that is called before we start the transform and which can
147         be used to configure the transform, such as dynamic properties.
148
149 2008-12-05  David Schleef  <ds@schleef.org>
150
151         * gst/gst.c:
152         Search for plugins on win32 based on the location of the
153         gstreamer DLL.  Fixes #548786
154
155 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
156
157         * configure.ac:
158         Apparently AC_CONFIG_MACRO_DIR breaks when using more
159         than one macro directory, reverting last change.
160
161 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
162
163         * configure.ac:
164         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
165         our M4 macros.
166
167 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
168
169         Patch by: Cygwin Ports maintainer
170                   <yselkowitz at users dot sourceforge dot net>
171
172         * autogen.sh:
173         * configure.ac:
174         Require gettext 0.17 because older versions don't mix with libtool
175         2.2. At build time an older gettext version will still work.
176         Fixes bug #556091.
177
178 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
179
180         Patch by: 이문형 <iwings at gmail dot com>
181
182         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
183         Adds support for FD_CONNECT event (win32). See #562258.
184
185 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
186
187         * libs/gst/base/gstbasesink.c:
188           Turn comment into gtk-doc comment.
189
190 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
191
192         * libs/gst/base/gstbasetransform.c:
193         (gst_base_transform_acceptcaps):
194         Revert quick accepcaps attempt, it's not fully equivalent to the old
195         behaviour and thus causes regressions.
196
197 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
198
199         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
200         Fix memory leak.
201
202 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
203
204         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
205
206         * gst/gstregistry.c: (gst_registry_scan_path_level):
207         Reduce the number of stat() calls for every file from three times
208         to one time. Fixes bug #560360.
209
210 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
211
212         * libs/gst/base/gstbasetransform.c:
213         (gst_base_transform_acceptcaps):
214         Rename a variable to make the code clearer.
215
216 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
217
218         * plugins/elements/gstidentity.c:
219         Don't warning on offset==-1. Taken from _check_imperfect_offset().
220
221 2008-11-21  Michael Smith <msmith@songbirdnest.com>
222
223         * plugins/elements/gstfilesrc.c:
224           Check for localhost in URI was backwards, fix it. Fixes unit test.
225
226 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
227
228         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
229         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
230         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
231         Add beginnings of a more optimized acceptcaps function than the default
232         core one.
233
234 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
235
236         * gst/gstpad.c: (gst_pad_accept_caps):
237         Avoid getting the acceptcaps function too early.
238
239 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
240
241         * tools/gst-launch.c: (event_loop):
242         Make gst-launch handle LATENCY messages and make it recalculate the
243         latency.
244
245 2008-11-20  Michael Smith <msmith@songbirdnest.com>
246
247         * plugins/elements/gstfilesrc.c:
248           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
249           out own slightly incorrect version. Fixes use of some paths on
250           win32.
251
252 2008-11-20  Michael Smith <msmith@songbirdnest.com>
253
254         * gst/gstregistrybinary.c:
255           In win32 codepath, if we fail to write the registry, create the
256           directory for it and try again, matching the behaviour in non-win32
257           codepaths.
258
259 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
260
261         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
262         Changing the render delay changes the latency and so we must post a
263         latency message.
264
265 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
266
267         * gst/gstquery.c:
268         * gst/gstquery.h:
269         Add GstQueryType for custom queries instead of having to use the
270         not-so-very-convenient registration infrastructure to register new
271         types.
272
273 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
274
275         Patch by: Andrew Feren <acferen at yahoo dot com>
276
277         * gst/gstobject.c: (gst_object_default_deep_notify):
278         Unref the GEnumClass after usage again. Fixes bug #561501.
279
280 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
281
282         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
283         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
284         (gst_bin_change_state_func):
285         * gst/gstbin.h:
286         Add do-latency signal with the old default fallback implementation. This
287         allows for custom latency calculations for when the default is not
288         sufficient.
289         API: GstBin::do-latency signal.
290
291 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
292
293         * win32/common/libgstreamer.def:
294         Add new symbols to .def file.
295
296 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
297
298         * docs/gst/gstreamer-sections.txt:
299         * gst/gstbin.c: (gst_bin_recalculate_latency),
300         (gst_bin_change_state_func):
301         * gst/gstbin.h:
302         Add method to recalculate and redistribute the latency on a bin.
303         API: gst_bin_recalculate_latency().
304
305 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
306
307         * gst/gstbuffer.h:
308         Document the free_func.
309
310 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
311
312         * libs/gst/controller/gstinterpolation.c:
313         * libs/gst/controller/gstlfocontrolsource.c:
314         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
315         as it is mapped to a cast on non-win32 platforms.
316
317 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
318
319         * libs/gst/controller/gstcontroller.c:
320         * libs/gst/controller/gstcontrollerprivate.h:
321           Keep last-value and only call set_property if value has changed. This
322           supresses all the g_object_notifies we would trigger otherwise. It
323           also allows the user to chage the value while there is no controller
324           change.
325
326 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
327
328         * gst/gstvalue.c:
329           Don't crash if either of the string GValues is empty.
330
331 2008-11-17  Andy Wingo  <wingo@pobox.com>
332
333         * tools/gst-inspect.c (print_all_uri_handlers): New function,
334         prints a summary of what URI schemes are supported by what
335         elements.
336         (main): Plumb in support for --uri-handlers or -u, and fix the
337         argc check for -a and -u.
338
339 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
340
341         * gst/gstutils.h:
342         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
343         conversion functions.
344
345 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
346
347         * gst/gstbuffer.c: (gst_buffer_finalize):
348         Avoid costly typechecking for trivially correct pointers.
349
350         * gst/gstpoll.c: (gst_poll_wait):
351         Add some G_LIKELY here and there.
352
353         * libs/gst/base/gstadapter.c: (gst_adapter_push):
354         Add some debug info.
355
356 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
357
358         * docs/random/wtay/poll-timeout:
359         Small tweaks.
360
361 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
362
363         * tests/old/testsuite/caps/intersection.c: (main):
364         * tests/old/testsuite/plugin/loading.c: (main):
365         Remove references to deprecated API g_mem_chunk*.
366         Fixes #560442.
367
368 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
369
370         * tools/gst-inspect.c: (main):
371         Add --plugin option. Fixes #560301.
372
373 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
374
375         * docs/random/wtay/poll-timeout:
376         Quick braindump for a possible (not totally verified) atomic case.
377
378 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
379
380         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
381         (gst_registry_binary_initialize_magic),
382         (gst_registry_binary_write_cache),
383         (gst_registry_binary_check_magic):
384         * gst/gstregistrybinary.h:
385         Don't write and check a CRC for the binary registry file. It's
386         guaranteed that the registry is completely written (it's first written
387         to a temporary file and then moved) and if the registry was corrupted
388         by some hardware failure we would have bigger problems.
389
390         Bump binary registry version to 0.10.21.1 for this as it's an
391         incompatible change and to ensure that the registry gets rebuild
392         after the update.
393
394         This saves some milliseconds for reading/writing the registry.
395         Fixes bug #560399.
396
397 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
398
399         * docs/random/wtay/poll-timeout:
400         Some pseudo code for how we could implement clock timeouts with GstPoll.
401
402 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
403
404         * plugins/elements/gstfilesink.c:
405           Update Author string to match others.
406
407 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
408
409         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
410         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
411         being fixed and inline the trivial check.
412
413 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
414
415         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
416         (gst_caps_merge_structure), (gst_caps_get_structure),
417         (gst_caps_copy_nth), (gst_caps_set_simple),
418         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
419         (gst_caps_is_equal_fixed), (gst_caps_intersect),
420         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
421         (gst_caps_to_string):
422         Callgrind micro optimisations.
423         Avoid array bounds checks and force inline of trivial function.
424
425         * gst/gstobject.c: (gst_object_set_name_default):
426         -1 is equivalent to letting glib to the strlen but then there is more
427         room for optimisations and it's not our fault.
428
429         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
430         no need to clear the array, we're cool.
431
432         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
433         The most common _is_fixed() check is done on fundamental glib base
434         types so we check this first instead of doing a huge amount of
435         useless GST_TYPE_ARRAY calls.
436
437 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
438
439         * gst/gstevent.h:
440         Add a SKIP seek flag for use with advanced trickmodes.
441         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
442
443 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
444
445         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
446         No need to memset, we can clear the value ourselves.
447
448         * gst/gstvalue.c: (gst_type_is_fixed),
449         (gst_value_get_compare_func):
450         Some optimisations from a few callgrind sessions:
451         When checking if a type is fixed, check for trivial fundamental types
452         first before checking types for which we need to get the type followed
453         by the heavy duty type checks, this reduces the amount of
454         g_type_fundamental() calls a lot.
455         When getting the compare function, first check for our registered types.
456         If that fails, do the heavy duty g_type_is_a() checks, reduces the
457         amount of g_type_is_a() considerably.
458
459 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
460
461         * docs/design/part-TODO.txt:
462         Mumble something about removing GstXML.
463
464 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
465
466         * gst/gstbin.c: (gst_bin_handle_message_func):
467         Get the seqnum before we dispose the message.
468
469 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
470
471         * docs/design/part-TODO.txt:
472         Refer to the framestepping document.
473
474 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
475
476         * gst/gstbin.c: (bin_handle_async_start),
477         (gst_bin_handle_message_func), (gst_bin_query):
478         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
479         (gst_base_sink_event), (gst_base_sink_change_state):
480         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
481         (gst_base_src_loop), (gst_base_src_change_state):
482         Copy seqnums from events to messages so that they can all be related
483         back to eachother.
484
485 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
486
487         * tools/gst-launch.c: (event_loop):
488         Print the message seqnums.
489
490 2008-11-04  Andy Wingo  <wingo@pobox.com>
491
492         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
493
494 2008-11-04  Andy Wingo  <wingo@pobox.com>
495
496         Add sequence numbers to events and messages. See #559250.
497
498         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
499         API: New functions.
500
501         * gst/gstevent.h:
502         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
503         events with a new sequence number, and copy it when copying.
504         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
505         an event's sequence number.
506
507         * gst/gstmessage.h:
508         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
509         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
510         so with messages.
511
512         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
513
514 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
515
516         * docs/manual/advanced-position.xml:
517         * docs/manual/basics-bins.xml:
518         * docs/manual/basics-bus.xml:
519         * docs/manual/basics-pads.xml:
520         * docs/manual/intro-gstreamer.xml:
521         * docs/manual/intro-preface.xml:
522         Some Application Development Manual fixes thanks to
523         Andrew Feren. Fixes #558459.
524
525 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
526
527         * gst/gstregistrybinary.c:
528           Don't bother with the GTimer if we don't output the results.
529
530 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
531
532         Patch by: David Schleef  <ds@schleef.org>
533
534         * libs/gst/net/Makefile.am:
535         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
536
537 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
538
539         * gst/gstregistrybinary.c:
540           Oh my, studip, stupid me. Remove double stat() call.
541
542 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
543
544         * gst/gstpreset.c:
545           Use g_unlink instead of unlink.
546
547         * gst/gststructure.c:
548           Use glib type.
549
550         * gst/gstutils.c:
551           Add a FIXME:.
552
553         * gst/gsttaglist.c:
554         * gst/gsttypefind.c:
555         * gst/gstvalue.c:
556           Formatting & whitespaces.
557
558 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
559
560         * plugins/elements/gstidentity.c:
561           Doc typo. Use return value of parent_class->event.
562   
563         * plugins/elements/gsttypefindelement.c:
564           Chain up at the end for consistency.
565   
566 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
567
568         * docs/Makefile.am:
569         * docs/gst/gstreamer-docs.sgml:
570         * docs/gst/gstreamer-sections.txt:
571         * docs/gst/running.xml:
572         * docs/libs/gstreamer-libs-docs.sgml:
573           Change to xinclude based build - its faster and easier to maintain.
574
575 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
576
577         * gst/gstregistrybinary.c:
578         * gst/gstregistryxml.c:
579           Use g_unlink() as none of these are directories.
580
581 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
582
583         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
584         Some more comments.
585
586 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
587
588         * libs/gst/base/gstbasetransform.c:
589         (gst_base_transform_find_transform), (gst_base_transform_getrange):
590         If we have a fixate function, call it even if we already have fixed caps
591         because the subclass might add some caps. Makes audioconvert add a
592         default channel layout.
593
594 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
595
596         * libs/gst/base/gstbasetransform.c:
597         (gst_base_transform_prepare_output_buffer),
598         (gst_base_transform_getrange):
599         Clear the output buffer variable.
600         Cleanups to the error path in the getrange function.
601         Fixes #557649.
602
603 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
604
605         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
606         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
607         Use gst_buffer_try_new_and_alloc() and handle errors instead of
608         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
609         be allocated.
610
611 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
612
613         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
614         Set the last_stop to a more meaningful position when configuring the
615         segment. ie. the start/stop of the segment or clipped against the
616         updated segment boundaries.
617
618         * tests/check/gst/gstsegment.c: (GST_START_TEST):
619         Add some unit tests for the last_stop.
620
621 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
622
623         * libs/gst/base/gstbytereader.c:
624         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
625         copies of them.
626
627 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
628
629         * docs/gst/gstreamer-sections.txt:
630         * gst/gstutils.h:
631         API: Move float endianness conversion macros from libgstfloatcast
632         to core as it's useful in general, even in core. Fixes bug #555196.
633         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
634         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
635         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
636
637         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
638         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
639         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
640         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
641
642 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
643
644         * docs/libs/gstreamer-libs-sections.txt:
645         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
646         (gst_byte_reader_peek_data):
647         * libs/gst/base/gstbytereader.h:
648         * win32/common/libgstbase.def:
649         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
650         to get a pointer to the data at the current position and have
651         a guaranteed size.
652
653 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
654
655         * configure.ac:
656         Fix a bug in the output of the configure script summary
657         when --gst-disable-registry is supplied
658
659 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
660
661         * libs/gst/base/gstbitreader.c:
662         * libs/gst/base/gstbytereader.c:
663         Fix the names of 2 functions in the docs strings.
664
665 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
666
667         * libs/gst/base/gstbasetransform.c:
668         (gst_base_transform_prepare_output_buffer),
669         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
670         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
671         refcount problems as seen in banshee and maybe also in farsight2.
672         Remove atomic int now that we need to take the lock anyways.
673
674 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
675
676         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
677         (gst_base_sink_default_prepare_seek_segment),
678         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
679         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
680         (gst_base_sink_query):
681         Implement more seeking in pull mode.
682         Use pad convert functions to convert position to the requested format.
683         Fix position/duration reporting in pull mode.
684         Implement position and duration reporting in other formats than time.
685
686         * libs/gst/base/gstbasesink.h:
687         Add member to keep track of when the segment is playing.
688
689 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
690
691         * gst/gstpad.c: (gst_pad_configure_src):
692         When we use gst_pad_alloc_buffer() without wanting to set the caps we
693         also don't need to check if the caps are compatible because the caller
694         presumably is going to perform its own custom checks. Fixes some cases
695         where basetransform elements would error out when it was not needed.
696
697 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
698
699         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
700         Update comment.
701
702         * libs/gst/base/gstbasetransform.c:
703         (gst_base_transform_handle_buffer),
704         (gst_base_transform_reconfigure):
705         Add some debug info.
706
707         * win32/common/libgstbase.def:
708         Add new method.
709
710 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
711
712         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
713           Remove duplicated assignment and log a message in failure case.
714
715 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
716
717         Patch by: Dig Ge <dig.ge.cn at gmail com>
718
719         * tests/examples/helloworld/helloworld.c: (main):
720           Fix copy'n'paste bug in hello world example (#556900).
721
722 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
723
724         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
725         (gst_base_sink_query):
726         Query the total number of bytes when activating the pad in pull mode.
727         Implement duration query in pull mode by using the installed pad convert
728         function to convert from bytes to the requested format.
729
730 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
731
732         * docs/libs/gstreamer-libs-sections.txt:
733         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
734         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
735         (gst_base_sink_event), (gst_base_sink_perform_seek),
736         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
737         (gst_base_sink_send_event), (gst_base_sink_change_state):
738         * libs/gst/base/gstbasesink.h:
739         Add method to commit the state in subclasses.
740         Refactor the flush_start and flush_stop code because we need it for
741         flushing while seeking too.
742         Implement the beginnings of seeking in pull mode.
743         Use the segment last_stop field for the pulling offset.
744         Fix the pause method in pull mode.
745         Configure the segment to BYTES for pull mode.
746         API: GstBaseSink::gst_base_sink_do_preroll()
747
748 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
749
750         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
751         Update some docs.
752
753 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
754
755         * gst/gstquark.c: (_priv_gst_quarks_initialize):
756           Fix printf format warning.
757
758 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
759
760         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
761         Fix flow aggregation of tee. Error out immediately for all flow returns
762         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
763         and return OK if at least one pad is linked.
764
765         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
766         and otherwise returned the flow return of the last pad, which is wrong.
767         
768         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
769         (GST_START_TEST), (tee_suite):
770         Add unit tests for the flow aggregation.
771
772 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
773
774         * docs/design/part-TODO.txt:
775         Remove item from the todo list because it was fixed with the latency
776         state change rewrites.
777
778         * docs/design/part-seeking.txt:
779         * docs/design/part-segments.txt:
780         Update some docs.
781
782         * gst/gstevent.c: (gst_event_new_new_segment_full),
783         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
784         (gst_event_parse_buffer_size), (gst_event_new_qos),
785         (gst_event_parse_qos), (gst_event_new_seek),
786         (gst_event_parse_seek), (gst_event_new_latency),
787         (gst_event_parse_latency):
788         Use quarks to construct and parse events.
789
790         * gst/gstquark.c: (_priv_gst_quarks_initialize):
791         * gst/gstquark.h:
792         Add some more quarks to the table.
793         Emit a warning when the quark tables are not in sync.
794
795         * tests/check/gst/gstbus.c: (GST_START_TEST):
796         Add an assert.
797
798 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
799
800         * plugins/elements/Makefile.am:
801         * plugins/indexers/Makefile.am:
802           Don't install static libs for plugins. Fixes #550851 for core.
803
804 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
805
806         * gst/gstbus.c: (gst_bus_source_finalize),
807         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
808         (gst_bus_enable_sync_message_emission),
809         (gst_bus_disable_sync_message_emission),
810         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
811         Fix deadlock, g_source_get_id() cannot be called in finalize.
812         Keep track of the watch source by keeping a pointer to the source object
813         instead.
814         Use the bus lock to protect access to the pointer to the current
815         watch source.
816
817 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
818
819         Base on Patch by: Olivier Crete <tester at tester dot ca>
820
821         * gst/gstbus.c: (gst_bus_source_finalize),
822         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
823         Only allow one bus watch to be set at a time. This is necessary
824         because the dispatcher pops the message from the bus and the second
825         watcher will then get NULL or the next message (and the first won't
826         get this next message then, etc). If more than one "watcher" is
827         required signal watches should be used. Fixes bug #526044.
828
829 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
830
831         * tools/gst-launch.c:
832         Change the printing of the 'buffering...' output to avoid putting
833         a \r in a translateable string (flagged by the TP).
834
835 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
836
837         * gst/gstxml.c:
838         Clarify that the save_thyself() and restore_thyself() virtual
839         functions of GstObject need to be overriden, not
840         gst_object_(save|restore)_thyself() which is impossible.
841         Fixes bug #555700.
842
843 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
844
845         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
846         Revert a patch from 21 months ago that broke caps negotiation in pull
847         mode. Basically, having a buffer pass over a pad will trigger the
848         setcaps function when caps change, just like in push mode.
849
850 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
851
852         * docs/design/part-negotiation.txt:
853         Update the docs some more.
854
855         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
856         If we pull a buffer with non-trivial caps, suggest those caps with the
857         max probability.
858
859 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
860
861         * docs/design/part-TODO.txt:
862         Add another limitation of pad-blocking with segment seeks not pushing
863         EOS events.
864
865 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
866
867         * win32/common/libgstbase.def:
868         * win32/common/libgstreamer.def:
869         Add new symbols to the win32 defs files
870
871 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
872
873         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
874         (gst_bin_handle_message_func):
875         The message src can be NULL, don't try to print the object names in that
876         case.
877
878         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
879         Add some more debug info.
880
881         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
882         (GST_START_TEST):
883         Add some debug.
884         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
885         scheduling modes.
886
887 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
888
889         * docs/design/part-negotiation.txt:
890         Small doc update.
891
892         * docs/libs/gstreamer-libs-sections.txt:
893         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
894         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
895         (gst_base_sink_init), (gst_base_sink_set_blocksize),
896         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
897         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
898         (gst_base_sink_loop), (gst_base_sink_pad_activate),
899         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
900         (gst_base_sink_change_state):
901         * libs/gst/base/gstbasesink.h:
902         Add blocksize property and methods to control the amount of data
903         to pull.
904         Negotiate first before activating upstream in pull mode so that they can
905         negotiate themselves.
906         When we operate in pull mode, we only accept the caps that we
907         negotiated.
908         Make the sink go ASYNC to PAUSED, like all other sinks.
909         API: GstBaseSink::gst_base_sink_set_blocksize()
910         API: GstBaseSink::gst_base_sink_get_blocksize()
911         API: GstBaseSink::blocksize
912
913         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
914         (gst_base_src_set_live), (gst_base_src_is_live),
915         (gst_base_src_set_format), (gst_base_src_query_latency),
916         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
917         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
918         (gst_base_src_set_property), (gst_base_src_get_property):
919         * libs/gst/base/gstbasesrc.h:
920         Add typechecking in public API functions.
921         Add methods to control the blocksize in subclasses.
922         API: GstBaseSrc::gst_base_src_set_blocksize()
923         API: GstBaseSrc::gst_base_src_get_blocksize()
924
925 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
926
927         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
928         (buffer_probe), (event_probe), (GST_START_TEST):
929         We now see 3 events go through our pad, since basesink now sends
930         upstream latency events.
931
932 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
933
934         * gst/gstpipeline.c: (gst_pipeline_change_state):
935         Release the object lock before trying to flush the bus.
936
937 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
938
939         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
940         Forward LATENCY events upstreams so that elements know about the total
941         pipeline latency. Fixes #555307.
942
943 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
944
945         * plugins/elements/gstqueue.c:
946         Allow through queries when we don't know how
947         to adjust them (not TIME or BYTES), as otherwise it's
948         not possible to query the current position in order
949         to seek in other formats at all.
950
951 2008-10-08  Andy Wingo  <wingo@pobox.com>
952
953         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
954
955 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
956
957         * gst/gstghostpad.c:
958         * gst/gstghostpad.h:
959         Unbreak -good build, private is a reserved c++ keyword.
960
961 2008-10-08  Andy Wingo  <wingo@pobox.com>
962
963         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
964         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
965         removal: re-add GST_GHOST_PAD_CAST to the header.
966
967         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
968         (GstGhostPadClass): Publically expose these structures so as to
969         allow easy subclassing from C. Hide the member data behind a
970         private opaque data pointer.
971
972         * gst/gstghostpad.c: Adapt to store instance data in the type
973         instance's private data region, not in the public struct.
974
975 2008-10-08  Andy Wingo  <wingo@pobox.com>
976
977         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
978         template via g_object_get(), be sure to unref it.
979
980         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
981
982 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
983
984         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
985         If we can't get a cache file don't try to save something to it.
986         Dereferencing NULL pointers usually isn't a good idea.
987
988 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
989
990         * tests/check/Makefile.am:
991         * tests/check/gst/gstabi.c:
992         * tests/check/gst/struct_sparc.h:
993         * tests/check/libs/libsabi.c:
994         * tests/check/libs/struct_sparc.h:
995         Add Sparc ABI checks
996
997         * tests/check/gst/gstvalue.c: (GST_START_TEST):
998         Cast signed integer to unsigned to avoid a compiler warning.
999
1000 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1001
1002         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
1003         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
1004         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
1005         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
1006         (gst_byte_reader_peek_int24_be):
1007         Use new GST_READ_UINT24_(LE|BE) macros.
1008
1009 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1010
1011         * docs/gst/gstreamer-sections.txt:
1012         * gst/gstutils.h:
1013         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
1014         as it's too easy to break the ISO C strict aliasing rules with simple
1015         casts to the corresponding type and this would introduce hard to debug
1016         bugs. Fixes bug #545714.
1017
1018         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
1019
1020 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1021
1022         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
1023         * gst/gstghostpad.c: (gst_ghost_pad_construct):
1024           Add 'Since' bits to gtk-doc chunks for new API.
1025
1026 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
1027
1028         * docs/gst/gstreamer-sections.txt:
1029         Fix documentation
1030
1031 2008-10-06  Andy Wingo  <wingo@pobox.com>
1032
1033         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
1034         that will be called on the malloc_data to free it. Basically a way
1035         to avoid subclassing when all you need is a different free
1036         function, i.e. free() instead of g_free().
1037
1038         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
1039         calling the free function.
1040         (gst_buffer_init): Initialize the free function to g_free.
1041
1042 2008-10-06  Andy Wingo  <wingo@pobox.com>
1043
1044         * gst/gstghostpad.h:
1045         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
1046         finishes the initialization of ghost pad. Useful for language
1047         bindings and subclassers of GstGhostPad. Fixes #539108.
1048         (gst_ghost_pad_new_full): Use the new constructor.
1049
1050 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1051
1052         Base on Patch by: Olivier Crete <tester at tester dot ca>
1053
1054         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1055         (gst_bin_remove_func), (update_degree),
1056         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
1057         Keep track of pads that are being linked/unlinked and resync the state
1058         changes.
1059
1060         * gst/gstpad.c: (gst_pad_get_direction),
1061         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
1062         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
1063         (gst_pad_link_prepare), (gst_pad_link),
1064         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
1065         (gst_pad_check_pull_range), (gst_pad_get_range),
1066         (gst_pad_pull_range):
1067         Some code cleanups, use macros to check pad direction.
1068         Don't need to take the lock on the pad direction.
1069         Post structure change when pads are linked/unlinked.
1070         Change some checks into _return_if_fail().
1071
1072         * tests/check/gst/gstbin.c:
1073         (test_link_structure_change_state_changed_sync_cb),
1074         (GST_START_TEST), (gst_bin_suite):
1075         Add testcase for pad link/unlinke resync during a state change.
1076         Fixes #510354.
1077
1078 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1079
1080         * docs/gst/gstreamer-sections.txt:
1081         * gst/gstmessage.c: (gst_message_new_structure_change),
1082         (gst_message_parse_structure_change):
1083         * gst/gstmessage.h:
1084         Implement STRUCTURE_CHANGED messages. These messages will be used to
1085         signal the parent bin of link/unlink operations that could require a
1086         resync when doing a state change. See ##510354.
1087         API: gst_message_new_structure_change()
1088         API: gst_message_parse_structure_change()
1089
1090 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1091
1092         * gst/gstquark.c:
1093         * gst/gstquark.h:
1094         Add some more quarks for new message. See #510354.
1095
1096 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1097
1098         * docs/libs/gstreamer-libs-docs.sgml:
1099         * docs/libs/gstreamer-libs-sections.txt:
1100         * libs/gst/base/Makefile.am:
1101         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1102         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1103         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1104         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1105         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1106         (gst_bit_reader_skip_to_byte):
1107         * libs/gst/base/gstbitreader.h:
1108         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1109         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1110         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1111         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1112         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1113         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1114         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1115         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1116         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1117         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1118         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1119         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1120         * libs/gst/base/gstbytereader.h:
1121         * tests/check/Makefile.am:
1122         * tests/check/libs/bitreader.c: (GST_START_TEST),
1123         (gst_bit_reader_suite):
1124         * tests/check/libs/bytereader.c: (GST_START_TEST),
1125         (gst_byte_reader_suite):
1126         API: Add bit reader and byte reader classes, including documentation
1127         and an extensive unit test suite. Fixes bug #553554.
1128
1129 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1130
1131         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1132         (gst_base_sink_query):
1133         Improve position reporting while flushing and other intermediate state
1134         changes. Fixes #553874.
1135
1136 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1137
1138         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1139
1140         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1141         Original patch by : Simon Descaries
1142         Fix small refount leak in caps compatibility check.
1143         Fixes #551676.
1144
1145 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1146
1147         * docs/pwg/advanced-request.xml:
1148           Fix 0.8 api usage in example. Fixes #554561
1149
1150         * docs/pwg/appendix-porting.xml:
1151           Change 0.9 to 0.10 here.
1152
1153 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1154
1155         * docs/manual/basics-data.xml:
1156           Change "event-event interaction" to "element-element interaction".
1157           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1158           updates.
1159
1160 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1161
1162         * configure.ac:
1163         Back to development -> 0.10.21.1
1164
1165 === release 0.10.21 ===
1166
1167 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1168
1169         * configure.ac:
1170           releasing 0.10.21, "Take These Things From Me"
1171
1172 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1173
1174         * configure.ac:
1175         0.10.20.4 pre-release
1176
1177 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1178
1179         * libs/gst/base/gstbasetransform.c:
1180         * plugins/elements/gstcapsfilter.c:
1181         * tests/check/Makefile.am:
1182         * tests/check/elements/.cvsignore:
1183         * tests/check/elements/capsfilter.c:
1184         Fix assertion in basetransform when the subclass chooses not to
1185         allocate a buffer in prepare_buffer(), and make capsfilter error out
1186         cleanly if requested to apply caps that don't completely specify the
1187         buffer. Fixes #551509
1188
1189 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1190
1191         * libs/gst/base/gstbasetransform.c:
1192         (gst_base_transform_prepare_output_buffer):
1193         Take new caps ref because our old one might have been gone when the
1194         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1195
1196 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1197
1198         * configure.ac:
1199           Do not probe availability of check unit test library when cross
1200           compiling, as test would not work anyway. Also cleanup verbose output
1201           of the check test. Fixes #551952.
1202
1203 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1204
1205         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1206
1207         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1208         Avoid leaking the parent ref when we fail changing the state of the
1209         element using gst_element_sync_state_with_parent(). Fixes #551978.
1210
1211 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1212
1213         * docs/manual/intro-motivation.xml::
1214           Remove some bits that no longer apply, update others (#551642).
1215
1216 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1217
1218         * configure.ac:
1219         0.10.20.2 pre-release
1220
1221         * po/LINGUAS:
1222         * po/id.po:
1223         * po/pt_BR.po:
1224
1225         New translations.
1226
1227 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1228
1229         * win32/common/config.h.in:
1230           Add GST_DATADIR, hard-code cpu to x86.
1231
1232         * win32/common/libgstreamer.def:
1233           Spaces to tabs.
1234
1235 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1236
1237         * gst/gsttaglist.h:
1238           Fix Since: markers for new geo tags.
1239
1240 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1241
1242         * gst/gsttaglist.h:
1243           Fix actual tag name define after renaming from altitude to elevation.
1244
1245 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1246
1247         * gst/gstpad.c: (add_unref_pad_to_list),
1248         (gst_pad_get_internal_links_default):
1249         Add fallback when calling the deprecated function on an element that
1250         implements the new internal_link handler.
1251
1252 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1253
1254         * docs/gst/gstreamer-sections.txt:
1255         * gst/gsttaglist.c:
1256         * gst/gsttaglist.h:
1257           Add new tags for geo location and clarify purpose of existing location
1258           tag. Fixes #481169
1259
1260 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1261
1262         Patch by: Olivier Crete <tester at tester dot ca>
1263
1264         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1265         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1266         Use thread-safe internal links iterator. Fixes #549504.
1267
1268 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1269
1270         Based on patch by: Olivier Crete <tester at tester dot ca>
1271
1272         * docs/gst/gstreamer-sections.txt:
1273         * win32/common/libgstreamer.def:
1274         * gst/gstpad.c: (gst_pad_init),
1275         (gst_pad_set_iterate_internal_links_function),
1276         (int_link_iter_data_free), (iterate_pad),
1277         (gst_pad_iterate_internal_links_default),
1278         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1279         * gst/gstpad.h:
1280         Add threadsafe replacement functions for getting internal links of an
1281         element. Deprecate the old internal links functions.
1282         API:GstPad::gst_pad_set_iterate_internal_links_function()
1283         API:GstPad::GstPadIterIntLinkFunction
1284         API:GstPad::gst_pad_iterate_internal_links()
1285         API:GstPad::gst_pad_iterate_internal_links_default()
1286
1287         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1288         (gst_proxy_pad_init):
1289         Implement threadsafe internal links.
1290
1291         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1292         Unit test for internal links on tee. See #549504.
1293
1294 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1295
1296         * tests/check/Makefile.am:
1297         libs/transform1 test requires libs/test_transform.c
1298
1299 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1300
1301         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1302         Die evil deadlock, die !
1303
1304 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1305
1306         * gst/gstutils.c: (gst_element_get_compatible_pad):
1307         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1308         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1309         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1310         not steal the refcount of the given caps as stated.
1311
1312         REVERT THIS COMMIT ONCE FIXED !
1313         REVERT THIS COMMIT ONCE FIXED !
1314         REVERT THIS COMMIT ONCE FIXED !
1315         REVERT THIS COMMIT ONCE FIXED !
1316         REVERT THIS COMMIT ONCE FIXED !
1317         REVERT THIS COMMIT ONCE FIXED !
1318
1319 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1320
1321         * gst/gstiterator.c:
1322         * gst/gstiterator.h:
1323         After 3 years it's about time to revise the documentation of the
1324         iterator objects.
1325
1326 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1327
1328         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1329         Make the internal links function less thread-unsafe and add some
1330         comments, dunno why.
1331
1332 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1333
1334         * gst/gst_private.h:
1335           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1336           build with --disable-gst-debug.
1337
1338 2008-08-28  David Schleef  <ds@schleef.org>
1339
1340         * gst/gstpadtemplate.c: Revert last change, since it breaks
1341           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1342           but shouldn't be enabled until we've released fixed versions
1343           of -good and -ffmpeg.
1344
1345 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1346
1347         * gst/gstobject.c:
1348           Put the gst_object_get_name() back in.
1349
1350 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1351
1352         * gst/gstpadtemplate.c:
1353           The old behaviour was that gst_pad_template_new() takes ownership of
1354           the caps. As we now call g_object_new() which calls g_object_set() and
1355           which copies the caps, we have to unref them to not leak them. Fixes
1356           make valgrid for me.
1357
1358 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1359
1360         * gst/gsturi.c:
1361           Don't segfault on input like "tel:+1-123-555-1234".
1362
1363 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1364
1365         * gst/gstobject.c:
1366           Due to popular request also include ObjectType in
1367           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1368
1369 2008-08-26  David Schleef  <ds@schleef.org>
1370
1371         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1372           src_val must be positive, because that's not a requirement.
1373           This causes problems with converting negative granulepos
1374           values for Dirac.
1375         * gst/gstquery.c: Same, gst_query_new_convert().
1376
1377 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1378
1379         * gst/gstclock.c: (gst_clock_add_observation):
1380         Add some more debugging to the clock slaving code.
1381
1382         * win32/common/libgstbase.def:
1383         Add new basetransform method.
1384
1385 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1386
1387         * gst/gstbin.c: (gst_bin_element_set_state):
1388         Take the (recursive) state lock between getting the locked state of an
1389         element and changing the element state. This allows the application to
1390         lock an element's state and then change its state without races.
1391
1392 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1393
1394         * gst/gstbin.c: (gst_bin_element_set_state):
1395         When an element is in the locked state we still want to update the
1396         base_time of the element.
1397
1398 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1399
1400         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1401         Use the result from gst_pad_set_caps() instead of assuming the element
1402         always accepted the caps computed by the default negotiate function.
1403
1404 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1405
1406         * docs/libs/gstreamer-libs-sections.txt:
1407         * libs/gst/base/gstbasetransform.c:
1408         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1409         (gst_base_transform_chain), (gst_base_transform_suggest),
1410         (gst_base_transform_reconfigure):
1411         * libs/gst/base/gstbasetransform.h:
1412         Implement method for reconfiguring basetransform.
1413         API: GstBaseTransform::gst_base_transform_reconfigure()
1414
1415 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1416
1417         patch by: Murray Cumming <murrayc@murrayc.com>
1418
1419         * gst/gstutils.c:
1420           Mention that this is just like gst_buffer_merge() but with extra
1421           unreffing for C coders. Advise language bindings not to wrap it.
1422           Fixes Bug #533856.
1423           
1424           Also fix file comment.
1425
1426 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1427
1428         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1429
1430         * plugins/elements/gstfakesink.c:
1431         * plugins/elements/gstfakesrc.c:
1432           Call super::event() when not handling it. Fixes #544855.
1433
1434 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1435
1436         Patch by: Alessandro Decina <alessandro@nnva.org>
1437         * plugins/elements/gstfilesrc.c:
1438           Use 64 bit variants of stat functions on win32, to enable support
1439           of large files there.
1440           Fixes #547277.
1441
1442 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1443
1444         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1445         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1446         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1447         (gst_base_sink_get_position), (gst_base_sink_change_state):
1448         Improve position reporting in the flushing state.
1449         Also report the position when we are not yet prerolled but we
1450         have a newsegment event. Fixes #543444.
1451         Improve the pull-based negotiation code.
1452
1453         * tests/check/elements/fakesink.c: (GST_START_TEST),
1454         (fakesink_suite):
1455         Add testcase for position reporting while flushing in PAUSED and
1456         PLAYING.
1457
1458         * tests/check/generic/sinks.c: (GST_START_TEST):
1459         Update unit-test, we can now query the position as soon as we receive a
1460         NEWSEGMENT event.
1461
1462 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1463
1464         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1465
1466         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1467         When the subclass event handler releases the PREROLL_LOCK, we could be
1468         in the flushing state and we have to ignore the event. Fixes #548394.
1469
1470 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1471
1472         * tools/gst-launch.1.in:
1473           Document GST_REGISTRY_UPDATE environment variable.
1474
1475 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1476
1477         * libs/gst/base/gstbasetransform.c:
1478         (gst_base_transform_prepare_output_buffer):
1479         If the element is configured in passthrough mode but the
1480         prepare_output_buffer gave us a new output buffer, discard that buffer
1481         and reuse the input buffer.
1482
1483 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1484
1485         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1486
1487         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1488         (gst_tee_request_new_pad), (gst_tee_release_pad),
1489         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1490         * plugins/elements/gsttee.h:
1491         Protect pad_alloc with a new lock so that we can be sure that nothing is
1492         performing a pad_alloc when removing the pad. Fixes #547835.
1493
1494         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1495         (buffer_alloc_harness_teardown), (app_thread_func),
1496         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1497         Added testcase for shutdown race.
1498
1499 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1500
1501         * gst/gstpad.h:
1502         Add doc
1503
1504 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1505
1506         * libs/gst/base/gstbasetransform.c:
1507         (gst_base_transform_prepare_output_buffer),
1508         (gst_base_transform_buffer_alloc):
1509         Go over the buffer_alloc function again and make sure we always end up
1510         allocating a buffer.
1511         Add some more docs.
1512         Avoid doing pad alloc when we have a pending suggestion because we
1513         cannot yet deal with changing caps in that case. Fixes #547728
1514
1515 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1516
1517         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1518
1519         * docs/manual/advanced-clocks.xml:
1520         * docs/manual/clocks.png:
1521         * docs/manual/diagrams-clocks.svg:
1522           Add one more image showing different times together with a describing
1523           paragraph. Fixes #547729.
1524
1525 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1526
1527         * win32/common/libgstbase.def:
1528         Add new method.
1529
1530 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1531
1532         * libs/gst/base/gstbasetransform.c:
1533         (gst_base_transform_transform_caps),
1534         (gst_base_transform_prepare_output_buffer),
1535         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1536         Don't overwrite the outsize when calculating the expected size of a new
1537         buffer because we still need it in case we cannot process the new
1538         buffer.
1539         When converting the size of the new buffer to an upstream size, actually
1540         use the expected size of the buffer, not some other random value.
1541         Use an atomic int to signal that a new upstream caps suggestion is
1542         available.
1543         When we can convert the current buffer to a new format, check if the
1544         buffer size is of the expected size and allocate a new buffer of the
1545         expected size when this is not the case. Fixes #546883.
1546
1547         * tests/check/libs/transform1.c: (GST_START_TEST):
1548         remove ifdeffed code from the unit test.
1549
1550 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1551
1552         * pkgconfig/gstreamer-uninstalled.pc.in:
1553         * pkgconfig/gstreamer.pc.in:
1554           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1555           called gstcontroller-0.10.
1556
1557 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1558
1559         * gst/gstchildproxy.h:
1560         * gst/gstpreset.h:
1561           Remove double interface from doc-string.        
1562
1563 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1564
1565         * libs/gst/base/gstbasesrc.c:
1566         * libs/gst/base/gstbasetransform.c:
1567           Fix headings in docs and gtk-doc warnings.
1568
1569 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1570
1571         * gst/gstregistrybinary.c:
1572           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1573           libc.
1574           Fixes #544776.
1575
1576 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1577
1578         * libs/gst/base/gstbasetransform.c:
1579         (gst_base_transform_buffer_alloc):
1580         Fix a "may be used unitialized" warning.
1581
1582 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1583
1584         * docs/gst/gstreamer-sections.txt:
1585         * gst/gstpreset.h:
1586           Document preset-iface vmethods.
1587
1588 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1589
1590         * docs/manual/advanced-interfaces.xml:
1591           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1592           only used to discover devices.
1593
1594 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1595
1596         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1597
1598         * gst/gst.c: (init_pre):
1599         Make sure gettext returns translations in UTF-8 encoding rather
1600         than in the current locale encoding (#546822).
1601
1602 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1603
1604         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1605         Fix subset test.
1606
1607         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1608         Improve unit test subset tests and add a testcase for the subset failure
1609         cases.
1610
1611         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1612         Improve subtraction unit test.
1613
1614 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1615
1616         * plugins/elements/gsttee.c:
1617           Unlock, instead of locking again.
1618
1619 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1620
1621         * gst/gstpad.h:
1622         Clarify the docs a bit more.
1623
1624 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1625
1626         * tests/examples/metadata/read-metadata.c:
1627           Don't leak old taglist.
1628
1629 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1630
1631         Patch by: Olivier Crete <tester at tester dot ca>
1632
1633         * gst/gststructure.c:
1634         (gst_structure_fixate_field_nearest_fraction):
1635         Avoid overflows in fixation code when dealing with MAXINT values, which
1636         v4l2src seems to do.
1637         Fixes #546328.
1638
1639         * tests/check/gst/gststructure.c: (GST_START_TEST):
1640         Make a unit test to check the fix. 
1641
1642 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1643
1644         * plugins/elements/gstcapsfilter.c: (copy_func),
1645         (gst_capsfilter_set_property):
1646         Use new caps suggestion feature of basetransform to request a caps
1647         negotiation upstream.
1648
1649 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1650
1651         * docs/libs/gstreamer-libs-sections.txt:
1652         Add new function:
1653         API: GstBaseTransform::gst_base_transform_suggest()
1654
1655         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1656         (gst_base_transform_init), (gst_base_transform_transform_caps),
1657         (gst_base_transform_transform_size),
1658         (gst_base_transform_configure_caps),
1659         (gst_base_transform_can_transform),
1660         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1661         (gst_base_transform_prepare_output_buffer),
1662         (gst_base_transform_buffer_alloc),
1663         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1664         (gst_base_transform_chain), (gst_base_transform_activate),
1665         (gst_base_transform_set_passthrough),
1666         (gst_base_transform_is_passthrough),
1667         (gst_base_transform_set_in_place),
1668         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1669         (gst_base_transform_set_qos_enabled),
1670         (gst_base_transform_is_qos_enabled),
1671         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1672         (gst_base_transform_reconfigure):
1673         * libs/gst/base/gstbasetransform.h:
1674         Rewrite of basetransform to perform negotiation outside of the
1675         buffer_alloc functions.  Fixes #545853.
1676
1677         * tests/check/libs/transform1.c: (GST_START_TEST),
1678         (buffer_alloc_ct2):
1679         Update unit test.
1680
1681 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1682
1683         * tests/check/gst/gstpreset.c:
1684           Only run preset tests when $HOME is writable. Preliminary fix for
1685           #545433.
1686
1687 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1688
1689         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1690         (gst_bin_change_state_func), (bin_handle_async_done),
1691         (gst_bin_handle_message_func):
1692         Fix race for bins that simulate ASYNC state changes by inserting
1693         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1694         pending ASYNC messages even when the bin does not have ASYNC children.
1695         We note detect this behaviour because we will receive an ASYNC message
1696         that is originating from the bin itself. 
1697         Fixes races with decodebin2 state changes.
1698
1699         * tests/check/gst/gstbin.c: (GST_START_TEST):
1700         Add some more debug.
1701
1702 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1703
1704         * gst/gsttaglist.c: (_gst_tag_initialize):
1705           Fix typo.
1706
1707 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1708
1709         * gst/gsttaglist.c:
1710           Argh. actually save the text before committing. Now adds
1711           gst_tag_merge_strings_with_comma() to gst_tag_register().
1712
1713 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1714
1715         * gst/gsttaglist.c:
1716         * gst/gsttaglist.h:
1717           Do as tim pointed out and actually register the new tag. Also improve
1718           te docs and use gst_tag_merge_strings_with_comma() method to allow
1719           retriving all keywords merged in one list.
1720
1721 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1722
1723         * configure.ac:
1724         * docs/gst/gstreamer.types:
1725           Revert 'accidential' change of the configure option removal. We still
1726           need to generate the types file in configure --disable-load-save.
1727
1728 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1729
1730         * docs/gst/gstreamer-sections.txt:
1731         * gst/gsttaglist.h:
1732           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1733
1734 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1735
1736         * gst/gstpadtemplate.c:
1737           (gst_pad_template_class_init), (gst_static_pad_template_get),
1738           (gst_pad_template_new), (gst_pad_template_pad_created),
1739           (gst_pad_template_set_property), (gst_pad_template_get_property):
1740           Add "name-template", "direction", "presence" and "caps" properties,
1741           so that gst_pad_template_new() is just a thin wrapper around
1742           g_object_new(), which is better for bindings. (Fixes: #539772)
1743
1744 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1745
1746         * gst/gsturi.c:
1747           Be more liberal in what URIs we accept.
1748           Do not unescape bits of the URI for no apparent reason before passing to
1749           the element. Fixes #545352.
1750
1751 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1752
1753         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1754
1755         * gst/gst.c:
1756         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1757
1758 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1759
1760         * configure.ac:
1761         * docs/gst/gstreamer-sections.txt:
1762         * docs/gst/gstreamer.types:
1763         * docs/gst/gstreamer.types.in:
1764         * gst/Makefile.am:
1765         * gst/gst.c:
1766         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1767         * gst/gstconfig.h.in:
1768         * gst/gstelement.c: (gst_element_get_index):
1769         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1770         (gst_registry_binary_load_feature),
1771         (gst_registry_binary_read_cache):
1772         * gst/gstregistryxml.c: (load_feature),
1773         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1774         * plugins/Makefile.am:
1775         * tools/gst-indent:
1776         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1777         (print_plugin_features), (print_element_features):
1778         * tools/gst-xmlinspect.c: (print_event_masks),
1779         (print_element_info):
1780         * win32/common/gstconfig.h:
1781         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1782
1783         Disabling the indexers and URI handler code will only reduce the
1784         required amount of memory by a very small amount but on the other hand
1785         requires much more maintaince work. Apart from that many places of
1786         code are broken when disabling them.
1787
1788         Disabling the enum types doesn't reduce the required amount of memory
1789         by more than a few bytes and makes it hard to fix bugs like #539772,
1790         i.e. use the enums as GObject properties.
1791
1792 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1793
1794         * docs/design/part-TODO.txt:
1795         Add some thoughts and problems with upstream renegotiation.
1796
1797 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1798
1799         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1800         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1801         Remove silly redundant debug.
1802         Add some more debug info.
1803         Clarify the docs regarding new caps received from pad_alloc.
1804
1805 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1806
1807         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1808         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1809         Make setting the caps more threadsafe.
1810
1811 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1812
1813         * docs/design/part-element-transform.txt:
1814         Update docs.
1815
1816 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1817
1818         * plugins/elements/gstqueue.c: (gst_queue_init),
1819         (gst_queue_acceptcaps):
1820         Add and use a custom acceptcaps function instead of falling back to the
1821         potentially less optimized default implementation.
1822
1823 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1824
1825         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1826           Only sanity-check the buffer size if requested_caps == buffer_caps
1827           (ie. don't take pad caps into account, they're not relevant here)
1828
1829 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1830
1831         * plugins/elements/gsttee.c:
1832         * plugins/elements/gsttee.h:
1833           Reverting as not everything is clear yet. Needs some general design
1834           work.
1835
1836 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1837
1838         * ChangeLog:
1839           ChangeLog surgery for tee commit.
1840
1841 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1842
1843         * docs/gst/gstreamer-sections.txt:
1844           Cleanup section-file.
1845
1846 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1847
1848         * plugins/elements/gsttee.c:
1849         * plugins/elements/gsttee.h:
1850           Relay tag events in tee. Fixes parts of #474016.
1851           Downgrades 3 reoccurring debugs to log.
1852
1853 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1854
1855         * configure.ac:
1856         * libs/gst/Makefile.am:
1857           Build the net library if we have winsock2.
1858
1859 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1860
1861         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1862
1863         * docs/manual/advanced-threads.xml:
1864         * docs/manual/diagrams-pipelines.svg:
1865         * docs/manual/hello-world.png:
1866         * docs/manual/linked-elements.png:
1867         * docs/manual/mime-world.png:
1868         * docs/manual/queue.png:
1869         * docs/manual/thread-buffering.png:
1870         * docs/manual/thread-synchronizing.png:
1871           Replace one diagram with two separate ones and updates others.
1872           Fixes #542401.
1873
1874 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1875
1876         * gst/gstelement.h:
1877         Fix link in documentation.
1878
1879 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1880
1881         * gst/gstmessage.c:
1882         Fix confusing documentation.
1883
1884 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1885
1886         * libs/gst/base/gstbasesrc.h:
1887         revert the changes to the header file for the ABI.
1888
1889 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1890
1891         * libs/gst/base/gstbasesrc.c:
1892         * libs/gst/base/gstbasesrc.h:
1893         Don't cache the seekable status.
1894         Fixes bug #544174
1895
1896 2008-07-24  Rene Stadler  <mail@renestadler.de>
1897
1898         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1899         code to close the pipeline graph.  This prevents the program from
1900         printing internal data flow errors.
1901
1902 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1903
1904         * docs/manual/basics-bus.xml:
1905         Correct typo. Fixes bug #544320.
1906
1907 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1908
1909         * configure.ac:
1910           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1911           Add check (taken from -base) for winsock, adds WIN32_LIBS
1912         * gst/Makefile.am:
1913           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1914           winsock.
1915           Define GST_EXPORTS when building libgstreamer (only used on win32)
1916         * gst/gst_private.h:
1917         * gst/gstinfo.h:
1918           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1919           for symbols that we need to export in both these files.
1920         * gst/gstpoll.c:
1921           Include gst_private.h higher up to avoid some compile problems on win32.
1922
1923 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1924
1925         * gst/gstvalue.c:
1926         Fix typos.
1927
1928 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1929
1930         * gst/gstcaps.c:
1931         Previous commit was wrong NULL caps does not exist
1932         and indicate an error, so also add a FIXME to
1933         gst_caps_is_equal where NULL caps are accepted.
1934
1935 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1936
1937         * gst/gstcaps.c:
1938         Allow passing of NULL to gst_caps_union
1939
1940 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1941
1942         * gst/gstghostpad.c:
1943         Add in doc that gst_ghost_pad_set_target can accept
1944         NULL to clear target
1945
1946 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1947
1948         * gst/gstplugin.c:
1949         * gst/gstregistry.c:
1950           GstRegistryPool doesn't exist; don't refer to it in docs.
1951           Don't refer to functions that don't exist in docs, it's
1952           unhelpful.
1953
1954 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1955
1956         * gst/gst.c:
1957         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1958
1959 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1960
1961         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1962
1963         * docs/pwg/building-testapp.xml:
1964         Don't use an undeclared variable in the example program.
1965         Fixes bug #542573.
1966
1967 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1968
1969         * gst/gstdebugutils.c:
1970           Squeeze ghost-pad links and remove <> from classname labels to save
1971           more horizontal space.
1972
1973 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1974
1975         * gst/gstdebugutils.c:
1976           Give request and sometimes pads a different shpe style. Condense the
1977           graphs a little more.
1978
1979 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1980
1981         * configure.ac:
1982           Don't require flex and bison if the parser is disabled.
1983
1984 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1985
1986         * libs/gst/controller/gstinterpolationcontrolsource.c:
1987         (_list_find_sorted_custom):
1988         Don't use declarations after statements.
1989
1990 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1991
1992         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1993         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1994         of the the child-added / -removed signals as GstChildProxy
1995         only supports GstObjects.
1996
1997 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1998
1999         * gst/gstdebugutils.c:
2000         Fix memleak
2001
2002 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2003
2004         Patch by: Alessandro Decina <alessandro at nnva dot org>
2005
2006         * gst/gstpoll.c:
2007         Fix "ignored return value" compiler warning with newer glibc.
2008
2009 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2010
2011         * gst/gstchildproxy.c:
2012         Fix copy&paste error in gst_child_proxy_removed() documentation.
2013
2014 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
2015
2016         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
2017           Print error debug message if plugin description fields that should
2018           be set are NULL.
2019
2020         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
2021           Don't crash if the string to serialise is NULL (it really should
2022           not be, but apparently this used to work with the xml registry ...).
2023
2024 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
2025
2026         * tools/gst-plot-timeline.py:
2027         Fix parsing of log messages
2028
2029 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2030
2031         * win32/common/libgstbase.def::
2032           Sort alphabetically so make check-exports doesn't barf.
2033
2034 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
2035
2036         * gst/gstevent.c:
2037           Use gst_format_get_name() to improve debug output.
2038
2039         * gst/gstpreset.c:
2040           Remove #ifdef'ed code. Add TODO comment.
2041
2042         * gst/gstsegment.c:
2043           Add debug output to ease spotting format != segment.format assertions.
2044
2045 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2046
2047         * tests/check/libs/gdp.c: (gst_dp_suite):
2048         Also enable the GDP unit test again on PPC now that the bug
2049         is fixed.
2050
2051 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2052
2053         * libs/gst/dataprotocol/dataprotocol.c:
2054         Don't write to the same region of memory as a uint64 and uint16
2055         as this breaks strict aliasing rules and apparantly breaks on PPC
2056         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2057
2058 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2059
2060         * libs/gst/controller/gstinterpolationcontrolsource.c:
2061           Optimize list handling. Use own find function. Exploit that fact that
2062           the list is sorted. Also pass back the node before, so that we can
2063           insert quickly. Have a fast path for append.
2064
2065 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2066
2067         * docs/design/draft-framestep.txt:
2068         * docs/design/part-negotiation.txt:
2069           Fix two typos.
2070
2071 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2072
2073         * configure.ac:
2074           Show configuration sumary after configure run. Based on patch by
2075           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2076
2077 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2078
2079         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2080
2081         * docs/manual/advanced-autoplugging.xml:
2082         * docs/manual/advanced-threads.xml:
2083         * docs/manual/basics-bins.xml:
2084         * docs/manual/basics-elements.xml:
2085         * docs/manual/basics-helloworld.xml:
2086         * docs/manual/basics-pads.xml:
2087           Add scale factor for pdf output.
2088
2089         * docs/manual/intro-basics.xml:
2090           Switched sections "pads" and "bins" and added a pipeline diagram.
2091
2092         * docs/manual/intro-gstreamer.xml:
2093           Added more info on gstreamer.
2094
2095         * docs/manual/intro-motivation.xml:
2096           Commented out the whole section "current problem", which sounds
2097           historical and somehow osolete; it could be turned in a positive
2098           way and reused to improve the design principles.
2099
2100         * docs/manual/intro-preface.xml:
2101           - Update URLs to library.gnome.org. 
2102           - Do not mention GTK+ in preliminary reading (irrelevant). 
2103           - Mention Plugin Writer's Manual and further reading only in the
2104             previous section.
2105           - Added a list of most relevant GObject/glib topics.
2106
2107         * docs/manual/Makefile.am:
2108         * docs/manual/bin-element-ghost.fig:
2109         * docs/manual/bin-element-ghost.png:
2110         * docs/manual/bin-element-noghost.fig:
2111         * docs/manual/bin-element-noghost.png:
2112         * docs/manual/bin-element.fig:
2113         * docs/manual/bin-element.png:
2114         * docs/manual/filter-element-multi.fig:
2115         * docs/manual/filter-element-multi.png:
2116         * docs/manual/filter-element.fig:
2117         * docs/manual/filter-element.png:
2118         * docs/manual/gstreamer-overview.png:
2119         * docs/manual/hello-world.fig:
2120         * docs/manual/hello-world.png:
2121         * docs/manual/linked-elements.fig:
2122         * docs/manual/linked-elements.png:
2123         * docs/manual/mime-world.fig:
2124         * docs/manual/mime-world.png:
2125         * docs/manual/queue.fig:
2126         * docs/manual/queue.png:
2127         * docs/manual/simple-player.png:
2128         * docs/manual/sink-element.fig:
2129         * docs/manual/sink-element.png:
2130         * docs/manual/src-element.fig:
2131         * docs/manual/src-element.png:
2132         * docs/manual/diagrams-general.svg:
2133         * docs/manual/diagrams-pipelines.svg:
2134           Removed .fig, added .png counterpart.
2135           
2136           Fixes: #539137
2137
2138 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2139
2140         * plugins/elements/gstmultiqueue.c:
2141         * plugins/elements/gstmultiqueue.h:
2142         revert extra-size-buffers stuff, caused some race conditions
2143         and extra-size-buffers is not used anymore. Docs needs some updates
2144
2145 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2146
2147         * win32/common/config.h:
2148         * win32/common/gstenumtypes.c:
2149         * win32/common/gstenumtypes.h:
2150         * win32/common/gstversion.h:
2151           Update win32 files.
2152
2153 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2154
2155         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2156           (GST_DEBUG_BIN_TO_DOT_FILE):
2157           Add missing Since' markers to gtk-doc blurbs.
2158
2159 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2160
2161         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2162         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2163         (set_caps_1), (set_caps_ct1), (transform_ct1),
2164         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2165         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2166         (transform_size_ct2), (buffer_alloc_ct2):
2167         Add some more tests with switching caps in buffer_alloc.
2168
2169 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2170
2171         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2172         (gst_test_trans_class_init), (result_sink_chain),
2173         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2174         (gst_test_trans_push), (gst_test_trans_pop):
2175         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2176         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2177         (set_caps_1), (set_caps_ct1), (transform_ct1),
2178         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2179         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2180         (transform_size_ct2), (buffer_alloc_ct2),
2181         (gst_basetransform_suite):
2182         More tests, prepare for tests with switching caps in buffer_alloc.
2183
2184 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2185
2186         * plugins/elements/gstmultiqueue.c:
2187         * plugins/elements/gstmultiqueue.h:
2188         Fix dead-lock in underrun_cb
2189
2190 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2191
2192         * docs/design/part-states.txt:
2193         Fix device open/close docs.
2194
2195 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2196
2197         * ChangeLog:
2198           Mention bugnumber for last commit.
2199
2200 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2201
2202         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2203
2204         * docs/manual/manual.xml:
2205         - Reorganised the previous "introduction" bundle into Foreword,
2206         Introduction, and About GStreamer. The two first are <preface>
2207         docbook elements. The later is the first part of the book.
2208         - added intro-gstreamer.xml (content partially from
2209         intro-preface.xml)
2210         - moved appendix-win32.xml into appendix-integration.xml
2211
2212         * docs/manual/intro-preface.xml: gstreamer section moved...
2213         * docs/manual/intro-gstreamer.xml: ...here. new file.
2214
2215         * docs/manual/appendix-win32.xml: removed file. Content moved...
2216         * docs/manual/appendix-integration.xml: ...here.
2217         
2218         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2219         * docs/manual/appendix-checklist.xml: ...here.
2220         
2221         Fixes: 538764
2222
2223 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2224
2225         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2226
2227         * docs/manual/basics-helloworld.xml:
2228         * docs/manual/hello-world.fig:
2229           - Explicitely include glib.h.
2230           - Do not use global variables.
2231           - Use g_printerr() instead of g_print().
2232           - Minor formating/renaming to increase readibility.
2233           - Renamed new_pad() to on_pad_added()
2234           - Improved explenatory comments.
2235           - renamed ogg parser to ogg demuxer
2236           - Use "autoaudiosink" instead of "alsasink".
2237           Fixes: #538619
2238
2239 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2240
2241         * ChangeLog:
2242           Remove cvs conflict marker.
2243
2244 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2245
2246         * docs/README:
2247           Document that for plgin-docs we extraxt he short-desc from the element
2248           details.
2249
2250         * docs/design/part-states.txt:
2251           Tell that devices should be closed in PAUSED -> READY.
2252
2253         * docs/manual/README:
2254           Document how tests in the manual are handled.
2255
2256         * docs/manuals.mak:
2257           Typo in comment.
2258
2259 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2260
2261         * gst/gstbin.c: (bin_query_latency_fold):
2262         Only care about latency min and max when the sink is actually a live
2263         sink.
2264
2265 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2266
2267         * docs/design/part-block.txt:
2268         Fix typo.
2269
2270         * docs/design/part-element-transform.txt:
2271         Add notes about why transform needs to know input/output sizes.
2272         Add some issues that need to be solved.
2273         Add some more use cases.
2274
2275         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2276         (gst_test_trans_class_init), (result_sink_chain),
2277         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2278         (gst_test_trans_push), (gst_test_trans_pop):
2279         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2280         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2281         (set_caps_1), (set_caps_ct1), (transform_ct1),
2282         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2283         (gst_basetransform_suite):
2284         Add suport for different pad templates and buffer-alloc.
2285         Add more checks for caps and buffer-alloc.
2286         Add checks for proxy buffer alloc.
2287         Add unit test for copy transform.
2288
2289 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2290
2291         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2292
2293         * docs/manual/appendix-integration.xml:
2294         * docs/manual/appendix-licensing.xml:
2295         * docs/manual/basics-elements.xml:
2296         * docs/manual/basics-helloworld.xml:
2297         * docs/manual/basics-pads.xml:
2298         * docs/manual/highlevel-components.xml:
2299         * docs/manual/highlevel-xml.xml:
2300         * docs/manual/intro-basics.xml:
2301         * docs/manual/intro-preface.xml:
2302           Typo and formatting fixes (#538594).
2303
2304 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2305
2306         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2307         Fix some memory leaks and uses of object instances that we don't
2308         actually own.
2309
2310 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2311
2312         * plugins/elements/gstmultiqueue.c:
2313         Add functionality to extra-size-buffers property.
2314
2315 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2316
2317         * plugins/elements/gstmultiqueue.c:
2318         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2319         activate the pads if they are added in STATE_NULL.
2320
2321 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2322
2323         * docs/libs/gstreamer-libs-sections.txt:
2324         Add new API to doc
2325         * libs/gst/check/gstcheck.c:
2326         * libs/gst/check/gstcheck.h:
2327         API: gst_check_teardown_pad_by_name
2328
2329 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2330
2331         * libs/gst/check/gstcheck.c:
2332         * libs/gst/check/gstcheck.h:
2333         Also setup request pads and allow setup pads by name (#537812)
2334         API: gst_check_setup_src_pad_by_name
2335         API: gst_check_setup_sink_pad_by_name
2336
2337 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2338
2339         * tests/check/gst/gstbuffer.c:
2340         * tests/check/pipelines/parse-launch.c:
2341           Use HAVE_VALGRIND_H some more.
2342
2343 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2344
2345         * scripts/cvs-update.sh:
2346           Pass arguments to make.
2347           Run autoregen.sh if Makefile is not there.
2348
2349 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2350
2351         * configure.ac:
2352         * gst/gstinfo.c:
2353           Don't assume that <valgrind/valgrind.h> exists just because
2354           the binary is there.
2355
2356 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2357
2358         * tests/check/Makefile.am:
2359         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2360         (gst_test_trans_class_init), (gst_test_trans_init),
2361         (gst_test_trans_set_data), (result_sink_chain),
2362         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2363         (gst_test_trans_pop):
2364         * tests/check/libs/transform1.c: (GST_START_TEST),
2365         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2366         Add some test basetransform element and the beginnings of various
2367         unit tests for it.
2368
2369 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2370
2371         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2372         Increase code readability.
2373         Don't try to compare buffer offsets when ther are invalid.
2374
2375 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2376
2377         * docs/design/Makefile.am:
2378           Dist some more design docs.
2379
2380         * docs/random/moving-plugins:
2381           Small addition: good plugins mustn't have functional code
2382           within assertion macros.
2383
2384 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2385
2386         * docs/design/draft-framestep.txt:
2387         Some ideas about a framestep API
2388
2389         * docs/design/part-element-transform.txt:
2390         Start design and use cases for basetransform in order to get it
2391         fixed soon.
2392
2393 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2394
2395         * gst/gsttaglist.h:
2396           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2397           be in UTF-8 encoding.
2398
2399 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2400
2401         * gst/gstbus.c:
2402           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2403
2404 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2405
2406         * plugins/elements/gstcapsfilter.c:
2407         * plugins/elements/gstfakesink.c:
2408         * plugins/elements/gstfakesrc.c:
2409         * plugins/elements/gstfdsink.c:
2410         * plugins/elements/gstfdsrc.c:
2411         * plugins/elements/gstfilesink.c:
2412         * plugins/elements/gstfilesrc.c:
2413         * plugins/elements/gstidentity.c:
2414         * plugins/elements/gstmultiqueue.c:
2415         * plugins/elements/gstqueue.c:
2416         * plugins/elements/gsttee.c:
2417         * plugins/elements/gsttypefindelement.c:
2418           Remove short_description. Add basic docs for gsttypefindelement.
2419           Simplify markup for fakesrc/fdsrc.
2420
2421 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2422
2423         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2424         Added Since doc.
2425
2426 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2427
2428         Patch by: Joel Larsson <tilljoel at gmail dot com>
2429
2430         * docs/plugins/gstreamer-plugins.args:
2431         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2432         (gst_fd_src_init), (gst_fd_src_update_fd),
2433         (gst_fd_src_set_property), (gst_fd_src_get_property),
2434         (gst_fd_src_create):
2435         * plugins/elements/gstfdsrc.h:
2436         Add timeout property like udpsrc. Fixes #538628.
2437         Add some more docs and example pipelines.
2438
2439 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2440
2441         * docs/libs/gstreamer-libs-sections.txt:
2442         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2443         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2444         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2445         (gst_base_sink_do_sync):
2446         * libs/gst/base/gstbasesink.h:
2447         * win32/common/libgstbase.def:
2448         Add method to allow sinks to specify additional delay between the sync
2449         times and the actual rendering of the data.
2450         API: gst_base_sink_set_render_delay()
2451         API: gst_base_sink_get_render_delay()
2452
2453 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2454
2455         * configure.ac:
2456         Bump version number back to dev -> 0.10.20.1
2457
2458 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2459
2460         * docs/gst/gstreamer-sections.txt:
2461         * gst/gsttaglist.c: (_gst_tag_initialize):
2462         * gst/gsttaglist.h:
2463         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2464         Fixes bug #538568.
2465
2466 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2467
2468         * libs/gst/controller/gstcontroller.c:
2469           Revert one change, that make ret value possible uninitialized.
2470
2471 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2472
2473         * libs/gst/controller/gstcontroller.c:
2474           Use freeze/thaw notify to sync notify emission a bit (its also more
2475           efficient). Move debug output to LOG (is called a lot in a loop).
2476           Always unset g_values if the have been initialized.
2477
2478 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2479
2480         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2481         (gst_base_sink_wait_eos), (gst_base_sink_event):
2482         If we have not seen a buffer before EOS, use the segment values to
2483         report the current position instead of invalid positions.
2484
2485 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2486
2487         * docs/plugins/tmpl/.cvsignore:
2488         * tests/check/gst/.cvsignore:
2489           Ignore more.
2490
2491 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2492
2493         * libs/gst/controller/gstinterpolation.c:
2494         * libs/gst/controller/gstinterpolationcontrolsource.c:
2495         * tests/check/libs/controller.c:
2496           Rewrite handling of default values. Fix overflow with unsigned types
2497           in linear interpolation. Remove now obsolete _first_value() function.
2498           Add more tests. Fixes #538201.
2499
2500 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2501
2502         * libs/gst/base/gstbasetransform.c:
2503         (gst_base_transform_class_init), (gst_base_transform_init),
2504         (gst_base_transform_transform_caps),
2505         (gst_base_transform_prepare_output_buffer):
2506         Add debug info.
2507         When a buffer is writable, its metadata is also writable so we don't
2508         need to subbuffer (which then makes the buffer not-writable anymore).
2509
2510 === release 0.10.20 ===
2511
2512 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2513
2514         * configure.ac:
2515           releasing 0.10.20, "You Crazy Diamond"
2516
2517 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2518
2519         * configure.ac:
2520         0.10.19.3 pre-release
2521
2522 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2523
2524         * configure.ac:
2525         * gst/gstpreset.c:
2526         Rename DATADIR to GST_DATADIR to avoid build problems
2527         on win32. Patch By: David Schleef <ds@schleef.org>
2528         Fixes: #536857
2529
2530 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2531
2532         * configure.ac:
2533         Explicitely link with -ldl if dladdr() is found there. Before it was
2534         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2535         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2536
2537 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2538
2539         * gst/gsterror.c: (_gst_stream_errors_init):
2540           Fix typo (spotted by Fabricio Godoy, #536723).
2541
2542 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2543
2544         * configure.ac:
2545         0.10.19.2 pre-release
2546
2547 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2548
2549         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2550         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2551         Add some debug.
2552         Make sure we don't generate invalid QoS messages.
2553
2554 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2555
2556         * gst/gstevent.c: (gst_event_new_qos):
2557         Add some assert and docs for invalid input to the qos function.
2558
2559 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2560
2561         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2562         (gst_base_sink_get_position):
2563         The reported position must always be smaller than the last seen
2564         timestamps (or timestamp + duration for reverse).
2565
2566 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2567
2568         Patch by: Rob Bradford <rob at robster dot org dot uk>
2569
2570         * gst/gstregistry.c: (gst_registry_scan_path_level):
2571         Don't recurse into .debug directories as some distros install
2572         the debugging symbols next to the plugins in .debug directories
2573         and dlopen() crashes on them sometimes. Fixes bug #508070.
2574
2575         Add FIXME for 0.11 to not recurse into directories at all because
2576         it's very inconsistent to the behaviour of other PATH environment
2577         variables.
2578
2579 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2580
2581         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2582         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2583         Fix position query range checks in reverse playback.
2584
2585 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2586
2587         * gst/gstelement.c:
2588         * gst/gstelement.h:
2589         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2590         clear of the reference to the resulting pad must be released later
2591         or not, resulting in possible leaks. Fixes bug #533865.
2592
2593 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2594
2595         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2596
2597         * gst/gstelementfactory.c:
2598         Small doc fix. Fixes #535285.
2599
2600 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2601
2602         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2603
2604         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2605         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2606         (gst_base_src_loop), (gst_base_src_set_flushing),
2607         (gst_base_src_change_state):
2608         Make sending an EOS event to the basesrc non-blocking even if the
2609         implementation does blocking waits in the create function. This is done
2610         by unlocking the create function when EOS is sent.
2611         Fixes #535218.
2612
2613 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2614
2615         * tools/gst-inspect.c: (print_element_properties_info):
2616         If possible print the element type of GValueArray properties.
2617
2618 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2619
2620         * gst/gstiterator.c:
2621         Remove an unused field from the private GstListIterator struct.
2622
2623 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2624
2625         * libs/gst/controller/gstcontroller.c:
2626           Add parameter guards.
2627
2628 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2629
2630         * tests/check/gst/gstpipeline.c:
2631           Revert test change and add comment why it should not work.
2632
2633 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2634
2635         * tests/check/gst/gstpipeline.c:
2636           Extending the test a little to verify that we also get the NULL state-
2637           change message.
2638
2639 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2640
2641         * gst/gstpreset.c: (gst_preset_default_get_meta),
2642           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2643           (gst_preset_load_preset), (gst_preset_save_preset),
2644           (gst_preset_rename_preset), (gst_preset_delete_preset),
2645           (gst_preset_set_meta):
2646           Add Since: markers to docs blurbs.
2647
2648         * win32/common/libgstreamer.def:
2649           Add recently-added API.
2650
2651 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2652
2653         Patch by: Stefan Kost  <ensonic@users.sf.net>
2654
2655         * configure.ac:
2656         Add DATADIR for storing presets.
2657
2658         * docs/gst/gstreamer-docs.sgml:
2659         * docs/gst/gstreamer-sections.txt:
2660         * docs/gst/gstreamer.types.in:
2661         Add GstPreset to docs.
2662
2663         * gst/Makefile.am:
2664         * gst/gst.h:
2665         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2666         (preset_open_and_parse_header), (preset_parse_version),
2667         (preset_merge), (preset_get_keyfile),
2668         (gst_preset_default_get_preset_names),
2669         (gst_preset_default_get_property_names),
2670         (gst_preset_default_load_preset),
2671         (gst_preset_default_save_presets_file),
2672         (gst_preset_default_save_preset),
2673         (gst_preset_default_rename_preset),
2674         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2675         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2676         (gst_preset_default_reset), (gst_preset_get_preset_names),
2677         (gst_preset_get_property_names), (gst_preset_load_preset),
2678         (gst_preset_save_preset), (gst_preset_rename_preset),
2679         (gst_preset_delete_preset), (gst_preset_set_meta),
2680         (gst_preset_get_meta), (gst_preset_class_init),
2681         (gst_preset_base_init), (gst_preset_get_type):
2682         * gst/gstpreset.h:
2683         Add GstPreset to core. Fixes #396779
2684
2685         * tests/check/Makefile.am:
2686         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2687         (gst_preset_test_set_property), (gst_preset_test_class_init),
2688         (gst_preset_test_base_init), (gst_preset_test_get_type),
2689         (gst_preset_test_plugin_init), (GST_START_TEST),
2690         (remove_preset_file), (test_setup), (test_teardown),
2691         (gst_preset_suite):
2692         Add GstPreset unit tests.
2693
2694 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2695
2696         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2697         The default event function on a sinkpad should return TRUE when
2698         there are no internal links but should collect the return values from
2699         the internal links otherwise.
2700
2701 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2702
2703         * plugins/elements/gsttypefindelement.c:
2704         (gst_type_find_element_src_event),
2705         (gst_type_find_element_handle_event):
2706         Use faster and safer _pad_push_event().
2707
2708 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2709
2710         * docs/gst/gstreamer-sections.txt:
2711         * gst/gstutils.c: (element_find_unlinked_pad),
2712           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2713         * gst/gstutils.h:
2714           API: add gst_bin_find_unlinked_pad()
2715           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2716
2717 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2718
2719         * gst/gstclock.c:
2720         * gst/gstclock.h:
2721         * gst/gsttask.c:
2722         * gst/gsttask.h:
2723         Fixed a bunch of typos.
2724
2725 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2726
2727         * gst/gstpad.h:
2728         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2729           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2730           (gst_parse_bin_from_description_full):
2731         * gst/gstutils.h:
2732           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2733
2734 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2735
2736         * docs/pwg/advanced-tagging.xml:
2737           Small docs update, can't be bothered to rewrite the nonsensical
2738           examples right now.
2739
2740 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2741
2742         * gst/gstevent.h:
2743           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2744
2745 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2746
2747         * gst/parse/grammar.y:
2748           Remove unneeded casts.
2749
2750 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2751
2752         * gst/parse/grammar.y:
2753         * tests/check/pipelines/parse-launch.c:
2754           Get all missing elements from a parse launch string if possible
2755           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2756
2757 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2758
2759         * tests/check/Makefile.am:
2760         * tests/check/pipelines/parse-launch.c:
2761           Add some unit tests for the new gst_parse_launch*_full() API.
2762           (Exposes a previously-existing memory leak in the error code
2763           path, so adding to VALGRIND_TO_FIX for now).
2764
2765 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2766
2767         * docs/gst/gstreamer-sections.txt:
2768         * gst/gst.c: (init_post):
2769         * gst/gst_private.h: (_GstParseContext):
2770         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2771           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2772           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2773           (gst_parse_launch_full):
2774         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2775           (GstParseFlags), (GstParseContext):
2776         * gst/gstutils.c: (gst_parse_bin_from_description),
2777           (gst_parse_bin_from_description_full):
2778         * gst/gstutils.h:
2779         * gst/parse/grammar.y:
2780         * gst/parse/types.h:
2781         * win32/common/libgstreamer.def:
2782           Add new gst_parse_*_full API (#528178):
2783           API: gst_parse_launch_full()
2784           API: gst_parse_launchv_full()
2785           API: gst_parse_bin_from_description_full()
2786           API: gst_parse_context_new()
2787           API: gst_parse_context_free()
2788           API: gst_parse_context_get_missing_elements()
2789
2790 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2791
2792         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2793
2794         * docs/faq/gst-uninstalled:
2795           Also support ffmpeg in gst-uninstalled.
2796
2797 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2798
2799         * configure.ac:
2800         After discussion on IRC use the binary registry as default
2801         but allow to disable it with --disable-binary-registry.
2802
2803         * win32/common/libgstreamer.def:
2804         Add the two new symbols for the binary registry.
2805
2806 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2807
2808         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2809         * gst/gstutils.c: (gst_parse_bin_from_description):
2810         * gst/parse/grammar.y: (graph):
2811           More guards against bad input; typo fix; some minor clean-ups.
2812
2813 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2814
2815         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2816
2817         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2818         If nothing else can be used, use the last buffer's start time as
2819         the segment's last stop. Fixes bug #534258.
2820
2821 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2822
2823         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2824           Move size sanity check to the right place: downstream may return
2825           a buffer with a smaller size if the buffer caps are different than
2826           the requested ones, as may happen when doing reverse negotiation.
2827
2828 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2829
2830         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2831         (gst_file_sink_render):
2832         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2833         (gst_file_src_start):
2834         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2835         use it yet.
2836
2837 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2838
2839         * gst/gstpad.c: (gst_pad_load_and_link):
2840         * gst/gstutils.c: (gst_element_link_pads),
2841         (gst_element_unlink_pads):
2842         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2843         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2844         (gst_check_teardown_sink_pad),
2845         (gst_check_element_push_buffer_list):
2846         * tests/check/elements/fakesink.c: (GST_START_TEST):
2847         * tests/check/elements/filesink.c:
2848         * tests/check/elements/filesrc.c: (GST_START_TEST):
2849         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2850         (mq_sinkpad_to_srcpad):
2851         * tests/check/elements/tee.c: (GST_START_TEST):
2852         * tests/check/generic/sinks.c: (GST_START_TEST):
2853         * tests/check/gst/gstbin.c: (GST_START_TEST):
2854         * tests/check/gst/gstevent.c: (GST_START_TEST):
2855         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2856         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2857         * tests/check/gst/gstquery.c: (GST_START_TEST):
2858         * tests/check/gst/gstutils.c: (GST_START_TEST):
2859         * tests/check/libs/basesrc.c: (GST_START_TEST):
2860         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2861         (gst_parse_test_element_change_state):
2862         Don't use gst_element_get_pad().
2863
2864 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2865
2866         * docs/Makefile.am:
2867         Fix installing plugin documentation when gtk-doc is disabled.
2868
2869 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2870
2871         * docs/manual/advanced-autoplugging.xml:
2872         * docs/manual/basics-helloworld.xml:
2873         * docs/manual/basics-pads.xml:
2874         * docs/manual/highlevel-components.xml:
2875         Avoid using a bad function in the example code.
2876
2877 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2878
2879         * gst/gstclock.c: (gst_clock_set_calibration):
2880         Fix debug of the new clock rate.
2881
2882 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2883
2884         * win32/common/libgstbase.def:
2885         Add gst_base_sink_wait_clock() to the exported symbols.
2886
2887 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2888
2889         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2890
2891         * libs/gst/base/gstbasetransform.c:
2892         (gst_base_transform_sink_event):
2893         Unref events that the GstBaseTransform::event vfunc didn't want to
2894         have forwarded by the base class. Closes a leak in identity.
2895         Fixes bug #446763.
2896
2897 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2898
2899         * docs/libs/gstreamer-libs-sections.txt:
2900         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2901         * libs/gst/base/gstbasesink.h:
2902         Expose a method that was previously used internally to synchronize
2903         against the clock because it can be useful for subclasses too.
2904         API: GstBaseSink::gst_base_sink_wait_clock()
2905
2906 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2907
2908         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2909           Add sanity check to make sure we don't get smaller buffers
2910           than requested (and fallback to normal buffer alloc if we do).
2911
2912 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2913
2914         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2915         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2916         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2917         Refactor adjusting the running_time with latency and offset into a
2918         separate method.
2919         When doing clipping, we still want to use the subclass get_times method,
2920         just in case the DURATION or TIMESTAMP are not set.
2921
2922 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2923
2924         * docs/gst/gstreamer-sections.txt:
2925         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2926         * gst/gsttypefind.h:
2927         * win32/common/libgstreamer.def:
2928           API: add gst_type_find_suggest_simple(), #533740.
2929
2930 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2931
2932         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2933           Use right error code when typefinding fails, so we can use
2934           the default (translated) error messages.
2935
2936 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2937
2938         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2939         (gst_base_src_start):
2940         When the subclass did not set caps on outgoing buffers, configure the
2941         caps we negotiated on the source pad.
2942         When the typefind helper does not find caps, error out properly instead
2943         of doing things with NULL caps.
2944
2945 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2946
2947         * gst/gsttypefind.h:
2948           Tabs to spaces, oh yes!
2949
2950 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2951
2952         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2953           Add David's and Benjamin's tests for array intersection to the
2954           unit test suite (#147931).
2955
2956 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2957
2958         * gst/gstevent.c:
2959           Document that gst_event_new_tag() and gst_event_new_navigation()
2960           take ownership of the taglist/structure passed to them. (#533635).
2961
2962 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2963
2964         * docs/Makefile.am:
2965         Don't descend into the plugins dir if plugin docs building
2966         is disabled.
2967
2968         * docs/README:
2969         Add a note about the new type:GTypeName syntax for the plugin
2970         documentation .types file.
2971
2972 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2973
2974         * gst/gstmessage.c: (gst_message_new_error),
2975         (gst_message_new_warning), (gst_message_new_info):
2976         * gst/gstmessage.h:
2977         Mark the debug string parameters as const. Fixes bug #533490.
2978
2979 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2980
2981         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2982         Sort buffer cache list by end offsets. This makes sure that we don't
2983         stop to search for a cached buffer that contains the requested data
2984         too early.
2985         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2986         more efficient. Fixes bug #459862.
2987
2988 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2989
2990         * gst/gstinfo.c:
2991           Explain why we copy the list.
2992
2993         * gst/gstpipeline.c:
2994           Improve docs.
2995
2996         * gst/gstutils.c:
2997           Add one debug-log statement to help tracing probelms with linking pads.
2998
2999 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
3000
3001         * tests/check/gst/gstinfo.c:
3002         Add a test for removing the default log handler. Seems to fail under
3003         windows.
3004
3005 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3006
3007         * gst/gstpad.c: (gst_pad_peer_accept_caps):
3008         Release pad lock before calling out to avoid a possible deadlock.
3009
3010 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3011
3012         * gst/parse/grammar.y:
3013         Remove unneeded value unset.
3014
3015         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3016         Add unit test for de/serialization of caps.
3017
3018 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3019
3020         * plugins/elements/gstfakesink.c:
3021         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
3022         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
3023         (gst_fake_src_class_init):
3024         Use custom marshalers that take GstMiniObject as first parameter.
3025         Using OBJECT as parameter while a GstMiniObject is given will lead
3026         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
3027
3028 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3029
3030         * plugins/elements/gsttypefindelement.c:
3031         (gst_type_find_element_handle_event),
3032         (gst_type_find_element_send_cached_events),
3033         (gst_type_find_element_change_state):
3034         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
3035         immediately.
3036
3037 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3038
3039         * plugins/elements/gsttypefindelement.c:
3040         (gst_type_find_handle_src_query), (stop_typefinding),
3041         (gst_type_find_element_handle_event),
3042         (gst_type_find_element_send_cached_events),
3043         (gst_type_find_element_change_state):
3044         Forward FLUSH_START events immediately and clean up instead of
3045         caching them.
3046
3047 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3048
3049         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3050
3051         * libs/gst/base/gstbasetransform.c:
3052         (gst_base_transform_buffer_alloc):
3053         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
3054         fall back to default negotiation in the chain function if the caps
3055         are different from what was requested. Fixes bug #526768.
3056
3057 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3058
3059         * gst/gstsegment.c:
3060         * tests/check/gst/gstsegment.c:
3061           No, let's not use g_slice_{dup|copy} here, since they only exist
3062           since GLib 2.14 and we still depend only on >= 2.12. Also add
3063           unit test for gst_segment_copy().
3064
3065 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3066
3067         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3068           Try to fix 'dereferencing type-punned pointer will break strict
3069           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3070           changed the default GType typedef from gulong to gsize at some point,
3071           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3072           g_once_* functions all take a gsize * though, so work around the type
3073           mismatch for C++ by doing everything in gsize and casting to GType
3074           later.
3075
3076 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
3077
3078         * plugins/elements/gstmultiqueue.c:
3079         Add documentation for the signals to push our core plugin docs
3080         coverage back up to 100%.
3081
3082 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3083
3084         * gst/gstinfo.h (GST_FUNCTION):
3085           Reverted GST_FUNCTION to the old version as we don't want the
3086           full signature in C++ code. Also added support for MSVC.
3087
3088 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3089
3090         * gst/gstutils.h:
3091         Intern the type name string, similar to what G_DEFINE_TYPE does.
3092
3093 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3094
3095         * gst/gstutils.h:
3096         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3097
3098 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3099
3100         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3101
3102         * libs/gst/base/gstbasetransform.c:
3103         (gst_base_transform_buffer_alloc):
3104         Don't passthrough buffer allocation too easily if the caps change.
3105         This breaks when working in passthrough mode and upstream changes
3106         it's caps. Fixes bug #526768.
3107
3108 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3109
3110         * gst/gstinfo.c (gst_debug_log_valist):
3111           Improved the __FILE__ part of debug output for MSVC.
3112
3113 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3114
3115         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3116           Declaration after statement fix for compilers like MSVC.
3117
3118 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3119
3120         * win32/common/config.h.in:
3121           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3122           use the real thing than having "???" unconditionally.
3123
3124 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3125
3126         * gst/gstinfo.h (GST_FUNCTION):
3127           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3128
3129 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3130
3131         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3132         Small code cleanup.
3133
3134         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3135         (gst_base_sink_set_flushing):
3136         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3137         Fix some comments.
3138
3139 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3140
3141         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3142         (gst_fake_src_init), (gst_fake_src_set_property),
3143         (gst_fake_src_get_property), (gst_fake_src_start):
3144         * plugins/elements/gstfakesrc.h:
3145         Added format property to control the format of the newsegment events.
3146         API: GstFakeSrc:format
3147
3148 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3149
3150         * win32/common/libgstreamer.def:
3151         Add gst_pad_has_name() to the exported symbols.
3152
3153 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3154
3155         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3156         * libs/gst/base/gstbasetransform.c:
3157         (gst_base_transform_prepare_output_buffer):
3158         Don't allow negative sizes when allocating new buffers.
3159         Fixes bug #461253.
3160
3161 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3162
3163         Patch by: Sjoerd Simons <sjoerd at luon net>
3164
3165         * gst/gstbus.c: (gst_bus_source_dispatch):
3166           Don't print a warning if the queue is empty when we try to pop
3167           here. That could happen if another thread or callback set the
3168           bus to flushing between the source's check/prepare and the
3169           dispatch being called (#531538).
3170
3171 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3172
3173         * plugins/elements/gstmultiqueue.c:
3174           Small docs fix.
3175         
3176 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3177
3178         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3179         Add unit test for deserializing uint64s and check some really large
3180         numbers in the int64 test.
3181
3182 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3183
3184         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3185         (print_interfaces), (print_element_properties_info),
3186         (print_signal_info):
3187         Use "%s" as format string instead of printing strings directly.
3188
3189 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3190
3191         * gst/gstclock.c: (gst_clock_set_calibration):
3192         Make some checks actually useful.
3193
3194         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3195         Remove some unused code. Unsigned integers tend to be >= 0.
3196
3197 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3198
3199         * gst/gstminiobject.c: (gst_value_get_mini_object):
3200           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3201           function was not in the unscheduled 0.10.19 release.
3202
3203 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3204
3205         * gst/gstregistry.c: (gst_registry_scan_path_level):
3206           Only print one log message per non-plugin file.
3207
3208 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3209
3210         * gst/gstinfo.c: (gst_debug_log_default):
3211           Fix alignment of debug log columns on 64-bit.
3212
3213 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3214
3215         * docs/libs/Makefile.am:
3216         * docs/libs/gstreamer-libs-sections.txt:
3217           Ignore private controller headers for docs.
3218
3219 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3220
3221         * libs/gst/controller/gstcontrollerprivate.h:
3222         * libs/gst/controller/gsthelper.c:
3223         * libs/gst/controller/gstinterpolation.c:
3224         * libs/gst/controller/gstinterpolationcontrolsource.c:
3225         (gst_interpolation_control_source_set_interpolation_mode):
3226         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3227         * libs/gst/controller/lib.c:
3228         Move some private declarations into private headers.
3229
3230 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3231
3232         * gst/gstdebugutils.c: (debug_dump_element_pad):
3233         Remove some code that is unused after Stefan's refactoring and uses
3234         uninitialized variables now, resulting in a compiler warning.
3235
3236 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3237
3238         * gst/gstregistry.c: (gst_registry_scan_path_level):
3239           Run g_str_has_suffix() only on the file name, not the
3240           entire file path.
3241
3242 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3243
3244         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3245           Since we're not called only from the chain function any longer,
3246           we can't assume that there's always data in the queue, so move
3247           the is_full check to the beginning of the loop (otherwise we'd
3248           hit the assert when changing the limit properties while the
3249           queue is empty or not running yet).
3250           Also, only set a discont if items were actually removed from
3251           the queue.
3252
3253         * tests/check/elements/queue.c: (test_leaky_downstream):
3254           Test case for the above.
3255
3256 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3257
3258         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3259
3260         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3261         (gst_queue_chain), (queue_capacity_change),
3262         (gst_queue_set_property):
3263         When changing thr max capacity of a leaky queue, immediatly drop buffers
3264         instead of waiting for a push on the sinkpad. Fixes #530637.
3265
3266 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3267
3268         * gst/gstdebugutils.c:
3269           Refactor code and fix handling of ghostpads and their proxypads.
3270
3271 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3272
3273         * docs/gst/gstreamer-sections.txt:
3274         * gst/gstevent.c: (gst_event_has_name):
3275         * gst/gstevent.h:
3276         * tests/check/gst/gstevent.c: (GST_START_TEST):
3277         Add method to conveniently check the name of a custom event with
3278         gst_event_has_name().
3279         Reformat the event docs so that related methods are put together instead
3280         of the default alphabetical sort.
3281         Update unit test with new method.
3282         API: GstEvent::gst_event_has_name()
3283
3284 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3285
3286         * libs/gst/check/Makefile.am:
3287           Don't add an explicit link to libgstreamer-0.10.la; it's already
3288           included in GST_OBJ_LIBS.
3289
3290 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3291
3292         * gst/gst.c:
3293         Register GstClock type from a type-safe context. Fixes bug #530317.
3294
3295 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3296
3297         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3298         * tools/gst-run.c:
3299           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3300
3301 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3302
3303         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3304         (gst_bin_dispose):
3305         Use the GLib stuff to create a private structure.
3306         Add some locking around some dispose methods to make them a little
3307         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3308
3309 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3310
3311         * libs/gst/base/gstbasesink.h:
3312         * libs/gst/base/gstbasesrc.h:
3313         * libs/gst/base/gstbasetransform.h:
3314         * libs/gst/base/gstcollectpads.h:
3315           Fix doc typos and unify caps a bit.
3316
3317 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3318
3319         * tools/gst-launch.1.in:
3320           Forgot to also add the envvar docs here.
3321
3322 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3323
3324         * gst/gst.c: (init_post), (gst_deinit):
3325         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3326           (test_concurrent_create), (gst_pipeline_suite):
3327           Ref some more classes in gst_init() to work around thread-safety
3328           issues in pre-2.16 GLibs, and add basic unit test.
3329
3330 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3331
3332         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3333         (gst_base_sink_send_event):
3334         Rearrange the latency query code. We always want to do the upstream
3335         query, even if we are not live so that the upstream elements can get the
3336         latency results too. If we fail doing the query and we are live, we
3337         return TRUE afterwards.
3338
3339 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3340
3341         patch by: Jason Zhao <e3423c@motorola.com>
3342
3343         * docs/gst/running.xml:
3344         * gst/gst.c:
3345           Enable/disable scan_and_update_registry() based on commandline switch
3346           or environment variable. Fixes #520468.
3347           
3348         * ChangeLog:
3349           Fix typo in my previous commit.
3350
3351 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3352
3353         * gst/gstregistrybinary.c:
3354           Add a warning if we hit unhandled factories when saving.
3355           More debug logging detail, but move to LOG category.
3356
3357 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3358
3359         * gst/gstregistry.c:
3360           Tell the *truth* when improving the documentation.
3361
3362 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3363
3364         * gst/gstelementfactory.c: (gst_element_factory_make):
3365         Unref the factory after it was used the last time, not before.
3366
3367         * gst/gstindexfactory.c: (gst_index_factory_make):
3368         Improve debugging a bit and don't leak a ref to the index factory with
3369         each call.
3370
3371 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3372
3373         * gst/gstregistry.c:
3374           Improve the documentation.
3375
3376 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3377
3378         * gst/gstsegment.c:
3379           The glib macro seems to be borked. Use g_slice_copy directly and cast
3380           in the hope that this fixes the warning on 64bit.
3381
3382 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3383
3384         * gst/gstsegment.c:
3385           Document the new function. Use g_slice_dup() (no need for
3386           gst_segment_init()).    
3387
3388 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3389
3390         * docs/gst/gstreamer-sections.txt:
3391           Move GParamSepc macros to standart section.
3392   
3393         * gst/gstbin.c:
3394           Dn't document _get_type - its in private section in docs anyway and
3395           this doc-blob was incomplete.
3396
3397         * gst/gstclock.h:
3398           Fix wrong symbol names in docs.
3399
3400         * gst/gstmacros.h:
3401           Add once doc sentence.
3402
3403         * tests/check/gst/.cvsignore:
3404           Ignore more.
3405
3406 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3407
3408         * docs/gst/Makefile.am:
3409           And remove those libs here.
3410
3411 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3412
3413         * docs/libs/Makefile.am:
3414           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3415
3416 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3417
3418         Patch by: Olivier Crete <tester at tester dot ca>
3419
3420         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3421         Add the min-threshold to the min latency if possible. Fixes #529148.
3422
3423 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3424
3425         * docs/gst/gstreamer.types.in:
3426           Stupid editor, I removed that line as it should go in yet.
3427
3428 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3429
3430         * docs/gst/gstreamer.types.in:
3431         * docs/libs/gstreamer-libs.types:
3432           Remove library types fro core docs and have them in libs docs.
3433           Reformat and cleanup. Add comment for miniobject types.
3434
3435 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3436
3437         * gst/gsturi.c: (gst_uri_get_protocol):
3438           Fix leak: g_strdown operates on the string in place, while
3439           g_ascii_strdown() returns a newly-allocated string.
3440
3441 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3442
3443         * tools/gst-inspect.c: (print_uri_handler_info),
3444         (print_element_info):
3445         Print the URI protocols and the URI type supported by the element.
3446
3447 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3448
3449         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3450         Use g_value_take_string() instead of the deprecated
3451         g_value_set_string_take_ownership().
3452
3453 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3454
3455         * gst/gstregistrybinary.c: (_gst_crc32):
3456         Return the old CRC instead of 0 if we give a NULL buffer
3457         or a buffer with a length of 0.
3458
3459 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3460
3461         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3462         (gst_uri_get_protocol), (gst_uri_has_protocol),
3463         (gst_uri_construct), (gst_uri_handler_set_uri):
3464         A valid URI scheme can also include '+', '-' and '.' additional
3465         to alphanumeric characters as per RFC 3986 Section 3.1.
3466
3467         Handle URI schemes case insensitive in all places and convert
3468         to lower-case when constructing an URI or setting an URI with
3469         the GstURIHandler interface. Fixes bug #528868.
3470         All elements can still assume (as before) that they will
3471         get passed URIs with a lower-case URI scheme by the GstURIHandler
3472         interface.
3473
3474 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3475
3476         * gst/gstcaps.c: (gst_static_caps_get):
3477         * gst/gstclock.c: (gst_clock_entry_new):
3478           Don't use g_atomic_set_int where it's not needed.
3479
3480 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3481
3482         * gst/gstvalue.c: (gst_value_deserialize_caps):
3483         * gst/parse/grammar.y:
3484         Fix 2 caps leaks.
3485
3486 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3487
3488         * gst/gstutils.c: (gst_atomic_int_set):
3489         Use g_atomic_int_set() here too instead of assignment +
3490         g_atomic_int_get().
3491
3492 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3493         
3494         * gst/gstutils.c:
3495         * gst/gstutils.h:
3496         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3497         now that we depend on new enough GLib.
3498
3499         * gst/gstcaps.c: (gst_static_caps_get):
3500         * gst/gstclock.c: (gst_clock_entry_new):
3501         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3502         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3503         (gst_debug_category_set_threshold):
3504         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3505         (gst_base_sink_set_qos_enabled):
3506         * libs/gst/net/gstnettimeprovider.c:
3507         (gst_net_time_provider_set_property):
3508         Use g_atomic_int_set() instead of gst_atomic_int_set().
3509
3510 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3511
3512         * gst/gstquery.c:
3513           Also use G_GINT64_CONSTANT for the queries.
3514
3515 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3516
3517         * gst/gstmessage.c:
3518           Use G_GINT64_CONSTANT in varargs function.
3519
3520 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3521
3522         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3523         Initialize the registry magic with zeroes.
3524
3525 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3526
3527         * gst/gstregistrybinary.c: (_gst_crc32),
3528         (gst_registry_binary_write),
3529         (gst_registry_binary_initialize_magic),
3530         (gst_registry_binary_write_cache),
3531         (gst_registry_binary_check_magic),
3532         (gst_registry_binary_read_cache):
3533         * gst/gstregistrybinary.h:
3534         Add crc32 checksum to the binary registry file and check this before
3535         accepting a registry file.
3536
3537         Also free the data list when writing to the registry file fails.
3538
3539 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3540
3541         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3542         (gst_registry_binary_load_feature),
3543         (gst_registry_binary_load_plugin):
3544         If an element supports the Uri interface, returns a valid pointer
3545         to the supported URI protocols but this pointer contains nothing
3546         don't try to save that as it will corrupt the registry.
3547
3548         Don't unref the plugin if we added it to the registry already but
3549         fail to load a feature as gst_registry_add_plugin() takes ownership
3550         of the plugin.
3551
3552         Improve debugging a bit.
3553
3554 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3555
3556         * gst/gsttaglist.h:
3557           Clarify some tag item docs after discussion on irc.
3558
3559 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3560
3561         * docs/gst/gstreamer-docs.sgml:
3562           Remove commented out plugins (they have their own docs). Update
3563           comments.
3564
3565 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3566
3567         * docs/gst/gstreamer-docs.sgml:
3568         * docs/gst/gstreamer-sections.txt:
3569         * gst/gstparamspecs.c:
3570         * gst/gstparamspecs.h:
3571           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3572           docs to own section.
3573
3574         * gst/gstvalue.c:
3575           This now only documents GValue.
3576           
3577         * docs/libs/gstreamer-libs-sections.txt:
3578         * libs/gst/controller/gstcontroller.h:
3579           Remove GST_PARAM_CONTROLLABLE.
3580
3581 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3582
3583         * docs/README:
3584           Correct file path. Tell about how to use -overrides.txt.
3585         * docs/design/draft-tagreading.txt:
3586           Small design update.
3587
3588 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3589
3590         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3591         (gst_registry_binary_load_plugin):
3592         Fix a typo in a debug message and revert change from yesterday as
3593         gst_registry_add_plugin() will only fail if something is really wrong
3594         already and we can't survive it anyway.
3595
3596 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3597
3598         * gst/gst.c: (init_post), (gst_deinit):
3599           Pre-register GstGError GType from a thread-safe context
3600           (fixes #527967); unref enum type classes in deinit.
3601
3602 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3603
3604         Patch by: Rene Stadler <mail at renestadler de>
3605
3606         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3607           Merging an empty list with another list in KEEP_ALL mode should
3608           yield an empty list as result and not the second list (#512578).
3609
3610         * tests/check/gst/gsttagsetter.c:
3611           Add unit test for tag merge modes and the aforementioned bug.
3612
3613 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3614
3615         Patch by: Rene Stadler <mail at renestadler de>
3616
3617         * gst/gsttaglist.h:
3618           Fix description to match the order in the table (#512577).
3619   
3620 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3621
3622         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3623
3624         * libs/gst/net/gstnettimepacket.h:
3625         * docs/libs/gstreamer-libs-sections.txt:
3626           Define socklen_t as int if it's not defined yet. Fixes compilation
3627           with MSVC6 and other versions where socklen_t is not defined in
3628           the windows headers (#518022).
3629
3630 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3631
3632         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3633         If gst_registry_add_plugin() fails our reference to the plugin is
3634         invalid so don't try to use it anymore and instead error out.
3635
3636 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3637
3638         * tools/gst-xmlinspect.c: (print_element_info), (main):
3639           De-cruft a bit. If no argument is specified, print all elements in
3640           XML syntax rather than a freestyle list of elements like gst-inspect.
3641           Also, don't print XML header chunk unless we actually have something
3642           to print (ie. don't print it before an error message); print error
3643           message to stderr not stdout. Remove support for printing plugin
3644           info (it would just output something freestyle along the lines of
3645           gst-inspect so far), which fixes #514507. Also add license header.
3646
3647 2008-04-11  Julien Moutte  <julien@fluendo.com>
3648
3649         Mac OS X love...
3650         * configure.ac: Merge platform specific defines, introduce a new
3651         define on OS X to remember that forking when updating registry is
3652         unsafe.
3653         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3654         module.
3655         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3656         is defined.
3657         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3658         condition that leads to absolutely no plugins being registered on
3659         OS X.
3660
3661 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3662
3663         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3664
3665         * gst/gstutils.c: (gst_pad_add_data_probe),
3666           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3667           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3668           (gst_pad_add_buffer_probe_full):
3669         * gst/gstutils.h:
3670         * docs/gst/gstreamer-sections.txt:
3671         * win32/common/libgstreamer.def:
3672           Add gst_pad_add_*_probe_full() functions with a notify callback that
3673           lets the caller free the data it passes to the probe functions. This
3674           is useful for bindings such as gst-python or gstreamermm (#526814).
3675           API: gst_pad_add_data_probe_full
3676           API: gst_pad_add_buffer_probe_full
3677           API: gst_pad_add_event_probe_full
3678
3679         * tests/check/gst/gstutils.c:
3680           Add minimal unit test to make sure freeing the data actually works
3681           as expected.
3682
3683         * tests/benchmarks/.cvsignore:
3684           Random cvsignore addendum.
3685
3686 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3687
3688         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3689           (GST_DEBUG_BIN_TO_DOT_FILE):
3690           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3691           to it in the docs (since these are macros the types of the arguments
3692           won't be shown in the docs otherwise).
3693
3694 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3695
3696         * gst/gstpad.c:
3697           Do not abort on out of memory for pad_alloc_buffer.
3698
3699 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3700
3701         * libs/gst/check/gstcheck.c:
3702           Remove blank line between symbol name ad parameters to fix gtkdoc
3703           warning.
3704
3705 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3706
3707         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3708
3709         * docs/gst/gstreamer-sections.txt:
3710         * gst/gstsegment.c:
3711         * gst/gstsegment.h:
3712         * win32/common/libgstreamer.def:
3713           Expose gst_segment_copy() to make things easier for the c++ bindings.
3714           Fixes #518932.
3715           API: gst_segment_copy()
3716
3717 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * gst/gst.c: (gst_init_get_option_group), (init_post):
3720           Fix const position; ref GType classes for enum types to work
3721           around thread-safety issues in GLib versions < 2.16.
3722
3723 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3724
3725         * docs/design/part-buffering.txt:
3726         Fix some typos and set the estimated total for push mode to -1.
3727
3728         * gst/gstquery.c: (gst_query_new_buffering):
3729         Set buffering-left to 0 as we're not buffering by default.
3730
3731         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3732         Implement BUFFERING query.
3733
3734 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3735
3736         Based on patch by: Milosz Derezynski <internalerror gmail com>
3737
3738         * gst/gsterror.c: (_gst_stream_errors_init):
3739         * gst/gsterror.h:
3740           Add two new error codes for encrypted content. Fixes #524659.
3741           API: GST_STREAM_ERROR_DECRYPT
3742           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3743
3744 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3745
3746         * gst/gstquery.h:
3747           Fix typo.
3748
3749         * win32/common/libgstreamer.def:
3750           Add new functions.
3751
3752 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3753
3754         * plugins/elements/gstidentity.c: (gst_identity_event),
3755         (gst_identity_start):
3756         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3757         event after processing some data. Fixes bug #526042.
3758
3759 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3760
3761         * docs/gst/gstreamer-sections.txt:
3762         * gst/gstquery.c: (gst_query_parse_latency),
3763         (gst_query_set_buffering_percent),
3764         (gst_query_parse_buffering_percent),
3765         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3766         * gst/gstquery.h:
3767         Rename _avail -> _range
3768         API: gst_query_set_buffering_range
3769         API: gst_query_parse_buffering_range
3770
3771 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3772
3773         * docs/design/part-buffering.txt:
3774         * gst/gstquark.c:
3775         * gst/gstquark.h:
3776         * gst/gstquery.c: (gst_query_parse_latency),
3777         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3778         (gst_query_parse_buffering_percent):
3779         * gst/gstquery.h:
3780         Add busy field and quark for the buffering query so that the app can
3781         only use the query to see if buffering is in progress.
3782
3783 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3784
3785         * docs/gst/gstreamer-sections.txt:
3786         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3787         (gst_message_parse_buffering_stats):
3788         * gst/gstmessage.h:
3789         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3790         (gst_query_parse_latency), (gst_query_new_buffering),
3791         (gst_query_set_buffering_percent),
3792         (gst_query_parse_buffering_percent),
3793         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3794         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3795         * gst/gstquery.h:
3796         Reorder the message docs and headers for clarity.
3797         Add aditional buffering stats API for messages.
3798         Add buffering query.
3799         Convert some leftover queries to use GstQuark.
3800         API: gst_message_set_buffering_stats
3801         API: gst_message_parse_buffering_stats
3802         API: GST_QUERY_BUFFERING
3803         API: GstBufferingMode
3804         API: gst_query_new_buffering
3805         API: gst_query_set_buffering_percent
3806         API: gst_query_parse_buffering_percent
3807         API: gst_query_set_buffering_stats
3808         API: gst_query_parse_buffering_stats
3809
3810 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3811
3812         * gst/gstmessage.c: (gst_message_new_error),
3813         (gst_message_new_warning), (gst_message_new_info),
3814         (gst_message_new_buffering), (gst_message_new_state_changed),
3815         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3816         (gst_message_new_new_clock), (gst_message_new_segment_start),
3817         (gst_message_new_segment_done), (gst_message_new_duration),
3818         (gst_message_new_async_start), (gst_message_parse_buffering),
3819         (gst_message_parse_state_changed),
3820         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3821         (gst_message_parse_new_clock), (gst_message_parse_error),
3822         (gst_message_parse_warning), (gst_message_parse_info),
3823         (gst_message_parse_segment_start),
3824         (gst_message_parse_segment_done), (gst_message_parse_duration),
3825         (gst_message_parse_async_start):
3826         Use GstQuark for messages.
3827
3828 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3829
3830         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3831         * gst/gstquark.h:
3832         Add some more quarks needed for messages and queries.
3833
3834 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3835
3836         * docs/design/part-buffering.txt:
3837         Remove the "none" buffering mode, STREAM is a good default.
3838         Move estimated-time to the avail query, that's when it will be needed.
3839         Other small typo fixes and updates.
3840
3841 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3842
3843         * gst/gstindex.c: (gst_index_resolver_get_type):
3844           Don't put descriptions into the nick field of a GEnumValue: it's not
3845           meant for that and some language bindings rely on the nick field to
3846           construct constants and the like. Fixes #526705.
3847
3848 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3849
3850         * NEWS:
3851         * RELEASE:
3852         * gstreamer.doap:
3853           Merge other changes from 0.10.19 release branch.
3854
3855 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3856
3857         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3858
3859         * configure.ac:
3860         Actually build dlls when cross-compiling with mingw32.
3861         Fixes bug #526247.
3862
3863 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3864
3865         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3866
3867         * gst/gstpoll.c:
3868         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3869
3870 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3871
3872         * docs/design/draft-latency.txt:
3873         Fix typo.
3874
3875         * docs/design/part-buffering.txt:
3876         Update design docs with more buffering ideas.
3877
3878 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3879
3880         * configure.ac:
3881           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3882
3883 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3884
3885         * configure.ac:
3886           Revert part that belongs to the preset patch.
3887
3888 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3889
3890         * configure.ac:
3891           Add qoutes to the define. Fixes # 525961.
3892
3893 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3894
3895         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3896         (gst_file_index_load), (gst_file_index_add_id),
3897         (gst_file_index_get_assoc_entry):
3898         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3899         (gst_mem_index_free_id), (gst_mem_index_add_id),
3900         (gst_mem_index_index_format):
3901         Use GSlice when possible.
3902
3903 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3904
3905         * libs/gst/controller/gstinterpolationcontrolsource.c:
3906         (gst_control_point_free),
3907         (gst_interpolation_control_source_set_internal):
3908         Use GSlice for allocating the control points.
3909
3910 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3911
3912         * plugins/elements/gsttypefindelement.c:
3913         (gst_type_find_element_class_init),
3914         (gst_type_find_element_set_property),
3915         (gst_type_find_element_get_property),
3916         (gst_type_find_element_activate):
3917         * plugins/elements/gsttypefindelement.h:
3918         Cleanup properties.
3919         Fix pad leak when peer query fails.
3920         We can still typefind when the peer returns -1.
3921         Add property to force caps and bypass typefinding. This will be used in
3922         uridecodebin.
3923         API::force-caps
3924
3925 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3926
3927         * configure.ac:
3928         Require GLib 2.12.
3929
3930         * gst/glib-compat-private.h:
3931         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3932         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3933         Unconditionally use GSlice for allocation.
3934
3935         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3936         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3937         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3938         (gst_structure_free):
3939         Use GSlice for allocation.
3940
3941 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3942
3943         * gst/parse/Makefile.am:
3944         * gst/parse/grammar.tab.pre.c:
3945         * gst/parse/grammar.tab.pre.h:
3946         * gst/parse/lex._gst_parse_yy.pre.c:
3947         Require a new enough flex and bison and remove the parser hacks to use
3948         a pre-regenerated version.
3949
3950 2008-04-01  Julien Moutte  <julien@fluendo.com>
3951
3952         patch by: Jason Zhao <E3423C@motorola.com>
3953
3954         * configure.ac: Add a configure switch to disable option parsing
3955         in gst_init.
3956         Fixes #522882.
3957
3958 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3959
3960         * configure.ac:
3961         * gst/gstregistry.c:
3962           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3963           and handle this case.
3964
3965         * gst/gst.c:
3966           Add a comment here describing, why we stat each plugin and not try to
3967           be smart.
3968
3969 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3970
3971         * libs/gst/base/gstbasetransform.c:
3972         (gst_base_transform_prepare_output_buffer):
3973         Also unset the GAP flag on buffers if we're working inplace but
3974         the element is not GAP-aware.
3975
3976         Mark a comment as FIXME 0.11.
3977
3978 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3979
3980         * gst/gst.c:
3981           Fix type in log message and add one to ease seeing how long registry
3982           cache verification takes.
3983
3984         * gst/gstregistry.c:
3985           Only test plugin filenames against G_MODULE_SUFFIX.
3986
3987 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3988
3989         * gst/gstdebugutils.c:
3990           Improve handling ghost/proxy pads.
3991
3992 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3993
3994         * docs/gst/gstreamer-sections.txt:
3995         * gst/gstpad.c:
3996         * gst/gstpad.h:
3997           Expose macro to docs and fix link to it.
3998
3999 2008-03-27  Michael Smith <msmith@fluendo.com>
4000
4001         * libs/gst/dataprotocol/dataprotocol.c:
4002         (gst_dp_packet_from_event_1_0):
4003           When calculating GDP body CRC, use the correct pointer. 
4004           Fixes part of #522401.
4005
4006 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4007
4008         Patch by: Mark Nauwelaerts <manauw at skynet be>
4009
4010         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4011         (gst_identity_init), (gst_identity_prepare_output_buffer):
4012         Identity is not always a passthrough element, it can modify the buffer
4013         timestamps when it has a datarate and operates in single-segment mode.
4014         We therefore make it an in_place filter with a custom buffer prepare
4015         function that conditionally makes the input buffer metadata writable
4016         when needed.  Fixes #523985.
4017
4018 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4019
4020         Patch by: Mark Nauwelaerts <manauw at skynet be>
4021
4022         * gst/gstclock.h:
4023         * libs/gst/base/gstbasesrc.h:
4024         * libs/gst/base/gstbasetransform.c:
4025         * libs/gst/check/gstcheck.c:
4026         Small documentation fixes. Fixes #523978.
4027
4028 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4029
4030         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4031         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4032         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
4033
4034 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4035
4036         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
4037         (single_queue_underrun_cb):
4038         When trying to make room in the queue, bump the max allowed buffers
4039         bigger than the current amount of buffers in the queue. this fixes some
4040         nasty deadlocks in multiqueue when dynamically changing the limits of
4041         the queue.
4042
4043 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4044
4045         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
4046
4047         * gst/gstcaps.c: (gst_caps_set_simple),
4048         (gst_caps_set_simple_valist), (gst_caps_intersect):
4049         * gst/gstcaps.h:
4050         Constify the field gchar * params in set_simple and friends.
4051         Fixes #522326.
4052
4053 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4054
4055         * gst/gstvalue.c: (gst_value_transform_object_string):
4056         Transform a GstObject to a more meaningfull string that includes the
4057         object type in addition to its name.
4058
4059 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
4060
4061         * ChangeLog:
4062           ChangeLog surgery to add bugnumber to commit.
4063
4064 2008-03-23  Rene Stadler  <mail@renestadler.de>
4065
4066         * libs/gst/base/gstbasetransform.c:
4067         (gst_base_transform_set_gap_aware): Fix confusing documentation.
4068
4069 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4070
4071         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4072         Rename constant everywhere and don't forget one occurence.
4073
4074 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4075
4076         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4077         Align memory to the pointer size even if the architecture allows
4078         unaligned memory access. Unaligned memory access usually comes with
4079         performance penality.
4080
4081 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4082
4083         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4084         (gst_registry_binary_check_magic),
4085         (gst_registry_binary_load_pad_template),
4086         (gst_registry_binary_load_feature),
4087         (gst_registry_binary_load_plugin):
4088         Align memory to the pointer size instead of always 32 bit. Fixes
4089         unaligned memory accesses on ia64 and friends.
4090
4091         * gst/gstregistrybinary.h:
4092         Bump binary registry format version for this as it changes the
4093         format on those architectures that don't have unaligned access
4094         and 64 bit pointers.
4095
4096 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4097
4098         * docs/pwg/advanced-dparams.xml:
4099         * docs/pwg/building-props.xml:
4100         * docs/pwg/other-source.xml:
4101         * gst/glib-compat.h:
4102         * gst/gstbin.c: (gst_bin_class_init):
4103         * gst/gstclock.c: (gst_clock_class_init):
4104         * gst/gstindex.c: (gst_index_class_init):
4105         * gst/gstobject.c: (gst_object_class_init):
4106         * gst/gstpad.c: (gst_pad_class_init):
4107         * gst/gstpipeline.c: (gst_pipeline_class_init):
4108         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4109         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4110         * libs/gst/base/gstbasetransform.c:
4111         (gst_base_transform_class_init):
4112         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4113         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4114         (_gst_check_fault_handler_sighandler),
4115         (_gst_check_fault_handler_setup), (gst_check_init):
4116         * libs/gst/controller/gstcontroller.c:
4117         (_gst_controller_class_init):
4118         * libs/gst/controller/gstlfocontrolsource.c:
4119         (gst_lfo_control_source_class_init):
4120         * libs/gst/net/gstnetclientclock.c:
4121         (gst_net_client_clock_class_init):
4122         * libs/gst/net/gstnettimeprovider.c:
4123         (gst_net_time_provider_class_init):
4124         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4125         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4126         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4127         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4128         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4129         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4130         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4131         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4132         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4133         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4134         * plugins/elements/gsttee.c: (gst_tee_class_init):
4135         * plugins/elements/gsttypefindelement.c:
4136         (gst_type_find_element_class_init):
4137         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4138         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4139         use it everywhere for GParamSpecs that use static strings (i.e. all).
4140         This gives us less memory usage, fewer allocations and thus less
4141         memory defragmentation. Fixes bug #523806.
4142
4143 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4144
4145         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4146         (gst_param_spec_mini_object):
4147         * gst/gstminiobject.h:
4148         * win32/common/libgstreamer.def:
4149         * docs/gst/gstreamer-sections.txt:
4150         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4151         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4152         GstParamSpecMiniObject into a public header for this.
4153
4154         This make GstMiniObject a bit more consistent with GObject and makes
4155         it possible to extend the param specs.
4156
4157         gst_value_dup_mini_object is mainly useful for set_property methods.
4158
4159         Fixes bug #523798.
4160
4161         * tools/gst-inspect.c: (print_element_properties_info):
4162         Print something useful for GstMiniObject properties and not just
4163         "unknown type".
4164
4165 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4166
4167         * docs/gst/gstreamer-sections.txt:
4168         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4169         (gst_registry_binary_check_magic):
4170         * gst/gstregistrybinary.h:
4171         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4172         and add it to the (private part) of the docs to fix the build.
4173
4174 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4175
4176         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4177         (gst_registry_binary_check_magic),
4178         (gst_registry_binary_read_cache):
4179         * gst/gstregistrybinary.h:
4180         Don't use GST_MAJORMINOR for the binary registry version. Instead
4181         hardcode a value that must be changed whenever the format changes
4182         in an incompatible way.
4183         Also don't GST_ERROR when there is a version mismatch, just
4184         regenerate the registry silently.
4185
4186 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4187
4188         * configure.ac:
4189         Back to development - 0.10.18.1
4190
4191 === release 0.10.18 ===
4192
4193 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4194
4195         * configure.ac:
4196           releasing 0.10.18, "So far away"
4197
4198 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4199
4200         * configure.ac:
4201         * win32/common/config.h:
4202         0.10.17.4 pre-release
4203
4204 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4205
4206         Patch by: Ole André Vadla Ravnås
4207             <ole dot andre dot ravnas at tandberg dot com>
4208
4209         * docs/gst/gstreamer-sections.txt:
4210         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4211         (gst_poll_update_winsock_event_mask),
4212         (gst_poll_prepare_winsock_active_sets),
4213         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4214         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4215         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4216         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4217         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4218         * gst/gstpoll.h:
4219         * win32/common/libgstreamer.def:
4220         Add new function gst_poll_fd_ignored() for improved Windows
4221         compatibility.
4222         Various minor fixes and cleanups. See #520808.
4223
4224 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4225
4226         * gst/gstindex.c: (gst_index_entry_free):
4227         * gst/gstindex.h:
4228           Don't free key strings which we don't own. Fixes crash in
4229           gst_index_entry_free() (#522741).
4230
4231         * tests/check/Makefile.am:
4232         * tests/check/gst/.cvsignore:
4233         * tests/check/gst/gstindex.c: (test_index_entries),
4234           (gst_index_suite), (gst_index):
4235           Add unit test for the above.
4236
4237 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4238
4239         * win32/common/libgstreamer.def:
4240         Remove symbols that were removed recently. Fixes bug #521740.
4241
4242 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4243
4244         * configure.ac:
4245         * win32/common/config.h:
4246         0.10.17.3 pre-release
4247
4248 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4249
4250         Patch by: Ole André Vadla Ravnås
4251             <ole dot andre dot ravnas at tandberg dot com>
4252
4253         * docs/gst/gstreamer-sections.txt:
4254         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4255         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4256         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4257         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4258         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4259         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4260         (gst_poll_fd_can_write), (gst_poll_wait),
4261         (gst_poll_set_controllable), (gst_poll_restart),
4262         (gst_poll_set_flushing):
4263         * gst/gstpoll.h:
4264         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4265         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4266         (gst_net_time_provider_new):
4267         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4268         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4269         * tests/benchmarks/gstpollstress.c: (main):
4270         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4271         Remove GstPollMode from the API, it does not make sense to let the
4272         application control this.
4273         Add support for Win32.
4274         Fix the testsuite. Fixes #520671.
4275
4276 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4277
4278         Patch by: Ole André Vadla Ravnås
4279             <ole dot andre dot ravnas at tandberg dot com>
4280
4281         * gst/gstregistrybinary.c:
4282         Include io.h for write() and close() when building with MSVC. Fixes
4283         bug #520877.
4284
4285 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * configure.ac:
4288         * gst/gst_private.h:
4289         * gst/gstconfig.h.in:
4290         * gst/gstregistry.h:
4291         * gst/gstregistrybinary.c:
4292         * win32/common/gstconfig.h:
4293           Move registry backend API to private headers where we can. Add
4294           fixme-0.11 comments for the others. Add stubs for the xml backend when
4295           using the binary to ensure they functions exists (they should not be
4296           used though). Fixes #520756.
4297
4298 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4299
4300         * configure.ac:
4301         * win32/common/config.h:
4302         0.10.17.2 prelease
4303
4304 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4305
4306         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4307         (gst_registry_binary_read_cache):
4308         * gst/gstregistryxml.c: (gst_registry_save):
4309         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4310         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4311         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4312         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4313         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4314         Fixes #520152
4315
4316 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4317
4318         * gst/gstminiobject.c:
4319         Import gst_private.h before any other header that might include other
4320         glib headers. This fixes the build on windows using native compilers.
4321
4322 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4323
4324         * win32/common/gstconfig.h:
4325           Add here too, just for completeness.
4326
4327 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4328
4329         * configure.ac:
4330         * gst/gstconfig.h.in:
4331         * gst/gstregistry.h:
4332           Fix broken use of config.h-defined preprocessor directive in a public
4333           header file. Add a corresponding define to gstconfig.h, since we can't
4334           really remove those function declarations from the header file now
4335           (or can we? and why are they there in the first place?).
4336
4337 2008-03-03  Andy Wingo  <wingo@pobox.com>
4338
4339         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4340         the new warning.
4341
4342         * gst/gststructure.c (gst_structure_from_string): Warn if
4343         structure_from_string didn't consume the whole string, but the
4344         caller did not provide an end pointer.
4345
4346 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4347
4348         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4349
4350         * gst/gstregistryxml.c: (read_string), (load_feature):
4351           Strings allocated by libxml2 should be freed with xmlFree(), not
4352           with g_free(). Fixes issues on windows in certain contexts (#519698).
4353
4354 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4355
4356         * gst/gstinterface.c: (gst_element_implements_interface):
4357           Don't crash if the element supports the interface queried, but does
4358           not implement GstImplementsInterface. Fixes #519584.
4359
4360         * tests/check/Makefile.am:
4361         * tests/check/gst/.cvsignore:
4362         * tests/check/gst/gstinterface.c:
4363           Add unit test for the above.
4364
4365 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4366
4367         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4368         Small doc update.
4369
4370 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4371
4372         * gst/gstsegment.c: (gst_segment_set_seek),
4373         (gst_segment_to_stream_time):
4374         Improve some comment.
4375         Update variables where it makes more sense.
4376
4377 2008-02-29  Rene Stadler  <mail@renestadler.de>
4378
4379         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4380         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4381         URIHandlers implemented using language bindings.
4382
4383 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4384
4385         * gst/gstelementfactory.h:
4386         * tests/check/elements/fakesink.c:
4387         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4388         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4389         * tests/check/elements/filesink.c: (setup_filesink):
4390         * tests/check/elements/filesrc.c: (setup_filesrc):
4391         * tests/check/elements/identity.c: (setup_identity):
4392         * tests/check/elements/tee.c:
4393         * tests/check/generic/sinks.c:
4394         * tests/check/generic/states.c: (setup), (teardown):
4395         * tests/check/gst/gst.c:
4396         * tests/check/gst/gstabi.c:
4397         * tests/check/gst/gstbin.c:
4398         * tests/check/gst/gstbus.c: (pull_messages):
4399         * tests/check/gst/gstcaps.c:
4400         * tests/check/gst/gstelement.c:
4401         * tests/check/gst/gstevent.c:
4402         * tests/check/gst/gstghostpad.c:
4403         * tests/check/gst/gstiterator.c:
4404         * tests/check/gst/gstmessage.c:
4405         * tests/check/gst/gstminiobject.c: (my_foo_init):
4406         * tests/check/gst/gstobject.c: (thread_name_object),
4407         (gst_object_suite):
4408         * tests/check/gst/gstpad.c:
4409         * tests/check/gst/gstplugin.c:
4410         * tests/check/gst/gstpoll.c:
4411         * tests/check/gst/gstquery.c:
4412         * tests/check/gst/gstsegment.c:
4413         * tests/check/gst/gststructure.c:
4414         * tests/check/gst/gstsystemclock.c:
4415         * tests/check/gst/gsttask.c:
4416         * tests/check/gst/gstutils.c:
4417         * tests/check/gst/gstvalue.c:
4418         * tests/check/gst/struct_hppa.h:
4419         * tests/check/gst/struct_i386.h:
4420         * tests/check/gst/struct_ppc32.h:
4421         * tests/check/gst/struct_ppc64.h:
4422         * tests/check/gst/struct_x86_64.h:
4423         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4424         * tests/check/libs/basesrc.c:
4425         * tests/check/libs/controller.c: (GST_START_TEST):
4426         * tests/check/libs/gdp.c:
4427         * tests/check/libs/gstnetclientclock.c:
4428         * tests/check/libs/gstnettimeprovider.c:
4429         * tests/check/libs/libsabi.c:
4430         * tests/check/libs/struct_hppa.h:
4431         * tests/check/libs/struct_i386.h:
4432         * tests/check/libs/struct_ppc32.h:
4433         * tests/check/libs/struct_ppc64.h:
4434         * tests/check/libs/struct_x86_64.h:
4435         * tests/check/pipelines/cleanup.c:
4436         * tests/check/pipelines/simple-launch-lines.c:
4437         * tests/check/pipelines/stress.c:
4438         And correct even more valid sparse warnings.
4439
4440         * win32/common/libgstreamer.def:
4441         Add gst_poll_fd_init to the list of symbols.
4442
4443 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4444
4445         * gst/gstconfig.h.in:
4446         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4447         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4448         (gst_check_log_critical_func), (gst_check_drop_buffers),
4449         (gst_check_element_push_buffer_list):
4450         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4451         (gst_controller_get_type):
4452         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4453         (gst_object_get_controller), (gst_object_get_control_source):
4454         * libs/gst/controller/gstinterpolationcontrolsource.c:
4455         (gst_interpolation_control_source_new):
4456         * libs/gst/controller/gstlfocontrolsource.c:
4457         (gst_lfo_control_source_new):
4458         * libs/gst/dataprotocol/dataprotocol.c:
4459         (gst_dp_event_from_packet_0_2):
4460         * plugins/elements/gstfdsrc.c:
4461         * plugins/elements/gstmultiqueue.c:
4462         * plugins/elements/gsttee.c:
4463         * plugins/elements/gsttypefindelement.c:
4464         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4465         (gst_file_index_add_association):
4466         * plugins/indexers/gstmemindex.c:
4467         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4468         * tests/check/elements/queue.c: (setup_queue):
4469         * tests/check/gst/gstpipeline.c:
4470         * tests/check/libs/collectpads.c: (setup), (teardown),
4471         (gst_collect_pads_suite):
4472         * tests/examples/adapter/adapter_test.c:
4473         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4474         * tests/examples/xml/createxml.c:
4475         * tests/examples/xml/runxml.c:
4476         * tools/gst-inspect.c:
4477         * tools/gst-run.c:
4478         Correct all relevant warnings found by the sparse semantic code
4479         analyzer. This include marking several symbols static, using
4480         NULL instead of 0 for pointers, not using variable sized arrays
4481         on the stack, moving variable declarations to the beginning of
4482         a block and using "foo (void)" instead of "foo ()" for declarations.
4483
4484 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4485
4486         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4487         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4488         Don't reset GstPollFDs, this is not necessary at all.
4489
4490         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4491         (delayed_restart), (delayed_control):
4492         Use GST_POLL_FD_INIT.
4493
4494 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4495
4496         * gst/gstpoll.c: (gst_poll_fd_init):
4497         * gst/gstpoll.h:
4498         Added Since tags.
4499
4500         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4501         Use some more init macros.
4502
4503 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4504
4505         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4506         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4507         Use init macros and functions.
4508
4509 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4510
4511         * docs/gst/gstreamer-sections.txt:
4512         * gst/gstpoll.c: (gst_poll_fd_init):
4513         * gst/gstpoll.h:
4514         Add INIT macro and _init method for initializing the GstPollFD.
4515
4516 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4517
4518         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4519         (gst_fd_sink_update_fd):
4520         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4521         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4522         (delayed_restart), (delayed_control):
4523         Initialize some uninitialized variables as spotted by valgrind.
4524
4525 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4526
4527         * tests/benchmarks/Makefile.am:
4528         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4529         (main):
4530         Add poll stress test.
4531
4532 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4533
4534         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4535
4536         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4537         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4538         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4539         * plugins/elements/gstfdsink.h:
4540         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4541         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4542         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4543         (gst_fd_src_uri_set_uri):
4544         * plugins/elements/gstfdsrc.h:
4545         Port to GstPoll. See #505417.
4546
4547 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4548
4549         * win32/common/libgstreamer.def:
4550         Add new gst_poll_ symbols to win32 defs.
4551
4552 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4553
4554         * docs/libs/gstreamer-libs-sections.txt:
4555         * libs/gst/net/gstnetclientclock.c:
4556         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4557         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4558         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4559         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4560         * libs/gst/net/gstnetclientclock.h:
4561         * libs/gst/net/gstnettimeprovider.c:
4562         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4563         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4564         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4565         (gst_net_time_provider_new):
4566         * libs/gst/net/gstnettimeprovider.h:
4567         Use a private stuct to not break ABI.
4568
4569 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4570
4571         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4572
4573         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4574         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4575         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4576         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4577         * libs/gst/net/gstnetclientclock.h:
4578         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4579         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4580         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4581         (gst_net_time_provider_new):
4582         * libs/gst/net/gstnettimeprovider.h:
4583         Massive code removal and cleanups because of GstPoll.
4584         Fixes #505417.
4585
4586 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4587
4588         * configure.ac:
4589         Add checks for poll, ppoll and pselect.
4590
4591         * docs/gst/gstreamer-docs.sgml:
4592         * docs/gst/gstreamer-sections.txt:
4593         Add docs for GstPoll.
4594
4595         * gst/Makefile.am:
4596         * gst/gst.h:
4597         * gst/gstpoll.c: (find_index), (selectable_fds),
4598         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4599         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4600         (gst_poll_set_mode), (gst_poll_get_mode),
4601         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4602         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4603         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4604         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4605         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4606         (gst_poll_fd_can_write), (gst_poll_wait),
4607         (gst_poll_set_controllable), (gst_poll_restart),
4608         (gst_poll_set_flushing):
4609         * gst/gstpoll.h:
4610         Add generic poll abstraction. We ideally don't want to have this in core
4611         here but in glib intead...
4612         This code will be used in various network elements and ultimately for
4613         the nanosecond precision monotonic clock (that's why it's here in core).
4614         It'll allow us to implement cancelable socket operations for windows too.
4615
4616         * tests/check/Makefile.am:
4617         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4618         (delayed_stop), (delayed_restart), (delayed_flush),
4619         (delayed_control), (gst_poll_suite):
4620         Add GstPoll unit test.
4621
4622 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4623
4624         * gst/gstfilter.c:
4625           Improve documentation of gst_filter_run(). Fixes #518627.
4626
4627 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4628
4629         * docs/README:
4630           Add a few lines about the new 'check-inspected-versions' target.
4631
4632 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4633
4634         * tests/check/gst/gstevent.c:
4635           Add qos to the event test. Rename tcase/tsuite; is not only about
4636           custom events.
4637
4638 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4639
4640         * plugins/elements/gstqueue.c:
4641           Ensure that buffer metadata is writeable, before modifying. Spotted by
4642           Mike.
4643
4644 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4645
4646         * plugins/elements/gstqueue.c:
4647         * plugins/elements/gstqueue.h:
4648           When dropping buffers in leaky modes, mark next buffers we sent as
4649           DISCONT.
4650
4651 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4652
4653         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4654           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4655
4656 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4657
4658         * plugins/elements/Makefile.am:
4659         * plugins/elements/gstbufferstore.c:
4660         * plugins/elements/gstbufferstore.h:
4661         * plugins/elements/gsttypefindelement.h:
4662           Remove GstBufferStore, no idea why we were still building it.
4663           It's not used anywhere and superseded by GstAdapter.
4664
4665         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4666           (gst_file_src_create_mmap):
4667         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4668           Printf format fixes for 64-bit integers.
4669
4670 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4671
4672         * configure.ac:
4673         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4674         We're not in 0.8 times anymore.
4675
4676 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4677
4678         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4679         (gst_check_element_push_buffer_list):
4680         * libs/gst/check/gstcheck.h:
4681         Make the declaration in the header for
4682         gst_check_element_push_buffer_list match the implementation.
4683
4684         Fix up spelling, grammar and wording of the documentation in a few
4685         places, and add the Since keyword to new API functions.
4686         Use g_list_delete_link instead of g_list_remove in
4687         gst_check_drop_buffers, since it's immeasurably more efficient.
4688
4689         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4690         Use new gst_check_drop_buffers function where appropriate.
4691
4692         * win32/common/libgstbase.def:
4693         * win32/common/libgstreamer.def:
4694         Add new symbols gst_collect_pads_take_buffer, 
4695         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4696         exports
4697
4698         Changelog surgery to add API keyword to new gst_check API.
4699
4700 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4701
4702         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4703         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4704         Update pre-generated flex files with flex 2.3.34.
4705
4706 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4707
4708         * gst/gstminiobject.c:
4709           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4710           friendly to subclasses and not require them to know all internals
4711           of their parent class.
4712
4713 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4714
4715         * docs/libs/gstreamer-libs-sections.txt:
4716         * libs/gst/base/gstcollectpads.c:
4717         * libs/gst/base/gstcollectpads.h:
4718           Add sub-buffer functions to collectpads. Fixes #516187.
4719           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4720
4721 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4722
4723         * gst/gstbuffer.c:
4724           Copy selected buffer-flags when creating subbuffers.
4725           Fixes #516395.
4726
4727 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4728
4729         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4730         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4731         * gst/gstmessage.c: (gst_message_class_init),
4732         (gst_message_finalize):
4733         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4734         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4735         (gst_mmap_buffer_finalize):
4736         Properly chain up finalize functions to the parent class.
4737
4738 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4739
4740         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4741
4742         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4743         (gst_index_set_resolver_full):
4744         * gst/gstindex.h:
4745         Add new function with option to dispose of user_data in resolver.
4746         Actually call the dispose function when finalizing the object and not
4747         just when changing the resolver/filter.
4748         API: GstIndex::gst_index_set_resolver_full()
4749
4750         * docs/gst/gstreamer-sections.txt:
4751         Add new function to docs. Fixes #515469.
4752
4753 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4754
4755         * gst/gstindex.c: (gst_index_finalize):
4756         Chain up finalize to the parent class. Fixes leaking the GstObject
4757         name and other things.
4758
4759 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4760
4761         * configure.ac:
4762         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4763         pre-releases or releases.
4764
4765         * docs/faq/gst-uninstalled:
4766         Add gst-plugins-gl
4767
4768         * docs/random/release:
4769         Change one of the steps - we only upload core & base to Gnome FTP
4770
4771 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4772
4773         * gst/gstconfig.h.in:
4774           Add 'id' for example.
4775
4776         * gst/gstpad.c:
4777         * gst/gstutils.c:
4778         * plugins/elements/gstfdsink.c:
4779           Link to signals. Doc and comment fixes.
4780
4781 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4782
4783         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4784         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4785           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4786           unused and unimplemented; finally, it is plugin features, not
4787           plugins, that have ranks.
4788           
4789 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4790
4791         * gst/gstpluginfeature.h:
4792           Clarify GstRank range docs.
4793
4794 2008-02-05  David Schleef  <ds@schleef.org>
4795
4796         * gst/gst.c: Add a separate gst_deinitialized that prevents
4797           gst_init() from being called after gst_deinit().  Fixes #509559
4798
4799 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4800
4801         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4802         (gst_bin_class_init):
4803         * gst/gstelement.c: (gst_element_base_class_init),
4804         (gst_element_class_add_pad_template):
4805         * gst/gstpadtemplate.c: (gst_pad_template_init):
4806         * gst/gstpipeline.c: (gst_pipeline_get_type),
4807         (gst_pipeline_base_init), (gst_pipeline_class_init):
4808         * libs/gst/base/gstbasesink.c:
4809         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4810         (gst_base_src_base_init), (gst_base_src_class_init):
4811         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4812         (gst_capsfilter_class_init):
4813         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4814         (gst_fake_sink_class_init):
4815         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4816         (gst_fake_src_class_init):
4817         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4818         (gst_fd_sink_class_init):
4819         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4820         (gst_fd_src_class_init):
4821         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4822         (gst_file_sink_class_init):
4823         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4824         (gst_file_src_class_init):
4825         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4826         (gst_identity_class_init):
4827         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4828         (gst_multi_queue_class_init):
4829         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4830         (gst_queue_class_init):
4831         * plugins/elements/gsttee.c: (gst_tee_base_init),
4832         (gst_tee_class_init):
4833         * plugins/elements/gsttypefindelement.c:
4834         (gst_type_find_element_base_init),
4835         (gst_type_find_element_class_init):
4836         * tests/check/gst/gstelement.c: (gst_element_suite):
4837         Revert previous changes to the behaviour of GstPadTemplates, etc
4838         and the possiblity to call them in class_init as it breaks too
4839         many elements. Reopens bug #491501.
4840
4841         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4842         several places.
4843
4844 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4845
4846         * tools/gst-launch.c:
4847         Dump one graph per pipeline state-change and state change name
4848         (if GST_DEBUG_DUMP_DOT_DIR is set).
4849
4850 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4851
4852         * gst/gstpad.c:
4853         * tests/check/gst/gstpad.c:
4854         Be sure that we have a new copy of the caps and not
4855         reffed caps from a template
4856
4857 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4858
4859         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4860         * gst/gstpipeline.c: (gst_pipeline_get_type),
4861         (gst_pipeline_class_init):
4862         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4863         (gst_base_sink_class_init):
4864         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4865         (gst_base_src_class_init):
4866         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4867         (gst_base_transform_class_init):
4868         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4869         (gst_collect_pads_class_init):
4870         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4871         * libs/gst/net/gstnettimeprovider.c:
4872         (gst_net_time_provider_base_init),
4873         (gst_net_time_provider_class_init):
4874         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4875         (gst_capsfilter_class_init):
4876         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4877         (gst_fake_sink_class_init):
4878         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4879         (gst_fake_src_class_init):
4880         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4881         (gst_fd_sink_class_init):
4882         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4883         (gst_fd_src_class_init):
4884         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4885         (gst_file_sink_class_init):
4886         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4887         (gst_file_src_class_init):
4888         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4889         (gst_identity_class_init):
4890         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4891         (gst_multi_queue_class_init):
4892         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4893         (gst_queue_class_init):
4894         * plugins/elements/gsttee.c: (gst_tee_base_init),
4895         (gst_tee_class_init):
4896         * plugins/elements/gsttypefindelement.c:
4897         (gst_type_find_element_base_init),
4898         (gst_type_find_element_class_init):
4899         Don't use base_init where not absolutely necessary. For example it's
4900         not necessary anymore for adding pad templates or setting element
4901         details.
4902
4903         Leave empty base_init functions in several places as GST_BOILERPLATE
4904         still defines and uses them.
4905
4906 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4907
4908         * gst/gstelement.c: (gst_element_base_class_init),
4909         (gst_element_class_add_pad_template):
4910         * gst/gstpadtemplate.c:
4911         Make it possible (and recommended) to set element details and add
4912         pad templates in the class_init functions by copying the details/pad
4913         templates in GstElement's base_init.
4914
4915         Also make it possible to replace existing pad templates by adding
4916         a new one with the same name. This was done in a hackish fashion
4917         in same elements before already.
4918
4919         Don't reference pad templates that are added a second time. A
4920         new pad template has a refcount of one and is not floating anymore
4921         and to be owned by the element's class. Make this more explicit by
4922         mentioning it in the docs of gst_element_class_add_pad_template().
4923
4924         These changes are backwards compatible. Fixes bug #491501.
4925
4926         * tests/check/gst/gstelement.c:
4927         Add unit test for setting element details, adding pad templates and
4928         replacing them in a subclass.
4929
4930 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4931
4932         * tools/gst-inspect.c: (print_interfaces),
4933         (print_element_properties_info), (print_pad_info),
4934         (print_signal_info), (print_element_info):
4935         Fix a few memory leaks.
4936
4937 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4938
4939         * docs/libs/gstreamer-libs-sections.txt:
4940         * libs/gst/check/gstcheck.c:
4941         * libs/gst/check/gstcheck.h:
4942         Add more functions for unit testing: gst_check_drop_buffers,
4943         gst_check_caps_equal, gst_check_element_push_buffer_list,
4944         gst_check_element_push_buffer
4945         API: gst_check_drop_buffers
4946         API: gst_check_caps_equal
4947         API: gst_check_element_push_buffer_list
4948         API: gst_check_element_push_buffer
4949
4950 2008-02-01  Julien Moutte  <julien@fluendo.com>
4951
4952         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4953         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4954         (gst_index_finalize), (gst_index_entry_free),
4955         (gst_index_add_association): Fix memory leaks.
4956         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4957         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4958         (gst_mem_index_free_format), (gst_mem_index_free_id),
4959         (gst_mem_index_finalize): Fix memory leaks.
4960         * win32/common/config.h: Updated to CVS HEAD.
4961
4962 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4963
4964         * docs/README:
4965           Some more details about how the plugin docs works.
4966
4967         * docs/plugins/gstreamer-plugins-sections.txt:
4968           Whitespace cleanup.
4969
4970 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4971
4972         * gst/parse/grammar.tab.pre.c:
4973         * gst/parse/grammar.tab.pre.h:
4974         * gst/parse/grammar.y:
4975         * gst/parse/lex._gst_parse_yy.pre.c:
4976           Add delayed set-property. This allows to set properties on dynamicaly
4977           created objects (pads in videomxer). Fixes #509391.
4978
4979 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4980
4981         * gst/gstutils.c:
4982         Check if caps are not NULL (fix bug #510194)
4983
4984 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4985
4986         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4987         (gst_base_sink_get_position_paused):
4988         Add fixme regarding EOS in pull mode.
4989         Fix position reporting in PAUSED for negative rates.
4990
4991 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4992
4993         * gst/gstminiobject.c: (gst_mini_object_replace):
4994         When replacing a miniobject, do a quick equality check first so that we
4995         can avoid a ref/unref pair.
4996
4997 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4998
4999         * docs/design/part-synchronisation.txt:
5000         Update some docs.
5001
5002         * docs/plugins/Makefile.am:
5003         * docs/plugins/gstreamer-plugins-docs.sgml:
5004         * docs/plugins/gstreamer-plugins-sections.txt:
5005         * plugins/elements/gstmultiqueue.c:
5006         Add multiqueue to the docs.
5007
5008 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5009
5010         * configure.ac:
5011           Back to CVS
5012
5013 === release 0.10.17 ===
5014
5015 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
5016
5017         * configure.ac:
5018           releasing 0.10.17, "Due Negligence"
5019
5020 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5021
5022         * gst/gstutils.c:
5023         Revert caps != NULL check temporarily for 0.10.17 release.
5024
5025 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5026
5027         * gst/gstutils.c:
5028         Check if caps are not NULL (fix bug #510194)
5029
5030 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5031
5032         * gst/gstutils.c:
5033         Fix compilation on systems that have posix timers but no
5034         monotonic clock.
5035         Fixes: #512715
5036         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
5037         dot net>
5038
5039 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5040
5041         * tools/gst-inspect.c:
5042         Revert previous commit in preparation for an impromptu 0.10.17 release
5043
5044 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
5045
5046         * tools/gst-inspect.c: (print_interfaces),
5047         (print_element_properties_info), (print_pad_info),
5048         (print_signal_info), (print_element_info):
5049         Fix a few memory leaks.
5050
5051 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
5052
5053         * configure.ac:
5054         Back to CVS
5055
5056 === release 0.10.16 ===
5057
5058 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
5059
5060         * configure.ac:
5061           releasing 0.10.16, "Special Dispensation"
5062
5063 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5064
5065         * configure.ac:
5066           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5067           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5068           not fail when trying to crosscompile on OpenEmbedded (#511750).
5069
5070 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
5071
5072         * docs/manuals.mak:
5073         Use $(MAKE) instead of make to fix the build if GNU make is
5074         called different. Fixes bug #510747.
5075
5076 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5077
5078         * gst/gstplugin.c: (_gst_plugin_initialize):
5079           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5080           again, which I broke two commits ago when changing the API
5081           of gst_plugin_register_static(): the g_list_foreach() in
5082           _gst_plugin_register_static still assumed the old function
5083           signature and would therefore fail (re-fixes #510187).
5084
5085         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5086           (_gst_plugin_register_static), (gst_plugin_register_static):
5087           Revert the (technically correct) change to call g_thread_init() from
5088           the pre-main() constructor. This will break programs which call
5089           g_thread_init() without an if (!g_thread_supported()) guard in their
5090           main function. We could just blame it on GLib or the application, but
5091           it's probably best to just avoid this altogether and simply not use
5092           any GLib functions here and use plain old malloc() with a simple
5093           array to store the plugins to register later when gst_init() is
5094           finally called (re-fixes #510187).
5095
5096         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5097           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5098           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5099           (GST_START_TEST), (gst_plugin_suite):
5100           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5101           works.
5102
5103 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5104
5105         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5106           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5107           This makes gtk-doc complain, but results in slightly better
5108           compiler errors. The old _gst_plugin_register_static() is
5109           still guarded, so there'll be a compiler warning about that
5110           instead. Fixes #510187 too.
5111
5112 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5113
5114         * gst/gst.c: (init_post):
5115         * gst/gstplugin.c: (_gst_plugin_register_static),
5116           (gst_plugin_register_static), (_gst_plugin_initialize):
5117         * gst/gstplugin.h: (GstPluginFilter):
5118           Change API of gst_plugin_register_static() to not take
5119           a GstPluginDesc, but rather just take all the arguments
5120           in a GstPluginDesc directly. This is more intuitive and
5121           avoids certain mistakes when porting code from
5122           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5123           Fixes #510187.
5124
5125         * tests/check/gst/gstplugin.c:
5126           Fix up for changed API.
5127
5128 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5129
5130         * docs/faq/legal.xml:
5131           Update FAQ, Totem actually has an exception these days.
5132
5133 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5134
5135         * win32/common/libgstreamer.def:
5136         Add new API declarations
5137
5138 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5139
5140         * gst/gstminiobject.c:
5141           Spelling fixes for the API docs.
5142
5143 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5144
5145         * libs/gst/base/gstbasetransform.c:
5146           Fix long property description for QoS.
5147
5148 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5149
5150         * gst/gst.c:
5151         _gst_trace_on is already provided by gsttrace.h, no need to declare
5152         it ourselves.
5153
5154         * docs/libs/gstreamer-libs-sections.txt:
5155         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5156         and remove strange tcase_add_test which is outputting a warning.
5157
5158         * libs/gst/check/gstcheck.c:
5159         * libs/gst/check/gstcheck.h:
5160         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5161         and define them in gstcheck.c instead of having every .c file whcih
5162         includes gstcheck.h be defining its own copy and relying on symbol
5163         interposing to marry them all, which doesn't work on Solaris.
5164
5165         * tests/check/elements/identity.c: (GST_START_TEST):
5166         Don't define 'buffers' locally, it comes from libgstcheck.
5167
5168         * tests/check/generic/sinks.c: (send_buffer):
5169         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5170
5171         * tests/check/gst/gststructure.c: (GST_START_TEST):
5172         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5173         * tests/check/gst/gstutils.c: (GST_START_TEST):
5174         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5175         Add a bunch of casts to make various constants fit the types
5176         they're being assigned to.
5177
5178 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5179
5180         * gst/gstchildproxy.c:
5181           Improve docs and add some ideas for making this more general-purpose.
5182
5183 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5184
5185         * gst/gst_private.h: (GST_CAT_TYPES):
5186           Add GST_CAT_TYPES, for consistency, and so that the other
5187           debug categories don't make fun of it. Spotted by Saur on IRC.
5188
5189 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5190
5191         * gst/parse/Makefile.am:
5192           Move types.h from EXTRA_DIST to noinst_HEADERS.
5193
5194 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5195
5196         * autogen.sh:
5197           Add -Wno-portability to the automake parameters to stop warnings
5198           about GNU make extensions being used. We require GNU make in almost
5199           every Makefile anyway.
5200
5201         * configure.ac:
5202           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5203           at the same time is required for per target flags.
5204
5205 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5206
5207         * gst/gstmacros.h:
5208           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5209           __GNUC__ is defined before using it.
5210
5211 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5212
5213         * docs/gst/gstreamer-sections.txt:
5214         * gst/gst.c: (init_post):
5215         * gst/gstplugin.c: (_gst_plugin_register_static),
5216           (gst_plugin_register_static), (_gst_plugin_initialize),
5217           (gst_plugin_register_func):
5218         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5219           API: add gst_plugin_register_static() and deprecate
5220           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5221           (#498924).
5222           Also, in _gst_plugin_register_static(), make sure to call
5223           g_thread_init() before calling GLib functions such as
5224           g_list_append() if we're not initialised yet, since that
5225           may lead to random crashes with older GSlice/GLib versions.
5226
5227         * tests/check/gst/gstplugin.c:
5228           Adapt unit test to above changes.
5229
5230 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5231
5232         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5233         * gst/gstcaps.c: (gst_caps_to_string):
5234         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5235           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5236           Yet another gratuitous GString micro-optimisation: add a (private)
5237           function that serialises a structure appending to an existing
5238           GString, so that when we serialise caps we don't need to alloc+free
5239           a throwaway GString for each structure (each of which also entailing
5240           multiple reallocs on the way); also use g_string_sized_new() in
5241           various places with an approximate string length to avoid reallocs
5242           within GString. See #500143.
5243
5244 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5245
5246         * gst/gststructure.c: (gst_structure_id_set_value):
5247           Always check UTF-8 conformance of structure strings and not only
5248           if the debugging system is enabled; reasoning: the behaviour of
5249           the actual code shouldn't really change depending on whether the
5250           debugging system is enabled or not (#508291).
5251
5252 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5253
5254         * Makefile.am:
5255           Remove old coverage target in favour of "make lcov".
5256
5257 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5258
5259         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5260         (gst_base_src_loop):
5261         The start segment for reverse playback goes from start to last_stop.
5262
5263 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5264
5265         Patch by: Peter Kjellerstedt <pkj axis com>
5266
5267         * gst/gstclock.h:
5268         Cast the results from the timeval/spec_to_time macros to what the
5269         docs say it casts to, a GstClockTime. fixes #508175.
5270
5271 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5272
5273         * gst/gstbuffer.c:
5274         Update some comments.
5275
5276         * tools/gst-inspect.c: (print_element_properties_info):
5277         Improve printing of flags.
5278
5279 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5280
5281         * libs/gst/base/gstbasetransform.c:
5282           (gst_base_transform_transform_size):
5283           Print element name with g_warning() if there's a problem
5284           with the unit size.
5285
5286 2008-01-07  David Schleef  <ds@schleef.org>
5287
5288         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5289
5290         * libs/gst/controller/gstcontroller.h:
5291         * libs/gst/controller/gstcontrolsource.h:
5292         * libs/gst/controller/gstinterpolationcontrolsource.h:
5293         * libs/gst/controller/gstlfocontrolsource.h:
5294         * libs/gst/dataprotocol/dataprotocol.h:
5295           Fix empty prototypes.  Fixes bug #507957.
5296
5297 2008-01-07  David Schleef  <ds@schleef.org>
5298
5299         * docs/faq/dependencies.xml: Fix typo.
5300
5301 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5302
5303         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5304         (gst_base_src_loop):
5305         Don't update the last_stop position in do_seek, that's the position we
5306         did a seek to.
5307         Read backwards when we have a negative rate.
5308
5309         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5310         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5311         (filesrc_suite):
5312         Add check for reverse reading.
5313
5314 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5315
5316         Patch by: Alexis Ballier <aballier at gentoo org>
5317
5318         * tests/check/gst/gstabi.c:
5319         * tests/check/gst/struct_ppc64.h:
5320         * tests/check/libs/libsabi.c:
5321         * tests/check/libs/struct_ppc64.h:
5322           Decide which header to include based on the userland ABI target
5323           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5324           for 64-bit userland (#503590).  Might need something similar for
5325           x86 too.
5326
5327 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5328
5329         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5330           Log the reason why fopen fails in addition to the fact that it failed.
5331           
5332 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5333
5334         * gst/parse/parse.l:
5335         Use "%option never-interactive" to prevent useless calls to isatty()
5336         on every input when parsing. Also use "%option noinput" to not define
5337         the static input/yyinput functions which we don't use anyway. This
5338         removes a compiler warning with gcc 4.3 and saves some bytes in the
5339         library.
5340         
5341         * gst/parse/lex._gst_parse_yy.pre.c:
5342         Regenerated for the above change.
5343
5344 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5345
5346         * gst/gstpad.c: (fixate_value):
5347         Don't crash when trying to fixate and empty list.
5348         Fixes #506643.
5349
5350 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5351
5352         * docs/faq/gst-uninstalled:
5353         Clarify the comments to make the usage of this script and what it
5354         does easier to understand.
5355
5356 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5357
5358         * tools/gst-plot-timeline.py:
5359         Add more options to gst-plot-timeline
5360
5361 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5362
5363         * docs/design/part-synchronisation.txt:
5364         Some more info on how the stream_time in GstBaseSink is done.
5365
5366 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5367
5368         * tests/check/generic/sinks.c: (gst_sinks_suite):
5369           Put back the tcase_set_timeout(), apparently it's needed after
5370           all; fix it up in a way that makes things work with valgrind too.
5371
5372 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5373
5374         * gst/gstdebugutils.c:
5375           Add warning when failed to open file for writing.
5376
5377 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5378
5379         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5380
5381         * gst/gstvalue.c: (gst_value_is_fixed):
5382           Optimisation: bail out of the loop as early as possible (#500143).
5383
5384 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5385
5386         * gst/gstcaps.c: (gst_caps_to_string):
5387         * gst/gstinfo.c: (gst_debug_construct_term_color):
5388         * gst/gstparse.c: (gst_parse_launchv):
5389         * gst/gstutils.c: (gst_util_dump_mem):
5390         * gst/gstvalue.c: (gst_value_serialize_any_list),
5391           (gst_value_transform_any_list_string):
5392           Bunch of gratuitous nano-optimisations.
5393
5394 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5395
5396         * tests/check/generic/sinks.c: (async_done_func),
5397           (async_done_eos_func):
5398           Fix leak in unit test (bus sync handler must unref the message
5399           if it returns GST_BUS_DROP). Don't fiddle with the default test
5400           timeout, this is smaller than the current preconfigured value
5401           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5402           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5403
5404 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5405
5406         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5407
5408         * configure.ac:
5409         Check for stdio_ext.h for the filesink changes.
5410
5411         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5412         (gst_file_sink_class_init), (gst_file_sink_init),
5413         (gst_file_sink_dispose), (gst_file_sink_set_property),
5414         (gst_file_sink_get_property), (gst_file_sink_open_file),
5415         (gst_file_sink_close_file):
5416         * plugins/elements/gstfilesink.h:
5417         Add two properties to control the buffering mode and size.
5418         API: GstFileSink::buffer-mode
5419         API: GstFileSink::buffer-size
5420         Fixes #500150.
5421
5422 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5423
5424         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5425         Add some more docs to explain why a FIXME was wrongly added. 
5426
5427 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5428
5429         * gst/gstobject.c:
5430           Fix typo in the gst_object_{ref,unref} documentation.
5431
5432 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5433
5434         * tests/check/libs/controller.c:
5435         * tests/check/libs/typefindhelper.c:
5436         * tests/check/pipelines/parse-launch.c:
5437           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5438           going to be deprecated (see #498924).
5439
5440 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5441
5442         * gst/gsttypefind.c: (gst_type_find_register):
5443           Make gst_type_find_register work for static typefind functions,
5444           ie. allow passing plugin == NULL (prerequisite for #498924).
5445
5446         * gst/gstelementfactory.c: (gst_element_register):
5447           Small docs addition.
5448
5449 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5450
5451         * gst/gstpad.c: (gst_pad_dispose):
5452         Really unlink the peer pad instead of setting the peer pointer to NULL
5453         when we dispose the pad.
5454         This correctly calls the unlink functions and makes sure that the peer
5455         does not have a handle to invalid memory. See #504671.
5456
5457         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5458         Add testsuite for above case.
5459
5460 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5461
5462         Patch by: Peter Kjellerstedt <pkj axis com>
5463
5464         * libs/gst/check/gstcheck.h:
5465           Fix detection of the check version we're compiling against (would
5466           otherwise break if check goes v0.10.0); correctly report the
5467           name of the failed test again in case of failure, instead of
5468           just 'tf' (fixes #504499).
5469
5470 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5471
5472         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5473         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5474         (gst_base_src_loop), (gst_base_src_set_flushing),
5475         (gst_base_src_change_state):
5476         Allow sending EOS to the source to make it send out an EOS event from
5477         the streaming thread.
5478         Update docs and deprecate the old NULL/READY shutdown method.
5479
5480         * tests/check/libs/basesrc.c: (GST_START_TEST),
5481         (gst_basesrc_suite):
5482         Add unit test for controlled shutdown.
5483
5484 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5485
5486         * docs/design/part-synchronisation.txt:
5487         Small updates.
5488
5489         * gst/gstsegment.c: (gst_segment_set_seek),
5490         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5491         (gst_segment_to_running_time):
5492         The seek format can be different from the segment format when the start
5493         and stop values are not to be updated, when we only do a rate change for
5494         example.
5495
5496         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5497         (gst_segment_suite):
5498         Add a testcase for the rate-only seeks, checking that the format is
5499         correctly ignored when start and stop are not updated.
5500
5501 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5502
5503         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5504
5505         * win32/vs8/grammar.vcproj:
5506         * win32/vs8/libgstcontroller.vcproj:
5507         * win32/vs8/libgstreamer.vcproj:
5508         Fix compilation with VS8 and include some missing files.
5509
5510 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5511
5512         * gst/gsttaglist.c:
5513           Small docs addition: mention that the strings returned by
5514           gst_tag_list_get_string*() are in UTF-8 encoding.
5515
5516 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5517
5518         * Makefile.am:
5519           The check-exports stuff moved to common/win32.mak, so include that.
5520
5521 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5522
5523         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5524         (gst_base_src_perform_seek), (gst_base_src_get_range),
5525         (gst_base_src_set_playing), (gst_base_src_change_state):
5526         Make _wait_playing() not check any variables so that we can call this
5527         function from subclasses. Move the checks elsewhere similar to
5528         _wait_preroll() in basesink.
5529         Add some debugging.
5530         Only signal the LIVE cond when we are going back to PLAYING.
5531
5532 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5533
5534         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5535           Use g_remove() and g_rename(). Check result of g_rename(), and
5536           don't leak the open file descriptor if we error out when writing.
5537
5538         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5539           Must check the return value of close() after writing out the new
5540           registry file.  Sometimes write problems such as out-of-diskspace
5541           are only reported when the file is closed and not already during
5542           the write.  This may have caused partial/broken registry files in
5543           some rare circumstances. Should fix #503675.
5544
5545 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5546
5547         * docs/gst/.cvsignore:
5548         * docs/libs/.cvsignore:
5549         * docs/plugins/.cvsignore:
5550         Ignore files generated by new common/* modifications
5551
5552 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5553
5554         * win32/common/libgstbase.def:
5555           Yes, you can also have a <TAB> if you want.
5556
5557 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5558
5559         * win32/common/libgstbase.def:
5560           Add new basetransform API to win export file.
5561
5562 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5563
5564         * tests/check/gst/gstbin.c:
5565           Adjust the test to the refcount change two days ago.
5566
5567 2007-12-14  David Schleef  <ds@schleef.org>
5568
5569         * docs/faq/getting.xml: Fix typo.
5570
5571 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5572
5573         * docs/libs/gstreamer-libs-sections.txt:
5574         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5575           (gst_base_transform_prepare_output_buffer),
5576           (gst_base_transform_set_gap_aware):
5577         * libs/gst/base/gstbasetransform.h:
5578           API: Add gst_base_transform_set_gap_aware() to control whether
5579           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5580           get buffers with this flag at all. Fixes #503231.
5581
5582 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5583
5584         * libs/gst/base/gstbasesink.c:
5585         * libs/gst/base/gstbasesrc.c:
5586         * libs/gst/base/gstbasetransform.c:
5587           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5588           thread. Correct log message in gstbasesrc.c.
5589
5590 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5591
5592         * gst/gstutils.c: (element_find_unconnected_pad):
5593           Fix possible compiler warning (#503417).
5594
5595 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5596
5597         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5598           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5599
5600 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5601
5602         * tools/gst-inspect.c: (print_element_properties_info):
5603           Add support for GstFraction properties.
5604
5605 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5606
5607         * Makefile.am:
5608           Add check-exports target and run it as part of 'make check'
5609           (see #499140 and #493983).
5610
5611         * gst/gst_private.h:
5612         * gst/gstelementfactory.h:
5613         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5614         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5615           (_priv_gst_in_valgrind):
5616         * gst/gstinfo.h: (GstLogFunction):
5617         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5618           (gst_type_find_register):
5619         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5620           (gst_type_find_factory_get_type):
5621         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5622           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5623           (gst_controller_new_valist), (gst_controller_new_list),
5624           (_gst_controller_dispose), (_gst_controller_class_init):
5625         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5626         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5627           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5628           (gst_object_get_controller), (gst_object_set_controller),
5629           (gst_object_suggest_next_sync), (gst_object_sync_values),
5630           (gst_object_set_control_source), (gst_object_get_control_source),
5631           (gst_object_get_value_arrays), (gst_object_get_value_array),
5632           (gst_object_get_control_rate), (gst_object_set_control_rate):
5633         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5634         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5635           Make some functions that should be static static; rename some
5636           private symbols so that they don't get exported; add some FIXME
5637           comments so we can move accidentally exported functions into
5638           our private section in 0.11.
5639
5640         * win32/common/libgstreamer.def:
5641           Add gst_utils_get_timestamp().
5642
5643 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5644
5645         * gst/gstvalue.c:
5646         * gst/gstvalue.h:
5647           Add more missing "Since:" tags to docs.
5648
5649 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5650
5651         * gst/gstutils.c:
5652           Add mising "Since:" to docs.
5653
5654 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5655
5656         * gst/gstplugin.c:
5657           Include "glib-compat-private.h" to fix the build on system with
5658           glib < 2.10. Fixes #503131.
5659
5660 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5661
5662         * gst/gstutils.c:
5663         * gst/gstutils.h:
5664           Actually its not PURE as it gets the time from elsewhere.
5665
5666 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5667
5668         * docs/gst/gstreamer-sections.txt:
5669         * gst/gstclock.h:
5670         * gst/gstdebugutils.c:
5671         * gst/gstinfo.c:
5672         * gst/gstutils.c:
5673         * gst/gstutils.h:
5674         * libs/gst/base/gstbasesink.c:
5675         * tools/gst-launch.c:
5676           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5677           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5678           Thanks Tim for spotting.
5679           API: gst_util_get_timestamp
5680
5681 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5682
5683         * configure.ac:
5684           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5685
5686 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5687
5688         * gst/gststructure.c: (gst_structure_validate_name),
5689           (gst_structure_new_valist), (gst_structure_parse_value),
5690           (gst_structure_from_string):
5691           Don't crash in _from_string() if the structure name is not valid
5692           (fixes #501560).  Allow structure names to start with a number
5693           again (this apparently broke the ubuntu codec installer).
5694
5695         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5696           (GST_START_TEST):
5697           Add unit test for the crash; update unit tests for new behaviour.
5698
5699 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5700
5701         * gst/gstutils.c:
5702         Clarify gst_element_get_compatible_pad() documentation.
5703         Fixes #500919.
5704
5705 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5706
5707         * tests/check/Makefile.am:
5708           Don't forget to dist {gst,libs}/struct_hppa.h.
5709
5710 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5711
5712         * libs/gst/base/gstbasesink.c:
5713           Use new API to get elapsed time.
5714
5715 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5716
5717         * gst/gstdebugutils.c:
5718         * gst/gstinfo.c:
5719           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5720
5721         * tools/gst-launch.c:
5722           Use new API to get elapsed time.
5723
5724 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5725
5726         * docs/gst/gstreamer-sections.txt:
5727         * gst/gstclock.h:
5728         * gst/gstdebugutils.c:
5729         * gst/gstinfo.c:
5730           Rename new API + ChangeLog surgery to remove old name from last entry..
5731
5732 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5733
5734         * docs/gst/gstreamer-sections.txt:
5735         * gst/gstclock.h:
5736         * gst/gstdebugutils.c:
5737         * gst/gstinfo.c:
5738           Now hide the different clock stuff behind a macro.
5739
5740 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5741
5742         * configure.ac:
5743         * gst/gstdebugutils.c:
5744         * gst/gstinfo.c:
5745           Apply the posix-timer check from #361155. Conditionally use the posix
5746           timer for logging. This gives better timestamp precission, less
5747           overhead and no ntp jitter.
5748
5749 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5750
5751         * gst/gstminiobject.c: (gst_mini_object_get_type),
5752         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5753         (gst_mini_object_finalize), (gst_mini_object_copy),
5754         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5755         (gst_mini_object_replace), (param_mini_object_validate),
5756         (gst_param_spec_mini_object_get_type):
5757         Some cleanup and checking against invalid function parameters.
5758
5759 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5760
5761         * docs/gst/gstreamer-sections.txt:
5762         * gst/gstclock.h:
5763         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5764         (gst_systemclock_suite):
5765         Start merging in the easy bits of #361155, the monotonic clock patch.
5766         This one adds a few handy macros with docs and a testsuite.
5767
5768 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5769
5770         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5771         Be a bit smarter when seeking, like, don't try to do a seek when it's
5772         not needed. This avoids errors when the file is not seekable.
5773         Fixes #499771.
5774
5775 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5776
5777         * docs/gst/gstreamer-docs.sgml:
5778         * docs/gst/gstreamer-sections.txt:
5779         * docs/gst/gstreamer.types.in:
5780         * gst/Makefile.am:
5781         * gst/gst.h:
5782         * gst/gstpreset.c:
5783         * gst/gstpreset.h:
5784         * plugins/elements/gstqueue.c:
5785           Due to popular request remove preset interface again. :-(.
5786
5787 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5788
5789         * tools/gst-inspect.c:
5790           Print 'default value' for enums and flags too.
5791
5792 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5793
5794         * docs/random/ensonic/profiling.txt:
5795           More ideas.
5796
5797         * gst/gstbin.c:
5798           Fix typo and give better log output.
5799
5800         * gst/gstdebugutils.c:
5801         * gst/gstdebugutils.h:
5802           More ideas, make graphs a bit smaller and fix param name in macro.
5803
5804 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5805
5806         * gst/gstpreset.c:
5807           Try harder to use the return value from fgets().
5808
5809 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5810
5811         * gst/gstpreset.c:
5812           For theses two fgets we handle the error below.
5813
5814 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5815
5816         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5817         Only send upstream events upstream. Fixes #498746.
5818
5819 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5820
5821         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5822
5823         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5824         (gst_identity_init), (gst_identity_transform_ip),
5825         (gst_identity_set_property), (gst_identity_get_property):
5826         * plugins/elements/gstidentity.h:
5827         Add property to disable handoff signal emission. Fixes #498694.
5828         API: GstIdentity::signal-handoffs
5829
5830 2007-11-21  Julien Moutte  <julien@fluendo.com>
5831
5832         * docs/faq/gst-uninstalled: Yet another missing library for the
5833         uninstalled script (fft)
5834
5835 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5836
5837         * docs/faq/developing.xml:
5838         Add a question about how to submit new translations.
5839
5840         * docs/random/release:
5841         Update the contact email address for the Translation Project
5842
5843         * plugins/elements/gstfdsrc.c:
5844         The parent_class for fdsrc is pushsrc, not GstElement.
5845
5846 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5847
5848         * gst/gstpreset.c:
5849           Plug a leak and fix saving.
5850
5851 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5852
5853         * docs/gst/gstreamer-sections.txt:
5854         Add new gst_preset__get_property_names() function to the docs
5855         to fix the build.
5856
5857 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5858
5859         * gst/gstpreset.c:
5860         * gst/gstpreset.h:
5861           Change _get_preset_names API to return a strv with copies. Add
5862           _get_property_names to allow implementations to filter and provide
5863           good default implementation.
5864
5865 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5866
5867         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5868         script (sdp).
5869
5870 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5871
5872         * gst/gstpreset.c:
5873           More cleanups, docs, and TODOs from comments that now slowly come in.
5874
5875 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5876
5877         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5878         search path.
5879
5880 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5881
5882         * gst/gstpreset.c:
5883           Fix bogus warning and make the property type specific code more
5884           similar.
5885
5886 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5887
5888         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5889         it build on OS X.
5890
5891 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5892
5893         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5894         (gst_bin_add_func), (gst_bin_remove_func),
5895         (gst_bin_change_state_func), (gst_bin_continue_func):
5896         Change email, cleanups add some more debug and comments.
5897         Also set bus and clock on new elements when the pipeline was in error.
5898
5899 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5900
5901         * gst/gstbin.c:
5902         * gst/gstdebugutils.c:
5903           Fix build with --disable-gst-debug. Fixes #497859.
5904           Spotted by Sameer Naik.
5905
5906 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5907
5908         * gst/gstevent.c:
5909           Little documentation improvment.
5910
5911         * gst/gstpreset.c:
5912           More TODO cleanups. Remove c++ comments.
5913
5914         * libs/gst/controller/gstcontroller.c:
5915           Add TODO and use quark from static string.
5916
5917         * tests/check/gst/gstmessage.c:
5918         * tests/check/gst/gststructure.c:
5919           Use quark from static string.
5920
5921 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5922
5923         * gst/gstpreset.c:
5924           Add some comments and TODOs.
5925
5926         * gst/gstpreset.h:
5927           Add padding for future changes.
5928
5929         * plugins/elements/gstqueue.c:
5930           Implement the iface.    
5931
5932 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5933
5934         * docs/gst/gstreamer-docs.sgml:
5935         * docs/gst/gstreamer-sections.txt:
5936         * docs/gst/gstreamer.types.in:
5937         * gst/Makefile.am:
5938         * gst/gst.h:
5939         * gst/gstpreset.c:
5940         * gst/gstpreset.h:
5941           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5942
5943 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5944
5945         * configure.ac:
5946
5947         Back to CVS
5948
5949 === release 0.10.15 ===
5950
5951 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5952
5953         * configure.ac:
5954           releasing 0.10.15, "October"
5955
5956 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5957
5958         * win32/vs6/libgstreamer.dsp:
5959         Convert line endings back to DOS.
5960
5961 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5962
5963         * docs/design/draft-tagreading.txt:
5964         * docs/random/ensonic/profiling.txt:
5965         Update fast tagreading draft and performance profiling ideas.
5966
5967 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5968
5969         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5970         Don't hold the object lock when unreffing a buffer because it could
5971         cause a deadlock when the finalize function wants to grab the object
5972         lock too. Fixes #495133.
5973
5974 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5975
5976         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5977         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5978         Also accumulate time correctly when doing reverse playback. Fixes
5979         #488201,
5980         When converting to running and stream time, use default values for
5981         start/stop/time/accum when comparing different formats. Fixes #494245.
5982
5983         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5984         Do running/stream time in TIME format.
5985
5986         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5987         (gst_segment_suite):
5988         2 new unit tests for segment accumulation.
5989
5990 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5991
5992         * gst/gst.c: (init_pre):
5993         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5994           (_gst_debug_bin_to_dot_file):
5995           Move getenv() back into gst_init, so everyone can live happily
5996           ever after. Make sure the symbol isn't exported though.
5997
5998 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5999
6000         Patch by: Sebastien Moutte  <sebastien moutte net>
6001
6002         * win32/common/gstenumtypes.c:
6003         * win32/common/gstenumtypes.h:
6004           Update enum types.
6005
6006         * win32/vs6/libgstreamer.dsp:
6007           Update vs6 project files (#494343).
6008
6009 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6010
6011         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
6012         (gst_base_src_perform_seek), (gst_base_src_default_event),
6013         (gst_base_src_set_flushing), (gst_base_src_activate_push),
6014         (gst_base_src_activate_pull):
6015         Unify flushing code, remove some old unlock code that is no longer used.
6016         Take the streaming lock when seeking to avoid races. Fixes #492729.
6017         Added some more comments.
6018
6019 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6020
6021         * gst/gst.c: (_gst_disable_segtrap):
6022           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
6023           we can use gst_segtrap_is_enabled() there now that we have that API.
6024           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
6025           to do the getenv here (and export the variable).
6026
6027         * gst/gstdebugutils.c: (debug_dump_element),
6028           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
6029           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
6030
6031         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
6032           (gst_debug_log_default):
6033           Rename _gst_info_start_time to priv_gst_info_start_time so it
6034           doesn't get exported (was never in any header).
6035
6036         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
6037           (gst_plugin_loading_mutex):
6038           Make static mutex gst_plugin_loading_mutex really static (was never
6039           in any header), and use gst_segtrap_is_enabled() instead of
6040           _gst_disable_segtrap.
6041
6042         * gst/gsttrace.c: (_gst_trace_default):
6043           Make local _gst_trace_default static (was never in any header).
6044
6045 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6046
6047         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6048
6049         * win32/common/libgstbase.def:
6050         * win32/common/libgstcontroller.def:
6051         * win32/common/libgstdataprotocol.def:
6052         * win32/common/libgstnet.def:
6053         * win32/common/libgstreamer.def:
6054           Add more missing symbols, remove some duplicates, and sort
6055           as the 'sort' command sorts it (partially fixes #493983).
6056
6057 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6058
6059         * gst/gstelement.c: (gst_element_set_state_func):
6060         Only change the state cookie if a different state was set on the
6061         element. See #492729.
6062
6063 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6064
6065         * gst/gstvalue.c:
6066           Remove unused and uninitialised type variables that were still
6067           exported for some reason (they were never in any header files
6068           though).
6069
6070 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6071
6072         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6073         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6074         (gst_base_sink_event), (gst_base_sink_get_position_last),
6075         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6076         (gst_base_sink_change_state):
6077         Don't try to report a 0 position when we don't know, return -1 and FALSE
6078         instead. This mostly happens when we are prerolling.
6079         Make sure we can report the right position before we post the ASYNC_DONE
6080         message so that a message handler can query position without races.
6081
6082         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6083         (async_done_handoff), (async_done_func), (send_buffer),
6084         (async_done_eos_func), (gst_sinks_suite):
6085         Add two tests for the above.
6086
6087 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6088
6089         * MAINTAINERS:
6090         Update with new email address.
6091
6092         * docs/design/part-TODO.txt:
6093         Add some more info about future pad-block and negotiation changes.
6094
6095         * docs/design/part-buffering.txt:
6096         Add some ideas about buffering reporting.
6097
6098 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6099
6100         * tests/check/gst/gstobject.c:
6101         Disable silly racy test that always fails on this combination of CPU
6102         and kernel.
6103
6104 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6105
6106         Patch by: Murray Cumming  <murrayc@murrayc.com>
6107
6108         * gst/gstobject.c:
6109           Corrected the registration of the parent-set and parent-unset
6110           signals: The parameter is a GstObject, not a GObject (#493134).
6111
6112 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6113
6114         * gst/gst_private.h:
6115         * gst/gstbuffer.h:
6116         * gst/gstevent.h:
6117         * gst/gstformat.h:
6118         * gst/gstmessage.h:
6119         * gst/gstplugin.h:
6120         * gst/gstquery.h:
6121         * gst/gsttaglist.h:
6122         * gst/gstvalue.h:
6123           Move declaration of private _gst_foo_initialize() functions into
6124           our private header file where they should have been all along.
6125
6126 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6127
6128         * docs/plugins/gstreamer-plugins-sections.txt:
6129         * gst/gstdebugutils.h:
6130         * gst/gstxml.h:
6131         * plugins/elements/gstqueue.c:
6132           gtk-doc fixes; trailing-comma-in-enum fix.
6133
6134 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6135
6136         * gst/gst.c: (gst_deinit):
6137           Clean up on deinit (not the external ones though, doesn't seem to be
6138           needed for some reason).
6139
6140 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6141
6142         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6143           Remove __declspec(dllimport) for MSVC that was copied over into core
6144           from a plugin, obviously without ever having been tested (note the
6145           single underscore in _declspec in the initial commit), and that doesn't
6146           really make sense.  See #492077.
6147
6148 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6149
6150         * gst/gst.c: (init_post):
6151         * gst/gstevent.c: (_gst_event_initialize):
6152         * gst/gstquery.c: (_gst_query_initialize):
6153         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6154           g_type_class_ref() other types as well, see #349410 and #64764.
6155
6156         * gst/gstbuffer.c: (_gst_buffer_initialize):
6157         * gst/gstmessage.c: (_gst_message_initialize):
6158           Simplify existing g_type_class_ref().
6159
6160 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6161
6162         * gst/gstformat.c: (_gst_format_initialize):
6163           g_type_class_ref() our GstFormat type to make sure we avoid the
6164           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6165           bug #64764. Should fix intermittent tee unit test failures (#474823).
6166
6167 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6168
6169         * tests/check/elements/tee.c: (test_num_buffers):
6170           Simplify, simplify, simplify - or not.  Rewrite unit test
6171           not to use gst_parse_launch(); allow N sub-streams. Increasing
6172           the number of sub-streams seems to reproduce #474823 more easily.
6173
6174 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6175
6176         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6177
6178         * gst/gsttrace.c:
6179         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6180         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6181         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6182           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6183           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6184           so use _pipe() directly (#492077).
6185
6186         * win32/common/dirent.c: (_treaddir):
6187           Add a couple of casts to make it build without warnings with MSVC.
6188
6189         * win32/common/libgstreamer.def:
6190           Add some more symbols that need to be exported.
6191
6192 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6193
6194         * tests/examples/metadata/read-metadata.c: (message_loop):
6195           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6196           arriving in a second or third tag message are added to
6197           the tag list as well.
6198
6199 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6200
6201         * libs/gst/base/gstbasesrc.c:
6202           Its "Since:" and not "@Since:". And remove an superflous cast.
6203
6204 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6205
6206         * docs/libs/gstreamer-libs-sections.txt:
6207         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6208         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6209         (gst_base_sink_get_property), (gst_base_sink_render_object),
6210         (gst_base_sink_preroll_object),
6211         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6212         (gst_base_sink_change_state):
6213         * libs/gst/base/gstbasesink.h:
6214         Add a new last-buffer property that contains the last buffer used in
6215         basesink for preroll or rendering. useful for making snapshots.
6216         API: gst_base_sink_get_last_buffer()
6217         API: GstBaseSink::last-buffer
6218
6219 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6220
6221         * docs/gst/running.xml:
6222         * gst/gst.c:
6223         * gst/gstdebugutils.c:
6224         * gst/gstdebugutils.h:
6225         * tools/gst-launch.c:
6226           Improve bin graph dumping, by using the envvar to specify a path.
6227           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6228
6229 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6230
6231         * plugins/elements/gsttypefindelement.c:
6232           (gst_type_find_element_handle_event),
6233           (gst_type_find_element_activate):
6234           Post special error message if we can't determine the type of a stream
6235           because it's empty.
6236
6237 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6238
6239         * docs/gst/running.xml:
6240         * gst/gstdebugutils.c:
6241           Document new env-var. Add one log-line after dumpng a graph.
6242
6243 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6244
6245         * configure.ac:
6246           Ugly hack to put the (recently removed and non-portable, apparently)
6247           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6248           GNU ld, because without that 'make check' fails miserably on my debian
6249           stable box.  Someone with more knowledge of linker intricacies and
6250           portability issues than me fix this properly please.
6251
6252 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6253
6254         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6255         Reset last seen position after flushing so that we don't report the old
6256         position anymore.
6257
6258 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6259
6260         * gst/gstelementfactory.c: (gst_element_register):
6261         * gst/gsturi.h:
6262         Patch from Alessandro Decina adding get_type_full and
6263         get_protocols_full private vfuncs to the URIHandler interface
6264         to allow bindings to support creating URI handlers. 
6265         Partially fixes: #339279
6266         API: GstURIHandlerInterface::get_type_full
6267         API: GstURIHandlerInterface::get_protocols_full
6268
6269 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6270
6271         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6272         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6273         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6274         Make it so that pads are considered linked until a buffer is pushed
6275         and discovered otherwise. This avoids problems with decodebin2 hanging
6276         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6277         case.
6278
6279         Make sure we lock the multiqueue when updating the max-size properties.
6280         
6281         Fix a crash on Solaris in a debug statement in get_request_pad that
6282         passes a NULL string to GST_DEBUG. 
6283
6284         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6285         (run_output_order_test):
6286         Fix the test to allow the first buffer on not-linked pads to come out
6287         of sequence while multiqueue discovers that they are not-linked.
6288
6289 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6290
6291         * configure.ac:
6292         * libs/gst/check/Makefile.am:
6293         Use a custom export symbol regex for libgstcheck, as it needs
6294         to export symbols that don't match the standard GStreamer gst_*
6295         pattern, and  --export-dynamic is not portable (only works on 
6296         GNU ld)
6297
6298         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6299         (gst_check_setup_sink_pad):
6300         Make sure to pass a message parameter to the fail_* macros.
6301
6302         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6303         Fix some compiler warnings.
6304
6305 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6306
6307         * tests/check/gst/gststructure.c: (test_to_string):
6308           Disable test that checks that white spaces are not allowed
6309           in structure names or field names, since we need to
6310           support that for now for backwards compatibility reasons.
6311
6312 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6313
6314         * docs/gst/gstreamer-sections.txt:
6315         * gst/gsttaglist.c:
6316         * gst/gsttaglist.h:
6317           API: add GST_TAG_ARTIST_SORTNAME
6318           API: add GST_TAG_ALBUM_SORTNAME
6319           API: add GST_TAG_TITLE_SORTNAME
6320           Add tag variants for sorting (#414539).
6321
6322 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6323
6324         * gst/gststructure.c:
6325           Also allow white space for names so we don't break
6326           backwards compatibility.
6327
6328 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6329
6330         * docs/design/part-TODO.txt:
6331         * docs/design/part-segments.txt:
6332         * docs/design/part-streams.txt:
6333         Small updates.
6334
6335 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6336
6337         * docs/gst/gstreamer-sections.txt:
6338          Fixed documentation from my previous commit (added new API add
6339          gst_value_set_structure(), add gst_value_get_structure() and
6340          GST_VALUE_HOLDS_STRUCTURE).
6341
6342 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6343
6344         * gst/gstdebugutils.c:
6345           Reflow code to fix uninitialized variable warning.
6346
6347 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6348
6349         * gst/gstcaps.c: (gst_caps_to_string),
6350         (gst_caps_from_string_inplace):
6351         * gst/gststructure.c: (gst_structure_get_abbrs),
6352         (gst_structure_to_string), (gst_structure_from_string):
6353         * gst/gstvalue.c: (gst_value_set_structure),
6354         (gst_value_get_structure), (gst_value_serialize_structure),
6355         (gst_value_deserialize_structure), (_gst_value_initialize):
6356         * gst/gstvalue.h:
6357         * tests/check/gst/gststructure.c: (GST_START_TEST),
6358         (gst_structure_suite):
6359         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6360          Added GstStructure to gst_value_table and its related functions.
6361          Changed gst_structure_to_string to print ';' in the end.
6362          Changed gst_caps_to_string to not print ';' beteween its
6363          fields (structures) anymore and remove the lastes ';' from latest
6364          structure. Now it is possible to have nested structures.
6365          In addition, backward compatibilty is assured by accepting '\0' as
6366          end delimiter. Fixes: #487969.
6367          API: add gst_value_set_structure()
6368          API: add gst_value_get_structure()
6369          API: add GST_VALUE_HOLDS_STRUCTURE
6370
6371 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6372
6373         * gst/gstbus.c:
6374           When no GSource callback has been set up, tell developer
6375           to use a function that actually exists.
6376
6377 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6378
6379         * docs/gst/gstreamer-sections.txt:
6380         * gst/Makefile.am:
6381         * gst/gst.c:
6382         * gst/gst.h:
6383         * gst/gstdebugutils.c:
6384         * gst/gstdebugutils.h:
6385         * gst/gstinfo.c:
6386         * gst/gstinfo.h:
6387         * tools/gst-launch.c:
6388           Allow dumping pipelines as dot graphs. Fixes #456573.
6389
6390 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6391
6392         * gst/gststructure.c:
6393           Allow '+' as well, it can be part of media or mime types
6394           such as image/svg+xml.
6395
6396 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6397
6398         * docs/gst/gstreamer-sections.txt:
6399         * gst/gstbus.c:
6400         * gst/gstbus.h:
6401           API: add gst_bus_pop_filtered
6402           API: add gst_bus_timed_pop_filtered
6403           Two new functions for waiting for specific message types on the
6404           bus for a specified amount of time without iterating any main
6405           loops or main contexts.
6406
6407         * tests/check/gst/gstbus.c:
6408           Some tests for the new functions.
6409
6410 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6411
6412         * docs/libs/gstreamer-libs-sections.txt:
6413           Make gtk-doc ignore stuff it should ignore.
6414
6415 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6416
6417         * libs/gst/check/gstcheck.c:
6418         * libs/gst/check/gstcheck.h:
6419           Allow runtime selection of unit tests to run via the GST_CHECKS
6420           environment variable (test case function names, comma-separated).
6421
6422 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6423
6424         * gst/gststructure.c:
6425         * tests/check/gst/gststructure.c:
6426           Revert serialisation change and constrain structure-names after
6427           consensus on irc. Update api documentation to reflect the change.
6428
6429 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6430
6431         * gst/gststructure.c:
6432           Improve serialization and fix tests.
6433
6434         * tests/check/gst/gststructure.c:
6435           Add another test that covers why I actually did the previous structure
6436           change.
6437
6438 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6439
6440         * tools/gst-inspect.c: (print_element_info):
6441         Don't crash when inspecting an element.
6442
6443 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6444
6445         * tests/check/gst/gststructure.c:
6446           Add unit test for escaping of structure name when serialising
6447           and deserialising to/from strings.
6448
6449 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6450
6451         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6452         (gst_single_queue_new):
6453         * plugins/elements/gstqueue.c: (gst_queue_init),
6454         (gst_queue_push_one):
6455         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6456         upstream is tricked into thinking it can suggest a format downstream
6457         while downstream does not support that format. The real problem is that
6458         core calls acceptcaps when pushing a buffer with new caps, for which we
6459         do a little workaround by setting the caps on the srcpad ourselves
6460         before pushing the buffer (until this is figured out). Fixes #486758.
6461
6462 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6463
6464         * gst/gststructure.c:
6465         * gst/gstvalue.c:
6466           Add some more comments and debug output. Quote structure name to fix
6467           deserialisation of some strings.
6468
6469 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6470
6471         * gst/gstbuffer.h:
6472           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6473           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6474
6475 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6476
6477         * tools/gst-inspect.c:
6478           Save approx. 400 1 byte allocs when printing. Use API to acces element
6479           details.
6480
6481         * tools/gst-run.c:
6482           Avoid a strdup.
6483
6484         * tools/gst-xmlinspect.c:
6485           Use API to acces element details.
6486
6487 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6488
6489         * gst/gstinfo.c:
6490           Fix some spelling errors.
6491
6492 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6493
6494         * gst/gstbin.c: (bin_handle_async_done):
6495         Correctly set the next state if all of our async children commited their
6496         state. This makes sure we can actually cancel the state change in
6497         progress. Fixes a regression in Rhythmbox when seeking.
6498
6499 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6500
6501         * gst/gstbin.c:
6502           Don't shadow local variable.
6503
6504         * gst/gstinfo.c:
6505           Don't shadow global function name.
6506
6507 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6508
6509         * gst/gstelementfactory.c:
6510         * gst/gstpluginfeature.c:
6511         * gst/gstpluginfeature.h:
6512         * gst/gstregistrybinary.c:
6513         * gst/gstregistryxml.c:
6514         * gst/gsttypefind.c:
6515           Use already-interned string for the private GstPluginFeature
6516           plugin_name field.
6517
6518 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6519
6520         * docs/libs/gstreamer-libs-sections.txt:
6521           Add new API to docs; fixes the build.
6522
6523 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6524         
6525         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6526
6527         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6528         (gst_base_sink_event):
6529         * libs/gst/base/gstbasesink.h:
6530         Add function to wait for EOS, subclasses can use this to correctly wait
6531         for devices to drain before performing the EOS logic. Fixes #485343.
6532         API: gst_base_sink_wait_eos()
6533
6534 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6535
6536         * gst/gstplugin.h:
6537           Cast description string constants in GST_PLUGIN_DEFINE macros
6538           to a (gchar*) to make C++ code using these macros compile
6539           without warning with g++-4.2 (see #462737).  Even if slightly
6540           ugly, this seems preferable to putting the description strings
6541           into the GLib quark table or making the structure member a
6542           const gchar * and doing casts in core code that allocs and
6543           frees these strings, or requiring a cast in the C++ code.
6544
6545 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6546
6547         * gst/gstinfo.h:
6548           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6549           to print the entire class/function signature into the log
6550           file for C++ code.  This only affects C++ code, for C code
6551           everything remains the same.
6552
6553 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6554
6555         * gst/gstbin.c: (remove_from_queue):
6556         Work around a problem with pipelines containing (semi)loops until a
6557         proper, more complicated solution is ready. See #475455.
6558
6559 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6560
6561         * gst/gstplugin.c:
6562         * gst/gstplugin.h:
6563         * gst/gstregistrybinary.c:
6564         * gst/gstregistryxml.c:
6565           Put more strings into the GLib quark table. No need to keep
6566           a hundred-something copies of identical version strings,
6567           license strings, package name strings and package origin
6568           strings around. 
6569
6570 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6571
6572         * docs/manual/advanced-dataaccess.xml:
6573           Don't imply that it's okay to unconditionally change
6574           buffer data or buffer metadata in a pad probe callback,
6575           and a bunch of other comments. Fixes #430031.
6576
6577 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6578
6579         * win32/common/gstenumtypes.c:
6580         * win32/common/gstenumtypes.h:
6581         * win32/common/gstversion.h:
6582           Update generated files.
6583
6584 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6585
6586         * docs/manual/advanced-autoplugging.xml:
6587           Prefix section with broken code with a warning (see #342432).
6588
6589 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6590
6591         * docs/manual/appendix-integration.xml:
6592         * docs/manual/basics-init.xml:
6593           Call g_thread_init() before g_option_context_new() to
6594           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6595
6596 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6597
6598         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6599         (gst_base_sink_queue_object_unlocked),
6600         (gst_base_sink_queue_object), (gst_base_sink_event),
6601         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6602         When we received EOS and are waiting for when to post the EOS message,
6603         our state is prerolled and we should not return ASYNC.
6604         Reorganize some code paths to implement this behavior.
6605
6606         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6607         (gst_sinks_suite):
6608         Add unit test to verify above EOS fix.
6609
6610 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6611
6612         * plugins/elements/gsttypefindelement.c:
6613         (gst_type_find_element_have_type), (gst_type_find_element_init),
6614         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6615         Move detecting the input caps of the sinkpad to the setcaps function.
6616         This allows us to update the output caps when we receive new input caps
6617         instead of always using the first detected caps.
6618
6619 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6620
6621         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6622         (gst_base_sink_get_position):
6623         Don't try to preroll non-async elements after a flush.
6624         Subtract latency form clock times when reporting position.
6625
6626 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6627
6628         * gst/gstpad.c: (gst_pad_pause_task):
6629         * gst/gstutils.c:
6630         Small comment and documentation update.
6631
6632 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6633
6634         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6635         (gst_base_src_set_live), (gst_base_src_is_live),
6636         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6637         (gst_base_src_default_event), (gst_base_src_wait),
6638         (gst_base_src_do_sync), (gst_base_src_get_range),
6639         (gst_base_src_pad_get_range), (gst_base_src_loop),
6640         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6641         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6642         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6643         (gst_base_src_change_state):
6644         Rework the locking of basesrc in a similar fashion to basesink. We
6645         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6646         us to handle live sources and semi live ones much better.
6647         Simplify flushing.
6648         Fix unlocking when seeking, shutting down and pausing in live sources.
6649
6650 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6651
6652         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6653         Fix compilation again.
6654
6655 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6656
6657         * gst/gstelement.c:
6658           Use meaningful categories for the logs to clean the default one.
6659
6660 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6661
6662         * tests/check/pipelines/cleanup.c:
6663           Print message name and not just number.
6664
6665 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6666
6667         * docs/design/draft-tagreading.txt:
6668           Add some more thoughts.
6669
6670 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6671
6672         * tests/check/pipelines/simple-launch-lines.c:
6673           Print message name and not just number.
6674
6675 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6676
6677         * libs/gst/base/gsttypefindhelper.c:
6678           Speedup typefinding. This is work in progress (see #459862).
6679
6680 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6681
6682         * gst/gstplugin.c:
6683           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6684           Spotted by Josep Torra Valles <josep@fluendo.com>.
6685
6686 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6687
6688         * gst/gstclock.h:
6689           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6690           field has moved to GstObject.
6691
6692 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6693
6694         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6695         (gst_base_src_get_range), (gst_base_src_change_state):
6696         Call unlock for live sources so that they can't get stuck in _create and
6697         produce a buffer before they are set back to PLAYING.
6698
6699 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6700
6701         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6702         (gst_queue_locked_dequeue):
6703         Comment the segment-related code... in the PROPER function.
6704         See #482147 and my commit from yesterday.
6705
6706 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6707
6708         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6709         Also initialize the counter that calculates the first timestamp on a
6710         buffer correctly for non-live sources.
6711
6712 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6713
6714         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6715         Disable code that's breaking the current-time-level reporting.
6716         See #482147
6717
6718 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6719
6720         * docs/gst/gstreamer-sections.txt:
6721         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6722         as they shouldn't show up. Fixes the docs build.
6723
6724 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6725         
6726         * gst/gstinfo.h:
6727         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6728         Define M_PI which is used in files which are including gstinfo.h. 
6729         VS6 includes doesn't define it.
6730         * win32/common/libgstbase.def:
6731         * win32/common/libgstcontroller.def:
6732         * win32/common/libgstreamer.def:
6733         Add new exported functions and variables.
6734         * win32/vs6/libgstcontroller.dsp:
6735         * win32/vs6/libgstreamer.dsp:
6736         Update the list of files to build.
6737         
6738 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6739
6740         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6741
6742         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6743         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6744         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6745         Improve debugging. Fixes #480858.
6746
6747 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6748
6749         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6750
6751         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6752         First patch of code cleanups, use the macros and right arguments in the
6753         macros to signal and lock the queue. See #480858.
6754
6755 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6756
6757         * gst/gstbus.c: (poll_func):
6758         Improve debugging when dealing with _poll().
6759
6760 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6761
6762         * gst/gstregistryxml.c:
6763           Fix memory leak I introduced a few days ago.
6764
6765 2007-09-26  Michael Smith <msmith@fluendo.com>
6766
6767         * gst/gstbuffer.c: (gst_buffer_finalize):
6768           Make it once again possible to free GstBuffers in the default
6769           build.
6770           The poisoning scribbles on parts of the miniobject we need in
6771           order to free it.
6772           Fixes #480341
6773
6774 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6775
6776         * docs/gst/gstreamer-sections.txt:
6777         * gst/gsttaglist.c:
6778         * gst/gsttaglist.h:
6779         API: add GST_TAG_COMPOSER, fixes #459809.
6780
6781 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6782
6783         * gst/gstplugin.c:
6784         * gst/gstplugin.h:
6785         Add the 3-clause BSD license and the MIT/X11 license to the license
6786         list. Fixes #479784.
6787
6788 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6789
6790         * docs/faq/getting.xml:
6791           Add Q+A about different GStreamer versions (#364056).
6792
6793 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6794
6795         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6796         (gst_base_sink_event), (gst_base_sink_change_state):
6797         Return correct gboolean from query function.
6798
6799 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6800
6801         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6802         (gst_base_sink_event), (gst_base_sink_query),
6803         (gst_base_sink_change_state):
6804         Simplify latency query.
6805         When not synchronizing, we can report latency without querying the peer
6806         element.
6807
6808 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6809
6810         * gst/gstobject.h:
6811         * gst/gstvalue.c:
6812         Fix small typos in the docs.
6813
6814 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6815
6816         * docs/design/draft-latency.txt:
6817         * docs/design/draft-push-pull.txt:
6818         * docs/design/draft-tagreading.txt:
6819         * docs/design/part-MT-refcounting.txt:
6820         * docs/design/part-activation.txt:
6821         * docs/design/part-block.txt:
6822         * docs/design/part-element-source.txt:
6823         * docs/design/part-events.txt:
6824         * docs/design/part-gstbin.txt:
6825         * docs/design/part-gstelement.txt:
6826         * docs/design/part-gstobject.txt:
6827         * docs/design/part-gstpipeline.txt:
6828         * docs/design/part-messages.txt:
6829         * docs/design/part-preroll.txt:
6830         * docs/design/part-push-pull.txt:
6831         * docs/design/part-qos.txt:
6832         * docs/design/part-query.txt:
6833         * docs/design/part-scheduling.txt:
6834         * docs/design/part-seeking.txt:
6835         * docs/design/part-segments.txt:
6836         * docs/design/part-states.txt:
6837         Documentation updates and typo fixes.
6838
6839 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6840
6841         * plugins/elements/gstfakesink.c:
6842           Add some debug text to error message to indicate that
6843           we errored out on request.
6844
6845         * tools/gst-launch.c:
6846           When the state change to PLAYING fails, check for an
6847           error message on the bus and print it.
6848
6849 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6850
6851         translated by: Jorge González González <aloriel@gmail.com>
6852
6853         * po/LINGUAS:
6854         * po/es.po:
6855           Added Spanish translation.
6856
6857 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6858
6859         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6860         Fix printf arguments.
6861
6862 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6863
6864         * tests/check/generic/states.c:
6865           Improved state change unit test.
6866
6867 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6868
6869         * gst/gstbin.h:
6870           Move priv to the right place.
6871
6872         * gst/gstsystemclock.c:
6873           Add FIXME: and improve log.
6874
6875         * tests/check/Makefile.am:
6876         * tests/examples/manual/Makefile.am:
6877           Work with all types of registries.
6878
6879 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6880
6881         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6882         Don't unref the event after pushing it. Fixes #478401.
6883
6884 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6885
6886         * .cvsignore:
6887         * tests/examples/manual/.cvsignore:
6888           Ignore registries in any format.
6889
6890 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6891
6892         * gst/glib-compat-private.h:
6893           Add compatibility macro for g_intern_string() for
6894           GLib-2.8 (any reason we can't just bump the
6895           requirement to at least 2.10?)
6896
6897         * gst/gstpadtemplate.h:
6898         * gst/gstelementfactory.c:
6899         * gst/gstregistryxml.c:
6900         * gst/gstregistrybinary.c:
6901           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6902           up the internal code accordingly.  This shouldn't be a problem, since
6903           there is no reason external code could ever assume the string in such
6904           a structure is dynamically allocated unless it did that itself;  the
6905           use of g_strdup() is private to element factories.  The new code also
6906           saves some memory by putting pad template name strings into the GLib
6907           quark table instead of allocating them dynamically.
6908           Declaring this field constant fixes warnings with g++-4.2 when using
6909           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6910
6911 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6912
6913         * gst/gstelementfactory.c:
6914           Release static caps. Fixes #475723.
6915
6916 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6917
6918         * gst/gstinfo.c:
6919         * gst/gstinfo.h:
6920           Make some internal API take const gchar * instead of just
6921           gchar * to avoid compiler warnings with g++-4.2.2 when
6922           passing string constants (partially fixes #478092).
6923
6924 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6925
6926         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6927         A latency query fails when one of the sinks fail.
6928
6929         * gst/gstelement.c: (gst_element_set_base_time):
6930         Improve debugging.
6931
6932 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6933
6934         * gst/gstbin.c: (gst_bin_continue_func):
6935         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6936         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6937         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6938
6939         Fix minor compilation warnings shown with Forte.
6940
6941 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6942
6943         * plugins/elements/gstqueue.c: (apply_buffer),
6944         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6945         Measure queue level based on the diff between head and tail timestamps
6946         even when pushing the first buffer.
6947
6948 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6949
6950         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6951         (gst_base_sink_event), (gst_base_sink_change_state):
6952         Sinks that don't preroll can always be queried for the latency.
6953         Don't post ASYNC start when we are not async.
6954
6955 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6956
6957         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6958         (gst_queue_handle_sink_event), (gst_queue_chain),
6959         (gst_queue_push_one), (gst_queue_handle_src_query),
6960         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6961         * plugins/elements/gstqueue.h:
6962         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6963         push more buffers but allow pushing of EOS and NEWSEGMENT.
6964         Add some more debug info here and there. Fixes #476514.
6965
6966 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6967
6968         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6969         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6970         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6971         (gst_base_sink_set_flushing), (gst_base_sink_query),
6972         (gst_base_sink_change_state):
6973         Latency query is allowed after we are prerolled. Introduce a new flag
6974         for this and stop abusing other variables.
6975
6976 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6977
6978         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6979         Push OOB events downstream when we get them in send_event. This allows
6980         the application to insert events in the pipeline.
6981         Add some more comments.
6982
6983 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6984
6985         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6986         (do_bin_latency), (gst_bin_change_state_func):
6987         * gst/gstpipeline.c: (gst_pipeline_change_state):
6988         Move latency query from GstPipeline to GstBin so that we can also
6989         use it when async-handling is enabled on bins.
6990
6991 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6992
6993         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6994         (gst_base_src_do_sync), (gst_base_src_change_state):
6995         Update docs.
6996         Clean up the timestamping and syncing code for pseudo live sources.
6997
6998 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6999
7000         Patch by: Steve Fink  <sphink gmail com>
7001
7002         * docs/manual/appendix-checklist.xml:
7003           Mention less -R switch in the section about debug output (#474055).
7004
7005 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7006
7007         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
7008         Queue can latency to the pipeline up to the configured max size in time.
7009         Report this fact in the latency query.
7010
7011 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7012
7013         Patch by: Sebastien Moutte <sebastien at moutte dot net>
7014
7015         * libs/gst/controller/gstinterpolation.c:
7016         * libs/gst/controller/gstlfocontrolsource.c:
7017         Use gst_guint64_to_gdouble() when converting from a uint64 or
7018         GstClockTime to double to fix the build on win32. Fixes #474371.
7019
7020 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7021
7022         * gst/gstbuffer.c: (gst_buffer_finalize):
7023         Implement poisoning for GstBuffer if --enable-poisoning is specified.
7024         When finalizing a buffer the complete struct is filled with 0xff,
7025         thus making a use of the buffer after the final unref impossible.
7026
7027 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7028
7029         * tests/check/libs/controller.c: (GST_START_TEST):
7030         Use fail_unless_equals_int(a, b) instead of
7031         fail_unless_equals (a == b) to get better output on failures.
7032
7033 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7034
7035         * tests/check/gst/gsturi.c:
7036           Also check for the other file URI variant on win32.
7037
7038 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7039
7040         * gst/gsturi.c: (gst_uri_get_location):
7041           If there's no hostname, we want to return 'c:/foo/bar.txt'
7042           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
7043
7044         * tests/check/gst/gsturi.c:
7045           Unit test for the above and a few more things.
7046
7047 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7048
7049         * docs/design/part-live-source.txt:
7050         Add docs on how live sources should timestamp.
7051
7052         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7053         Add some more debug info.
7054         For subclasses that are live and like to sync, add aditional startup
7055         latency to sync time and timestamps so that we timstamp according to the
7056         design doc.
7057
7058 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7059
7060         * gst/gstbuffer.c:
7061           Also do a g_type_class_ref() for the subbuffer type in
7062           the init function.
7063
7064 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7065
7066         * docs/gst/gstreamer-sections.txt:
7067         * gst/gstpad.c: (gst_pad_peer_query):
7068         * gst/gstpad.h:
7069         Add function to perform a query on the peer of a pad.
7070         API: gst_pad_peer_query()
7071
7072 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
7073
7074         * tests/check/gst/gstsystemclock.c:
7075           Cleanup the test a little (use gst-logging and not g_message). Improve
7076           test to check if a wait reached the target.
7077
7078 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7079
7080         * docs/libs/gstreamer-libs-sections.txt:
7081           Add new API to docs and fix the build.
7082
7083 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
7084
7085         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7086         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7087         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7088         (gst_base_src_get_property), (gst_base_src_do_sync):
7089         * libs/gst/base/gstbasesrc.h:
7090         Add property to make the basesrc timestamp buffers based on the current
7091         running time.
7092         API: GstBaseSrc::do-timestamp
7093         API: gst_base_src_set_do_timestamp()
7094         API: gst_base_src_get_do_timestamp()
7095
7096 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7097
7098         * docs/random/release:
7099           Really make sure translations are up-to-date before
7100           a release (#465010).
7101
7102 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7103
7104         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7105         Always destroy the timer, also in error cases.
7106
7107 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7108
7109         * docs/manual/highlevel-xml.xml:
7110         Fix XML example code. Fixes #472714.
7111
7112 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7113
7114         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7115         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7116         (gst_base_sink_query):
7117         Protect eos and have_preroll with the OBJECT lock so we don't need to
7118         take the PREROLL lock when querying the latency. Fixes #473846.
7119
7120 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7121
7122         * gst/gstelement.c:
7123           Give some log-messages a category.
7124
7125 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7126
7127         * gst/gststructure.c:
7128         (gst_structure_fixate_field_nearest_fraction):
7129         Fix fraction list fixation code. Take the fraction with the smallest
7130         difference with the target instead of the first one in the list.
7131
7132         * tests/check/gst/gststructure.c: (GST_START_TEST),
7133         (gst_structure_suite):
7134         Added test to verify correct fraction list fixation behaviour.
7135
7136 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7137
7138         * win32/common/libgstreamer.def:
7139           Export gst_bus_add_signal_watch too.
7140
7141 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7142
7143         * docs/libs/gstreamer-libs-sections.txt:
7144         Add new methods to docs.
7145
7146         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7147         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7148         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7149         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7150         * libs/gst/base/gstbasesink.h:
7151         Add ts-offset property to fine-tune the synchronisation.
7152         API: GstBaseSink::ts-offset property
7153         API: gst_base_sink_set_ts_offset()
7154         API: gst_base_sink_get_ts_offset()
7155
7156 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7157
7158         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7159         (gst_base_sink_init), (gst_base_sink_set_sync),
7160         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7161         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7162         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7163         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7164         (gst_base_sink_get_property), (gst_base_sink_change_state):
7165         * libs/gst/base/gstbasesink.h:
7166         Add async property to instruct the sink never to inform the parent about
7167         ASYNC state changes, update docs.
7168         Check argument with g_return_* for the public functions.
7169         API: GstBaseSink::async property
7170         API: gst_base_sink_set_async_enabled()
7171         API: gst_base_sink_is_async_enabled()
7172
7173 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7174
7175         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7176         Improve debugging.
7177
7178         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7179         (gst_base_src_default_query), (gst_base_src_wait),
7180         (gst_base_src_do_sync), (gst_base_src_change_state):
7181         Rearrange some code so that we can add support for measuring the 
7182         startup latency.
7183
7184 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7185
7186         * docs/random/ensonic/dynlink.txt:
7187           More thoughs on this.
7188
7189         * plugins/elements/gstcapsfilter.c:
7190           Add bugzilla ticket number to FIXME comment.
7191
7192 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7193
7194         * docs/design/part-TODO.txt:
7195         * docs/design/part-block.txt:
7196         Update some docs.
7197
7198 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7199
7200         * gst/Makefile.am:
7201           Revert patch which uses $(gst_headers) instead of $^ because it
7202           breaks make dist.
7203
7204 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7205
7206         * tests/check/gst/gstbin.c: (GST_START_TEST):
7207           Fix leaks in the new unit test.
7208
7209 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7210
7211         * gst/gst.c:
7212           Don't use GST_INFO before the debug system is actually initialised
7213           (shouldn't do any harm, but won't print anything either, so we can
7214           just as well remove it).
7215
7216         * gst/gstinfo.h:
7217           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7218           compilers that don't support variadic macros (such as MSVC), should
7219           check for debug_level <= __gst_debug_min as well, since that's the
7220           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7221           inline helper functions. Should improve performance a bit, but also
7222           makes sure uses of GST_INFO et.al are ignored if the debugging
7223           system isn't initialised yet (instead of printing an assertion
7224           failure).
7225
7226 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7227
7228         patch by: David Nečas <yeti@physics.muni.cz>
7229
7230         * gst/Makefile.am:
7231           Replace some non portable makefile constructs.
7232
7233 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7234
7235         * common/gtk-doc-plugins.mak:
7236           Grrrrr. Don't remove the types file on make clean.
7237
7238 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7239
7240         * tools/gst-launch.1.in:
7241         Add colorspace to example pipeline. Fixes #458274.
7242
7243 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7244
7245         * docs/random/release:
7246           The release manager should run 'make download-po' before making a
7247           release to make sure translations are up-to-date.
7248
7249         * po/LINGUAS:
7250         * po/be.po:
7251         * po/pl.po:
7252         * po/rw.po:
7253           Add some new translations.
7254
7255 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7256
7257         * tools/gst-launch.c: (event_loop), (main):
7258         Don´t try to do any state management when a live pipeline posts
7259         buffering messages.
7260         Also make the buffering string translatable.
7261
7262 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7263
7264         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7265         (bin_handle_async_start), (gst_bin_handle_message_func):
7266         Improve debugging.
7267         When adding elements, insert messages into the bus of the newly added
7268         element and make sure the element is the source of the message. This
7269         allows the parent bin to intercept the message and do the
7270         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7271         messages to the app (which is not allowed).
7272         Update some docs.
7273
7274         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7275         Fix testsuite so that is does not work around messages that should not
7276         have been posted in the first place.
7277
7278 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7279
7280         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7281         (update_degree), (gst_bin_sort_iterator_next):
7282         Fix annoying bug in the sorted iterator where a sink that is not really
7283         a sink (when it has downstream links) screwed up the iterator.
7284
7285         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7286         Unit test to verify the fix.
7287
7288 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7289
7290         * gst/gstmessage.h:
7291         Add some more docs for the messages.
7292
7293         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7294         (gst_base_sink_query):
7295         Add some more debugging.
7296
7297         * tools/gst-launch.c: (event_loop):
7298         When interrupting, don't try to set pipeline to PAUSED twice.
7299
7300 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7301
7302         
7303         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7304         (bin_handle_async_start), (gst_bin_handle_message_func):
7305         Move ASYNC_START message posting to where it belongs, similar to
7306         async_done. 
7307         Don't post ASYNC_START when we are in error. 
7308         Post ASYNC_START when we added an async element to a bin.
7309
7310 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7311
7312         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7313         generation from vargs. Fixes #466595.
7314
7315 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7316
7317         * gst/gstbin.c: (gst_bin_element_set_state):
7318         Always change the state of a NO_PREROLL element even if it has ASYNC
7319         elements inside (in case of a bin).
7320
7321         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7322         Unit test for this case.
7323
7324 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7325
7326         * libs/gst/check/gstbufferstraw.c:
7327         * libs/gst/check/gstcheck.h:
7328         * libs/gst/controller/gstcontroller.c:
7329         * libs/gst/controller/gstcontrolsource.h:
7330         * libs/gst/controller/gstlfocontrolsource.h:
7331         * plugins/elements/gstcapsfilter.h:
7332         * plugins/elements/gstfdsink.h:
7333         * plugins/elements/gstfdsrc.h:
7334           Add more missing docs.
7335
7336 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7337
7338         * gst/gststructure.c:
7339         Add Since tag to docs.
7340
7341 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7342
7343         * docs/gst/gstreamer-sections.txt:
7344         * gst/gststructure.c: (gst_structure_get_uint):
7345         * gst/gststructure.h:
7346         Add function to get uint from a structure.
7347         API: gst_structure_get_uint()
7348
7349 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7350
7351         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7352         (gst_caps_intersect):
7353         Fix proper check for simple caps.
7354
7355 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7356
7357         * docs/gst/Makefile.am:
7358         * docs/libs/Makefile.am:
7359           Remove cruft and do some cleanups.
7360
7361         * docs/gst/gstreamer-docs.sgml:
7362         * docs/libs/gstreamer-libs-docs.sgml:
7363           Prepare for comming gtkdoc features (rebase against online docs).
7364
7365 2007-08-10  Michael Smith <msmith@fluendo.com>
7366
7367         * docs/gst/gstreamer-sections.txt:
7368           Add gst_registry_add_path to docs.
7369
7370 2007-08-10  Michael Smith <msmith@fluendo.com>
7371
7372         * gst/gstregistry.h:
7373           Add gst_registry_add_path, which was missing from this header.
7374
7375 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7376
7377         * libs/gst/controller/gstlfocontrolsource.c:
7378           Printf format fix.
7379
7380 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7381
7382         * libs/gst/base/gstbasesink.c:
7383           Don't send an async_start message during downwards state change if 
7384           target state is less than READY
7385
7386 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7387
7388         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7389
7390         * po/LINGUAS:
7391         * po/hu.po:
7392           Added Hungarian translation.
7393
7394 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7395
7396         * po/fi.po:
7397         * po/it.po:
7398         * po/nl.po:
7399         * po/sv.po:
7400         * po/uk.po:
7401           Updated translations.
7402
7403 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7404
7405         * libs/gst/controller/Makefile.am:
7406         Dist gstlfocontrolsourceprivate.h
7407
7408 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7409
7410         * docs/libs/gstreamer-libs.types:
7411         Don't register the enum type gst_lfo_waveform_get_type() in the
7412         .types file - only GObject derived types belong.
7413
7414 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7415
7416         Patch by: <arenevier at fdn dot fr>
7417
7418         * gst/gstbuffer.h:
7419         Remove comma from last element in enum to avoid compile errors when
7420         using -pendantic. Fixes #464366.
7421
7422 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7423
7424         * docs/design/part-TODO.txt:
7425         Add some more TODO items
7426
7427         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7428         Improve debugging.
7429
7430         * gst/gstcaps.c: (gst_caps_intersect):
7431         Optimize trivial intersection case between identical caps pointers.
7432
7433         * gst/gstelement.c: (gst_element_continue_state),
7434         (gst_element_set_state_func):
7435         * gst/gstpad.c:
7436         Fix spelling and grammar mistakes.
7437
7438 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7439
7440         * po/POTFILES.in:
7441         * po/POTFILES.skip:
7442           Update POTFILES. Fixes #461599.
7443
7444 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7445
7446         * gst/gst.c:
7447         Fix confusing typo in debug output.
7448
7449 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7450
7451         reviewed by: Stefan Kost <ensonic@users.sf.net>
7452
7453         * libs/gst/controller/Makefile.am:
7454         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7455         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7456         (gst_lfo_control_source_new),
7457         (gst_lfo_control_source_set_waveform),
7458         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7459         (gst_lfo_control_source_finalize),
7460         (gst_lfo_control_source_dispose),
7461         (gst_lfo_control_source_set_property),
7462         (gst_lfo_control_source_get_property),
7463         (gst_lfo_control_source_class_init):
7464         * libs/gst/controller/gstlfocontrolsource.h:
7465         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7466         API: Add GstLFOControlSource, a control source that gives values
7467         for specific timestamps based on several periodic waveforms.
7468         Fixes #459717.
7469
7470         * tests/check/libs/controller.c: (GST_START_TEST),
7471         (gst_controller_suite):
7472         * docs/libs/gstreamer-libs-docs.sgml:
7473         * docs/libs/gstreamer-libs-sections.txt:
7474         * docs/libs/gstreamer-libs.types:
7475         Add documentation and unit tests for GstLFOControlSource.
7476
7477 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7478
7479         * configure.ac:
7480         Back to CVS
7481
7482 === release 0.10.14 ===
7483
7484 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7485
7486         * configure.ac:
7487           releasing 0.10.14, "Breathing Vacuum"
7488
7489 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7490
7491         * gst/gstelement.c: (gst_element_class_set_details_simple):
7492         * gst/gstelement.h:
7493           Make strings passed to gst_element_class_set_details_simple()
7494           constant, as they should be (#462752).
7495
7496 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7497
7498         * gst/gstbin.c: (gst_bin_change_state_func),
7499         (bin_handle_async_done), (gst_bin_handle_message_func):
7500         Don't forget about the fact that some element went ASYNC even after a
7501         resync. This makes us post the ASYNC_DONE message correctly.
7502         Fixes #462558.
7503
7504 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7505
7506         * gst/gstregistry.c: (gst_registry_add_feature):
7507         When replacing an existing feature in the registry, make sure to
7508         continue holding a reference until we've replaced the name string
7509         within our feature hash table. Make sure to use g_hash_table_replace
7510         instead of g_hash_table_insert to ensure the new name string is used
7511         as a key instead of the old one that we're about to free.
7512         Fixes: #462085
7513
7514 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7515
7516         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7517         (gst_plugin_feature_set_name):
7518         Revert patch from #459466 until after the release and we can work
7519         out exactly what the problem is (if any).
7520
7521 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7522
7523         * docs/gst/gstreamer-sections.txt:
7524         * gst/gsttaglist.c:
7525         * gst/gsttaglist.h:
7526           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7527
7528 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7529
7530         * docs/libs/Makefile.am:
7531         Include our build-prefix libs and includes before the generic ones to
7532         avoid linking against the installed libs when we want the build-tree
7533         ones.
7534
7535 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7536
7537         Patch by: Steve Fink  <sphink gmail com>
7538
7539         * docs/pwg/building-testapp.xml:
7540           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7541           if people try to build or install the example from the plugin
7542           template against a GStreamer from package using the configure
7543           defaults.
7544
7545 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7546
7547         Patch by: Steve Fink  <sphink gmail com>
7548
7549         * tools/gst-inspect.1.in:
7550           Document --print-all and --print-plugin-auto-install-info command
7551           line options in man page.
7552
7553 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7554
7555         * docs/gst/gstreamer-sections.txt:
7556         Add docs for new api function.
7557
7558 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7559
7560         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7561         * gst/gstelementfactory.h:
7562         API: gst_element_factory_has_interface()
7563         Added method to check if an element factory implements a named
7564         interface.
7565
7566 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7567
7568         * configure.ac:
7569         * docs/gst/gstreamer.types.in:
7570           Another conditional doc check.
7571
7572         * gst/gstmessage.c:
7573         * gst/gstparamspecs.h:
7574         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7575         * gst/gstvalue.c:
7576         * gst/gstxml.h:
7577           API-doc fixes.
7578
7579 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7580
7581         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7582         (gst_registry_binary_load_feature),
7583         (gst_registry_binary_load_plugin),
7584         (gst_registry_binary_read_cache):
7585           Print error just once and with additional info.
7586
7587 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7588
7589         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7590         (helper_find_suggest), (helper_find_get_length),
7591         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7592         (gst_type_find_helper_for_buffer):
7593           Cleanup the typefindhelper code and add private doc comments.
7594
7595 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7596
7597         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7598         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7599         Fix capsfilter for cases where the caps set on capsfilter will provide
7600         additional information.
7601         Fixes #449197
7602
7603 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7604
7605         * gst/gsttypefindfactory.c:
7606           Fix docs that recommened wrong function to use.
7607
7608 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7609
7610         * tools/gst-inspect.c: (print_plugin_features):
7611           Also give media-type for typefinders in element output.
7612
7613 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7614
7615         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7616         (gst_registry_remove_features_for_plugin_unlocked),
7617         (gst_registry_add_feature), (gst_registry_remove_feature),
7618         (gst_registry_lookup_feature_locked):
7619         * gst/gstregistry.h:
7620           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7621           Fixes #459501.
7622
7623 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7624
7625         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7626         (gst_plugin_feature_set_name):
7627           Avoid double memory usage for pluginfeature names. Fixes #459466.
7628
7629 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7630
7631         * gst/gstpad.h:
7632           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7633           driving the pipeline may need to explicitly check for NOT_LINKED as
7634           well, since IS_FATAL doesn't cover that.
7635
7636 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7637
7638         * docs/pwg/advanced-types.xml:
7639           Fix typo and duplicate entry in video formats list.
7640
7641 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7642
7643         * libs/gst/controller/gstinterpolation.c:
7644         Also round to the nearest int when using cubic interpolation.
7645
7646 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7647
7648         * libs/gst/controller/gstinterpolation.c:
7649         When linearly interpolating integer types, round to the nearest int
7650         by adding 0.5. Don't do it for float/double types.
7651         Fixes the failing controller test on my machine, which is somehow
7652         rounding differently than on the buildbots.
7653
7654 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7655
7656         * tools/gst-plot-timeline.py:
7657           Better log parsing (categories can have -). Adjust text vs. lines, so
7658           that they span the same y-range.        
7659
7660 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7661
7662         * docs/random/ensonic/audiobaseclasses.txt:
7663         * docs/random/ensonic/dynlink.txt:
7664         * docs/random/ensonic/profiling.txt:
7665           Save my thoughts.
7666
7667         * docs/random/moving-plugins:
7668           Add note to use g_assert type macros.
7669
7670 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7671
7672         * configure.ac:
7673         * libs/gst/check/Makefile.am:
7674           Add libm check as we use in for plugins.
7675
7676 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7677
7678         * gst/gstbin.c: (gst_bin_continue_func):
7679         Check that the state_cookie hasn't changed since the continue_func
7680         was scheduled. Avoids problems where the state changes back to
7681         something it shouldn't be because it was changed in the meantime.
7682
7683 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7684
7685         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7686         (gst_registry_binary_save_string),
7687         (gst_registry_binary_save_pad_template),
7688         (gst_registry_binary_save_feature),
7689         (gst_registry_binary_save_plugin),
7690         (gst_registry_binary_load_feature),
7691         (gst_registry_binary_load_plugin),
7692         (gst_registry_binary_read_cache):
7693           Fix memory leak. Be less verbose in the log.
7694
7695 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7696
7697         * tests/check/elements/.cvsignore:
7698         Add file to cvsignore as commanded.
7699
7700 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7701
7702         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7703         (mq_dummypad_event), (run_output_order_test):
7704         Use a GStaticMutex to protect all cases where libcheck
7705         fail_if/fail_unless macros might be called from multiple threads
7706         simultaneously to avoid errors like:
7707           "check_pack.c:107: :-1081725400:Bad message type arg"
7708
7709 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7710
7711         * tests/check/pipelines/stress.c: (GST_START_TEST):
7712         Make sure we set the pipeline back to the NULL state before
7713         dropping our final reference.
7714
7715 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7716
7717         * tests/check/elements/tee.c: (GST_START_TEST):
7718         Make the tee stress-test a little less stressful so it doesn't just
7719         time out on slow-machines, and remove a small race when it's starting 
7720         up by adding a get_state() call.
7721
7722 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7723
7724         * gst/gst.c:
7725           Avoid reading registry twice on startup. Fixes #457322.
7726
7727 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7728
7729         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7730         * pkgconfig/gstreamer-check.pc.in:
7731         Substitute the CFLAGS for libcheck into our .pc file too so that
7732         dependent modules will pick it up properly if libcheck is installed
7733         into some other prefix.
7734
7735 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7736
7737         * configure.ac:
7738         Revert the pkg-config check for libcheck, since it pulls in the
7739         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7740         a proper solution, either from the check project, or something else.
7741
7742 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7743
7744         * configure.ac:
7745           Use pkg-config to locate check.
7746
7747 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7748
7749         * gst/gsttaglist.c:
7750           Fix doc syntax.
7751
7752         * gst/gstutils.c:
7753         * gst/gstutils.h:
7754           Add deprecation guards.
7755
7756         * libs/gst/base/gstcollectpads.h:
7757           Don't document object (this is implicitly private).
7758
7759 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7760
7761         * gst/gststructure.c: (gst_structure_parse_value):
7762           When deserialising foo=bar without a type cast, check if it's a
7763           boolean before falling back to a string type, otherwise things like
7764           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7765           because the filtercaps end up having a signed=(string)true field,
7766           which causes problems later when intersection caps.
7767
7768         * tests/check/gst/gststructure.c: (GST_START_TEST):
7769           Add a unit test for this.
7770
7771 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7772
7773         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7774
7775         * libs/gst/controller/Makefile.am:
7776         * libs/gst/controller/gstcontroller.c:
7777         (gst_controlled_property_add_interpolation_control_source),
7778         (gst_controlled_property_new), (gst_controlled_property_free),
7779         (gst_controller_find_controlled_property),
7780         (gst_controller_new_valist), (gst_controller_new_list),
7781         (gst_controller_new), (gst_controller_remove_properties_valist),
7782         (gst_controller_remove_properties_list),
7783         (gst_controller_remove_properties),
7784         (gst_controller_set_property_disabled),
7785         (gst_controller_set_disabled), (gst_controller_set_control_source),
7786         (gst_controller_get_control_source), (gst_controller_get),
7787         (gst_controller_sync_values), (gst_controller_get_value_array),
7788         (_gst_controller_dispose), (gst_controller_get_type),
7789         (gst_controlled_property_set_interpolation_mode),
7790         (gst_controller_set), (gst_controller_set_from_list),
7791         (gst_controller_unset), (gst_controller_unset_all),
7792         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7793         * libs/gst/controller/gstcontroller.h:
7794         * libs/gst/controller/gstcontrollerprivate.h:
7795         * libs/gst/controller/gstcontrolsource.c:
7796         (gst_control_source_class_init), (gst_control_source_init),
7797         (gst_control_source_get_value),
7798         (gst_control_source_get_value_array), (gst_control_source_bind):
7799         * libs/gst/controller/gstcontrolsource.h:
7800         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7801         (gst_object_get_control_source):
7802         * libs/gst/controller/gstinterpolation.c:
7803         (gst_interpolation_control_source_find_control_point_node),
7804         (gst_interpolation_control_source_get_first_value),
7805         (_interpolate_none_get), (interpolate_none_get),
7806         (interpolate_none_get_boolean_value_array),
7807         (interpolate_none_get_enum_value_array),
7808         (interpolate_none_get_string_value_array),
7809         (_interpolate_trigger_get), (interpolate_trigger_get),
7810         (interpolate_trigger_get_boolean_value_array),
7811         (interpolate_trigger_get_enum_value_array),
7812         (interpolate_trigger_get_string_value_array):
7813         * libs/gst/controller/gstinterpolationcontrolsource.c:
7814         (gst_control_point_free), (gst_interpolation_control_source_reset),
7815         (gst_interpolation_control_source_new),
7816         (gst_interpolation_control_source_set_interpolation_mode),
7817         (gst_interpolation_control_source_bind),
7818         (gst_control_point_compare), (gst_control_point_find),
7819         (gst_interpolation_control_source_set_internal),
7820         (gst_interpolation_control_source_set),
7821         (gst_interpolation_control_source_set_from_list),
7822         (gst_interpolation_control_source_unset),
7823         (gst_interpolation_control_source_unset_all),
7824         (gst_interpolation_control_source_get_all),
7825         (gst_interpolation_control_source_get_count),
7826         (gst_interpolation_control_source_init),
7827         (gst_interpolation_control_source_finalize),
7828         (gst_interpolation_control_source_dispose),
7829         (gst_interpolation_control_source_class_init):
7830         * libs/gst/controller/gstinterpolationcontrolsource.h:
7831         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7832         API: Refactor GstController into the core controller which can take
7833         a GstControlSource for providing actual values for timestamps.
7834         Implement a interpolation control source and use this for backward
7835         compatibility, deprecate a bunch of functions that are now handled
7836         by GstControlSource or GstInterpolationControlSource.
7837         Make it possible to disable the controller completely or only for
7838         specific properties. Fixes #450711.
7839         * docs/libs/gstreamer-libs-docs.sgml:
7840         * docs/libs/gstreamer-libs-sections.txt:
7841         * docs/libs/gstreamer-libs.types:
7842         Add new functions and classes to the docs.
7843         * tests/check/libs/controller.c: (GST_START_TEST),
7844         (gst_controller_suite):
7845         * tests/examples/controller/audio-example.c: (main):
7846         Port unit test and example to the new API and add some new
7847         unit tests.
7848
7849 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7850
7851         Patch by: Mark Nauwelaerts <manauw at skynet be>
7852
7853         * plugins/elements/gstmultiqueue.c:
7854         (gst_multi_queue_get_internal_links), (apply_buffer),
7855         (single_queue_overrun_cb), (gst_single_queue_new):
7856         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7857         the pipeline layout can be tracked correctly. Fixes #453732.
7858
7859 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7860
7861         * docs/gst/Makefile.am:
7862         * docs/libs/Makefile.am:
7863         * docs/plugins/Makefile.am:
7864           Simplify --extra-dir as gtkdoc scans recursively.
7865
7866 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7867
7868         * tools/gst-launch.c: (main):
7869         When we got an error, there is no point in waiting for preroll when
7870         shutting down.
7871
7872 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7873
7874         * plugins/elements/gsttee.c: (gst_tee_base_init),
7875         (gst_tee_request_new_pad), (gst_tee_release_pad),
7876         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7877         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7878         (gst_tee_chain):
7879         Be a lot smarter when deciding what srcpad to use for proxying
7880         the buffer_alloc. Also handle pad added/removed when doing so.
7881         Fixes #357959.
7882         Keep track of what pads we already pushed on in case we have pads
7883         added/removed while pushing. Fixes #374639 
7884
7885         * tests/check/Makefile.am:
7886         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7887         (tee_suite):
7888         Added unit test for pad resync.
7889
7890 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7891
7892         * po/nl.po:
7893         * po/sv.po:
7894           Updated translations.
7895
7896 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7897
7898         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7899
7900         * po/LINGUAS:
7901         * po/fi.po:
7902           Added new Finnish translation.
7903
7904 2007-06-28  Wim Taymans  <wim@fluendo.com>
7905
7906         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7907         (single_queue_overrun_cb):
7908         When figuring out when a queue is filled, use our internal time estimate
7909         based on segments, just like check_full does.
7910
7911 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7912
7913         * gst/gstminiobject.c: (gst_mini_object_get_type):
7914           Remove 3 do-nothing methods.
7915
7916 2007-06-27  Wim Taymans  <wim@fluendo.com>
7917
7918         Patch by: Tim Angus <tim at ngus dot net>
7919
7920         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7921         (gst_capsfilter_set_property):
7922         Take a reference instead of a copy when setting "caps".
7923         Fix documentation to clarify this behaviour. Fixes #449414.
7924
7925 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7926
7927         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7928         * gst/gstplugin.c: (gst_plugin_init):
7929         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7930         * gst/gstquery.c: (gst_query_get_type):
7931         * gst/gstregistry.c: (gst_registry_init):
7932         * gst/gsturi.c: (gst_uri_handler_base_init):
7933           Remove empty instance_init() functions to save relocs and lessen the
7934           noise. Remove some of the function prototypes that are doubled by
7935           G_DEFINE_TYPE.
7936           
7937 2007-06-27  Wim Taymans  <wim@fluendo.com>
7938
7939         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7940
7941         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7942         Add peer and direction in the XML serialisation of ghostpads.
7943         Fixes #449226.
7944
7945 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7946
7947         * configure.ac:
7948           Preserve useful information, thanks Tim.
7949
7950 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7951
7952         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7953         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7954         (gst_single_queue_push_one), (gst_multi_queue_loop),
7955         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7956         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7957         (compute_high_id), (gst_single_queue_new):
7958         * plugins/elements/gstmultiqueue.h:
7959         Take the multiqueue lock when updating the fill level so we don't get
7960         confused. 
7961
7962         After applying a buffer or event on the src pad segment, make sure to
7963         call gst_data_queue_limits_changed() to get the data queue to unblock
7964         and check the filled state again.
7965         
7966         Rework the not-linked pad handling so the logic is that not-linked 
7967         pads can push as fast as they like, but only so they never get 
7968         ahead of any linked pads.
7969
7970         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7971         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7972         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7973
7974         Add a test to check that not-linked pads always stay behind
7975         linked pads.
7976
7977         Fixes: #430682
7978
7979 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7980
7981         * docs/random/release:
7982           Some updates to the release procedure.
7983
7984 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7985
7986         * gst/gstelementfactory.c: (__gst_element_details_clear):
7987           Microoptimization that saves stunning 80 bytes.
7988
7989 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7990
7991         * docs/plugins/gstreamer-plugins.args:
7992         * docs/plugins/inspect/plugin-coreelements.xml:
7993         * docs/plugins/inspect/plugin-coreindexers.xml:
7994           Update docs with caps info.
7995
7996 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7997
7998         * po/it.po:
7999           Updated Italian translation.
8000
8001 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8002
8003         * ChangeLog:
8004         * po/vi.po:
8005           Update Vietnamese translations.
8006
8007 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8008
8009         * libs/gst/base/gstbasesink.c:
8010           Remove unused signal enum.
8011
8012 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8013
8014         * docs/gst/gstreamer-sections.txt:
8015         * gst/gstelement.c:
8016         * gst/gstutils.c: (gst_type_register_static_full):
8017         Beef up and include the docs for gst_type_register_static_full and
8018         gst_element_class_set_details_simple and add the API keyword
8019         in the ChangeLog.
8020
8021 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8022
8023         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
8024         (update_time_level), (gst_single_queue_push_one),
8025         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
8026         (single_queue_overrun_cb), (single_queue_underrun_cb),
8027         (single_queue_check_full):
8028         Fix setting max-* properties after adding queues.
8029         Use IS_FILLED for checking visible items.
8030         Signal overrun if multiple queues overrun.
8031         Add extra debug output.
8032         Patch by: Wim Taymans <wim@fluendo.com>
8033
8034 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
8035
8036         * gst/gstelement.c: (gst_element_class_set_details_simple):
8037         * gst/gstelement.h:
8038         * gst/gstutils.c: (gst_type_register_static_full):
8039         * gst/gstutils.h:
8040         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
8041         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
8042         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
8043         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
8044         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
8045         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
8046         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
8047         * plugins/elements/gstidentity.c: (gst_identity_base_init):
8048         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
8049         * plugins/elements/gstqueue.c: (gst_queue_base_init),
8050         (apply_buffer), (gst_queue_chain):
8051         * plugins/elements/gsttee.c: (gst_tee_base_init):
8052         * plugins/elements/gsttypefindelement.c:
8053         (gst_type_find_element_base_init),
8054         (gst_type_find_element_class_init):
8055           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
8056           API: add gst_type_register_static_full
8057           API: add gst_element_class_set_details_simple
8058
8059 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8060
8061         * docs/pwg/advanced-types.xml:
8062           Fix typo in iana.org URI.
8063
8064 2007-06-19  Andy Wingo  <wingo@pobox.com>
8065
8066         * tests/check/pipelines/simple-launch-lines.c
8067         (test_state_change_returns): Enable pull-mode tests now that
8068         basesink has been fixed.
8069
8070         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8071         Changed from gst_base_sink_is_prerolled, reversing the sense of
8072         the return value. Returns FALSE also if the sink is in pull mode,
8073         in which case it needs no preroll.
8074         (gst_base_sink_query, gst_base_sink_change_state): Update for
8075         needs_preroll change.
8076         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8077         chaining up, in which we return SUCCESS directly if we activated
8078         in pull mode instead of ASYNC. Involves countering an async_start
8079         message sent before chaining up; not sure if this is correct, in
8080         an ideal world we only send async-start when activating in push
8081         mode.
8082
8083         * tests/check/pipelines/simple-launch-lines.c
8084         (test_state_change_returns): New test, partially disabled until
8085         basesink is fixed.
8086
8087 2007-06-19  Wim Taymans  <wim@fluendo.com>
8088
8089         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8090         (gst_multi_queue_sink_event):
8091         Fix event leak.
8092
8093 2007-06-19  Wim Taymans  <wim@fluendo.com>
8094
8095         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8096         (gst_bin_change_state_func), (bin_push_state_continue),
8097         (bin_handle_async_start), (bin_handle_async_done),
8098         (gst_bin_handle_message_func):
8099         Move the common code for posting state-change messages into
8100         one function.
8101         Broadcast the state signal after we posted the messages.
8102         Mark the bin as busy when it's doing a state-change.
8103         Make sure async-start/done messages don't interfere with the bin's
8104         state when it's busy.
8105         After the state change, let the bin check which elements completed the
8106         state change while it was busy so that it can update its state.
8107
8108 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8109
8110         * docs/random/release:
8111         Add a note about updating the doap file to the release checklist
8112
8113 2007-06-18  Wim Taymans  <wim@fluendo.com>
8114
8115         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8116         (gst_single_queue_push_one), (gst_multi_queue_chain),
8117         (gst_multi_queue_sink_event):
8118         Make sure we don't reference the buffer/event after we have given away
8119         ownership in the queue.
8120
8121 2007-06-18  Wim Taymans  <wim@fluendo.com>
8122
8123         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8124         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8125         Update queue state _after_ adding the item in the queue because else we
8126         could end up being full without the element added yet.
8127
8128 2007-06-18  Wim Taymans  <wim@fluendo.com>
8129
8130         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8131         (gst_bin_remove_func), (gst_bin_get_state_func),
8132         (gst_bin_element_set_state), (gst_bin_continue_func),
8133         (bin_push_state_continue), (bin_handle_async_start),
8134         (bin_handle_async_done), (gst_bin_handle_message_func):
8135         * gst/gstbin.h:
8136         Immediatly commit the toplevel bin state when receiving an async-done
8137         message. This enables us to avoid spawning a thread to commit the state
8138         in some common cases and it also avoids some races.
8139         Avoid spawning a state thread when adding/removing async elements to a
8140         toplevel bin. Instead we immediatly update the bin state.
8141         Get rid of iterating all the children when getting the state in the bin
8142         because it is now always up-to-date.
8143         Fix bug where locked elements would always return _SUCCESS even it they
8144         returned NO_PREROLL before being locked.
8145         Fix the order of the state_change, async-start/done messages that was
8146         sometimes incorrect.
8147         Mark the state_dirty field as deprecated, we don't need it anymore as we
8148         are always up-to-date.
8149
8150         * gst/gstelement.c: (gst_element_get_state_func),
8151         (gst_element_continue_state):
8152         Small debug inprovements.
8153         Return the previous element state return when nothing is pending instead
8154         of blindly returning SUCCESS.
8155
8156         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8157         (gst_sinks_suite):
8158         Add a whole bunch of new testcases.
8159
8160 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8161
8162         * po/uk.po:
8163         * po/vi.po:
8164           Update translations.
8165
8166 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8167
8168         * gst/gstpad.c:
8169         Fix typo in the docs.
8170
8171 2007-06-15  Wim Taymans  <wim@fluendo.com>
8172
8173         * docs/libs/gstreamer-libs-sections.txt:
8174         Add docs for new methods.
8175
8176 2007-06-15  Wim Taymans  <wim@fluendo.com>
8177
8178         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8179         (gst_multi_queue_item_new):
8180         Don't use GSlice because we don't depend on >= 2.10 yet.
8181
8182 2007-06-15  Wim Taymans  <wim@fluendo.com>
8183
8184         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8185         (update_time_level), (apply_segment), (apply_buffer),
8186         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8187         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8188         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8189         (single_queue_underrun_cb), (single_queue_check_full):
8190         Remove debug printf.
8191
8192 2007-06-15  Wim Taymans  <wim@fluendo.com>
8193
8194         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8195         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8196         (gst_data_queue_set_flushing), (gst_data_queue_push),
8197         (gst_data_queue_pop), (gst_data_queue_drop_head),
8198         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8199         * libs/gst/base/gstdataqueue.h:
8200         Various cleanups.
8201         Added methods to get the current levels and to inform the queue that the
8202         'full' limits changed.
8203
8204         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8205         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8206         (gst_single_queue_flush), (update_time_level), (apply_segment),
8207         (apply_buffer), (gst_single_queue_push_one),
8208         (gst_multi_queue_item_steal_object),
8209         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8210         (gst_multi_queue_loop), (gst_multi_queue_chain),
8211         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8212         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8213         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8214         (single_queue_underrun_cb), (single_queue_check_full),
8215         (gst_single_queue_new):
8216         Keep track of time in the queue by measuring the difference between
8217         running_time on input and output. This gives more accurate results and
8218         can compensate for segments correctly.
8219         Make a queue by default only 5 buffers deep. We will now increase the
8220         buffer size depending on the filledness of the other queues.
8221         Factor out commong flush code.
8222         Make sure we don't add additional refcounts to buffers when we can avoid
8223         it.
8224         Propagate GstFlowReturn differently.
8225         Use GSlice for intermediate GstMultiQueueItems.
8226         Keep track of EOS.
8227         Resize queues on over and underruns based on filled level of other
8228         queues.
8229         When checking if the queue is filled, prefer to measure in time if we
8230         can and fall back to bytes when no time is known.
8231
8232         * plugins/elements/gstqueue.c:
8233         Fix return value.
8234
8235 2007-06-15  Wim Taymans  <wim@fluendo.com>
8236
8237         * libs/gst/base/gstbasetransform.c:
8238         (gst_base_transform_sink_event):
8239         Work around the brokenness of the event vmethod in basetransform. Prefer
8240         to return TRUE when the subclass returned FALSE (meaning don't forward
8241         the event). 
8242
8243         * libs/gst/base/gstbasetransform.h:
8244         Clarify the docs.
8245
8246 2007-06-15  Wim Taymans  <wim@fluendo.com>
8247
8248         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8249         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8250         (gst_base_src_default_query), (gst_base_src_get_range),
8251         (gst_base_src_start):
8252         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8253         Improve debugging.
8254
8255 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8256
8257         * docs/pwg/advanced-types.xml:
8258           Added more formats to caps table.
8259
8260 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8261
8262         * tools/gst-launch.c: (main):
8263           Remove crufy code. GOption does not need this workaround.
8264
8265 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8266
8267         * libs/gst/controller/gstcontroller.c:
8268         (gst_controlled_property_set_interpolation_mode):
8269           Fix wrong getter for enums in controller.
8270
8271 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8272
8273         * libs/gst/check/gstcheck.c: (gst_check_init):
8274           Intercept criticals and warnings in the Gst-Phonon log domain, so
8275           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8276           well.
8277         
8278 2007-06-14  Edward Hervey  <edward@fluendo.com>
8279
8280         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8281         Since this file doesn't include "gst.h" it will not go through the
8282         macros that disable GST_LOG if debugging was disabled.
8283
8284 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8285
8286         * libs/gst/check/Makefile.am:
8287         * libs/gst/check/gstcheck.h:
8288         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8289         * pkgconfig/gstreamer-check.pc.in:
8290           Ugly 'fix' for the controller unit test on the p5 bot: in
8291           fail_unless_equals_float() check whether the values are 'almost
8292           equal' by allowing a small absolute error, which should be good
8293           enough for our use cases (normal numbers and values close to 0).
8294           Proper fixage left to floating point arithmetic aficionados.
8295
8296 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8297
8298         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8299         (gst_base_sink_render_object), (gst_base_sink_get_position):
8300           Add two breaks thats where missing.
8301
8302 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8303
8304         * docs/libs/gstreamer-libs-sections.txt:
8305         * libs/gst/check/gstcheck.h:
8306           API: add fail_unless_equals_float() and assert_equals_float().
8307           Add documentation for some of the macros.
8308
8309         * tests/check/libs/controller.c: (GST_START_TEST):
8310           Use newly-added asserts.
8311
8312 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8313
8314         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8315           Show the caps change in the log to help spotting the case of not
8316           exactly matching caps.
8317
8318 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8319
8320         * docs/pwg/building-boiler.xml:
8321           Fix typos, spotted by Thijs Vermeir (#447190).
8322
8323 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8324
8325         * docs/plugins/tmpl/.cvsignore:
8326         Ignore file to keep the buildbots happy
8327
8328 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8329
8330         * docs/plugins/Makefile.am:
8331         * docs/plugins/gstreamer-plugins-docs.sgml:
8332         * docs/plugins/gstreamer-plugins-sections.txt:
8333         Pull fdsink into the docs too.
8334
8335 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8336
8337         * libs/gst/controller/gstinterpolation.c:
8338         Actually use the new functions with min/max checks for the trigger and
8339         none interpolation modes for get() and get_value_array() instead of
8340         just the latter.
8341
8342 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8343
8344         * libs/gst/controller/gstcontroller.c:
8345         (gst_controlled_property_free):
8346         Unset the minimum and maximum GValues when freeing the corresponding
8347         GstControllerProperty struct.
8348
8349 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8350
8351         * libs/gst/controller/gstcontroller.c:
8352         (gst_controlled_property_new):
8353         * libs/gst/controller/gstcontrollerprivate.h:
8354         * libs/gst/controller/gstinterpolation.c:
8355         (gst_controlled_property_find_control_point_node),
8356         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8357         (interpolate_none_get_string_value_array),
8358         (interpolate_trigger_get),
8359         (interpolate_trigger_get_enum_value_array),
8360         (interpolate_trigger_get_string_value_array):
8361         Protect against values larger or smaller than the minimum or maximum
8362         allowed value for the property when using values that can be compared.
8363
8364         Optimize trigger interpolator a bit by taking the last requested value
8365         into account instead of always looping through the complete list.
8366
8367         Fix coding style a bit, everywhere else we use "return foo" instead
8368         of "return (foo)".
8369         
8370         * tests/check/libs/controller.c: (GST_START_TEST),
8371         (gst_controller_suite):
8372         Add unit test for the protection against too large or too small
8373         values.
8374
8375 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8376
8377         * docs/random/slomo/controller.txt:
8378         Add some thoughts about the future of the controller.
8379
8380 2007-06-08  Wim Taymans  <wim@fluendo.com>
8381
8382         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8383         Don't overflow in retimestamping code.
8384
8385 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8386
8387         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8388         Use gst_util_guint64_to_gdouble for conversions.
8389         * win32/common/libgstreamer.def:
8390         Add new exported functions.
8391
8392 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8393
8394         * gst/gstutils.c:
8395           Small docs addition.
8396
8397 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8398
8399         * README:
8400           Remove that test line again.
8401
8402 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8403
8404         * README:
8405           Test commit mail sending.
8406
8407 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8408
8409         * configure.ac:
8410           Fix typo and test commit mail sending.
8411
8412 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8413
8414         * tests/examples/controller/audio-example.c:
8415           Improve comment and test commit mail sending.
8416
8417 2007-06-07  Wim Taymans  <wim@fluendo.com>
8418
8419         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8420         (gst_bin_remove_func), (gst_bin_element_set_state),
8421         (bin_handle_async_start), (bin_handle_async_done),
8422         (gst_bin_handle_message_func):
8423         Add helper function to find messages.
8424         Generate the async-done messages together with the state change
8425         messages.
8426         Small cleanups in handling toplevel bins.
8427
8428 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8429
8430         * libs/gst/base/gstdataqueue.c:
8431         * libs/gst/base/gstdataqueue.h:
8432         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8433         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8434         (gst_multi_queue_sink_event):
8435         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8436           Fix multiqueue leaking buffers and events when downstream or the
8437           queue are flushing. Make refcounting assumptions explicit and
8438           document them (shouldn't break existing code that uses it other than
8439           maybe leak miniobjects, but that already happens anyway). Add unit
8440           test for the most common flushing case. Fixes #423700.
8441           
8442 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8443
8444         * libs/gst/controller/gstcontroller.c:
8445         Clarify docs: The get_all, get_value_array(s) functions
8446         don't modify the GObject properties.
8447
8448 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8449
8450         * libs/gst/controller/gstcontroller.c:
8451         (gst_controlled_property_set_interpolation_mode),
8452         (gst_controlled_property_prepend_default),
8453         (gst_controlled_property_new), (gst_controller_set_unlocked),
8454         (gst_controller_set), (gst_controller_set_from_list),
8455         (gst_controller_unset), (gst_controller_unset_all):
8456         * libs/gst/controller/gstcontrollerprivate.h:
8457         * libs/gst/controller/gstinterpolation.c:
8458         Factor out the 'set' logic into gst_controller_set_unlocked for the
8459         gst_controller_set and gst_controller_set_from_list functions.
8460
8461         To make life of the interpolators easier always add a control point
8462         at timestamp zero with the default value.
8463
8464         In the linear interpolator make things more obvious by better variable
8465         naming (slope).
8466
8467         Implement cubic interpolation mode (by using a natural cubic spline)
8468         and map the quadratic interpolation mode to this too (as quadratic
8469         doesn't make much sense, see discussion on the list).
8470
8471         * tests/check/libs/controller.c: (GST_START_TEST),
8472         (gst_controller_suite):
8473         Add unit test for the cubic interpolation mode and check everywhere
8474         if the interpolation mode could be set as expected.
8475
8476 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8477
8478         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8479           Don't use GLib-2.10 functions, we still depend on
8480           GLib-how-old-is-it-again-2.8.
8481
8482 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8483
8484         * docs/gst/gstreamer-sections.txt:
8485         * gst/Makefile.am:
8486         * gst/gst.c:
8487         * gst/gst.h:
8488         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8489         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8490         (_gst_param_fraction_values_cmp),
8491         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8492         * gst/gstparamspecs.h:
8493         * gst/gstvalue.c:
8494         * tests/check/Makefile.am:
8495         * tests/check/gst/.cvsignore:
8496         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8497         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8498         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8499         (GST_START_TEST), (gst_param_spec_suite):
8500           API: add GstParamSpecFraction, so elements can have fraction
8501           properties without lots of painful string parsing (#444648).
8502
8503 2007-06-05  Wim Taymans  <wim@fluendo.com>
8504
8505         * gst/gstobject.c: (gst_object_class_init):
8506         Fix signal signature.
8507
8508         * gst/gstsegment.c:
8509         Add small clarification in the api docs.
8510
8511         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8512         States are protected with object lock.
8513
8514 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8515
8516         * AUTHORS:
8517         I should probably be listed as an author by now.
8518
8519         * docs/random/release:
8520         Update the release doc
8521
8522 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8523
8524         * gst/gstvalue.c:
8525           Make docs for gst_value_compare() mention return enums that
8526           actually exist.
8527
8528 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8529
8530         * configure.ac:
8531           Back to CVS
8532
8533 === release 0.10.13 ===
8534
8535 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8536
8537         * configure.ac:
8538           releasing 0.10.13, "With or without you"
8539
8540 2007-05-25  Wim Taymans  <wim@fluendo.com>
8541
8542         * gst/gstbin.c: (bin_handle_async_done):
8543         Make sure that the child bin stops after completing the async state
8544         change so that the parent can continue the state change to PLAYING.
8545         Fixes #441159.
8546
8547 2007-05-25  Wim Taymans  <wim@fluendo.com>
8548
8549         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8550         (unref_data), (gst_collect_pads_remove_pad),
8551         (gst_collect_pads_check_pads):
8552         Use additional refcounting to avoid crashes when dynamically adding and
8553         removing pads. Fixes #420206.
8554
8555 2007-05-24  Wim Taymans  <wim@fluendo.com>
8556
8557         * tools/gst-launch.c: (event_loop):
8558         When buffering goes from a two digit to a single digit number, make sure
8559         to remove the old second digit by writing a blank over it.
8560
8561 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8562
8563         * libs/gst/base/gstdataqueue.c:
8564           Eliminate tabs and trailing comma in enum list; fix some typos.
8565
8566 2007-05-24  Wim Taymans  <wim@fluendo.com>
8567
8568         * tests/check/gst/gstbin.c: (GST_START_TEST):
8569         Allow refcount of 3 and 4 because some state thread might still be busy
8570         with it.
8571
8572 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8573
8574         * plugins/elements/Makefile.am:
8575         * plugins/elements/gstmultiqueue.h:
8576         * plugins/elements/gstqueue.h:
8577           These are not installed headers, no need for padding.
8578
8579 2007-05-24  Wim Taymans  <wim@fluendo.com>
8580
8581         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8582         (gst_bin_continue_func):
8583         Enable latency for next release.
8584         Restore STATE_LOCK around recalc_state that was left out during the
8585         rewrite and could result in racy behaviour when _get_state and
8586         recalc_state are run concurrently. See #440463.
8587
8588 2007-05-23  Wim Taymans  <wim@fluendo.com>
8589
8590         * tests/check/gst/gstsystemclock.c: (store_callback),
8591         (GST_START_TEST):
8592         Improve test_async_order to also work when both timers are already
8593         expired when we get scheduled to check it.
8594
8595 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8596
8597         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8598         (gst_bin_set_property), (gst_bin_get_property),
8599         (gst_bin_remove_func), (gst_bin_handle_message_func):
8600         * gst/gstbin.h:
8601           'private' is a c++ keyword, let's not use that in header files,
8602           otherwise c++ compilers will throw a tantrum.
8603
8604 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8605
8606         * plugins/elements/gstelements.c:
8607         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8608         (gst_file_sink_get_current_offset):
8609         * plugins/indexers/gstindexers.c: (plugin_init):
8610           Use #ifdef for HAVE_XYZ for consistency.
8611
8612         * tests/check/Makefile.am:
8613         * tests/check/elements/.cvsignore:
8614         * tests/check/elements/filesink.c: (setup_filesink),
8615         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8616           Add some unit tests for filesink.
8617
8618 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8619
8620         Patch by: Mark Nauwelaerts <manauw at skynet be>
8621
8622         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8623         (gst_file_sink_query), (gst_file_sink_do_seek),
8624         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8625         * plugins/elements/gstfilesink.h:
8626           Fix position reporting; rename data_written member to current_pos to
8627           reflect its real meaning (fixes #412648).
8628
8629 2007-05-22  Edward Hervey  <edward@fluendo.com>
8630
8631         * docs/gst/gstreamer-sections.txt:
8632         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8633         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8634         (gst_bin_remove_func), (gst_bin_handle_message_func):
8635         * gst/gstbin.h:
8636         Add a property for bins that handle the state change of their childs.
8637         Fixes #435880
8638
8639 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8640
8641         * libs/gst/controller/gstinterpolation.c:
8642         Use an array of the correct type when using _get_value_array with
8643         linear interpolation.
8644
8645 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8646
8647         * gst/gstelement.c (gst_element_requires_clock,
8648           gst_element_provides_clock, gst_element_request_pad,
8649           gst_element_class_set_details, gst_element_class_set_details_simple,
8650           gst_element_default_send_event, gst_element_abort_state,
8651           gst_element_continue_state, gst_element_set_state,
8652           gst_element_set_state_func, iterator_activate_fold_with_resync):
8653         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8654           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8655           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8656           gst_pad_get_range, gst_pad_pull_range):
8657         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8658           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8659           GstPadActivateModeFunction, GstPadChainFunction,
8660           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8661           GstPadFixateCapsFunction, GstPadTemplate):
8662         * gst/gstpipeline.c (gst_pipeline_change_state,
8663           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8664           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8665           gst_pipeline_get_delay):
8666           Whitespace and docs fixes.
8667
8668 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8669
8670         * libs/gst/controller/gstinterpolation.c:
8671         (interpolate_trigger_get_enum_value_array),
8672         (interpolate_trigger_get_string_value_array):
8673         Add support for retrieving value arrays when using the trigger
8674         interpolation mode. 
8675
8676 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8677
8678         * libs/gst/controller/gstcontroller.c:
8679         (gst_controller_get_value_array):
8680         * libs/gst/controller/gstcontroller.h:
8681         Clarify the docs of gst_controller_get_value_array(): The array where
8682         the values should be written to must be allocated as there seems to be
8683         no way to get the size of a random GType. This doesn't change any
8684         behaviour. Also fix some typos all over the place and remove an unused,
8685         commented function that is not necessary as g_object_set() could be
8686         used instead.
8687         * tests/check/libs/controller.c: (GST_START_TEST),
8688         (gst_controller_suite):
8689         Add unit test for gst_controller_get_value_array().
8690
8691 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8692
8693         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8694
8695         Disable part of the gst_buffer_try_new_and_alloc test, because
8696         it can happily succeed on 64-bit systems where there's more address
8697         space available.
8698
8699 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8700
8701         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8702         Add unit test for the improved caps checking from bug #421543.
8703
8704 2007-05-21  Wim Taymans  <wim@fluendo.com>
8705
8706         * docs/design/part-synchronisation.txt:
8707         Small addition.
8708
8709         * gst/gstbin.c: (gst_bin_query):
8710         * plugins/elements/gstqueue.c: (apply_segment):
8711         Improve debugging.
8712
8713         * gst/gstmessage.h:
8714         Improve docs.
8715
8716 2007-05-21  Wim Taymans  <wim@fluendo.com>
8717
8718         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8719         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8720         (gst_pad_configure_src):
8721         Added simple version of improved caps checking. It was previously
8722         assumed that a setcaps function would check the validity of the caps but
8723         people prefer us to check caps against the template automatically. 
8724         Fixes #421543.
8725
8726 2007-05-21  Wim Taymans  <wim@fluendo.com>
8727
8728         * libs/gst/base/gstbasetransform.h:
8729         Fix macro for locking/unlocking the transform lock.
8730
8731 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8732
8733         * docs/plugins/tmpl/.cvsignore:
8734           Ignore more.
8735
8736 2007-05-18  Edward Hervey  <edward@fluendo.com>
8737
8738         * plugins/elements/gstqueue.c: (gst_queue_loop):
8739         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8740         for the subtle art of warning a potentially blocking thread that it
8741         should check the source pad return value, and relay the information
8742         upstream.
8743
8744 2007-05-18  Edward Hervey  <edward@fluendo.com>
8745
8746         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8747         Release the queue lock !
8748
8749 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8750
8751         * docs/libs/gstreamer-libs-sections.txt:
8752         Add the two new controller functions to the appropiate places.
8753
8754 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8755
8756         reviewed by: Stefan Kost <ensonic@users.sf.net>
8757
8758         * libs/gst/controller/gstcontroller.c:
8759         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8760         (_gst_controller_get_property), (_gst_controller_set_property),
8761         (_gst_controller_init), (_gst_controller_class_init):
8762         * libs/gst/controller/gstcontroller.h:
8763         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8764         (gst_object_get_control_rate), (gst_object_set_control_rate):
8765         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8766         Add API that provides sync suggestion timestamps for elements that
8767         call gst_object_sync_values() from which those elements can subdivide
8768         their processing loop to get the best results for the controlled
8769         properties. For now it just suggests last_sync + control_rate as
8770         new timestamp but this will be improved in the future.
8771
8772         While doing that change the control-rate property to a GstClockTime
8773         from guint and change it's meaning from samples to nanoseconds as
8774         the GstController doesn't know anything about sampling rate. Strictly
8775         speaking this breaks ABI but as the control-rate property didn't do
8776         anything in the past and as such couldn't be used this should be no
8777         problem.        
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_controller_unset),
8784         (gst_controller_unset_all):
8785         * libs/gst/controller/gstcontrollerprivate.h:
8786         * libs/gst/controller/gstinterpolation.c:
8787         (gst_controlled_property_find_control_point_node):
8788         Save last synced value from the list to continue searching from there
8789         in future syncs. This speeds everything up a bit.
8790         
8791 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8792
8793         reviewed by: Stefan Kost <ensonic@users.sf.net>
8794
8795         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8796         (gst_control_point_find), (gst_controlled_property_new),
8797         (gst_control_point_free), (gst_controlled_property_free),
8798         (gst_controller_set), (gst_controller_set_from_list),
8799         (gst_controller_unset), (gst_controller_unset_all),
8800         (gst_controller_sync_values):
8801         * libs/gst/controller/gstcontroller.h:
8802         * libs/gst/controller/gstcontrollerprivate.h:
8803         * libs/gst/controller/gstinterpolation.c:
8804         (gst_controlled_property_find_control_point_node),
8805         (interpolate_none_get), (interpolate_trigger_get):
8806         Add a new private GstControlPoint struct which "inherits" from
8807         GstTimedValue to allow different interpolators to store internal
8808         values next to each control point. From the outside everything is
8809         still a GstControlPoint so we don't loose binary compatibility.
8810         Also fixup all the GValue handling to not leak GValues or list nodes.
8811         * tests/check/libs/controller.c: (GST_START_TEST):
8812         Free the list nodes and GValues in the controller_misc test.
8813
8814 2007-05-17  Edward Hervey  <edward@fluendo.com>
8815
8816         * gst/gstsegment.c:
8817         Small doc fix.
8818
8819 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8820
8821         * gst/gstplugin.c: (gst_plugin_load_file):
8822           If we fail to load a plugin because of unresolved symbols or missing
8823           libraries and spew a warning to stderr, we may just as well mention
8824           which plugin it was that failed to load.
8825
8826 2007-05-13  David Schleef  <ds@schleef.org>
8827
8828         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8829           handles the case when ENABLE_GTK_DOC is false, and installs
8830           the prebuilt documentation.  So gtk-doc subdirs are 
8831           unconditionally enabled.  Fixes: #349099.
8832
8833 2007-05-13  David Schleef  <ds@schleef.org>
8834
8835         * gst/gstutils.h: Reword some documentation.
8836
8837 2007-05-12  David Schleef  <ds@schleef.org>
8838
8839         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8840           do anything with the passed "module" parameter, so remove it.
8841           Allows removal of additional vestigal code.
8842
8843 2007-05-12  David Schleef  <ds@schleef.org>
8844
8845         * gst/gstplugin.c:
8846           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8847           Switch to using g_stat() because it's more portable.
8848
8849 2007-05-12  David Schleef  <ds@schleef.org>
8850
8851         * gst/gst.c:
8852           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8853           parsing for embedded systems.
8854         * gst/gstelementfactory.c:
8855           Allow gst_element_register() to be called with plugin==NULL.
8856           Did nobody notice that static elements were broken?
8857
8858 2007-05-12  Wim Taymans  <wim@fluendo.com>
8859
8860         * tools/gst-launch.c: (event_loop):
8861         Give more interesting info when buffering starts and stops.
8862         Fix case where buffering starts but we fail to update the buffering flag
8863         because the target state is not PLAYING.
8864
8865 2007-05-12  Wim Taymans  <wim@fluendo.com>
8866
8867         * plugins/elements/gstqueue.c: (gst_queue_init),
8868         (gst_queue_finalize), (update_time_level), (apply_segment),
8869         (apply_buffer), (gst_queue_locked_flush),
8870         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8871         (gst_queue_handle_sink_event), (gst_queue_chain),
8872         (gst_queue_push_one), (gst_queue_loop):
8873         * plugins/elements/gstqueue.h:
8874         Refactor an cleanup queue a bit.
8875         Do better time level calculations that also work when the srcpad is not
8876         yet running.
8877         Remove some unneeded debug lines.
8878
8879         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8880         Added testcase for time level measurement.
8881         Try to make some stuff more racefree.
8882
8883 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8884
8885         * gst/gsturi.c: (gst_element_make_from_uri):
8886           Don't leak plugin feature.
8887
8888         * tests/check/Makefile.am:
8889         * tests/check/gst/.cvsignore:
8890         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8891           Add brain-dead unit test.
8892
8893 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8894
8895         Patch by: Jeroen Wouters <woutersj at gmail com>
8896
8897         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8898           Treat protocol strings in a case-insensitive way (#437563).
8899
8900 2007-05-11  Michael Smith <msmith@fluendo.com>
8901
8902         * gst/gstplugin.c: (gst_plugin_load_file):
8903         * gst/gstregistry.c: (gst_registry_scan_path_level):
8904           Don't print a g_warning for any failure to load a shared object.
8905           Instead, push this down into gstplugin.c, and warn _only_ if we
8906           failed to open the module (i.e. failure to link).
8907           Avoids warnings on normal, working, non-plugin .so files.
8908
8909 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8910
8911         * gst/gstplugin.c (gst_plugin_load_file):
8912         * gst/gstregistry.c (GST_CAT_DEFAULT,
8913           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8914           Print a g_warning if there was an error when loading a plugins during
8915           registry scan. The shuld help beginners starting with gst-plugin
8916           template.
8917
8918 2007-05-10  Wim Taymans  <wim@fluendo.com>
8919
8920         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8921         (update_time_level), (gst_queue_locked_flush),
8922         (gst_queue_handle_sink_event), (gst_queue_chain),
8923         (gst_queue_push_one), (gst_queue_loop):
8924         * plugins/elements/gstqueue.h:
8925         Be smarter when calculating the current amount of data in the queue by
8926         measuring the difference between start and end timestamps (in running
8927         time) inside the queue. Fixes #432876.
8928         API: GstQueue::pushing to notify elements that we are pushing data again
8929         since the running signal is rather broken for this purpose.
8930
8931 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8932
8933         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8934           gst_queue_base_init, gst_queue_init):
8935           use GST_BOILERPLATE
8936
8937 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8938
8939         * win32/common/libgstreamer.def:
8940         Add new exported functions.
8941         * win32/vs6/grammar.dsp:
8942         Use grammar pre-generated files.
8943
8944 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8945
8946         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8947
8948         * gst/Makefile.am:
8949         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8950         * gst/gstparse.h:
8951         * gst/gstutils.c: (gst_parse_bin_from_description):
8952         * gst/gstutils.h:
8953           Maintain API and ABI when --disable-parse is used. Now that
8954           we have an appropriate error code, we can just return NULL and the
8955           appropriate error when gst_parse_launch() is used despite it having
8956           been disabled (#342564).
8957
8958         * tests/check/Makefile.am:
8959         * tests/check/pipelines/.cvsignore:
8960         * tests/check/pipelines/parse-disabled.c:
8961           Make sure these functions exist and return NULL plus a GError when
8962           --disable-parse is used.
8963
8964 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8965
8966         * tests/benchmarks/complexity.c: (main):
8967         * tests/benchmarks/mass-elements.c: (main):
8968           Set a good example and don't leak messages.
8969
8970 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8971
8972         * docs/gst/Makefile.am:
8973         * docs/libs/Makefile.am:
8974           Correct fixxrefs options.
8975
8976         * docs/plugins/Makefile.am:
8977         * docs/plugins/gstreamer-plugins-docs.sgml:
8978         * docs/plugins/gstreamer-plugins-sections.txt:
8979         * plugins/elements/Makefile.am:
8980         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8981         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8982           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8983           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8984           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8985           _GstCapsFilterClass, trans_class):
8986         * plugins/elements/gstelements.c (name, rank, type, _elements):
8987         * plugins/elements/gstidentity.c
8988           (gst_identity_check_imperfect_timestamp,
8989           gst_identity_check_imperfect_offset):
8990           Document capsfilter and add doc-blurb to identity.
8991
8992 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8993
8994         * libs/gst/controller/gstcontroller.c:
8995         (gst_controlled_property_set_interpolation_mode):
8996         * libs/gst/controller/gstinterpolation.c:
8997           Don't crash if someone tries to set an interpolation mode that
8998           is invalid or that isn't supported yet. Fixes #422295.
8999
9000         * tests/check/libs/controller.c: (GST_START_TEST),
9001         (gst_controller_suite):
9002           Add a test case for the above.
9003
9004 2007-05-03  Edward Hervey  <edward@fluendo.com>
9005
9006         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9007         Properly set the last_stop position on GstSegment. This will only happen
9008         if there is a buffer to push out.
9009
9010 2007-05-03  Wim Taymans  <wim@fluendo.com>
9011
9012         * libs/gst/base/gstbasetransform.c:
9013         (gst_base_transform_buffer_alloc):
9014         always_in_place does not mean that the sink and source caps are the
9015         same! Make sure we don't blindly proxy the buffer_alloc in this case.
9016
9017 2007-05-03  Wim Taymans  <wim@fluendo.com>
9018
9019         * docs/libs/gstreamer-libs-sections.txt:
9020         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
9021         (gst_base_src_default_query), (gst_base_src_get_range):
9022         * libs/gst/base/gstbasesrc.h:
9023         API: gst_base_src_query_latency(). Added method so that subclasses can
9024         easily get the latency values of the base source class.
9025
9026 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
9027
9028         * tools/gst-inspect.c (print_implementation_info):
9029         Remove 0.8 cruft.
9030
9031 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
9032
9033         * tools/Makefile.am:
9034         * tools/gst-launch.1.in:
9035           Don't create a customised man page based on the host architecture,
9036           describe the default registry path generically. That way the man
9037           page is the same for all architectures and packagers have one
9038           multilib issue less to deal with. Fixes #434926.
9039
9040 2007-05-02  Wim Taymans  <wim@fluendo.com>
9041
9042         * gst/gstpad.c:
9043         Fix documentation as spotted by rg on IRC. 
9044
9045 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
9046
9047         * gst/gstutils.c:
9048           Improve docs for gst_element_{link,unlink}.
9049
9050 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
9051
9052         * docs/design/part-events.txt:
9053         * docs/design/part-overview.txt:
9054         * gst/gstevent.c:
9055         * gst/gsturi.c:
9056         * gst/gsturi.h:
9057         * libs/gst/base/gstbasesink.c:
9058           Typo fixes; minor docs addition.
9059
9060 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9061
9062         * docs/gst/gstreamer-sections.txt:
9063         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
9064         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
9065         * gst/gsturi.h:
9066         API: Add gst_uri_protocol_is_supported(), which checks if a sink
9067         or src that supports a given URI protocol exists.
9068
9069 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9070
9071         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9072         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9073         Set the location to NULL if "file://" is set as URI. Otherwise
9074         some random previous URI would still be set if "file://" is
9075         set on an already used filesink/filesrc.
9076
9077 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9078
9079         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9080         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9081         Special case the "file://" URI as as this is used by some
9082         applications to test with gst_element_make_from_uri if there's
9083         an element that supports the URI protocol.
9084         Also move the g_path_is_absolute() check for the location part
9085         of the URI to also check this for "file://localhost/bla" URIs.
9086
9087 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9088
9089         * docs/gst/gstreamer-sections.txt:
9090         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9091         * gst/gstbuffer.h:
9092         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9093         (gst_buffer_suite):
9094           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9095
9096 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9097
9098         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9099         (gst_registry_binary_load_pad_template),
9100         (gst_registry_binary_load_plugin),
9101         (gst_registry_binary_read_cache):
9102         * gst/gstregistrybinary.h:
9103           Implement no-mmap alternative for registry reading. Do code cleanups.
9104           Add more comments about avoiding strdups for all text data. Comments
9105           welcome.
9106
9107 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9108
9109         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9110           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9111           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9112           Comment structs and reformat to fix the build (that stuff should go
9113           into a priv. header).
9114
9115 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9116
9117         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9118         (gst_registry_binary_load_feature):
9119         * gst/gstregistrybinary.h:
9120           Refactor so that we can implement multiple features. Add support for
9121           TypeFindFactory features.
9122
9123 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9124
9125         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9126
9127         * configure.ac:
9128           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9129
9130 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9131
9132         * gst/gstbin.c: (gst_bin_element_set_state),
9133         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9134         (bin_handle_async_done), (gst_bin_handle_message_func):
9135           Fix build with --gst-disable-gst-debug
9136
9137 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9138
9139         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9140           Make sure streaming has finished before calling the ::stop() vfunc,
9141           since that vfunc might clear state which is being used in the
9142           streaming thread. This fixes a race that caused crashes in
9143           audioresample when shutting down a pipeline (#420106).
9144
9145 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9146
9147         * docs/gst/gstreamer-sections.txt:
9148           That was one byte missing.
9149
9150 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9151
9152         * configure.ac:
9153         * docs/gst/gstreamer-sections.txt:
9154         * gst/Makefile.am:
9155         * gst/gstconfig.h.in:
9156         * gst/gstobject.c: (gst_object_class_init),
9157         (gst_signal_object_class_init):
9158         * gst/gstobject.h:
9159           2nd attempt to have a xml-less build as a joined effort of #413123
9160           and #421480.
9161
9162 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9163
9164         * docs/design/draft-tagreading.txt:
9165           Added open issues/thoughts to draft.
9166
9167 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9168
9169         * gst/parse/grammar.tab.pre.c:
9170         * gst/parse/grammar.tab.pre.h:
9171         * gst/parse/lex._gst_parse_yy.pre.c:
9172         Update the prebuild parser sources.
9173
9174 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9175
9176         * gst/parse/Makefile.am:
9177         And now fix the building of the flex sources. Now everything should
9178         work as expected.
9179
9180 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9181
9182         * gst/parse/Makefile.am:
9183         Now hopefully fix the build failures by setting proper rule
9184         dependencies and moving instead of copying.
9185
9186 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9187
9188         * tests/benchmarks/complexity.gnuplot:
9189         * tests/benchmarks/complexity.scm:
9190         * tests/benchmarks/mass-elements.gnuplot:
9191         * tests/benchmarks/mass-elements.scm:
9192           Total licensification.
9193
9194 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9195
9196         * gst/parse/Makefile.am:
9197           Fix the build by correcting the rule that gave wrong files to flex.
9198
9199 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9200
9201         * tests/benchmarks/complexity.c:
9202         * tests/benchmarks/mass-elements.c:
9203           Change licence to LGPL as granted by Benjamin and Andy.
9204
9205 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9206
9207         * gst/parse/Makefile.am:
9208         Add correct grammar.tab.h dependency if compiling without new enough
9209         flex. Fixes #431150.
9210
9211 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9212
9213         * gst/parse/Makefile.am:
9214         Fix typo and use outdated sources if the flex/bison sources are newer
9215         than the pregenerated ones but flex is too old. Print a warning in
9216         that case. This should fix the build on the build bot.
9217
9218 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9219
9220         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9221         * gst/parse/Makefile.am:
9222         * gst/parse/grammar.y:
9223         * gst/parse/parse.l:
9224         Make the parser reentrant and recursively callable. This requires flex
9225         >= 2.5.31, for older versions pregenerated sources are used as we
9226         can't bump the build dependency. Finally fixes #349180.
9227
9228         * gst/gstparse.c: (gst_parse_launch):
9229         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9230         now anyway.
9231
9232         * docs/gst/Makefile.am:
9233         * docs/gst/Makefile.am:
9234         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9235         (__gst_parse_strfree), (__gst_parse_link_new),
9236         (__gst_parse_link_free), (__gst_parse_chain_new),
9237         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9238         (gst_parse_element_set), (gst_parse_free_link),
9239         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9240         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9241         (_gst_parse_launch):
9242         * gst/parse/grammar.tab.pre.h:
9243         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9244         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9245         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9246         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9247         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9248         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9249         (_gst_parse_yypop_buffer_state),
9250         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9251         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9252         (yy_fatal_error), (_gst_parse_yyget_extra),
9253         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9254         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9255         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9256         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9257         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9258         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9259         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9260         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9261         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9262         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9263         (_gst_parse_yyfree):
9264         If the installed flex version is too old use pre-generated parser
9265         sources. These pre-generated parser sources are always updated when
9266         the actual flex/bison sources change but require everybody who wants
9267         to change something in the parser to have flex >= 2.5.31 installed.
9268
9269 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9270
9271         * common/m4/gst-gettext.m4:
9272         * gst/gst-i18n-lib.h:
9273           Make --disable-nls to work
9274
9275 2007-04-17  Wim Taymans  <wim@fluendo.com>
9276
9277         * gst/gstconfig.h.in:
9278         Revert previous change that broke the build.
9279
9280 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9281
9282         * configure.ac:
9283         * gst/Makefile.am:
9284         * gst/gstconfig.h.in:
9285           Drop libxml2 dependency when building with 
9286           --enable-binary-registry --disable-loadsave
9287
9288 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9289
9290         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9291         (gst_registry_binary_read_cache):
9292         * gst/gstregistrybinary.h:
9293           Remove unnecessary <sys/mman.h> include which broke the win32 build
9294           with MingW; move includes from header file to .c file, even if the
9295           header file isn't installed; use g_strerror() where UTF-8 strings
9296           are expected, such as in GST_DEBUG messages.
9297
9298 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9299
9300         * docs/libs/gstreamer-libs-sections.txt:
9301         Remove bogus addition for API I didn't end up keeping.
9302
9303         * libs/gst/base/gstbasesrc.h:
9304         Mention Since: 0.10.13 in the documentation.
9305
9306         Add the API keyword to the previous ChangeLog entry.
9307
9308 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9309
9310         * docs/libs/gstreamer-libs-sections.txt:
9311         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9312         (gst_base_src_default_prepare_seek_segment),
9313         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9314         * libs/gst/base/gstbasesrc.h:
9315         Allow basesrc derived classes to execute seeks in other formats
9316         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9317         to prepare the GstSegment in any format that their perform_seek method
9318         will be able to understand. The default implementation provides the
9319         old behaviour of attempting to convert the seek offsets to the 
9320         configured native format.
9321
9322         API: basesrc::prepare_seek_segment vmethod.
9323
9324 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9325
9326         * gst/gstelement.c: (gst_element_get_state_func):
9327         Don't output the same debug statement twice.
9328
9329         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9330         (gst_adapter_peek), (gst_adapter_take_buffer):
9331         Optimise the case where we have buffers at the head of the queue that
9332         can be joined quickly (because they're contiguous sub-buffers) by
9333         merging them together rather than copying data out into new memory.
9334
9335         * gst/parse/grammar.y:
9336         * tests/check/pipelines/parse-launch.c:
9337         Fix a leak in an error path for parse_launch, and add a check 
9338         for it to the testsuite.
9339
9340 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9341
9342         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9343           Don't deadlock when releasing a pad - gst_pad_set_active may try
9344           and take the multiqueue lock too.
9345
9346 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9347
9348         * gst/gsterror.c: (_gst_core_errors_init):
9349         * gst/gsterror.h:
9350           API: add GST_CORE_ERROR_DISABLED (#392804).
9351
9352 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9353
9354         * docs/faq/gst-uninstalled:
9355           don't get empty paths on the PATH variables
9356         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9357           Don't format for the uncommon terminal width of 84 characters.
9358
9359 2007-04-06  Wim Taymans  <wim@fluendo.com>
9360
9361         * gst/gstpipeline.c: (reset_stream_time),
9362         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9363         Only try to select a different pipeline clock when we went back to
9364         PAUSED and not when we merely got flushed.
9365
9366 2007-04-05  Michael Smith  <msmith@fluendo.com>
9367
9368         * tools/gst-launch.1.in:
9369           fractions are better supported in gstreamer than ractions, so
9370           suggest using those.
9371
9372 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9373
9374         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9375
9376         * po/LINGUAS:
9377         * po/da.po:
9378           Added Danish translation.
9379
9380 2007-04-05  Wim Taymans  <wim@fluendo.com>
9381
9382         * libs/gst/base/gstbasesink.c:
9383         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9384         Fix leak caused when refusing newsegment after EOS.
9385
9386         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9387         (gst_fake_sink_init), (gst_fake_sink_set_property),
9388         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9389         (gst_fake_sink_render), (gst_fake_sink_change_state):
9390         * plugins/elements/gstfakesink.h:
9391         Add num-buffers property to make the element generate EOS after a
9392         configurable amount of buffers.
9393         API: fakesink::num-buffers property.
9394
9395         * tests/check/elements/fakesink.c: (GST_START_TEST),
9396         (fakesink_suite):
9397         Fix GstBus leak in test.
9398         Test for fakesink num-buffers.
9399
9400 2007-04-05  Wim Taymans  <wim@fluendo.com>
9401
9402         * libs/gst/base/gstbasesink.c:
9403         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9404         (gst_base_sink_change_state):
9405         Don't accept anything after an EOS, return UNEXPECTED instead.
9406
9407         * tests/check/elements/fakesink.c: (GST_START_TEST),
9408         (fakesink_suite):
9409         Unit test for new EOS behaviour.
9410
9411 2007-04-05  Wim Taymans  <wim@fluendo.com>
9412
9413         * gst/gstelement.c: (gst_element_get_request_pad):
9414         Make padtemplates also work when they don't contain %s or %d.
9415
9416 2007-04-05  Wim Taymans  <wim@fluendo.com>
9417
9418         * docs/gst/gstreamer-sections.txt:
9419         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9420         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9421         * gst/gstclock.h:
9422         Improve _adjust_unlocked() so that it overflows less.
9423         Add gst_clock_unadjust_unlocked to convert from external time to
9424         internal time based on calibration.
9425         Add some more debug.
9426         API: GstClock::gst_clock_unadjust_unlocked()
9427
9428 2007-04-03  Wim Taymans  <wim@fluendo.com>
9429
9430         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9431
9432         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9433         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9434         when releasing sink pad. Fixes #425400.
9435
9436 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9437
9438         * docs/random/ensonic/dynlink.txt:
9439           More work on proposal for new core api.
9440
9441         * docs/libs/gstreamer-libs-sections.txt:
9442         * libs/gst/base/gstbasetransform.h:
9443           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9444           
9445         * libs/gst/controller/gstcontroller.c:
9446         (on_object_controlled_property_changed),
9447         (gst_controller_sync_values),
9448         (gst_controller_set_interpolation_mode):
9449         * libs/gst/controller/gstcontroller.h:
9450           Less verbose logging add docs for unimplemented parts and correctly
9451           return when using unavailable parts.
9452
9453 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9454
9455         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9456         Move all the debug to the CLOCK category, and associate it with
9457         the clock object.
9458
9459 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9460
9461         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9462         Make take_buffer a bit quicker by removing redundant checks
9463         caused by calling gst_adapter_take.
9464
9465 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9466
9467         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9468           Don't leak GCond.
9469
9470         * tests/check/Makefile.am:
9471         * tests/check/elements/.cvsignore:
9472         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9473         (GST_START_TEST), (multiqueue_suite):
9474           Add some dead simple unit tests for the 'multiqueue' element
9475           (some bits don't work yet and are disabled for now).
9476
9477 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9478
9479         * gst/gstelement.c: (gst_element_get_request_pad),
9480         (gst_element_class_get_request_pad_template):
9481           Make gst_element_get_request_pad() create request pads only for
9482           request pad templates and not for, say, sometimes pad templates.
9483
9484 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9485
9486         * docs/design/draft-klass.txt:
9487           Add example that needs more thinking.
9488         
9489         * docs/design/draft-missing-plugins.txt:
9490           More thoughts about wrapper plugins.
9491         
9492         * docs/random/ensonic/embedded.txt:
9493         * docs/random/ensonic/profiling.txt:
9494           More design work.
9495
9496 2007-03-25  Wim Taymans  <wim@fluendo.com>
9497
9498         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9499         (gst_base_src_loop):
9500         Only push the segment events in the PLAYING state for live sources.
9501
9502 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9503
9504         * gst/gstpipeline.c: (gst_pipeline_change_state):
9505         Modify the clock distribution path in PAUSED->PLAYING so that we 
9506         never attempt to choose a new clock unless we're actually leaving
9507         the PAUSED state for the first time. This prevents choosing a
9508         different clock when the state_change gets called for a 2nd time due
9509         to some element doing an async state change.
9510
9511 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9512
9513         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9514         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9515         (gst_pad_chain_unchecked), (gst_pad_push):
9516         Revert last commit. This needs some more thoughts.
9517
9518 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9519
9520         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9521         (gst_pad_chain_unchecked), (gst_pad_push):
9522         Check in set_caps if the caps are compatible with the pad and remove
9523         two functions that are redundant now. Fixes #421543.
9524
9525 2007-03-22  Wim Taymans  <wim@fluendo.com>
9526
9527         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9528         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9529         Unref some more to make valgrind happy.
9530
9531 2007-03-22  Wim Taymans  <wim@fluendo.com>
9532
9533         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9534         (gst_system_clock_id_wait_jitter),
9535         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9536         Fix anoying regression that survived a few releases. When adding an
9537         async entry while blocking on a sync entry, the sync entry will unblock
9538         but still be busy, so it should continue to wait instead of returning
9539         _BUSY to the app.
9540         Add some comments here and there.
9541
9542         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9543         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9544         Add testcase for this.
9545
9546 2007-03-22  Wim Taymans  <wim@fluendo.com>
9547
9548         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9549         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9550         WRONG_STATE and can silently pause the task. All other cases should
9551         error out.
9552
9553 2007-03-22  Wim Taymans  <wim@fluendo.com>
9554
9555         Patch by: Ville Syrjala <syrjala at sci dot fi>
9556
9557         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9558         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9559         Improve debugging.
9560
9561 2007-03-21  Michael Smith  <msmith@fluendo.com>
9562
9563         * docs/pwg/advanced-types.xml:
9564           Fix some errors in the typefinding docs pointed out on irc.
9565
9566 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9567
9568         * libs/gst/base/gstbasesrc.c:
9569         Clarify FIXME comment in the face of having added unlock_stop()
9570
9571 2007-03-21  Wim Taymans  <wim@fluendo.com>
9572
9573         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9574         Prepare for release where we warn against possible app breakage in the
9575         case of live pipelines along with an env var to enable/disable live
9576         preroll mode (GST_COMPAT=[no-]live-preroll).
9577
9578 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9579
9580         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9581         So we should use correct constants for checking for None offset.
9582
9583 2007-03-20  Wim Taymans  <wim@fluendo.com>
9584
9585         * docs/design/part-block.txt:
9586         Mention the fact that the newly switched element should be set to at
9587         least PAUSED.
9588
9589 2007-03-20  Wim Taymans  <wim@fluendo.com>
9590
9591         * gst/gst.c:
9592         Fix compilation with registry disabled as spotted by Saur.
9593
9594 2007-03-20  Wim Taymans  <wim@fluendo.com>
9595
9596         Patch by: Olivier Crete <tester at tester dot ca>
9597
9598         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9599         Look at the pending state too when syncing the element state to the
9600         parent. Fixes #420133.
9601
9602 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9603
9604         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9605         (gst_base_sink_change_state):
9606         * libs/gst/base/gstbasesink.h:
9607         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9608         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9609         (gst_base_src_deactivate):
9610         * libs/gst/base/gstbasesrc.h:
9611         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9612         for sub-classes to correctly clear any state they set trying to
9613         unlock, such as clearing out unlock commands from a command fd.
9614         API: basesrc::unlock_stop
9615         API: basesink::unlock_stop
9616
9617         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9618         (gst_fd_sink_render), (gst_fd_sink_unlock),
9619         (gst_fd_sink_unlock_stop):
9620         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9621         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9622         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9623
9624         Implement unlock_stop in fdsrc and fdsink.
9625         Implement seeking in fdsrc when a seekable fd is passed, as in
9626         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9627
9628 2007-03-19  Wim Taymans  <wim@fluendo.com>
9629
9630         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9631
9632         * gst/gstelement.c: (gst_element_class_init):
9633         Fix pad-added and pad-removed signal signatures so that the pad type is
9634         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9635
9636 2007-03-19  Wim Taymans  <wim@fluendo.com>
9637
9638         * docs/gst/gstreamer-sections.txt:
9639         Add new element field and method.
9640
9641         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9642         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9643         (gst_bin_recalc_state), (gst_bin_get_state_func),
9644         (gst_bin_element_set_state), (gst_bin_change_state_func),
9645         (gst_bin_continue_func), (bin_bus_handler),
9646         (bin_push_state_continue), (bin_handle_async_start),
9647         (bin_handle_async_done), (gst_bin_handle_message_func):
9648         Make async state changes a bit smarter by using new ASYNC_START and
9649         ASYNC_DONE messages. This reduces the number of times we run the state
9650         recalculation thread.
9651         Don't change state of element with a pending ASYNC_START message.
9652         Deprecate STATE_DIRTY messages.
9653         
9654         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9655         (gst_element_get_state_func), (gst_element_continue_state),
9656         (gst_element_lost_state), (gst_element_set_state_func),
9657         (gst_element_change_state):
9658         * gst/gstelement.h:
9659         Keep the state that was last set by the app in a new element field.
9660         Don't allow state changes when handling an element event.
9661         Post ASYNC_START and ASYNC_DONE messages.
9662         Change lost_state so that we go to PAUSED and wait for the parent to set
9663         us to PLAYING again (so latency calculation can be performed)
9664         Export gst_element_change_state() method so that subclasses can use it.
9665         API: gst_element_change_state()
9666         API: GST_STATE_TARGET
9667
9668         * gst/gstpipeline.c: (gst_pipeline_class_init),
9669         (reset_stream_time), (gst_pipeline_change_state),
9670         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9671         Using the new ASYNC_START message we can reset the base_time when
9672         needed. This can then be used to implement base_time redistribution in
9673         flushing seeks so that we can remove the explicit seek handling.
9674         Perform latency query and configuration when going to PLAYING.
9675
9676         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9677         (gst_base_sink_query), (gst_base_sink_change_state):
9678         Post new ASYNC_START/ASYNC_DONE messages.
9679
9680         * tests/check/generic/sinks.c: (GST_START_TEST):
9681         Fix test because the bin will not set the async element to PLAYING right
9682         away.
9683
9684         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9685         Make the message check a little stronger.
9686         Handle ASYNC messages.
9687
9688         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9689         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9690         Expect ASYNC_DONE messages.
9691
9692 2007-03-19  Wim Taymans  <wim@fluendo.com>
9693
9694         * docs/gst/gstreamer-sections.txt:
9695         * gst/gstmessage.c: (gst_message_new_async_start),
9696         (gst_message_new_async_done), (gst_message_parse_info),
9697         (gst_message_parse_async_start):
9698         * gst/gstmessage.h:
9699         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9700         support.
9701
9702 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9703
9704         * tools/gst-inspect.c:
9705         (print_plugin_automatic_install_info_codecs):
9706           Now that we don't check for the 'Codec' keyword any longer in the
9707           klass, we shouldn't spew a warning if the klass isn't a decoder or
9708           encoder (since it might be a Source/Network, for example).
9709
9710 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9711
9712         * tools/gst-inspect.c:
9713         (print_plugin_automatic_install_info_codecs):
9714           Don't require decoder/demuxer/depayloader elements or
9715           encoder/muxer/paylader elements to have 'Codec' as part of their
9716           factory class string when introspecting a plugin's capabilities.
9717           draft-klass.txt mentions that it might be removed in future, and
9718           flump3dec doesn't have it as part of its class string, so chances
9719           are others might also not have it.
9720
9721 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9722
9723         * po/af.po:
9724         * po/az.po:
9725         * po/bg.po:
9726         * po/ca.po:
9727         * po/cs.po:
9728         * po/de.po:
9729         * po/en_GB.po:
9730         * po/fr.po:
9731         * po/it.po:
9732         * po/nb.po:
9733         * po/nl.po:
9734         * po/ru.po:
9735         * po/sq.po:
9736         * po/sr.po:
9737         * po/sv.po:
9738         * po/tr.po:
9739         * po/uk.po:
9740         * po/vi.po:
9741         * po/zh_CN.po:
9742         * po/zh_TW.po:
9743           Update translations from translation project
9744
9745 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9746
9747         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9748         (gst_child_proxy_set_property):
9749           Invert precondition check to be alike the ones in the mimiced gobject
9750           api.
9751
9752 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9753
9754         * docs/design/draft-tagreading.txt:
9755         * docs/random/ensonic/audiobaseclasses.txt:
9756           Do some Architect work.
9757
9758         * gst/gstobject.c: (gst_object_set_name):
9759           Add a WARNING.
9760
9761         * gst/gstpad.c:
9762           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9763
9764 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9765
9766         * gst/gstsystemclock.c: (gst_system_clock_init),
9767         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9768         Defer starting the async system clock thread until the first async
9769         wait is scheduled. Fixes #414986.
9770
9771 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9772
9773         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9774         (gst_single_queue_free):
9775           Fix small leak (free GstSingleQueue structure too, not only contents).
9776
9777 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9778
9779         * gst/gstbin.c:(gst_bin_add):
9780         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9781         * win32/common/libgstbase.def:
9782         * win32/common/libgstreamer.def:
9783         Add new exported functions.
9784
9785 2007-03-09  Wim Taymans  <wim@fluendo.com>
9786
9787         * docs/plugins/gstreamer-plugins-sections.txt:
9788         Fix GstTee docs.
9789
9790 2007-03-09  Wim Taymans  <wim@fluendo.com>
9791
9792         * docs/gst/gstreamer-sections.txt:
9793         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9794         * gst/gstbuffer.h:
9795         Add metadata copy functions. Fixes #393099.
9796         API: gst_buffer_copy_metadata()
9797
9798         * gst/gstutils.c: (gst_buffer_stamp):
9799         * libs/gst/base/gstbasetransform.c:
9800         (gst_base_transform_prepare_output_buffer):
9801         Use new metadata copy functions.
9802
9803 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9804
9805         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9806         (gst_identity_init), (gst_identity_check_perfect),
9807         (gst_identity_check_imperfect_timestamp),
9808         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9809         (gst_identity_set_property), (gst_identity_get_property):
9810         * plugins/elements/gstidentity.h:
9811         Separate out check-imperfect-timestamp and check-imperfect-offset.
9812         Put back check-perfect as it was to keep compatibility.
9813
9814 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9815
9816         * gst/gstelement.c: (gst_element_dispose):
9817         There's no need to warn if VOID_PENDING is not NONE here, as
9818         long as the state is NULL it's ok, and that's checked immediately
9819         above.
9820
9821 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9822
9823         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9824         Fix check for perfect stream to ignore buffers with -1 
9825         offsets/offset ends when checking data contiguity.
9826
9827 2007-03-08  Wim Taymans  <wim@fluendo.com>
9828
9829         * tools/gst-launch.c: (event_loop):
9830         Print INFO messages.
9831
9832 2007-03-08  Wim Taymans  <wim@fluendo.com>
9833
9834         * libs/gst/base/gstbasetransform.c:
9835         (gst_base_transform_sink_eventfunc),
9836         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9837         (gst_base_transform_activate):
9838         * libs/gst/base/gstbasetransform.h:
9839         Add support for dropping buffers with custom GstFlowReturn.
9840         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9841         buffers or dropped buffers.
9842
9843         * docs/libs/gstreamer-libs-sections.txt:
9844         docs for new custom return code.
9845
9846         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9847         Use drop support in base class to implement drop-probability.
9848
9849 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9850
9851         * gst/gst.c: (load_plugin_func):
9852         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9853         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9854         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9855           Remove newlines at end of debug log strings.
9856
9857 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9858
9859         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9860         Only post bus message at max, once per buffer received.
9861
9862 2007-03-07  Wim Taymans  <wim@fluendo.com>
9863
9864         * docs/design/Makefile.am:
9865         * docs/design/part-synchronisation.txt:
9866         Add doc about synchronisation
9867
9868         * docs/design/draft-latency.txt:
9869         * docs/design/part-TODO.txt:
9870         * docs/design/part-clocks.txt:
9871         * docs/design/part-events.txt:
9872         * docs/design/part-gstbus.txt:
9873         * docs/design/part-gstpipeline.txt:
9874         * docs/design/part-live-source.txt:
9875         * docs/design/part-messages.txt:
9876         * docs/design/part-overview.txt:
9877         * docs/design/part-streams.txt:
9878         * docs/design/part-trickmodes.txt:
9879         Documentation updates.
9880
9881 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9882
9883         * gstreamer.doap:
9884         Update the doap file.
9885
9886 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9887
9888         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9889         Rename non-perfect to imperfect for Mike and for the sanctity of the
9890         language.
9891         Also make sure bus message gets emitted for data-incontiguities.
9892
9893 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9894
9895         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9896         (gst_identity_start):
9897         * plugins/elements/gstidentity.h:
9898         Emit bus message if check-perfect is true and we encounter a
9899         non-perfect stream between 2 consecutive buffers.
9900         Fixes #415394.
9901
9902 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9903
9904         * configure.ac:
9905         Back to CVS
9906
9907 === release 0.10.12 ===
9908
9909 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9910
9911         * configure.ac:
9912           releasing 0.10.12, "Inevitable Demise"
9913
9914 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9915
9916         * configure.ac:
9917          Version 0.10.11.2 (0.10.12 pre-release)
9918          Bump libtool versioning.
9919
9920 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9921
9922         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9923           Log flow-names and not numbers.
9924
9925 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9926
9927         * configure.ac:
9928           Convert to new AG_GST style.
9929
9930 2007-02-28  Wim Taymans  <wim@fluendo.com>
9931
9932         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9933         Don't unref query twice.
9934
9935 2007-02-28  Wim Taymans  <wim@fluendo.com>
9936
9937         * gst/gstvalue.c: (gst_value_transform_object_string),
9938         (_gst_value_initialize):
9939         Implement GstObject -> string transform so we print object names
9940         when serializing GValues containing GstObjects.
9941
9942 2007-02-28  Wim Taymans  <wim@fluendo.com>
9943
9944         * docs/gst/gstreamer-sections.txt:
9945         Add new stuff to docs.
9946
9947 2007-02-28  Wim Taymans  <wim@fluendo.com>
9948
9949         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9950         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9951         (gst_base_sink_change_state):
9952         Improve latency query code.
9953         Don't leak latency events.
9954
9955         * tests/check/gst/gstbin.c: (GST_START_TEST):
9956         Improve debugging.
9957
9958 2007-02-28  Wim Taymans  <wim@fluendo.com>
9959
9960         * gst/gstelement.c: (gst_element_message_full),
9961         (gst_element_get_state_func):
9962         * gst/gstelement.h:
9963         Improve docs a little. Added Since: for new macro.
9964
9965         * gst/gstobject.c: (gst_object_sink):
9966         * gst/gstpipeline.c: (gst_pipeline_change_state),
9967         (gst_pipeline_set_new_stream_time):
9968         * gst/gstpipeline.h:
9969         Improve debugging and docs.
9970
9971         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9972         Improve debugging.
9973
9974 2007-02-28  Wim Taymans  <wim@fluendo.com>
9975
9976         * gst/gstelement.c: (gst_element_message_full),
9977         (gst_element_set_locked_state), (gst_element_get_state_func),
9978         (gst_element_change_state):
9979         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9980         Documentation updates.
9981         Small code cleanups.
9982
9983         * gst/gstmessage.c: (gst_message_new_info),
9984         (gst_message_parse_info):
9985         * gst/gstmessage.h:
9986         API: gst_message_new_info()
9987         API: gst_message_parse_info()
9988         Add INFO message create and parse code.
9989
9990 2007-02-28  Wim Taymans  <wim@fluendo.com>
9991
9992         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9993         (bin_query_latency_done):
9994         Also report the live parameter of a latency query.
9995
9996 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9997
9998         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9999           Copy the current generic/states example from -base and adapt so
10000           we can use the exact same code everywhere.
10001           Check a STATES_IGNORE_ELEMENTS env var which can be used
10002           to ignore certain element factories for this test, which is
10003           what is being done in -base
10004         * tests/check/Makefile.am:
10005           Mention this environment variable.
10006
10007 2007-02-27  Wim Taymans  <wim@fluendo.com>
10008
10009         * docs/gst/gstreamer-sections.txt:
10010         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10011         (gst_bus_timed_pop), (gst_bus_pop):
10012         * gst/gstbus.h:
10013         API: gst_bus_timed_pop()
10014         Implement gst_bus_timed_pop() to do a blocking timed wait for a
10015         message to arrive on the bus.
10016
10017         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
10018         (gst_bus_suite):
10019         Two unit tests for new _timed_pop() function.
10020
10021 2007-02-23  Wim Taymans  <wim@fluendo.com>
10022
10023         * gst/gstpipeline.c: (gst_pipeline_change_state),
10024         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
10025         Don't ref a NULL clock in _provide_clock_func().
10026         Don't allow an INVALID delay.
10027         Don't try to calculate base_time with an invalid start_time.
10028         Also distribute and notify a NULL clock when it was selected.
10029
10030         * tools/gst-launch.c: (event_loop):
10031         Don't crash when a NULL clock was selected in the pipeline.
10032
10033 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10034
10035         * docs/design/Makefile.am:
10036         * docs/design/draft-missing-plugins.txt:
10037         * docs/random/draft-missing-plugins.txt:
10038           Some small updates: update plugin system identifier prefix
10039           ('gstreamer.net' to 'gstreamer'), mention our new install
10040           API in libgstbaseutils rather than libgimme-codec, add
10041           reference to the online docs.
10042
10043 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10044
10045         * win32/common/config.h:
10046           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
10047           use moap cl ci to only check in what is mentioned in the ChangeLog.
10048
10049 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10050
10051         * docs/gst/gstreamer-sections.txt:
10052         * gst/gstelement.h:
10053           Fix up documentation to link to the correct GstGError section.
10054           Add GST_ELEMENT_INFO macro since someone else added a Info message.
10055
10056 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10057
10058         * tools/gst-launch.c: (event_loop):
10059           Make sure that we actually show the important message part of a
10060           warning message.
10061           No need to check if the gerror is not NULL to free; first of all
10062           g_free accepts NULL; and second the default error handler would
10063           segfault if gerror was NULL.
10064
10065 2007-02-21  Wim Taymans  <wim@fluendo.com>
10066
10067         * docs/gst/gstreamer-sections.txt:
10068         Removed docs as well.
10069
10070 2007-02-21  Wim Taymans  <wim@fluendo.com>
10071
10072         * gst/gstmessage.c: (gst_message_parse_duration):
10073         * gst/gstmessage.h:
10074         Remove new messages for release.
10075
10076 2007-02-20  Wim Taymans  <wim@fluendo.com>
10077
10078         * docs/design/part-gstghostpad.txt:
10079         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10080         (gst_ghost_pad_new_full):
10081         Make the ghostpad a parent of the internal pad again for better backward
10082         compatibility. Don't write code that relies on this however.
10083
10084         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10085         (gst_pad_link_check_hierarchy):
10086         Require that parents should be GstElements in the hierarchy check.
10087
10088 2007-02-20  Wim Taymans  <wim@fluendo.com>
10089
10090         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10091         (gst_bin_change_state_func), (bin_query_min_max_init),
10092         (bin_query_latency_fold), (bin_query_latency_done),
10093         (gst_bin_query):
10094         Improve debug info.
10095         Implement latency query.
10096
10097 2007-02-20  Wim Taymans  <wim@fluendo.com>
10098
10099         * docs/design/part-gstghostpad.txt:
10100         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10101         (gst_ghost_pad_internal_do_activate_push),
10102         (gst_ghost_pad_internal_do_activate_pull),
10103         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10104         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10105         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10106         Do not set the internal pad as a parent anymore so we can avoid
10107         hierarchy linking errors when the ghostpad has no parent yet. This also
10108         fixes failed activation because of unlinked internal pads, which in
10109         turn fixes the impossible case where you have to activate a pad before
10110         you can add it to a running element.
10111         Also fix the docs.
10112
10113         * gst/gstpad.c: (pre_activate), (post_activate),
10114         (gst_pad_set_active), (gst_pad_activate_pull),
10115         (gst_pad_activate_push), (gst_pad_check_pull_range):
10116         Add some more debug info.
10117         Mark activation mode in pre_activate so that we don't try to activate in
10118         endless loops. Fixes #385084.
10119
10120 2007-02-19  Wim Taymans  <wim@fluendo.com>
10121
10122         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10123         (gst_base_transform_check_get_range):
10124         Implement a checkgetrange function instead of relying on the default
10125         core behaviour that assumes we can operate in pull mode if we have a
10126         getrange function. First step at fixing #385084.
10127
10128 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10129
10130         * gst/gstchildproxy.h:
10131         * libs/gst/base/gstbasesink.h:
10132         * libs/gst/base/gstbasesrc.h:
10133         * libs/gst/base/gstbasetransform.h:
10134         More docs coverage and some ChangeLog surgery (add missing names)
10135
10136 2007-02-15  Wim Taymans  <wim@fluendo.com>
10137
10138         * docs/design/part-TODO.txt:
10139         * docs/design/part-activation.txt:
10140         * docs/design/part-block.txt:
10141         * docs/design/part-buffering.txt:
10142         * docs/design/part-clocks.txt:
10143         * docs/design/part-element-source.txt:
10144         * docs/design/part-events.txt:
10145         * docs/design/part-gstbin.txt:
10146         * docs/design/part-gstbus.txt:
10147         * docs/design/part-gstpipeline.txt:
10148         * docs/design/part-live-source.txt:
10149         * docs/design/part-messages.txt:
10150         * docs/design/part-overview.txt:
10151         * docs/design/part-qos.txt:
10152         * docs/design/part-query.txt:
10153         * docs/design/part-states.txt:
10154         * docs/design/part-trickmodes.txt:
10155         Some doc updates. Start renaming from stream_time to running_time where
10156         it was used wrongly.
10157
10158 2007-02-15  Wim Taymans  <wim@fluendo.com>
10159
10160         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10161         Answer LATENCY query.
10162
10163 2007-02-15  Wim Taymans  <wim@fluendo.com>
10164
10165         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10166         (GST_START_TEST):
10167         Improve debugging.
10168
10169 2007-02-15  Wim Taymans  <wim@fluendo.com>
10170
10171         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10172         (gst_pad_dispatcher):
10173         Improve debugging of default pad dispatcher and query functions.
10174
10175 2007-02-15  Wim Taymans  <wim@fluendo.com>
10176
10177         * docs/gst/gstreamer-sections.txt:
10178         Remove old unused method.
10179
10180 2007-02-13  Wim Taymans  <wim@fluendo.com>
10181
10182         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10183         Fix check
10184
10185 2007-02-13  Wim Taymans  <wim@fluendo.com>
10186
10187         * docs/design/part-seeking.txt:
10188         Some small update.
10189
10190         * gst/gstsegment.c: (gst_segment_set_seek):
10191         Revert old bogus change that should make seeking work again.
10192
10193 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10194
10195         * docs/random/ensonic/dynlink.txt:
10196         * docs/random/ensonic/interfaces.txt:
10197         * docs/random/ensonic/receipies.txt:
10198           Possible dynamic reconnection api, plus some type fixes the other two
10199           docs.
10200
10201 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10202
10203         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10204         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10205         Also check for an absolute path following file:// in the filesrc
10206         element. Remove redundant check and call g_path_is_absolute() on the
10207         unescaped location.
10208
10209 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10210
10211         * docs/design/draft-klass.txt:
10212           Add existing category analysis.
10213           
10214         * gst/gstcaps.c:
10215           Fix doc example, framerate is a fraction.
10216
10217 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10218
10219         * configure.ac:
10220         * docs/gst/Makefile.am:
10221         * docs/gst/gstreamer-sections.txt:
10222         * docs/libs/Makefile.am:
10223           Erm, forgot a bunch of --extra-dir.
10224
10225 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10226
10227         * configure.ac:
10228         * docs/gst/Makefile.am:
10229         * docs/libs/Makefile.am:
10230         * docs/plugins/Makefile.am:
10231           Add crossreferences to glib/gobject docs.
10232
10233 2007-02-12  Wim Taymans  <wim@fluendo.com>
10234
10235         * docs/design/draft-latency.txt:
10236         Small update.
10237
10238         * docs/libs/gstreamer-libs-sections.txt:
10239         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10240         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10241         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10242         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10243         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10244         (gst_base_sink_get_position), (gst_base_sink_query),
10245         (gst_base_sink_change_state):
10246         * libs/gst/base/gstbasesink.h:
10247         API: gst_base_sink_query_latency() to let subclasses query the upstream
10248         latency.
10249         API: gst_base_sink_get_latency() to let subclasses query the configured
10250         latency in the sink.
10251         Implement query and set latency.
10252         Update some docs.
10253         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10254         don't continue preroll when we are flushing. Fixes #405284.
10255
10256         * tests/check/pipelines/stress.c: (change_state_timeout),
10257         (quit_timeout), (GST_START_TEST), (stress_suite):
10258         Test for #405284.
10259
10260 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10261
10262         Patch by: René Stadler <mail at renestadler de>
10263
10264         * docs/gst/gstreamer-sections.txt:
10265         * gst/gsttaglist.c: (_gst_tag_initialize):
10266         * gst/gsttaglist.h:
10267           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10268
10269 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10270
10271         * docs/libs/Makefile.am:
10272           Fix path to core docs.
10273
10274         * gst/gstbin.c: (gst_bin_get_by_interface),
10275         (gst_bin_iterate_all_by_interface):
10276           Refix docs by also renaming 'interface' to 'iface' in implementation.
10277
10278         * docs/gst/gstreamer-sections.txt:
10279         * gst/gstcaps.c:
10280         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10281         * gst/gstchildproxy.h:
10282         * gst/gstelementfactory.c:
10283         * gst/gstpadtemplate.h:
10284         * libs/gst/controller/gstcontroller.c:
10285         (gst_controlled_property_new):
10286           Document more.
10287
10288 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10289
10290         * gst/gstbin.h:(gst_bin_get_by_interface),
10291         (gst_bin_iterate_all_by_interface):
10292         Replace interface parameter name by iface as interface is 
10293         a reserved keyword in Visual Studio for C++ projects so it removes
10294         a build error for application developpers using VS.
10295         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10296         Fix a bug on Windows in uri format check. Now the prefix checked
10297         is file:// and next we check if the path after file:// is absolute.
10298         * win32/common/libgstbase.def:
10299         * win32/common/libgstdataprotocol.def:
10300         * win32/common/libgstgstreamer.def:
10301         Add new exported functions.
10302
10303 2007-02-09  Andy Wingo  <wingo@pobox.com>
10304
10305         * tests/check/pipelines/simple-launch-lines.c
10306         (simple_launch_lines_suite, test_tee): Disable tee test until I
10307         have time to fix it :-(
10308
10309         * tests/check/Makefile.am (noinst_HEADERS): 
10310         * tests/check/libs/libsabi.c: 
10311         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10312         * tests/check/gst/gstabi.c: 
10313         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10314
10315         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10316         tests for push and pull tee behavior.
10317
10318         * plugins/elements/gsttee.h: 
10319         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10320         mark as deprecated as well as unimplemented. It was a crack idea.
10321         Add support for tee operating in pull mode, off by default.
10322
10323         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10324         normal-case logs down to LOG, raise errors to WARNING.
10325         (gst_registry_xml_read_cache): Don't log before calling a function
10326         that logs.
10327
10328         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10329         exit (registry finalize).
10330         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10331         DEBUG log when we emit signals that people don't even have the
10332         chance to connect to.
10333         (gst_registry_scan_path_level): Less logging in the normal case.
10334
10335 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10336
10337         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10338
10339         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10340         Correctly generate EOS for non-seekable files. We don't have a total
10341         length for them and would get an unexpected end of file if we only
10342         special-cased for regular files. (Fixes: #404569)
10343
10344 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10345
10346         * tests/check/elements/filesrc.c: (GST_START_TEST),
10347         (filesrc_suite):
10348         Add unit test for the GstURIHandler interface in filesrc. This also
10349         tests the newly added file://localhost/foo/bar support.
10350
10351 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10352
10353         * gst/gstelementfactory.h:
10354           The klass string is not a hierarchy. Add reference to the design doc
10355           for more information and common types.
10356
10357 2007-02-02  Wim Taymans  <wim@fluendo.com>
10358
10359         * gst/gstquery.c: (gst_query_new_latency):
10360         Remove old structure field.
10361
10362 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10363
10364         * tools/gst-launch.1.in:
10365           Give example for network streaming (#351998)
10366
10367 2007-02-02  Wim Taymans  <wim@fluendo.com>
10368
10369         * docs/gst/gstreamer-sections.txt:
10370         Add docs for new methods.
10371
10372         * gst/gstevent.c: (gst_event_new_latency),
10373         (gst_event_parse_latency):
10374         * gst/gstevent.h:
10375         Add new LATENCY event to configure latency in a pipeline.
10376         API: gst_event_new_latency
10377         API: gst_event_parse_latency
10378
10379         * gst/gstmessage.c: (gst_message_new_buffering),
10380         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10381         (gst_message_new_latency), (gst_message_parse_buffering),
10382         (gst_message_parse_lost_preroll):
10383         * gst/gstmessage.h:
10384         Added messages used in draft-latency.
10385         API: gst_message_new_lost_preroll
10386         API: gst_message_parse_lost_preroll
10387         API: gst_message_new_prerolled
10388         API: gst_message_new_latency
10389
10390         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10391         (gst_query_parse_latency):
10392         * gst/gstquery.h:
10393         Implemented new latency query as in design doc.
10394         API: gst_query_new_latency
10395         API: gst_query_set_latency
10396         API: gst_query_parse_latency
10397
10398 2007-02-02  Wim Taymans  <wim@fluendo.com>
10399
10400         * docs/design/draft-latency.txt:
10401         Slight redesign to allow for dynamic latency adjustments.
10402
10403         * docs/design/part-negotiation.txt:
10404         Fix some typos.
10405
10406 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10407
10408         reviewed by: Wim Taymans <wim@fluendo.com>
10409
10410         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10411         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10412         Allow file://localhost/foo/bar URLs and correctly fail for every other
10413         hostname that one sets. This was gnomevfssrc is linked for those if
10414         installed as it can handle it (#403172)
10415
10416 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10417
10418         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10419
10420         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10421         (unref_data), (gst_collect_pads_add_pad_full):
10422         * libs/gst/base/gstcollectpads.h:
10423         Don't put the previously added destroy notify in the GstCollectData
10424         struct as all it's padding is already used and we don't want to break
10425         ABI. Instead put in the pad's GObject data for now. This should be
10426         cleaned up for 0.11 (#402393).
10427
10428 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10429
10430         reviewed by: Wim Taymans <wim@fluendo.com>
10431
10432         * docs/libs/gstreamer-libs-sections.txt:
10433         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10434         (unref_data), (gst_collect_pads_add_pad),
10435         (gst_collect_pads_add_pad_full):
10436         * libs/gst/base/gstcollectpads.h:
10437         API: Add function to specify a destroy notification for custom
10438         GstCollectData when adding new pads in GstCollectPads (#402393).
10439
10440 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10441
10442         * po/sv.po:
10443           Update Swedish translation (#378255).
10444
10445 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10446
10447         * docs/design/draft-klass.txt:
10448           Fix the previous change, this is a list of categories and not a hierarchy.
10449
10450 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10451
10452         * docs/design/draft-klass.txt:
10453           Add info about how to get a list of used classes.
10454
10455 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10456
10457         * plugins/elements/gsttypefindelement.c:
10458         (gst_type_find_element_chain_do_typefinding),
10459         (gst_type_find_element_change_state):
10460           Don't leak found caps in chain function (no idea why that never
10461           showed up as a leak anywhere).
10462
10463 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10464
10465         * gst/gstplugin.h:
10466           Fix and expand GstPluginDesc API docs.
10467
10468 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10469
10470         * gst/gstcaps.c:
10471         * gst/gstelementfactory.c:
10472         * gst/gstpadtemplate.h:
10473           api doc fixes
10474
10475         * libs/gst/controller/gstcontroller.c:
10476         (gst_controlled_property_new):
10477         * tests/examples/controller/audio-example.c:
10478           comment fixes
10479
10480 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10481
10482         * configure.ac:
10483           comment about refining the xml deps
10484
10485         * docs/manuals.mak:
10486           comments about moving away from jade for docs
10487         
10488         * gst/gst.c:
10489           recommit the ifdefs to use the binary registry
10490         
10491         * gst/gstbin.c: (gst_bin_change_state_func):
10492           this break is obsolete
10493
10494         * gst/gstelementfactory.h:
10495           better GST_ELEMENT_DETAILS docs, add comment about translation
10496
10497         * gst/gstinfo.h:
10498           remove eol slash
10499
10500         * gst/gstobject.c: (gst_signal_object_get_type):
10501           add G_UNLIKELY as usual
10502
10503         * gst/gstpad.c: (gst_pad_event_default):
10504           add fall trhu comment
10505
10506         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10507         (gst_registry_binary_initialize_magic),
10508         (gst_registry_binary_save_string),
10509         (gst_registry_binary_save_pad_template),
10510         (gst_registry_binary_save_feature),
10511         (gst_registry_binary_save_plugin),
10512         (gst_registry_binary_write_cache),
10513         (gst_registry_binary_check_magic),
10514         (gst_registry_binary_load_pad_template),
10515         (gst_registry_binary_load_feature),
10516         (gst_registry_binary_load_plugin),
10517         (gst_registry_binary_read_cache):
10518           comment typo and formatting
10519
10520         * gst/gstutils.c: (gst_element_state_get_name),
10521         (gst_element_state_change_return_get_name):
10522           remove obsolete breaks
10523
10524         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10525           add FIXME 0.11 and remove cpp comment
10526
10527 2007-01-29  Edward Hervey  <edward@fluendo.com>
10528
10529         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10530         Fix print statement in an even more portable way.
10531
10532 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10533
10534         * docs/gst/gstreamer-sections.txt:
10535         * gst/gstutils.h:
10536           API: add GST_ROUND_DOWN_* macros (#401781).
10537
10538 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10539
10540         * docs/gst/gstreamer.types.in:
10541         * gst/gstregistry.c: (gst_registry_class_init):
10542           Document registry signals and make gtk-doc pick them up (#401381).
10543
10544 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10545
10546         * docs/pwg/building-testapp.xml:
10547           Add some audioconverts and audioresample to the pipeline, and some
10548           more comments and error handling.
10549
10550 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10551
10552         * docs/manual/manual.xml:
10553         * docs/pwg/pwg.xml:
10554           Fix typo (#400987).
10555
10556 2007-01-26  Wim Taymans  <wim@fluendo.com>
10557
10558         * gst/gstcaps.c: (gst_static_caps_get):
10559         Init caps flags too.
10560
10561 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10562
10563         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10564
10565         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10566         If not using mmap'ed files try to seek to the end instead of the
10567         start to determine whether we can seek at all. This fixes the case
10568         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10569         seeks for everything afterwards fail. Fixes #400656
10570
10571 2007-01-25  Wim Taymans  <wim@fluendo.com>
10572
10573         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10574         Add some refcount debugging.
10575         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10576         in multiple streaming threads.
10577
10578 2007-01-25  Wim Taymans  <wim@fluendo.com>
10579
10580         Patch by: David Schleef <ds at schleef dot org>
10581
10582         * docs/libs/gstreamer-libs-sections.txt:
10583         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10584         * libs/gst/base/gstadapter.h:
10585         API: gst_adapter_copy() that can reduce the amount of memcpy when
10586         getting data from the adapter. Fixes #388201.
10587
10588 2007-01-25  Edward Hervey  <edward@fluendo.com>
10589
10590         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10591         In print statements, "%x" is for guint. Fixes build on macosx.
10592
10593 2007-01-24  Edward Hervey  <edward@fluendo.com>
10594
10595         * plugins/elements/gstmultiqueue.c:
10596         (gst_multi_queue_loop):
10597         Small fix.
10598         (single_queue_overrun_cb), (single_queue_underrun_cb),
10599         (single_queue_check_full), (gst_single_queue_new):
10600         Implement single queue growth system.
10601         This uses the extra-size properties, and will grow single queues by
10602         that much if one goes full whereas there are others empty. This is
10603         called extra-mode in the code.
10604         When a single queue's levels go back below the initial max-size
10605         limits, it is no longer in extra-mode. This is to ensure we don't
10606         consume too much memory.
10607         Fixes #399875
10608
10609 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10610
10611         * gst/gst.c: (gst_init_get_option_group):
10612           Make warning about late g_thread_init() calls a bit more explicit,
10613           so that it's more obvious to application developers what they need
10614           to do if a user files a bug against their application.
10615
10616 2007-01-22  Edward Hervey  <edward@fluendo.com>
10617
10618         * plugins/elements/gstmultiqueue.c:
10619         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10620         Remove previous hack of unsetting the flushing flag for the source pad
10621         instead of activating it. Instead, fix the source pad activate function
10622         so that it no longer depends on having a parent set or not.
10623
10624 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10625
10626         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10627
10628         * docs/manual/basics-bus.xml:
10629           Fix example code, gst_element_unref() doesn't exist any longer.
10630
10631 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10632
10633         Patch by: Mark Nauwelaerts <manauw at skynet be>
10634
10635         * gst/gstpad.c:
10636           Fix two docs typoes (#399094).
10637
10638 2007-01-19  Edward Hervey  <edward@fluendo.com>
10639
10640         * docs/faq/gst-uninstalled:
10641         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10642         depending on libgstbaseutils can work in uninstalled environment.
10643
10644 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10645
10646         * gst/gsttaglist.h:
10647         * gst/gsttagsetter.c:
10648         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10649         statement for new tag.
10650
10651 2007-01-17  Edward Hervey  <edward@fluendo.com>
10652
10653         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10654         When dynamically creating single queues, activate sinkpad before adding
10655         it.
10656         We should be doing the same thing for the source pad, but we can't
10657         since it would call a method which needs the parent to be set in order
10658         to work propertly. Instead of activating the source pad, we just unset
10659         the flushing flag, which is the minimal requirement for adding a pad
10660         to an element in a state greater than READY.
10661
10662 2007-01-17  Edward Hervey  <edward@fluendo.com>
10663
10664         * docs/faq/gst-uninstalled:
10665         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10666         Mac OS X.
10667
10668 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10669
10670         * tests/check/gst/gstabi.c:
10671         * tests/check/gst/struct_hppa.h:
10672         * tests/check/libs/libsabi.c:
10673         * tests/check/libs/struct_hppa.h:
10674           Add ABI structs for HPPA (see #393796).
10675
10676 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10677
10678         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10679           Actually write ABI structs to the file specified in the GST_ABI
10680           environment variable, as the message we print claims we would.
10681
10682 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10683
10684         * tests/check/gst/gsttask.c:
10685           Fix header comment.
10686
10687 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10688
10689         * gst/gsttaglist.c: (_gst_tag_initialize):
10690           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10691           previous two entries.
10692
10693 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10694
10695         * docs/gst/gstreamer-sections.txt:
10696         * gst/gsttaglist.c: (_gst_tag_initialize):
10697         * gst/gsttaglist.h:
10698           Add tag support for beat-per-minute.
10699
10700 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10701
10702         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10703         (gst_registry_binary_initialize_magic),
10704         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10705         (gst_registry_binary_save_pad_template),
10706         (gst_registry_binary_save_feature),
10707         (gst_registry_binary_save_plugin),
10708         (gst_registry_binary_write_cache),
10709         (gst_registry_binary_check_magic),
10710         (gst_registry_binary_load_pad_template),
10711         (gst_registry_binary_load_feature),
10712         (gst_registry_binary_load_plugin),
10713         (gst_registry_binary_read_cache):
10714         * gst/gstregistrybinary.h:
10715           Use glib types, cleanup comments, impement interfaces and uri-types.
10716
10717 2007-01-13  Andy Wingo  <wingo@pobox.com>
10718
10719         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10720         getrange() to return buffers with other caps, while we fix
10721         demuxers and typefind, or otherwise change part-negotiation.txt.
10722
10723 2007-01-12  Andy Wingo  <wingo@pobox.com>
10724
10725         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10726         Factor start/stop into this private function instead of partially
10727         in activate functions and partially in the change_state function.
10728         Fixes setup before the element has changed from READY->PAUSED, as
10729         is the case in pull-mode pipelines.
10730         (gst_base_transform_sink_activate_push)
10731         (gst_base_transform_src_activate_pull): Refactor to use
10732         gst_base_transform_activate().
10733         (gst_base_transform_change_state): Removed, not needed any more.
10734
10735         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10736         Truncate before fixating.
10737         
10738         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10739         Don't set_caps() if the result of fixating is ANY, as it's not
10740         supported, and not necessary in the case of a link with no
10741         template caps on either side. Fixes tests/check/libs/basesrc in
10742         some pull-mode tests.
10743
10744         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10745         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10746         (gst_base_transform_src_activate_pull): 
10747         Track the activation mode.
10748         (gst_base_transform_setcaps): In pull mode, when activating the
10749         src pad, after activating the sink pad, activate the sink pad's
10750         peer, as discussed in part-negotiation.txt.
10751
10752         * libs/gst/base/gstbasesrc.h: 
10753         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10754         vmethod, as in basesink.
10755
10756         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10757
10758         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10759         mode, first proxy the setcaps to the peer pad.
10760         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10761         new fixate vmethod.
10762         (gst_base_sink_default_activate_pull): Rename from
10763         gst_base_sink_activate_pull.
10764         (gst_base_sink_negotiate_pull): New function, performs negotiation
10765         in pull mode before calling ::activate_pull().
10766         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10767         vmethod instead of the default implementation. I have no idea how
10768         this worked before. Negotiate before calling activate_pull.
10769
10770         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10771         sink pads in pull mode. In addition to being correct, fixes
10772         filesrc ! decodebin ! identity ! fakesink.
10773         (gst_pad_get_range, gst_pad_pull_range): Don't call
10774         gst_pad_set_caps() if the caps changes; instead error out with
10775         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10776
10777 2007-01-12  Andy Wingo  <wingo@pobox.com>
10778
10779         * docs/design/part-negotiation.txt: Update with more policy.
10780
10781 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10782
10783         * libs/gst/check/gstbufferstraw.h:
10784         * libs/gst/check/gstcheck.h:
10785           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10786           belongs.
10787
10788 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10789
10790         * tests/check/Makefile.am:
10791         * tests/check/gst/.cvsignore:
10792         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10793         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10794         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10795         (GST_START_TEST), (gst_tag_setter_suite):
10796           Add minimal unit test for beforementioned GstTagSetter bug.
10797
10798 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10799
10800         Patch by: René Stadler <mail at renestadler dot de>
10801
10802         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10803           gst_tag_list_merge() returns a new list, so it's not the best idea
10804           to ingore its return value. Effectively meant that tags could only
10805           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10806           Also add function guard to require a non-NULL taglist as input (has
10807           always been so due to gst_tag_list_copy(), just making it explicit).
10808
10809 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10810
10811         * docs/random/draft-missing-plugins.txt:
10812           Some additions: mention new API that is supposed to be used at the
10813           various stages; short blob about new gst-inspect introspection
10814           option; mention potential future problem with plugins that have
10815           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10816
10817 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10818
10819         * tools/gst-inspect.c:
10820         (print_plugin_automatic_install_info_codecs),
10821         (print_plugin_automatic_install_info_protocols),
10822         (print_plugin_automatic_install_info), (main):
10823         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10824         introspect plugin files and get machine-parsable output that corresponds
10825         to the last bit of the missing-plugin installer string (small gotcha:
10826         doesn't take into account ranks).
10827
10828 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10829
10830         * configure.ac:
10831         * docs/gst/gstreamer-sections.txt:
10832         * gst/Makefile.am:
10833         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10834         (gst_registry_lookup_locked):
10835         * gst/gstregistry.h:
10836         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10837         (gst_registry_binary_initialize_magic),
10838         (gst_registry_binary_save_string),
10839         (gst_registry_binary_save_pad_template),
10840         (gst_registry_binary_save_feature),
10841         (gst_registry_binary_save_plugin),
10842         (gst_registry_binary_write_cache),
10843         (gst_registry_binary_check_magic),
10844         (gst_registry_binary_load_pad_template),
10845         (gst_registry_binary_load_feature),
10846         (gst_registry_binary_load_plugin),
10847         (gst_registry_binary_read_cache):
10848         * gst/gstregistrybinary.h:
10849         * gst/gstregistryxml.c: (load_feature),
10850         (gst_registry_xml_read_cache):
10851           commit binary registry (disabled by default, see #359653)
10852
10853 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10854
10855         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10856           Fix 'make check' too.
10857
10858 2007-01-10  Andy Wingo  <wingo@pobox.com>
10859
10860         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10861         notes.
10862         
10863         * docs/design/part-negotiation.txt: Update with, um, one way that
10864         pull-mode negotiation might work?
10865
10866         * gst/gstpad.h: 
10867         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10868         that the pad must be a src pad; makes sense to call it the other
10869         way in pull mode, and the logic is symmetric anyway.
10870
10871 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10872
10873         * plugins/elements/gstfilesink.c:
10874           Include <stdio.h> for fseeko().
10875
10876 2007-01-10  Wim Taymans  <wim@fluendo.com>
10877
10878         * gst/gstevent.c:
10879         * gst/gstevent.h:
10880         Reserve LATENCY event.
10881
10882 2007-01-09  Wim Taymans  <wim@fluendo.com>
10883
10884         * docs/design/draft-latency.txt:
10885         Updates.
10886
10887 2007-01-09  Wim Taymans  <wim@fluendo.com>
10888
10889         * docs/design/draft-latency.txt:
10890         Updates.
10891
10892         * gst/gstelement.h:
10893         * gst/gststructure.c:
10894         * gst/gsttrace.c:
10895         Small typo fixes.
10896
10897 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10898
10899         * tests/check/.cvsignore:
10900           Ignore test-registry.xml as well.
10901
10902 2007-01-09  Wim Taymans  <wim@fluendo.com>
10903
10904         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10905         unref data at the end when we are done with the pad.
10906
10907 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10908
10909         * docs/gst/gstreamer-sections.txt:
10910         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10911         (init_post), (gst_deinit), (gst_update_registry):
10912         * gst/gst.h:
10913           API: add gst_update_registry() (#391296).
10914
10915         * tests/check/Makefile.am:
10916         * tests/check/gst/gstregistry.c:
10917         * tests/check/gst/.cvsignore:
10918           Simple unit test for the above.
10919
10920 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10921
10922         * gst/gstregistry.c: (gst_registry_scan_path_level):
10923           Plugin extension on HP-UX is .sl, add that to the list of approved
10924           plugin extensions (see #393796).
10925
10926         * tests/check/gst/gstpad.c: (GST_START_TEST):
10927           ulong => gulong. Fixes compilation with HP-UX compiler.
10928
10929         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10930           Fix compilation if valgrind headers are not available.
10931
10932 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10933
10934         * win32/common/libgstreamer.def: 
10935           Add new exported function.
10936         * win32/vs6/libgstbase.dsp: 
10937           Add gstdataqueue.c to the build.
10938         * win32/vs6/libgstcoreelements.dsp:
10939           Add gstmultiqueue.c to the build.
10940         
10941 2007-01-06  Andy Wingo  <wingo@pobox.com>
10942
10943         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10944         activate_pull(), providing for a way to specialize the process of
10945         spawning a thread to pull on the sink pad. There is a default
10946         implementation.
10947
10948         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10949         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10950         (gst_base_sink_init): Renamed pad activation functions (inserting
10951         "_pad" in their names). Refactor to use the new activate_pull
10952         vmethod, as appropriate.
10953         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10954         default activate_pull function to start a task pulling from the
10955         sink pad, as before.
10956
10957         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10958         on the pads if necessary, as in push()/chain(). Update docs.
10959         Shouldn't affect existing pull() usage as it is currently only
10960         being used on buffers without caps.
10961
10962 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10963
10964         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10965         (init_pre):
10966           Call g_thread_init() first thing in gst_init() / gst_check_init().
10967           When initialisation is done via gst_init_get_option_group() and
10968           GOption parsing, issue a warning if the GLib thread system has not
10969           been initialised yet by the time gst_init_get_option_group() is
10970           called, as it's quite likely other GLib functions such as
10971           g_option_context_new() have been called already then, and
10972           g_thread_init() must be called before any other GLib function. The
10973           application in question must be fixed in that case, since memory
10974           corruption might happen otherwise.
10975           We issue the warning because even if the GLib folks decide to work
10976           around the problem on their end in future, this is still an issue
10977           with all GLib versions >= 2.10.0, so we should warn until we depend
10978           on a GLib version we know to be safe.
10979           Update documentation as well.
10980           Closes bug #391278.
10981
10982 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10983
10984         * tools/gst-inspect.c: (main):
10985         * tools/gst-launch.c: (main):
10986         * tools/gst-typefind.c: (main):
10987         * tools/gst-xmlinspect.c: (main):
10988           Call g_thread_init() really really early, before any other GLib
10989           function (see #342564 and recent discussion on gtk-devel-list).
10990
10991 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10992
10993         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10994
10995         * gst/gst_private.h:
10996         * gst/gstconfig.h.in:
10997         * gst/gstinfo.h:
10998           On win32, all the __declspec stuff for symbol exporting is
10999           apparently only needed with MSVC, but doesn't work with MingW.
11000           Fixes compilation with MingW and #391909.
11001
11002 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11003
11004         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
11005           Change some GST_ERROR_OBJECT that aren't really errors to
11006           GST_WARNING_OBJECT in order to reduce terminal spam.
11007
11008 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11009
11010         * tests/check/Makefile.am:
11011           disable test again, as there seem to be still race problems
11012
11013 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11014
11015         * tests/check/Makefile.am:
11016         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11017         (GST_START_TEST), (queue_suite):
11018           enable queue test again, add tests for the leaky behaviour
11019
11020 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
11021
11022         * configure.ac:
11023         * tests/examples/Makefile.am:
11024           Compile adapter test/example only if the required headers are
11025           available (fixes #391915).
11026
11027 2007-01-01  David Schleef  <ds@schleef.org>
11028
11029         * gst/gstplugin.c:
11030           Restore the previous signal handler for SIGSEGV instead of
11031           setting to default, since we may have stolen it away from
11032           someone.  (i.e., Mono)
11033
11034 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11035
11036         * docs/random/draft-missing-plugins.txt:
11037           Some small additions and clarifications.
11038
11039 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11040
11041         * gst/gstregistryxml.c: (gst_registry_save_escaped):
11042           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
11043           since that can lead to random memory corruptions and crashes
11044           (may or may not be related to #383244, #386711, and #386711).
11045
11046 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11047
11048         * tests/check/.cvsignore:
11049         * tests/check/Makefile.am:
11050           sync .cvsignome and CLEANFILES
11051
11052 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11053
11054         * tests/check/Makefile.am:
11055           fix distcheck
11056
11057 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11058
11059         * docs/design/part-states.txt:
11060           two tiny additional comments
11061         
11062         * gst/gststructure.c:
11063           doc fixing
11064
11065         * tests/check/Makefile.am:
11066         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11067         (GST_START_TEST):
11068           disable test for now, unless it gets fixed
11069
11070 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11071
11072         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11073         (GST_START_TEST):
11074           fix race in underrun test
11075
11076 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11077
11078         * tests/check/elements/.cvsignore:
11079           ignore more
11080
11081         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11082         (GST_START_TEST):
11083           try to narrow test failure
11084
11085 2006-12-21  David Schleef  <ds@schleef.org>
11086
11087         * plugins/elements/gstfakesrc.c:
11088           Use g_random_int_range(), since it produces better random
11089           numbers in a range than almost-correct floating point code.
11090
11091 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11092
11093         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11094         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11095         (gst_check_teardown_sink_pad):
11096           do not automatically (de)activate pads
11097
11098         * tests/check/Makefile.am:
11099         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11100         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11101           add new, yet simple tests for queue
11102
11103         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11104         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11105         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11106         (GST_START_TEST):
11107         * tests/check/elements/identity.c: (cleanup_identity):
11108           consistent pad (de)activation
11109
11110 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11111
11112         Patch by: Sebastian Dröge  <slomo ubuntu com>
11113
11114         * libs/gst/base/gstcollectpads.c:
11115           Fix two doc typos (#387866).
11116
11117 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11118
11119         * docs/manual/advanced-dparams.xml:
11120           Fix typo (g_object_control_properties() doesn't exist).
11121
11122 2006-12-19  Edward Hervey  <edward@fluendo.com>
11123
11124         * gst/gstsegment.c: (gst_segment_set_seek):
11125         Fine tune the cases where the segment start/stop values are really
11126         updated.
11127         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11128         Add tests for the return values of gst_segment_set_seek().
11129
11130 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11131
11132         * gst/gst.c:
11133           Docs typo fix.
11134
11135         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11136         (gst_queue_init):
11137           Fix incorrect documentation and flesh it out a bit more.
11138           Set default values for the max properties on the GParamSpec as well,
11139           so it shows up correctly in gst-inspect.
11140
11141 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11142
11143         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11144           Correct docs of queue, add more detail and crosslink it more.
11145
11146 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11147
11148         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11149           Print additional debug info when the stream isn't perfectly
11150           timestamped; don't try to use invalid durations.
11151
11152 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11153
11154         * docs/design/Makefile.am:
11155           Dist new design docs.
11156
11157 2006-12-16  Wim Taymans  <wim@fluendo.com>
11158
11159         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11160
11161         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11162         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11163         (gst_collect_pads_stop), (gst_collect_pads_event),
11164         (gst_collect_pads_chain):
11165         * libs/gst/base/gstcollectpads.h:
11166         Add refcounting to the collectpads data so we can track when it's safe
11167         to free the data. Fixes #383382.
11168
11169 2006-12-15  Wim Taymans  <wim@fluendo.com>
11170
11171         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11172         (gst_collect_pads_remove_pad):
11173         Automatically activate/deactivate pads when they are added to a
11174         started/stoped collectpads.
11175
11176 2006-12-15  Wim Taymans  <wim@fluendo.com>
11177
11178         * gst/gstelement.c: (gst_element_add_pad):
11179         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11180         * gst/gstpad.c: (gst_pad_init):
11181         Set pads to FLUSHING when they are created. Check, warn and fix when a
11182         demuxer adds an inactive pad to itself when running. Fixes #339326.
11183
11184 2006-12-15  Wim Taymans  <wim@fluendo.com>
11185
11186         * gst/gstelement.c: (gst_element_class_init),
11187         (gst_element_default_send_event), (gst_element_send_event),
11188         (gst_element_default_query), (gst_element_query):
11189         Expose default element send_event and query handling as vmethods that
11190         subclasses can chain up to.
11191
11192 2006-12-15  Wim Taymans  <wim@fluendo.com>
11193
11194         * gst/gstelement.c: (gst_element_set_state_func):
11195         Small documentation fixes.
11196
11197 2006-12-15  Wim Taymans  <wim@fluendo.com>
11198
11199         * docs/design/draft-latency.txt:
11200         Checked in draft for handling latency in pipelines.
11201
11202 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11203
11204         * Makefile.am:
11205         * gstreamer.doap:
11206         * gstreamer.spec.in:
11207           adding .doap file
11208
11209 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11210
11211         * gst/gst.c: (init_pre), (init_post):
11212           init_pre() and init_post() might be called via our GOptionGroup or
11213           from gst_init(), and we should skip both of them if we've already
11214           been initialised, otherwise we will init some things twice or add
11215           two default log functions.
11216
11217 2006-12-13  Edward Hervey  <edward@fluendo.com>
11218
11219         * docs/manual/basics-bus.xml:
11220         No, gst_main_loop does not exist. Its g_main_loop.
11221         Discovered by somebody who abused the copy-paste technique of coding :)
11222
11223 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11224
11225         * gst/gstghostpad.c:
11226           Log ghostpad debug stuff to the GST_PADS category as well rather
11227           than just to the default category.
11228
11229 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11230
11231         * configure.ac:
11232         * gst/gst.c: (init_pre):
11233           Add some basic system details such as OS and architecture
11234           to the debug output if possible, courtesy of uname().
11235
11236 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11237
11238         * docs/gst/running.xml:
11239           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11240           environment variables.
11241
11242 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11243
11244         * tests/check/gst/gstbin.c: (GST_START_TEST):
11245         It is acceptable to have a refcount of 2 or 3 at this point in the
11246         test, because the pipeline might be just posting its state_change
11247         message. The next line then waits for that message to appear using
11248         bus_poll, so that should be fine too.
11249
11250 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11251
11252         * gst/gst.c: (ensure_current_registry_forking):
11253         Ignore EINTR when reading from the child registry pipe.
11254         Explicitly ignore the return value from close, since it makes no
11255         difference.
11256
11257         * gst/gstminiobject.c: (gst_mini_object_ref),
11258         (gst_mini_object_unref):
11259         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11260
11261         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11262         When removing cached plugins, remove their features too, so they're
11263         not visible after they've disappeared.
11264
11265         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11266         In the unlikely case that we are linking pads with no parents, don't
11267         crash trying to get the non-existent parent bin.
11268
11269         * gst/parse/grammar.y:
11270         Output debug in the PIPELINE category
11271
11272 2005-03-08  Wim Taymans  <wim@fluendo.com>
11273
11274         Patch by: René Stadler <mail at renestadler dot de>
11275
11276         * gst/gstclock.c: (gst_clock_new_periodic_id):
11277         Reject invalid clock times for interval of periodic ids.
11278         Fixes ##383506.
11279
11280 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11281
11282         * gst/gstelementfactory.c: (gst_element_factory_create):
11283         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11284         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11285         * tools/gst-inspect.c: (print_element_info):
11286         Fix refcounting of gst_plugin_feature_load to match the docs. 
11287         Fixes: #380129
11288
11289 2006-12-07  Wim Taymans  <wim@fluendo.com>
11290
11291         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11292         (gst_base_sink_get_position):
11293         Improve debugging of events.
11294
11295 2006-12-07  Wim Taymans  <wim@fluendo.com>
11296
11297         Patch by: René Stadler <mail at renestadler dot de>
11298
11299         * gst/gstclock.c: (gst_clock_id_wait):
11300         Make period ids add the interval to the origial requested time instead
11301         of the possibly updated time which can be wrong when there are multiple
11302         waiters for the same id. Fixes #382592.
11303
11304         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11305         (gst_system_clock_id_wait_jitter_unlocked),
11306         (gst_system_clock_id_wait_jitter):
11307         Fix restart in the async notify thread when an async entry is added to
11308         the front of the list. Fixes #381492. 
11309
11310         * tests/check/gst/gstsystemclock.c: (store_callback),
11311         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11312         Added test for multiple async waits.
11313         Added test for async wait order.
11314
11315 2006-12-07  Wim Taymans  <wim@fluendo.com>
11316
11317         * gst/gstbin.c: (gst_bin_query):
11318         Add some more docs about the POSITION query.
11319
11320 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11321
11322         * configure.ac:
11323         Bump version nano - back to CVS.
11324
11325 === release 0.10.11 ===
11326
11327 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11328
11329         * configure.ac:
11330           releasing 0.10.11, "Love never runs on time"
11331
11332 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11333
11334         * win32/common/libgstbase.def:
11335         * win32/common/libgstreamer.def:
11336         * win32/vs8/libgstbase.vcproj:
11337         * win32/vs8/libgstcoreelements.vcproj:
11338         * win32/vs8/libgstreamer.vcproj:
11339         Fix compilation on win32 under VS8
11340         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11341         Partially fixes #381175
11342
11343 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11344
11345         * gst/gstvalue.c: (gst_value_compare_fraction):
11346         If someone is foolish enough to compare 2 fractions with denominator =
11347         0, return UNORDERED rather than aborting.
11348
11349 2006-11-28  Edward Hervey  <edward@fluendo.com>
11350
11351         * libs/gst/base/Makefile.am:
11352         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11353         (gst_data_queue_base_init), (gst_data_queue_class_init),
11354         (gst_data_queue_init), (gst_data_queue_new),
11355         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11356         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11357         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11358         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11359         (gst_data_queue_set_flushing), (gst_data_queue_push),
11360         (gst_data_queue_pop), (gst_data_queue_drop_head),
11361         (gst_data_queue_set_property), (gst_data_queue_get_property):
11362         * libs/gst/base/gstdataqueue.h:
11363         New GstDataQueue object for threadsafe queueing. Most useful for
11364         elements that need some queueing functionnality.
11365         * docs/libs/gstreamer-libs-docs.sgml:
11366         * docs/libs/gstreamer-libs-sections.txt:
11367         Insert documentation for GstDataQueue
11368         * plugins/elements/Makefile.am:
11369         * plugins/elements/gstelements.c:
11370         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11371         (gst_multi_queue_class_init), (gst_multi_queue_init),
11372         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11373         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11374         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11375         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11376         (gst_multi_queue_loop), (gst_multi_queue_chain),
11377         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11378         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11379         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11380         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11381         (wake_up_next_non_linked), (compute_next_non_linked),
11382         (single_queue_overrun_cb), (single_queue_underrun_cb),
11383         (single_queue_check_full), (gst_single_queue_new):
11384         * plugins/elements/gstmultiqueue.h:
11385         New multiqueue element, using GstDataQueue. Used for queuing multiple
11386         streams.
11387         Closes #344639 and #347785
11388
11389 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11390
11391         * docs/pwg/advanced-types.xml:
11392           add more missing type details
11393
11394         * tools/gst-run.c: (main):
11395           remove unused variable
11396
11397 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11398
11399         * docs/libs/Makefile.am:
11400         * docs/libs/gstreamer-libs.types:
11401           add types of base classes to enable gobject specific stuff in the docs
11402
11403         * docs/random/ensonic/embedded.txt:
11404           more ideas about isolating platform specific things
11405
11406 2006-11-20  Wim Taymans  <wim@fluendo.com>
11407
11408         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11409
11410         * libs/gst/check/gstcheck.h:
11411         Fix compilation and running against 0.9.4. Fixes #377332.
11412
11413 2006-11-20  Wim Taymans  <wim@fluendo.com>
11414
11415         * gst/gstsegment.c: (gst_segment_set_seek),
11416         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11417         (gst_segment_to_running_time):
11418         Fix boundary checking in to_running_time() and to_stream_time().
11419         Fixes #377183.
11420
11421         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11422         stream and running time can now be calculated for the complete
11423         clipped segment.
11424
11425 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11426
11427         * gst/gstpad.c: (gst_pad_push_event):
11428           Can't access event structure after giving away ownership of
11429           the event.
11430
11431 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11432
11433         * docs/random/ensonic/embedded.txt:
11434         * docs/random/ensonic/profiling.txt:
11435         * docs/random/ensonic/receipies.txt:
11436           more thinking
11437
11438 2006-11-13  Wim Taymans  <wim@fluendo.com>
11439
11440         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11441
11442         * gst/gstpad.c:
11443         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11444
11445 2006-11-13  Wim Taymans  <wim@fluendo.com>
11446
11447         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11448
11449         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11450         Store new length in segment duration so we don't keep on calling the
11451         potentially expensize get_size() call. Fixes #370865.
11452
11453 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11454
11455         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11456
11457         * win32/common/libgstreamer.def:
11458           Add two missing symbols (#366492).
11459
11460 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11461
11462         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11463         (gst_adapter_take_buffer):
11464         Fix format string to use all its arguments.
11465         Remove useless >= check on a guint
11466
11467 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11468
11469         * tests/examples/adapter/.cvsignore:
11470         Ignore build file as commanded by the build-bot
11471
11472 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11473
11474         * tests/examples/adapter/Makefile.am:
11475         * tests/examples/adapter/adapter_test.c: (run_test_take),
11476         (run_test_take_buffer), (run_tests), (main):
11477
11478         Add new files from the previous commit
11479
11480 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11481
11482         * Makefile.am:
11483         * configure.ac:
11484         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11485         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11486         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11487         * libs/gst/base/gstadapter.h:
11488         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11489         (GST_START_TEST), (gst_adapter_suite):
11490         * tests/examples/Makefile.am:
11491         Do some optimisation work in GstAdapter to avoid copies in more cases.
11492         It could still do slightly better by merging buffers when
11493         gst_buffer_is_span_fast is true, but is already faster. 
11494
11495         Also, avoid traversing a single-linked list to append each incoming 
11496         buffer inside the adapter.
11497
11498         Add simple test app that times the adapter behaviour in different
11499         situations, and extend the unit test to check that bytes enter and
11500         exit the adapter in their original order.
11501
11502 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11503
11504         * docs/random/draft-missing-plugins.txt:
11505           Update: use element message instead of adding a new message
11506           type to the core; don't provide GStreamer API to initiate the
11507           plugin download, just provide API to compose the strings needed
11508           and let an external libgimmestuff handle the rest.
11509
11510 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11511
11512         * tools/gst-inspect.c: (print_element_properties_info):
11513         Print a string instead of 'unknown type' for GValueArray properties
11514
11515 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11516
11517         * docs/random/draft-missing-plugins.txt:
11518         More small fixes.
11519
11520 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11521
11522         * tests/examples/typefind/typefind.c: (type_found), (main):
11523           Make typefind element example work again (#371894); add a
11524           license header.
11525
11526 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11527
11528         * docs/random/draft-missing-plugins.txt:
11529           Commit initial draft about how to deal with missing plugins,
11530           needs work (API too).
11531
11532 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11533
11534         * docs/pwg/advanced-types.xml:
11535           documents the new caps elements (see #363118)
11536
11537 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11538
11539         * gst/gstplugin.c: (gst_plugin_load_file):
11540         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11541         (gst_file_src_map_region), (gst_file_src_start):
11542         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11543         (gst_file_index_commit):
11544           Use g_strerror() instead of strerror() - we want UTF-8.
11545
11546 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11547
11548         Patch by: Peter Kjellerstedt <pkj at axis com>
11549
11550         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11551           Another printf fix (#371493).
11552
11553 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11554
11555         * tests/check/gst/gsttag.c:
11556           relicence (okay with author=company)
11557
11558 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11559
11560         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11561         (gst_pad_push_event):
11562           Enhance debug and improve docs
11563         
11564         * gst/gsturi.c:
11565           Fix docs
11566
11567 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11568
11569         * docs/random/ensonic/distributed.txt:
11570         * docs/random/ensonic/profiling.txt:
11571           more ideas
11572
11573 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11574
11575         * docs/gst/gstreamer-sections.txt:
11576           add new API and fix the build
11577           
11578         * gst/gstbin.c: (gst_bin_recalc_state):
11579         * gst/gstelement.c: (gst_element_message_full),
11580         (gst_element_get_state_func), (gst_element_set_state_func):
11581           use new API and improve logging
11582         
11583         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11584         * gst/gstutils.h:
11585           API: add function to get StateChangereturn names to improve logs 
11586
11587 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11588
11589         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11590           I'm considering shooting the next person to put strerror stuff
11591           in the translateable part of the message.
11592
11593 2006-11-03  Wim Taymans  <wim@fluendo.com>
11594
11595         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11596         Get the type and printf conversion specifiers right.
11597
11598 2006-11-03  Wim Taymans  <wim@fluendo.com>
11599
11600         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11601
11602         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11603         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11604         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11605         Some small cleanups. Improve debugging.
11606         * gst/gstpad.h:
11607         Signal all waiting threads with a broadcast instead of just one.
11608         Fixes #369942.
11609
11610 2006-11-03  Wim Taymans  <wim@fluendo.com>
11611
11612         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11613         (gst_fd_src_create):
11614         Add some debugging. 
11615         Only update fd when it's different from the old.
11616
11617 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11618
11619         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11620           Printf fixes for PPC/OSX, take two (#369366).
11621
11622 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11623
11624         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11625
11626         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11627         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11628         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11629           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11630           don't cast to long long for portability reasons, but use
11631           GLib's types instead.
11632
11633 2006-10-30  Michael Smith  <msmith@fluendo.com>
11634
11635         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11636           Get the arguments to lseek() the right way around.
11637           Fixes 367677.
11638
11639 2006-10-30  Wim Taymans  <wim@fluendo.com>
11640
11641         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11642
11643         * gst/gstinfo.h:
11644         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11645
11646 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11647
11648         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11649
11650         * docs/design/part-MT-refcounting.txt:
11651         * docs/random/wtay/capsnego2-docs:
11652         * gst/gstclock.c:
11653         * gst/gstxml.c:
11654           Typo fixes (#366212).
11655
11656 2006-10-28  Wim Taymans  <wim@fluendo.com>
11657
11658         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11659
11660         * gst/gst.c:
11661         * win32/common/libgstbase.def:
11662         * win32/common/libgstreamer.def:
11663         * win32/vs8/libgstbase.vcproj:
11664         * win32/vs8/libgstcontroller.vcproj:
11665         Add needed entries in .def files.
11666         Use HAVE_UNISTD_H.
11667         Rearrange def files in vs8 solutions. Fixes #366286.
11668
11669 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11670
11671         * win32/common/gstconfig.h:
11672           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11673           hand-made win32 gstconfig.h. Fixes #366321.
11674
11675 2006-10-27  Wim Taymans  <wim@fluendo.com>
11676
11677         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11678         (gst_ghost_pad_new_full):
11679         Make acceptcaps return TRUE when we don't have a target, just like
11680         setcaps does.
11681
11682 2006-10-27  Wim Taymans  <wim@fluendo.com>
11683
11684         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11685         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11686
11687 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11688
11689         * gst/gststructure.c: (gst_structure_id_set_value):
11690           If someone tries to set a non-UTF8 string field on a structure,
11691           don't just print a warning, but also ignore the request and do
11692           not change/add that field to the structure.
11693
11694         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11695           Test for the above.
11696
11697 2006-10-25  David Schleef  <ds@schleef.org>
11698
11699         * gst/gstinfo.c:
11700           g_hash_table_insert() needs a cast to a non-const pointer duh.
11701
11702 2006-10-25  David Schleef  <ds@schleef.org>
11703
11704         * gst/gstinfo.c:
11705         * gst/gstinfo.h:
11706           Change name parameter of _gst_debug_register_funcptr to const
11707           to reflect the constness of its use in the function as well
11708           as to quiet a gcc warning.
11709
11710 2006-10-25  Edward Hervey  <edward@fluendo.com>
11711
11712         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11713         Don't push the buffer if it's empty.
11714         Closes #363095
11715
11716 2006-10-24  Wim Taymans  <wim@fluendo.com>
11717
11718         * gst/gstevent.h:
11719         Add small comment.
11720
11721         * libs/gst/base/gstbasetransform.c:
11722         (gst_base_transform_sink_eventfunc):
11723         Debug segment values *after* updating them as this is more
11724         interesting.
11725
11726 2006-10-23  Wim Taymans  <wim@fluendo.com>
11727
11728         * docs/design/part-events.txt:
11729         Update some docs.
11730
11731         * docs/design/part-block.txt:
11732         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11733         (gst_pad_push_event):
11734         Revert BLOCKING patch, it tries to be smart without really having a
11735         clear idea what or how. So, now we discard all FLUSHING events again on
11736         a blocking pad. Should fix gnonlin again.
11737
11738 2006-10-23  Wim Taymans  <wim@fluendo.com>
11739
11740         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11741
11742         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11743         (gst_base_src_start), (gst_base_src_activate_push):
11744         Make sure size is always initialized. Fixes #364388.
11745
11746 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11747
11748         * docs/random/ensonic/distributed.txt:
11749           add some ideas about doing distributed processing
11750
11751         * docs/random/ensonic/profiling.txt:
11752           get_rusage look promising
11753
11754 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11755
11756         * docs/manual/basics-helloworld.xml:
11757           Add a cast in example to fix compile warning
11758
11759 2006-10-18  Wim Taymans  <wim@fluendo.com>
11760
11761         * gst/gstsegment.c: (gst_segment_set_last_stop),
11762         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11763         Relax arg checking again, -1 is allowed.
11764
11765 2006-10-18  Wim Taymans  <wim@fluendo.com>
11766
11767         * gst/gstsegment.c: (gst_segment_set_last_stop),
11768         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11769         _set_last_stop() must be with a value != -1
11770         A _TYPE_SET to -1 means seek to 0.
11771         Calc last_stop correctly for negative rates.
11772         Make sure we work with positive durations when updating a segment.
11773
11774 2006-10-18  Wim Taymans  <wim@fluendo.com>
11775
11776         * docs/design/part-live-source.txt:
11777         * gst/gstclock.h:
11778         Small docs fixes.
11779
11780 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11781
11782         * gst/gstbuffer.h:
11783           Add an explicit cast to GstBuffer** to keep old code that added an
11784           explicit cast to GstMiniObject** for gst_mini_object_replace()
11785           compiling without warning.
11786
11787 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11788
11789         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11790           check for validity of dates
11791
11792 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11793
11794         * docs/gst/gstreamer-sections.txt:
11795           Forgot this one, makes gtk-doc shut up.
11796
11797 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11798
11799         Patch by: Peter Kjellerstedt <pkj at axis com>
11800
11801         * gst/gstobject.h:
11802           Don't define xmlNodePtr to gpointer if the core was built with
11803           --disable-loadsave and --disable-registry, this will break
11804           applications that want to use libxml2 but are buildling against a
11805           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11806           instead so we don't have to mess with the libxml2 namespace
11807           (#361675).
11808
11809 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11810
11811         * gst/gstbuffer.h:
11812           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11813           type-punned pointer warnings.
11814
11815 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11816
11817         * gst/gstelement.h:
11818           Add casts to the correct return type to state <=> state transition
11819           macros.
11820
11821 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11822
11823         * docs/design/part-live-source.txt:
11824           describe howto handle latency
11825         
11826         * docs/random/ensonic/profiling.txt:
11827           more ideas
11828
11829         * tools/gst-plot-timeline.py:
11830           fix log parsing for solaris, remove unused function
11831
11832 2006-10-16  Wim Taymans  <wim@fluendo.com>
11833
11834         * docs/design/part-trickmodes.txt:
11835         * gst/gstevent.c:
11836         Update some docs regarding reverse playback.
11837
11838 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11839
11840         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11841
11842         * win32/vs8/grammar.vcproj:
11843           Error out with a warning if glib-genmarshal.exe is not in path,
11844           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11845
11846 2006-10-13  Wim Taymans  <wim@fluendo.com>
11847
11848         * gst/gstsegment.c: (gst_segment_set_seek):
11849         When seeking to stop -1, set last_stop (current position) to the
11850         duration of the segment.
11851
11852 2006-10-13  Wim Taymans  <wim@fluendo.com>
11853
11854         * gst/gstelement.h:
11855         Clarify _NO_PREROLL a bit more.
11856
11857         * gst/gstevent.c:
11858         Fix docs.
11859
11860         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11861         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11862         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11863         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11864         due to wrong locking order. Fixes #361769.
11865         Remove some redundant/misplaced checks in pad_block.
11866
11867         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11868         For negative rates, count backwards from the duration.
11869
11870 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11871
11872         * gst/gsterror.c: (_gst_library_errors_init):
11873           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11874           up with something better).
11875
11876 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11877
11878         * win32/vs6/libgstreamer.dsp:
11879         * win32/vs7/libgstreamer.vcproj:
11880         * win32/vs8/libgstreamer.vcproj:
11881           Don't reference glib-compat.c which is currently not used and not
11882           disted; add gstquark.c which was recently added. Fixes #361730.
11883
11884 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11885
11886         * win32/common/libgstbase.def:
11887         * win32/common/libgstcontroller.def:
11888         * win32/common/libgstreamer.def:
11889           Add gst_caps_merge() and a bunch of other recently-added functions.
11890           Fixes #361732.
11891
11892 2006-10-11  Wim Taymans  <wim@fluendo.com>
11893
11894         * docs/plugins/gstreamer-plugins.args:
11895         * docs/plugins/inspect/plugin-coreelements.xml:
11896         * docs/plugins/inspect/plugin-coreindexers.xml:
11897         Update element args.
11898
11899         * gst/gstsystemclock.c:
11900         Small comment update.
11901
11902         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11903         (gst_tee_request_new_pad), (gst_tee_release_pad),
11904         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11905         (gst_tee_sink_activate_pull):
11906         * plugins/elements/gsttee.h:
11907         Some tee loving:
11908         Add default property defines.
11909         Implement release pad function.
11910         Give properties better blubs etc.
11911         Activate pads before adding them to a running tee.
11912         Do simple buffer_alloc on the first requested pad.
11913         Post error when activation fails.
11914
11915 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11916
11917         * gst/gst.c: (ensure_current_registry_forking):
11918           Check return value of write() to make compiler happy.
11919
11920 2006-10-11  Wim Taymans  <wim@fluendo.com>
11921
11922         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11923
11924         * plugins/elements/gstqueue.c: (gst_queue_chain):
11925         Recheck queue filledness after signalling the overrun when we're about
11926         to leak downstream because we released the lock when emitting the signal
11927         and the queue could be empty again. Fixes #352345.
11928
11929 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11930
11931         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11932           Fix refcounting here too, just like we did for _new_valist() a few
11933           days ago (#357180) (thanks to René Stadler). Also remove all those
11934           'Since: 0.9' from the gtk-doc blobs.
11935
11936         * tests/check/libs/controller.c: (controller_refcount_new_list),
11937         (gst_controller_suite):
11938           Unit test for the above.
11939
11940 2006-10-10  Wim Taymans  <wim@fluendo.com>
11941
11942         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11943
11944         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11945         (gst_pad_save_thyself):
11946         Update some docs.
11947         Write pad direction in XML output. Fixes #345496.
11948
11949 2006-10-10  Wim Taymans  <wim@fluendo.com>
11950
11951         Patch by: René Stadler <mail at renestadler dot de>
11952
11953         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11954         (gst_controller_new_list), (_gst_controller_dispose),
11955         (_gst_controller_finalize), (_gst_controller_class_init):
11956         Take ref to controlled object so that it cannot disappear. 
11957         Fixes #357432.
11958
11959 2006-10-10  Wim Taymans  <wim@fluendo.com>
11960
11961         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11962         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11963         (gst_check_teardown_sink_pad):
11964         Activate/deactivate pads in setup/teardown respectively.
11965
11966 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11967
11968         Patch by: Josep Torra Valles <josep@fluendo.com>
11969
11970         * gst/Makefile.am:
11971         Cast values when making gstenumtypes.h.  This pacifies Forte
11972         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11973         in the enumeration.
11974
11975 2006-10-09  Wim Taymans  <wim@fluendo.com>
11976
11977         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11978         Rename some more @cur to @start to fix docs. 
11979
11980         * gst/gstsegment.c: (gst_segment_set_seek):
11981         Fix typo.
11982         time and start must always stay in sync as defined in design doc.
11983
11984         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11985         Rename param to fix docs.
11986
11987         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11988         Check that start and time are in sync.
11989
11990         * tests/check/pipelines/parse-launch.c:
11991         (gst_parse_test_element_change_state):
11992         Activate pad before adding to the element.
11993
11994 2006-10-09  Wim Taymans  <wim@fluendo.com>
11995
11996         * docs/design/part-qos.txt:
11997         Fix typo.
11998
11999         * gst/gstevent.c:
12000         * gst/gstevent.h:
12001         Update seek event docs regarding negative rates.
12002         Rename @cur to @start. 
12003
12004         * gst/gstsegment.c: (gst_segment_set_seek):
12005         * gst/gstsegment.h:
12006         Update set_seek docs regarding negative rates.
12007         Correctly update last_stop to @stop when dealing with negative
12008         rates.
12009         Rename @cur to @start. 
12010
12011         * tests/check/gst/gstpad.c: (GST_START_TEST):
12012         Activate pads before trying to use them.
12013
12014         * tests/check/gst/gstsegment.c: (GST_START_TEST),
12015         (gst_segment_suite):
12016         Add simple check for segments and negative rates.
12017
12018 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
12019
12020         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12021         * gst/gsttaglist.h:
12022         * docs/gst/gstreamer-sections.txt:
12023           API: add gst_tag_list_is_empty() (#360467).
12024
12025         * tests/check/gst/gsttag.c: (GST_START_TEST):
12026           And a test case.
12027
12028 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12029
12030         * gst/gstmessage.h:
12031         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
12032         a value that doesn't fit on enumeration.
12033
12034 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12035
12036         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12037         Remove local debugging system and use Gstreamer's instead.
12038
12039 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12040
12041         Patch by: Josep Torra Valles <josep@fluendo.com>
12042
12043         * common/m4/gst-error.m4:
12044         Disable warning of statement not reached on Forte.
12045         * gst/gstmessage.h:
12046         Fix warning on Forte (value doesn't fit on enumeration).
12047         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
12048         Fix warning on Forte (value doesn't fit on enumeration).
12049         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12050         DEBUG macro says it takes minimum of 2 args and so Forte
12051         complains about the use with just 1 arg.
12052         * plugins/elements/gstfdsink.c:
12053         * plugins/elements/gstfdsrc.c:
12054         * plugins/elements/gstfilesink.c:
12055         * plugins/elements/gstfilesrc.c:
12056         Use correct return type for the uri handler implementations.
12057
12058         All these fix warnings in Forte.  Fixes bug #360860.
12059
12060 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12061
12062         * gst/gstelement.h:
12063           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
12064           format string, so don't use G_GNUC_PRINTF for those versions.
12065
12066 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12067
12068         * gst/gsttaglist.c: (gst_is_tag_list):
12069         * gst/gsttaglist.h:
12070           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12071
12072         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12073           Small test for the above.
12074
12075 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12076
12077         * gst/gsttaglist.h:
12078           Less tabs, more spaces.
12079
12080 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
12081
12082         * gst/gstinfo.h:
12083           Those two function declarations do actually belong there, revert
12084           commit from yesterday that turned them intro macros.
12085
12086 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12087
12088         Patch by: Josep Torra Valles <josep@fluendo.com>
12089
12090         * gst/gst.c: (gst_init_get_option_group):
12091         Fix empty declaration and type mismatch.
12092         * gst/gstbin.c: (gst_bin_change_state_func):
12093         Fix type mismatch.
12094         * gst/gstelement.c: (gst_element_continue_state),
12095         (gst_element_set_state_func), (gst_element_change_state),
12096         (gst_element_change_state_func):
12097         Fix type mismatches.
12098         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12099         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12100         Cast as appropriate.
12101         * gst/gstobject.c: (gst_class_signal_connect):
12102         Cast as appropriate.  The function pointer parameter really
12103         has the wrong type but would break API if we change it.
12104         * gst/gstquery.c:
12105         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12106         order of including string.h.
12107         * gst/gstutils.c: (gst_element_state_get_name):
12108         Remove unreachable line.
12109         * gst/gstxml.c: (gst_xml_parse_doc):
12110         Fix type mismatch.
12111         All these caught by Forte.
12112
12113 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12114
12115         Patch by: Josep Torra Valles <josep@fluendo.com>
12116
12117         * common/m4/gst-error.m4:
12118         Fixed bug #360151.
12119         We need to disable warnings on Forte for empty declarations
12120         due to gst-indent adding ;s to lines that just use macros
12121         where the macro actually doesn't need a ; at end to end
12122         statement.
12123
12124 2006-10-06  Wim Taymans  <wim@fluendo.com>
12125
12126         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12127         (gst_file_sink_close_file), (gst_file_sink_event),
12128         (gst_file_sink_render):
12129         Add some FIXME for the NEWSEGMENT handling.
12130
12131 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12132
12133         * gst/parse/grammar.y:
12134         Remove static function gst_parse_element_lock as all it does
12135         is return.  Looks like cruft from 0.8.
12136
12137 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12138
12139         Patch by: Josep Torra Valles <josep@fluendo.com>
12140
12141         * common/m4/gst-error.m4:
12142         * configure.ac:
12143         * libs/gst/net/Makefile.am:
12144         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12145         libresolv.
12146
12147 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12148
12149         * gst/gstpad.c: (pre_activate):
12150         * gst/gstregistry.c: (gst_registry_scan_path_level):
12151         * gst/gstregistryxml.c: (load_plugin):
12152         * libs/gst/controller/gstcontroller.c:
12153         (gst_controlled_property_set_interpolation_mode):
12154         * libs/gst/dataprotocol/dataprotocol.c:
12155         (gst_dp_packet_from_event_1_0):
12156         * libs/gst/net/gstnetclientclock.c:
12157         (gst_net_client_clock_observe_times):
12158         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12159           Printf fixes.
12160
12161 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12162
12163         * configure.ac:
12164         * docs/gst/gstreamer-sections.txt:
12165         * gst/gstconfig.h.in:
12166         * gst/gstelement.h:
12167         * gst/gstinfo.h:
12168           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12169           whether we can use G_GNUC_PRINTF in other header files and at
12170           least check the printf format/arguments of debug messages and
12171           GST_ELEMENT_ERROR messages when the printf extension is not
12172           being used.
12173           Replace more tabs with spaces in gstinfo.h and remove two spurious
12174           function declarations in GST_DISABLE_DEBUG part with macros.
12175
12176 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12177
12178         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12179           More docs for the sync-message signal (mention that it is not
12180           emitted by default); log message structures of messages posted on
12181           the bus as well.
12182
12183 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12184
12185         * gst/gst.c: (ensure_current_registry_forking):
12186         Use a pipe pair to receive status results from the forked child, and
12187         ignore the result from waitpid. Fixes #355499
12188
12189 2006-10-02  Wim Taymans  <wim@fluendo.com>
12190
12191         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12192         (gst_ghost_pad_suite):
12193         Fix leak in check.
12194
12195 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12196
12197         * gst/gstpad.c:
12198           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12199
12200 2006-10-02  Edward Hervey  <edward@fluendo.com>
12201
12202         * docs/design/part-block.txt:
12203         Further explain the use of flushing on blocked pads.
12204         * docs/gst/gstreamer-sections.txt:
12205         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12206         (gst_pad_push_event):
12207         * gst/gstpad.h:
12208         Added new GstPadFlag : GST_PAD_BLOCKING.
12209         Adds the notion of pads really blocking, which enables to properly
12210         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12211         Fixes #358999
12212         API: gst_pad_is_blocking()
12213         API: GST_PAD_IS_BLOCKING() macro
12214         API: GST_PAD_BLOCKING GstPadFlag
12215         
12216 2006-10-02  Wim Taymans  <wim@fluendo.com>
12217
12218         Patch by: mrcgran <mrc.gran at gmail dot com>
12219
12220         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12221         Filter the proxied caps against the padtemplate if we have one.
12222
12223         * gst/gstquery.c: (gst_query_new_segment):
12224         Add include for gstinfo.h so that compilation with
12225         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12226
12227 2006-10-02  Wim Taymans  <wim@fluendo.com>
12228
12229         Patch by: Alessandro Decina  <alessandro at nnva org>
12230
12231         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12232         (gst_file_sink_set_location), (gst_file_sink_open_file),
12233         (gst_file_sink_close_file), (gst_file_sink_event),
12234         (gst_file_sink_render):
12235         Set file to NULL when closing filesink so that we can set a new filename
12236         in READY. Fixes #358613.
12237
12238 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12239
12240         Patch by: Alessandro Decina  <alessandro at nnva org>
12241
12242         * gst/gstevent.c: (_gst_event_copy):
12243           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12244           with event structures by setting the parent refcount address of the
12245           copied structure to the address of the refcount member of the newly
12246           copied event rather than the address of the refcount member of the
12247           original event. Fixes #358737.
12248
12249         * tests/check/gst/gstevent.c: (GST_START_TEST):
12250           Unit test for the above.
12251
12252 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12253
12254         * docs/design/Makefile.am:
12255           Dist some more files.
12256
12257 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12258
12259         * tests/check/libs/controller.c: (GST_START_TEST),
12260         (gst_controller_suite):
12261           Add test for the previous fix; add some more tests
12262           for correct refcounting behaviour; fix a few leaks
12263           in test cases; call gst_controller_init() at start
12264           of all tests.
12265
12266 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12267
12268         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12269         (gst_controller_set_from_list):
12270           Don't g_return_val_if_fail() on timed values with invalid timestamps
12271           inside a critical section without unlocking the mutex. Spotted by
12272           René Stadler. (#357617)
12273           Also, fix up refcounting properly: when returning an existing
12274           controller, we should increase the reference only once and not
12275           once per property and when trying to control a property again
12276           we should also increase the refcount.
12277
12278 2006-09-29  Wim Taymans  <wim@fluendo.com>
12279
12280         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12281         * libs/gst/net/gstnettimeprovider.c:
12282         (gst_net_time_provider_thread):
12283         Stop reading commands when EOF as well.
12284
12285         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12286         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12287         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12288         Unify description of the dump property.
12289
12290 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12291
12292         * tests/examples/manual/.cvsignore:
12293         OK, so it's actually cvsignore that needs changing. Stop laughing.
12294
12295 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12296
12297         * tests/examples/manual/Makefile.am:
12298         Gah, declare vars *before* using them
12299
12300 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12301
12302         * gst/gst.c: (init_pre), (scan_and_update_registry),
12303         (ensure_current_registry_nonforking),
12304         (ensure_current_registry_forking), (ensure_current_registry),
12305         (init_post), (gst_debug_help), (gst_deinit):
12306         * gst/gst_private.h:
12307         * gst/gstregistry.c: (gst_registry_finalize),
12308         (gst_registry_remove_features_for_plugin_unlocked),
12309         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12310         (gst_registry_scan_path),
12311         (_priv_gst_registry_remove_cache_plugins),
12312         (_priv_gst_registry_cleanup):
12313         * gst/gstregistry.h:
12314         Re-commit the registry changes, along with an extra fix:
12315           When a cached plugin is encountered at a different file path,
12316           update the stored path in the registry cache so that the parent
12317           process knows where it actually is now when it re-reads the registry
12318           cache. Fixes the thing that broke distcheck with the previous commit.
12319
12320         * tests/check/Makefile.am:
12321         Clean up files named 'core' too when running make clean.
12322
12323         * tests/examples/manual/Makefile.am:
12324         Set up a registry path for running these tests, and clean it properly
12325         for distcheck.
12326
12327 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12328
12329         * configure.ac:
12330         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12331         want gmodule-no-export-2.0.pc instead so that we don't drag in
12332         --export-dynamic on every project that links to GStreamer.
12333
12334         Also, make our export regex only match the start of symbols, rather 
12335         than any symbol that contains '_gst' somewhere.
12336
12337         * libs/gst/check/Makefile.am:
12338         The libgstcheck we build does however need export-dynamic, as it
12339         produces some symbols that don't match our _gst... style regex.
12340         Fixes: #318031
12341
12342 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12343
12344         * gst/gst.c: (init_pre), (scan_and_update_registry),
12345         (ensure_current_registry_nonforking),
12346         (ensure_current_registry_forking), (ensure_current_registry),
12347         (init_post), (gst_debug_help), (gst_deinit):
12348         * gst/gst_private.h:
12349         * gst/gstregistry.c: (gst_registry_finalize),
12350         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12351         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12352         (_gst_registry_cleanup):
12353         * gst/gstregistry.h:
12354           Revert previous change until I figure out why it breaks distcheck.
12355
12356 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12357
12358         * gst/gst.c: (init_pre), (scan_and_update_registry),
12359         (ensure_current_registry_nonforking),
12360         (ensure_current_registry_forking), (ensure_current_registry),
12361         (init_post), (gst_debug_help), (gst_deinit):
12362
12363           Make init_pre and init_post take the full complement of GOptionFunc
12364           args so they can return useful GErrors. Make the registry updating
12365           functions do so.
12366
12367           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12368           ensure that the registry we're about to write out doesn't contain
12369           stale information about old-deleted plugin files.
12370
12371           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12372           that deletion of plugin files is considered a registry change.
12373
12374         * gst/gst_private.h:
12375         * gst/gstregistry.c: (gst_registry_finalize),
12376         (gst_registry_remove_features_for_plugin_unlocked),
12377         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12378         (gst_registry_scan_path),
12379         (_priv_gst_registry_remove_cache_plugins),
12380         (_priv_gst_registry_cleanup):
12381         * gst/gstregistry.h:
12382         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12383         by adding _priv prefix, so that they won't appear in the global
12384         symbol table. They still do atm though because of #318031. Move the
12385         prototypes to gst_private.h
12386
12387         When removing a plugin, remove all features for that plugin too. 
12388         Fixes #340878.
12389
12390 2006-09-27  Wim Taymans  <wim@fluendo.com>
12391
12392         * docs/random/moving-plugins:
12393         Make it clear that the "compiled-in descriptions" really mean
12394         the element details.
12395
12396         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12397         (gst_base_sink_wait_preroll):
12398         Update docs.
12399
12400         * docs/libs/gstreamer-libs-sections.txt:
12401         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12402         (gst_base_src_get_range), (gst_base_src_activate_push):
12403         * libs/gst/base/gstbasesrc.h:
12404         Added function to block while waiting for PLAYING, this function
12405         is used by live sources that block on the clock.
12406         API: gst_base_src_wait_playing()
12407
12408 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12409
12410         Patch by: Peter Kjellerstedt <pkj at axis com>
12411
12412         * Makefile.am:
12413           gst-element-check.m4 is generated and should therefore be
12414           copied from the build dir rather than the source dir (#357593).
12415           'make distcheck' hasn't noticed this because we were disting
12416           the file as well, so stop doing that.
12417
12418 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12419
12420         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12421           Add some tests for gst_caps_intersect().
12422
12423         * tools/gst-launch.c: (event_loop):
12424           Print all buffering percentages we get, even the 100% one.
12425
12426 2006-09-26  Wim Taymans  <wim@fluendo.com>
12427
12428         * tools/gst-inspect.c: (print_element_properties_info),
12429         (print_signal_info):
12430         Fix printing of flags to match the look of enums.
12431
12432 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12433
12434         * gst/gstelementfactory.c:
12435           Fix typo in docs blurb.
12436
12437 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12438
12439         * gst/gsturi.c: (search_by_entry):
12440           Don't assert/crash here if a uri handler doesn't return any
12441           supported protocols. The list of protocols could be generated
12442           dynamically at runtime or at plugin registration, and an error
12443           in the underlying library shouldn't be fatal (#353301).
12444
12445 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12446
12447         * gst/gstinfo.c:
12448           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12449           (spotted by Peter Kjellerstedt).
12450
12451 2006-09-23  Wim Taymans  <wim@fluendo.com>
12452
12453         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12454
12455         * libs/gst/base/gstbasesrc.c:
12456         (gst_base_src_default_check_get_range), (gst_base_src_start),
12457         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12458         (gst_base_src_change_state):
12459         Match _start/_stop calls in the activate functions. Remove redundant
12460         _stop call from the state change function. Fixes #356910.
12461         Turn failure DEBUG into ERROR. 
12462
12463 2006-09-22  Wim Taymans  <wim@fluendo.com>
12464
12465         * docs/design/part-buffering.txt:
12466         * gst/gstmessage.c: (gst_message_new_buffering),
12467         (gst_message_parse_buffering):
12468         Update docs about buffering.
12469
12470         * docs/design/part-trickmodes.txt:
12471         Fix typo.
12472
12473 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12474
12475         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12476         (gst_controller_new_list):
12477           Ref instances when returning them again (fixes #357180)
12478
12479 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12480
12481         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12482           Don't forget to release proxy lock when there's an error.
12483
12484 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12485
12486         * gst/gstcaps.h:
12487           Add extra initialisers for Caps things, to fix some plugin warnings
12488           when using -Wextra
12489
12490 2006-09-18  Wim Taymans  <wim@fluendo.com>
12491
12492         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12493           Also set template on the internal pad so that a getcaps from the 
12494           target pad returns the template caps.
12495
12496 2006-09-18  Wim Taymans  <wim@fluendo.com>
12497
12498         * gst/gstelement.c: (gst_element_post_message),
12499         (gst_element_dispose):
12500         Use _DEBUG_OBJECT some more.
12501
12502         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12503         Avoid typechecks.
12504
12505         * tools/gst-launch.c: (main):
12506         If the toplevel element is not a GstPipeline, it must be put in a
12507         pipeline so that a bus and clock is selected.
12508
12509 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12510
12511         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12512           JITTER, RATE, and LATENCY query should be handled by the
12513           default case and not by the CONVERT query code.
12514
12515 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12516
12517         * gst/gstformat.c: (gst_format_register):
12518           Fix locking order (must take lock before using n_values).
12519
12520         * gst/gstvalue.c: (gst_value_serialize_enum),
12521         (gst_value_deserialize_enum_iter_cmp),
12522         (gst_value_deserialize_enum):
12523           Fix serialisation/deserialisation of custom registered GstFormats.
12524
12525         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12526           Unit test for custom format serialisation/deserialisation.
12527
12528 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12529
12530         * docs/pwg/building-boiler.xml:
12531         * plugins/elements/gstcapsfilter.c:
12532         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12533         section.
12534
12535 2006-09-16  Edward Hervey  <edward@fluendo.com>
12536
12537         * libs/gst/base/gstbasetransform.c:
12538         (gst_base_transform_buffer_alloc):
12539         Check if requested caps are the same as the sinks caps IF
12540         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12541         is FALSE.
12542         This fixes the renegotiation issues stated in #352827.
12543
12544 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12545
12546         * configure.ac:
12547         * docs/manual/advanced-autoplugging.xml:
12548         * tests/examples/Makefile.am:
12549         * tests/examples/manual/.cvsignore:
12550         * tests/examples/manual/Makefile.am:
12551         * tests/examples/manual/extract.pl:
12552           Extract the manual examples again like we used to do.
12553           Fix one of them.
12554
12555 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12556
12557         * win32/common/config.h:
12558           update for version
12559
12560 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12561
12562         * gst/gsterror.c:
12563           Documents how to receive errors.
12564
12565 2006-09-15  Wim Taymans  <wim@fluendo.com>
12566
12567         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12568         (event_loop), (main):
12569         Added some comments here and there.
12570         Post an application message when an interrupt is caught instead of doing
12571         an uncontrolled state change.
12572         Clean up the event loop.
12573         Handle buffering messages, pause/resume the pipeline.
12574         Make shutdown because of an interrupt more reliable.
12575
12576 2006-09-15  Wim Taymans  <wim@fluendo.com>
12577
12578         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12579         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12580         (gst_base_sink_preroll_object):
12581         Make sure that our internal state is correct when we commit our state
12582         asynchronously. This solves a race where a state change to PLAYING
12583         could cause the sink to remain blocked in preroll in some situations.
12584
12585 2006-09-15  Wim Taymans  <wim@fluendo.com>
12586
12587         * tools/gst-inspect.c: (print_element_properties_info),
12588         (print_signal_info):
12589         List flags as hex so it's easier to deal with.
12590
12591 2006-09-15  Wim Taymans  <wim@fluendo.com>
12592
12593         * docs/libs/gstreamer-libs-sections.txt:
12594         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12595         (gst_base_sink_do_sync):
12596         * libs/gst/base/gstbasesink.h:
12597         Expose logic to wait for preroll so that subclasses such as audiosink
12598         can also use this method.
12599         API: gst_base_sink_wait_preroll()
12600
12601 2006-09-15  Wim Taymans  <wim@fluendo.com>
12602
12603         * gst/gstobject.c: (gst_object_set_parent):
12604         * gst/gstpipeline.c: (do_pipeline_seek):
12605         Small cleanups in docs and code.
12606
12607         * gst/gstsegment.c: (gst_segment_clip):
12608         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12609         if stop == start and start is in the segment, no clipping should be
12610         done. Also add a test for this.
12611
12612 2006-09-15  Wim Taymans  <wim@fluendo.com>
12613
12614         * docs/design/part-buffering.txt:
12615         * docs/gst/gstreamer-sections.txt:
12616         * gst/gstmessage.c: (gst_message_new_buffering),
12617         (gst_message_parse_buffering):
12618         * gst/gstmessage.h:
12619         Added methods to create and parse BUFFERING messages.
12620         Added preliminary docs about buffering.
12621         API: gst_message_new_buffering
12622         API: gst_message_parse_buffering
12623
12624 2006-09-06  Wim Taymans  <wim@fluendo.com>
12625
12626         * gst/gstbin.c:
12627         Update documentation.
12628
12629         * gst/gstelement.c: (gst_element_class_init),
12630         (gst_element_release_request_pad), (gst_element_set_clock),
12631         (gst_element_get_index), (gst_element_add_pad),
12632         (gst_element_remove_pad), (gst_element_get_random_pad),
12633         (gst_element_send_event), (gst_element_get_query_types),
12634         (gst_element_query), (gst_element_post_message),
12635         (gst_element_message_full), (gst_element_continue_state),
12636         (gst_element_lost_state), (gst_element_save_thyself),
12637         (gst_element_restore_thyself):
12638         Documentation updates.
12639         Rename last bit of the new-pad -> pad-added signal rename.
12640         Fix the case where an element query would only work if the source
12641         pad was linked.
12642         Avoid some useless type checking in message handling.
12643
12644         * gst/gstevent.c:
12645         * gst/gstevent.h:
12646         * gst/gstutils.c:
12647         Documentation updates.
12648
12649 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12650
12651         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12652           add an INFO line for when we actually update the fd
12653
12654 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12655
12656         * configure.ac:
12657           back to TRUNK
12658
12659 === release 0.10.10 ===
12660
12661 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12662
12663         * configure.ac:
12664           releasing 0.10.10, "Pais"
12665
12666 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12667
12668         * docs/manual/advanced-position.xml:
12669           Fix typo in sample code.
12670
12671 2006-09-05  Wim Taymans  <wim@fluendo.com>
12672
12673         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12674         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12675         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12676         * libs/gst/net/gstnetclientclock.h:
12677         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12678         * libs/gst/net/gstnettimepacket.h:
12679         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12680         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12681         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12682         * libs/gst/net/gstnettimeprovider.h:
12683         Make stuff compile on windows. Fixes #345295.
12684
12685 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12686
12687         * gst/gst.c: (ensure_current_registry_forking):
12688           Print better details when child was terminated by signal.
12689
12690 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12691
12692         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12693           Print a warning rather than g_assert() if a plugin feature
12694           is a URI handler but returns no protocols (#353976).
12695
12696 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12697
12698         * docs/random/moving-plugins:
12699         Fix two typos.         
12700
12701 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12702
12703         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12704           Fix locking order, handle NULL function values properly.
12705
12706         * gst/gstinfo.h:
12707           Fix docs.
12708
12709         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12710           Initialise variable before using it and fix debug statement to
12711           print the address of the function rather than the address of the
12712           variable on the stack holding the address of the function.
12713
12714 2006-09-01  Wim Taymans  <wim@fluendo.com>
12715
12716         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12717         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12718         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12719         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12720         (gst_ghost_pad_parent_unset),
12721         (gst_ghost_pad_internal_do_activate_push),
12722         (gst_ghost_pad_internal_do_activate_pull),
12723         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12724         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12725         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12726         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12727         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12728         (gst_ghost_pad_new_no_target_from_template),
12729         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12730         More cleanups.
12731         Avoid needless typechecking in macros.
12732         Since the internal pad is always present and never changes, there is
12733         no need to locking or ref when retrieving it.
12734         Improve debugging a bit.
12735         Handle link errors when setting the target. Fixes #341029.
12736
12737 2006-09-01  Wim Taymans  <wim@fluendo.com>
12738
12739         * docs/libs/gstreamer-libs-sections.txt:
12740         * docs/plugins/gstreamer-plugins-sections.txt:
12741         Fix docs some more.
12742
12743         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12744         (gst_collect_pads_event):
12745         * libs/gst/base/gstcollectpads.h:
12746         Documentation updates.
12747         Free queued buffer when removing a pad.
12748
12749 2006-08-31  Michael Smith  <msmith@fluendo.com>
12750
12751         * gst/gstutils.c: (gst_element_link_pads),
12752         (gst_element_link_pads_filtered):
12753           Ensure that we set a capsfilter to NULL if we failed to link it
12754           when doing filtered linking, to avoid criticals.
12755
12756           No need to check for unreffing srcpad, which is explicly NULLed
12757           above (a trivial code cleanup).
12758
12759 2006-08-31  Wim Taymans  <wim@fluendo.com>
12760
12761         * docs/design/part-gstghostpad.txt:
12762         Update ascii art in documentation.
12763
12764         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12765         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12766         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12767         (gst_ghost_pad_internal_do_activate_push),
12768         (gst_ghost_pad_internal_do_activate_pull),
12769         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12770         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12771         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12772         (gst_ghost_pad_set_target):
12773         Small cleanups and leak fixes.
12774         Remove some checks now that the internal pad is never NULL.
12775         Fix the case where linking pads without a target would create nasty
12776         criticals. Fixes #341029.
12777         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12778         value of _set_target().
12779
12780         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12781         (gst_ghost_pad_suite):
12782         Some more tests for creating and linking untargeted ghostpads.
12783
12784 2006-08-31  Edward Hervey  <edward@fluendo.com>
12785
12786         * docs/gst/gstreamer-sections.txt:
12787         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12788         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12789         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12790         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12791         (gst_ghost_pad_new_from_template),
12792         (gst_ghost_pad_new_no_target_from_template):
12793         * gst/gstghostpad.h:
12794         Refactored *_new() functions.
12795         Templates are now used as a g_object_new() parameter.
12796         Use template in _do_getcaps() if we don't have a target.
12797         Small documentation cleanups.
12798         Added two new constructors:
12799         gst_ghost_pad_new_from_template()
12800         gst_ghost_pad_new_no_target_from_template()
12801         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12802         (gst_ghost_pad_suite):
12803         Added tests for new ghostpad instanciation functions.
12804
12805         API additions: gst_ghost_pad_new_from_template,
12806         gst_ghost_pad_new_no_target_from_template
12807
12808 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12809
12810         * docs/random/ensonic/profiling.txt:
12811           Ideas about qos profiling.
12812
12813 2006-08-29  Wim Taymans  <wim@fluendo.com>
12814
12815         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12816         Code cleanups.
12817         Fix memleak.
12818
12819 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12820
12821         * gst/gstxml.c:
12822           Improve and detypofy docs.
12823
12824         * tests/check/Makefile.am:
12825         * tests/check/gst/.cvsignore:
12826         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12827           Add a basic test suite for GstXML.
12828
12829 2006-08-29  Wim Taymans  <wim@fluendo.com>
12830
12831         * gst/gstelement.c: (activate_pads), (clear_caps),
12832         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12833         Clear the pad caps when the element shut down all of the pads and
12834         is not streaming data that could modify the caps. 
12835         Fixes #352958.
12836
12837 2006-08-28  Michael Smith  <msmith@fluendo.com>
12838
12839         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12840           Revert previous change; I misunderstood single-segment mode.
12841
12842 2006-08-28  Michael Smith  <msmith@fluendo.com>
12843
12844         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12845           Unset DISCONT on buffers when using single-segment mode.
12846
12847 2006-08-28  Wim Taymans  <wim@fluendo.com>
12848
12849         * gst/gstcaps.c: (gst_caps_merge_structure):
12850         * gst/gstcaps.h:
12851         Fix docs and indentation again.
12852
12853         * tests/check/gst/gstquery.c: (GST_START_TEST):
12854         Fix leak in tests and add some more tests.
12855
12856 2006-08-28  Edward Hervey  <edward@fluendo.com>
12857
12858         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12859         Inform GstSegment of the last stop position in order for the current
12860         segment to have a proper duration if it doesn't have a specific stop
12861         position from which a duration could be calculated.
12862         This bug was noticeable when a non-flushing, non-update new segment was
12863         followed by another segment (all buffers from the new segment were being
12864         dropped).
12865
12866 2006-08-28  Wim Taymans  <wim@fluendo.com>
12867
12868         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12869         Small comment update.
12870
12871         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12872         (gst_identity_transform_ip):
12873         Drop-probability is broken, mention this in the code with a 
12874         FIXME and also in the property description.
12875         Make silent also be silent about the drop messages.
12876
12877 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12878
12879         * docs/manual/appendix-win32.xml:
12880           Remove mention of popt, we don't depend on that any
12881           longer (#353136). Add some comments pointing out that
12882           this section is slightly outdated.
12883
12884 2006-08-28  Wim Taymans  <wim@fluendo.com>
12885
12886         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12887
12888         * gst/gstquery.c: (gst_query_new_segment):
12889         * tests/check/gst/gstquery.c: (GST_START_TEST):
12890         Initialize variables when creating a new segment query.
12891         Fixes #353121.
12892
12893 2006-08-28  Wim Taymans  <wim@fluendo.com>
12894
12895         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12896
12897         * gst/gstelement.c: (gst_element_get_bus):
12898         * tests/check/gst/gstelement.c: (GST_START_TEST):
12899         Check for NULL before _reffing the bus. Fixes #353122.
12900
12901 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12902
12903         * docs/manual/basics-bus.xml:
12904           Docs update: fix wrong callback return value explanation; add
12905           some lines about the implicit relationship between main loop
12906           and main context; remove duplicate main loop variable declaration.
12907
12908 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12909
12910         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12911           Don't leak caps in unit test; add a few more simple
12912           checks. 
12913
12914 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12915
12916         * docs/gst/gstreamer-sections.txt:
12917         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12918         (gst_caps_structure_is_subset), (gst_caps_merge),
12919         (gst_caps_merge_structure):
12920         * gst/gstcaps.h:
12921         * libs/gst/base/gstbasetransform.c:
12922         (gst_base_transform_transform_caps):
12923         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12924           implement caps merging (fixes #352580)
12925
12926 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12927
12928         * tools/Makefile.am:
12929         * tools/gst-plot-timeline.py:
12930           add debug-log plotting developer tool (#340674)
12931
12932 2006-08-23  Wim Taymans  <wim@fluendo.com>
12933
12934         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12935         (gst_pad_stop_task):
12936         Improve debugging for task functions.
12937
12938         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12939         (gst_task_start), (gst_task_pause), (gst_task_join):
12940         Make sure that the task function started and finished after a 
12941         join(). 
12942         Don't try to push the task function on the threadpool multiple
12943         times.
12944         Improve the g_warning message with some useful suggestions
12945         about how to fix the problem. 
12946
12947 2006-08-23  Wim Taymans  <wim@fluendo.com>
12948
12949         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12950         Handle RESYNC correctly in _proxy_getcaps.
12951
12952 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12953
12954         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12955         (gst_xml_parse_memory), (gst_xml_get_element):
12956           Chain up to parent class in dispose function and also
12957           unref the elements in the toplevel_elements GList.
12958           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12959           Always return a reference in gst_xml_get_element() rather
12960           than only sometimes.
12961
12962         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12963           Don't leak GstXml object.
12964
12965 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12966
12967         * docs/gst/gstreamer-sections.txt:
12968         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12969         (gst_caps_merge):
12970         * gst/gstcaps.h:
12971         * libs/gst/base/gstbasetransform.c:
12972         (gst_base_transform_transform_caps):
12973           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12974           in a better way
12975
12976 2006-08-21  Edward Hervey  <edward@fluendo.com>
12977
12978         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12979         Implement GObject::dispose virtual method in GstXML so we can free the
12980         top_elements GList.
12981
12982 2006-08-21  Wim Taymans  <wim@fluendo.com>
12983
12984         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12985         (gst_buffer_create_sub):
12986         Copy duration/offset_end/caps when creating a subbuffer of the
12987         complete parent.
12988         Make the subbuffer read-only when we make the metadata writable for
12989         now. Fixes #351768.
12990
12991         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12992         Added check for metadata copy when creating subbuffers.
12993
12994 2006-08-21  Edward Hervey  <edward@fluendo.com>
12995
12996         * libs/gst/base/gstbasetransform.c:
12997         (gst_base_transform_buffer_alloc):
12998         Only call downstream buffer_alloc if transform element is passthrough
12999         or always_in_place. Closes #350449.
13000
13001 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13002
13003         * ChangeLog:
13004           ChangeLog surgery to add comments to previous changes
13005
13006 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13007
13008         * gst/gst.c:
13009           Add comments
13010
13011         * gst/gstpad.c: (gst_pad_set_active):
13012           Be more verbose in the log
13013
13014         * libs/gst/base/gstbasetransform.c:
13015         (gst_base_transform_transform_caps):
13016           Simplify caps to get rid of duplicates, fixes #345444
13017
13018 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13019
13020         * gst/gstvalue.c:
13021         * gst/gstvalue.h:
13022           Use these optimizations only internally.
13023
13024 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13025
13026         * gst/gstvalue.c: (gst_value_compare_list),
13027         (gst_value_compare_fraction_range),
13028         (gst_value_intersect_fraction_fraction_range),
13029         (gst_value_intersect_fraction_range_fraction_range),
13030         (gst_value_subtract_fraction_fraction_range),
13031         (gst_value_subtract_fraction_range_fraction_range),
13032         (gst_value_get_compare_func), (gst_value_compare),
13033         (gst_value_compare_with_func):
13034         * gst/gstvalue.h:
13035           Saves the expensive lookup of the compare function in many cases
13036          (#345444)
13037
13038 2006-08-18  Edward Hervey  <edward@fluendo.com>
13039
13040         * tests/check/gst/gstinfo.c: (gst_info_suite):
13041         Disable test that require gstdebug if it wasn't built in core.
13042
13043 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13044
13045         * docs/random/ensonic/logging.txt:
13046           update ideas
13047           
13048         * gst/gstinfo.c: (gst_debug_log_default):
13049           reorder fields, save some columns, add optional color codes for log
13050           levels
13051
13052 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13053
13054         * docs/random/ensonic/logging.txt:
13055           add ideas about making the logs a bit more useful
13056
13057 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13058
13059         * docs/pwg/advanced-events.xml:
13060         * docs/pwg/titlepage.xml:
13061           Update for 0.10 API (#340627). Add myself
13062           to authors list.
13063
13064 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13065
13066         * docs/libs/gstreamer-libs-docs.sgml:
13067         * docs/libs/gstreamer-libs-sections.txt:
13068         * libs/gst/check/gstbufferstraw.c:
13069           Make gstcheck stuff show up in docs (still needs to
13070           be documented properly though).
13071
13072 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
13073
13074         * docs/gst/gstreamer-sections.txt:
13075         * gst/Makefile.am:
13076         * gst/gst.c: (init_post):
13077         * gst/gst_private.h:
13078         * gst/gstquark.c: (_priv_gst_quarks_initialize):
13079         * gst/gstquark.h:
13080         * gst/gstquery.c: (gst_query_new_position),
13081         (gst_query_set_position), (gst_query_parse_position),
13082         (gst_query_new_duration), (gst_query_set_duration),
13083         (gst_query_parse_duration), (gst_query_new_convert),
13084         (gst_query_set_convert), (gst_query_parse_convert),
13085         (gst_query_new_segment), (gst_query_set_segment),
13086         (gst_query_parse_segment), (gst_query_new_seeking),
13087         (gst_query_set_seeking), (gst_query_parse_seeking):
13088         Add internal helpers for pre-registering quarks from static strings
13089         and using the quark values directly instead of looking them up when
13090         creating and parsing queries. Can be used for event construction too.
13091         Closes #350432.
13092
13093 2006-08-16  Wim Taymans  <wim@fluendo.com>
13094
13095         * gst/gstbin.c:
13096         Fix bogus docs.
13097
13098 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13099
13100         * gst/gstutils.c: (gst_util_set_value_from_string):
13101           Fix memleak (#351502).
13102
13103         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13104           Add unit test for most of gst_util_set_value_from_string()
13105           (not that one would want to encourage use of this function).
13106
13107 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13108
13109         * libs/gst/check/gstcheck.h:
13110           Use const gchar * variables in fail_unless_equals_string
13111           macro to avoid compiler warnings (and don't use tabs for
13112           indenting).
13113
13114 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13115
13116         * tools/gst-launch.c: (print_tag):
13117           More space on the left for the tag names, to cater
13118           for the 'extended comment' tag (not touching the
13119           string for the first line since it's translated).
13120
13121 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13122
13123         * libs/gst/check/gstcheck.h:
13124           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13125           print something when they fail.
13126
13127 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13128
13129         * docs/gst/gstreamer-sections.txt:
13130         * gst/gsttaglist.c: (_gst_tag_initialize):
13131         * gst/gsttaglist.h:
13132           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13133           Also change merge function for GST_TAG_COMMENT to
13134           use_first.
13135
13136 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13137
13138         * gst/gstinfo.c: (gst_debug_print_object):
13139           Make GST_PTR_FORMAT print messages as well.
13140
13141         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13142         (GST_START_TEST), (gst_info_suite):
13143           More tests.
13144
13145 2006-08-14  Edward Hervey  <edward@fluendo.com>
13146
13147         * gst/gstelementfactory.c: (gst_element_register):
13148         If the GstElementClass doesn't have a GstElementDetails with all fields
13149         filled up correctly (longname, description AND author), then error out
13150         nicely instead of crashing.
13151
13152 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13153
13154         * gst/gststructure.c:
13155           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13156
13157         * gst/gstvalue.h:
13158           Expand on the difference between arrays and lists as we use them.
13159           
13160 2006-08-14  Wim Taymans  <wim@fluendo.com>
13161
13162         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13163         If the parent state change function failed, don't assume we can safely
13164         stop the source, this will be done when the pads are deactivated.
13165
13166 2006-08-14  Wim Taymans  <wim@fluendo.com>
13167
13168         * gst/gstbuffer.c:
13169         * gst/gsttask.c: (gst_task_join):
13170         Small doc updates.
13171
13172         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13173         (gst_pad_stop_task):
13174         When pad (de)activation failed for some reason, restore the old
13175         activation mode and set the pad to flushing instead of assuming the
13176         pad is deactivated.
13177         If the _task_join() failed, reinstall the task on the pad so that it can
13178         be stopped later and return an error.
13179
13180 2006-08-11  Andy Wingo  <wingo@pobox.com>
13181
13182         * configure.ac:
13183         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13184         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13185         is only for users of API that don't want to see deprecated
13186         functions in the headers; people that want to compile out
13187         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13188         CFLAGS. Fixes the build of multifdsink, or will soon..
13189
13190 2006-08-11  Wim Taymans  <wim@fluendo.com>
13191
13192         * docs/gst/gstreamer-sections.txt:
13193         Add GstClockClass vmethod docs.
13194
13195         * gst/gstcaps.h:
13196         Mark #endif with comment for associated #if
13197
13198         * gst/gstclock.c: (gst_clock_id_wait):
13199         * gst/gstclock.h:
13200         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13201         most clock implementations.
13202         Document vmethods.
13203         Flesh out docs about resolution methods.
13204         API: GstClockClass::wait_jitter
13205
13206         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13207         (gst_system_clock_async_thread),
13208         (gst_system_clock_id_wait_jitter_unlocked),
13209         (gst_system_clock_id_wait_jitter):
13210         Use base class wait_jitter variant for improved performance
13211         due to less clock polling.
13212
13213 2006-08-11  Edward Hervey  <edward@fluendo.com>
13214
13215         * gst/gst.c: (gst_init_check), (init_post):
13216         Set gst as being initialized before scanning/updating the registry,
13217         since there might be my python plugin loader that calls gst_init() and
13218         we don't want to loop back in.
13219         Closes #350879
13220
13221 2006-08-11  Wim Taymans  <wim@fluendo.com>
13222
13223         * docs/design/part-qos.txt:
13224         Bring docs in line with the code. Mostly the sign of the jitter was
13225         wrong in the docs. Fixes #349943.
13226
13227         * gst/gstclock.c:
13228         Fix the docs for the jitter.
13229
13230         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13231         (gst_event_parse_tag), (gst_event_new_buffer_size),
13232         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13233         (gst_event_new_seek), (gst_event_parse_seek),
13234         (gst_event_new_navigation):
13235         Make sure the GstStructure has no parent when creating custom
13236         events.
13237         Add some more argument checking so that we avoid 0.0 rates.
13238         Flesh out the docs for the QoS event some more.
13239
13240 2006-08-11  Wim Taymans  <wim@fluendo.com>
13241
13242         * docs/gst/gstreamer-sections.txt:
13243         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13244         (ensure_current_registry_forking), (ensure_current_registry),
13245         (parse_one_option), (parse_goption_arg), (gst_deinit),
13246         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13247         * gst/gst.h:
13248         Doc updates.
13249         Added API and command line option to disable registry forking in
13250         addition to the environment variable.
13251         Constify some static arrays.
13252         Added some more debug.
13253         Don't deinit twice.
13254         API: gst_registry_fork_is_enabled()
13255         API: gst_registry_fork_set_enabled()
13256         API: --gst-disable-registry-fork command line option
13257         Fixes #348918.
13258
13259 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13260
13261         * gst/gst.c: (gst_init):
13262           Fix typo in error message.
13263
13264 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13265
13266         * libs/gst/controller/gstcontroller.h:
13267           fix ABI size-correction
13268
13269         * tests/check/libs/gdp.c: (gst_dp_suite):
13270           make tests that use deprecated API conditional
13271
13272 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13273
13274         * docs/libs/gstreamer-libs-sections.txt:
13275         * libs/gst/controller/gstcontroller.c:
13276         (_gst_controller_get_property), (_gst_controller_set_property),
13277         (_gst_controller_init), (_gst_controller_class_init):
13278         * libs/gst/controller/gstcontroller.h:
13279         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13280         (gst_object_set_control_rate):
13281           API: add gst_object_{s,g}et_control_rate(), add private data section,
13282           fix docs
13283
13284         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13285         * libs/gst/dataprotocol/dataprotocol.h:
13286           add deprecation guards to make gtk-doc happy and allow disabling cruft
13287
13288 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13289
13290         * tests/check/Makefile.am:
13291         * tests/check/gst/.cvsignore:
13292           Let's enable the new unit test as well.
13293
13294 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13295
13296         * configure.ac:
13297         * docs/gst/gstreamer-sections.txt:
13298         * gst/gstconfig.h.in:
13299         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13300         (_gst_info_printf_extension_ptr),
13301         (_gst_info_printf_extension_segment):
13302           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13303           register that lets us easily dump GstSegments into debug
13304           logs (#350419).
13305
13306         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13307         (info_segment_format_printf_extension), (gst_info_suite):
13308           Add simple unit test that logs a bunch of different segments (not
13309           valgrinded at the moment because of leaks in
13310           gst_debug_add_log_function).
13311
13312 2006-08-09  Edward Hervey  <edward@fluendo.com>
13313
13314         * libs/gst/base/gstbasetransform.c:
13315         (gst_base_transform_buffer_alloc):
13316         Even if we can't figure out the proper format to request downstream,
13317         call buffer_alloc() downstream with the input parameters without setting
13318         the caps on the srcpad. This will force negotiation in the chain
13319         function.
13320         Closes #350449
13321
13322 2006-08-08  Edward Hervey  <edward@fluendo.com>
13323
13324         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13325         Unlinking from a pad without a target is now a perfectly valid case
13326         which should NOT raise an assertion.
13327         This case would happen if a linked ghostpad its target set to NULL after
13328         it was previously linked.
13329
13330 2006-08-08  Edward Hervey  <edward@fluendo.com>
13331
13332         * tests/check/libs/gdp.c:
13333         Also comment out the test (see below).
13334
13335 2006-08-08  Edward Hervey  <edward@fluendo.com>
13336
13337         * tests/check/libs/gdp.c: (gst_dp_suite):
13338         Use the architecture information from config.h and not gcc macros
13339         in order to properly disable a test that fails on PPC64.
13340
13341 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13342
13343         * gst/gstelement.c: (gst_element_remove_pad):
13344           Don't crash printing the warning if the pad has no parent.
13345
13346 2006-08-02  Wim Taymans  <wim@fluendo.com>
13347
13348         * libs/gst/dataprotocol/dataprotocol.c:
13349         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13350         (gst_dp_crc), (gst_dp_header_payload_length),
13351         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13352         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13353         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13354         (gst_dp_event_from_packet), (gst_dp_validate_header),
13355         (gst_dp_validate_payload):
13356         Make debug category static
13357         Constify the crc table.
13358         Do some more arg checking in public functions.
13359         Fix some docs and do some small cleanups.
13360
13361         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13362         Add some more checks to see if GDP deals with bogus input.
13363
13364 2006-07-31  Wim Taymans  <wim@fluendo.com>
13365
13366         * gst/gstvalue.c: (gst_value_compare_list):
13367         Fix GstValueList comparison code. Fixes #347293.
13368
13369         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13370         Check to test GstValueList comparison.
13371
13372 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13373
13374         * gst/gstelementfactory.c: (gst_element_factory_create):
13375         Remove unnecessary ref/unref pair
13376
13377         * gst/parse/grammar.y:
13378         Make sure to free the parse buffer on all code paths.
13379         Move a g_free up to the error handler where it's easier to see.
13380
13381         * tests/check/gst/gstevent.c: (test_event):
13382         Extending timeout for downstream travelling events to 10 seconds to
13383         hopefully avoid intermittent failure on the buildbots.
13384
13385         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13386         Don't manually set the state of the src element - it will happen as a
13387         natural consequence of the pipeline changing state, and that way it
13388         will do it in the right order too.
13389
13390 2006-07-31  Wim Taymans  <wim@fluendo.com>
13391
13392         * libs/gst/base/gstbasetransform.c:
13393         (gst_base_transform_buffer_alloc):
13394         Use OBJECT_LOCK and refcounting to get the pad caps in the
13395         buffer_alloc function because the caps could change while we are
13396         busy with them. Fixes #349105
13397
13398 2006-07-31  Wim Taymans  <wim@fluendo.com>
13399
13400         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13401         Protect _PAD_CAPS with OBJECT_LOCK.
13402
13403 2006-07-31  Wim Taymans  <wim@fluendo.com>
13404
13405         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13406         (gst_pad_get_property), (gst_pad_activate_pull),
13407         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13408         (gst_pad_set_activate_function),
13409         (gst_pad_set_activatepull_function),
13410         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13411         (gst_pad_set_getrange_function),
13412         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13413         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13414         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13415         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13416         (gst_pad_set_acceptcaps_function),
13417         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13418         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13419         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13420         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13421         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13422         (gst_pad_configure_sink), (gst_pad_configure_src),
13423         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13424         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13425         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13426         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13427         (gst_pad_send_event):
13428         Use _DEBUG_OBJECT when it makes sense.
13429         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13430         Small cleanups and code reflows.
13431         Avoid caps refcounting in _accept_caps.
13432         Refactor alloc_buffer so that the code performed on the peer is in a
13433         separate function. Also if the pad does not implement a buffer alloc
13434         function, we should still check if the pad is flushing before falling
13435         back to the default allocator.
13436
13437 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13438
13439         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13440         Make all uses of identity and fakesink have silent=true to avoid
13441         serialising every passing data structure, which is breaking tests
13442         on FC4 for some unknown reason.
13443
13444 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13445
13446         * gst/parse/Makefile.am:
13447         * gst/parse/grammar.y:
13448         * gst/parse/parse.l:
13449           Reverted previous patch as it required to bump the flex dependency to
13450           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13451
13452 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13453
13454         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13455
13456         * gst/parse/Makefile.am:
13457         * gst/parse/grammar.y:
13458         * gst/parse/parse.l:
13459           push & pop the state of the lexer for reentrant use case
13460           Fixes #349180
13461
13462 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13463
13464         * libs/gst/base/gstbasesrc.h:
13465           Note in the docs that the ::newsegment vfunc is not actually used by
13466           GstBaseSrc.
13467
13468 2006-07-28  Wim Taymans  <wim@fluendo.com>
13469
13470         * libs/gst/base/gstcollectpads.c:
13471         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13472         (gst_collect_pads_clear), (gst_collect_pads_flush),
13473         (gst_collect_pads_event), (gst_collect_pads_chain):
13474         When flushing a pad, also clear the queued buffer so that we don't
13475         accidentally use it when we shouldn't.
13476         Fix leaks by inreffing incomming buffer.
13477         Flush out queued buffers in case of errors.
13478         Fixes #347452.
13479
13480 2006-07-28  Wim Taymans  <wim@fluendo.com>
13481
13482         * docs/random/phonon-gst:
13483         Random notes about a Phonon backend.
13484
13485 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13486
13487         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13488         Extra debug output
13489         * tests/check/libs/gdp.c: (gst_dp_suite):
13490         Take a whack at fixing the ppc compile using a different define to
13491         disable the broken test.
13492
13493         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13494         Remove excess g_print()
13495
13496 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13497
13498         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13499         Oops, meant to uncomment this line too to dampen the noise a bit.
13500
13501 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13502
13503         * gst/parse/grammar.y:
13504         * gst/parse/parse.l:
13505         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13506         (GST_START_TEST), (parse_suite):
13507         Fix some of the leaks exposed by extending the parse-launch testsuite,
13508         and move the 3 I can't figure out into a separate test that won't run
13509         the pipelines unless the appropriate line is uncommented.
13510
13511 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13512
13513         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13514           Requesting 0 bytes before the end of the file should result in
13515           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13516           unit test.
13517
13518 2006-07-27  Wim Taymans  <wim@fluendo.com>
13519
13520         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13521         Fix useless assert, a uint is always positive.
13522
13523         * gst/gststructure.c: (gst_structure_nth_field_name),
13524         (gst_structure_foreach), (gst_structure_map_in_place):
13525         Check input arguments for public functions to avoid obvious crashes.
13526
13527         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13528         * plugins/elements/gstfakesink.h:
13529         Do less useless typechecking.
13530
13531 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13532
13533         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13534           Do not use mmap() by default since there are a number of error
13535           conditions that we would like to handle in a non-fatal way that
13536           will result in a SIGBUS if we use mmap(). Examples: external
13537           devices (USB harddrive, portable music player) being unplugged
13538           while in use; file on mounted CD/DVD that can't be read because
13539           the medium is partly damaged. Fixes #348455 and #348475.
13540
13541 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13542
13543         * gst/gstquery.h:
13544         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13545         rates are a gdouble
13546
13547 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13548
13549         * gst/gstregistry.c:
13550           Move big documentation comment into class section header, so that it
13551           appears in the API docs.
13552
13553 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13554
13555         * docs/gst/gstreamer-sections.txt:
13556         Oops. Commit the docs additions too for new API.
13557         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13558
13559 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13560
13561         * gst/gststructure.c: (gst_structure_id_set),
13562         (gst_structure_id_set_valist):
13563         * gst/gststructure.h:
13564         Add API for setting values into structures without performing
13565         a quark lookup, if the appropriate quark is already known.
13566
13567         API: gst_structure_id_set
13568         API: gst_structure_id_set_valist
13569
13570         * gst/parse/grammar.y:
13571         * gst/parse/parse.l:
13572         Remove some dead code shown by the coverage information.
13573         Don't throw a critical g_warning when encountering a syntax error,
13574         just warn and let the normal error path handle it.
13575
13576         * plugins/elements/gstelements.c:
13577         Bump the rank of filesink up to PRIMARY so that it is preferred over
13578         gnomevfssink for file:// sink uri's
13579
13580         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13581         (GST_START_TEST), (run_delayed_test),
13582         (gst_parse_test_element_base_init),
13583         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13584         (gst_parse_test_element_change_state),
13585         (gst_register_parse_element), (parse_suite):
13586         Beef up the tests for parse syntax to check that more error cases
13587         fail as they are supposed to. Increases the test coverage a bit.
13588
13589 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13590
13591         * docs/manual/basics-elements.xml:
13592           Fix gst_element_link() example.
13593
13594         * gst/gstutils.c:
13595           Mention in API docs that one should usually gst_bin_add()
13596           elements to a bin or pipeline before doing the linking.
13597           
13598 2006-07-26  Wim Taymans  <wim@fluendo.com>
13599
13600         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13601         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13602         Avoid function call for known types by keeping the buffer and
13603         subbuffer GType global.
13604
13605         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13606         Random silly optimisations in read() path.
13607
13608 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13609
13610         * tools/gst-launch.c: (main):
13611           If the top-level of the parse is a normal bin, it doesn't do the
13612           right logic to run as a top-level element, so place it inside a
13613           pipeline.
13614
13615 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13616
13617         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13618           Remove superfluous g_object_notify() calls, GObject does
13619           that for us automatically.
13620
13621 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13622
13623         * gst/gstinfo.h:
13624           on Win32, use dllspec to export the debug category symbols
13625
13626 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13627
13628         * gst/gsttaglist.c: (_gst_tag_initialize):
13629           Allow more than one GST_TAG_IMAGE per taglist.
13630
13631 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13632
13633         * gst/gstminiobject.c:
13634           update docs
13635         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13636         (gst_fd_src_create):
13637           log recurring events at LOG level
13638           add more debug for when the fd gets set
13639
13640 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13641
13642         * gst/gstparse.c: (gst_parse_launch):
13643           Also remove reentrance checks if flex is MT safe (#348179)
13644          Fix my empty ChangeLog entry below
13645
13646 2006-07-21  Andy Wingo  <wingo@pobox.com>
13647
13648         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13649
13650         * libs/gst/check/Makefile.am
13651         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13652         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13653         * libs/gst/check/gstbufferstraw.h:
13654         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13655         functions, thus proving I am still a GStreamer haxor. OK I wrote
13656         them a long time ago, but anyways.
13657
13658 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13659
13660         * configure.ac:
13661         * gst/gstparse.c: (gst_parse_launch):
13662           Check for flex version and omit mutex if we have a MT save flex
13663           (fixes #348179)
13664
13665 2006-07-21  Wim Taymans  <wim@fluendo.com>
13666
13667         * gst/gstparse.c: (gst_parse_launch):
13668         Protect recursive calls to _parse with a recursive mutex
13669         and busy flag.
13670
13671 2006-07-21  Wim Taymans  <wim@fluendo.com>
13672
13673         * tests/check/gst/gstpad.c: (GST_START_TEST):
13674         Fix leak in test.
13675
13676 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13677
13678         * gst/gstparse.c: (gst_parse_launch):
13679           Do not hang on recursive usage of gst_parse_launch()
13680
13681 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13682
13683         * gst/gsttaglist.c:
13684           Add some more docs, comments and FIXME 0.11s here and there
13685           and also fix some typos.
13686
13687 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13688
13689         * gst/gstsegment.h:
13690           Convert tabs to spaces for better readability. 
13691
13692 2006-07-20  Edward Hervey  <edward@fluendo.com>
13693
13694         * tests/check/libs/gdp.c: (gst_dp_suite):
13695         the test_buffer test fails at line 140 on ppc64 at the following
13696         check:
13697         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13698                 GST_BUFFER_FLAG_IN_CAPS),
13699                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13700         See bug #348114 for more details.
13701
13702 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13703
13704         * docs/pwg/advanced-scheduling.xml:
13705         * gst/gstpad.c:
13706           Fix typos (#348000).
13707
13708 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13709
13710         * docs/pwg/intro-basics.xml:
13711           Fix wrong links (#347927).
13712
13713 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13714
13715         * gst/gstregistry.h:
13716         * gst/gstregistryxml.c: (load_feature),
13717         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13718         * win32/common/config.h:
13719           make --disable-index work (#342564)
13720
13721 2006-07-18  Wim Taymans  <wim@fluendo.com>
13722
13723         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13724
13725         * gst/Makefile.am:
13726         * gst/gsttrace.h:
13727         The attached patch adds two missing defines to gsttrace.h when tracing
13728         is disabled.  It also corrects one existing define.
13729         Fixes #347756.
13730
13731 2006-07-17  Wim Taymans  <wim@fluendo.com>
13732
13733         * docs/gst/gstreamer-sections.txt:
13734         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13735         * gst/gst.h:
13736         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13737         Add two functions to check and change the SIGSEGV behaviour
13738         when loading plugins.
13739         Don't mess with the SIGSEGV handler when we were told not to.
13740         Fixes #347794.
13741         API: gst_segtrap_is_enabled
13742         API: gst_segtrap_set_enabled
13743
13744 2006-07-14  Wim Taymans  <wim@fluendo.com>
13745
13746         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13747         * tests/check/elements/filesrc.c: (GST_START_TEST):
13748         Revert fix for regression in #347408 after release.
13749
13750 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13751
13752         Patch by: Antoine Tremblay <hexa00 at gmail com>
13753
13754         * gst/gstutils.c: (gst_element_unlink):
13755           Free iterator when done (#347311).
13756
13757         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13758           And add a test case for this.
13759
13760 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13761
13762         * configure.ac:
13763         Bump nano back to CVS
13764
13765 === release 0.10.9 ===
13766
13767 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13768
13769         * configure.ac:
13770           releasing 0.10.9, "On the road again"
13771
13772 2006-07-13  Wim Taymans  <wim@fluendo.com>
13773
13774         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13775         * tests/check/elements/filesrc.c: (GST_START_TEST):
13776         Revert pull-0 fix for release. Disable check. Fixes #347408.
13777
13778 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13779
13780         * libs/gst/dataprotocol/dataprotocol.c:
13781         (gst_dp_event_from_packet_1_0):
13782           Fixes #347337: failure to deserialize event packets with
13783           empty payload (only event type)
13784
13785 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13786
13787         * gst/Makefile.am:
13788           do not install a .c file in the header directory
13789
13790 2006-07-13  Edward Hervey  <edward@fluendo.com>
13791
13792         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13793         GhostPad no longer implicitely use the padtemplates of the targets.
13794         Fixes #347384
13795
13796 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13797
13798         * gst/gstvalue.c: (gst_value_compare_list),
13799         (gst_value_compare_array), (_gst_value_initialize):
13800         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13801         Make GstValueArray comparison be order dependent as designed.
13802         Add checks for value lists and value array comparisons.
13803         Fixes #347221
13804
13805 2006-07-11  Edward Hervey  <edward@fluendo.com>
13806
13807         * gst/gstbin.c: (activate_pads),
13808         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13809         (gst_bin_change_state_func):
13810         (de)activate src pads before calling state_change on the childs.
13811         This is to avoid the case where a src ghostpad is blocked (holding the
13812         stream lock), which would block the deactivation of the ghostpad's
13813         target pad.
13814         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13815         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13816         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13817         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13818         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13819         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13820         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13821         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13822         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13823         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13824         (gst_ghost_pad_class_init),
13825         (gst_ghost_pad_internal_do_activate_push),
13826         (gst_ghost_pad_internal_do_activate_pull),
13827         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13828         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13829         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13830         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13831         GhostPads now create their internal GstProxyPad at creation (and not
13832         when they're linked, as it was being done previously).
13833         The internal and target pads are linked straight away.
13834         The data will also travel through the other pad in order to make
13835         pad blocking and probes non-hackish (the probe/block now really happens
13836         on the GhostPad and not on the target).
13837         * gst/gstpad.c: (gst_pad_set_blocked_async),
13838         (gst_pad_link_prepare), (gst_pad_push_event):
13839         Remove previous ghostpad cruft.
13840         * gst/gstutils.c: (gst_pad_add_data_probe),
13841         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13842         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13843         (gst_pad_remove_buffer_probe):
13844         Remove previous ghost pad cruft.
13845         Added more detailed debug statements.
13846         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13847         Fix the testsuite for refcounting changes.
13848         The comments about who has references were correct, but the refcount
13849         being checked wasn't the same (!?!).
13850
13851         Fixes #341029
13852
13853 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13854
13855         * docs/gst/gstreamer-sections.txt:
13856         * gst/gstconfig.h.in:
13857         More docs for configuration options, add docs to gtk-doc.
13858
13859 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13860
13861         * gst/Makefile.am:
13862         * gst/gstconfig.h.in:
13863         * win32/common/config.h:
13864         Fix build when disabling tracing (fixes #344016). Also start to document
13865         the defines that disable the sub-systems.
13866
13867 2006-07-10  Edward Hervey  <edward@fluendo.com>
13868
13869         * gst/gst.c: (ensure_current_registry_forking):
13870         let's make valgrind happy...
13871
13872 2006-07-09  Wim Taymans  <wim@fluendo.com>
13873
13874         * gst/gstelement.c: (activate_pads),
13875         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13876         Better pad activation code: Reset the collect value too on resync.
13877         Add some comments.
13878
13879 2006-07-09  Wim Taymans  <wim@fluendo.com>
13880
13881         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13882         (gst_pad_activate_push):
13883         Use some more macros where it makes sense.
13884         Allow pad mode switching instead of asserting. When a pad
13885         is activated in one mode and we activate it in another, 
13886         deactivate it first before activating it in a different mode.
13887         Fixes #329198.
13888
13889 2006-07-08  Andy Wingo  <wingo@pobox.com>
13890
13891         * tools/gst-launch.c (main): Handle err == NULL.
13892
13893         * gst/gst.c (init_post, ensure_current_registry)
13894         (ensure_current_registry_forking)
13895         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13896         factoring out the registry scanning into separate functions. Don't
13897         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13898         Better environment var name/interface suggestions accepted.
13899
13900 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13901
13902         * gst/gstobject.c: (gst_object_set_name_default),
13903         (gst_object_set_name):
13904           Random micro-optimisation: don't use a hash table
13905           with strings as keys and the usual strdup/strcmp
13906           involved, but rather just use the GQuark of the
13907           type name as key, since it needs to be looked up
13908           anyway to get the type name string.
13909
13910         * tests/check/gst/gstobject.c: (GST_START_TEST):
13911           Fix various leaks.
13912
13913 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13914
13915         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13916         (gst_bin_iterate_all_by_interface):
13917           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13918           GTypes are gulongs and thus the top 4 bytes might be cut
13919           off on some platforms when doing GPOINTER_TO_INT, leading
13920           to invalid GTypes and bad things happening (see RH bug #179654).
13921           Also add a check to make sure the type passed in is really
13922           an interface type.
13923
13924 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13925
13926         * .cvsignore:
13927           Ignore more.
13928
13929 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13930
13931         * Makefile.am:
13932         * configure.ac:
13933         * gst-element-check.m4:
13934         * gst-element-check.m4.in:
13935           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13936           instead of the unversioned gst-inspect (#324176, #168659).
13937
13938 2006-07-06  Wim Taymans  <wim@fluendo.com>
13939
13940         * gst/gstmessage.h:
13941         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13942         warnings.
13943
13944 2006-07-06  Wim Taymans  <wim@fluendo.com>
13945
13946         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13947         (gst_base_src_wait), (gst_base_src_update_length),
13948         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13949         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13950         (gst_base_src_loop), (gst_base_src_start),
13951         (gst_base_src_activate_pull):
13952         Update docs.
13953         blocksize == 0 now means the default blocksize when working in push
13954         based mode.
13955         Remove some pointless asserts in _wait function.
13956         Fix offset/length calculations and EOS handling. We can now pull 0
13957         bytes as well, which is allowed.
13958         use _check_get_range() to decide if we can operate in _pull based
13959         mode.
13960         Fix refcounting leak when check_get_range function was not 
13961         implemented.
13962         API GstBaseSrc::blocksize range can be 0 too now (default)
13963
13964         * tests/check/elements/filesrc.c: (GST_START_TEST),
13965         (filesrc_suite):
13966         Added check to test _get_range() behaviour.
13967
13968 2006-07-06  Wim Taymans  <wim@fluendo.com>
13969
13970         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13971         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13972         (gst_pad_pull_range):
13973         * gst/gstpad.h:
13974         Lots of comments and docs added to the pad functions.
13975         Flesh out the expected behaviour of the get_range() functions.
13976
13977 2006-07-06  Wim Taymans  <wim@fluendo.com>
13978
13979         * gst/gstbus.h:
13980         * gst/gstclock.h:
13981         * gst/gstevent.h:
13982         * gst/gstiterator.h:
13983         * gst/gstpad.h:
13984         * gst/gstplugin.h:
13985         * gst/gsttask.h:
13986         Remove comma at end of enumerator list. 
13987
13988 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13989
13990         * win32/common/libgstbase.def:
13991         * win32/common/libgstdataprotocol.def:
13992         * win32/common/libsgtreamer.def:
13993         Add new exported functions.
13994
13995 2006-07-05  Wim Taymans  <wim@fluendo.com>
13996
13997         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13998         Add some more docs here and there.
13999
14000 2006-07-05  Wim Taymans  <wim@fluendo.com>
14001
14002         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
14003         (gst_base_sink_loop), (gst_base_sink_get_position):
14004         When operating in pull mode update the offset so that we
14005         read sequentially.
14006
14007 2006-07-05  Wim Taymans  <wim@fluendo.com>
14008
14009         * gst/gstregistryxml.c: (read_string):
14010         Avoid strdup. (will happen in libxml, but hey!)
14011
14012         * gst/gsturi.c:
14013         Add some more docs.
14014
14015 2006-07-05  Wim Taymans  <wim@fluendo.com>
14016
14017         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
14018         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
14019         (gst_buffer_suite):
14020         No point in checking if the size of the subbuffer > 0, the
14021         code handles it correclty as demonstrated by unit test.
14022         Also add a unit test for the zero sized _new_and_alloc and
14023         _copy. Fixes #346663.
14024
14025 2006-07-05  Wim Taymans  <wim@fluendo.com>
14026
14027         * libs/gst/base/gstbasetransform.c:
14028         (gst_base_transform_prepare_output_buffer),
14029         (gst_base_transform_buffer_alloc),
14030         (gst_base_transform_handle_buffer):
14031         Make sure the buffer we pass to transform_ip has a refcount of
14032         1 and thus is writable. Fixes #343196
14033
14034 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
14035
14036         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14037         (gst_file_src_init), (gst_file_src_set_property),
14038         (gst_file_src_get_property), (gst_file_src_map_region):
14039         * plugins/elements/gstfilesrc.h:
14040         Add "sequential" property, off by default, to use madvise and hint
14041         to the kernel that sequential access is desired.
14042         Touch all retrieved pages by default to ensure they are pulled
14043         into memory. (Closes #345720)
14044
14045 2006-07-03  Wim Taymans  <wim@fluendo.com>
14046
14047         * docs/design/part-block.txt:
14048         * docs/design/part-dynamic.txt:
14049         Small docs updates.
14050
14051 2006-07-03  Wim Taymans  <wim@fluendo.com>
14052
14053         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
14054         (gst_caps_unref), (gst_static_caps_get),
14055         (gst_caps_append_structure):
14056         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
14057         Use GSlice when the glib we build against is >= 2.10
14058
14059 2006-07-03  Wim Taymans  <wim@fluendo.com>
14060
14061         * gst/gstelement.c: (gst_element_pads_activate):
14062         Small cleanup in pad activation code.
14063
14064 2006-07-03  Wim Taymans  <wim@fluendo.com>
14065
14066         Patch by: Peter Kjellerstedt <pkj at axis dot com>
14067
14068         * gst/gst-i18n-app.h:
14069         * gst/gst-i18n-lib.h:
14070         * tools/gst-inspect.c: (print_signal_info):
14071         The attached patch will make the inclusion of gettext.h unconditional in
14072         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14073         libintl.h in tools/gst-inspect.c.
14074         This allows use of --disable-nls again and fixes #344642.
14075
14076 2006-07-03  Edward Hervey  <edward@fluendo.com>
14077
14078         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14079         Implement pad blocking on events according to part-block.txt.
14080         More comments on behaviour.
14081         * tests/check/gst/gstevent.c: (test_event):
14082         Send event to peer pad of blocked pad (else it will block).
14083
14084 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14085
14086         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14087         (gst_check_run_suite):
14088           if we get the wrong message, give us the types as string
14089         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14090           Fix a translatable
14091         * tests/check/elements/filesrc.c: (GST_START_TEST):
14092           add a test for trying to open a non-existing file
14093
14094 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14095
14096         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14097           add a test for adding self
14098
14099 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14100
14101         * libs/gst/check/gstcheck.h:
14102           add some assert_ as alias for fail_unless_*
14103         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14104           increase test coverage
14105
14106 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14107
14108         * Makefile.am:
14109           include lcov.mak for lcov coverage generation
14110         * tools/Makefile.am:
14111           add to CLEANFILES
14112
14113 2006-07-02  Edward Hervey  <edward@fluendo.com>
14114
14115         * tests/check/elements/.cvsignore:
14116         moaping
14117
14118 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14119
14120         * configure.ac:
14121           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14122         * tests/check/Makefile.am:
14123           clean up gcov files
14124
14125 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14126
14127         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14128           remove gst_caps_simplify; it was not declared and not used
14129           and deprecated in 0.8
14130
14131 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14132
14133         * docs/faq/gst-uninstalled:
14134           don't put empty paths on PYTHONPATH
14135         * docs/gst/gstreamer-sections.txt:
14136           remove some symbols that are not there
14137
14138 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14139
14140         * gst/gstcaps.c: (gst_caps_compare_structures):
14141           whitespace fixes
14142         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14143         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14144           add more tests
14145
14146 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14147
14148         * libs/gst/dataprotocol/Makefile.am:
14149           build dataprotocol test by linking to the lib, instead of
14150           compiling the source, so we get coverage
14151         * tests/check/Makefile.am:
14152         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14153         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14154           add a test for filesrc
14155
14156 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14157
14158         * tests/check/gst/gststructure.c: (GST_START_TEST),
14159         (gst_structure_suite):
14160           Push coverage from 59.04% to 70.00%
14161
14162 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14163
14164         * tests/check/Makefile.am:
14165           gst-inspect every element; this makes sure that we also get
14166           coverage on element's get/set functions
14167
14168 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14169
14170         * configure.ac:
14171           set CFLAGS and friends to -O0 if gcov is being used
14172           add GCOV LIBS
14173         * gst/Makefile.am:
14174         * libs/gst/base/Makefile.am:
14175         * libs/gst/check/Makefile.am:
14176         * libs/gst/controller/Makefile.am:
14177         * libs/gst/dataprotocol/Makefile.am:
14178         * libs/gst/net/Makefile.am:
14179         * plugins/elements/Makefile.am:
14180         * plugins/indexers/Makefile.am:
14181           add makefile rules to generate gcov data and clean up
14182         * tests/check/Makefile.am:
14183           add a coverage target that generates an html overview
14184           of coverage data
14185
14186 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14187
14188         * tests/check/elements/fakesink.c:
14189         * tests/check/elements/fakesrc.c:
14190         * tests/check/elements/fdsrc.c:
14191         * tests/check/elements/identity.c:
14192         * tests/check/generic/sinks.c: (gst_sinks_suite):
14193         * tests/check/generic/states.c:
14194         * tests/check/gst/gst.c:
14195         * tests/check/gst/gstabi.c:
14196         * tests/check/gst/gstbin.c:
14197         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14198         * tests/check/gst/gstbus.c: (gst_bus_suite):
14199         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14200         * tests/check/gst/gstelement.c:
14201         * tests/check/gst/gstevent.c: (gst_event_suite):
14202         * tests/check/gst/gstghostpad.c:
14203         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14204         * tests/check/gst/gstmessage.c: (gst_message_suite):
14205         * tests/check/gst/gstminiobject.c:
14206         * tests/check/gst/gstobject.c:
14207         * tests/check/gst/gstpad.c:
14208         * tests/check/gst/gstpipeline.c:
14209         * tests/check/gst/gstplugin.c:
14210         * tests/check/gst/gstquery.c: (gst_query_suite):
14211         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14212         * tests/check/gst/gststructure.c:
14213         * tests/check/gst/gstsystemclock.c:
14214         * tests/check/gst/gsttag.c:
14215         * tests/check/gst/gsttask.c: (gst_task_suite):
14216         * tests/check/gst/gstutils.c:
14217         * tests/check/gst/gstvalue.c:
14218         * tests/check/libs/adapter.c:
14219         * tests/check/libs/basesrc.c:
14220         * tests/check/libs/collectpads.c:
14221         * tests/check/libs/controller.c:
14222         * tests/check/libs/gdp.c: (gst_dp_suite):
14223         * tests/check/libs/gstnetclientclock.c:
14224         * tests/check/libs/gstnettimeprovider.c:
14225         * tests/check/libs/libsabi.c: (libsabi_suite):
14226         * tests/check/libs/typefindhelper.c:
14227         * tests/check/pipelines/cleanup.c:
14228         * tests/check/pipelines/parse-launch.c:
14229         * tests/check/pipelines/simple-launch-lines.c:
14230         * tests/check/pipelines/stress.c: (stress_suite):
14231           use the new macro
14232
14233 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14234
14235         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14236         * libs/gst/check/gstcheck.h:
14237           create a macro and function so that the simple unit test
14238           case can be just one macro to create main()
14239
14240 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14241
14242         * gst/gstbin.c: (gst_bin_restore_thyself):
14243         * gst/gstxml.c: (gst_xml_make_element):
14244           Fix deserialisation from XML. Set parent manually
14245           instead of using gst_bin_add(), since gst_bin_add()
14246           will unlink all pads of the element being added.
14247           Fixes #341667.
14248
14249 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14250
14251         Patch by: Peter Kjellerstedt <pkj at axis com>
14252
14253         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14254           Fix missing g_strdup() and double free when using the
14255           --gst-plugin-load command line option (#346097).
14256
14257 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14258
14259         * gst/gstinfo.c:
14260           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14261
14262         * libs/gst/net/gstnetclientclock.c:
14263         * libs/gst/net/gstnettimeprovider.c:
14264           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14265
14266 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14267
14268         * docs/manual/advanced-dataaccess.xml:
14269           Fix buffer probe example compilation in
14270           ADM (#345708).
14271         
14272 2006-06-22  Edward Hervey  <edward@fluendo.com>
14273
14274         * gst/gstelement.c: (gst_element_pads_activate):
14275         We need to deactivate src pads first and then sink pads.
14276         The reason is the src pads might be blocking while holding the streaming
14277         lock, so we need to deactivate them first so that deactivating the sink
14278         pads doesn't block (since it will require the streaming lock).
14279
14280 2006-06-22  Wim Taymans  <wim@fluendo.com>
14281
14282         * libs/gst/base/gstbasetransform.c:
14283         (gst_base_transform_buffer_alloc):
14284         Forgot to remove two unneeded unrefs.
14285         Simplify a check _is_equal allready checks the obvious case.
14286
14287 2006-06-22  Wim Taymans  <wim@fluendo.com>
14288
14289         * docs/design/part-block.txt:
14290         Some docs about what pad_block should do.
14291
14292 2006-06-22  Wim Taymans  <wim@fluendo.com>
14293
14294         * gst/gstcaps.c: (gst_caps_replace):
14295         Fix crasher when passed NULL. Doc clarification.
14296         Optimize for the trivial case.
14297
14298         * gst/gstpipeline.c: (gst_pipeline_change_state):
14299         Small cleanups.
14300
14301         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14302         Small documentation cleanup.
14303
14304         * libs/gst/base/gstbasetransform.c:
14305         (gst_base_transform_buffer_alloc):
14306         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14307         is what we need and it avoids a whole lot of redundant 
14308         refcount operations.
14309
14310 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14311
14312         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14313
14314         * docs/manual/advanced-dataaccess.xml:
14315           Fix 'Embedding static elements' section to use
14316           GST_PLUGIN_DEFINE_STATIC (#345607).
14317
14318 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14319
14320         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14321           Attempt to 'fix' spuriously failing test case: it seems like the
14322           timeout of half a second is simply too small when the system is under
14323           load otherwise, and the timeout doesn't really seem to serve any
14324           particular purpose here. Give the pipeline a few seconds to preroll
14325           first, and then give it another half a second to go from PAUSED to
14326           PLAYING and marshal the message into the main thread.
14327
14328 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14329
14330         * tools/gst-feedback-m.m:
14331           Don't only use unversioned tools, try versioned tools as well
14332           (#345086).
14333
14334 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14335
14336         * gst/gstbus.c: (gst_bus_class_init):
14337           Fix some typos, make docs more explicit.
14338
14339 2006-06-20  Wim Taymans  <wim@fluendo.com>
14340
14341         * tests/check/gst/gstghostpad.c: (block_callback),
14342         (GST_START_TEST), (gst_ghost_pad_suite):
14343         Added some more ghostpad tests, mainly blocking
14344         and probes.
14345
14346 2006-06-16  Wim Taymans  <wim@fluendo.com>
14347
14348         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14349         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14350         (gst_file_sink_event), (gst_file_sink_render):
14351         * plugins/elements/gstfilesink.h:
14352         Check if we can seek in the file instead of assuming
14353         we always can. Post an error when we are asked to seek in a
14354         non-seekable file (like a fifo). Fixes #343312.
14355         Some cleanups.
14356
14357 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14358
14359         * tools/gst-launch.1.in:
14360           Un-garble (fourcc) bit in filtered caps section.
14361
14362 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14363
14364         * docs/manual/advanced-autoplugging.xml:
14365         * docs/manual/basics-helloworld.xml:
14366         * docs/manual/highlevel-components.xml:
14367           Don't leak bus reference in sample code.
14368
14369 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14370
14371         * autogen.sh:
14372           Add default for new --enable-plugin-docs switch.
14373
14374         * configure.ac:
14375           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14376           Fixes #344039.
14377
14378         * docs/Makefile.am:
14379           Use new ENABLE_PLUGIN_DOCS conditional.
14380
14381 2006-06-14  Wim Taymans  <wim@fluendo.com>
14382
14383         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14384         Make it clear with a FIXME and a real define what the #if 0
14385         previously disabled.
14386
14387 2006-06-14  Wim Taymans  <wim@fluendo.com>
14388
14389         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14390         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14391         * libs/gst/base/gstbasetransform.c:
14392         (gst_base_transform_sink_eventfunc):
14393         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14394         Don't randomly and silently reset a segment when the format 
14395         changes as this is a bug somewhere upstream. Fixes #330379.
14396
14397 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14398
14399         Patch by: Wouter Paesen  <wouter at kangaroot net>
14400
14401         * libs/gst/controller/gstcontroller.c:
14402         (gst_controlled_property_new):
14403           Fix controlling of float properties (#344849).
14404
14405         * tests/check/libs/controller.c:
14406         (gst_test_mono_source_get_property),
14407         (gst_test_mono_source_set_property),
14408         (gst_test_mono_source_class_init), (GST_START_TEST):
14409           While we're at it, add some float stuff to unit test.
14410
14411 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14412
14413         * docs/README:
14414         * docs/images/gdp-header.svg:
14415           add a gdp image
14416         * docs/libs/Makefile.am:
14417         * docs/libs/gdp-header.png:
14418         * libs/gst/dataprotocol/dataprotocol.c:
14419           add it to the API docs
14420         * docs/manual/intro-motivation.xml:
14421           fix typo
14422
14423 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14424
14425         * gst/gst.c: (scan_and_update_registry), (init_post):
14426           If the fork()'ed child process can't write the updated registry cache
14427           file to disk for some reason, make it exit with a failure exit code,
14428           so that the parent can then re-scan the plugins itself and update the
14429           registry structures in memory and work with that (rather than failing
14430           when creating elements because seemingly no plugins are available).
14431           Refactor registry scanning code into separate function for this and
14432           also separate fork() and non-fork() code paths. Fixes #344748.
14433
14434 2006-06-13  Wim Taymans  <wim@fluendo.com>
14435
14436         * docs/manual/advanced-dataaccess.xml:
14437         Fix wrong PluginDesc. Fixes #344755.
14438
14439 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14440
14441         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14442           Fix silly bug that prevented us from creating
14443           ~/.gstreamer-0.10 and writing the registry in one
14444           go (the first call to g_mkstemp() would overwrite the
14445           placeholder in the template string, so the second call
14446           to g_mkstemp() after creating the missing directory
14447           would then error out with 'invalid argument').
14448
14449 2006-06-13  Edward Hervey  <edward@fluendo.com>
14450
14451         * gst/gst.c: (init_post):
14452         Free string.
14453
14454 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14455
14456         * gst/glib-compat-private.h:
14457         * gst/glib-compat.c:
14458         * gst/glib-compat.h:
14459         * gst/gstvalue.c: (gst_value_serialize_flags):
14460           remove GLib 2.6 compatibility code
14461
14462 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14463
14464         * gst/parse/Makefile.am:
14465           Fix build with 'make -j N' even more (#340016).
14466
14467 2006-06-12  Wim Taymans  <wim@fluendo.com>
14468
14469         * docs/gst/gstreamer-sections.txt:
14470         Fix docs.
14471
14472 2006-06-12  Wim Taymans  <wim@fluendo.com>
14473
14474         * gst/gstsegment.c: (gst_segment_set_duration),
14475         (gst_segment_set_last_stop), (gst_segment_set_seek),
14476         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14477         (gst_segment_to_running_time), (gst_segment_clip):
14478         Use G_UNLIKELY to help the compiler a bit.
14479
14480 2006-06-12  Wim Taymans  <wim@fluendo.com>
14481
14482         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14483
14484         * gst/gstevent.c: (gst_event_get_type):
14485         * gst/gstmessage.c:
14486         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14487         (gst_pad_push):
14488         constify quark registration strings. Fixes #344115
14489         Avoid unneeded type checking is _pad_push() by internally
14490         calling gst_pad_chain_unchecked().
14491
14492 2006-06-12  Wim Taymans  <wim@fluendo.com>
14493
14494         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14495         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14496         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14497         (gst_buffer_is_span_fast), (gst_buffer_span):
14498         Init _type for consistency.
14499         Use _FLAGS macro to avoid type check.
14500         Avoid unneeded type checks in subbufer code.
14501
14502 2006-06-12  Wim Taymans  <wim@fluendo.com>
14503
14504         * gst/gst.c: (gst_debug_help):
14505         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14506         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14507         (gst_plugin_feature_list_free):
14508         * gst/gstregistry.c: (gst_registry_add_plugin),
14509         (gst_registry_add_feature), (gst_registry_plugin_filter),
14510         (gst_registry_feature_filter), (gst_registry_find_plugin),
14511         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14512         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14513         * gst/gstregistryxml.c: (load_feature),
14514         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14515         * gst/gstminiobject.c: (gst_mini_object_unref),
14516         (gst_mini_object_replace), (gst_value_mini_object_free),
14517         (gst_value_mini_object_copy):
14518         Use _CAST macros to avoid unneeded type checking.
14519         Added some more G_UNLIKELY.
14520
14521 2006-06-12  Wim Taymans  <wim@fluendo.com>
14522
14523         * gst/gstbuffer.h:
14524         Avoid unneeded type checking.
14525         API: GST_BUFFER_IS_DISCONT
14526
14527         * gst/gstminiobject.h:
14528         Avoid type check in flag accessor.
14529
14530         * gst/gstelementfactory.h:
14531         * gst/gstplugin.h:
14532         * gst/gstpluginfeature.h:
14533         Add _CAST macros.
14534         API: GST_ELEMENT_FACTORY_CAST
14535         API: GST_PLUGIN_CAST
14536         API: GST_PLUGIN_FEATURE_CAST
14537
14538 2006-06-12  Wim Taymans  <wim@fluendo.com>
14539
14540         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14541         (gst_object_unref):
14542         Add G_UNLIKELY in type registration.
14543         Avoid type check in _ref/_unref since that is also
14544         done in glib.
14545
14546 2006-06-12  Wim Taymans  <wim@fluendo.com>
14547
14548         * gst/gsterror.c: (gst_g_error_get_type):
14549         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14550         (gst_static_pad_template_get_type):
14551         * gst/gsttaglist.c: (gst_tag_list_get_type):
14552         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14553         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14554         * gst/gsturi.c: (gst_uri_handler_get_type):
14555         * gst/gstvalue.c: (gst_date_get_type):
14556         * gst/gstxml.c: (gst_xml_get_type):
14557         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14558         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14559         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14560         Add G_UNLIKELY in type registration.
14561
14562 2006-06-12  Wim Taymans  <wim@fluendo.com>
14563
14564         * tools/gst-inspect.c: (print_signal_info):
14565         Properly print enum values.
14566
14567 2006-06-12  Wim Taymans  <wim@fluendo.com>
14568
14569         * gst/gstinfo.c: (gst_debug_set_active),
14570         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14571         * gst/gstinfo.h:
14572         Add some G_[UN]LIKELY.
14573         Maintain __gst_debug_min to avoid formatting the arguments of
14574         debug messages that will be dropped anyway to avoid a lot of 
14575         overhead from the debugging system.
14576
14577 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14578
14579         * po/POTFILES.in:
14580         * po/POTFILES.skip:
14581           add missing files containing translatable strings, tell intltool about
14582           one exception
14583
14584 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14585
14586         * tests/check/libs/.cvsignore:
14587         add test-binary to ignore list
14588
14589 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14590
14591         * docs/libs/gstreamer-libs-docs.sgml:
14592         reorder (put dp into a chapter) and indent
14593
14594 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14595
14596         * configure.ac:
14597           back to HEAD
14598
14599 === release 0.10.8 ===
14600
14601 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14602
14603         * configure.ac:
14604           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14605
14606 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14607
14608         * gst/gst.c: (init_post):
14609           move pid declaration to declaration block
14610
14611 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14612
14613         * gst/gst.c: (init_post):
14614           use _exit() instead of exit() in our forked child; this ensures
14615           that none of the registered exit handlers from whatever is using
14616           GStreamer get executed.  This fixes gnome-mixer-applet failing
14617           to load, because ORBit would shut down.
14618           Spotted by: Edward Hervey  <edward@fluendo.com>
14619           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14620           Fixes #344474
14621
14622 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14623
14624         * configure.ac:
14625           back to TRUNK
14626
14627 === release 0.10.7 ===
14628
14629 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14630
14631         * configure.ac:
14632           releasing 0.10.7, "Soepeke, ik zie ou"
14633
14634 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14635
14636         * configure.ac:
14637         * po/af.po:
14638         * po/az.po:
14639         * po/bg.po:
14640         * po/ca.po:
14641         * po/cs.po:
14642         * po/de.po:
14643         * po/en_GB.po:
14644         * po/fr.po:
14645         * po/it.po:
14646         * po/nb.po:
14647         * po/nl.po:
14648         * po/ru.po:
14649         * po/sq.po:
14650         * po/sr.po:
14651         * po/sv.po:
14652         * po/tr.po:
14653         * po/uk.po:
14654         * po/vi.po:
14655         * po/zh_CN.po:
14656         * po/zh_TW.po:
14657         * win32/common/config.h:
14658           0.10.6.2 prerelease
14659
14660 2006-06-07  Wim Taymans  <wim@fluendo.com>
14661
14662         * gst/gstindex.c: (gst_index_gtype_resolver):
14663         * tools/gst-xmlinspect.c: (print_plugin_info):
14664         Fix leak spotted by coverity checker. Fixes #343827
14665         Fix another other leak found by paolo borelli.
14666
14667 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14668
14669         * libs/gst/dataprotocol/dataprotocol.c:
14670         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14671         (gst_dp_version_get_type), (gst_dp_init),
14672         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14673         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14674         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14675         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14676         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14677         (gst_dp_packetizer_free):
14678         * libs/gst/dataprotocol/dataprotocol.h:
14679           API: add a GstDPPacketizer object, and create/free functions
14680           API: add GstDPVersion enum
14681           Add 1.0 event function that uses the string serialization
14682           Serialize more useful buffer flags
14683           Fixes #343988
14684
14685 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14686
14687         * tests/check/Makefile.am:
14688         * tests/check/gst/gstabi.c:
14689         * tests/check/gst/struct_ppc64.h:
14690         * tests/check/libs/libsabi.c:
14691         * tests/check/libs/struct_ppc64.h:
14692           add ppc64 structure sizes
14693
14694 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14695
14696         * tests/check/Makefile.am:
14697         * tests/check/gst/gstabi.c:
14698         * tests/check/gst/struct_x86_64.h:
14699         * tests/check/libs/libsabi.c:
14700         * tests/check/libs/struct_x86_64.h:
14701           generate and add structure size lists for x86_64
14702
14703 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14704
14705         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14706         * libs/gst/check/gstcheck.h:
14707           factor out the method from tests that checks size of structures,
14708           and add code to generate the header containing these sizes
14709         * tests/check/gst/gstabi.c: (GST_START_TEST):
14710         * tests/check/gst/struct_i386.h:
14711         * tests/check/libs/libsabi.c: (GST_START_TEST):
14712         * tests/check/libs/struct_i386.h:
14713           use it
14714
14715 2006-06-06  Michael Smith  <msmith@fluendo.com>
14716
14717         * gst/gstsegment.h:
14718           Don't use c++-style comments, fixes #343929
14719
14720 2006-06-05  Edward Hervey  <edward@fluendo.com>
14721
14722         * gst/gst.c:
14723         plugin_paths is not used if we build without registry support.
14724
14725         * gst/gstsegment.c: (gst_segment_copy): 
14726         _copy() was always returning NULL...
14727
14728 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14729
14730         * libs/gst/dataprotocol/dataprotocol.c:
14731         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14732         (gst_dp_packet_from_event):
14733           factor out CRC code
14734
14735 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14736
14737         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14738           make sure we unset caps
14739
14740 2006-06-02  Michael Smith  <msmith@fluendo.com>
14741
14742         * libs/gst/check/gstcheck.c: (gst_check_init),
14743         (gst_check_chain_func):
14744         * libs/gst/check/gstcheck.h:
14745           Add a cond/mutex to the check support lib, signal this whenever we
14746           add to the buffers list. This will allow tests to not busy-wait on
14747           the buffer-list.
14748
14749 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14750
14751         * libs/gst/dataprotocol/dataprotocol.c:
14752         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14753         (gst_dp_packet_from_event):
14754           factor out some common header init code
14755
14756 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14757
14758         * docs/libs/gstreamer-libs-sections.txt:
14759         * docs/libs/tmpl/gstdataprotocol.sgml:
14760         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14761         * libs/gst/dataprotocol/dataprotocol.h:
14762           API: make gst_dp_crc() public
14763
14764 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14765
14766         * plugins/indexers/gstindexers.c: (plugin_init):
14767         conditionally register fileindexer (fixes #343598)
14768
14769 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14770
14771         * gst/gsttagsetter.h:
14772         Can't cast ifaces to a class
14773
14774         * libs/gst/net/gstnetclientclock.h:
14775         * libs/gst/net/gstnettimeprovider.h:
14776         * plugins/elements/gstfakesink.h:
14777         * plugins/elements/gstfakesrc.h:
14778         * plugins/elements/gstfdsink.h:
14779         * plugins/elements/gstfdsrc.h:
14780         * plugins/elements/gstfilesink.h:
14781         * plugins/elements/gstfilesrc.h:
14782         * plugins/elements/gstidentity.h:
14783         * plugins/elements/gstqueue.h:
14784         * plugins/elements/gsttee.h:
14785         * plugins/indexers/gstfileindex.c:
14786         * plugins/indexers/gstmemindex.c:
14787         * tests/old/examples/plugins/example.h:
14788         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14789
14790 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14791
14792         * libs/gst/dataprotocol/dataprotocol.c:
14793         (gst_dp_header_from_buffer):
14794           make sure we zero the whole ABI-compatible area
14795
14796 2006-06-01  Wim Taymans  <wim@fluendo.com>
14797
14798         Patch by: Alessandro Decina <alessandro at nnva dot org>
14799
14800         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14801         Make sure the EOS flag is cleared from pads after a flush
14802         or stop. Fixes #343538.
14803
14804         * tests/check/libs/collectpads.c: (GST_START_TEST),
14805         (gst_collect_pads_suite):
14806         Added test for collectpads reusage after EOS.
14807
14808 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14809
14810         * gst/gst.c:
14811          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14812         * win32/common/libgstbase.def:
14813          export gst_collect_pads_set_flushing
14814         * win32/common/libgstreamer.def:
14815          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14816          gst_value_fraction_multiply
14817         * win32/vs6/gst_inspect.dsp:
14818          add a link to intl.lib
14819
14820 2006-05-30  Wim Taymans  <wim@fluendo.com>
14821
14822         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14823         (gst_collect_pads_chain):
14824         Handle the case where a pad is removed from the collection
14825         that could cause the other pads to become collectable.
14826
14827 2006-05-30  Wim Taymans  <wim@fluendo.com>
14828
14829         * gst/gstelement.c:
14830         Clarify the use of _release_request_pad() and
14831         _get_request_pad() a bit better.
14832
14833         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14834         (gst_adapter_take_buffer):
14835         Fix some doc and comment typos.
14836
14837 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14838
14839         * docs/gst/gstreamer-sections.txt:
14840         * docs/libs/gstreamer-libs-sections.txt:
14841           add declared symbols
14842
14843 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14844
14845         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14846         Add debug that can be enabled using a #define at the top of the file,
14847         for dumping stats about how late/early we were when waking up from
14848         waiting on the clock.
14849
14850 2006-05-30  Wim Taymans  <wim@fluendo.com>
14851
14852         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14853         When rebuilding the pad list, don't leak the previous list.
14854
14855 2006-05-30  Wim Taymans  <wim@fluendo.com>
14856
14857         Patch by: Lutz Mueller <lutz at topfrose dot de>
14858
14859         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14860         (gst_base_src_get_query_types), (gst_base_src_update_length):
14861         Publish supported query types.
14862         Update last_stop field in get_range mode so the position
14863         query works. Fixes #342321.
14864
14865 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14866
14867         * docs/gst/gstreamer-sections.txt:
14868         * gst/gsttaglist.c: (_gst_tag_initialize):
14869         * gst/gsttaglist.h:
14870           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14871
14872 2006-05-30  Wim Taymans  <wim@fluendo.com>
14873
14874         Patch by: Alessandro Decina <alessandro at nnva dot org>
14875
14876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14877         Unlock mutex when removing an unknown pad.
14878         Fixes #343334.
14879
14880         * tests/check/Makefile.am:
14881         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14882         (push_event), (setup), (teardown), (GST_START_TEST),
14883         (gst_collect_pads_suite), (main):
14884         Added collecpads check, disabled for now as check crashes for
14885         some reason.
14886
14887 2006-05-29  Wim Taymans  <wim@fluendo.com>
14888
14889         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14890         Don't leak pads lists.
14891
14892 2006-05-29  Wim Taymans  <wim@fluendo.com>
14893
14894         * docs/libs/gstreamer-libs-sections.txt:
14895         * libs/gst/base/gstcollectpads.c:
14896         (gst_collect_pads_set_flushing_unlocked),
14897         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14898         (gst_collect_pads_stop):
14899         * libs/gst/base/gstcollectpads.h:
14900         API: gst_collect_pads_set_flushing()
14901         Added api to set the pads to flushing, useful for seeking
14902         code in elements using collectpads.
14903         Clear segment when receiving a flush.
14904
14905 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14906
14907         * gst/gst.c: (add_path_func), (init_post):
14908           Don't scan registry paths passed via --gst-plugin-path immediately
14909           (will crash, because absolutely nothing is set up and no types are
14910           registered etc.); do this later in init_post(). Fixes #343057.
14911
14912 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14913
14914         * gst/gst.c: (init_post):
14915           if we have fork, fork while reading/rebuilding the registry
14916           so the parent doesn't take the hit of having all plugins loaded
14917           in memory.  Fixes #342777.
14918         * configure.ac:
14919           Check if we have fork()
14920         * win32/common/config.h.in:
14921           no fork() on win32
14922
14923 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14924
14925         * plugins/elements/gstelements.c:
14926         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14927         (gst_file_src_init), (gst_file_src_set_property),
14928         (gst_file_src_get_property), (gst_file_src_start):
14929         * plugins/elements/gstfilesrc.h:
14930           API: GstFileSrc::use-mmap
14931
14932         Add a use-mmap property to enable easier testing of all code paths.
14933         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14934         in the absence of gnomevfssrc. (Closes #340501)
14935
14936 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14937
14938         * tools/gst-inspect.c:
14939         Add missing include, removes warning of ngettext not being defined on
14940         some arches.
14941
14942 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14943
14944         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14945         Handle NULL input and output pointers silently as a failed conversion,
14946         rather than g_warnings.
14947
14948 2006-05-25  Wim Taymans  <wim@fluendo.com>
14949
14950         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14951         Initialize variable before using. Fixes #342820.
14952
14953 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14954
14955         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14956           Fix off-by-one bug that would only allow peeks of N-1 bytes
14957           from the start even if the buffer to typefind on contains
14958           in fact N bytes of data (makes vorbis typefinding from a
14959           vorbis identification header buffer work).
14960
14961         * tests/check/Makefile.am:
14962         * tests/check/libs/.cvsignore:
14963         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14964         (gst_typefindhelper_suite), (main), (foobar_typefind),
14965         (plugin_init):
14966           Add very basic unit test for gst_type_find_helper_for_buffer()
14967           that checks for the problem fixed above.
14968
14969 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14970
14971         * tools/gst-inspect.c: (print_interfaces),
14972         (print_element_properties_info), (print_element_list), (main):
14973           add more translatable strings
14974
14975 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14976
14977         Patch by: Julien Moutte  <julien at moutte net>
14978
14979         * docs/gst/gstreamer-sections.txt:
14980           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14981           
14982         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14983         (gst_fake_sink_preroll):
14984         * plugins/elements/gstfakesink.h:
14985           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14986
14987 2006-05-23  Wim Taymans  <wim@fluendo.com>
14988
14989         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14990         * gst/gstpad.h:
14991         Added _CUSTOM error and success GstFlowReturn that can be
14992         used be elements internally. 
14993         Added macro to check for SUCCESS flowreturns.
14994         API: GST_FLOW_CUSTOM_SUCCESS
14995         API: GST_FLOW_CUSTOM_ERROR
14996         API: GST_FLOW_IS_SUCCESS
14997
14998         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14999         Added check for GstFlowReturn sanity.
15000
15001 2006-05-23  Wim Taymans  <wim@fluendo.com>
15002
15003         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15004
15005         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
15006         (gst_collect_pads_event):
15007         clear/reset segment info in FLUSH_STOP.
15008         Fixes #336929.
15009
15010 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
15011
15012         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
15013         (gst_collect_pads_check_collected):
15014         Flush queued buffer on _stop(), fixes playing again (#342454)
15015
15016 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15017
15018         * tests/check/gst/gststructure.c: (GST_START_TEST),
15019         (gst_structure_suite):
15020           add a test for a complete structure
15021
15022 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15023
15024         * docs/faq/developing.xml:
15025         * docs/faq/faq.xml:
15026         * docs/faq/troubleshooting.xml:
15027         * docs/faq/using.xml:
15028           Some minor FAQ updates that won't change the fact that
15029           our FAQ is badly structured, full of information hardly
15030           anyone new to GStreamer needs to know and lacking lots
15031           of information people constantly ask for.
15032           
15033 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
15034
15035         * gst/gstpad.c: (gst_pad_set_caps):
15036           Short-circuit gst_pad_set_caps if setting the existing
15037           caps pointer again, and avoid printing debug and 
15038           reffing/unreffing the caps.
15039
15040         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15041           There's actually no need to set the caps before pushing -
15042           the acceptcaps method will handle it anyway.
15043
15044 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15045
15046         * docs/gst/gstreamer-sections.txt:
15047         * win32/common/libgstreamer.def:
15048         * gst/gstutils.c: (gst_element_seek_simple):
15049         * gst/gstutils.h:
15050           API: add gst_element_seek_simple() (#342238).
15051
15052 2006-05-18  Edward Hervey  <edward@fluendo.com>
15053
15054         * gst/gsttypefind.c: (gst_type_find_get_type):
15055         * gst/gsttypefind.h:
15056         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
15057         registered for GstTypeFind pointers. This allows wrapping the structure
15058         in bindings (i.e. gst-python).
15059
15060 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15061
15062         * gst/gsttagsetter.c:
15063           Docs additions and fixes (see #339918).
15064
15065 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15066
15067         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15068         The caps intersection algorithm can produce multiple copies of the
15069         caps. Until that is fixed, we need to simplify the result to be
15070         sure whether the allowed caps are fixed or not.
15071
15072         * plugins/elements/gstqueue.c: (gst_queue_init),
15073         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15074         (gst_queue_push_one):
15075         Proxied buffer alloc should not set the caps on the source pad.
15076         When pushing buffers, we always accept the caps change that triggers.
15077         This prevents negotiation errors caused by caps changing mid-stream 
15078         and then being refused on our source pad (because upstream is now
15079         refusing those caps).
15080
15081 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15082
15083         * tests/examples/helloworld/helloworld.c: (main):
15084           Must plug audioconvert and audioresample between decoder
15085           and audio sink.
15086
15087 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15088
15089         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15090         (load_feature), (load_plugin):
15091         Allow empty strings for some of the plugin fields so we don't 
15092         drop valid plugin entries that were written out correctly
15093         (Fixes #341479)
15094
15095 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15096         
15097         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15098           Use g_remove and g_rename instead of remove and rename that don't 
15099           handle utf8 characters. rename was failing for users who had specific
15100           characters in their name then the registry was built at each 
15101           gstreamer init.
15102         * win32/vs6/gst_inspect.dsp:
15103         * win32/vs6/gst_launch.dsp:
15104         * win32/vs6/libgstbase.dsp:
15105         * win32/vs6/libgstcoreelements.dsp:
15106         * win32/vs6/libgstreamer.dsp:
15107           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15108           build of libgstreamer and clean unused libraries in projects link 
15109           settings.
15110
15111 2006-05-17  Edward Hervey  <edward@fluendo.com>
15112
15113         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15114         The queue is not responsible for pushing an EOS when receiving a fatal
15115         flow error. It's up to the real element driving the pipeline to do that.
15116
15117 2006-05-16  Edward Hervey  <edward@fluendo.com>
15118
15119         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15120         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15121         buffer returned a fatal error. It should just send an EOS and stop
15122         its task.
15123         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15124         when pushing buffers on the queue and will be able to handle the event.
15125
15126 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15127
15128         * docs/manual/basics-bins.xml:
15129         * docs/manual/basics-init.xml:
15130           Fix typos and minor errors in sample code (#341856).
15131
15132 2006-05-16  Wim Taymans  <wim@fluendo.com>
15133
15134         * docs/design/part-qos.txt:
15135         Fix indexes in formulas to make more sense.
15136
15137 2006-05-15  Wim Taymans  <wim@fluendo.com>
15138
15139         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15140         Don't report POSITION based on clock time if sync is
15141         disabled in a sink.
15142
15143 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15144
15145         * gst/gstobject.h:
15146           Add cast to make compiler happy - refcount variable was a gint
15147           in GstObject but is a guint in GObject and g_atomic_int_get()
15148           wants a gint *.
15149
15150 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15151
15152         * gst/parse/Makefile.am:
15153           chain commands using &&, which also makes parallel make work
15154
15155 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15156
15157         * docs/gst/gstreamer-sections.txt:
15158         * gst/gstevent.c:
15159         * gst/gstevent.h:
15160         * gst/gstmessage.h:
15161           Minor docs fixes.
15162
15163 === release 0.10.6 ===
15164
15165 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15166
15167         * configure.ac:
15168           releasing 0.10.6, "Take the cannoli"
15169
15170 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15171
15172         * tools/gst-launch.c: (print_tag):
15173           Fix use of uninitialized variable in the hypothetical
15174           case that some broken plugin creates a GST_TAG_IMAGE
15175           tag containing a NULL buffer (#341667).
15176
15177 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15178
15179         * tools/gst-launch.c: (print_tag):
15180           Print something more intelligible for image tags when
15181           using the -t switch (#341556).
15182
15183 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15184
15185         * Makefile.am:
15186           updates for win32
15187         * configure.ac:
15188           define GST_MAJORMINOR so we have it available in win32/common/config.h
15189           Possibly remove it from our Makefile.am files later
15190         * win32/common/config.h:
15191         * win32/common/config.h.in:
15192           added GST_MAJORMINOR
15193         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15194         * win32/common/gstversion.h:
15195           updated
15196
15197 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15198
15199         * win32/MANIFEST:
15200           Update win32 files listing.
15201         * win32/common/gstversion.h:
15202           Add GST_MAJORMINOR definition.
15203         * win32/common/libgstreamer.def:
15204           Add new exported functions.
15205           
15206 2006-05-12  Michael Smith  <msmith@fluendo.com>
15207
15208         * gst/gstplugin.c: (gst_plugin_load_file):
15209           If an so file has no plugin entry point, unload the module.
15210
15211 2006-05-11  Wim Taymans  <wim@fluendo.com>
15212
15213         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15214         (gst_queue_set_property):
15215         Don't forget to signal the _chain or _loop function 
15216         when the queue size or thresholds change since that might
15217         cause them to make progres again.
15218
15219 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15220
15221         * gst/gstclock.c: (gst_clock_class_init):
15222         * gst/gstindex.c: (gst_index_class_init):
15223         * gst/gstobject.c: (gst_object_class_init):
15224         * gst/gstpad.c: (gst_pad_class_init):
15225         * gst/gstpipeline.c: (gst_pipeline_class_init):
15226         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15227         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15228         * libs/gst/base/gstbasetransform.c:
15229         (gst_base_transform_class_init):
15230         * libs/gst/net/gstnetclientclock.c:
15231         (gst_net_client_clock_class_init):
15232         * libs/gst/net/gstnettimeprovider.c:
15233         (gst_net_time_provider_class_init):
15234         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15235         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15236         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15237         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15238         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15239         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15240         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15241         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15242         * plugins/elements/gsttee.c: (gst_tee_class_init):
15243         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15244         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15245           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15246
15247 2006-05-11  Wim Taymans  <wim@fluendo.com>
15248
15249         * gst/gstbuffer.c: (_gst_buffer_initialize):
15250         Register subbufer along with the buffer type so that
15251         it does not accidentally gets registered from N
15252         different streaming threads in a non threadsafe way.
15253
15254 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15255
15256         * gst/gstbuffer.h:
15257         * gst/gstevent.h:
15258         * gst/gstmessage.h:
15259           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15260           gst_event_ref() and gst_message_ref() functions again
15261           (ugly hack, please do fix if there's a better way besides
15262           overrides.txt, which doesn't seem to work).
15263
15264 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15265
15266         * libs/gst/check/gstcheck.h:
15267           add an assert for setting state to avoid lots of repetitive code
15268           in the future
15269
15270 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15271
15272         * gst/gstvalue.c: (gst_value_serialize_flags):
15273           fix a leak if no flags are set
15274         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15275           fix leak in tests
15276
15277 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15278
15279         * docs/manual/basics-pads.xml:
15280           Expand a bit on caps and filtered links and update
15281           examples that were still using the no longer existing
15282           gst_pad_link_filtered() (#338206).
15283
15284 2006-05-10  Wim Taymans  <wim@fluendo.com>
15285
15286         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15287         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15288         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15289         (gst_collect_pads_stop):
15290         * libs/gst/base/gstcollectpads.h:
15291         No need to call _stop in _finalize.
15292         Iterate the main pad list in _finalize.
15293         Added some more debug.
15294         Free lists and data in the right order.
15295         Also free data whem doing _remove_pad when stopped for
15296         backward compatibility protect ::started with PAD_LOCK as
15297         well.
15298
15299 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15300
15301         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15302         (gst_structure_parse_value):
15303           add some comments
15304           rename a method so that it actually says what it does better
15305
15306 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15307
15308         * gst/gstevent.c: (_gst_event_initialize):
15309         * gst/gstformat.c: (_gst_format_initialize):
15310           make sure some essential types used by events are registered
15311           as part of gst_init()
15312         * gst/gstvalue.c: (gst_value_serialize_flags):
15313           if no flags are set, serialize them to a value that represents NONE
15314           so that deserializing them works
15315         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15316           add tests for serialization and deserialization of flags
15317
15318 2006-05-10  Wim Taymans  <wim@fluendo.com>
15319
15320         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15321         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15322         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15323         (gst_collect_pads_event), (gst_collect_pads_chain):
15324         Update docs.
15325         Better debug info.
15326         Catch and return errors from the collect function
15327         Refuse data on eos pads.
15328
15329 2006-05-10  Edward Hervey  <edward@fluendo.com>
15330
15331         * gst/gstinterface.h:
15332         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15333         GInterface type checking.
15334         They were previously using non-defined macros.
15335
15336 2006-05-09  Wim Taymans  <wim@fluendo.com>
15337
15338         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15339         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15340         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15341         (gst_collect_pads_start), (gst_collect_pads_stop),
15342         (gst_collect_pads_peek), (gst_collect_pads_pop),
15343         (gst_collect_pads_available), (gst_collect_pads_read),
15344         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15345         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15346         (gst_collect_pads_chain):
15347         * libs/gst/base/gstcollectpads.h:
15348         Clean up the mess that is collectpads, add comments and
15349         FIXMEs where needed.
15350         Maintain a separate pad list so we can add pads while
15351         collecting the other ones. For this we need a new separate 
15352         lock (see comics).
15353         Fix memory leak in finalize.
15354         Refactor some weird code to set/unset pad flushing flags, mark
15355         with comments.
15356         Don't crash in _available, _read, _flush when we're EOS.
15357
15358         * tests/check/libs/.cvsignore:
15359         Ignore adapter check binary.
15360
15361 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15362
15363         * gst/gstindex.c: (gst_index_resolver_get_type):
15364         * plugins/elements/gstfakesink.c:
15365         (gst_fake_sink_state_error_get_type):
15366         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15367         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15368         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15369           Const-ify GEnumValue arrays.
15370
15371 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15372
15373         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15374           Add test case for flags + gst_buffer_make_metadata_writable().
15375
15376 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15377
15378         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15379           gst_buffer_make_metadata_writable() should maintain the
15380           buffer flags (those that make sense at least) (see #340859).
15381
15382 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15383
15384         * tools/gst-inspect.c:
15385         * tools/gst-launch.c:
15386         * tools/gst-typefind.c:
15387         * tools/gst-xmlinspect.c:
15388         * tools/tools.h:
15389           Fix up includes: need to include stdlib.h in tools.h for exit().
15390
15391 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15392
15393         * gst/gsttaglist.c: (_gst_tag_initialize):
15394         * gst/gsttaglist.h:
15395           API: add GST_TAG_IMAGE tag (#340721).
15396
15397 2006-05-08  Wim Taymans  <wim@fluendo.com>
15398
15399         * gst/gstquery.c:
15400         Added some docs for the segment query.
15401
15402 2006-05-08  Wim Taymans  <wim@fluendo.com>
15403
15404         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15405         (gst_base_src_loop), (gst_base_src_change_state):
15406         Always push non-flushing serialized events in the streaming 
15407         thread.
15408
15409 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15410
15411         * gst/gsterror.c: (_gst_stream_errors_init):
15412           Add a missing error string.
15413
15414 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15415
15416         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15417         Add applied_rate to the debug
15418
15419         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15420         Copy applied_rate into the outgoing NEWSEGMENT event
15421
15422 2006-05-08  Wim Taymans  <wim@fluendo.com>
15423
15424         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15425
15426         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15427         (gst_base_sink_change_state):
15428         call ::unlock before taking the PREROLL_LOCK so we can safely
15429         handle elements that lock in ::render.
15430         Fixes #340174.
15431
15432 2006-05-08  Edward Hervey  <edward@fluendo.com>
15433
15434         * autogen.sh: (CONFIGURE_DEF_OPT): 
15435         Darwin's libtoolize is in fact called glibtoolize.
15436         Adding glibtoolize to the list of accepted names for libtoolize.
15437
15438 2006-05-08  Wim Taymans  <wim@fluendo.com>
15439
15440         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15441         Unify error handling, don't post an error message
15442         when a push() returns EOS but perform our normal EOS
15443         handling code. Fixes #340772.
15444
15445 2006-05-08  Wim Taymans  <wim@fluendo.com>
15446
15447         * docs/design/part-overview.txt:
15448         Make upsteam/downstream concepts more clear.
15449         Give an example of serialized/non-serialized events.
15450
15451         * docs/design/part-events.txt:
15452         * docs/design/part-streams.txt:
15453         Mention applied_rate.
15454
15455         * docs/design/part-trickmodes.txt:
15456         Mention applied rate, flesh out some more use cases.
15457
15458         * gst/gstevent.c: (gst_event_new_new_segment),
15459         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15460         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15461         (gst_event_parse_tag), (gst_event_new_buffer_size),
15462         (gst_event_parse_buffer_size), (gst_event_new_qos),
15463         (gst_event_parse_qos), (gst_event_parse_seek),
15464         (gst_event_new_navigation):
15465         * gst/gstevent.h:
15466         Add applied_rate field to NEWSEGMENT event.
15467         API: gst_event_new_new_segment_full()
15468         API: gst_event_parse_new_segment_full()
15469
15470         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15471         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15472         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15473         * gst/gstsegment.h:
15474         Add applied_rate to GstSegment structure.
15475         Make calculation of stream_time and running_time more correct
15476         wrt rate/applied_rate.
15477         Add some more docs.
15478         API: GstSegment::applied_rate field
15479         API: gst_segment_set_newsegment_full();
15480
15481         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15482         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15483         * libs/gst/base/gstbasetransform.c:
15484         (gst_base_transform_sink_eventfunc),
15485         (gst_base_transform_handle_buffer):
15486         Parse and use applied_rate in the GstSegment field.
15487
15488         * tests/check/gst/gstevent.c: (GST_START_TEST):
15489         Add check for applied_rate field.
15490
15491         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15492         (gstsegments_suite):
15493         Add more checks for various GstSegment operations.
15494
15495 2006-05-08  Wim Taymans  <wim@fluendo.com>
15496
15497         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15498         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15499         (gst_base_sink_get_position), (gst_base_sink_change_state):
15500         Store the sync time of the buffer end position separatly in a
15501         new variable eos_rtime so we can properly sync the EOS event.
15502         Fixes #340697.
15503         Fix the docs for gst_base_sink_set_qos_enabled().
15504         Don't set segment start to invalid value when we receive a 
15505         non TIME newsegment.
15506         get closer to handling position reporting for negative rates 
15507         correctly.
15508
15509 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15510
15511         * gst/gstcaps.c:
15512         Docs about how to print caps for debug purposes.
15513
15514         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15515         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15516
15517 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15518
15519         * gst/gstelement.c:
15520           use full enum names and preprend a '%' in docs strings to make recent 
15521           gtk-doc turn that into a link
15522
15523 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15524
15525         * docs/manual/basics-bins.xml:
15526         * docs/manual/basics-bus.xml:
15527         * docs/manual/basics-pads.xml:
15528           Some typo fixes, some additions, some clarifications. 
15529
15530 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15531
15532         * tools/gst-inspect.c: (main):
15533         * tools/gst-launch.c: (main):
15534         * tools/gst-run.c: (main):
15535         * tools/gst-typefind.c: (main):
15536         * tools/gst-xmlinspect.c: (main):
15537           Use the string passed to g_option_context_new() for
15538           what it's intended for - the program name is already
15539           printed elsewhere.
15540
15541 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15542
15543         * tools/Makefile.am:
15544         * tools/gst-inspect.c: (main):
15545         * tools/gst-launch.c: (main):
15546         * tools/gst-xmlinspect.c: (main):
15547         * tools/tools.h:
15548           Add back --version command line option (#340460).
15549
15550         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15551           Add --version option and use GOption for argument parsing; refactor a
15552           bit; accept directories as arguments and recurse into them; lastly,
15553           print a decent error message when things go wrong.
15554
15555 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15556
15557         * docs/manual/basics-bins.xml:
15558         Don't mention GstThread (#340611)
15559         * docs/manual/basics-elements.xml:
15560         Update link to GObject tutorial (#340607)
15561         
15562 2006-05-05  Wim Taymans  <wim@fluendo.com>
15563
15564         * gst/gstbuffer.h:
15565         * gst/gstminiobject.c:
15566         Add note about refcounting and miniobject/buffer writeability
15567         to docs. Fixes #340604
15568
15569         * gst/gstelementfactory.h:
15570         Added some explanation about @klass.
15571
15572 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15573
15574         * docs/manual/intro-motivation.xml:
15575         * docs/manual/manual.xml:
15576         Avoid CORBA & Bonobo references (#340598)
15577
15578 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15579
15580         * docs/manual/basics-bus.xml:
15581         * docs/manual/basics-pads.xml:
15582         Fix up some inaccuracies and omissions (#340609)
15583         
15584 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15585
15586         * gst/gstghostpad.c:
15587           Small typo in docs (#340625)
15588
15589 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15590
15591         * gst/parse/Makefile.am:
15592           Make 'make -j' proof (see #340698).
15593
15594 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15595
15596         * configure.ac:
15597           Require GLib-2.8 here as well.
15598
15599 2006-05-05  Wim Taymans  <wim@fluendo.com>
15600
15601         * gst/glib-compat.c:
15602         * gst/gst.c: (init_pre):
15603         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15604         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15605         (gst_object_dispatch_properties_changed):
15606         * gst/gstobject.h:
15607         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15608         * gst/gststructure.c: (gst_structure_set_valist):
15609         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15610         Remove pre glib2.8 compatibility, fixes #340508
15611
15612 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15613
15614         * gst/gsttaglist.h:
15615           Mention type of tags in doc blurbs.
15616
15617 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15618
15619         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15620         (gst_pad_configure_src), (gst_pad_push):
15621         Restore acceptcaps checking behaviour now that good plugins have
15622         been released.
15623
15624 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15625
15626         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15627
15628         * gst/gst.c:
15629         * gst/gstbus.c:
15630         * gst/gstclock.c:
15631         * gst/gstevent.c:
15632         * gst/gstformat.c:
15633         * gst/gstmessage.c:
15634         * gst/gstparse.c:
15635         * gst/gstquery.c:
15636         * gst/gstutils.c:
15637         * gst/parse/Makefile.am:
15638         * libs/gst/base/gstadapter.c:
15639         * libs/gst/base/gstbasesrc.c:
15640         * libs/gst/base/gstpushsrc.c:
15641         * libs/gst/base/gsttypefindhelper.c:
15642         * plugins/elements/gstfakesrc.c:
15643         * plugins/elements/gstidentity.c:
15644           Make sure gstprivate.h and/or config.h are
15645           always included first, otherwise some of our
15646           defines (like _FILE_OFFSET_BITS) might be
15647           redefined in the system headers. Fixes build
15648           on opensolaris (#340016).
15649
15650 2006-05-04  Wim Taymans  <wim@fluendo.com>
15651
15652         * docs/libs/gstreamer-libs-sections.txt:
15653         API: addition: gst_adapter_take_buffer()
15654         
15655         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15656         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15657         (gst_adapter_available_fast):
15658         * libs/gst/base/gstadapter.h:
15659         Prepare for optimizing the hell out of this hugely inefficient
15660         piece of code. 
15661         Added gst_adapter_take_buffer() so we can at least start thinking
15662         about subbuffering and merging.
15663         Added some comments.
15664
15665         * tests/check/Makefile.am:
15666         * tests/check/libs/adapter.c: (GST_START_TEST),
15667         (gst_adapter_suite), (main):
15668         Added GstAdapter check.
15669
15670 2006-05-04  Wim Taymans  <wim@fluendo.com>
15671
15672         * docs/design/part-overview.txt:
15673         Fix some typos, add blurb about buffer flags.
15674
15675 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15676
15677         * docs/libs/gstreamer-libs-sections.txt:
15678           make sure GstBaseTransformClass shows up in the docs
15679         * libs/gst/base/gstbasetransform.c:
15680         * libs/gst/base/gstbasetransform.h:
15681           move docs so gtk-doc picks it up now
15682
15683 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15684
15685         * docs/libs/gstreamer-libs-sections.txt:
15686           add missing symbols to docs
15687
15688 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15689
15690         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15691           back out the newsegment handling change, see #340060 for ongoing
15692           discussion
15693
15694 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15695
15696         * tools/gst-run.c: (get_candidates), (main):
15697           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15698           work); fix typo in error message. Fixes #340079.
15699
15700 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15701
15702         * common/Makefile.am:
15703         * docs/Makefile.am:
15704         * docs/faq/Makefile.am:
15705         * docs/gst/Makefile.am:
15706         * docs/libs/Makefile.am:
15707         * docs/manual/Makefile.am:
15708         * docs/plugins/Makefile.am:
15709         * docs/pwg/Makefile.am:
15710         * docs/slides/Makefile.am:
15711         * docs/upload.mak:
15712         * common/upload.mak:
15713           move upload.mak to common
15714
15715 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15716
15717         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15718           add more asserts on refcounts
15719           do more cleanup at end of tests
15720           fix test leaks showing in FC5
15721
15722 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15723
15724         * plugins/elements/gsttypefindelement.c:
15725         (gst_type_find_element_handle_event):
15726         reverted wrong change and reflowed code to avoid others falling into
15727         this trap
15728
15729 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15730
15731         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15732           fix changelog entry about last collectpads change,
15733           add notes about proper fix
15734
15735 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15736
15737         * gst/gst.c:
15738         * gst/gstregistry.c: (gst_registry_scan_path_level),
15739         (gst_registry_scan_path):
15740         * gst/gstregistry.h:
15741           only write out registry if it has changed, fixes #338339
15742
15743 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15744
15745         * gst/gstbin.c:
15746         * gst/gstpipeline.c:
15747         * plugins/elements/gstcapsfilter.c:
15748         * plugins/elements/gstfakesink.c:
15749         * plugins/elements/gstfakesrc.c:
15750         * plugins/elements/gstfdsink.c:
15751         * plugins/elements/gstfdsrc.c:
15752         * plugins/elements/gstfilesink.c:
15753         * plugins/elements/gstfilesrc.c:
15754         * plugins/elements/gstidentity.c:
15755         * plugins/elements/gstqueue.c:
15756         * plugins/elements/gsttee.c:
15757         * plugins/elements/gsttypefindelement.c:
15758         (gst_type_find_element_handle_event):
15759           make GstElementDetails const
15760
15761 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15762
15763         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15764         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15765         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15766           more detailed debug and formatting cleanup,
15767           forward newsegments to src-pad (so that e.g. adder not eats them)
15768
15769 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15770
15771         * gst/gstutils.c: (gst_element_link_pads):
15772           cleanup double code
15773
15774 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15775
15776         * libs/gst/controller/gstcontroller.c:
15777         (gst_controller_sync_values):
15778           some little tuning
15779         * tests/check/libs/controller.c: (GST_START_TEST),
15780         (gst_controller_suite):
15781           a new test for live value handling
15782
15783 2006-04-28  Wim Taymans  <wim@fluendo.com>
15784
15785         * gst/gstutils.c: (push_and_ref):
15786         Added some more docs.
15787         Fix refcount issue whith gst_element_found_tags() helper 
15788         function. Fixes #338335
15789
15790         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15791         Added testsuite for gst_element_found_tags().
15792
15793 2006-04-28  Michael Smith  <msmith@fluendo.com>
15794
15795         * gst/gstvalue.c: (gst_value_serialize_flags):
15796           Avoid NULL dereference when trying to serialize flags containing
15797           invalid values.
15798
15799 2006-04-28  Michael Smith  <msmith@fluendo.com>
15800
15801         * plugins/elements/gsttypefindelement.c:
15802         (gst_type_find_element_handle_event):
15803           If we get EOS before any data is accumulated, don't use
15804           uninitialised local variables.
15805
15806 2006-04-28  Michael Smith  <msmith@fluendo.com>
15807
15808         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15809         (gst_dp_event_from_packet):
15810           Fixes in reading/writing events over GDP (not currently used?) - 
15811           dereferencing NULL events for unknown/invalid event types, memory
15812           leak, and change g_warning to GST_WARNING.
15813
15814 2006-04-28  Wim Taymans  <wim@fluendo.com>
15815
15816         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15817         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15818         (gst_base_sink_get_position), (gst_base_sink_change_state):
15819         When frame dropping is enabled, we should not ignore frames
15820         without a duration.
15821         Update some documentation.
15822
15823 2006-04-28  Wim Taymans  <wim@fluendo.com>
15824
15825         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15826         (gst_base_src_send_event), (gst_base_src_change_state):
15827         Documentation updates.
15828
15829 2006-04-28  Wim Taymans  <wim@fluendo.com>
15830
15831         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15832         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15833         handle EAGAIN, EINTR and short writes correctly. Also clean
15834         up some error cases, avoid a deadlock on bad file descriptors and
15835         use GST_DEBUG_OBJECT.
15836         Fixes #339843
15837
15838 2006-04-28  Wim Taymans  <wim@fluendo.com>
15839
15840         * gst/gstvalue.c: (gst_value_serialize_buffer),
15841         (gst_value_deserialize_buffer):
15842         Don't try to serialize a GValue with a NULL buffer. 
15843         Fixes #339821.
15844
15845         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15846         Added check for serialisation of NULL buffers.
15847
15848 2006-04-28  Wim Taymans  <wim@fluendo.com>
15849
15850         * gst/gstminiobject.c: (gst_value_take_mini_object):
15851         Taking a NULL miniobject is valid, fix the case where
15852         we try to unref the NULL miniobject.
15853
15854 2006-04-28  Wim Taymans  <wim@fluendo.com>
15855
15856         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15857
15858         * gst/gstbin.c: (gst_bin_handle_message_func):
15859         Update docs.
15860         Don't leak bin refcount when a state recalc is
15861         in progress and we delay another one #339808.
15862
15863 2006-04-28  Wim Taymans  <wim@fluendo.com>
15864
15865         * docs/design/part-TODO.txt:
15866         Mention QoS as an ongoing work item.
15867
15868         * docs/design/part-buffering.txt:
15869         New doc about buffering that needs to be fleshed out
15870         at some point.
15871
15872         * docs/design/part-qos.txt:
15873         More QoS policy for decoders/demuxers/transforms
15874
15875         * docs/design/part-trickmodes.txt:
15876         Small update.
15877
15878 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15879
15880         * configure.ac:
15881           back to HEAD
15882
15883 === release 0.10.5 ===
15884
15885 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15886
15887         * configure.ac:
15888           releasing 0.10.5, "Fogo"
15889
15890 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15891
15892         patch by: Wim Taymans
15893
15894         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15895         (gst_pad_configure_src), (gst_pad_push):
15896         * gst/gstpipeline.c: (gst_pipeline_init):
15897           Fix internal data flow errors.  Fixes #338711.
15898
15899 2006-04-12  Wim Taymans  <wim@fluendo.com>
15900
15901         * tests/check/gst/gstelement.c: (GST_START_TEST):
15902         Don't leak the factory.
15903
15904 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15905
15906         * configure.ac:
15907         * win32/common/config.h:
15908           prerelease
15909
15910 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15911
15912         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15913         (gst_controller_unset_all):
15914           Free allocated GstTimedValues when freeing list nodes.
15915           Should fix leaks 'make check-valgrind' complains about.
15916
15917         * win32/common/libgstcontroller.def:
15918           Add gst_controller_unset_all.
15919
15920 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15921
15922         * docs/libs/gstreamer-libs-sections.txt:
15923         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15924         (gst_controller_unset_all):
15925         * libs/gst/controller/gstcontroller.h:
15926         API: Added new method gst_controller_unset_all()
15927         fixed gst_controller_unset()
15928         * tests/check/libs/controller.c: (GST_START_TEST),
15929         (gst_controller_suite):
15930         Added two testcases for new and fixed method
15931
15932 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15933
15934         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15935           MSG_DONTWAIT is not defined on Cygwin, so work
15936           around that (fixes #317048).
15937           
15938 2006-04-11  Wim Taymans  <wim@fluendo.com>
15939
15940         * gst/gstelementfactory.c: (gst_element_register),
15941         (gst_element_factory_create), (gst_element_factory_make):
15942         Some cleanups.
15943         Fixed a FIXME.
15944         Updated docs (Fixes #131079)
15945
15946         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15947         Small cleanups.
15948
15949         * tests/check/gst/gstelement.c: (GST_START_TEST),
15950         (gst_element_suite):
15951         Added testcase for elementfactory class field.
15952
15953 2006-04-10  Wim Taymans  <wim@fluendo.com>
15954
15955         * gst/gstsegment.c:
15956         Added some more docs.
15957
15958         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15959         (gst_base_sink_reset_qos):
15960         Calculate more accurate rate values.
15961
15962 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15963
15964         * gst/gst_private.h:
15965           add a new #ifdef to use __declspec(dllimport) only for
15966           other modules and not for gstreamer core
15967         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15968           use gst_guint64_to_gdouble for conversion
15969         * win32/common/libgstreamer.def:
15970           add new exported functions
15971         * win32/vs6/gst_inspect.dsp:
15972         * win32/vs6/gst_launch.dsp:
15973         * win32/vs6/libgstbase.dsp:
15974         * win32/vs6/libgstcontroller.dsp:
15975         * win32/vs6/libgstcoreelements.dsp:
15976         * win32/vs6/libgstdataprotocol.dsp:
15977         * win32/vs6/libgstnet.dsp:
15978           update project files
15979
15980 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15981
15982         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15983         * gst/gstclock.c: (gst_clock_class_init):
15984         * gst/gstelement.c: (gst_element_class_init):
15985         * gst/gstindex.c: (gst_index_class_init):
15986         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15987         * gst/gstobject.c: (gst_object_class_init),
15988         (gst_signal_object_class_init):
15989         * gst/gstpad.c: (gst_pad_class_init):
15990         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15991         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15992         * gst/gstregistry.c: (gst_registry_class_init):
15993         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15994         * gst/gsttask.c: (gst_task_class_init):
15995         * gst/gstxml.c: (gst_xml_class_init):
15996         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15997         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15998         (gst_base_src_loop):
15999         * libs/gst/controller/gstcontroller.c:/
16000         (_gst_controller_class_init):
16001         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
16002         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
16003         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
16004         * tests/old/examples/plugins/example.c: (gst_example_class_init):
16005         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
16006         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
16007
16008 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
16009
16010         * gst/gstpad.c: (gst_pad_link):
16011           Must set peer pads before calling the link function, otherwise
16012           a task started from a link function might get a flow-not-linked
16013           result when trying to push because the other thread where the
16014           linking happens hasn't had a chance to set the peers yet. This
16015           might happen for example when a queue gets linked to a downstream
16016           element, as queue starts a streaming task when its source pad
16017           gets linked. Happens in real life when playing back flac/musepack
16018           files in playbin (#332390).
16019           
16020 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16021
16022         * gst/gstindex.h:
16023         * gst/gstxml.h:
16024         * libs/gst/base/gstadapter.h:
16025         * libs/gst/base/gstbasesink.h:
16026         * libs/gst/base/gstbasesrc.h:
16027         * libs/gst/base/gstbasetransform.h:
16028         * libs/gst/base/gstcollectpads.h:
16029         * libs/gst/base/gstpushsrc.h:
16030         Fix broken GObject macros
16031
16032 2006-04-07  Wim Taymans  <wim@fluendo.com>
16033
16034         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16035         Initialize start and stop times, thanks valgrind.
16036
16037 2006-04-07  Wim Taymans  <wim@fluendo.com>
16038
16039         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16040         Be a bit nicer to badly behaving upstream elements that expect
16041         us to deal with non TIME segments and timestamps (such as fakesrc
16042         in the testsuite).
16043
16044 2006-04-07  Wim Taymans  <wim@fluendo.com>
16045
16046         * gst/gstbus.c:
16047         Small documentation clarification about the signal watch.
16048
16049         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
16050         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16051         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16052         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16053         (gst_base_sink_get_position_last),
16054         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
16055         Convert and store timestamps in stream time and running time, the
16056         raw timestamps are not useful, also document this better.
16057         Use different window sizes for good and bad QoS observations so
16058         we react to badness a little quicker.
16059         Keep track of the amount of rendered and dropped buffers.
16060         Send QoS timestamps in running time.
16061
16062         * libs/gst/base/gstbasetransform.c:
16063         (gst_base_transform_sink_eventfunc),
16064         (gst_base_transform_handle_buffer):
16065         Compare QoS timestamps against running time.
16066
16067 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16068
16069         * gst/gstpad.c:
16070           Typo fixes in docs.
16071
16072 2006-04-06  Michael Smith  <msmith@fluendo.com>
16073
16074         * gst/gstpad.c: (gst_pad_set_property):
16075           Use g_value_get_object() instead of g_value_dup_gst_object(),
16076           to avoid double-reffing the pad template (which we then sink,
16077           so this worked previously if (and only if) the pad template
16078           was floating.
16079
16080         * gst/gstpadtemplate.c: (gst_pad_template_init),
16081         (gst_pad_template_pad_created):
16082           Never return floating references to pad templates, create
16083           them as initially-sunken.
16084
16085           Document an extra function (and make this stop sinking our
16086           pad template, since that is now guaranteed to do nothing,
16087           since we created it sunken).
16088
16089         * gst/gstghostpad.c:
16090           Fix docs typo.
16091
16092 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16093
16094         * gst/gstinfo.c: (__gst_in_valgrind):
16095           Add some newlines.
16096
16097         * plugins/elements/gsttypefindelement.c:
16098         (gst_type_find_element_chain):
16099           Don't leak buffer caps.
16100
16101 2006-04-06  Michael Smith  <msmith@fluendo.com>
16102
16103         * gst/parse/grammar.y:
16104           Fix a leak in parse-launch for any source-or-sink named element 
16105           references used.
16106
16107         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16108           Unref the pipeline if it exists after we've failed parsing.
16109
16110 2006-04-05  Michael Smith  <msmith@fluendo.com>
16111
16112         * gst/gstpipeline.c: (gst_pipeline_init):
16113           When we create a pipeline bus, initially create it in flushing mode.
16114           Fixes leaks in at least one test, and makes a new pipeline work the
16115           same as one that has gone to READY and then back to NULL.
16116
16117         * gst/gstelement.c:
16118           Typo fix in docs.
16119
16120 2006-04-05  Michael Smith  <msmith@fluendo.com>
16121
16122         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16123           Unref a pad we reffed.
16124         * tests/check/gst/gstutils.c: (GST_START_TEST):
16125           Unref bins
16126
16127 2006-04-05  Michael Smith  <msmith@fluendo.com>
16128
16129         * gst/gstquery.c: (gst_query_set_formats),
16130         (gst_query_set_formatsv):
16131           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16132
16133 2006-04-05  Michael Smith  <msmith@fluendo.com>
16134
16135         * tests/check/generic/sinks.c: (GST_START_TEST):
16136           Fix a variety of memleaks in sinks check, which are only sometimes 
16137           shown by running the tests under valgrind (weird?).
16138
16139 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16140
16141         * docs/version.entities.in:
16142           Fix the substituted entity name after thomas' changes on the
16143           weekend.
16144
16145 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16146
16147         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16148         VALGRIND_PRINTF
16149         
16150 2006-04-05  Andy Wingo  <wingo@pobox.com>
16151
16152         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16153
16154         * libs/gst/base/gstbasetransform.c
16155         (gst_base_transform_sink_eventfunc): When resetting our segment on
16156         FLUSH_STOP, also update the flag saying we haven't seen a
16157         newsegment.
16158
16159 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16160
16161         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16162
16163         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16164         (gst_plugin_check_license):
16165           minor clean-ups: G_DEFINE_TYPE already takes care of the
16166           parent_class stuff, no need to do it twice. Mark array of
16167           license strings as constant. (#337103)
16168           
16169 2006-04-04  Michael Smith  <msmith@fluendo.com>
16170
16171         * tools/gst-inspect.c: (print_element_list):
16172           Free the right plugin list; fixes a memory leak.
16173
16174 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16175
16176         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16177
16178         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16179           Don't error out on empty buffers (#336945).
16180           
16181 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16182
16183         * docs/libs/gstreamer-libs-sections.txt:
16184         * gst/gsttaglist.c:
16185         * libs/gst/base/gstbasesink.c:
16186         * libs/gst/base/gstbasesink.h:
16187         * libs/gst/base/gstbasesrc.c:
16188         * libs/gst/base/gstbasesrc.h:
16189           Documentation updates. Make BaseSink and BaseSrc docs contain the
16190           class structure so that people can actually see the prototypes for
16191           virtual functions they're supposed to be overriding.
16192
16193 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16194
16195         * plugins/elements/gsttypefindelement.c:
16196         (gst_type_find_element_chain):
16197           More debug info; when skipping typefinding, send cached
16198           events in all cases.
16199
16200 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16201
16202         * configure.ac:
16203           use new AS_VERSION and AS_NANO macros
16204         * gst/gst-i18n-lib.h:
16205         * gst/gst.c:
16206         * gst/gsterror.c:
16207         * gst/gstversion.h.in:
16208         * win32/common/config.h:
16209         * win32/common/config.h.in:
16210           update accordingly
16211
16212 2006-03-31  Michael Smith  <msmith@fluendo.com>
16213
16214         * plugins/elements/gsttypefindelement.c:
16215         (gst_type_find_element_chain):
16216           Do not typefind content if the buffers already have caps.
16217           Neccesary for icydemux (#333657), and the right thing to do anyway.
16218
16219 2006-03-30  Wim Taymans  <wim@fluendo.com>
16220
16221         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16222         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16223         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16224         (gst_base_sink_record_qos_observation),
16225         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16226         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16227         (gst_base_sink_change_state):
16228         More QoS measurements as described in the design doc.
16229         Get rid of ringbuffer with observations, running average is
16230         more simple and equally good.
16231         Calculates valid proportion now.
16232         Added beginning of flood measurement.
16233
16234 2006-03-29  Wim Taymans  <wim@fluendo.com>
16235
16236         * docs/design/part-qos.txt:
16237         * gst/gstclock.c:
16238         Small documentation updates and additions.
16239
16240 2006-03-29  Wim Taymans  <wim@fluendo.com>
16241
16242         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16243         (gst_base_src_send_event), (gst_base_src_loop),
16244         (gst_base_src_change_state):
16245         Perform the EOS logic when we reach the segment stop position.
16246         Fix compilation on gcc4.1
16247
16248 2006-03-29  Wim Taymans  <wim@fluendo.com>
16249
16250         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16251
16252         * plugins/elements/gstqueue.c: (gst_queue_init),
16253         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16254         (gst_queue_set_property):
16255         * plugins/elements/gstqueue.h:
16256         In queue, when EOS is received, if minimum threshold > max_size -
16257         current_level, there is chance that queue blocks forever in conditional
16258         item del wait. This is because the queue is not emptied completely due
16259         to minimum threshold.  Here is another approach. Instead of setting
16260         cur_levels to max in EOS, just zero all minimum threshold levels. This
16261         should make sure that queue gives out all data. When going to READY
16262         (stop) state, just reset the original minimum threshold levels.
16263         Fixes #336336.
16264
16265 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16266
16267         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16268         (gst_type_find_element_handle_event),
16269         (gst_type_find_element_send_cached_events),
16270         (gst_type_find_element_change_state):
16271         * plugins/elements/gsttypefindelement.h:
16272           When typefinding is done in push mode, we should cache
16273           events we receive during typefinding instead of just
16274           dropping them (e.g. newsegment, custom events from
16275           dvdreadsrc etc.) and then send them out once we've
16276           determined the type of the stream (and decodebin
16277           has had a chance to plug in a decoder/demuxer).
16278           
16279 2006-03-27  Wim Taymans  <wim@fluendo.com>
16280
16281         * docs/design/part-qos.txt:
16282         First QoS ideas.
16283
16284 2006-03-27  Wim Taymans  <wim@fluendo.com>
16285
16286         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16287
16288         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16289         (gst_base_src_send_event), (gst_base_src_change_state):
16290         Handle element seek correctly when we are streaming.
16291         Fixes #326998.
16292
16293 2006-03-24  Michael Smith  <msmith@fluendo.com>
16294
16295         * docs/faq/gst-uninstalled:
16296           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16297           allow you to correctly run intalled applications built against old 
16298           core, using plugins that require updated core (e.g. running
16299           installed totem against a full uninstalled gstreamer stack)
16300
16301 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16302
16303         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16304         more debug details
16305
16306 2006-03-24  Wim Taymans  <wim@fluendo.com>
16307
16308         * docs/gst/gstreamer-sections.txt:
16309         Rearrange the order of the methods so that related methods
16310         are grouped together in sections.
16311
16312 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16313
16314         * gst/gstelement.c:
16315           Little clarification in the docs
16316
16317 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16318
16319         * docs/README:
16320         formatting fix
16321         * plugins/elements/gstidentity.c:
16322         * plugins/elements/gstqueue.c:
16323         * plugins/elements/gsttee.c:
16324         * plugins/elements/gsttypefindelement.c:
16325         GST_ELEMENT_DETAILS formatting
16326
16327 2006-03-24  Wim Taymans  <wim@fluendo.com>
16328
16329         * libs/gst/base/gstbasesink.h:
16330         Only add fields, not insert or we break ABI.
16331
16332 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16333
16334         * win32/common/libgstbase.def:
16335         * win32/common/libgstreamer.def:
16336           Update, add recently added functions.
16337
16338 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16339
16340         * docs/gst/gstreamer-sections.txt:
16341         * gst/gstutils.c: (gst_pad_query_peer_position),
16342         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16343         * gst/gstutils.h:
16344           API: add some new utility functions:
16345            - gst_pad_query_peer_position()
16346            - gst_pad_query_peer_duration()
16347            - gst_pad_query_peer_convert()
16348           
16349 2006-03-23  Wim Taymans  <wim@fluendo.com>
16350
16351         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16352         (gst_base_sink_init), (gst_base_sink_finalize),
16353         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16354         (gst_base_sink_set_property), (gst_base_sink_get_property),
16355         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16356         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16357         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16358         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16359         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16360         (gst_base_sink_preroll_object), (gst_base_sink_event),
16361         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16362         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16363         (gst_base_sink_query), (gst_base_sink_change_state):
16364         Decouple max-lateness and the fact that QoS messages are generated
16365         with a new property (qos).
16366         added API: GstBaseSink::async_play()
16367         Add vmethod so subclasses can be notified of ASYNC playing
16368         state changes.
16369         Collect timestamp start and stop to report better current
16370         position in EOS/PLAYING/PAUSED/READY/NULL.
16371         Refactor QoS/frame dropping and other measurements.
16372         API: GstBaseSrc::qos
16373         Fixes #326311
16374
16375         * libs/gst/base/gstbasesink.h:
16376         Added Private struct.
16377         API: gst_base_sink_set_qos_enabled()
16378         API: gst_base_sink_is_qos_enabled()
16379
16380 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16381
16382         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16383           If compiling against GLib-2.8 or newer, try to read the
16384           registry file using GMappedFile first before falling back
16385           to fopen() + fread() (#332151).
16386
16387 2006-03-22  Wim Taymans  <wim@fluendo.com>
16388
16389         * gst/gstinfo.c: (gst_debug_set_active),
16390         (gst_debug_category_set_threshold):
16391         Disable debugging unless explicitly activated.
16392         Fixes #335480.
16393
16394 2006-03-22  Wim Taymans  <wim@fluendo.com>
16395
16396         * gst/gstelement.c: (gst_element_set_locked_state),
16397         (gst_element_dispose):
16398         Cleanup the error case.
16399
16400         * gst/gstobject.c: (gst_object_dispose):
16401         print a critical when some object was disposed with
16402         a parent, also revive the object since it might
16403         crash the parent.
16404
16405 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16406
16407         * tools/gst-launch.1.in:
16408           Fix another typo.
16409
16410 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16411
16412         * configure.ac:
16413         * tests/check/Makefile.am:
16414           disable some tests when we don't have a registry
16415         * tests/check/gst/gstutils.c: (gst_utils_suite):
16416           don't build the part that needs parsing
16417
16418 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16419
16420         * gst/Makefile.am
16421         * tests/examples/Makefile.am:
16422           fix --disable-parse build
16423
16424 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16425
16426         * tools/gst-feedback.1.in:
16427           Fix typo: s/feeback/feedback/ (#133494).
16428
16429 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16430
16431         * tools/Makefile.am:
16432         * tools/gst-launch.1.in:
16433           Add FILES section and correct entry about GST_REGISTRY_PATH
16434           environment variable (#133495; #133494).
16435
16436 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16437
16438         * tools/Makefile.am:
16439         * tools/gst-md5sum.1.in:
16440         * tools/gst-md5sum.c:
16441           Remove gst-md5sum and man page (the md5sink element
16442           required was removed ages ago)
16443
16444 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16445
16446         * gst/gststructure.c: (gst_structure_id_set_value):
16447           Make sure that string fields in structures/taglists
16448           contain valid UTF-8 - we don't want to pass rubbish to
16449           applications because of a buggy plugin (cp. #334167).
16450
16451 2006-03-21  Edward Hervey  <edward@fluendo.com>
16452
16453         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16454         (gst_bin_handle_message_func):
16455         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16456         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16457         (gst_element_set_bus_func):
16458         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16459         * gst/gstminiobject.c: (gst_value_set_mini_object),
16460         (gst_value_take_mini_object):
16461         * gst/gstpad.c: (gst_pad_set_pad_template):
16462         * gst/gstpipeline.c: (gst_pipeline_dispose),
16463         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16464         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16465         (gst_collect_pads_chain):
16466         * libs/gst/net/gstnettimeprovider.c:
16467         (gst_net_time_provider_set_property):
16468         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16469         It's in fact all issues with gst_*object_replace().
16470
16471 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16472
16473         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16474         
16475         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16476         * pkgconfig/gstreamer-check.pc.in:
16477           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16478
16479 2006-03-21  Edward Hervey  <edward@fluendo.com>
16480
16481         * gst/gstbuffer.h:
16482         * gst/gstevent.h:
16483         * gst/gstmessage.h:
16484         gst_[buffer|event|message]_ref() macros are replaced by a static
16485         inline functions because gcc-4.1 will about if the return value
16486         isn't used.
16487         * tests/check/gst/gstevent.c: (event_probe):
16488         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16489
16490 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16491
16492         * gst/gstutils.h:
16493         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16494         the type' case. (Closes: #335195 for now). In the future, when we
16495         depend on GLib 2.10, we could also intern the type name using
16496         g_intern_static_string()
16497
16498 2006-03-20  Wim Taymans  <wim@fluendo.com>
16499
16500         * gst/gstbin.c: (gst_bin_handle_message_func),
16501         (bin_query_max_init), (bin_query_position_fold),
16502         (bin_query_position_done), (gst_bin_query):
16503         Position query should also take max of all streams.
16504
16505 2006-03-20  Wim Taymans  <wim@fluendo.com>
16506
16507         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16508         (gst_fake_src_finalize):
16509         Fix leaks in fakesrc.
16510
16511         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16512         Fix leaks in the testcase.
16513
16514 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16515
16516         * gst/gst_private.h:
16517           add win32 specific import decoration(__declspec(dllimport)) 
16518           for all extern GstDebugCategory * variables
16519         * win32/common/libgstbase.def:
16520         * win32/common/libgstcontroller.def:
16521         * win32/common/libgstreamer.def:
16522           Add some exports, remove empty lines
16523         * win32/common/libgstdataprotocol.def:
16524         * win32/common/libgstdataprotocol.dsp:
16525         * win32/common/libgstnet.def:
16526         * win32/common/libgstnet.dsp:
16527           new project files and exportation files added
16528         
16529 2006-03-19  Wim Taymans  <wim@fluendo.com>
16530
16531         * tests/check/libs/basesrc.c: (eos_event_counter):
16532         Use proper return value for probe.
16533
16534 2006-03-17  Wim Taymans  <wim@fluendo.com>
16535
16536         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16537         (gst_pad_push):
16538         Don't leak buffers, caps and pads on negotiation errors.
16539
16540 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16541
16542         * docs/faq/cvs.xml:
16543         * docs/faq/dependencies.xml:
16544         * docs/faq/developing.xml:
16545         * docs/faq/faq.xml:
16546         * docs/faq/general.xml:
16547         * docs/faq/getting.xml:
16548         * docs/faq/legal.xml:
16549         * docs/faq/troubleshooting.xml:
16550         * docs/faq/using.xml:
16551         Faq review and update.
16552
16553 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16554
16555         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16556         (gst_pad_push):
16557         Don't pound the cpu to pieces by checking get_caps when accept_caps
16558         is called with the same caps as the pad already has.
16559         Use GST_DEBUG_OBJECT when outputting caps change information.
16560
16561 2006-03-15  Wim Taymans  <wim@fluendo.com>
16562
16563         * gst/gstclock.c: (gst_clock_class_init):
16564         Fix docs.
16565
16566 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16567
16568         * gst/gstbuffer.h:
16569         Documentation fix.
16570
16571         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16572         (gst_pad_accept_caps), (gst_pad_configure_sink),
16573         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16574         Make the default acceptcaps behaviour be to check the requested 
16575         caps against the gst_pad_get_caps output. 
16576
16577         Ensure that gst_pad_accept_caps is used to check caps when a pad
16578         doesn't have a setcaps function, so that pads automatically refuse 
16579         caps that they don't allow in their pad template. (Fixes #332986)
16580
16581         When a buffer with attached caps is pushed, ensure that the source 
16582         pad receives those caps even if the element didn't call
16583         gst_pad_set_caps first.
16584
16585 2006-03-15  Wim Taymans  <wim@fluendo.com>
16586
16587         * libs/gst/base/gstadapter.c:
16588         Add some docs.
16589
16590 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16591
16592         * win32/common/libgstbase.def:
16593         * win32/common/libgstcontroller.def:
16594         * win32/common/libgstreamer.def:
16595           Add a whole bunch of missing functions (#334434).
16596
16597 2006-03-14  Wim Taymans  <wim@fluendo.com>
16598
16599         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16600         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16601         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16602         Better debug info when we receive a segment event.
16603         Reorganize a bit so we can pass the get_times() results around.
16604         Use the segment format when calculating the running time.
16605         Don't do QoS is sync is disabled or we have no clock or the
16606         element does not want us to sync to the clock.
16607         Don't drop buffers if QoS is disabled for now.
16608
16609 2006-03-14  Wim Taymans  <wim@fluendo.com>
16610
16611         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16612         Marked the stats property as unimplemented so people don't get
16613         wild ideas.
16614         Add debug message when regression goes wrong.
16615         Added some more docs.
16616
16617 2006-03-14  Wim Taymans  <wim@fluendo.com>
16618
16619         * gst/gstsegment.c: (gst_segment_to_stream_time):
16620         Return correct return type in case of errors.
16621
16622 2006-03-14  Wim Taymans  <wim@fluendo.com>
16623
16624         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16625           Don't segfault on invalid formats.
16626
16627 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16628
16629         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16630           Can't use gst_segment_to_running_time() when the segment
16631           is not in GST_TIME_FORMAT (like with filesink, for example).
16632           Stops flac encoding pipelines from spewing critical warnings
16633           at EOS (#331248).
16634           
16635 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16636
16637         * gst/gstpipeline.c: (gst_pipeline_class_init):
16638           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16639
16640         * plugins/elements/gsttypefindelement.c:
16641         (gst_type_find_element_handle_event):
16642           Don't try to typefind empty streams.
16643
16644 2006-03-14  Wim Taymans  <wim@fluendo.com>
16645
16646         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16647         (gst_base_sink_do_qos):
16648         Separate QoS calculation.
16649         Only drop buffers when lateness is bigger than the 
16650         duration of the buffer.
16651
16652 2006-03-13  Wim Taymans  <wim@fluendo.com>
16653
16654         * gst/gstpipeline.c: (gst_pipeline_set_property),
16655         (gst_pipeline_get_property), (do_pipeline_seek),
16656         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16657         (gst_pipeline_get_delay):
16658         Don't deadlock when reading properties.
16659
16660 2006-03-13  Wim Taymans  <wim@fluendo.com>
16661
16662         * libs/gst/base/gstbasetransform.c:
16663         (gst_base_transform_class_init), (gst_base_transform_init),
16664         (gst_base_transform_sink_event),
16665         (gst_base_transform_sink_eventfunc),
16666         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16667         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16668         (gst_base_transform_set_property),
16669         (gst_base_transform_get_property),
16670         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16671         (gst_base_transform_set_qos_enabled),
16672         (gst_base_transform_is_qos_enabled):
16673         * libs/gst/base/gstbasetransform.h:
16674         Make basetransform virtual method for src events too.
16675         Handle QOS in basetransform.
16676         API: gst_base_transform_update_qos()
16677         API: gst_base_transform_set_qos_enabled()
16678         API: gst_base_transform_is_qos_enabled()
16679
16680 2006-03-13  Wim Taymans  <wim@fluendo.com>
16681
16682         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16683         (gst_base_sink_do_sync):
16684         Small cleanups.
16685         Use QOS debug category.
16686
16687 2006-03-13  Wim Taymans  <wim@fluendo.com>
16688
16689         * plugins/elements/gstqueue.c:
16690         Very small doc update.
16691
16692 2006-03-13  Wim Taymans  <wim@fluendo.com>
16693
16694         * gst/gst_private.h:
16695         * gst/gstinfo.c: (_gst_debug_init):
16696         Added QOS debug category
16697
16698 2006-03-13  Wim Taymans  <wim@fluendo.com>
16699
16700         * docs/gst/gstreamer-sections.txt:
16701         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16702         * gst/gstbin.h:
16703         * gst/gstbus.c: (gst_bus_class_init):
16704         * gst/gstbus.h:
16705         * gst/gstclock.c:
16706         * gst/gstelement.c: (gst_element_set_locked_state):
16707         * gst/gstsegment.c:
16708         Documentation updates.
16709
16710         * gst/gstpipeline.c: (gst_pipeline_get_type),
16711         (gst_pipeline_class_init), (gst_pipeline_init),
16712         (gst_pipeline_dispose), (gst_pipeline_set_property),
16713         (gst_pipeline_get_property), (do_pipeline_seek),
16714         (gst_pipeline_send_event), (gst_pipeline_change_state),
16715         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16716         (gst_pipeline_get_delay):
16717         * gst/gstpipeline.h:
16718         Added methods for setting the delay.
16719         API: gst_pipeline_set_delay()
16720         API: gst_pipeline_get_delay()
16721         Add pipeline debug category
16722         Various cleanups.
16723         Updated docs.
16724         Don't reset stream time when seek failed.
16725
16726 2006-03-13  Wim Taymans  <wim@fluendo.com>
16727
16728         * docs/design/draft-klass.txt:
16729         * docs/design/part-clocks.txt:
16730         * docs/design/part-events.txt:
16731         * docs/design/part-gstbin.txt:
16732         * docs/design/part-gstpipeline.txt:
16733         * docs/design/part-messages.txt:
16734         * docs/design/part-negotiation.txt:
16735         * docs/design/part-overview.txt:
16736         * docs/design/part-preroll.txt:
16737         * docs/design/part-seeking.txt:
16738         * docs/design/part-states.txt:
16739         * docs/design/part-streams.txt:
16740         Documentation updates.
16741
16742 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16743
16744         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16745         us to leak strings...
16746
16747 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16748
16749         * libs/gst/net/gstnettimeprovider.c:
16750           fix docs
16751         * win32/common/config.h:
16752           update
16753
16754 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16755
16756         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16757
16758         * configure.ac:
16759           Don't check for libgnomeui (leftover from old examples
16760           that aren't built or disted any longer) (#334303).
16761           
16762 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16763
16764         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16765         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16766           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16767           there's no space left on the device.
16768
16769 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16770
16771         * gst/gstclock.h:
16772           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16773           to cast the input to GstClockTime before comparing with
16774           another GstClockTime value.
16775
16776 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16777
16778         * configure.ac:
16779           back to trunk
16780
16781 === release 0.10.4 ===
16782
16783 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16784
16785         * configure.ac:
16786           releasing 0.10.4, "Light"
16787
16788 2006-03-10  Michael Smith  <msmith@fluendo.com>
16789
16790         * libs/gst/dataprotocol/dataprotocol.c:
16791           Fix docs for dataprocotol to not get the return types completely
16792           wrong for a few functions.
16793
16794 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16795
16796         * docs/gst/gstreamer-sections.txt:
16797         * gst/gstpipeline.c: (gst_pipeline_class_init),
16798         (gst_pipeline_init), (gst_pipeline_set_property),
16799         (gst_pipeline_get_property), (gst_pipeline_change_state),
16800         (gst_pipeline_set_auto_flush_bus),
16801         (gst_pipeline_get_auto_flush_bus):
16802         * gst/gstpipeline.h:
16803           Add new API: gst_pipeline_set_auto_flush_bus() and
16804           gst_pipeline_get_auto_flush_bus() to disable automatic
16805           flushing of the pipeline's GstBus when going from READY
16806           to NULL state (#332045).
16807
16808 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16809
16810         * docs/gst/gstreamer-sections.txt:
16811         * gst/gsturi.c: (gst_uri_has_protocol):
16812         * gst/gsturi.h:
16813            Add new API: gst_uri_has_protocol() (#333779).
16814
16815 2006-03-09  Wim Taymans  <wim@fluendo.com>
16816
16817         * gst/gstclock.c: (gst_clock_entry_new),
16818         (gst_clock_id_compare_func), (gst_clock_id_wait),
16819         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16820         (gst_clock_init), (gst_clock_get_internal_time),
16821         (gst_clock_set_master), (do_linear_regression),
16822         (gst_clock_add_observation), (gst_clock_set_property):
16823         * gst/gstclock.h:
16824         Review docs.
16825         Small cleanups.
16826         Fix a possible segfault when the window-size is made smaller.
16827         Calculate jitter before performing the clock wait. Ideally
16828         the clock implementation should calculate jitter but we need
16829         API breakage for that.
16830
16831         * gst/gstsystemclock.c: (gst_system_clock_init):
16832         Docs review.
16833         
16834         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16835         Remove leftover else
16836
16837         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16838         (gst_systemclock_suite):
16839         Added check to test GST_CLOCK_DIFF.
16840
16841 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16842
16843         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16844         (gst_type_find_helper_get_range):
16845           If we are provided with the size, we should implement
16846           GstTypeFind::get_length, so that typefind functions who
16847           want to can actually peek at the middle of a file.
16848
16849 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16850
16851         * docs/manual/advanced-dataaccess.xml:
16852           Add some very very basic error checking.
16853
16854         * docs/pwg/appendix-checklist.xml:
16855           Some updates to the list of things to check when writing an element.
16856
16857 2006-03-08  Wim Taymans  <wim@fluendo.com>
16858
16859         * docs/design/part-element-transform.txt:
16860         Added some docs about the design of tranform elements.
16861
16862         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16863         (gst_base_src_loop), (gst_base_src_change_state):
16864         Mark buffers with the DISCONT flag.
16865
16866 2006-03-08  Michael Smith  <msmith@fluendo.com>
16867
16868         * gst/gstregistry.h:
16869         * gst/gstregistryxml.c: (gst_registry_save),
16870         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16871         (gst_registry_xml_save_pad_template),
16872         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16873         (gst_registry_xml_write_cache):
16874           Rewrite registry-saving to avoid race conditions and check for
16875           failed writes.
16876
16877 2006-03-08  Wim Taymans  <wim@fluendo.com>
16878
16879         * libs/gst/base/gstbasetransform.c:
16880         (gst_base_transform_transform_caps),
16881         (gst_base_transform_transform_size),
16882         (gst_base_transform_prepare_output_buffer),
16883         (gst_base_transform_get_unit_size),
16884         (gst_base_transform_buffer_alloc),
16885         (gst_base_transform_handle_buffer),
16886         (gst_base_transform_change_state):
16887         Cleanups, separate normal flow from errors, add sensible
16888         DEBUG lines.
16889         Don't try to renegotiate when allocating an output buffer.
16890         Also copy DISCONT buffer flag when copying a buffer.
16891         Reset the transform after we finish streaming, not during.
16892
16893 2006-03-08  Wim Taymans  <wim@fluendo.com>
16894
16895         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16896         Use last buffer timestamp in qos message.
16897
16898 2006-03-07  Wim Taymans  <wim@fluendo.com>
16899
16900         Patch by: Christophe Fergeau
16901
16902         * docs/pwg/advanced-tagging.xml:
16903         * docs/pwg/building-pads.xml:
16904           fixes #333416
16905
16906 2006-03-07  Wim Taymans  <wim@fluendo.com>
16907
16908         * docs/libs/gstreamer-libs-sections.txt:
16909         Added basesink new methods.
16910
16911         * gst/gstevent.c:
16912         * gst/gstevent.h:
16913         Docs updates. Flesh out the QoS docs.
16914
16915         * libs/gst/base/gstadapter.c:
16916         Small doc clarification about ownership and flushing.
16917
16918         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16919         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16920         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16921         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16922         * libs/gst/base/gstbasesink.h:
16923         API additions: 
16924         Added new methods to allow subclass to control max-lateness 
16925         and sync.
16926         Generate very basic QoS events based on last sync observation.
16927         Updated docs, fix typo, added some QoS blurb.
16928
16929         * libs/gst/base/gstbasesrc.c:
16930         Remove obsolete _get_state() calls from docs.
16931
16932 2006-03-07  Wim Taymans  <wim@fluendo.com>
16933
16934         * docs/libs/gstreamer-libs-sections.txt:
16935         * libs/gst/base/gstbasetransform.h:
16936         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16937         Fix docs for GstBaseSrc.
16938
16939 2006-03-07  Wim Taymans  <wim@fluendo.com>
16940
16941         * docs/gst/gstreamer-sections.txt:
16942         * gst/gstbuffer.h:
16943         * gst/gstvalue.c:
16944         * libs/gst/base/gstbasetransform.h:
16945         Small documentation fixes.
16946
16947 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16948
16949         * gst/gstvalue.c:
16950           Document thread-unsafety of gst_value_register_foo_func()
16951           when used at the same time as gst_value_foo() (#322628).
16952
16953 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16954
16955         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16956         (gst_push_src_check_get_range):
16957           Push sources don't support pull mode by default.
16958
16959 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16960
16961         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16962         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16963         (gst_base_src_default_check_get_range):
16964         * libs/gst/base/gstbasesrc.h:
16965           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16966           provide default implementation, and rename
16967           gst_base_src_check_get_range() to
16968           gst_base_src_pad_check_get_range() for clarity.
16969
16970 2006-03-06  Wim Taymans  <wim@fluendo.com>
16971
16972         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16973         Make property overridable.
16974
16975 2006-03-06  Wim Taymans  <wim@fluendo.com>
16976
16977         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16978         (gst_base_sink_init), (gst_base_sink_set_property),
16979         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16980         * libs/gst/base/gstbasesink.h:
16981         API addition: Make max-lateness a property.
16982
16983 2006-03-06  Wim Taymans  <wim@fluendo.com>
16984
16985         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16986         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16987         Don't ever draw a frame that is >10ms late.
16988
16989 2006-03-06  Michael Smith  <msmith@fluendo.com>
16990
16991         * gst/gstmessage.c: (_gst_message_copy):
16992           When copying a message, set the parent_refcount of the enclosed
16993           structure to point at the copy, not the original message.
16994
16995 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16996
16997         Patch by: Christophe Fergeau
16998
16999         * gst/gstutils.h:
17000           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
17001           usable in c++ code (#333417)
17002
17003 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17004
17005         * gst/gstclock.h:
17006           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
17007
17008 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
17009
17010         * libs/gst/base/gstbasetransform.c:
17011         (gst_base_transform_transform_caps):
17012           Make sure caps are writable before passing them to
17013           gst_caps_append().
17014
17015 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17016
17017         * gst/gsterror.h:
17018           Fix some minor docs errors.
17019
17020 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17021
17022           Patch by: Ross Burton <ross at burtonini dot com>
17023
17024         * gst/gsterror.c: (_gst_resource_errors_init):
17025         * gst/gsterror.h:
17026           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
17027
17028 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17029
17030         * gst/gst.c:
17031         Add a check and output a g_warning when GStreamer is built
17032         against GLib 2.6 but running against 2.8 or higher, and vice 
17033         versa. (Closes: #323542)
17034
17035 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17036
17037         * gst/parse/parse.l:
17038           Commit patch for parse_launch syntax from #331255. Removes 
17039           support for quoted strings and mimetypes when writing filtered 
17040           caps. See the bug report for more details - I'm pretty sure this
17041           obscure feature is not in use by _anyone_ anywhere.
17042
17043           With this simple change, the size of the gstreamer.so here 
17044           drops from 2193KB to 1565KB.
17045
17046 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17047
17048         * plugins/elements/gsttypefindelement.h:
17049         * plugins/elements/gsttypefindelement.c:
17050         (gst_type_find_element_src_event), (start_typefinding),
17051         (stop_typefinding), (gst_type_find_element_handle_event),
17052         (gst_type_find_element_chain),
17053         (gst_type_find_element_chain_do_typefinding):
17054           Use gst_type_find_helper_for_buffer() for chain-based
17055           typefinding.
17056
17057 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17058
17059         * plugins/elements/gsttypefindelement.c:
17060         (gst_type_find_element_class_init),
17061         (gst_type_find_element_set_property),
17062         (gst_type_find_element_get_property):
17063           Deprecate "maximum" property (not only was it only taken into
17064           account for typefinding in push-mode anyway, it also was never
17065           actually possible to set it in the first place because the
17066           property was registered with the numeric property ID for the
17067           "minimum" property). Register "maximum" property correctly,
17068           for the sake of future copy'n'pasters. Remove some cruft
17069           from property get/set functions.
17070
17071 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17072
17073         * plugins/elements/gsttypefindelement.c:
17074         (gst_type_find_element_activate):
17075           Use gst_type_find_helper_get_range() here, so we
17076           can honour the "minimum" property and also emit
17077           the signal with the correct probability of the found caps.
17078
17079 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
17080
17081         * docs/libs/gstreamer-libs-sections.txt:
17082         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17083         (helper_find_suggest), (gst_type_find_helper_get_range),
17084         (gst_type_find_helper):
17085         * libs/gst/base/gsttypefindhelper.h:
17086           New API: gst_type_find_helper_get_range() (#333042).
17087
17088 2006-03-02  Michael Smith  <msmith@fluendo.com>
17089
17090         * gst/gstregistryxml.c: (load_feature):
17091           Asserting on a failure to read part of the registry is Not Cool.
17092           Just log a warning and return NULL (which is already handled)
17093
17094 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17095
17096         * win32/common/libgstbase.def:
17097           added export of gst_type_find_helper_for_buffer
17098         * win32/common/libgstbase.def:
17099           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17100           gst_ghost_pad_get_target
17101
17102 2006-02-28  Wim Taymans  <wim@fluendo.com>
17103
17104         * docs/design/draft-klass.txt:
17105         We use Filter now.
17106         Added Connector to mark elements that are only used to
17107         allow pipeline connections.
17108         Moved Debug to extra feature since most of them are 
17109         functionally something else.
17110
17111 2006-02-28  Wim Taymans  <wim@fluendo.com>
17112
17113         * docs/design/draft-klass.txt:
17114         Some updates and clarifications.
17115
17116 2006-02-28  Wim Taymans  <wim@fluendo.com>
17117
17118         * docs/design/draft-klass.txt:
17119         Proposal for klass field values.
17120
17121         * docs/design/part-streams.txt:
17122         Start of a doc describing stream anatomy.
17123
17124 2006-02-28  Wim Taymans  <wim@fluendo.com>
17125
17126         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17127         Help the compiler a bit with type registration.
17128         Use existing forward cod path instead of duplicating it when 
17129         handling a message.
17130         
17131         * gst/gstbus.c: (gst_bus_get_type):
17132         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17133         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17134         * gst/gstclock.c: (gst_clock_get_type):
17135         * gst/gstelement.c: (gst_element_get_type),
17136         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17137         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17138         * gst/gstminiobject.c: (gst_mini_object_get_type):
17139         * gst/gstpad.c: (gst_pad_get_type):
17140         * gst/gstsegment.c: (gst_segment_get_type):
17141         * gst/gststructure.c: (gst_structure_get_type):
17142         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17143         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17144         * gst/gstvalue.c:
17145         Help compiler with type registration.
17146
17147         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17148         Small doc update.
17149
17150 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17151
17152         * plugins/elements/gsttypefindelement.c:
17153         (gst_type_find_element_handle_event):
17154           When we get an EOS event and have not found a type yet
17155           (most likely because we had not yet accumulated
17156           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17157           type given the data we have so far. Fixes typefinding
17158           for very short streams again, most notably quicktime
17159           redirections as used on Apple's trailer site (#331701).
17160
17161 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17162
17163         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17164         (gst_type_find_helper):
17165           Try typefinding factories with the highest rank first.
17166
17167 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17168
17169         * docs/libs/gstreamer-libs-docs.sgml:
17170         * docs/libs/gstreamer-libs-sections.txt:
17171         * libs/gst/base/gsttypefindhelper.c:
17172           Add section for typefind helper and add documentation
17173           for the old and the new function.
17174
17175 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17176
17177         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17178         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17179         (gst_type_find_helper_for_buffer):
17180         * libs/gst/base/gsttypefindhelper.h:
17181           New API: gst_type_find_helper_for_buffer() (#332723).
17182           
17183 2006-02-27  Michael Smith  <msmith@fluendo.com>
17184
17185         Patch by: Loïc Minier
17186
17187         * configure.ac:
17188         * docs/Makefile.am:
17189         * docs/slides/Makefile.am:
17190           prevent CVS directories getting disted.
17191
17192 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17193
17194         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17195           Use the REFCOUNTING category for caps refcounting.
17196           
17197 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17198
17199         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17200           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17201
17202 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17203
17204         * plugins/elements/gsttypefindelement.c:
17205         (gst_type_find_element_activate):
17206           Use gst_pad_check_pull_range() before _activate_pull()
17207           to avoid unnecessary open/close (see #331690).
17208
17209 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17210
17211         * gst/gstutils.c:
17212           Docs enhancement: make it crystal clear what the
17213           gst_pad_add_*_probe() callbacks should look like.
17214
17215 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17216
17217         * libs/gst/base/gstbasesrc.c:
17218           Document how applications can stop recording from
17219           live sources (see #330996).
17220
17221 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17222
17223         * tests/check/Makefile.am:
17224         * tests/check/libs/basesrc.c: (eos_event_counter),
17225         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17226         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17227         (gst_basesrc_suite), (main):
17228           ... and add some tests for the base source EOS stuff.
17229
17230 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17231
17232         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17233           Test case originally showed the problem fixed below,
17234           but was then amended. Add checks back at the place
17235           where they used to be.
17236
17237 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17238
17239         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17240         (gst_base_src_init), (gst_base_src_loop),
17241         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17242         (gst_base_src_change_state):
17243         * libs/gst/base/gstbasesrc.h:
17244           Don't unconditionally send EOS when going from PAUSED to
17245           READY state, esp. make sure we don't send two EOS events
17246           in some cases (e.g. one when reaching EOS and one when
17247           going from PAUSED to READY). Also, we don't want to send
17248           EOS events when operating in pull mode. However, we do
17249           want to send an EOS event when shutting down a live
17250           source explicitly, for example (fixes #330996).
17251           
17252 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17253
17254         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17255           Update src->read_position after a seek when not using mmap.
17256           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17257
17258 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17259
17260         * gst/Makefile.am:
17261         * gst/gstparse.h:
17262         * gst/gstutils.c:
17263         * gst/gstutils.h:
17264         Make things work with --disable-parse as they do with 
17265         --disable-load-save - the symbols involved disappear, but the
17266         header is still installed and GST_DISABLE_PARSE is included via
17267         gstconfig.h
17268
17269 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17270
17271         * libs/gst/base/gstbasetransform.c:
17272         (gst_base_transform_change_state): Fix a stupid bug. I was 
17273         sure I compiled that.
17274
17275 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17276
17277         * gst/gstpad.c: (gst_pad_set_blocked_async):
17278         * gst/gstutils.c: (gst_pad_add_data_probe),
17279         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17280         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17281         (gst_pad_remove_buffer_probe): Make those function act on the
17282         ghostpad target when it's a ghostpad. (Closes #331727)
17283
17284 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17285
17286         * libs/gst/base/gstbasetransform.c:
17287         (gst_base_transform_change_state): Make basetransform reusable.
17288         (Closes #331898)
17289
17290 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17291
17292         * docs/random/release:
17293         Move the current documentation of how to do a release to the top
17294         of the file.
17295
17296         * gst/gstbin.c: (gst_bin_class_init),
17297         (gst_bin_handle_message_func):
17298         Allow multiple state-recalculation threads. (Closes #328873)
17299
17300 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17301
17302         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17303         * gst/gstpad.c: (gst_pad_set_event_function),
17304         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17305         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17306         2 strings. You can't use the STR_NULL macro on that.
17307
17308 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17309
17310         * gst/gstpad.c: (gst_pad_set_event_function),
17311         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17312         (gst_pad_set_getcaps_function)
17313         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17314           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17315           So now, we can use --gst-debug-level=5 on Windows
17316         * win32/common/libgstcontroller.def:
17317           Added export of gst_controller_init
17318         * win32/vs6/libgstcontroller.dsp:
17319           Fixed Release post build configuration
17320
17321 2006-02-17  Wim Taymans  <wim@fluendo.com>
17322
17323         * tests/check/gst/gstquery.c: (GST_START_TEST):
17324         Added another check.
17325
17326 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17327
17328         * plugins/elements/gsttypefindelement.c: (find_peek):
17329           We can do peeks at non-zero offsets, as long as they
17330           fall within the buffer we have.
17331
17332 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17333
17334         * tests/check/Makefile.am:
17335         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17336         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17337         (parse_suite), (main):
17338           Add testsuite for parse launch syntax
17339
17340 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17341
17342         * plugins/elements/gsttypefindelement.c:
17343         (gst_type_find_element_chain):
17344           When typefinding is unsuccessful in the chain function, don't
17345           error out immediately. Only error out with NO_CAPS_FOUND if
17346           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17347           otherwise simply wait for more data so we can try typefinding
17348           again with more data later. Also, don't attempt to typefind
17349           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17350           this should improve typefinding from network sources where the
17351           size of the first buffer can be somewhat random.
17352
17353 2006-02-14  Wim Taymans  <wim@fluendo.com>
17354
17355         * docs/gst/gstreamer-sections.txt:
17356         * gst/gstpadtemplate.c:
17357         * gst/gstpadtemplate.h:
17358         Fix padtemplate docs, fixes #328805.
17359
17360 2006-02-14  Wim Taymans  <wim@fluendo.com>
17361
17362         * tools/gst-launch.c: (main):
17363         NO_PREROLL is not an ERROR so don't send confusing messages
17364         to the user.
17365
17366 2006-02-14  Wim Taymans  <wim@fluendo.com>
17367
17368         Patch by: Torsten Schoenfeld
17369
17370         * gst/gstregistry.c: (gst_registry_get_default),
17371         (_gst_registry_cleanup):
17372         Protect default registry with lock and ref/sink it.
17373         Fixes #324818
17374
17375 2006-02-14  Wim Taymans  <wim@fluendo.com>
17376
17377         * gst/gstbuffer.c:
17378         * gst/gstquery.c: (gst_query_list_add_format),
17379         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17380         (gst_query_parse_formats_nth):
17381         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17382         Docs fixes.
17383
17384 2006-02-14  Wim Taymans  <wim@fluendo.com>
17385
17386         * docs/gst/gstreamer-sections.txt:
17387         Reworked query docs.
17388
17389         * gst/gstquery.c: (gst_query_new_formats),
17390         (gst_query_list_add_format), (gst_query_set_formats),
17391         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17392         (gst_query_parse_formats_nth):
17393         * gst/gstquery.h:
17394         Flesh out formats query, added some new methods.
17395         Fix part of #324398.
17396
17397         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17398         Added query creation tests.
17399
17400 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17401
17402         * gst/gstpad.c: (fixate_value):
17403         Add a default fixation for fraction lists.
17404
17405 2006-02-13  Wim Taymans  <wim@fluendo.com>
17406
17407         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17408         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17409         (gst_task_join):
17410         * gst/gsttask.h:
17411         Detect and warn for obvious deadlocks. fixes #320340
17412         Fix error case where lock was not released.
17413
17414         * tests/check/Makefile.am:
17415         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17416         (task_func), (gst_element_suite), (main):
17417         Add task check.
17418
17419 2006-02-13  Wim Taymans  <wim@fluendo.com>
17420
17421         * docs/gst/gstreamer-sections.txt:
17422         * gst/gstbus.c:
17423         Add new functions to docs.
17424
17425 2006-02-13  Wim Taymans  <wim@fluendo.com>
17426
17427         * docs/design/part-TODO.txt:
17428         Updated TODO list, basesrc supports seeking to non-bytes
17429         formats.
17430
17431         * docs/design/part-element-sink.txt:
17432         Update docs.
17433
17434         * gst/gstbin.c: (bin_replace_message),
17435         (gst_bin_handle_message_func):
17436         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17437         * gst/gstevent.c: (gst_event_finalize):
17438         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17439         (gst_pad_send_event):
17440         Use shiny new _TYPE_NAME macros.
17441
17442         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17443         Move debug statement up.
17444
17445         * gst/gstelement.c: (gst_element_set_locked_state):
17446         Add some debugging.
17447
17448 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17449
17450         * docs/gst/gstreamer-sections.txt:
17451         * gst/gstmessage.h:
17452         * gst/gstquery.h:
17453           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17454           macros (#330906). Also, document the already existing
17455           GST_QUERY_TYPE macro.
17456
17457 2006-02-13  Wim Taymans  <wim@fluendo.com>
17458
17459         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17460         (event_probe), (GST_START_TEST):
17461         Only events up to the pipeline EOS are counted, there are
17462         some more when going to NULL currently which we don't care
17463         about for now.
17464
17465 2006-02-13  Wim Taymans  <wim@fluendo.com>
17466
17467         * gst/gstpad.c: (gst_pad_send_event):
17468         Correctly check flushing and emit probes. fixes #330125
17469
17470 2006-02-10  Andy Wingo  <wingo@pobox.com>
17471
17472         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17473         structure.
17474         (gst_bus_init): Cache the location of the private data in the
17475         instance structure.
17476         (gst_bus_enable_sync_message_emission) 
17477         (gst_bus_disable_sync_message_emission): Implement new public
17478         functions.
17479         (gst_bus_post): Emit the sync-message signal if the user asked for
17480         it. Fixes #330684.
17481
17482         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17483         location of the bus-private structure.
17484         (gst_bus_enable_sync_message_emission)
17485         (gst_bus_disable_sync_message_emission): API addition
17486
17487 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17488
17489         Patch by: Vincent Torri
17490
17491         * docs/pwg/building-boiler.xml:
17492         PWG patch from #326800
17493
17494 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17495
17496         * configure.ac:
17497         * docs/Makefile.am:
17498         * docs/design/Makefile.am:
17499           Dist design docs.
17500
17501 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17502
17503         * configure.ac:
17504           back to CVS
17505
17506 === release 0.10.3 ===
17507
17508 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17509
17510         * configure.ac:
17511           releasing 0.10.3, "Like a virgin"
17512
17513 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17514
17515         * configure.ac:
17516           2nd prerelease of 0.10.3
17517           Bump libtool versioning.
17518
17519 2006-02-07  Andy Wingo  <wingo@pobox.com>
17520
17521         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17522         update last_stop if we're in TIME format and the timestamp is
17523         valid.
17524
17525         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17526         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17527         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17528         If we get a new newsegment with a different format, adapt
17529         accordingly.
17530
17531         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17532         of 0. Not a problem, really.
17533
17534         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17535         warn if sync=true.
17536
17537 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17538
17539         * configure.ac:
17540           Prelease of 0.10.3
17541
17542 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17543
17544         * win32/vs7:
17545           project files updated to the default vs7 configuration
17546         * win32/common/libgstbase.def:
17547         * win32/common/libgstreamer.def:
17548           added new symbols,
17549           removed empty lines,
17550           sorted all exported symbols alphabetically
17551         * win32/common/dirent.c:
17552         * win32/common/dirent.h:
17553         * win32/common/gchar.h:
17554           use windows line end.
17555           
17556 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17557
17558         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17559           Send EOS event when stopping.
17560
17561 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17562
17563         * docs/README:
17564           Tell folks what to do if the plugin-foobar.xml file
17565           hasn't been generated for a newly-added plugin.
17566
17567 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17568
17569         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17570         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17571         (gst_collect_pads_start), (gst_collect_pads_stop),
17572         (gst_collect_pads_event): Collectpads now holds a reference
17573         to the GstPad that was added. Indeed we don't want to look
17574         at pads that might just go away with no warning...
17575
17576 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17577
17578         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17579         (gst_collect_pads_start), (gst_collect_pads_stop),
17580         (gst_collect_pads_event), (gst_collect_pads_chain):
17581         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17582         Mark Nauwelaerts's patch on bug #328491.
17583
17584 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17585
17586         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17587         (gst_utils_suite):
17588           Add some simple tests for gst_parse_bin_from_description() and
17589           gst_bin_find_unconnected_pad() (#329069).
17590
17591 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17592
17593         * tools/gst-launch.c: (event_loop), (main):
17594           Catch errors during preroll (#320084).
17595
17596 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17597
17598         * plugins/elements/gsttypefindelement.c:
17599         (gst_type_find_element_activate):
17600           Post TYPE_NOT_FOUND error message when typefinding
17601           is unsuccessful in the activate function as well.
17602
17603 2006-02-02  Wim Taymans  <wim@fluendo.com>
17604
17605         * docs/design/part-element-sink.txt:
17606         Updated doc.
17607
17608 2006-02-02  Wim Taymans  <wim@fluendo.com>
17609
17610         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17611         (gst_base_sink_render_object),
17612         (gst_base_sink_queue_object_unlocked):
17613         Only keep track of prerollable items when we are 
17614         prerolling.
17615         Before rendering after preroll, always check if we
17616         have queued items.
17617         Added some more debugging.
17618
17619 2006-02-02  Wim Taymans  <wim@fluendo.com>
17620
17621         * gst/gstelement.c: (gst_element_continue_state),
17622         (gst_element_set_state_func), (gst_element_change_state):
17623         Fixed #326576, been running this for quite some time with
17624         no regressions at all.
17625
17626 2006-02-02  Wim Taymans  <wim@fluendo.com>
17627
17628         * common/gst.supp:
17629         Added more suppressions
17630
17631 2006-02-02  Wim Taymans  <wim@fluendo.com>
17632
17633         * docs/design/part-element-sink.txt:
17634         Updated document.
17635
17636         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17637         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17638         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17639         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17640         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17641         (gst_base_sink_preroll_object),
17642         (gst_base_sink_queue_object_unlocked),
17643         (gst_base_sink_queue_object), (gst_base_sink_event),
17644         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17645         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17646         (gst_base_sink_get_position), (gst_base_sink_change_state):
17647         * libs/gst/base/gstbasesink.h:
17648         Totally refactored matching the design doc.
17649         Use two segments, one to clip incomming buffers and another to
17650         perform sync.
17651         Handle queueing correctly, bypass the queue when playing.
17652         Make EOS cancelable.
17653         Handle errors correctly when operating in pull based mode.
17654
17655         * tests/check/elements/fakesink.c: (GST_START_TEST),
17656         (fakesink_suite):
17657         Added new check for sinks.
17658
17659 2006-02-02  Wim Taymans  <wim@fluendo.com>
17660
17661         * gst/gstsegment.c: (gst_segment_clip):
17662         No reason to refuse to clip when start == -1
17663
17664 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17665
17666         * docs/README:
17667         * docs/manual/intro-basics.xml:
17668         * docs/manual/intro-preface.xml:
17669         * docs/manual/manual.xml:
17670         * docs/pwg/advanced-dparams.xml:
17671         * docs/pwg/intro-basics.xml:
17672         * docs/pwg/intro-preface.xml:
17673         * docs/pwg/pwg.xml:
17674           describe dparams (controller) for plugins
17675           unify docs a little more
17676
17677 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17678
17679         * docs/gst/gstreamer-sections.txt:
17680         * gst/gstutils.c: (element_find_unconnected_pad),
17681         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17682         * gst/gstutils.h:
17683           Add new API: gst_parse_bin_from_description() and
17684           gst_bin_find_unconnected_pad() (#329069).
17685
17686 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17687
17688         * docs/manual/README:
17689           uncover a nasty detail of the docs build
17690
17691 2006-01-31  Wim Taymans  <wim@fluendo.com>
17692
17693         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17694         Don't cache duration messages if we're not going to use or
17695         free them.
17696
17697 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17698
17699         * docs/manual/advanced-dparams.xml:
17700         * docs/pwg/advanced-dparams.xml:
17701           more dparam docs
17702         * gst/gstindex.c:
17703           fix docs
17704         * libs/gst/controller/lib.c: (gst_controller_init):
17705           init just once
17706
17707 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17708
17709         * gst/gstelement.c: (gst_element_message_full):
17710           also show file/line/func if no additional debug was given
17711
17712 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17713         
17714         * win32/vs7/grammar.vcproj:
17715           activate copy of autogenerated files for Release mode
17716
17717 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17718         
17719         * win32/common/libgstreamer.def:
17720           export gst_value_compare
17721
17722 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17723
17724         * plugins/elements/Makefile.am:
17725         * plugins/elements/gstelements.c:
17726         * plugins/elements/gstfdsink.c: (_do_init),
17727         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17728         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17729         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17730         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17731         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17732         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17733         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17734         * plugins/elements/gstfdsink.h:
17735         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17736
17737 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17738
17739         * docs/manual/advanced-dparams.xml:
17740           describe controller
17741         * docs/manual/advanced-position.xml:
17742         * docs/manual/basics-init.xml:
17743         * docs/manual/manual.xml:
17744         * docs/manual/titlepage.xml:
17745         * docs/pwg/pwg.xml:
17746         * docs/pwg/titlepage.xml:
17747           cleanup xml (more to come)
17748         * libs/gst/controller/gstcontroller.c:
17749           fix typo
17750
17751 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17752         
17753         * win32/vs6/grammar.dsp:
17754           add autogen of gstmarshal.c,h for Release mode
17755                 
17756 2006-01-30  Wim Taymans  <wim@fluendo.com>
17757
17758         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17759         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17760         (gst_base_sink_handle_object), (gst_base_sink_event),
17761         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17762         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17763         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17764         (gst_base_sink_deactivate), (gst_base_sink_activate),
17765         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17766         (gst_base_sink_query), (gst_base_sink_change_state):
17767         Basesink cleanups, remove some old code.
17768         Handle the case where a subclass can preroll in the render
17769         method (mostly audiosinks).
17770         Handle more events.
17771         Remove some locks around variables that are now protected
17772         with the PREROLL_LOCK (clock_id, flushing, ..).
17773         Optimize position query some more, do correct locking.
17774         Remove old code to push queue in state change, this is not
17775         needed anymore since preroll blocks on all prerollable items 
17776         now.
17777         Almost implemented as described in design doc.
17778
17779 2006-01-30  Wim Taymans  <wim@fluendo.com>
17780
17781         * tests/check/gst/gstbin.c: (GST_START_TEST):
17782         Wait for refcount to settle down before checking.
17783
17784 2006-01-30  Wim Taymans  <wim@fluendo.com>
17785
17786         * docs/design/part-element-sink.txt:
17787         Pseudo code overview of desired sink behaviour regarding
17788         preroll.
17789
17790 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17791         * win32/vs6/grammar.dsp:
17792           fix some bugs in Release mode for autogenerated files
17793                 
17794 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17795         * win32/common/libgstbase.def:
17796         * win32/common/libgstreamer.def:
17797           export some new symbols: gst_base_src_set_format,
17798           gst_iterator_next, gst_structure_set_valist
17799
17800 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17801
17802         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17803         Set pad functions unconditionally. Fixes #329105.
17804
17805 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17806         * win32/vs8:
17807           add vs8 project files created by Sergey Scobich
17808
17809 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17810
17811         * gst/gstutils.c: (gst_element_unlink_pads):
17812         Don't leak pad references.
17813
17814         * tests/check/elements/fakesink.c: (GST_START_TEST):
17815         * tests/check/generic/sinks.c: (GST_START_TEST):
17816         * tests/check/generic/states.c: (GST_START_TEST):
17817         * tests/check/gst/gstbin.c: (GST_START_TEST):
17818         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17819         * tests/check/gst/gstelement.c: (GST_START_TEST):
17820         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17821         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17822         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17823         Fix a bunch of leaks. Make generic/sinks.c
17824         use a bit less cpu by slowing the buffer rate
17825         between fakesrc and fakesink.
17826         
17827 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17828         * gst/gstcaps.c:
17829         * gst/gstelement.c: (gst_element_send_event):
17830         * gst/gstevent.c:
17831         * gst/gstinfo.c:
17832         * gst/gstiterator.c:
17833         * gst/gstiterator.h:
17834         * gst/gstpad.c: (gst_pad_send_event):
17835         * gst/gststructure.c:
17836         * gst/gsturi.c:
17837         * gst/gstutils.c:
17838         * gst/gstvalue.c:
17839         * libs/gst/base/gstadapter.c:
17840           doc fixes, to link to function, just write gst_cool_function(), don't
17841           prefix with '#'
17842
17843 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17844
17845         * plugins/elements/gsttee.c: (gst_tee_do_push),
17846         (gst_tee_handle_buffer):
17847         Always prefer an actual return value from a src
17848         pad in place of NOT_LINKED. This means we return
17849         WRONG_STATE when all src pads are WRONG_STATE
17850         instead of NOT_LINKED.
17851
17852         Lock when replacing the last message to prevent
17853         racing with the get_property method.
17854
17855         Add debug output
17856
17857 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17858
17859         * tests/check/Makefile.am:
17860         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17861         (main):
17862         Add a very simple check that should have caught the memleak I fixed
17863         last night (if not for the slice allocator hiding it)
17864
17865 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17866
17867         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17868         (gst_bin_remove_func), (gst_bin_handle_message_func),
17869         (bin_query_duration_fold), (bin_query_generic_fold):
17870         Clean up references to the clock provider when disposed or when
17871         handling a clock-lost message from it.
17872
17873         Unref sinks when performing a query via gst_iterator_fold, as the
17874         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17875
17876         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17877         (gst_clock_set_master):
17878         Drop our reference to the master clock, if any, when we are disposed.
17879
17880         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17881         Chain up in dispose. 
17882
17883 2006-01-26  Wim Taymans  <wim@fluendo.com>
17884
17885         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17886         Add some debugging.
17887
17888 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17889
17890         * plugins/elements/gsttee.c: (gst_tee_do_push),
17891         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17892         handles pad being NOT_LINKED or in WRONG_STATE.
17893
17894 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17895
17896         * win32/MANIFEST:
17897           more updating
17898
17899 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17900
17901         * win32/MANIFEST:
17902           remove obsolete entry
17903
17904 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17905
17906         * docs/gst/gstreamer-sections.txt:
17907         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17908         (gst_bin_iterate_sources), (gst_bin_send_event):
17909         * gst/gstbin.h:
17910         * gst/gstelement.c: (gst_element_send_event):
17911         * gst/gstevent.c:
17912         * gst/gstpad.c: (gst_pad_send_event):
17913           added code for downstream events, reviewed docs in gstevent.c
17914
17915 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17916
17917         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17918         We only query position using the clock in the playing state.
17919         Query peer in the other cases.
17920         * win32/common/config.h: Updates.
17921
17922 2006-01-24  Wim Taymans  <wim@fluendo.com>
17923
17924         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17925         A clock entry that is scheduled for the exact time of the
17926         clock is still in time.
17927
17928         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17929         (gst_base_sink_do_sync):
17930         Add some more debug info.
17931
17932 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17933
17934         * win32/vs7:
17935           Add new vs7 project files and solution.
17936
17937 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17938
17939         * win32/vs7:
17940           all files removed as they were out-dated.
17941
17942 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17943
17944         * docs/random/release:
17945           update notes
17946         * gst/gstbin.c: (gst_bin_init):
17947         * gst/gstbus.c: (gst_bus_new):
17948         * gst/gstbus.h:
17949         * gst/gstpipeline.c: (gst_pipeline_init):
17950           use gst_bus_new(), improve logging, fix docs
17951         * win32/common/config.h:
17952           update for cvs build
17953
17954 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17955
17956         * autogen.sh:
17957           up required version of automake to 1.7
17958
17959 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17960
17961         * win32/common/libgstreamer.def:
17962           export gst_buffer_is_metadata_writable
17963
17964 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17965
17966         * docs/gst/gstreamer-sections.txt:
17967         * gst/gstevent.h:
17968           Add gst_event_replace() (#327001)
17969
17970 2006-01-20  Wim Taymans  <wim@fluendo.com>
17971
17972         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17973         Make it actually compile too..
17974
17975 2006-01-20  Wim Taymans  <wim@fluendo.com>
17976
17977         * gst/gstcaps.c:
17978         Clarify behaviour of _is_equal() when passing NULL parameters.
17979
17980         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17981         (gst_pad_set_caps):
17982         Cleanups. Don't unref NULL caps.
17983         When setting the same caps, protect caps of the pad with
17984         proper lock.
17985         Use full functionality of _is_equal() when comparing caps.
17986
17987 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17988
17989         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17990         Don't loop infinitely if there are no buffers to present. Partially
17991         fixes #327197, but collectpads is just broken for reusing elements
17992         to do multiple encodes atm.
17993
17994 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17995
17996         * tools/gst-inspect.c: (print_element_features):
17997         * tools/gst-xmlinspect.c: (main):
17998         URL_HANDLER is not a plugin feature we can search for in
17999         the registry.
18000
18001 2006-01-19  Edward Hervey  <edward@fluendo.com>
18002
18003         * gst/gstelement.c: (gst_element_pads_activate): 
18004         When activating, do src pads first, then sink pads.
18005         When de-activating, do sink pads first, then src pads.
18006
18007 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18008
18009         * docs/gst/gstreamer-sections.txt:
18010         Add gst_index_add_associationv to the docs
18011
18012 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18013
18014         * gst/gstevent.c:
18015           Fix docs typo
18016
18017         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
18018         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
18019           Do some refactoring. Doesn't actually change functionality,
18020           but makes landing the DRAIN event easier later.
18021
18022 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
18023
18024         * docs/pwg/advanced-scheduling.xml:
18025           Update from 0.9.x to 0.10 API and make example a bit
18026           clearer.
18027
18028 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18029
18030         * docs/gst/gstreamer-sections.txt:
18031         Add gst_buffer_(is|make)_metadata_writable methods.
18032
18033 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18034
18035         * docs/design/part-sparsestreams.txt:
18036         Update sparse streams doc, hopefully for greater clarity
18037
18038 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
18039
18040         * docs/design/part-events.txt:
18041         Remove mention of FILLER events.
18042         Add DRAIN event.
18043
18044         * docs/design/part-sparsestreams.txt:
18045         Write some things about using NEWSEGMENT to keep sparse streams
18046         flowing.
18047
18048 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18049
18050         * gst/gstbin.c: (gst_bin_dispose):
18051           Guard gst_object_unref call against a NULL object (dispose
18052           can theoretically be called multiple times).
18053           
18054 2006-01-18  Wim Taymans  <wim@fluendo.com>
18055
18056         * gst/gstbin.c: (gst_bin_element_set_state):
18057         * gst/gstclock.c: (gst_clock_id_wait):
18058         Added some more debug info.
18059
18060         * libs/gst/base/gstadapter.c:
18061         Added more docs.
18062
18063         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18064         (gst_base_sink_do_sync), (gst_base_sink_chain):
18065         Added some comments.
18066
18067 2006-01-18  Wim Taymans  <wim@fluendo.com>
18068
18069         * tests/check/Makefile.am:
18070         * tests/check/elements/fakesink.c: (chain_async_buffer),
18071         (chain_async), (chain_async_return), (GST_START_TEST),
18072         (fakesink_suite), (main):
18073         Added fakesink test that checks prerolling and clipping
18074         behaviour.
18075
18076         * tests/check/gst/gstutils.c: (GST_START_TEST):
18077         Make check run faster so that buildbots don't timeout.
18078
18079 2006-01-18  Wim Taymans  <wim@fluendo.com>
18080
18081         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18082         (gst_base_sink_do_sync):
18083         Some cleanups.
18084         When the sink finishes blocking on the preroll buffer, it can
18085         immediatly render it instead of rendering when the next buffer
18086         arrives.
18087
18088 2006-01-18  Wim Taymans  <wim@fluendo.com>
18089
18090         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18091         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18092         (gst_base_sink_chain):
18093         Small cleanups.
18094         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18095         Don't store _last_stop if the buffer is dropped.
18096
18097 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18098
18099         * plugins/elements/gsttypefindelement.c:
18100         (gst_type_find_element_class_init):
18101           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18102           object method handler that sets the caps on the pad and we want
18103           that to happen before we emit the signal (fixes e.g. feeding a
18104           plain text file to decodebin).
18105
18106 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18107
18108         * gst/gstplugin.c: Add MPL and Proprietary as license options
18109
18110 2006-01-18  Andy Wingo  <wingo@pobox.com>
18111
18112         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18113         symbol was exported before, it appears this was just an oversight.
18114         Fixes #168703.
18115         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18116
18117         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18118         prototype to gint. OK since this prototype was not in the header.
18119
18120 2006-01-17  Andy Wingo  <wingo@pobox.com>
18121
18122         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18123         registry while we remove plugins.
18124
18125         * tools/gst-inspect.c (print_element_info): Don't unref the
18126         factory arg, that should be the responsibility of whatever code
18127         received the ref. Fixes a double-free when called from
18128         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18129         (main): Unref the factory if we have one.
18130         (print_element_list): No change -- relies on the
18131         plugin_feature_list_free to free the list of features.
18132
18133 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18134
18135         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18136         (gst_buffer_make_metadata_writable):
18137         * gst/gstbuffer.h:
18138         * libs/gst/base/gstbasetransform.c:
18139         (gst_base_transform_prepare_output_buf):
18140         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18141         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18142           Replace gst_buffer_(make|is)_metadata_writable patch now
18143           that the release is out.
18144
18145 2006-01-17  Andy Wingo  <wingo@pobox.com>
18146
18147         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18148         in the present tense without reference to versions.
18149
18150         * gst/gstregistry.c (gst_registry_add_plugin)
18151         (gst_registry_remove_plugin, gst_registry_remove_feature)
18152         (gst_registry_find_feature, gst_registry_get_feature_list)
18153         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18154         (gst_registry_lookup, gst_registry_scan_path)
18155         (_gst_registry_remove_cache_plugins)
18156         (gst_registry_get_feature_list_by_plugin): Add argument
18157         validation.
18158
18159 === release 0.10.2 ===
18160
18161 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18162
18163         * configure.ac:
18164           releasing 0.10.2, "If man is five"
18165
18166 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18167
18168         * gst/gstbuffer.c:
18169         * gst/gstbuffer.h:
18170         * libs/gst/base/gstbasetransform.c:
18171         (gst_base_transform_prepare_output_buf):
18172         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18173         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18174           Back out patch until after the release.
18175
18176 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18177
18178         * gst/gstminiobject.c:
18179           Spelling fix in docs.
18180         * ChangeLog - remove conflict indicator
18181
18182 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18183
18184         Reviewed By: Andy Wingo
18185
18186         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18187         (gst_buffer_make_metadata_writable):
18188         * gst/gstbuffer.h:
18189           Add gst_buffer_(is|make)_metadata_writable as analogues of
18190           gst_buffer_(is|make)_writable.
18191
18192         * libs/gst/base/gstbasetransform.c:
18193         (gst_base_transform_prepare_output_buf):
18194         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18195           Use name gst_buffer_(is|make)_metadata_writable functions.
18196
18197         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18198           Test gst_buffer_(is|make)_metadata_writable
18199         
18200           (Closes: #324162)
18201
18202 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18203
18204         * docs/manual/Makefile.am:
18205           don't do parallel make
18206         * configure.ac:
18207           AC_SUBST HOST_CPU
18208         * win32/common/config.h.in:
18209           add generations for HOST_CPU and GST_MAJORMINOR
18210         * win32/common/config.h:
18211           commit generated result
18212
18213 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18214
18215         * docs/manual/appendix-integration.xml:
18216           Update GNOME integration section to use gst_init_get_option_group()
18217           instead of the old popt stuff (#322911). Also, GNOME applications
18218           should  now use gconf*sink and gconf*src instead of the old gconf
18219           helper lib we had.
18220
18221 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18222
18223
18224         * docs/gst/gstreamer-docs.sgml:
18225         * docs/gst/gstreamer-sections.txt:
18226         * docs/libs/gstreamer-libs-sections.txt:
18227           add new API entries to the docs
18228         * libs/gst/controller/Makefile.am:
18229         * libs/gst/controller/gstcontroller.c:
18230         * libs/gst/controller/gstcontroller.h:
18231         * libs/gst/controller/gstcontrollerprivate.h:
18232         * libs/gst/controller/gsthelper.c:
18233         * libs/gst/controller/gstinterpolation.c:
18234           move private structs to private header
18235         * po/README:
18236           gstreamer-0.7 -> gstreamer-0.10
18237         * tests/check/libs/struct_i386.h:
18238           remove private structs
18239
18240 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18241
18242         * plugins/indexers/Makefile.am:
18243           Fixes as part of #317048
18244
18245 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18246
18247         * plugins/indexers/Makefile.am:
18248           fix #316086 - compilation when mmap is missing
18249
18250 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18251
18252         * libs/gst/base/gstbasesink.c:
18253           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18254           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18255         * win32/common/config.h:
18256           added some defines GST_MAJORMINOR and HOST_CPU
18257         * win32/common/libgstbase.def:
18258         * win32/common/libgstreamer.def:
18259           added some exported functions.
18260
18261 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18262
18263         * libs/gst/controller/gstcontroller.c:
18264         (gst_controlled_property_set_interpolation_mode),
18265         (gst_controlled_property_new):
18266         * libs/gst/controller/gstcontroller.h:
18267         * libs/gst/controller/gstinterpolation.c:
18268         (interpolate_none_get_string_value_array):
18269           make G_TYPE_STRING controlable
18270
18271 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18272
18273         * tools/README:
18274         * tools/gst-feedback.1.in:
18275         * tools/gst-inspect.1.in:
18276         * tools/gst-launch.1.in:
18277         * tools/gst-md5sum.1.in:
18278         * tools/gst-typefind.1.in:
18279         * tools/gst-xmlinspect.1.in:
18280         * tools/gst-xmllaunch.1.in:
18281           cleanup man-pages, remove reference to gst-register, document env-vars
18282
18283 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18284
18285         * gst/gstbuffer.c: (gst_buffer_span):
18286           gst_buffer_span should copy the timestamp of the first buffer
18287           if they were both originally overlapping subbuffers of the 
18288           same parent, using the same logic as the 'slow copy' case.
18289
18290 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18291
18292         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18293           Need to awaken ALL the pads when we pop a buffer, otherwise
18294           collectpads only works when there is 2 input streams.
18295
18296 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18297
18298         * docs/random/ensonic/media-device-daemon.txt:
18299           more ideas (dbus)
18300         * gst/gstbuffer.c:
18301           fix doc example, add clarification
18302         * tools/gst-launch.1.in:
18303           add initial info about GST_PLUGIN_PATH, needs more work
18304
18305 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18306
18307         * docs/manual/basics-bins.xml:
18308         * docs/manual/basics-elements.xml:
18309         * docs/manual/intro-basics.xml:
18310           Some more minor docs additions and updates.
18311
18312 2006-01-11  Wim Taymans  <wim@fluendo.com>
18313
18314         * docs/manual/basics-bins.xml:
18315         * docs/manual/basics-elements.xml:
18316         Some small fixes as pointed out by Ser-ver on IRC.
18317
18318 2006-01-10  Edward Hervey  <edward@fluendo.com>
18319
18320         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18321         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18322         the single-segment mode.
18323
18324 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18325
18326         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18327
18328         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18329         (gst_base_src_perform_seek), (gst_base_src_send_event),
18330         (gst_base_src_set_property), (gst_base_src_get_property),
18331         (gst_base_src_loop), (gst_base_src_start),
18332         (gst_base_src_activate_push):
18333         * libs/gst/base/gstbasesrc.h:
18334           Name (private) union; makes Sun's Forte compiler happy (#324900).
18335
18336 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18337
18338         * README:
18339           gst-register is gone.
18340
18341 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18342
18343         * gst/gstvalue.c: (_gst_value_initialize):
18344           make the G_TYPE_DATE instantiation work if debug is disabled
18345
18346 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18347
18348         * gst/gstmessage.c: (gst_message_parse_tag),
18349         (gst_message_parse_error), (gst_message_parse_warning):
18350           Don't crash when return location for error/warning debug
18351           string is NULL; add fact that return locations can be
18352           NULL to docs where appropriate.
18353
18354 2006-01-05  Wim Taymans  <wim@fluendo.com>
18355
18356         * gst/gstplugin.c: (gst_plugin_load_file):
18357         Replace strdup by g_strdup.
18358
18359 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18360
18361         * docs/pwg/advanced-types.xml:
18362           fix doc borkage
18363
18364 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18365
18366         submitted by: Abel Cheung
18367
18368         * po/LINGUAS:
18369         * po/zh_TW.po:
18370           Added Chinese (traditional) translation
18371
18372 2006-01-04  Wim Taymans  <wim@fluendo.com>
18373
18374         * docs/manual/basics-pads.xml:
18375         * docs/plugins/Makefile.am:
18376         * docs/plugins/gstreamer-plugins-docs.sgml:
18377         * docs/plugins/gstreamer-plugins-sections.txt:
18378         * docs/pwg/advanced-clock.xml:
18379         * docs/pwg/advanced-scheduling.xml:
18380         * docs/pwg/advanced-types.xml:
18381         * plugins/elements/gstfdsink.c:
18382         * plugins/elements/gstfdsrc.c:
18383         * plugins/elements/gstfdsrc.h:
18384         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18385         * plugins/elements/gstidentity.h:
18386         * plugins/elements/gstqueue.h:
18387         * plugins/elements/gsttee.c:
18388         * plugins/elements/gsttee.h:
18389         * plugins/elements/gsttypefindelement.c:
18390         (gst_type_find_element_class_init):
18391         * plugins/elements/gsttypefindelement.h:
18392         Small updates to various docs.
18393         Added core plugins to docs.
18394
18395 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18396
18397         * common/gst.supp:
18398           add a suppression for liboil's uninitialized variable
18399
18400 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18401
18402         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18403
18404         * gst/gstutils.h:
18405           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18406           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18407           compiler switch is being used (#325429).
18408
18409 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18410
18411         * gst/gstbin.c: (gst_bin_query):
18412           Disable duration query caching in bins until it gets
18413           fixed (see #324807).
18414
18415 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18416
18417         * tools/gst-inspect.c: (print_element_properties_info):
18418           Handle properties of POINTER and BOXED type.
18419
18420 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18421
18422         * gst/gst.c: (init_post):
18423           Init tags stuff and some other things before loading
18424           any static plugins (there may be other static plugins
18425           than just the GStreamer ones, and they may want to
18426           register their own tags or formats or whatever, and
18427           preferably without segfaulting).
18428
18429         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18430           Print at least a warning in the debug logs if we drop a
18431           query just because we don't know how to adjust the value
18432           in the particular format.
18433
18434 2005-12-24  David Schleef  <ds@schleef.org>
18435
18436         * tools/gstreamer-completion:
18437           Replacement for gst-complete written in sh and sed.  Only
18438           completes names of features, but that's 90% of what I want
18439           it for.  Properties are not available in registry.xml.  (Maybe
18440           they should be...)
18441
18442 === release 0.10.1 ===
18443
18444 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18445
18446         * configure.ac:
18447           releasing 0.10.1, "Nollaig chridheil"
18448
18449 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18450
18451         * docs/faq/cvs.xml:
18452           Add missing quote, should be make ERROR_CFLAGS="".
18453
18454 2005-12-20  Wim Taymans  <wim@fluendo.com>
18455
18456         * docs/design/part-trickmodes.txt:
18457         More documentation on trickmodes.
18458
18459 2005-12-20  Edward Hervey  <edward@fluendo.com>
18460
18461         * gst/gstcaps.c: (gst_static_caps_get_type):
18462         * gst/gstcaps.h:
18463           API addition: GST_TYPE_STATIC_CAPS
18464         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18465         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18466         * gst/gstpadtemplate.h:
18467           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18468         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18469         bindings.
18470
18471 2005-12-18  Wim Taymans  <wim@fluendo.com>
18472
18473         * libs/gst/base/gstadapter.c:
18474         * libs/gst/base/gstadapter.h:
18475         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18476         (gst_base_sink_get_position):
18477         * libs/gst/base/gstbasesink.h:
18478         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18479         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18480         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18481         (gst_base_src_send_event), (gst_base_src_update_length),
18482         (gst_base_src_get_range), (gst_base_src_loop),
18483         (gst_base_src_start):
18484         * libs/gst/base/gstbasesrc.h:
18485         * libs/gst/base/gstbasetransform.h:
18486         * libs/gst/base/gstcollectpads.h:
18487         * libs/gst/base/gstpushsrc.c:
18488         * libs/gst/base/gstpushsrc.h:
18489         * libs/gst/dataprotocol/dataprotocol.c:
18490         * libs/gst/dataprotocol/dataprotocol.h:
18491         * libs/gst/net/gstnetclientclock.h:
18492         * libs/gst/net/gstnettimeprovider.h:
18493         Documentation updates.
18494
18495 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18496
18497         * docs/manual/basics-helloworld.xml:
18498           Remove superfluous closing bracket in helloworld example.
18499
18500 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18501
18502         * tools/gst-launch.1.in:
18503           Update gst-launch man page; add a section with useful
18504           environment variables. Fixes #323882.
18505
18506 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18507
18508         * gst/gst.c:
18509         * gst/gst_private.h:
18510           change some char* into char[]
18511
18512 2005-12-16  Wim Taymans  <wim@fluendo.com>
18513
18514         * gst/gstregistryxml.c: (load_feature):
18515         Cleanups.
18516         Don't use g_object_unref on GstObjects so that we avoid
18517         leaks on unsafe glibs.
18518
18519 2005-12-16  Wim Taymans  <wim@fluendo.com>
18520
18521         * gst/gstbin.c: (gst_bin_recalc_state):
18522         Small doc updates.
18523
18524 2005-12-16  Wim Taymans  <wim@fluendo.com>
18525
18526         * common/check.mak:
18527         Added make forever target for check.
18528
18529 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18530
18531         * gst/gst.c: (init_post):
18532           make the registry cache file HOST_CPU-dependent
18533
18534 2005-12-16  Andy Wingo  <wingo@pobox.com>
18535
18536         * plugins/elements/gstbufferstore.c
18537         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18538         return value.
18539
18540         * tests/check/gst/gstobject.c
18541         (test_fake_object_name_threaded_unique): Pay attention to
18542         g_list_sort return value.
18543
18544 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18545
18546         * tools/gst-feedback-m.m:
18547           Update for 0.9/0.10 (fixes #323870).
18548
18549 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18550
18551         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18552           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18553           
18554         * tests/check/gst/gstminiobject.c: (my_foo_init),
18555         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18556         (test_value_collection), (gst_mini_object_suite):
18557           Add test to ensure refcounts end up as expected when passing
18558           GstMiniObjects through g_object_get() and g_object_set().
18559
18560 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18561
18562         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18563         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18564         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18565         of collectpads. This version removes a lot of races without
18566         touching API/ABI. Yay !
18567
18568 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18569
18570         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18571           Don't allow activation of a srcpad in pull_range if it has no
18572           getrange function.
18573           Change some debug statements to be a little clearer
18574
18575         * plugins/elements/gsttypefindelement.c:
18576         (gst_type_find_handle_src_query):
18577           Check that we have a peer before executing queries thereupon.
18578
18579         * tests/examples/metadata/read-metadata.c: (message_loop):
18580           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18581           immediately return us any available message with 0 timeout.
18582
18583 2005-12-12  Michael Smith  <msmith@fluendo.com>
18584
18585         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18586           Don't unref factories after calling them.
18587         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18588         * plugins/elements/gsttypefindelement.c:
18589         (gst_type_find_element_chain):
18590           Free lists of factories after using them. Fixing typefinding memory
18591           leaks.
18592
18593 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18594
18595         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18596         (gst_plugin_feature_load):
18597           more meaningful debug output
18598         * configure.ac:
18599         * tests/Makefile.am:
18600         * tests/old/examples/Makefile.am:
18601           make make distcheck happy again
18602
18603 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18604
18605         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18606           Catch the special case where we are operating chain-based,
18607           but the downstream peer pad has no chain function. Emit a
18608           custom error message in this case instead of letting the
18609           core generate one implying that this is some sort of core
18610           bug. It's not, it just means that whatever got plugged
18611           into the pipeline downstream when we announced the type
18612           can only operate pull-based, while our source can only
18613           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18614           Error string has not been marked for translation yet, as
18615           it probably needs some more work first.
18616
18617         (gst_type_find_element_get_best_possibility):
18618           Add helper function to find the best of all available
18619           found possibilities that qualify given the min. threshold.
18620
18621         (gst_type_find_element_handle_event):
18622           Fix the case where we get an EOS while still in TYPEFIND
18623           mode (we want to chose the best of all possible types,
18624           not just the first type that happens to be in our unsorted
18625           list of possible types).
18626
18627         (gst_type_find_element_chain):
18628           Make sure we return GST_FLOW_ERROR when we errored out
18629           in stop_typefinding(); also, don't just find the best of
18630           all found type entries and then use the last examined
18631           type entry, but actually use the best entry.
18632
18633 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18634
18635         * tests/examples/typefind/typefind.c: (type_found):
18636         * tests/examples/xml/runxml.c: (xml_loaded):
18637           More gcc4 fixes and a mem leak fix.
18638
18639 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18640
18641         * tests/examples/xml/createxml.c: (object_saved):
18642           gcc 4 fixes
18643
18644 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18645
18646         * tests/Makefile.am:
18647           enable the examples even more
18648
18649 2005-12-12  Andy Wingo  <wingo@pobox.com>
18650
18651         * libs/gst/net/gstnettimeprovider.c
18652         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18653         (gst_net_time_provider_set_property)
18654         (gst_net_time_provider_get_property):
18655         API addition: Export "active" as a GObject property.
18656         (gst_net_time_provider_thread): Only respond to time queries if
18657         the time provider is active.
18658
18659         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18660         NetTimeProvider, preserving binary compat.
18661
18662 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18663
18664         * tests/examples/controller/audio-example.c: (main):
18665         * tests/examples/launch/Makefile.am:
18666           convert comments again
18667
18668 2005-12-12  Wim Taymans  <wim@fluendo.com>
18669
18670         * libs/gst/base/gstpushsrc.c:
18671         Fix typo.
18672
18673 2005-12-12  Wim Taymans  <wim@fluendo.com>
18674
18675         * docs/libs/gstreamer-libs-sections.txt:
18676         Added new symbol to docs.
18677
18678         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18679         (gst_base_src_init), (gst_base_src_set_format),
18680         (gst_base_src_default_query), (gst_base_src_query),
18681         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18682         (gst_base_src_perform_seek), (gst_base_src_send_event),
18683         (gst_base_src_default_event), (gst_base_src_event_handler),
18684         (gst_base_src_set_property), (gst_base_src_get_property),
18685         (gst_base_src_wait), (gst_base_src_do_sync),
18686         (gst_base_src_update_length), (gst_base_src_get_range),
18687         (gst_base_src_check_get_range), (gst_base_src_loop),
18688         (gst_base_src_default_negotiate), (gst_base_src_start),
18689         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18690         (gst_base_src_change_state):
18691         * libs/gst/base/gstbasesrc.h:
18692         Implement seeking to other formats than _BYTES.
18693         Implement more seeking methods correctly.
18694         Doc updates.
18695         Added query vmethod.
18696         Added do_seek vmethod to make life easier for subclasses
18697         when seeking.
18698         API addition: gst_base_src_set_format()
18699
18700 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18701
18702         * tests/examples/Makefile.am:
18703           added that too
18704
18705 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18706
18707         * configure.ac:
18708         * docs/random/ensonic/media-device-daemon.txt:
18709         * tests/examples/controller/.cvsignore:
18710         * tests/examples/controller/Makefile.am:
18711         * tests/examples/controller/audio-example.c: (main):
18712         * tests/examples/helloworld/.cvsignore:
18713         * tests/examples/helloworld/Makefile.am:
18714         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18715         * tests/examples/launch/.cvsignore:
18716         * tests/examples/launch/Makefile.am:
18717         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18718         * tests/examples/metadata/.cvsignore:
18719         * tests/examples/metadata/Makefile.am:
18720         * tests/examples/metadata/read-metadata.c: (message_loop),
18721         (make_pipeline), (print_tag), (main):
18722         * tests/examples/queue/.cvsignore:
18723         * tests/examples/queue/Makefile.am:
18724         * tests/examples/queue/queue.c: (event_loop), (main):
18725         * tests/examples/typefind/.cvsignore:
18726         * tests/examples/typefind/Makefile.am:
18727         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18728         (main):
18729         * tests/examples/xml/.cvsignore:
18730         * tests/examples/xml/Makefile.am:
18731         * tests/examples/xml/createxml.c: (object_saved), (main):
18732         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18733         * tests/old/examples/Makefile.am:
18734         * tests/old/examples/TODO:
18735         * tests/old/examples/controller/.cvsignore:
18736         * tests/old/examples/controller/Makefile.am:
18737         * tests/old/examples/controller/audio-example.c:
18738         * tests/old/examples/helloworld/.cvsignore:
18739         * tests/old/examples/helloworld/Makefile.am:
18740         * tests/old/examples/helloworld/helloworld.c:
18741         * tests/old/examples/launch/.cvsignore:
18742         * tests/old/examples/launch/Makefile.am:
18743         * tests/old/examples/launch/mp3parselaunch.c:
18744         * tests/old/examples/launch/mp3play:
18745         * tests/old/examples/manual/Makefile.am:
18746         * tests/old/examples/metadata/Makefile.am:
18747         * tests/old/examples/metadata/read-metadata.c:
18748         * tests/old/examples/queue/.cvsignore:
18749         * tests/old/examples/queue/Makefile.am:
18750         * tests/old/examples/queue/queue.c:
18751         * tests/old/examples/typefind/.cvsignore:
18752         * tests/old/examples/typefind/Makefile.am:
18753         * tests/old/examples/typefind/typefind.c:
18754         * tests/old/examples/xml/.cvsignore:
18755         * tests/old/examples/xml/Makefile.am:
18756         * tests/old/examples/xml/createxml.c:
18757         * tests/old/examples/xml/runxml.c:
18758           applied some simple fixing to some examples
18759           re-enabled the working examples
18760
18761 2005-12-12  Wim Taymans  <wim@fluendo.com>
18762
18763         * gst/gstsegment.c: (gst_segment_init),
18764         (gst_segment_set_last_stop), (gst_segment_set_seek),
18765         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18766         (gst_segment_to_running_time):
18767         Added more documentation.
18768         Make sure the last_pos value is updated properly.
18769         Make sure to_stream_time and to_running_time don't
18770         operate on wrong values.
18771
18772         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18773         Update check.
18774
18775 2005-12-12  Michael Smith  <msmith@fluendo.com>
18776
18777         * plugins/elements/gsttypefindelement.c: (free_entry),
18778         (gst_type_find_element_chain):
18779           Now that we're not leaking factories, make sure we keep references
18780           to them while we need them.
18781
18782 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18783
18784         * tests/check/gst/struct_i386.h:
18785           ifdef out the XML structs
18786
18787 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18788
18789         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18790           floor is not needed, F is always positive; this obviates the
18791           need for adding -lm when building without libxml
18792
18793 2005-12-12  Wim Taymans  <wim@fluendo.com>
18794
18795         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18796         Take current playback rate into account when reporting
18797         the position.
18798
18799 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18800
18801         * docs/manual/mime-world.fig:
18802           Let's try this again, this time with a file that is
18803           actually in XFig format.
18804
18805 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18806
18807         * docs/manual/mime-world.fig:
18808           Add audioconvert element to diagram so that it
18809           matches the text and the code (fixes #319526).
18810
18811 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18812
18813         * docs/pwg/building-chainfn.xml:
18814         * docs/pwg/building-pads.xml:
18815         * docs/pwg/building-state.xml:
18816         * docs/pwg/other-source.xml:
18817           Update state change stuff for 0.10 (fixes #322969).
18818
18819 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18820
18821         * docs/manual/advanced-dataaccess.xml:
18822         * docs/manual/appendix-checklist.xml:
18823         * docs/manual/appendix-programs.xml:
18824         * docs/manual/basics-pads.xml:
18825         * docs/manual/highlevel-components.xml:
18826         * docs/manual/manual.xml:
18827           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18828           add converters in front of pipelines; remove curly
18829           brackets for threads stuff, they no longer exist; use
18830           GST_TYPE_FRACTION for framerates; update some pieces of
18831           code to 0.10, but there's plenty more to do.
18832
18833         * docs/manual/appendix-porting.xml:
18834           Expand on asynchroneous state changes; s/0.9/0.10/;
18835           mention disappearance of gst_init_get_popt_table()
18836           (fixes #322916).
18837
18838 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18839
18840         * docs/faq/using.xml:
18841           Spider no longer exists, and neither does gst-launch-ext.
18842           Update examples to use decodebin and playbin and put
18843           converters in front of sinks (fixes #323726).
18844
18845 2005-12-09  Michael Smith  <msmith@fluendo.com>
18846
18847         * plugins/elements/gsttypefindelement.c: (find_peek),
18848         (gst_type_find_element_chain):
18849           Fix leaking element factories in typefinding.
18850           Fix problem where we forgot about a probable type on non-seekable
18851           files, and thus later mis-typefound it.
18852
18853 2005-12-09  Michael Smith  <msmith@fluendo.com>
18854
18855         * common/m4/gst-makecontext.m4:
18856         * common/m4/gst-mcsc.m4:
18857         * configure.ac:
18858         * win32/common/config.h:
18859         * win32/common/config.h.in:
18860           Remove makecontext stuff; not used in 0.10 and causes problems on
18861           HPUX according to bug #322441
18862
18863 2005-12-07  Wim Taymans  <wim@fluendo.com>
18864
18865         * tests/check/Makefile.am:
18866         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18867         (main):
18868         * tests/check/libs/struct_i386.h:
18869         Added ABI check for libs
18870
18871 2005-12-07  Wim Taymans  <wim@fluendo.com>
18872
18873         * tests/check/Makefile.am:
18874         And add the struct_i386.h to dist.
18875
18876 2005-12-07  Wim Taymans  <wim@fluendo.com>
18877
18878         * tests/check/Makefile.am:
18879         * tests/check/gst/.cvsignore:
18880         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18881         (main):
18882         * tests/check/gst/struct_i386.h:
18883         Added check for ABI compatibility.
18884
18885 2005-12-07  Wim Taymans  <wim@fluendo.com>
18886
18887         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18888         (gst_fake_src_get_times), (gst_fake_src_create):
18889         Fix broken sync option, fixes #323259
18890
18891 2005-12-07  Wim Taymans  <wim@fluendo.com>
18892
18893         * gst/gstbuffer.c:
18894         Small docs update.
18895
18896         * gst/gstcaps.c: (gst_caps_is_equal):
18897         Don't assert on NULL <--> X. Fixes #323260
18898
18899         * gst/gstminiobject.c: (gst_mini_object_replace):
18900         If we're doing atomic operations, we might just as well use
18901         the proper way to get an atomic pointer.
18902
18903         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18904         Clean up debugging.
18905
18906 2005-12-07  Michael Smith  <msmith@fluendo.com>
18907
18908         * gst/parse/grammar.y:
18909           Remove handling of { } for threads.
18910
18911 2005-12-06  David Schleef  <ds@schleef.org>
18912
18913         * libs/gst/base/gstbasetransform.c: speling fix.
18914
18915 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18916
18917         * docs/libs/tmpl/gstdataprotocol.sgml:
18918         * docs/random/omega/testing/gstobject.c:
18919         * gst/gst.c:
18920         * gst/gstclock.c:
18921         * gst/gstelement.c:
18922         * gst/gstelementfactory.c:
18923         * gst/gsterror.c:
18924         * gst/gstevent.c:
18925         * gst/gstghostpad.c:
18926         * gst/gstinfo.c:
18927         * gst/gstpadtemplate.c:
18928         * gst/gstregistryxml.c:
18929         * gst/gsttaglist.c:
18930         * gst/gsttagsetter.c:
18931         * gst/gsttypefind.c:
18932         * gst/gstvalue.c:
18933         * libs/gst/base/gstbasesrc.c:
18934         * libs/gst/net/gstnetclientclock.c:
18935         * libs/gst/net/gstnettimeprovider.c:
18936         * plugins/elements/gstfakesrc.c:
18937         * plugins/elements/gstfdsrc.c:
18938         * plugins/elements/gstfilesrc.c:
18939         * plugins/elements/gstidentity.c:
18940         * plugins/elements/gstqueue.c:
18941         * plugins/elements/gsttypefindelement.c:
18942         * plugins/indexers/gstfileindex.c:
18943         * plugins/indexers/gstmemindex.c:
18944         * tests/check/gst/gsttag.c:
18945         * tests/old/examples/cutter/cutter.c:
18946         * tests/old/examples/mixer/mixer.c:
18947         * tests/old/examples/xml/runxml.c: (main):
18948         * tests/old/testsuite/caps/normalisation.c:
18949         * tests/old/testsuite/debug/global.c:
18950         * tests/old/testsuite/parse/parse1.c:
18951         * tools/gst-xmlinspect.c:
18952         * win32/common/dirent.c:
18953           expand tabs
18954
18955 === release 0.10.0 ===
18956
18957 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18958
18959         * configure.ac:
18960           releasing 0.10.0, "Maroilles"
18961
18962 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18963
18964         submitted by: Funda Wang <fundawang@linux.net.cn>
18965
18966         * po/LINGUAS:
18967         * po/zh_CN.po:
18968           added Chinese (Traditional) translation
18969
18970 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18971
18972         * docs/gst/gstreamer-sections.txt:
18973         * docs/libs/tmpl/gstdataprotocol.sgml:
18974         * docs/random/thomasvs/TODO:
18975         * gst/gstutils.c:
18976         * gst/gstutils.h:
18977           fix docs
18978
18979 2005-12-05  Andy Wingo  <wingo@pobox.com>
18980
18981         patch by: Wim Taymans <wim@fluendo.com>
18982
18983         * libs/gst/base/gstbasetransform.c
18984         (gst_base_transform_prepare_output_buf)
18985         (gst_base_transform_buffer_alloc):
18986         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18987         alloc_buffer_and_set_caps.
18988
18989         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18990         set_caps on the source pad.
18991         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18992         alloc_buffer used to do. Fixes #322874.
18993
18994         * docs/gst/gstreamer-sections.txt: 
18995         * docs/design/part-negotiation.txt: 
18996         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18997         changes.
18998
18999 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19000
19001         patch by: Sebastien Moutte
19002
19003         * win32/MANIFEST:
19004         * win32/common/config.h.in:
19005         * win32/vs6/libgstcontroller.dsp:
19006           win32 build fixes
19007
19008 2005-12-05  Wim Taymans  <wim@fluendo.com>
19009
19010         * gst/gstcaps.c: (gst_caps_is_equal):
19011         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19012         (gst_fake_src_create):
19013         Back out previous code changes, leave doc updates, file bugs 
19014         instead. 
19015
19016 2005-12-05  Wim Taymans  <wim@fluendo.com>
19017
19018         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19019         (gst_fake_src_get_times), (gst_fake_src_create):
19020         * plugins/elements/gstfakesrc.h:
19021         Fix broken sync code.
19022
19023 2005-12-05  Wim Taymans  <wim@fluendo.com>
19024
19025         * gst/gstcaps.c: (gst_caps_is_equal):
19026         Comparing NULL against !NULL yields different caps, not a
19027         failure.
19028
19029 2005-12-05  Wim Taymans  <wim@fluendo.com>
19030
19031         * gst/gstpipeline.c:
19032         Fix small typo in docs.
19033
19034 2005-12-05  Andy Wingo  <wingo@pobox.com>
19035
19036         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
19037
19038         * gst/gst.c (init_post): remove hard-coded 0.9 location for
19039         registries/plugins with a MAJORMINOR one.
19040         (plugin_desc): Rename library from gstcoreleements to
19041         staticelements. Fixes #323222.
19042
19043 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
19044
19045         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
19046           Change debug category to 'collectpads' from 'collect_pads'
19047           (fixes #323250).
19048
19049 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19050
19051         patch by: Sebastien Moutte
19052
19053         * libs/gst/controller/gstinterpolation.c:
19054           use convert function for uint64/double
19055         * win32/vs6/libgstcontroller.dsp:
19056           link to GLib
19057
19058 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19059
19060         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
19061         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
19062         * gst/gstutils.h:
19063         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19064           add tests that seem to show that the guint64/gdouble conversions
19065           are correct.
19066
19067 2005-12-02  Wim Taymans  <wim@fluendo.com>
19068
19069         * gst/gstregistry.c: (gst_registry_add_path):
19070         * gst/gstregistry.h:
19071         * gst/gstregistryxml.c:
19072         Fix docs again.
19073
19074 2005-12-02  Wim Taymans  <wim@fluendo.com>
19075
19076         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19077         (gst_util_uint64_scale_int):
19078         Small cleanup.
19079
19080         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19081         Add debug log line.
19082
19083         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19084         Add FIXME.
19085
19086 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19087
19088         * win32/MANIFEST:
19089         * win32/common/config.h:
19090         * win32/vs6/gstreamer.dsw:
19091         * win32/vs6/libgstcoreelements.dsp:
19092         * win32/vs6/libgstelements.dsp:
19093           renamed core elements plugin
19094
19095 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19096
19097         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19098         (get_candidates):
19099           do piece-wise major/minor comparison so 0.9 < 0.10
19100           also allow .exe extensions for tools
19101
19102 2005-12-02  Michael Smith  <msmith@fluendo.com>
19103
19104         * gst/gst.c:
19105           Escape a % to make gtkdoc happier; bug 322958.
19106
19107 === release 0.9.7 ===
19108
19109 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19110
19111         * configure.ac:
19112           releasing 0.9.7, "My Dog Has No Nose"
19113
19114 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19115
19116         * common/gst-xmlinspect.py:
19117         * configure.ac:
19118         * docs/libs/tmpl/gstdataprotocol.sgml:
19119         * docs/random/release:
19120         * po/af.po:
19121         * po/az.po:
19122         * po/bg.po:
19123         * po/ca.po:
19124         * po/cs.po:
19125         * po/de.po:
19126         * po/en_GB.po:
19127         * po/fr.po:
19128         * po/it.po:
19129         * po/nb.po:
19130         * po/nl.po:
19131         * po/ru.po:
19132         * po/sq.po:
19133         * po/sr.po:
19134         * po/sv.po:
19135         * po/tr.po:
19136         * po/uk.po:
19137         * po/vi.po:
19138         * win32/common/config.h:
19139         * win32/common/config.h.in:
19140         * win32/vs6/gst_inspect.dsp:
19141         * win32/vs6/gst_launch.dsp:
19142         * win32/vs6/libgstbase.dsp:
19143         * win32/vs6/libgstelements.dsp:
19144         * win32/vs6/libgstreamer.dsp:
19145         * win32/vs7/GStreamer.vcproj:
19146         * win32/vs7/gst-inspect.vcproj:
19147         * win32/vs7/gst-launch.vcproj:
19148         * win32/vs7/libgstbase.vcproj:
19149           bump GST_MAJORMINOR to 0.10
19150           reset libtool version
19151
19152 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19153
19154         * po/LINGUAS:
19155         * po/bg.po:
19156           Added Bulgarian translation by (Alexander Shopov)
19157
19158 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19159
19160         * tests/check/gst/gstplugin.c:
19161           fix test
19162
19163 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19164
19165         * common/gst-xmlinspect.py:
19166         * common/gtk-doc-plugins.mak:
19167         * configure.ac:
19168         * docs/Makefile.am:
19169         * docs/gst/Makefile.am:
19170         * docs/gst/gstreamer-docs.sgml:
19171         * docs/gst/gstreamer-sections.txt:
19172         * docs/gst/gstreamer.types:
19173         * docs/gst/gstreamer.types.in:
19174         * docs/plugins/Makefile.am:
19175         * docs/plugins/gstreamer-plugins-docs.sgml:
19176         * docs/plugins/gstreamer-plugins-sections.txt:
19177         * docs/plugins/gstreamer-plugins.types:
19178         * docs/plugins/inspect.stamp:
19179         * docs/plugins/inspect/plugin-coreelements.xml:
19180         * docs/plugins/inspect/plugin-coreindexers.xml:
19181         * docs/plugins/scanobj-build.stamp:
19182         * gstreamer.spec.in:
19183         * plugins/elements/Makefile.am:
19184         * plugins/elements/gstelements.c:
19185         * plugins/elements/gstfakesink.c:
19186         * plugins/elements/gstfakesrc.c:
19187         * plugins/elements/gstfilesink.c:
19188         * plugins/elements/gstfilesrc.c:
19189         * plugins/elements/gstqueue.c:
19190         * plugins/indexers/Makefile.am:
19191         * plugins/indexers/gstindexers.c:
19192           document core plugins in a separate document just like all the
19193           others
19194           rename these plugins to something starting with core
19195
19196 2005-12-01  Andy Wingo  <wingo@pobox.com>
19197
19198         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19199         padding here before, but it missed the commit.
19200
19201 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19202
19203         * libs/gst/controller/gstinterpolation.c:
19204           whitespace prices have crashed, we should feel free to use some now
19205           use gst_guint64_to_gdouble
19206
19207 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19208
19209         * libs/gst/controller/gstcontroller.c:
19210         * libs/gst/controller/gsthelper.c:
19211         * libs/gst/controller/gstinterpolation.c:
19212         * libs/gst/controller/lib.c:
19213           wrap config.h include
19214
19215 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19216
19217         * docs/gst/gstreamer-sections.txt:
19218           update docs
19219
19220 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19221
19222         * plugins/elements/gstelements.c:
19223         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19224         (gst_fd_sink__class_init), (gst_fd_sink__init),
19225         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19226         (gst_fd_sink__get_property):
19227         * plugins/elements/gstfdsink.h:
19228         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19229         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19230         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19231         (gst_fd_src_unlock), (gst_fd_src_set_property),
19232         (gst_fd_src_get_property), (gst_fd_src_create),
19233         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19234         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19235         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19236         (gst_fd_src_uri_handler_init):
19237         * plugins/elements/gstfdsrc.h:
19238         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19239           more anal cleanup
19240
19241 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19242
19243         * docs/gst/Makefile.am:
19244         * docs/gst/gstreamer.types.in:
19245         * gst/Makefile.am:
19246           fix the docs build
19247
19248 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19249
19250         * configure.ac:
19251         * gst/Makefile.am:
19252         * gst/gst.c:
19253         * gst/gstplugin.h:
19254         * gst/gstregistry.h:
19255         * tests/benchmarks/complexity.c:
19256         * tests/benchmarks/mass-elements.c:
19257         * tests/check/Makefile.am:
19258         * tools/Makefile.am:
19259         * tools/gst-inspect.c:
19260         * tools/gst-xmlinspect.c:
19261           various fixes to make
19262           --disable-nls --disable-registry --disable-loadsave
19263           --disable-parse --disable-gst-debug
19264           work and get the core .so down to 360444 bytes after stripping
19265
19266 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19267
19268         * Makefile.am:
19269         * configure.ac:
19270           descend into tests
19271         * docs/random/thomasvs/TODO:
19272         * tests/Makefile.am:
19273         * tests/README:
19274           add a README
19275
19276 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19277
19278         * win32/GStreamer.vcproj:
19279         * win32/MANIFEST:
19280         * win32/Makefile:
19281         * win32/Makefile.inspect:
19282         * win32/Makefile.launch:
19283         * win32/Makefile.register:
19284         * win32/README.txt:
19285         * win32/gst-inspect.vcproj:
19286         * win32/gst-launch.vcproj:
19287         * win32/gst-register.vcproj:
19288         * win32/gstelements.vcproj:
19289         * win32/gstgetbits.def:
19290         * win32/gstgetbits.vcproj:
19291         * win32/gstreamer-dbg.def:
19292         * win32/gstreamer.def:
19293         * win32/libgstbase.def:
19294         * win32/libgstbase.vcproj:
19295         * win32/link_oldruntime.c:
19296         * win32/mman.c:
19297         * win32/mman.h:
19298         * win32/mman.inl:
19299         * win32/msvc71.sln:
19300           move even more stuff, win32/ is nice and clean now
19301
19302 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19303
19304         * libs/gst/control/.cvsignore:
19305         * win32/MANIFEST:
19306         * win32/config.h:
19307         * win32/dirent.c:
19308         * win32/dirent.h:
19309         * win32/gstbytestream.def:
19310         * win32/gstbytestream.vcproj:
19311         * win32/gstconfig.h:
19312         * win32/gstenumtypes.c:
19313         * win32/gstenumtypes.h:
19314         * win32/gstoptimalscheduler.vcproj:
19315         * win32/gstversion.h:
19316         * win32/gtchar.h:
19317         * win32/testsuite/bins.vcproj:
19318         * win32/testsuite/bytestream.vcproj:
19319         * win32/testsuite/caps.vcproj:
19320         * win32/testsuite/cleanup.vcproj:
19321         * win32/testsuite/clock.vcproj:
19322         * win32/testsuite/debug.vcproj:
19323         * win32/testsuite/dlopen.vcproj:
19324         * win32/testsuite/dynparams.vcproj:
19325         * win32/testsuite/elements.vcproj:
19326         * win32/testsuite/ghostpads.vcproj:
19327         * win32/testsuite/indexers.vcproj:
19328         * win32/testsuite/negotiation.vcproj:
19329         * win32/testsuite/parse.vcproj:
19330         * win32/testsuite/plugin.vcproj:
19331         * win32/testsuite/refcounting.vcproj:
19332         * win32/testsuite/schedulers.vcproj:
19333         * win32/testsuite/states.vcproj:
19334         * win32/testsuite/tags.vcproj:
19335         * win32/testsuite/threads.vcproj:
19336           remove old win32 stuff that isn't maintained and should be
19337           reorganized
19338
19339 2005-11-30  Andy Wingo  <wingo@pobox.com>
19340
19341         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19342         loading the gst.interfaces python module bork.
19343
19344         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19345         available since GLib 2.2. Fixes #318031.
19346
19347 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19348
19349         * Makefile.am:
19350         * check/.cvsignore:
19351         * check/Makefile.am:
19352         * check/elements/.cvsignore:
19353         * check/elements/fakesrc.c:
19354         * check/elements/fdsrc.c:
19355         * check/elements/identity.c:
19356         * check/generic/.cvsignore:
19357         * check/generic/states.c:
19358         * check/gst-libs/.cvsignore:
19359         * check/gst-libs/controller.c:
19360         * check/gst-libs/gdp.c:
19361         * check/gst/.cvsignore:
19362         * check/gst/capslist.h:
19363         * check/gst/gst.c:
19364         * check/gst/gstbin.c:
19365         * check/gst/gstbuffer.c:
19366         * check/gst/gstbus.c:
19367         * check/gst/gstcaps.c:
19368         * check/gst/gstelement.c:
19369         * check/gst/gstevent.c:
19370         * check/gst/gstghostpad.c:
19371         * check/gst/gstiterator.c:
19372         * check/gst/gstmessage.c:
19373         * check/gst/gstminiobject.c:
19374         * check/gst/gstobject.c:
19375         * check/gst/gstpad.c:
19376         * check/gst/gstpipeline.c:
19377         * check/gst/gstplugin.c:
19378         * check/gst/gstsegment.c:
19379         * check/gst/gststructure.c:
19380         * check/gst/gstsystemclock.c:
19381         * check/gst/gsttag.c:
19382         * check/gst/gstutils.c:
19383         * check/gst/gstvalue.c:
19384         * check/net/.cvsignore:
19385         * check/net/gstnetclientclock.c:
19386         * check/net/gstnettimeprovider.c:
19387         * check/pipelines/.cvsignore:
19388         * check/pipelines/cleanup.c:
19389         * check/pipelines/simple_launch_lines.c:
19390         * check/pipelines/stress.c:
19391         * check/states/.cvsignore:
19392         * check/states/sinks.c:
19393         * configure.ac:
19394         * examples/Makefile.am:
19395         * examples/appreader/.cvsignore:
19396         * examples/appreader/Makefile.am:
19397         * examples/appreader/appreader.c:
19398         * examples/controller/.cvsignore:
19399         * examples/controller/Makefile.am:
19400         * examples/controller/audio-example.c:
19401         * examples/cutter/.cvsignore:
19402         * examples/cutter/Makefile.am:
19403         * examples/cutter/cutter.c:
19404         * examples/cutter/cutter.h:
19405         * examples/events/Makefile.am:
19406         * examples/events/seek.c:
19407         * examples/helloworld/.cvsignore:
19408         * examples/helloworld/Makefile.am:
19409         * examples/helloworld/helloworld.c:
19410         * examples/helloworld2/.cvsignore:
19411         * examples/helloworld2/Makefile.am:
19412         * examples/helloworld2/helloworld2.c:
19413         * examples/launch/.cvsignore:
19414         * examples/launch/Makefile.am:
19415         * examples/launch/mp3parselaunch.c:
19416         * examples/launch/mp3play:
19417         * examples/manual/.cvsignore:
19418         * examples/manual/Makefile.am:
19419         * examples/manual/extract.pl:
19420         * examples/metadata/Makefile.am:
19421         * examples/metadata/read-metadata.c:
19422         * examples/mixer/.cvsignore:
19423         * examples/mixer/Makefile.am:
19424         * examples/mixer/mixer.c:
19425         * examples/mixer/mixer.h:
19426         * examples/pingpong/.cvsignore:
19427         * examples/pingpong/Makefile.am:
19428         * examples/pingpong/pingpong.c:
19429         * examples/plugins/.cvsignore:
19430         * examples/plugins/Makefile.am:
19431         * examples/plugins/example.c:
19432         * examples/plugins/example.h:
19433         * examples/pwg/.cvsignore:
19434         * examples/pwg/Makefile.am:
19435         * examples/pwg/extract.pl:
19436         * examples/queue/.cvsignore:
19437         * examples/queue/Makefile.am:
19438         * examples/queue/queue.c:
19439         * examples/queue2/.cvsignore:
19440         * examples/queue2/Makefile.am:
19441         * examples/queue2/queue2.c:
19442         * examples/queue3/.cvsignore:
19443         * examples/queue3/Makefile.am:
19444         * examples/queue3/queue3.c:
19445         * examples/queue4/.cvsignore:
19446         * examples/queue4/Makefile.am:
19447         * examples/queue4/queue4.c:
19448         * examples/retag/.cvsignore:
19449         * examples/retag/Makefile.am:
19450         * examples/retag/retag.c:
19451         * examples/retag/transcode.c:
19452         * examples/thread/.cvsignore:
19453         * examples/thread/Makefile.am:
19454         * examples/thread/thread.c:
19455         * examples/typefind/.cvsignore:
19456         * examples/typefind/Makefile.am:
19457         * examples/typefind/typefind.c:
19458         * examples/xml/.cvsignore:
19459         * examples/xml/Makefile.am:
19460         * examples/xml/createxml.c:
19461         * examples/xml/runxml.c:
19462         * tests/Makefile.am:
19463         * tests/check/Makefile.am:
19464         * testsuite/.cvsignore:
19465         * testsuite/Makefile.am:
19466         * testsuite/Rules:
19467         * testsuite/caps/.cvsignore:
19468         * testsuite/caps/Makefile.am:
19469         * testsuite/caps/app_fixate.c:
19470         * testsuite/caps/audioscale.c:
19471         * testsuite/caps/caps.c:
19472         * testsuite/caps/caps.h:
19473         * testsuite/caps/caps_strings:
19474         * testsuite/caps/compatibility.c:
19475         * testsuite/caps/deserialize.c:
19476         * testsuite/caps/enumcaps.c:
19477         * testsuite/caps/eratosthenes.c:
19478         * testsuite/caps/filtercaps.c:
19479         * testsuite/caps/fixed.c:
19480         * testsuite/caps/fraction-convert.c:
19481         * testsuite/caps/fraction-multiply-and-zero.c:
19482         * testsuite/caps/intersect2.c:
19483         * testsuite/caps/intersection.c:
19484         * testsuite/caps/normalisation.c:
19485         * testsuite/caps/random.c:
19486         * testsuite/caps/renegotiate.c:
19487         * testsuite/caps/sets.c:
19488         * testsuite/caps/simplify.c:
19489         * testsuite/caps/string-conversions.c:
19490         * testsuite/caps/structure.c:
19491         * testsuite/caps/subtract.c:
19492         * testsuite/caps/union.c:
19493         * testsuite/debug/.cvsignore:
19494         * testsuite/debug/Makefile.am:
19495         * testsuite/debug/category.c:
19496         * testsuite/debug/commandline.c:
19497         * testsuite/debug/global.c:
19498         * testsuite/debug/output.c:
19499         * testsuite/debug/printf_extension.c:
19500         * testsuite/dlopen/.cvsignore:
19501         * testsuite/dlopen/Makefile.am:
19502         * testsuite/dlopen/dlopen_gst.c:
19503         * testsuite/dlopen/loadgst.c:
19504         * testsuite/elements/.cvsignore:
19505         * testsuite/elements/Makefile.am:
19506         * testsuite/elements/gst-inspect-check.in:
19507         * testsuite/elements/struct_i386.h:
19508         * testsuite/elements/struct_size.c:
19509         * testsuite/indexers/.cvsignore:
19510         * testsuite/indexers/Makefile.am:
19511         * testsuite/indexers/cache1.c:
19512         * testsuite/indexers/indexdump.c:
19513         * testsuite/parse/.cvsignore:
19514         * testsuite/parse/Makefile.am:
19515         * testsuite/parse/parse1.c:
19516         * testsuite/parse/parse2.c:
19517         * testsuite/plugin/.cvsignore:
19518         * testsuite/plugin/Makefile.am:
19519         * testsuite/plugin/README:
19520         * testsuite/plugin/dynamic.c:
19521         * testsuite/plugin/linked.c:
19522         * testsuite/plugin/loading.c:
19523         * testsuite/plugin/registry.c:
19524         * testsuite/plugin/static.c:
19525         * testsuite/plugin/static2.c:
19526         * testsuite/plugin/testplugin.c:
19527         * testsuite/plugin/testplugin2.c:
19528         * testsuite/plugin/testplugin2_s.c:
19529         * testsuite/plugin/testplugin_s.c:
19530         * testsuite/refcounting/.cvsignore:
19531         * testsuite/refcounting/Makefile.am:
19532         * testsuite/refcounting/bin.c:
19533         * testsuite/refcounting/element.c:
19534         * testsuite/refcounting/element_pad.c:
19535         * testsuite/refcounting/mainloop.c:
19536         * testsuite/refcounting/mem.c:
19537         * testsuite/refcounting/mem.h:
19538         * testsuite/refcounting/object.c:
19539         * testsuite/refcounting/pad.c:
19540         * testsuite/refcounting/sched.c:
19541         * testsuite/refcounting/thread.c:
19542         * testsuite/states/.cvsignore:
19543         * testsuite/states/Makefile.am:
19544         * testsuite/states/bin.c:
19545         * testsuite/states/locked.c:
19546         * testsuite/states/parent.c:
19547         * testsuite/threads/.cvsignore:
19548         * testsuite/threads/159566.c:
19549         * testsuite/threads/159852.c:
19550         * testsuite/threads/Makefile.am:
19551         * testsuite/threads/queue.c:
19552         * testsuite/threads/signals.c:
19553         * testsuite/threads/staticrec.c:
19554         * testsuite/threads/thread.c:
19555         * testsuite/threads/threadb.c:
19556         * testsuite/threads/threadc.c:
19557         * testsuite/threads/threadd.c:
19558         * testsuite/threads/threade.c:
19559         * testsuite/threads/threadf.c:
19560         * testsuite/threads/threadg.c:
19561         * testsuite/threads/threadh.c:
19562         * testsuite/threads/threadi.c:
19563           move all of these under tests
19564
19565 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19566
19567         * configure.ac:
19568         * tests/Makefile.am:
19569           fix distcheck
19570
19571 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19572
19573         * docs/gst/gstreamer-sections.txt:
19574         * tests/sched/.cvsignore:
19575         * tests/sched/Makefile.am:
19576         * tests/sched/cases/(fs-fs).xml:
19577         * tests/sched/cases/(fs-i-fs).xml:
19578         * tests/sched/cases/(fs-i-i-fs).xml:
19579         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19580         * tests/sched/dynamic-pipeline.c:
19581         * tests/sched/interrupt1.c:
19582         * tests/sched/interrupt2.c:
19583         * tests/sched/interrupt3.c:
19584         * tests/sched/runtestcases:
19585         * tests/sched/runxml.c:
19586         * tests/sched/sched-stress.c:
19587         * tests/sched/sort.c:
19588         * tests/sched/testcases:
19589         * tests/sched/testcases1.tc:
19590         * tests/seeking/.cvsignore:
19591         * tests/seeking/Makefile.am:
19592         * tests/seeking/seeking1.c:
19593         * tests/threadstate/.cvsignore:
19594         * tests/threadstate/Makefile.am:
19595         * tests/threadstate/test1.c:
19596         * tests/threadstate/test2.c:
19597         * tests/threadstate/threadstate1.c:
19598         * tests/threadstate/threadstate2.c:
19599         * tests/threadstate/threadstate3.c:
19600         * tests/threadstate/threadstate4.c:
19601         * tests/threadstate/threadstate5.c:
19602           remove obsolete tests
19603         * configure.ac:
19604         * tests/bench-complexity.scm:
19605         * tests/bench-mass_elements.scm:
19606         * tests/complexity.c:
19607         * tests/complexity.gnuplot:
19608         * tests/instantiate/.cvsignore:
19609         * tests/instantiate/Makefile.am:
19610         * tests/instantiate/caps.c:
19611         * tests/mass_elements.c:
19612         * tests/network-clock-utils.scm:
19613         * tests/network-clock.scm:
19614         * tests/plot-data:
19615         First pass at cleaning up tests/ dir before moving the rest
19616         Combined with CVS surgery
19617
19618 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19619
19620         * po/POTFILES.in:
19621           queue has moved, update
19622
19623 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19624
19625         * docs/gst/gstreamer-sections.txt:
19626           remove double entries from the docs
19627         * gst/gst_private.h:
19628         * gst/gstinfo.c: (_gst_debug_init):
19629           remove the THREAD debug category
19630         * gst/Makefile.am:
19631         * gst/gstqueue.c:
19632         * gst/gstqueue.h:
19633         * docs/gst/gstreamer.types:
19634         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19635         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19636           completely move queue and fix up debugging categories
19637
19638 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19639
19640         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19641           make initialization portable, using LL is not
19642
19643 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19644
19645         * win32/common/gstconfig.h:
19646           add large padding
19647
19648 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19649
19650         * win32/common/libgstreamer.def:
19651           rename symbols; sort base section
19652
19653 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19654
19655         * gst/gstclock.c: (do_linear_regression):
19656           remove crack non-portable handrolled DEBUG macro
19657
19658 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19659
19660         * docs/random/release:
19661           update notes
19662         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19663         (gst_object_flags_get_type), (register_gst_bin_flags),
19664         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19665         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19666         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19667         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19668         (gst_caps_flags_get_type), (register_gst_clock_return),
19669         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19670         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19671         (gst_clock_flags_get_type), (register_gst_state),
19672         (gst_state_get_type), (register_gst_state_change_return),
19673         (gst_state_change_return_get_type), (register_gst_state_change),
19674         (gst_state_change_get_type), (register_gst_element_flags),
19675         (gst_element_flags_get_type), (register_gst_core_error),
19676         (gst_core_error_get_type), (register_gst_library_error),
19677         (gst_library_error_get_type), (register_gst_resource_error),
19678         (gst_resource_error_get_type), (register_gst_stream_error),
19679         (gst_stream_error_get_type), (register_gst_event_type_flags),
19680         (gst_event_type_flags_get_type), (register_gst_event_type),
19681         (gst_event_type_get_type), (register_gst_seek_type),
19682         (gst_seek_type_get_type), (register_gst_seek_flags),
19683         (gst_seek_flags_get_type), (register_gst_format),
19684         (gst_format_get_type), (register_gst_index_certainty),
19685         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19686         (gst_index_entry_type_get_type),
19687         (register_gst_index_lookup_method),
19688         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19689         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19690         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19691         (gst_index_flags_get_type), (register_gst_debug_level),
19692         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19693         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19694         (gst_iterator_result_get_type), (register_gst_iterator_item),
19695         (gst_iterator_item_get_type), (register_gst_message_type),
19696         (gst_message_type_get_type), (register_gst_mini_object_flags),
19697         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19698         (gst_pad_link_return_get_type), (register_gst_flow_return),
19699         (gst_flow_return_get_type), (register_gst_activate_mode),
19700         (gst_activate_mode_get_type), (register_gst_pad_direction),
19701         (gst_pad_direction_get_type), (register_gst_pad_flags),
19702         (gst_pad_flags_get_type), (register_gst_pad_presence),
19703         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19704         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19705         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19706         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19707         (gst_plugin_flags_get_type), (register_gst_rank),
19708         (gst_rank_get_type), (register_gst_query_type),
19709         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19710         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19711         (gst_tag_flag_get_type), (register_gst_task_state),
19712         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19713         (gst_alloc_trace_flags_get_type),
19714         (register_gst_type_find_probability),
19715         (gst_type_find_probability_get_type), (register_gst_uri_type),
19716         (gst_uri_type_get_type), (register_gst_parse_error),
19717         (gst_parse_error_get_type):
19718         * win32/common/gstenumtypes.h:
19719         * win32/common/gstversion.h:
19720           update visual studio generated files
19721
19722 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19723
19724         * win32/vs6/libgstbase.dsp:
19725         * win32/vs6/libgstelements.dsp:
19726           update project files for new locations
19727
19728 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19729
19730         * Makefile.am:
19731           remove some files
19732         * README:
19733           reinstate and update
19734         * DEVEL:
19735         * REQUIREMENTS:
19736           removed
19737         * LICENSE:
19738         * docs/random/LICENSE:
19739           moved to random
19740
19741 2005-11-30  Edward Hervey  <edward@fluendo.com>
19742
19743         * gst/gsttypefind.c: (gst_type_find_register):
19744         * gst/gsttypefind.h:
19745         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19746         (gst_type_find_factory_dispose):
19747         * gst/gsttypefindfactory.h:
19748         Fix memory leak in GstTypeFindFactory.
19749
19750 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19751
19752         * gst/gst.c:
19753         * plugins/elements/Makefile.am:
19754         * plugins/elements/gstelements.c:
19755         * plugins/elements/gstqueue.c:
19756           move queue from core to the elements plugin
19757
19758 2005-11-29  Andy Wingo  <wingo@pobox.com>
19759
19760         * libs/gst/base/gstbasetransform.h: 
19761         * libs/gst/base/gstbasesrc.h: 
19762         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19763
19764         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19765         of pointers by which to pad very extensible base classes (like the
19766         ones in libs/gst/base).
19767
19768 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19769
19770         * docs/gst/gstreamer-docs.sgml:
19771         * docs/gst/gstreamer-sections.txt:
19772         * docs/libs/gstreamer-libs-docs.sgml:
19773         * docs/libs/gstreamer-libs-sections.txt:
19774           moving documentation from core to lib
19775
19776 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19777
19778         * check/Makefile.am:
19779         * configure.ac:
19780         * docs/gst/Makefile.am:
19781         * gst/Makefile.am:
19782         * gst/base/.cvsignore:
19783         * gst/base/Makefile.am:
19784         * gst/base/README:
19785         * gst/base/gstadapter.c:
19786         * gst/base/gstadapter.h:
19787         * gst/base/gstbasesink.c:
19788         * gst/base/gstbasesink.h:
19789         * gst/base/gstbasesrc.c:
19790         * gst/base/gstbasesrc.h:
19791         * gst/base/gstbasetransform.c:
19792         * gst/base/gstbasetransform.h:
19793         * gst/base/gstcollectpads.c:
19794         * gst/base/gstcollectpads.h:
19795         * gst/base/gstpushsrc.c:
19796         * gst/base/gstpushsrc.h:
19797         * gst/base/gsttypefindhelper.c:
19798         * gst/base/gsttypefindhelper.h:
19799         * gst/check/Makefile.am:
19800         * gst/check/gstcheck.c:
19801         * gst/check/gstcheck.h:
19802         * gst/net/Makefile.am:
19803         * gst/net/gstnet.h:
19804         * gst/net/gstnetclientclock.c:
19805         * gst/net/gstnetclientclock.h:
19806         * gst/net/gstnettimepacket.c:
19807         * gst/net/gstnettimepacket.h:
19808         * gst/net/gstnettimeprovider.c:
19809         * gst/net/gstnettimeprovider.h:
19810         * libs/gst/Makefile.am:
19811         * libs/gst/base/Makefile.am:
19812         * libs/gst/base/gstbasetransform.c:
19813         * libs/gst/check/Makefile.am:
19814         * plugins/elements/Makefile.am:
19815         * po/POTFILES.in:
19816           CVS surgery + support to move base, check, and net out of gst
19817           and into libs/gst
19818
19819 2005-11-29  Andy Wingo  <wingo@pobox.com>
19820
19821         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19822
19823         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19824         padding.
19825
19826         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19827
19828         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19829
19830         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19831
19832         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19833         padding; reduces object size by about 30%. We don't expect
19834         anything else to go into gstobject.
19835
19836         * gst/gstminiobject.h (struct _GstMiniObject)
19837         (struct _GstMiniObjectClass): Only one pointer of padding; the
19838         payload is only a pointer and two ints anyway. For the class there
19839         are only two methods as well.
19840         
19841         * gst/gstelement.h (struct _GstElementClass): Removed
19842         the state_changed signal callback, it is not used.
19843
19844 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19845
19846         * docs/gst/gstreamer.types:
19847           fix includes, though they are a little dinky
19848
19849 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19850
19851         * check/Makefile.am:
19852           look in the right place for elements, a lot more chance of
19853           success
19854         * gst/Makefile.am:
19855           remove indexers and elements subdirs
19856         * plugins/Makefile.am:
19857           make indexers conditional
19858
19859 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19860
19861         * Makefile.am:
19862         * configure.ac:
19863         * plugins/elements/Makefile.am:
19864         * plugins/elements/gstcapsfilter.c:
19865         * plugins/elements/gstfilesink.c:
19866         * plugins/elements/gstfilesrc.c:
19867         * plugins/elements/gstidentity.c:
19868         * plugins/indexers/Makefile.am:
19869           do CVS surgery and related build fixery to move elements
19870           and indexers in a new gstreamer/plugins directory, out of the
19871           gst/ directory
19872
19873 2005-11-29  Andy Wingo  <wingo@pobox.com>
19874
19875         * check/Makefile.am:
19876         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19877         * pkgconfig/gstreamer-net.pc.in:
19878         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19879         #322257.
19880
19881 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19882
19883         * tools/Makefile.am:
19884         * tools/gst-complete.1.in:
19885         * tools/gst-complete.c:
19886         * tools/gst-compprep.1.in:
19887         * tools/gst-compprep.c:
19888           removing -compprep and -complete
19889
19890 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19891
19892         * gst/gstevent.c: (gst_event_new_new_segment),
19893         (gst_event_parse_new_segment):
19894         * gst/gstevent.h:
19895           fix #320529 - clean up new_segment API and structure.
19896           Let's hope everyone was using the methods, and not the structure.
19897
19898 2005-11-29  Edward Hervey  <edward@fluendo.com>
19899
19900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19901         (gst_base_sink_event), (gst_base_sink_do_sync),
19902         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19903         Properly handle non GST_FORMAT_TIME segment
19904         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19905         Properly handle non GST_FORMAT_TIME segment
19906         * gst/gstsegment.c:
19907         This function is valid if the accumulator is 0 and the format
19908         is different from the requested format.
19909         
19910 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19911
19912         * docs/gst/gstreamer-sections.txt:
19913         Add gst_query_new_seeking and gst_query_parse_seeking to the
19914         docs.
19915
19916 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19917
19918         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19919           Treat a pad alloc with new caps the same as if we were not
19920           negotiated, in order to allow a changing upstream output
19921           to produce a new format of data.
19922
19923 2005-11-29  Edward Hervey  <edward@fluendo.com>
19924
19925         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19926         (gst_base_transform_event), (gst_base_transform_eventfunc):
19927         The event virtual method is now properly implemented, with a default
19928         handler
19929         Sub classes should call the parent_class event method. They should
19930         return FALSE if they had a problem handling the given event, or don't
19931         want GstBaseTransform to send that even downstream
19932         * gst/elements/gstidentity.c: (gst_identity_class_init),
19933         (gst_identity_init), (gst_identity_event),
19934         (gst_identity_transform_ip), (gst_identity_set_property),
19935         (gst_identity_get_property):
19936         * gst/elements/gstidentity.h:
19937         Added the single-segment boolean property.
19938         If set to TRUE, it will output a single segment of data, starting from
19939         0, will eat up all incoming newsegment, and modify the timestamp of the
19940         buffers accordingly
19941
19942 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19943
19944         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19945           Don't ref NULL target pad (#322751). Improve docs.
19946
19947 2005-11-29  Michael Smith  <msmith@fluendo.com>
19948
19949         * gst/gstregistryxml.c: (load_plugin):
19950           Don't crash if we failed to load a feature from a plugin. 
19951
19952 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19953
19954         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19955         (GST_START_TEST):
19956           use more check API and less GLib API
19957
19958 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19959
19960         * Makefile.am:
19961           don't run checks if we don't have check
19962         * common/check.mak:
19963           remove the registry when running make torture
19964         * docs/gst/gstreamer-sections.txt:
19965           remove second multiply
19966         * gst/gstqueue.c: (gst_queue_loop):
19967           fix a compile warning when disabling debug
19968
19969 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19970
19971         * gst/gstinfo.h:
19972         Hey! Let's print the pad name if the pointer != NULL instead
19973         of when it == NULL :-)
19974
19975 2005-11-28  Wim Taymans  <wim@fluendo.com>
19976
19977         * check/gst/gstutils.c: (GST_START_TEST):
19978         Updated check, add some scaling accuracy checking code.
19979
19980         * gst/gstutils.c: (gst_util_div128_64),
19981         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19982         (gst_util_uint64_scale_int):
19983         Fix 6 times faster division code. Optimize for common 
19984         1/1 and less common X/1 cases.
19985
19986 2005-11-28  Wim Taymans  <wim@fluendo.com>
19987
19988         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19989         More checks.
19990
19991         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19992         (do_linear_regression), (gst_clock_add_observation):
19993         Cleanups.
19994         Release lock when the clock cannot be slaved.
19995         Catch the case where the regression returned an invalid denominator.
19996
19997         * gst/gstutils.c: (gst_util_div128_64_iterate),
19998         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19999         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20000         Add protentially more performant non-iterative 128/64 divide function
20001         that unfortunatly does not work yet.
20002         Shortcut the trivial 0/X = 0 case.
20003         Remove the warnings on overflow.
20004
20005 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20006
20007         * gst/gstplugin.c: (gst_plugin_register_func):
20008           everything causing a plugin not to load should be at least a WARNING
20009
20010 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
20011
20012         * docs/random/ensonic/dparams.txt:
20013           some TODOs for the next dev cycle
20014         * libs/gst/controller/gstcontroller.c:
20015         (gst_controlled_property_set_interpolation_mode),
20016         (gst_controlled_property_new):
20017         * libs/gst/controller/gstcontroller.h:
20018           use base type to assign acccessor functions
20019
20020 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20021
20022         * check/Makefile.am:
20023         Oops, that should have been top_srcdir
20024
20025 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20026
20027         * check/Makefile.am:
20028         * check/elements/fdsrc.c: (GST_START_TEST):
20029         Use a cmdline define to specify the location of a file to use for
20030         testing, to avoid breaking distcheck.
20031
20032 2005-11-28  Andy Wingo  <wingo@pobox.com>
20033
20034         * gst/gstpad.c (fixate_value): Use array functions for arrays.
20035
20036 2005-11-28  Edward Hervey  <edward@fluendo.com>
20037
20038         * tools/gst-launch.c: (main):
20039         Clarify the output strings, makes it easier to translate.
20040         Fixes #322626
20041
20042 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20043
20044         * gst/Makefile.am:
20045           don't try and build net if we don't even have <sys/socket.h>
20046
20047 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
20048
20049         * check/Makefile.am:
20050         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
20051         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
20052           Add tests for fdsrc seekability
20053
20054         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20055         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
20056         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
20057         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
20058         * gst/elements/gstfdsrc.h:
20059           fdsrc should not be a 'live' source.
20060           Implement seeking on seekable fd's.
20061
20062         * gst/gstquery.c: (gst_query_new_seeking),
20063         (gst_query_parse_seeking):
20064         * gst/gstquery.h:
20065           Implement SEEKING query functions: 
20066             *_new_seeking and *_parse_seeking
20067
20068 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
20069
20070         * gst/gstelement.c: (gst_element_dispose):
20071           don't loop forever
20072
20073         * gst/gstiterator.c:
20074         * gst/gststructure.c:
20075           doc fixes
20076
20077         * libs/gst/controller/gstcontroller.c:
20078         (gst_controlled_property_set_interpolation_mode):
20079         * libs/gst/controller/gstcontroller.h:
20080         * libs/gst/controller/gstinterpolation.c:
20081         (interpolate_none_get_enum_value_array):
20082           support controlling enums
20083
20084 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20085
20086         * gst/gstvalue.c:
20087           Improve documentation for gst_value_union().
20088
20089         * gst/gstvalue.h:
20090           Change return value for union, intersect and subtract functions
20091           from gint to gboolean.
20092
20093 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20094
20095         * gst/gstvalue.c: (gst_value_serialize_any_list),
20096         (gst_value_transform_any_list_string),
20097         (gst_value_deserialize_list), (gst_value_deserialize_array),
20098         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20099         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20100         (gst_value_set_fraction_range_full),
20101         (gst_value_deserialize_fraction_range),
20102         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20103         (gst_value_deserialize_boolean),
20104         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20105         (gst_value_serialize_float), (gst_value_deserialize_float),
20106         (gst_string_wrap), (gst_value_deserialize_string),
20107         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20108         (gst_value_union_int_range_int_range),
20109         (gst_value_intersect_int_range_int_range),
20110         (gst_value_intersect_double_range_double_range),
20111         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20112         (gst_value_subtract_int_range_int_range),
20113         (gst_value_subtract_double_double_range),
20114         (gst_value_subtract_double_range_double_range),
20115         (gst_value_deserialize_fraction):
20116         * gst/gstvalue.h:
20117           Use gint, gdouble and gchar in our API instead of int, double and
20118           char (and make usage in gstvalue.c more consistent).
20119
20120 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20121
20122         * check/Makefile.am:
20123         * libs/gst/controller/Makefile.am:
20124         * libs/gst/dataprotocol/Makefile.am:
20125           fix up Makefile.am and remove GST_ENABLE_NEW
20126
20127 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20128
20129         * configure.ac:
20130         * gst/Makefile.am:
20131         * gst/base/Makefile.am:
20132         * gst/check/Makefile.am:
20133         * gst/elements/Makefile.am:
20134         * gst/net/Makefile.am:
20135           update LDFLAGS use some more
20136
20137 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20138
20139         * common/m4/gst-doc.m4:
20140           Fixes #312589
20141
20142 2005-11-26  Edward Hervey  <edward@fluendo.com>
20143
20144         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20145         This shouldn't issue a g_warning since it returns NULL if it
20146         couldn't find the plugin, and all functions using this behave
20147         properly on a NULL return. Switching to a GST_WARNING.
20148
20149 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20150
20151         * gst/gstbin.c: (gst_bin_handle_message_func):
20152         Don't leak clock messages.
20153
20154 2005-11-25  Wim Taymans  <wim@fluendo.com>
20155
20156         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20157         (gst_util_uint64_scale_int):
20158         Optimisations, remove unneeded vars.
20159
20160 2005-11-25  Wim Taymans  <wim@fluendo.com>
20161
20162         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20163         Added more checks for the high precision uint64 cases.
20164
20165         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20166         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20167         Implement high precision (guint64 * guint64) / guint64.
20168
20169 2005-11-24  Wim Taymans  <wim@fluendo.com>
20170
20171         * gst/base/gstbasesrc.c: (gst_base_src_query):
20172         Fix wrong percentage query.
20173
20174         * gst/gstutils.c: (gst_util_uint64_scale),
20175         (gst_util_uint64_scale_int):
20176         Add some more common cases that can be handled 
20177         efficiently to _scale.
20178
20179 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20180
20181         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20182         (gst_mini_object_suite):
20183           don't use check calls from threads; check probably isn't
20184           threadsafe and using a lock to make it threadsafe would
20185           defeat the purpose of this check
20186         * gst/check/gstcheck.c:
20187         * gst/check/gstcheck.h:
20188           use GST_DEBUG some more
20189
20190 2005-11-24  Wim Taymans  <wim@fluendo.com>
20191
20192         * gst/gstutils.c: (gst_util_uint64_scale),
20193         (gst_util_uint64_scale_int):
20194         Chain trivial case to _scale_int.
20195
20196 2005-11-24  Wim Taymans  <wim@fluendo.com>
20197
20198         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20199         Added test for scaling.
20200
20201         * gst/gstclock.h:
20202         Small doc fix.
20203
20204         * gst/gstutils.c: (gst_util_uint64_scale_int):
20205         Implemented high precision scaling code.
20206
20207 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20208
20209         * gst/gstinfo.h:
20210           do not crash on pad==NULL
20211
20212 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20213
20214         Patch by: Stefan Kost
20215
20216         * common/gtk-doc.mak:
20217         * docs/gst/Makefile.am:
20218         * docs/libs/Makefile.am:
20219           Fix distcheck issues for the libraries docs build
20220           Closes #319599.
20221
20222 2005-11-24  Michael Smith <msmith@fluendo.com>
20223
20224         * docs/manual/basics-helloworld.xml:
20225           Fix bug #315027: memory leak in example code in docs.
20226
20227 2005-11-24  Michael Smith <msmith@fluendo.com>
20228
20229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20230           Unlock the PREROLL_LOCK in a failure case.
20231
20232 2005-11-24  Wim Taymans  <wim@fluendo.com>
20233
20234         * docs/gst/gstreamer-sections.txt:
20235         * gst/base/gstadapter.h:
20236         * gst/base/gstbasesink.h:
20237         * gst/base/gstbasesrc.h:
20238         * gst/base/gstbasetransform.h:
20239         * gst/base/gstpushsrc.h:
20240         * gst/elements/gstfakesink.h:
20241         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20242         * gst/elements/gstfakesrc.h:
20243         * gst/elements/gstfilesink.h:
20244         * gst/elements/gstfilesrc.h:
20245         * gst/gst.c:
20246         * gst/gstbin.c:
20247         * gst/gstbuffer.c: (_gst_buffer_copy):
20248         * gst/gstbus.h:
20249         * gst/gstcaps.c:
20250         * gst/gstchildproxy.c:
20251         * gst/gstclock.c:
20252         * gst/gstelement.c:
20253         * gst/gstelementfactory.c:
20254         * gst/gstelementfactory.h:
20255         * gst/gstevent.c:
20256         * gst/gstghostpad.h:
20257         * gst/gstindex.h:
20258         * gst/gstinterface.h:
20259         * gst/gstminiobject.c:
20260         * gst/gstminiobject.h:
20261         * gst/gstpad.c:
20262         * gst/gstpad.h:
20263         * gst/gstpadtemplate.h:
20264         * gst/gstpipeline.h:
20265         * gst/gstpluginfeature.h:
20266         * gst/gstquery.h:
20267         * gst/gstqueue.h:
20268         * gst/gsttaglist.c:
20269         * gst/gsttaglist.h:
20270         * gst/gsttagsetter.c:
20271         * gst/gsttagsetter.h:
20272         * gst/gsttrace.c:
20273         * gst/gsttrace.h:
20274         * gst/gsttypefind.h:
20275         * gst/gsturi.h:
20276         * gst/gstvalue.c:
20277         * gst/net/gstnetclientclock.c:
20278         * gst/net/gstnetclientclock.h:
20279         * gst/net/gstnettimepacket.c:
20280         * gst/net/gstnettimeprovider.c:
20281         * gst/net/gstnettimeprovider.h:
20282         Doc fixes.
20283
20284 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20285
20286         * configure.ac: back to HEAD
20287
20288 === release 0.9.6 ===
20289
20290 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20291
20292         * configure.ac:
20293           releasing 0.9.6, "Always On Time"
20294
20295 2005-11-23  Wim Taymans  <wim@fluendo.com>
20296
20297         * docs/gst/gstreamer-sections.txt:
20298         * gst/glib-compat.c:
20299         * gst/gsttagsetter.c:
20300         * gst/gstvalue.c:
20301         * gst/net/gstnetclientclock.c:
20302         * gst/net/gstnettimepacket.h:
20303         Doc updates.
20304
20305 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20306
20307         * docs/faq/using.xml:
20308         * docs/libs/tmpl/gstcontrol.sgml:
20309         * docs/manual/advanced-dparams.xml:
20310         * docs/manual/appendix-checklist.xml:
20311         * docs/manual/basics-elements.xml:
20312         * docs/pwg/other-source.xml:
20313         * docs/random/moving-plugins:
20314         * gst/gstpad.c:
20315         * tools/gst-launch.1.in:
20316           remove mentions of sinesrc
20317
20318 2005-11-23  Michael Smith <msmith@fluendo.com>
20319
20320         * docs/gst/gstreamer-sections.txt:
20321           Update for new API and API changes.
20322         * gst/gstobject.h:
20323           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20324         * gst/gstvalue.c:
20325           Documentation typo fix.
20326         * gst/net/gstnettimepacket.c:
20327           Documentation fixes for arguments.
20328
20329 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20330
20331         * gst/gststructure.c: (gst_structure_get_fraction),
20332         (gst_structure_parse_value),
20333         (gst_structure_fixate_field_nearest_fraction):
20334         * gst/gststructure.h:
20335         * gst/gstutils.c: (gst_util_uint64_scale_int):
20336         * gst/gstutils.h:
20337         * scripts/update-funcnames:
20338         API Changes. 
20339         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20340         Make gst_structure_fixate_field_nearest_fraction take a numerator
20341         and denominator argument instead of a GValue
20342         add gst_structure_get_fraction helper function.
20343
20344 2005-11-23  Wim Taymans  <wim@fluendo.com>
20345
20346         * docs/design/part-TODO.txt:
20347         Update TODO.
20348
20349         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20350         * gst/net/gstnetclientclock.h:
20351         Use parent fields for timeout and window_size.
20352
20353 2005-11-23  Andy Wingo  <wingo@pobox.com>
20354
20355         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20356         rate_num/rate_denom change.
20357
20358         * gst/net/gstnetclientclock.c
20359         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20360         OBJECT_LOCK. Don't call add_observation with the lock.
20361
20362         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20363         fraction.
20364         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20365         rate fraction.
20366         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20367         deal with rate as a fraction whose numerator and denominator are
20368         GstClockTime values.
20369         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20370         master; the other fields are protected by the SLAVE_LOCK.
20371         (do_linear_regression): Note that this must be called with the
20372         SLAVE_LOCK.
20373         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20374         OBJECT_LOCK. Call set_calibration instead of touching the
20375         variables directly.
20376         (gst_clock_set_property, gst_clock_get_property): Protect
20377         master/slave parameters with the SLAVE_LOCK.
20378
20379         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20380         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20381         note that all of the instance variables that add_observation and
20382         the set_master functions use are protected by that lock and not
20383         the OBJECT_LOCK.
20384         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20385
20386         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20387         the caller to take the object lock.
20388
20389 2005-11-23  Wim Taymans  <wim@fluendo.com>
20390
20391         * gst/gsterror.c: (_gst_core_errors_init):
20392         * gst/gsterror.h:
20393         Add error for clock stuff.
20394
20395         * gst/gstpipeline.c: (gst_pipeline_change_state),
20396         (gst_pipeline_set_clock):
20397         Post clock error when clock cannot be used in a pipeline.
20398
20399 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20400
20401         * docs/gst/gstreamer-sections.txt:
20402           make two symbols from gstinfo private for the docs
20403         * gst/base/gstcollectpads.h:
20404         * gst/gstutils.c:
20405           fix doc typos, update docs
20406
20407 2005-11-22  Wim Taymans  <wim@fluendo.com>
20408
20409         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20410         (gst_base_sink_wait), (gst_base_sink_do_sync),
20411         (gst_base_sink_handle_event):
20412         * gst/base/gstbasesink.h:
20413         No need to store the clock, the parent element class already
20414         has it.
20415
20416         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20417         Updates for clock_set returning a gboolean
20418
20419         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20420         (gst_clock_id_wait_async), (gst_clock_class_init),
20421         (gst_clock_init), (gst_clock_finalize),
20422         (gst_clock_get_internal_time), (gst_clock_get_time),
20423         (gst_clock_slave_callback), (gst_clock_set_master),
20424         (gst_clock_get_master), (do_linear_regression),
20425         (gst_clock_add_observation), (gst_clock_set_property),
20426         (gst_clock_get_property):
20427         * gst/gstclock.h:
20428         Implement master/slave. When setting a clock as a slave, a
20429         periodic timeout is scheduled to sample master and slave times.
20430         Then the slave clock is recalibrated to match offset and rate
20431         of the master clock.
20432         Update logging a bit.
20433         Add flag so that a clock can state that is cannot be slaved to
20434         another clock.
20435
20436         * gst/gstelement.c: (gst_element_set_clock):
20437         * gst/gstelement.h:
20438         The set clock returns a gboolean for when an element cannot
20439         deal with the selected clock in the pipeline. 
20440
20441         * gst/gstpipeline.c: (gst_pipeline_change_state),
20442         (gst_pipeline_set_clock):
20443         * gst/gstpipeline.h:
20444         Handle the case where the selected clock cannot be set on
20445         the pipeline.
20446
20447         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20448         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20449         (gst_net_client_clock_set_property),
20450         (gst_net_client_clock_get_property),
20451         (gst_net_client_clock_observe_times):
20452         * gst/net/gstnetclientclock.h:
20453         Use regression code in GstClock parent, remove duplicated
20454         functionality.
20455
20456 2005-11-22  Michael Smith <msmith@fluendo.com>
20457
20458         * gst/gstutils.c: (gst_util_clock_time_scale):
20459         * gst/gstutils.h:
20460         * docs/gst/gstreamer-sections.txt:
20461           Rename method to have extra underscore.
20462
20463 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20464
20465         * gst/elements/Makefile.am:
20466         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20467         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20468         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20469         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20470         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20471         * gst/elements/gstfakesrc.h:
20472         * gst/gstqueue.c: (queue_leaky_get_type):
20473           correctly fix GEnumValues so that nick is the short lowercase
20474           dashed tag
20475         * tools/gst-inspect.c: (print_element_properties_info):
20476           also show the nick, since it's useful to use from parse_launch
20477           syntax
20478           Fixes #322139
20479
20480 2005-11-22  Michael Smith <msmith@fluendo.com>
20481
20482         * gst/gstutils.c: (gst_util_clocktime_scale):
20483         * gst/gstutils.h:
20484         * docs/gst/gstreamer-sections.txt:
20485           Add util method for scaling a clocktime by a fraction. Useful 
20486           implementation is left as an exercise for the reader.
20487
20488 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20489
20490         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20491         If needed, allocate storage in the destination value during
20492         collection.
20493
20494 2005-11-22  Edward Hervey  <edward@fluendo.com>
20495
20496         * docs/gst/gstreamer-sections.txt:
20497         * gst/Makefile.am:
20498         * gst/gst.h:
20499         * gst/gsturitype.c:
20500         * gst/gsturitype.h:
20501         * gst/gstutils.c: (gst_util_set_object_arg):
20502         * tools/gst-compprep.c: (main):
20503         * tools/gst-inspect.c: (print_element_properties_info):
20504         Removed GstURI, closes bug #321061
20505
20506 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20507
20508         * check/gst/gststructure.c: (GST_START_TEST):
20509         * gst/gststructure.c: (gst_structure_parse_value):
20510           Oops, broke automatic string type parsing.
20511           Add a test to catch it in future.
20512
20513 2005-11-22  Andy Wingo  <wingo@pobox.com>
20514
20515         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20516         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20517         Actually rename the function implementations. Grr.
20518
20519 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20520
20521         * check/gst/capslist.h:
20522           Comment test cases
20523         * check/gst/gststructure.c: (GST_START_TEST),
20524         (gst_structure_suite):
20525           Test automatic value type detection in gst_structure_from_string.
20526         * gst/gststructure.c: (gst_structure_parse_value):
20527           Add fraction as a type we try and guess automatically in
20528           caps/structure strings.
20529
20530 2005-11-22  Andy Wingo  <wingo@pobox.com>
20531
20532         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20533
20534         * gst/gsttagsetter.h:
20535         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20536         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20537         (gst_tag_setter_add_tag_valist)
20538         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20539         _add_values, _add_valist, and _add_valist_values. Since this is an
20540         interface the function suffixes should be more explicit so
20541         language binding don't end up with element.add_valist ->
20542         gst_tag_setter_add_valist, for example. Fixes #322069.
20543
20544 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20545
20546         * check/gst/gstcaps.c: (GST_START_TEST):
20547           Extend caps string tests to check that a caps to string
20548           conversion is reversible and produces the same caps.
20549
20550         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20551           Output "fraction" as the generic type fraction range, so caps
20552           serialisation and deserialisation works.
20553         * check/gst/capslist.h:
20554         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20555           Support 'MIN' and 'MAX' for deserialising fractions.
20556
20557 2005-11-22  Andy Wingo  <wingo@pobox.com>
20558
20559         * gst/gstevent.h (gst_event_new_new_segment)
20560         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20561         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20562         Renamed from *_newsegment, *_buffersize, *_notarget.
20563
20564         * scripts/update-funcnames: New script, performs the changes
20565         listed above.
20566
20567 2005-11-22  Wim Taymans  <wim@fluendo.com>
20568
20569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20570         Make sure the GstFlowReturn is returned.
20571
20572         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20573         (gst_bus_add_signal_watch):
20574         * gst/gstbus.h:
20575         add gst_bus_add_signal_watch_full.
20576
20577         * gst/gstplugin.c: (gst_plugin_load_file):
20578         Small style cleanup.
20579
20580 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20581
20582         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20583           Block the fakesrc srcpad when we send an event, to avoid
20584           contention on the stream_lock causing random test failures.
20585
20586 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20587
20588         * check/gst/gstvalue.c: (GST_START_TEST):
20589         * gst/gstvalue.c: (gst_value_fraction_subtract):
20590           Fix subtraction.
20591
20592 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20593
20594         * gst/gst.h:
20595           include "gstchildproxy.h"
20596         * gst/gstchildproxy.h:
20597         * libs/gst/controller/gstcontroller.h:
20598           use G_GNUC_NULL_TERMINATED
20599
20600 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20601
20602         * check/gst/capslist.h:
20603         * check/gst/gstcaps.c: (GST_START_TEST):
20604         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20605         * gst/gststructure.c: (gst_structure_parse_range),
20606         (gst_structure_fixate_field_nearest_fraction):
20607         * gst/gststructure.h:
20608         * gst/gstvalue.c: (gst_value_init_fraction_range),
20609         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20610         (gst_value_collect_fraction_range),
20611         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20612         (gst_value_set_fraction_range_full),
20613         (gst_value_get_fraction_range_min),
20614         (gst_value_get_fraction_range_max),
20615         (gst_value_serialize_fraction_range),
20616         (gst_value_transform_fraction_range_string),
20617         (gst_value_compare_fraction_range),
20618         (gst_value_deserialize_fraction_range),
20619         (gst_value_intersect_fraction_fraction_range),
20620         (gst_value_intersect_fraction_range_fraction_range),
20621         (gst_value_subtract_fraction_fraction_range),
20622         (gst_value_subtract_fraction_range_fraction),
20623         (gst_value_subtract_fraction_range_fraction_range),
20624         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20625         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20626         (gst_value_transform_string_fraction), (_gst_value_initialize):
20627         * gst/gstvalue.h:
20628           Implement fraction ranges and extend GstFraction to support
20629           arithmetic subtraction, as well as deserialization from integer
20630           strings such as "100"
20631           Add a testsuite as for int and double range set operations
20632
20633 2005-11-21  Andy Wingo  <wingo@pobox.com>
20634
20635         * gst/gsttaglist.h: 
20636         * gst/gstcaps.h: 
20637         * gst/gststructure.h: Add glib-compat.h.
20638
20639 2005-11-21  Wim Taymans  <wim@fluendo.com>
20640
20641         * gst/gstbin.c: (gst_bin_change_state_func):
20642         Fix for #321595
20643
20644 2005-11-21  Wim Taymans  <wim@fluendo.com>
20645
20646         * gst/gstsegment.h:
20647         And add a nice define too.
20648
20649 2005-11-21  Wim Taymans  <wim@fluendo.com>
20650
20651         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20652         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20653         (gst_segment_set_duration), (gst_segment_set_last_stop),
20654         (gst_segment_set_seek), (gst_segment_set_newsegment),
20655         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20656         (gst_segment_clip):
20657         * gst/gstsegment.h:
20658         Make binding friendly.
20659
20660 2005-11-21  Andy Wingo  <wingo@pobox.com>
20661
20662         * gst/gsttagsetter.h: 
20663         * gst/gsttaglist.h: 
20664         * gst/gststructure.h: 
20665         * gst/gstcaps.h: 
20666         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20667         #319940.
20668
20669         * gst/gsterror.c (_gst_core_errors_init):
20670         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20671         category.
20672
20673         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20674         (noinst_HEADERS): noinst the -private.
20675
20676 2005-11-21  Michael Smith <msmith@fluendo.com>
20677
20678         * gst/gstplugin.h:
20679         * gst/gstregistry.h:
20680           Remove unimplemented declarations for which we can see no sensible
20681           use.
20682
20683 2005-11-21  Andy Wingo  <wingo@pobox.com>
20684
20685         * gst/gst.h: Include glib-compat.h.
20686
20687         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20688
20689         * gst/glib-compat.c: Include the public and the private header.
20690
20691         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20692
20693         * gst/gstvalue.c: 
20694         * gst/gstpad.c: 
20695         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20696
20697         * check/gst/gstevent.c (create_custom_events): Check that
20698         FLUSH_STOP is serialized.
20699
20700         * check/elements/identity.c (event_func): 
20701         * check/elements/fakesrc.c (event_func): No stream lock, the core
20702         takes it.
20703
20704         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20705         stream lock taking, yay.
20706
20707         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20708         ensure that core takes the stream lock.
20709
20710         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20711         lock name change.
20712
20713         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20714         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20715         it already. For the flush start we do take it though so we get the
20716         right preroll state change messages.
20717
20718         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20719         the stream lock here, the core does it for us.
20720
20721         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20722         GST_STREAM_GET_LOCK.
20723         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20724         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20725         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20726         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20727         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20728         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20729
20730         * gst/gstpad.c: Update for stream lock name change.
20731
20732         * gst/base/gstbasesink.c: Update for preroll lock name change.
20733
20734 2005-11-21  Wim Taymans  <wim@fluendo.com>
20735
20736         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20737         (gst_clock_get_master):
20738         * gst/gstclock.h:
20739         * gst/gstsystemclock.c: (gst_system_clock_init):
20740         Convert Clock flags to object flags.
20741         Added methods to manage master/slave clocks.
20742
20743 2005-11-21  Wim Taymans  <wim@fluendo.com>
20744
20745         * check/gst/gstsegment.c: (GST_START_TEST):
20746         * docs/design/part-TODO.txt:
20747         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20748         (gst_base_sink_event), (gst_base_sink_do_sync),
20749         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20750         (gst_base_sink_query), (gst_base_sink_change_state):
20751         * gst/base/gstbasesink.h:
20752         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20753         (gst_base_src_default_newsegment),
20754         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20755         (gst_base_src_get_range), (gst_base_src_loop),
20756         (gst_base_src_change_state):
20757         * gst/base/gstbasesrc.h:
20758         * gst/base/gstbasetransform.c:
20759         (gst_base_transform_prepare_output_buf),
20760         (gst_base_transform_event), (gst_base_transform_change_state):
20761         * gst/base/gstbasetransform.h:
20762         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20763         (gst_collect_pads_event):
20764         * gst/base/gstcollectpads.h:
20765         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20766         (gst_fake_src_create):
20767         * gst/elements/gstfakesrc.h:
20768         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20769         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20770         (gst_segment_set_last_stop), (gst_segment_set_seek),
20771         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20772         (gst_segment_to_running_time), (gst_segment_clip):
20773         * gst/gstsegment.h:
20774         More segment updates, replace code in plugins with segment
20775         helper functions.
20776
20777 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20778
20779         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20780         Don't ignore sscanf results
20781
20782 2005-11-21  Andy Wingo  <wingo@pobox.com>
20783
20784         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20785
20786         * *.h:
20787         * *.c: Ran scripts/update-macros. Oh yes.
20788
20789         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20790         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20791         GST_GET_LOCK, etc.
20792
20793         * scripts/update-macros: New script. Run it on your files to
20794         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20795         well.
20796
20797 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20798
20799         * docs/gst/Makefile.am:
20800         * docs/gst/gstreamer-docs.sgml:
20801         * docs/gst/gstreamer-sections.txt:
20802         * docs/gst/gstreamer.types:
20803         * gst/gstinfo.h:
20804           more docs fixes, add new api to the docs
20805
20806 2005-11-21  Andy Wingo  <wingo@pobox.com>
20807
20808         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20809         state_broadcast call.
20810
20811         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20812
20813 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20814
20815         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20816         function calls for arrays.
20817
20818 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20819
20820         * docs/random/ensonic/media-device-daemon.txt:
20821           wild idea, can this be done?
20822         * docs/gst/gstreamer-sections.txt:
20823         * gst/gsterror.h:
20824         * gst/gstfilter.c:
20825         * gst/gstfilter.h:
20826         * gst/gstplugin.h:
20827         * gst/gstpluginfeature.c:
20828         * gst/gsttrace.c:
20829         * gst/gstvalue.c:
20830         * gst/gstvalue.h:
20831           doc fixes and additions
20832
20833 2005-11-21  Andy Wingo  <wingo@pobox.com>
20834
20835         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20836         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20837         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20838         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20839         private to the basesrc implementation.
20840
20841         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20842         behalf of event function if necessary. It should no longer be
20843         necessary to take the stream lock in pad's event functions. Fixes
20844         #320299.
20845
20846 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20847         * docs/gst/gstreamer-sections.txt:
20848         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20849         (gst_structure_fixate_field_nearest_double),
20850         (gst_structure_fixate_field_boolean):
20851         * gst/gststructure.h:
20852         * win32/common/libgstreamer.def:
20853         * win32/gstreamer.def:
20854
20855         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20856         (#322027)
20857
20858 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20859
20860         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20861         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20862         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20863         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20864         (gst_fdsrc_uri_handler_init):
20865         * gst/elements/gstfdsrc.h:
20866           Port fd:// URI handler from 0.8 to fdsrc
20867
20868 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20869
20870         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20871         (gst_value_serialize_fourcc):
20872         * gst/gstvalue.h:
20873           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20874           consistent with our other format defines (#320324).
20875
20876 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20877
20878         * gst/gstvalue.c: (gst_value_is_fixed):
20879           Revert previous commit. Value lists are by definition
20880           not fixed, as they are a list of possible values.
20881
20882 2005-11-21  Andy Wingo  <wingo@pobox.com>
20883
20884         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20885         during the stable series if we need it. Fixes #319178.
20886
20887         * gst/gstevent.c (gst_event_new_filler): Removed.
20888
20889         * check/gst/gstevent.c: Update comment about filler events.
20890
20891 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20892
20893         * gst/gstvalue.c: (gst_value_is_fixed):
20894           Should handle both value arrays and value lists.
20895
20896 2005-11-21  Andy Wingo  <wingo@pobox.com>
20897
20898         patch by: Alessandro Dessina <alessandro nnva org>
20899
20900         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20901         functions to access arrays. Fixes #321962.
20902
20903 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20904
20905         * docs/gst/gstreamer.types:
20906           gst_collectpads_get_type => gst_collect_pads_get_type.
20907           
20908         * gst/base/gstbasetransform.c:
20909           Remove unused SIGNAL_HANDOFF enum.
20910
20911 2005-11-21  Andy Wingo  <wingo@pobox.com>
20912
20913         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20914         the event type (upstream, downstream, serialized). Renamed
20915         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20916         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20917         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20918
20919         * gst/gstevent.c: Update for new CUSTOM event names.
20920
20921         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20922
20923         * gst/gstevent.h:
20924         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20925         bug #319392.
20926
20927 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20928
20929         * docs/gst/gstreamer-sections.txt:
20930         * win32/common/libgstbase.def:
20931         * win32/libgstbase.def:
20932         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20933         (gst_collect_pads_class_init), (gst_collect_pads_init),
20934         (gst_collect_pads_finalize), (gst_collect_pads_new),
20935         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20936         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20937         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20938         (gst_collect_pads_start), (gst_collect_pads_stop),
20939         (gst_collect_pads_peek), (gst_collect_pads_pop),
20940         (gst_collect_pads_available), (gst_collect_pads_read),
20941         (gst_collect_pads_flush), (gst_collect_pads_event),
20942         (gst_collect_pads_chain):
20943         * gst/base/gstcollectpads.h:
20944           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20945           unimplemented functions as unimplemented. Add padding to
20946           GstCollectData. (#320766, #320423)
20947
20948 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20949
20950         * gst/gstmessage.c:
20951           Improve docs for DURATION message (usage of duration parameter)
20952           (#320113)
20953
20954 2005-11-20  Wim Taymans  <wim@fluendo.com>
20955
20956         * check/Makefile.am:
20957         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20958         (main):
20959         * gst/Makefile.am:
20960         * gst/gst.h:
20961         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20962         (gst_segment_set_seek), (gst_segment_set_newsegment),
20963         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20964         (gst_segment_clip):
20965         * gst/gstsegment.h:
20966         Added segment helper structure and methods. Not fully implemented
20967         yet.
20968         Added segment check.
20969
20970 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20971
20972         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20973           Add a deserialisation test for fractions
20974         * examples/metadata/read-metadata.c: (message_loop),
20975         (make_pipeline), (main):
20976           Fix up metadata reading sample.
20977         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20978           Debug format fix
20979         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20980           Don't try and fixate empty caps
20981         * gst/gst_private.h:
20982           Wrap in G_BEGIN_DECLS/G_END_DECLS
20983         * gst/gstvalue.c: (gst_value_collect_fraction),
20984         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20985         (gst_value_transform_string_fraction),
20986         (gst_value_compare_fraction):
20987           Add some extra guards to ensure that we don't end up 
20988           with an invalid denominator of 0 in a gstfraction and
20989           that fractions always get reduced.
20990
20991 2005-11-20  Wim Taymans  <wim@fluendo.com>
20992
20993         * docs/gst/gstreamer-sections.txt:
20994         * gst/gstbuffer.h:
20995         * gst/gstelement.c:
20996         * gst/gstformat.c:
20997         * gst/gstformat.h:
20998         * gst/gstindex.h:
20999         * gst/gstquery.c:
21000         * gst/gstquery.h:
21001         * gst/gstvalue.c:
21002         Doc fixes.
21003
21004 2005-11-20  Wim Taymans  <wim@fluendo.com>
21005
21006         * docs/design/part-TODO.txt:
21007         * gst/gstcaps.h:
21008         Make a proper enum of the flag.
21009
21010 2005-11-19  Wim Taymans  <wim@fluendo.com>
21011
21012         * docs/design/part-TODO.txt:
21013         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
21014         (gst_format_to_quark), (gst_format_register):
21015         * gst/gstformat.h:
21016         * gst/gstquery.c: (_gst_query_initialize),
21017         (gst_query_type_get_name), (gst_query_type_to_quark),
21018         (gst_query_type_register):
21019         * gst/gstquery.h:
21020         Add type to quark and type to string conversions.
21021
21022 2005-11-19  Andy Wingo  <wingo@pobox.com>
21023
21024         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
21025         #320097.
21026
21027 2005-11-19  Wim Taymans  <wim@fluendo.com>
21028
21029         * docs/design/part-TODO.txt:
21030         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21031         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
21032         (gst_bin_handle_message_func):
21033         * gst/gstbin.h:
21034         Make message handling overridable.
21035
21036 2005-11-19  Andy Wingo  <wingo@pobox.com>
21037
21038         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
21039
21040         * gst/gstclock.h:
21041         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
21042         be a GstClockTime.
21043         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
21044         is a GstClockTime. Fixes #321710.
21045
21046         * gst/gstclock.h (GstClock): Remove offset property. Add
21047         internal_calibration and external_calibration. Fix padding. Pad
21048         also by GstClockTime so we don't run into problems.
21049
21050         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
21051         (gst_clock_get_rate_offset): Remove.
21052         (gst_clock_set_time_adjust): Remove. Fixes #321712.
21053
21054         * gst/gstutils.h:
21055         * gst/gstutils.c (g_static_rec_cond_wait)
21056         (g_static_rec_cond_timed_wait): Removed, no longer needed.
21057
21058         * gst/gstbin.c: Remove terrible continue_state prototype.
21059
21060         * gst/gstelement.h (gst_element_continue_state): Make public.
21061
21062         * gst/gstelement.h:
21063         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
21064         by continue_state. Fixes #319389.
21065
21066         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21067         Really fixes #168438. However I don't see anywhere where the
21068         filter function is called... stupid GStreamer...
21069         
21070         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21071         don't have a dispose function, so it won't get called when the
21072         object is unreffed, but oh well!
21073
21074         * gst/gstindex.c (gst_index_set_filter_full): New API function,
21075         allows a destroy function to be set so user_data can be freed.
21076         Fixes #168438.
21077         (gst_index_set_filter): Call gst_index_set_filter_full.
21078
21079         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21080
21081         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21082         string should produce an error, given the lack of a way to
21083         represent NULL strings. Fixes #165650.
21084         
21085         * gst/gstvalue.h: 
21086         * gst/gstvalue.c (gst_value_array_append_value) 
21087         (gst_value_array_prepend_value, gst_value_array_get_size) 
21088         (gst_value_array_get_value): New API, copied from
21089         gst_value_list_*, only operates on arrays.
21090         (gst_value_list_append_value, gst_value_list_prepend_value) 
21091         (gst_value_list_concat, gst_value_list_get_size) 
21092         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21093
21094         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21095         init_list, because it works on both.
21096         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21097         (gst_value_copy_list_or_array): Renamed from copy_list.
21098         (gst_value_free_list_or_array): Renamed from free_list.
21099         (gst_value_collect_list_or_array): Renamed from collect_list.
21100         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21101         (gst_value_list_or_array_peek_pointer): Renamed from
21102         list_peek_pointer.
21103         (_gst_value_array_value_table, _gst_value_list_value_table):
21104         Update value table functions.
21105         (gst_value_compare_list_or_array): Renamed from compare_list.
21106
21107         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21108         some constness.
21109
21110         * gst/gsttaglist.c:
21111         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21112         GstTagList*. Fixes #143472.
21113
21114         * gst/gststructure.h: Clarify what the foreach/map functions can
21115         or can't do to their arguments.
21116
21117 2005-11-18  Wim Taymans  <wim@fluendo.com>
21118
21119         * gst/gstclock.c: (gst_clock_set_calibration),
21120         (gst_clock_get_calibration):
21121         Doc and API fixes.
21122         Calibration can be set with internal time equal to current
21123         internal time too.
21124
21125 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21126
21127         * gst/gsterror.c:
21128         * gst/gsterror.h:
21129           document
21130
21131 2005-11-18  Andy Wingo  <wingo@pobox.com>
21132
21133         * configure.ac: 
21134         * pkgconfig/gstreamer-net.pc.in:
21135         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21136         * pkgconfig/Makefile.am: Add net pkgconfig files.
21137
21138 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21139
21140         * gst/gstcaps.c:
21141         * gst/gstghostpad.c:
21142         * gst/gsttrace.c:
21143         * gst/gstvalue.c:
21144         * gst/gstvalue.h:
21145           docs fixes
21146
21147 2005-11-18  Andy Wingo  <wingo@pobox.com>
21148
21149         * gst/net/gstnetclientclock.c: Turn off debugging.
21150
21151         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21152         times connverge somewhat. Can't make a real test.
21153
21154         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21155         integer arithmetic. Return the minimum of the domain, which can be
21156         set as "internal" for gst_clock_set_calibration.
21157         (gst_net_client_clock_observe_times): Call _set_calibration.
21158         (gst_net_client_clock_new): Call _set_calibration instead of
21159         rate_offset.
21160
21161         * check/net/gstnetclientclock.c (test_functioning): Use the right
21162         adjustment api.
21163
21164         * gst/gstclock.h:
21165         * gst/gstclock.c (gst_clock_get_calibration) 
21166         (gst_clock_set_calibration): New functions, obsolete the ones I
21167         added yesterday. Doh. Precision issues mean we have to extrapolate
21168         from a point in the more recent past than 1970.
21169         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21170         obsolete.
21171         (gst_clock_adjust_unlocked): Use the right calibration data.
21172
21173 2005-11-18  Edward Hervey  <edward@fluendo.com>
21174
21175         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21176         Also reset the ->current_* values in READY->PAUSED
21177
21178 2005-11-18  Andy Wingo  <wingo@pobox.com>
21179
21180         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21181         Whoops, check the right fd. Also add some debugging.
21182         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21183         (do_linear_regression): Add a crapload of debugging. Subtract off
21184         the minimum values from the input series to discard unneeded bits.
21185         Use only int arithmetic. There is still double arithmetic when
21186         calculating the intercept that needs fixing. Return boolean to
21187         indicate success; FALSE would mean the domain or range is too
21188         great. Still needs fixes.
21189
21190 2005-11-18  Wim Taymans  <wim@fluendo.com>
21191
21192         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21193         For the current position in stream time, we need to subtract
21194         accumulated time.
21195         
21196         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21197         Release lock before calling the callback function of async
21198         entries.
21199
21200 2005-11-18  Andy Wingo  <wingo@pobox.com>
21201
21202         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21203         Port goes all the way to MAXUINT16.
21204
21205         * gst/net/gstnettimeprovider.c: Make the port range the same as
21206         for the kernel: 0 assigns, otherwise ports are less than
21207         MAXUINT16.
21208
21209         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21210         port change.
21211
21212         * check/net/gstnetclientclock.c (test_functioning): Add the start
21213         of another test. 
21214
21215 2005-11-18  Wim Taymans  <wim@fluendo.com>
21216
21217         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21218         (gst_bin_remove_func), (bin_bus_handler):
21219         * gst/gstbin.h:
21220         Removing a clock provider from a bin, triggers a clock lost message
21221         so that a new clock will be selected.
21222         Adding a clock to a bin triggers a clock provider message.
21223         Make sure we reselect a clock when we received a clock lost message.
21224         Keep a reference to the element that provided the clock.
21225
21226 2005-11-18  Andy Wingo  <wingo@pobox.com>
21227
21228         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21229         the clock initially so it produces values around the base time.
21230         (gst_net_client_clock_class_init): Typo fix.
21231         (gst_net_client_clock_thread): Add note on when the socket gets
21232         closed.
21233
21234 2005-11-17  Wim Taymans  <wim@fluendo.com>
21235
21236         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21237         Free remote and local time arrays.
21238
21239 2005-11-17  Wim Taymans  <wim@fluendo.com>
21240
21241         * gst/net/gstnetclientclock.c: (do_linear_regression),
21242         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21243         Fix compilation, uninitialized vars and a forgotten continue.
21244
21245 2005-11-17  Andy Wingo  <wingo@pobox.com>
21246
21247         * check/Makefile.am (check_PROGRAMS): 
21248         * check/net/gstnetclientclock.c: Add a most minimal test for the
21249         net client clock. More to come later.
21250
21251         * gst/net/gstnet.h: 
21252         * gst/net/Makefile.am: Add netclientclock.
21253
21254         * gst/net/gstnetclientclock.h:
21255         * gst/net/gstnetclientclock.c: New files, implement an untested
21256         GstClock that takes its time from a network time provider.
21257         Implements the algorithm in network-clock.scm.
21258
21259         * tests/network-clock.scm (*window-size*): Rename from
21260         *queue-length*.
21261         * tests/network-clock.scm (network-time): 
21262         * tests/network-clock-utils.scm (q-push): Update callers.
21263
21264 2005-11-17  Wim Taymans  <wim@fluendo.com>
21265
21266         * gst/gstbin.c: (gst_bin_provide_clock_func),
21267         (gst_bin_sort_iterator_new):
21268         And unref the child too..
21269
21270 2005-11-17  Wim Taymans  <wim@fluendo.com>
21271
21272         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21273         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21274         Refactor the sort iterator so it can be used while holding the
21275         LOCK too.
21276         Make clock selection select a clock closest to the source.
21277
21278 2005-11-17  Michael Smith <msmith@fluendo.com>
21279
21280         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21281         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21282         * gst/gstclock.h:
21283           Anonymous structs are a gcc (and some other compilers) extension, so
21284           don't use them. Since this is only for ABI-compatibility, and our
21285           API/ABI freeze is over in a few days, this whole thing will only
21286           last a few days, so don't bother trying to think up a meaningful
21287           name for the struct.
21288
21289 2005-11-17  Andy Wingo  <wingo@pobox.com>
21290
21291         * gst/gstclock.h (GstClock): Add rate and offset properties,
21292         preserving ABI stability. Add rate/offset accessors. Will file bug
21293         for the freeze break.
21294
21295         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21296         and offset, trying to keep precision and avoiding
21297         underflow/overflow.
21298         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21299         functions. Make gst_clock_set_time_adjust obsolete.
21300         (gst_clock_set_time_adjust): Note that this function is obsolete.
21301         Will file bug soon.
21302
21303         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21304         greppable by using GST_PADDING-1+1.
21305
21306 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21307
21308         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21309
21310         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21311           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21312
21313         * gst/gstpadtemplate.h:
21314         * gst/gstpluginfeature.h:
21315           Don't use c++ style comments in headers (#321638).
21316
21317 2005-11-16  Andy Wingo  <wingo@pobox.com>
21318
21319         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21320         buffer.
21321
21322         * check/net/gstnettimeprovider.c: Check to see that the time
21323         provider actually provides times. Works, yo!
21324
21325 2005-11-16  Wim Taymans  <wim@fluendo.com>
21326
21327         * check/Makefile.am:
21328         Enable more tests.
21329
21330         * check/elements/fakesrc.c: (GST_START_TEST):
21331         Set element to NULL before disposing it.
21332
21333 2005-11-16  Andy Wingo  <wingo@pobox.com>
21334
21335         * gst/net/Makefile.am:
21336         * gst/net/gstnet.h:
21337         * gst/net/gstnettimeprovider.c: 
21338         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21339         provider, include it from gstnet.h, and add it to the build.
21340
21341         * gst/net/gstnettimepacket.h: 
21342         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21343         sending and receiving.
21344
21345 2005-11-16  Wim Taymans  <wim@fluendo.com>
21346
21347         * check/Makefile.am:
21348         Enable valgrind check.
21349
21350         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21351         (gst_fake_src_alloc_buffer):
21352         Fix memleak.
21353
21354 2005-11-16  Wim Taymans  <wim@fluendo.com>
21355
21356         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21357         Call parent finalize too.
21358
21359 2005-11-16  Wim Taymans  <wim@fluendo.com>
21360
21361         * check/Makefile.am:
21362         Enable valgrind check that should work fine now.
21363
21364         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21365         * gst/gstqueue.c: (gst_queue_init):
21366         Fix memleaks in pad allocation.
21367
21368 2005-11-16  Andy Wingo  <wingo@pobox.com>
21369
21370         * gst/net/Makefile.am:
21371         * gst/net/gstnet.h: New part of core to hold network elements and
21372         objects. Put in core because it exposes API that applications want
21373         to use. The library is named libgstnet-tempname right now because
21374         of the existing libgstnet in gst-plugins-base. Solution is
21375         probably to rename the one in plugins-base; will file a bug for
21376         the freeze break.
21377
21378         * gst/net/gstnettimeprovider.c: 
21379         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21380         get_time call over the network.
21381
21382         * configure.ac: 
21383         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21384
21385         * check/Makefile.am:
21386         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21387         get additions shortly.
21388
21389 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21390
21391         * gst/gstpad.c: (gst_pad_new_from_static_template):
21392         * gst/gstpad.h:
21393           add gst_pad_new_from_static_template functions
21394         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21395         (gst_check_setup_sink_pad):
21396         * gst/elements/gsttee.c: (gst_tee_init):
21397           and use them
21398
21399 2005-11-16  Wim Taymans  <wim@fluendo.com>
21400
21401         * gst/gstpad.c: (gst_pad_pause_task):
21402         Removed warning, it's not really an error either.
21403
21404 2005-11-16  Wim Taymans  <wim@fluendo.com>
21405
21406         * gst/base/gstbasetransform.c:
21407         (gst_base_transform_prepare_output_buf),
21408         (gst_base_transform_event):
21409         Check if the caps are NULL, this can happen if the element
21410         is shutting down and the pad caps are set to NULL.
21411
21412 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21413
21414         * gst/elements/gsttee.c: (gst_tee_init):
21415           fix pad template leak in tee
21416
21417 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21418
21419         * gst/glib-compat.c: (g_value_dup_gst_object):
21420         * gst/glib-compat.h:
21421         * gst/gstpad.c: (gst_pad_set_property):
21422           use gst_object_ref when setting the pad template; this will
21423           trigger the pad template leaks on GLib 2.6 and the slaves
21424
21425 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21426
21427         * gst/glib-compat.c: (gst_flags_get_first_value):
21428         * gst/glib-compat.h:
21429         * gst/gstregistryxml.c:
21430           remove functions copied from GLib 2.6
21431
21432 2005-11-16  Michael Smith <msmith@fluendo.com>
21433
21434         * gst/Makefile.am:
21435           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21436           do, but only breaks with newer valgrind versions. We're not a
21437           valgrind tool, we have no link-time dependencies on libcoregrind.
21438
21439 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21440
21441         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21442           some debug changes
21443         * gst/gstmessage.h:
21444           typo fixes
21445
21446 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21447
21448         * gst/base/gstbasesrc.c: (gst_base_src_init):
21449         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21450         * gst/gstqueue.c: (gst_queue_init):
21451         * gst/gstregistryxml.c: (load_feature):
21452           Revert all these unrefs, they don't even pass make check !
21453
21454 2005-11-15  Johan Dahlin  <johan@gnome.org>
21455
21456         * gst/base/gstbasesrc.c: (gst_base_src_init):
21457         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21458         * gst/gstqueue.c: (gst_queue_init): 
21459         Free pad templates, fixes a couple of leaks.
21460
21461 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21462
21463         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21464
21465         * gst/gstpad.c: (gst_pad_get_property):
21466           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21467           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21468           (#321452)
21469
21470 2005-11-15  Wim Taymans  <wim@fluendo.com>
21471
21472         * gst/gstevent.c:
21473         Small doc update.
21474
21475 2005-11-15  Andy Wingo  <wingo@pobox.com>
21476
21477         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21478
21479         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21480         using GST_CLOCK_TIME_NONE to disable base time management.
21481         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21482         time if it was NONE before.
21483         (gst_pipeline_change_state): Only munge the base time if
21484         stream_time != GST_CLOCK_TIME_NONE.
21485
21486         * check/gst/gstpipeline.c (test_base_time): Punt around the
21487         problem of the probe not being called, because that's not the
21488         issue I'm looking at. Add a check that setting stream_time to NONE
21489         disables base time management.
21490         
21491 2005-11-15  Wim Taymans  <wim@fluendo.com>
21492
21493         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21494         segment_stop == -1 at startup.
21495
21496         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21497         (gst_base_transform_change_state):
21498         Init segment values at start.
21499
21500 2005-11-15  Wim Taymans  <wim@fluendo.com>
21501
21502         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21503         0 segment values are 0 in any format.
21504
21505         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21506         * gst/base/gstbasetransform.h:
21507         Parse newsegment correctly in basetransform
21508
21509         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21510         Sync to clock using updated segment values.
21511
21512 2005-11-15  Andy Wingo  <wingo@pobox.com>
21513
21514         * check/gst/gstpipeline.c (test_base_time): Add check that the
21515         base time and stream time are reset correctly.
21516
21517 2005-11-15  Wim Taymans  <wim@fluendo.com>
21518
21519         * docs/design/part-TODO.txt:
21520         Some more TODO items.
21521
21522 2005-11-15  Andy Wingo  <wingo@pobox.com>
21523
21524         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21525         error if the user selected "no clock" as the clocking method.
21526
21527         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21528         timestamps with live capture.
21529
21530         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21531         is 0 but we are a live source, timestamp the buffers using the
21532         element's clock.
21533
21534 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21535
21536         * docs/gst/gstreamer-sections.txt:
21537         * gst/gsterror.c:
21538         * gst/gstghostpad.c:
21539         * gst/gstobject.h:
21540         * gst/gstxml.c:
21541           more section docs
21542
21543 2005-11-14  Wim Taymans  <wim@fluendo.com>
21544
21545         * common/gst.supp:
21546           add suppressions from Wim's Debian machine
21547
21548 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21549
21550         * common/gst.supp:
21551           add suppressions from Andy's AMD64 Ubuntu machine
21552
21553 2005-11-14  Andy Wingo  <wingo@pobox.com>
21554
21555         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21556         STATE_LOCK not necessary. Fixes #311489.
21557
21558         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21559         #305291.
21560
21561         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21562         this function is not implemented.
21563
21564 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21565
21566         * gst/base/gstbasetransform.c:
21567         (gst_base_transform_prepare_output_buf):
21568         Ref the source pad caps while we need them.
21569         Fixes (#321386)
21570
21571 2005-11-11  Wim Taymans  <wim@fluendo.com>
21572
21573         * docs/gst/gstreamer-sections.txt:
21574         Added some docs for GstCollectData.
21575
21576         * gst/base/gstadapter.c:
21577         Some small code example fix.
21578
21579         * gst/base/gstcollectpads.c:
21580         * gst/base/gstcollectpads.h:
21581         Document some more.
21582
21583 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21584
21585         * configure.ac: back to HEAD
21586
21587 === release 0.9.5 ===
21588
21589 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21590
21591         * configure.ac:
21592           releasing 0.9.5, "Bike Lunch Day"
21593
21594 2005-11-11  Wim Taymans  <wim@fluendo.com>
21595
21596         * gst/gstbuffer.c: (_gst_buffer_copy):
21597         Copy more flags.
21598
21599         * gst/gstcaps.c: (gst_caps_is_equal):
21600         Fix some docs.
21601         Make _is_equal fast in the trivial cases.
21602
21603         * gst/gstminiobject.c:
21604         * gst/gstminiobject.h:
21605         More docs. Spifify .h file.
21606
21607         * gst/gstutils.c:
21608         Small doc update.
21609
21610 2005-11-11  Wim Taymans  <wim@fluendo.com>
21611
21612         * gst/base/gstbasetransform.c:
21613         (gst_base_transform_prepare_output_buf),
21614         (gst_base_transform_handle_buffer):
21615         Small cleanups.
21616         If we're processing a buffer and need to allocate an output
21617         buffer, we cannot accept a format change. If we did get a 
21618         format change, we have to alloc a buffer ourselves of the 
21619         right size.
21620
21621 2005-11-11  Wim Taymans  <wim@fluendo.com>
21622
21623         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21624         While checking the flag for reentrancy in the gstcaps function
21625         is nice to detect recursive invocations, it also makes it 
21626         impossible to call getcaps from multiple threads, which must be
21627         possible. So, checking for recursive calls has to go.
21628
21629 2005-11-11  Michael Smith <msmith@fluendo.com>
21630
21631         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21632           Don't sync on buffers that fall partially outside our current
21633           segment. Prevents an assertion failure/abort playing some files.
21634
21635 2005-11-10  Andy Wingo  <wingo@pobox.com>
21636
21637         * check/gst/gstbin.c (test_message_state_changed_children): Style
21638         fix..
21639
21640         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21641         gst_bus_poll with the signal watch. Ensures that poll and a signal
21642         watch see the same messages.
21643
21644         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21645         a poll and a watch at the same time get the same messages.
21646
21647 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21648
21649         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21650         * gst/gstcaps.c: (gst_caps_intersect):
21651           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21652           and it's not needed.
21653
21654 2005-11-10  Wim Taymans  <wim@fluendo.com>
21655
21656         * docs/design/part-TODO.txt:
21657         Updated todo.
21658
21659 2005-11-10  Wim Taymans  <wim@fluendo.com>
21660
21661         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21662         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21663         (gst_base_src_do_sync), (gst_base_src_get_range):
21664         Implement clock sync in base class.
21665
21666 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21667
21668         patch by: Tim-Philipp Müller <tim at centricular dot net>
21669
21670         * gst/gststructure.c: (gst_structure_parse_field),
21671         (gst_structure_from_string):
21672           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21673           so that gst_parse_launch() can deal with spaces in filtered link
21674           caps (fixes #164479)
21675         * check/gst/capslist.h:
21676         * check/gst/gststructure.c: (GST_START_TEST):
21677           add unit tests for this change
21678
21679 2005-11-10  Wim Taymans  <wim@fluendo.com>
21680
21681         * docs/gst/gstreamer-sections.txt:
21682         * gst/gstelement.c:
21683         * gst/gstelement.h:
21684         Fix docs, move some STATE macros to private.
21685
21686 2005-11-10  Wim Taymans  <wim@fluendo.com>
21687
21688         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21689         Added check for bug #317341
21690
21691         * gst/gstbuffer.c:
21692         * gst/gstbuffer.h:
21693         Some more spiffifying.
21694
21695         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21696         Call peer linkfunction if we are a source pad. Totally fixes
21697         #317341
21698
21699         * gst/gstpad.c:
21700         Update docs, source pads should call the peer linkfunction
21701         so they can atomically perform the pad link.
21702
21703 2005-11-09  Wim Taymans  <wim@fluendo.com>
21704
21705         * gst/gstbuffer.c:
21706         * gst/gstbuffer.h:
21707         Uber-spiffy-spiffify some more.
21708
21709 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21710
21711         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21712         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21713         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21714         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21715         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21716         * gst/gstpad.c: (gst_pad_init):
21717           Use GST_DEBUG_FUNCPTR() more extensively.
21718
21719 2005-11-09  Wim Taymans  <wim@fluendo.com>
21720
21721         * gst/gstobject.c: (gst_object_class_init):
21722         * gst/gstobject.h:
21723         Documentation fixes.
21724
21725 2005-11-09  Edward Hervey  <edward@fluendo.com>
21726
21727         * gst/gsttypefindfactory.c:
21728         Fix docs.
21729         
21730 2005-11-09  Edward Hervey  <edward@fluendo.com>
21731
21732         * gst/base/gsttypefindhelper.c:
21733         * gst/gsttypefind.c:
21734         * gst/gsttypefind.h:
21735         Fix docs.
21736
21737 2005-11-09  Wim Taymans  <wim@fluendo.com>
21738
21739         * gst/gstiterator.c:
21740         Fix revision data.
21741
21742         * gst/gsttask.c:
21743         * gst/gsttask.h:
21744         Fix docs.
21745
21746 2005-11-09  Wim Taymans  <wim@fluendo.com>
21747
21748         * gst/gstevent.h:
21749         * gst/gsturi.h:
21750         Fix docs.
21751
21752 2005-11-09  Wim Taymans  <wim@fluendo.com>
21753
21754         * docs/gst/gstreamer-sections.txt:
21755         Moved the message async delivery private lock and cond
21756         to the private section.
21757
21758         * gst/gstmessage.c:
21759         * gst/gstmessage.h:
21760         Fixed docs.
21761
21762 2005-11-09  Edward Hervey  <edward@fluendo.com>
21763
21764         * docs/gst/gstreamer-sections.txt:
21765         * gst/gsturi.c:
21766         * gst/gsturi.h:
21767         Document GstURIHandler
21768
21769 2005-11-09  Wim Taymans  <wim@fluendo.com>
21770
21771         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21772         (gst_iterator_find_custom):
21773         * gst/gstiterator.h:
21774         Fix iterator docs.
21775
21776 2005-11-09  Wim Taymans  <wim@fluendo.com>
21777
21778         * gst/gstbin.h:
21779         Document another field.
21780
21781         * gst/gststructure.c:
21782         * gst/gststructure.h:
21783         Document.
21784
21785 2005-11-09  Wim Taymans  <wim@fluendo.com>
21786
21787         * gst/gstbin.h:
21788         Documented structs.
21789
21790 2005-11-09  Wim Taymans  <wim@fluendo.com>
21791
21792         * docs/gst/gstreamer-sections.txt:
21793         Added some new macros.
21794
21795         * gst/gstclock.c:
21796         * gst/gstclock.h:
21797         * gst/gstobject.h:
21798         Docs updates.
21799
21800 2005-11-09  Wim Taymans  <wim@fluendo.com>
21801
21802         * docs/design/part-TODO.txt:
21803         Some more items for the TODO
21804
21805         * gst/gstcaps.c:
21806         * gst/gstcaps.h:
21807         Document GstCaps.
21808
21809 2005-11-09  Andy Wingo  <wingo@pobox.com>
21810
21811         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21812         to work on something else now tho...
21813
21814         * gst/base/gstadapter.c: More adapter docs.
21815
21816         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21817         (gst_file_sink_stop): New functions, replace the state change
21818         handler.
21819         (gst_file_sink_class_init): Hook up the start and stop functions.
21820         (gst_file_sink_base_init): Don't set the state change handler any
21821         more. It was a bit ugly too, being set from here...
21822         (gst_file_sink_get_property, gst_file_sink_set_property):
21823         Cleanups...
21824         (gst_file_sink_set_location): More robust check that doesn't call
21825         GST_STATE. Ugggggg.
21826
21827 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21828
21829         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21830           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21831
21832 2005-11-08  Wim Taymans  <wim@fluendo.com>
21833
21834         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21835         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21836         (gst_base_sink_chain), (gst_base_sink_change_state):
21837         * gst/base/gstbasesink.h:
21838         * gst/base/gstbasesrc.h:
21839         * gst/gstelement.h:
21840         * gst/gstevent.h:
21841         Avoid excessive typechecking in macros.
21842
21843         * gst/gstminiobject.c: (gst_mini_object_get_type),
21844         (gst_mini_object_init), (gst_mini_object_new),
21845         (gst_mini_object_free):
21846         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21847         (gst_object_finalize):
21848         Remove cruft code, optimize alloc_trace.
21849
21850 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21851
21852         * docs/faq/gst-uninstalled:
21853           fix up PS1 for systems that try to reset it
21854
21855 2005-11-07  Wim Taymans  <wim@fluendo.com>
21856
21857         * gst/base/gstbasesrc.c: (gst_base_src_init),
21858         (gst_base_src_get_range):
21859         Set the segment_end to -1 initially. Fixed typefind.
21860
21861 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21862
21863         * gst/base/gstadapter.c:
21864           Debug category should be 'adapter', not 'GstAdapter'.
21865           
21866         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21867         (gst_collectpads_class_init), (gst_collectpads_init),
21868         (gst_collectpads_peek), (gst_collectpads_pop),
21869         (gst_collectpads_event), (gst_collectpads_chain):
21870           Add debug category and some debugging output. Use boilerplate
21871           macros. Remove some extraneous words from docs.
21872
21873 2005-11-05  Andy Wingo  <wingo@pobox.com>
21874
21875         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21876         macro.
21877
21878 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21879
21880         * docs/gst/gstreamer-sections.txt:
21881         * gst/gstcaps.h:
21882         * gst/gstinfo.c:
21883         * gst/gstminiobject.h:
21884         * gst/gstobject.h:
21885         * gst/gstutils.h:
21886           more docs added
21887
21888 2005-11-04  Wim Taymans  <wim@fluendo.com>
21889
21890         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21891         Small update to stop at the configured segment_end
21892         position.
21893
21894 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21895
21896         * gst/gstregistry.c:
21897         * gst/gstregistry.h:
21898           added missing docs
21899
21900 2005-11-04  Edward Hervey  <edward@fluendo.com>
21901
21902         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21903         Check if we are doing a segment seek and have arrived at the
21904         end of that segment.
21905
21906 2005-11-04  Wim Taymans  <wim@fluendo.com>
21907
21908         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21909         Don't leak a mutex unlock in case of an error.
21910
21911         * gst/gstbus.h:
21912         Doc fixes.
21913
21914 2005-11-04  Wim Taymans  <wim@fluendo.com>
21915
21916         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21917         (gst_bus_post):
21918         Get the context to wake up only once.
21919
21920 2005-11-03  Wim Taymans  <wim@fluendo.com>
21921
21922         * check/states/sinks.c: (GST_START_TEST):
21923         Uncomment fixed check.
21924
21925         * docs/design/part-TODO.txt:
21926         Updated TODO.
21927
21928         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21929         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21930         (gst_base_sink_get_position):
21931         If we are going to PLAYING, post the right pending state
21932         when we post the intermediate paused message.
21933
21934         * gst/gstelement.c: (gst_element_continue_state),
21935         (gst_element_set_state_func), (gst_element_change_state):
21936         Don't post state changes that were between the same state
21937         and were not ASYNC.
21938
21939 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21940
21941         * docs/gst/gstreamer-sections.txt:
21942         * gst/gstcaps.h:
21943         * gst/gstinfo.c:
21944         * gst/gstminiobject.h:
21945         * gst/gstobject.h:
21946         * gst/gstutils.h:
21947           more docs and doc style fixes
21948
21949 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21950
21951         * docs/gst/gstreamer-sections.txt:
21952         * gst/gstelement.c:
21953         * gst/gstminiobject.c:
21954         doc fixes
21955
21956 2005-11-03  Andy Wingo  <wingo@pobox.com>
21957
21958         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21959         state-changed messages actually have the right order and the right
21960         values.
21961
21962 2005-11-03  Wim Taymans  <wim@fluendo.com>
21963
21964         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21965         Added some more checks. Specifically the case where NO_PREROLL
21966         elements are in the pipeline.
21967
21968         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21969         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21970         (gst_base_sink_get_position):
21971         Post READY->PAUSED state change messages too.
21972         Fix bug where VOID was posted as pending state...
21973
21974         * gst/gstbin.c: (gst_bin_recalc_state):
21975         use _element_continue_state() to continue the state change.
21976
21977         * gst/gstelement.c: (gst_element_continue_state),
21978         (gst_element_commit_state), (gst_element_set_state_func),
21979         (gst_element_change_state), (gst_element_change_state_func):
21980         Lots of state change cleanups, assign the STATE_RETURN in
21981         a new continue_state() function that also propagates the
21982         last return value from a state change to the app.
21983         Update some debug statements with proper category.
21984
21985 2005-11-03  Wim Taymans  <wim@fluendo.com>
21986
21987         * docs/design/part-events.txt:
21988         * docs/design/part-gstpipeline.txt:
21989         * docs/design/part-messages.txt:
21990         * docs/design/part-overview.txt:
21991         * docs/design/part-seeking.txt:
21992         * docs/design/part-states.txt:
21993         * docs/design/part-trickmodes.txt:
21994         * docs/manual/advanced-position.xml:
21995         Small docs updates.
21996
21997         * gst/gstobject.h:
21998         People think !! is ugly, this looks better.
21999
22000         * gst/gstpad.c: (gst_pad_set_blocked_async):
22001         Remove !! since it's fixed elsewhere now.
22002
22003 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22004
22005         * gst/gstminiobject.h:
22006         * gst/gstobject.h:
22007           Add !! to _FLAG_IS_SET macros to make the result boolean.
22008
22009 2005-11-03  Edward Hervey  <edward@fluendo.com>
22010
22011         * gst/gstpad.c: (gst_pad_set_blocked_async):
22012         comparing a flag and a gboolean rarely returns coherent results...
22013         Added two characters (!!) to make that work correctly.
22014         
22015 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22016
22017         * gst/gstbus.c: (gst_bus_class_init):
22018           Fix some typos.
22019           
22020         * gst/gstqueue.c: (gst_queue_loop):
22021           Don't assume a miniobject that isn't a buffer is an
22022           event (it could be that there is a refcounting
22023           problem somewhere and the pointer is stale and
22024           refers to an already destroyed miniobject).
22025
22026 2005-11-03  Julien MOUTTE  <julien@moutte.net>
22027
22028         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
22029
22030 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22031
22032         * docs/manual/advanced-position.xml:
22033           Update seek example and explanations to current 0.9 API.
22034
22035         * gst/elements/gsttypefindelement.c:
22036         (gst_type_find_element_activate):
22037           Remove FIXME comment now that the found caps
22038           are unreffed.
22039
22040 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22041
22042         * gst/gstregistryxml.c: (load_feature):
22043           Add another GST_STR_NULL instance
22044
22045 2005-11-02  Edward Hervey  <edward@fluendo.com>
22046
22047         * gst/gstpad.c: (handle_pad_block):
22048         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
22049         
22050 2005-11-02  Wim Taymans  <wim@fluendo.com>
22051
22052         * gst/gstbin.c:
22053         Fix typo in docs.
22054
22055         * gst/gstelement.c: (gst_element_commit_state):
22056         Remove unused value.
22057
22058         * gst/gstiterator.c:
22059         Mention that the returned element is reffed in the docs.
22060
22061 2005-11-02  Wim Taymans  <wim@fluendo.com>
22062
22063         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
22064         (gst_pad_push), (gst_pad_push_event):
22065         Unlock blocked pads when they are flushed.
22066
22067 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22068
22069         * docs/README:
22070         * docs/gst/gstreamer-sections.txt:
22071         * gst/gstbin.c:
22072           doc updates
22073         * gst/gstregistry.c: (gst_registry_scan_path_level):
22074           fix for a nasty little missed situation where an installed plug-in
22075           which was in the cache did not get overridden by an uninstalled one
22076           which was earlier in the plugin path because the newly created plugin
22077           for the uninstalled one (not in the registry) didn't get its
22078           ->registered set to TRUE
22079
22080 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22081
22082         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22083         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22084         (gst_collectpads_is_active), (gst_collectpads_collect),
22085         (gst_collectpads_collect_range), (gst_collectpads_start),
22086         (gst_collectpads_stop), (gst_collectpads_peek),
22087         (gst_collectpads_pop), (gst_collectpads_available),
22088         (gst_collectpads_read), (gst_collectpads_flush):
22089           Guard public API with assertions.
22090         
22091         * gst/gstpad.c:
22092           Fix docs for gst_pad_set_link_function().
22093
22094 2005-11-02  Johan Dahlin  <johan@gnome.org>
22095
22096         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22097         Unref found_caps after we used it.
22098
22099 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22100
22101         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22102           Don't try to ref NULL.
22103
22104 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22105
22106         * win32/common/config.h.in:
22107           provide a GST_FUNCTION that just gives a string for now
22108
22109 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22110
22111         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22112         (gst_object_flags_get_type), (register_gst_bin_flags),
22113         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22114         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22115         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22116         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22117         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22118         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22119         (gst_clock_flags_get_type), (register_gst_state),
22120         (gst_state_get_type), (register_gst_state_change_return),
22121         (gst_state_change_return_get_type), (register_gst_state_change),
22122         (gst_state_change_get_type), (register_gst_element_flags),
22123         (gst_element_flags_get_type), (register_gst_core_error),
22124         (gst_core_error_get_type), (register_gst_library_error),
22125         (gst_library_error_get_type), (register_gst_resource_error),
22126         (gst_resource_error_get_type), (register_gst_stream_error),
22127         (gst_stream_error_get_type), (register_gst_event_type),
22128         (gst_event_type_get_type), (register_gst_seek_type),
22129         (gst_seek_type_get_type), (register_gst_seek_flags),
22130         (gst_seek_flags_get_type), (register_gst_format),
22131         (gst_format_get_type), (register_gst_index_certainty),
22132         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22133         (gst_index_entry_type_get_type),
22134         (register_gst_index_lookup_method),
22135         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22136         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22137         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22138         (gst_index_flags_get_type), (register_gst_debug_level),
22139         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22140         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22141         (gst_iterator_result_get_type), (register_gst_iterator_item),
22142         (gst_iterator_item_get_type), (register_gst_message_type),
22143         (gst_message_type_get_type), (register_gst_mini_object_flags),
22144         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22145         (gst_pad_link_return_get_type), (register_gst_flow_return),
22146         (gst_flow_return_get_type), (register_gst_activate_mode),
22147         (gst_activate_mode_get_type), (register_gst_pad_direction),
22148         (gst_pad_direction_get_type), (register_gst_pad_flags),
22149         (gst_pad_flags_get_type), (register_gst_pad_presence),
22150         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22151         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22152         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22153         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22154         (gst_plugin_flags_get_type), (register_gst_rank),
22155         (gst_rank_get_type), (register_gst_query_type),
22156         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22157         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22158         (gst_tag_flag_get_type), (register_gst_task_state),
22159         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22160         (gst_alloc_trace_flags_get_type),
22161         (register_gst_type_find_probability),
22162         (gst_type_find_probability_get_type), (register_gst_uri_type),
22163         (gst_uri_type_get_type), (register_gst_parse_error),
22164         (gst_parse_error_get_type):
22165         * win32/common/gstversion.h:
22166           update win32 copies
22167
22168 2005-11-01  Luca Ognibene  <luogni@tin.it>
22169
22170         * gst/gst.c:
22171           fix docs. popt is dead, long live GOption.
22172
22173 2005-10-31  Wim Taymans  <wim@fluendo.com>
22174
22175         * gst/gstbuffer.h:
22176         Small doc fix.
22177
22178 2005-10-31  Andy Wingo  <wingo@pobox.com>
22179
22180         * Boo!
22181
22182         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22183
22184         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22185         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22186         the possibility of deadlocks here if code calling notify() or
22187         set() has a lock that can be taken in another notify handler (ABBA
22188         with class lock and e.g. python GIL state lock).
22189
22190 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22191
22192         * gst/gstbus.c: Doc updates.
22193
22194 2005-10-28  Wim Taymans  <wim@fluendo.com>
22195
22196         * docs/design/part-TODO.txt:
22197         * gst/gstiterator.c:
22198         * gst/gstsystemclock.c:
22199         * gst/gstsystemclock.h:
22200         Doc updates.
22201
22202 2005-10-28  Edward Hervey  <edward@fluendo.com>
22203
22204         * docs/gst/gstreamer-docs.sgml:
22205         * docs/gst/gstreamer-sections.txt:
22206         the GstURIType documentation page is private, it only defines GstURIType
22207         which should be defined in the GstURIHandler page
22208         
22209 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22210
22211         * gst/gstbin.c: (gst_bin_class_init):
22212         * gst/gstbin.h:
22213         * gst/gstutils.c:
22214         Documentation updates.
22215
22216 2005-10-28  Wim Taymans  <wim@fluendo.com>
22217
22218         * docs/gst/gstreamer-sections.txt:
22219         * gst/gstclock.c:
22220         * gst/gstclock.h:
22221         Documented the clocks.
22222
22223 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22224
22225         * docs/gst/gstreamer-sections.txt:
22226           move some macros to private sections
22227         * gst/gstminiobject.c:
22228         * gst/gstminiobject.h:
22229           add descriptions provided by ds and some more
22230         * gst/gstpad.h:
22231           mark macro as to be removed
22232
22233 2005-10-28  Wim Taymans  <wim@fluendo.com>
22234
22235         * docs/design/part-TODO.txt:
22236         Add an item to TODO.
22237
22238         * gst/gstiterator.c: (gst_iterator_fold),
22239         (gst_iterator_find_custom):
22240         * gst/gstiterator.h:
22241         Add iterator docs.
22242
22243 2005-10-28  Wim Taymans  <wim@fluendo.com>
22244
22245         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22246         (gst_base_transform_init):
22247         Don't leak class.
22248
22249         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22250         An EOS event marks the queue as completely filled.
22251
22252 2005-10-27  Wim Taymans  <wim@fluendo.com>
22253
22254         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22255         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22256         Some more debugging.
22257
22258         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22259         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22260         (gst_base_transform_event), (gst_base_transform_getrange),
22261         (gst_base_transform_chain):
22262         * gst/base/gstbasetransform.h:
22263         Fix debugging,
22264         Protect transform and concurrent buffer alloc with a new lock.
22265         Try not to break ABI/API.
22266
22267 2005-10-27  Wim Taymans  <wim@fluendo.com>
22268
22269         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22270         (gst_base_src_init), (gst_base_src_query),
22271         (gst_base_src_default_newsegment),
22272         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22273         (gst_base_src_send_event), (gst_base_src_event_handler),
22274         (gst_base_src_pad_get_range), (gst_base_src_loop),
22275         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22276         (gst_base_src_start), (gst_base_src_deactivate),
22277         (gst_base_src_activate_push), (gst_base_src_change_state):
22278         Move some stuff around and cleanup things.
22279
22280 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22281
22282         * gst/base/gstbasesrc.c: (gst_base_src_query):
22283           Add missing break statements.
22284
22285 2005-10-27  Wim Taymans  <wim@fluendo.com>
22286
22287         * check/gst/gstbin.c: (GST_START_TEST):
22288         An extra refcount is taken in basesrc.
22289
22290         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22291         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22292         (gst_base_src_loop):
22293         Small cleanups, check for flushing after being unlocked from the 
22294         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22295         Don't send out EOS when going to READY.
22296
22297 2005-10-27  Wim Taymans  <wim@fluendo.com>
22298
22299         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22300         (gst_base_sink_get_position):
22301         Some more debug.
22302
22303         * gst/gstbin.c: (message_check), (bin_replace_message),
22304         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22305         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22306         (bin_query_duration_init), (bin_query_duration_fold),
22307         (bin_query_duration_done), (bin_query_generic_fold),
22308         (gst_bin_query):
22309         * tools/gst-launch.c: (main):
22310         Remove old option.
22311
22312 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22313
22314         * examples/controller/audio-example.c: (main):
22315         * examples/queue/queue.c: (event_loop):
22316         * gst/base/gstbasetransform.h:
22317         * gst/gstelement.c: (gst_element_send_event):
22318         * gst/gstevent.h:
22319         * gst/gstpad.c: (gst_pad_send_event):
22320           fixing examples
22321           fixing docs typos
22322           changing log priority in error situations
22323
22324 2005-10-25  Wim Taymans  <wim@fluendo.com>
22325
22326         * gst/gstbin.c: (message_check), (bin_replace_message),
22327         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22328         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22329         (bin_query_duration_init), (bin_query_duration_fold),
22330         (bin_query_duration_done), (bin_query_generic_fold),
22331         (gst_bin_query):
22332         Some doc and debug updates.
22333         Cache previously requested query DURATION for speed. invalidate
22334         cached duration if element posts a DURATION message.
22335
22336 2005-10-25  Wim Taymans  <wim@fluendo.com>
22337
22338         * docs/design/part-TODO.txt:
22339         Update TODO.
22340
22341         * gst/gstbin.c: (message_check), (bin_replace_message),
22342         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22343         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22344         (bin_query_duration_init), (bin_query_duration_fold),
22345         (bin_query_duration_done), (bin_query_generic_fold),
22346         (gst_bin_query):
22347         Handle SEGMENT_START/DONE messages correctly.
22348         More evolved query algorithm that handles duration queries
22349         correctly.
22350
22351         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22352         (gst_element_get_state_func), (gst_element_abort_state),
22353         (gst_element_commit_state), (gst_element_lost_state):
22354         Some more debugging.
22355
22356         * gst/gstmessage.h:
22357         Added doc.
22358
22359 2005-10-25  Wim Taymans  <wim@fluendo.com>
22360
22361         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22362         Don't use invalid stream_time.
22363
22364         * gst/gstevent.c: (gst_event_new_newsegment):
22365         stream_time in newsegment cannot be undefined.
22366
22367 2005-10-24  Wim Taymans  <wim@fluendo.com>
22368
22369         * gst/gstbus.c:
22370         Doc fix.
22371
22372         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22373         (gst_queue_loop):
22374         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22375
22376 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22377
22378         * docs/libs/tmpl/gstdparam.sgml:
22379         * docs/libs/tmpl/gstdplinint.sgml:
22380         * docs/libs/tmpl/gstdpman.sgml:
22381         * docs/libs/tmpl/gstdpsmooth.sgml:
22382         * docs/libs/tmpl/gstunitconvert.sgml:
22383           these are obsolete
22384
22385 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22386
22387         * configure.ac:
22388           back to HEAD
22389
22390 === release 0.9.4 ===
22391
22392 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22393
22394         * configure.ac:
22395           releasing 0.9.4, "Tyrannosaurus Rex"
22396
22397 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22398
22399         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22400         (gst_file_sink_get_current_offset):
22401           Use fseeko() and ftello() if available. When falling back on
22402           lseek() to get the current offset, fflush() first to make sure
22403           everything is up-to-date and we get the right offset.
22404
22405 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22406
22407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22408         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22409         * gst/gsterror.c: (_gst_stream_errors_init):
22410         * gst/gsterror.h:
22411         * gst/gstqueue.c: (gst_queue_loop):
22412         * po/POTFILES.in:
22413           remove prematurely added error category and clean up the instances
22414
22415 2005-10-21  Wim Taymans  <wim@fluendo.com>
22416
22417         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22418         (gst_base_sink_get_position), (gst_base_sink_query),
22419         (gst_base_sink_change_state):
22420         Simply set the right flag when going to playing, that's all
22421         we need to do instead of calling a function inside the object
22422         lock (that could take the lock as well and deadlock)
22423
22424 2005-10-21  Wim Taymans  <wim@fluendo.com>
22425
22426         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22427         (gst_base_src_loop):
22428         Don't warn, the peer element knows what to do best when
22429         the seek failed, it might try something else.
22430
22431 2005-10-21  Wim Taymans  <wim@fluendo.com>
22432
22433         * gst/base/gstbasesrc.c: (gst_base_src_init),
22434         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22435         Fix seeking.
22436
22437 2005-10-21  Wim Taymans  <wim@fluendo.com>
22438
22439         * docs/design/part-segments.txt:
22440         More docs.
22441
22442         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22443         Correctly set caps, even on the subbufer.
22444
22445 2005-10-21  Wim Taymans  <wim@fluendo.com>
22446
22447         * docs/gst/gstreamer-docs.sgml:
22448         * docs/gst/gstreamer-sections.txt:
22449         * gst/gstelement.h:
22450         * gst/gstevent.c:
22451         * gst/gstevent.h:
22452         * gst/gstmessage.h:
22453         * gst/gstpad.h:
22454         * gst/gstparse.h:
22455         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22456         * gst/gsttask.h:
22457         * gst/gstutils.c:
22458         * gst/gstutils.h:
22459         And 2% more doc coverage.
22460
22461 2005-10-21  Andy Wingo  <wingo@pobox.com>
22462
22463         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22464         position reporting.
22465
22466 2005-10-20  Wim Taymans  <wim@fluendo.com>
22467
22468         * gst/gsterror.c: (gst_error_get_message):
22469         * gst/gstparse.h:
22470         * gst/gstquery.h:
22471         * gst/gststructure.c:
22472         * gst/gsttrace.c:
22473         * gst/gstutils.c:
22474         More docs.
22475
22476 2005-10-20  Wim Taymans  <wim@fluendo.com>
22477
22478         * gst/gstbuffer.h:
22479         * gst/gstpad.c:
22480         * gst/gstparse.c:
22481         Another 1% more coverage.
22482
22483 2005-10-20  Wim Taymans  <wim@fluendo.com>
22484
22485         * docs/gst/gstreamer-sections.txt:
22486         * gst/gstelement.c: (gst_element_get_state_func),
22487         (gst_element_abort_state), (gst_element_commit_state),
22488         (gst_element_lost_state):
22489         * gst/gstevent.h:
22490         * gst/gstquery.c: (gst_query_set_position),
22491         (gst_query_parse_position), (gst_query_set_duration),
22492         (gst_query_parse_duration), (gst_query_new_convert):
22493         * gst/gstutils.c:
22494         Yay! 1% more docs coverage.
22495
22496 2005-10-20  Wim Taymans  <wim@fluendo.com>
22497
22498         * gst/gstpad.h:
22499         * gst/gstquery.c: (gst_query_set_position),
22500         (gst_query_parse_position), (gst_query_set_duration),
22501         (gst_query_parse_duration), (gst_query_new_convert):
22502         * gst/gstquery.h:
22503         * gst/gstutils.c: (gst_element_query_convert):
22504         * gst/gstutils.h:
22505         Docs and consistency fixes.
22506
22507 2005-10-20  Wim Taymans  <wim@fluendo.com>
22508
22509         * gst/gsttask.c:
22510         * gst/gsttask.h:
22511         More docs.
22512
22513 2005-10-20  Wim Taymans  <wim@fluendo.com>
22514
22515         * gst/gstbin.c: (message_check), (bin_replace_message),
22516         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22517         (update_degree), (gst_bin_sort_iterator_next),
22518         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22519         Reworked the message handling a bit, cache the messages instead of
22520         only the senders. alows us to do more in the future.
22521
22522 2005-10-20  Wim Taymans  <wim@fluendo.com>
22523
22524         * docs/design/part-TODO.txt:
22525         Update TODO
22526
22527         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22528         (gst_base_sink_query):
22529         Don't use clock time to report position when in EOS.
22530
22531 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22532
22533         * tools/gst-inspect.c: (print_interfaces),
22534         (print_element_properties_info), (print_element_info):
22535           Fix interface output with gst-inspect -a; don't print
22536           newlines after double/float properties.
22537
22538 2005-10-20  Wim Taymans  <wim@fluendo.com>
22539
22540         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22541         (gst_base_sink_query):
22542         Speed up current position calculation.
22543
22544         * gst/base/gstbasesrc.c: (gst_base_src_query),
22545         (gst_base_src_default_newsegment):
22546         Correctly set stream position in newsegment.
22547
22548         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22549         (update_degree), (gst_bin_sort_iterator_next),
22550         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22551         * gst/gstmessage.c: (gst_message_new_custom):
22552         Clean up debugging info
22553
22554         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22555         (gst_queue_loop), (gst_queue_handle_src_query):
22556         Pause task faster.
22557
22558 2005-10-19  Wim Taymans  <wim@fluendo.com>
22559
22560         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22561         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22562         Fix query handling again.
22563
22564 2005-10-19  Wim Taymans  <wim@fluendo.com>
22565
22566         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22567         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22568         * gst/base/gstbasesrc.c: (gst_base_src_query):
22569         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22570         * gst/elements/gsttypefindelement.c:
22571         (gst_type_find_handle_src_query), (find_element_get_length),
22572         (gst_type_find_element_activate):
22573         API change fix.
22574
22575         * gst/gstquery.c: (gst_query_new_position),
22576         (gst_query_set_position), (gst_query_parse_position),
22577         (gst_query_new_duration), (gst_query_set_duration),
22578         (gst_query_parse_duration), (gst_query_set_segment),
22579         (gst_query_parse_segment):
22580         * gst/gstquery.h:
22581         Bundling query position/duration is not a good idea since duration
22582         does not change much and we don't want to recalculate it for every
22583         position query, so they are separated again..
22584         Base value in segment query is not needed.
22585
22586         * gst/gstqueue.c: (gst_queue_handle_src_query):
22587         * gst/gstutils.c: (gst_element_query_position),
22588         (gst_element_query_duration), (gst_pad_query_position),
22589         (gst_pad_query_duration):
22590         * gst/gstutils.h:
22591         Updates for query API change.
22592         Added some docs here and there.
22593
22594 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22595
22596         * check/gst/gstbin.c: (GST_START_TEST):
22597         * check/gst/gstghostpad.c: (GST_START_TEST):
22598         * check/pipelines/cleanup.c: (GST_START_TEST):
22599           wait on thread to die so we can check refcount correctly
22600
22601 2005-10-18  Wim Taymans  <wim@fluendo.com>
22602
22603         * check/pipelines/stress.c: (GST_START_TEST):
22604         Make check a little more time consuming.
22605
22606 2005-10-18  Wim Taymans  <wim@fluendo.com>
22607
22608         * check/Makefile.am:
22609         * check/pipelines/stress.c: (GST_START_TEST),
22610         (simple_launch_lines_suite), (main):
22611         Small state change torture test.
22612
22613         * docs/design/part-states.txt:
22614         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22615         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22616         (gst_base_sink_change_state):
22617         Never take state lock from streaming thread, clean up ugly
22618         hacks. Unfortunatly core does not yet support nice ways to
22619         async commit state.
22620         
22621         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22622         (bin_bus_handler):
22623         Start state recalc if a STATE_DIRTY message is posted, but only
22624         on the toplevel bin.
22625
22626         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22627         (gst_element_get_state_func), (gst_element_abort_state),
22628         (gst_element_commit_state), (gst_element_lost_state),
22629         (gst_element_set_state_func), (gst_element_change_state):
22630         * gst/gstelement.h:
22631         State variables are now protected with the LOCK, the state
22632         lock is only used to serialize _set_state().
22633
22634 2005-10-18  Wim Taymans  <wim@fluendo.com>
22635
22636         * check/gst/gstbin.c: (GST_START_TEST):
22637         * check/gst/gstmessage.c: (GST_START_TEST):
22638         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22639         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22640         (bin_bus_handler):
22641         * gst/gstelement.c: (gst_element_abort_state),
22642         (gst_element_commit_state), (gst_element_lost_state):
22643         * gst/gstmessage.c: (gst_message_new_state_changed),
22644         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22645         (gst_message_new_segment_done), (gst_message_new_duration),
22646         (gst_message_parse_state_changed),
22647         (gst_message_parse_segment_start),
22648         (gst_message_parse_segment_done), (gst_message_parse_duration):
22649         * gst/gstmessage.h:
22650         * tools/gst-launch.c: (event_loop):
22651         Seriously, this is better than a previous commit as we only need
22652         to notify the fact that an element changed state in a streaming
22653         thread, marking the state of the parents dirty, hence the 
22654         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22655         message.
22656
22657 2005-10-18  Wim Taymans  <wim@fluendo.com>
22658
22659         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22660         (gst_bin_recalc_func):
22661         * gst/gstelement.c: (gst_element_set_clock),
22662         (gst_element_abort_state), (gst_element_lost_state):
22663         Cleanups, prepare for state change fixes.
22664
22665 2005-10-18  Wim Taymans  <wim@fluendo.com>
22666
22667         * gst/gstbin.h:
22668         * gst/gstelement.c: (gst_element_class_init),
22669         (gst_element_set_state), (gst_element_set_state_func):
22670         * gst/gstelement.h:
22671         Pending ABI changes.
22672         GThreadPool in GstBinClass to monitor async state changes.
22673         state_cookie in GstElement to detect concurrent gst/set state.
22674         set_state is now virtual too in case a very complicated element
22675         has to be constructed.
22676
22677 2005-10-18  Wim Taymans  <wim@fluendo.com>
22678
22679         * check/gst/gstbin.c: (GST_START_TEST):
22680         * check/gst/gstmessage.c: (GST_START_TEST):
22681         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22682         * gst/gstbin.c: (bin_bus_handler):
22683         * gst/gstelement.c: (gst_element_commit_state),
22684         (gst_element_lost_state):
22685         * gst/gstmessage.c: (gst_message_new_state_changed),
22686         (gst_message_new_segment_start), (gst_message_new_segment_done),
22687         (gst_message_new_duration), (gst_message_parse_state_changed),
22688         (gst_message_parse_segment_start),
22689         (gst_message_parse_segment_done), (gst_message_parse_duration):
22690         * gst/gstmessage.h:
22691         * tools/gst-launch.c: (event_loop):
22692         Make messages future proof.
22693         state-change gets a flag if it was a message comming from the
22694         streaming thread.
22695         segment-start/stop can also be specified in other formats.
22696         A message to notify an app that a pipeline changed playback 
22697         duration.
22698         Also fix a GstMessage leak in -launch
22699
22700 2005-10-18  Andy Wingo  <wingo@pobox.com>
22701
22702         * gst/gstelement.c (gst_element_dispose): More helpful message.
22703
22704 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22705
22706         reviewed by: <delete if not using a buddy>
22707
22708         * common/gtk-doc.mak:
22709
22710 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22711
22712         * gst/gstregistry.c: (gst_registry_scan_path_level):
22713           unref a plug-in we get that was already initialized
22714
22715 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22716
22717         * docs/gst/gstreamer-sections.txt:
22718         * docs/libs/gstreamer-libs-sections.txt:
22719         * gst/gstelement.h:
22720           add new api entries
22721           hide internal macro
22722
22723 2005-10-17  Andy Wingo  <wingo@pobox.com>
22724
22725         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22726         cleanup.
22727
22728         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22729
22730         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22731
22732         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22733         (gst_element_get_state_func): Better debug message.
22734         (gst_element_commit_state): s/INFO/DEBUG/.
22735         (gst_element_lost_state, gst_element_change_state): 
22736
22737         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22738         (gst_message_new_custom): s/INFO/LOG/.
22739
22740 2005-10-17  Michael Smith <msmith@fluendo.com>
22741
22742         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22743           Check if end time is valid using end time, not start time.
22744
22745 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22746
22747         * check/gst-libs/controller.c: (GST_START_TEST),
22748         (gst_controller_suite):
22749         * libs/gst/controller/gstcontroller.c:
22750         (gst_controlled_property_set_interpolation_mode):
22751         * libs/gst/controller/gstcontroller.h:
22752         * libs/gst/controller/gstinterpolation.c:
22753         * testsuite/controller/.cvsignore:
22754         * testsuite/controller/Makefile.am:
22755         * testsuite/controller/interpolator.c:
22756           merge controller testsuites
22757           fix broken tests
22758           remove mem-chunk from docs
22759
22760 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22761
22762         * gst/gstmemchunk.c:
22763         * gst/gstmemchunk.h:
22764         * gst/gsttrashstack.c:
22765         * gst/gsttrashstack.h:
22766           out.  get out.  you're fired.  to the Attic !
22767
22768 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22769
22770         * gst/gstcaps.c: (gst_caps_intersect):
22771           fix signedness issues in a (hopefully) correct way
22772         * gst/gstelement.c: (gst_element_pads_activate):
22773           some debugging
22774         * gst/gstobject.c: (gst_object_set_parent):
22775           some debugging
22776
22777 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22778
22779         * gst/gstvalue.h: Fix prototypes.
22780
22781 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22782
22783         * docs/gst/gstreamer-sections.txt:
22784         * gst/gst.c: (gst_version_string):
22785         * gst/gst.h:
22786         * gst/gstversion.h.in:
22787         * win32/common/libgstreamer.def:
22788           add gst_version_string ()
22789
22790 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22791
22792         * configure.ac:
22793           clean up further
22794         * gst/gst.c: (init_post):
22795         * win32/common/config.h.in:
22796           it's PLUGINDIR now
22797         * gst/gstcaps.c: (gst_caps_intersect):
22798           use gint64, the range could be bigger than a guint
22799
22800 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22801
22802         * gst/gstclock.h:
22803           document potential problem in 2038
22804
22805 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22806
22807         * gst/gstcaps.c: (gst_caps_intersect):
22808           Fix guint j diving under 0
22809
22810 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22811
22812         * configure.ac:
22813         * win32/common/config.h:
22814         * win32/common/config.h.in:
22815           check for process.h, declares getpid() on Windows
22816         * gst/gstinfo.c:
22817           include process.h if we have it
22818         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22819         * gst/gstmemchunk.h:
22820           fix signedness issues
22821         * win32/common/libgstreamer.def:
22822           fix get_type's
22823
22824 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22825
22826         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22827         fix. Because of unsigned ints, caps intersection was going nuts and
22828         trying to access structures with G_MAXUINT index. That fixes
22829         videotestsrc ! ffmpegcolorspace ! fakesink
22830         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22831         consistency.
22832
22833 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22834
22835         * configure.ac:
22836           use the gettext macro
22837         * gst/elements/gstelements.c:
22838         * gst/gst.c:
22839         * gst/indexers/gstindexers.c:
22840           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22841         * win32/common/config.h:
22842           updated config.h
22843         * win32/common/config.h.in:
22844           add the template to generate config.h
22845         * win32/common/gstenumtypes.c:
22846         * win32/common/gstversion.h:
22847           updated copies
22848
22849 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22850
22851         * gst/gst.c: (gst_version):
22852         * gst/gstversion.h.in:
22853           add the nano
22854
22855 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22856
22857         * gst/gstevent.h:
22858           Oops, add missing closing bracket.
22859
22860 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22861
22862         * configure.ac:
22863           use common m4's for argument checking
22864
22865 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22866
22867         * docs/gst/gstreamer-sections.txt:
22868         * gst/gstevent.h:
22869           Add GST_EVENT_TYPE_NAME() macro.
22870
22871 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22872
22873         * gst/gstinfo.c:
22874         * gst/gstpluginfeature.c:
22875         * gst/gsttask.c:
22876           privatize more symbols
22877
22878 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22879
22880         * configure.ac:
22881           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22882           everything that uses GStreamer API should have the includes
22883
22884 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22885
22886         * docs/gst/gstreamer-sections.txt:
22887         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22888         * gst/gstvalue.h:
22889           give each value a _get_type, removes the DATA exports
22890
22891 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22892
22893         * gst/gst.c:
22894         * gst/gst.h:
22895           remove _gst_registry_auto_load, not used anymore
22896         * gst/gstbin.c: (gst_bin_get_type):
22897         * gst/gstbin.h:
22898         * gst/gstelement.c: (gst_element_get_type):
22899         * gst/gstelement.h:
22900         * gst/gstobject.c: (gst_object_get_type):
22901         * gst/gstobject.h:
22902         * gst/gstpad.c: (gst_pad_get_type):
22903         * gst/gstpad.h:
22904           make _get_type functions similar, fixes data export from library
22905
22906 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22907
22908         * configure.ac:
22909           correctly make conditionals
22910         * gst/elements/Makefile.am:
22911         * gst/elements/gstelements.c:
22912           fix typo causing fdsrc not to build
22913
22914 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22915
22916         * testsuite/Makefile.am:
22917         * testsuite/bytestream/.cvsignore:
22918         * testsuite/bytestream/Makefile.am:
22919         * testsuite/bytestream/filepadsink.c:
22920         * testsuite/bytestream/gstbstest.c:
22921         * testsuite/bytestream/test1.c:
22922         * testsuite/bytestream/testfile1:
22923         * testsuite/caps/normalisation.c:
22924         * testsuite/caps/random.c: (main):
22925         * testsuite/cleanup/.cvsignore:
22926         * testsuite/cleanup/Makefile.am:
22927         * testsuite/cleanup/cleanup1.c:
22928         * testsuite/cleanup/cleanup2.c:
22929         * testsuite/cleanup/cleanup3.c:
22930         * testsuite/cleanup/cleanup4.c:
22931         * testsuite/cleanup/cleanup5.c:
22932         * testsuite/controller/interpolator.c:
22933         * testsuite/debug/printf_extension.c: (main):
22934         * testsuite/elements/tee.c:
22935         * testsuite/negotiation/.cvsignore:
22936         * testsuite/negotiation/Makefile.am:
22937         * testsuite/negotiation/pad_link.c:
22938         * testsuite/pad/Makefile.am:
22939         * testsuite/pad/chainnopull.c:
22940         * testsuite/pad/getnopush.c:
22941         * testsuite/pad/link.c:
22942         * testsuite/refcounting/sched.c: (create_pipeline):
22943         * testsuite/registry/Makefile.am:
22944         * testsuite/registry/gst-print-formats.c:
22945         * testsuite/schedulers/.cvsignore:
22946         * testsuite/schedulers/142183-2.c:
22947         * testsuite/schedulers/142183.c:
22948         * testsuite/schedulers/143777-2.c:
22949         * testsuite/schedulers/143777.c:
22950         * testsuite/schedulers/147713.c:
22951         * testsuite/schedulers/147819.c:
22952         * testsuite/schedulers/147894-2.c:
22953         * testsuite/schedulers/147894.c:
22954         * testsuite/schedulers/Makefile.am:
22955         * testsuite/schedulers/group_link.c:
22956         * testsuite/schedulers/queue_link.c:
22957         * testsuite/schedulers/relink.c:
22958         * testsuite/schedulers/unlink.c:
22959         * testsuite/schedulers/unref.c:
22960         * testsuite/schedulers/useless_iteration.c:
22961         * testsuite/states/bin.c:
22962           clean out/remove some stuff from the testsuite directories
22963
22964 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22965
22966         * configure.ac:
22967           check for some headers
22968         * gst/elements/Makefile.am:
22969         * gst/elements/gstelements.c:
22970           don't compile fdsrc without sys/socket.h
22971         * gst/indexers/Makefile.am:
22972         * gst/indexers/gstindexers.c: (plugin_init):
22973           don't compile fileindex without mmap
22974
22975 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22976
22977         * configure.ac:
22978           reorganize
22979           clean up
22980           document more
22981           remove cruft
22982         * check/Makefile.am:
22983         * docs/gst/Makefile.am:
22984         * examples/helloworld/Makefile.am:
22985         * gst/Makefile.am:
22986         * gst/base/Makefile.am:
22987         * gst/check/Makefile.am:
22988         * gst/elements/Makefile.am:
22989         * gst/indexers/Makefile.am:
22990         * gst/parse/Makefile.am:
22991         * libs/gst/controller/Makefile.am:
22992         * libs/gst/dataprotocol/Makefile.am:
22993         * examples/helloworld/helloworld.c: (event_loop):
22994           compile fixes, though it's not being compiled currently
22995
22996 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22997
22998         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22999           Add some simple tests for the new taglist date API.
23000
23001 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23002
23003         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
23004         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
23005           Beautify 'last-message' output: print 'none' for buffer timestamps
23006           and durations if none is set; improve alignment with next messages.
23007
23008 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23009
23010         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
23011         * gst/gstpluginfeature.h:
23012         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
23013         * gst/gstregistry.h:
23014         * docs/gst/gstreamer-sections.txt:
23015           Add new API to check plugin feature version requirements.
23016
23017         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
23018           Some basic tests for the above.         
23019
23020 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23021
23022         * gst/gststructure.c: (gst_structure_to_string):
23023           guard against NULL printf - happens when for example
23024           a message structure with GstClock gets serialized
23025
23026 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23027
23028         * gst/base/gstcollectpads.c: (gst_collectpads_event):
23029           Fix presumable copy'n'pasto.
23030
23031 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23032
23033         * gst/elements/gstfakesrc.h:
23034         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
23035         * gst/elements/gsttypefindelement.c:
23036           fix some signedness
23037         * gst/elements/gstfilesink.c: (gst_file_sink_render):
23038           I wonder if this could actually write +2GB files before
23039
23040 2005-10-13  Andy Wingo  <wingo@pobox.com>
23041
23042         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
23043         Fix Timmeke Waymans bug.
23044         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
23045         string of the proper length to gst_caps_from_string. There's a
23046         potential for, before this fix, that this could cause someone
23047         connecting over the network to cause a segfault if the payload is
23048         not NUL-terminated.
23049
23050 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23051
23052         * docs/design/draft-push-pull.txt:
23053         * docs/design/part-overview.txt:
23054         * docs/random/TODO-pre-0.9:
23055         * docs/random/old/ChangeLog.gstreamer:
23056         * gst/base/gstpushsrc.c:
23057         * gst/gstclock.c:
23058           fixed typos
23059
23060 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23061
23062         * gst/glib-compat.c: (gst_flags_get_first_value):
23063         * gst/glib-compat.h:
23064         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
23065         (gst_value_compare_double), (gst_value_serialize_flags):
23066           GLib 2.6 g_flags_get_first_value has a bug that triggers an
23067           infinite loop
23068
23069 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23070
23071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23072         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23073           fix up debugging
23074         * tools/gst-launch.c: (event_loop):
23075           print out clock nicely
23076
23077 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23078
23079         * docs/gst/gstreamer-sections.txt:
23080         * gst/gsttaglist.h:
23081         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23082         (gst_tag_list_get_date_index):
23083           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23084           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23085
23086 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23087
23088         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23089         (gst_collectpads_chain):
23090         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23091         in CollectData.
23092
23093 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23094
23095         * docs/gst/gstreamer-sections.txt:
23096         * gst/gst.c:
23097         * gst/gsterror.h:
23098         * tools/gst-inspect.c: (main):
23099         * tools/gst-launch.c: (main):
23100         * tools/gst-run.c: (main):
23101         * tools/gst-xmlinspect.c: (main):
23102           fix GOption context leaks
23103           doc fixes
23104
23105 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23106
23107         * gst/gstbus.c:
23108           use HAVE_UNISTD_H
23109         * win32/common/config.h:
23110           update config
23111         * win32/vs6/grammar.dsp:
23112         * win32/vs6/libgstelements.dsp:
23113         * win32/vs6/libgstreamer.dsp:
23114           update vs6 files
23115
23116 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23117
23118         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23119         * gst/base/gstbasesrc.c: (gst_base_src_query):
23120           fix more guint64<->gdouble conversions
23121
23122 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23123
23124         * Makefile.am:
23125           add win32-update target
23126         * win32/common/gstconfig.h:
23127         * win32/common/gstenumtypes.c:
23128         * win32/common/gstenumtypes.h:
23129         * win32/common/gstversion.h:
23130           add files that visual studio can't generate
23131
23132 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23133
23134         * Makefile.am:
23135           add a win32-update target
23136         * configure.ac:
23137
23138 2005-10-12  Wim Taymans  <wim@fluendo.com>
23139
23140         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23141         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23142         * gst/gstelement.c: (gst_element_commit_state),
23143         (gst_element_set_state):
23144         Protect flags with proper lock.
23145         unref provided cached clock in dispose.
23146
23147 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23148
23149         * gst/gst.c:
23150         * gst/gstminiobject.h:
23151         * gst/gstpad.h:
23152         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23153           removed unused flags from miniobject
23154           doc fixes
23155
23156 2005-10-12  Wim Taymans  <wim@fluendo.com>
23157
23158         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23159         (gst_file_sink_event), (gst_file_sink_render):
23160         Flush before seeking.
23161
23162 2005-10-12  Andy Wingo  <wingo@pobox.com>
23163
23164         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23165         always been the case.
23166
23167 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23168
23169         * check/gst/gstbin.c: (GST_START_TEST):
23170         * docs/gst/gstreamer-sections.txt:
23171         * gst/base/gstbasesink.c: (gst_base_sink_init):
23172         * gst/base/gstbasesrc.c: (gst_base_src_init),
23173         (gst_base_src_get_range), (gst_base_src_check_get_range),
23174         (gst_base_src_start), (gst_base_src_stop):
23175         * gst/base/gstbasesrc.h:
23176         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23177         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23178         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23179         (bin_bus_handler):
23180         * gst/gstbin.h:
23181         * gst/gstbuffer.h:
23182         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23183         * gst/gstbus.h:
23184         * gst/gstelement.c: (gst_element_is_locked_state),
23185         (gst_element_set_locked_state), (gst_element_commit_state),
23186         (gst_element_set_state):
23187         * gst/gstelement.h:
23188         * gst/gstindex.c: (gst_index_init):
23189         * gst/gstindex.h:
23190         * gst/gstminiobject.h:
23191         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23192         (gst_object_set_parent):
23193         * gst/gstobject.h:
23194         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23195         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23196         * gst/gstpad.h:
23197         * gst/gstpadtemplate.h:
23198         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23199         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23200         * gst/gstpipeline.h:
23201         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23202         (gst_file_index_commit):
23203         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23204         * testsuite/pad/link.c: (gst_test_src_init),
23205         (gst_test_filter_init), (gst_test_sink_init):
23206         * testsuite/states/locked.c: (main):
23207           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23208           moved bitshift from macro to enum definition
23209
23210 2005-10-12  Wim Taymans  <wim@fluendo.com>
23211
23212         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23213         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23214         (gst_file_sink_render):
23215         Some more debugging info.
23216
23217 2005-10-12  Wim Taymans  <wim@fluendo.com>
23218
23219         * docs/design/part-states.txt:
23220         * tools/gst-launch.c: (main):
23221         Some doc updates.
23222         Revert non-intentional change.
23223
23224 2005-10-12  Wim Taymans  <wim@fluendo.com>
23225
23226         * check/gst/gstbin.c: (GST_START_TEST):
23227         * check/gst/gstelement.c: (GST_START_TEST):
23228         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23229         * check/gst/gstghostpad.c: (GST_START_TEST):
23230         * check/gst/gstpipeline.c: (GST_START_TEST):
23231         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23232         * check/states/sinks.c: (GST_START_TEST):
23233         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23234         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23235         (gst_bin_remove_func), (gst_bin_get_state_func),
23236         (gst_bin_recalc_state), (gst_bin_change_state_func),
23237         (bin_bus_handler):
23238         * gst/gstelement.c: (gst_element_get_state_func),
23239         (gst_element_get_state), (gst_element_abort_state),
23240         (gst_element_commit_state), (gst_element_set_state),
23241         (gst_element_change_state), (gst_element_change_state_func):
23242         * gst/gstelement.h:
23243         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23244         (gst_pipeline_provide_clock_func):
23245         * gst/gstutils.c: (gst_element_link_pads_filtered):
23246         * tools/gst-launch.c: (main):
23247         * tools/gst-typefind.c: (main):
23248         Use GstClockTime in _get_state() instead of GTimeVal.
23249         Remove old code in gstutils.c
23250
23251 2005-10-12  Andy Wingo  <wingo@pobox.com>
23252
23253         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23254         removed.
23255
23256         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23257         there is no task. Shouldn't affect any code, as nothing in our
23258         plugins checks this return value.
23259         (gst_pad_stop_task): Also take the stream lock if the pad has no
23260         task. Docs updated.
23261
23262 2005-10-12  Wim Taymans  <wim@fluendo.com>
23263
23264         * gst/gstpad.c: (pre_activate), (post_activate),
23265         (gst_pad_activate_pull), (gst_pad_activate_push):
23266         Cleanup activation code. Reset old state if
23267         activation failed.
23268
23269 2005-10-12  Wim Taymans  <wim@fluendo.com>
23270
23271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23272         (gst_base_sink_change_state):
23273         No need to prerol after receiving EOS.
23274
23275         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23276         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23277         * gst/elements/gstidentity.c: (gst_identity_event):
23278         Print events more verbosely.
23279
23280 2005-10-12  Wim Taymans  <wim@fluendo.com>
23281
23282         * check/Makefile.am:
23283         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23284         * check/states/sinks2.c:
23285         Moved sinks2 testcode in sinks check.
23286
23287         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23288         (gst_bin_remove_func), (gst_bin_recalc_state),
23289         (gst_bin_change_state_func), (bin_bus_handler):
23290         Fix potential race condition when _get_state() iterated over an
23291         ASYNC element right before it posted a state completion.
23292
23293         * gst/gstclock.h:
23294         Do proper cast here.
23295
23296         * gst/gstevent.c: (gst_event_new_newsegment),
23297         (gst_event_parse_newsegment):
23298         A playback rate of 0.0 is not allowed.
23299
23300 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23301
23302         * win32/common/config.h:
23303         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23304         (_trewinddir), (_ttelldir), (_tseekdir):
23305         * win32/common/dirent.h:
23306         * win32/common/gtchar.h:
23307         * win32/common/libgstbase.def:
23308         * win32/common/libgstreamer.def:
23309         * win32/vs6/grammar.dsp:
23310         * win32/vs6/gst_inspect.dsp:
23311         * win32/vs6/gst_launch.dsp:
23312         * win32/vs6/gstreamer.dsw:
23313         * win32/vs6/libgstbase.dsp:
23314         * win32/vs6/libgstelements.dsp:
23315         * win32/vs6/libgstreamer.dsp:
23316           Visual Studio 6 project files, and a new common directory.
23317           Phear.
23318
23319 2005-10-11  Wim Taymans  <wim@fluendo.com>
23320
23321         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23322         (gst_base_sink_do_sync), (gst_base_sink_query),
23323         (gst_base_sink_change_state):
23324         * gst/base/gstbasesink.h:
23325         Correctly parse newsegment info.
23326
23327 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23328
23329         * gst/gst.c: (init_post):
23330           split plugin paths correctly
23331
23332 2005-10-11  Wim Taymans  <wim@fluendo.com>
23333
23334         * check/gst/gstevent.c: (GST_START_TEST):
23335         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23336         (gst_base_sink_change_state):
23337         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23338         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23339         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23340         * gst/gstevent.c: (gst_event_new_newsegment),
23341         (gst_event_parse_newsegment):
23342         * gst/gstevent.h:
23343         Added extra flag to newsegment for future API freeze.
23344         Updated check and base elements.
23345
23346 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23347
23348         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23349         (gst_collectpads_add_pad), (gst_collectpads_pop),
23350         (gst_collectpads_event), (gst_collectpads_chain):
23351         * gst/base/gstcollectpads.h: Handle EOS correctly.
23352
23353 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23354
23355         * tools/gst-launch.c: (main):
23356           more null protecting
23357
23358 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23359
23360         * gst/gst-i18n-lib.h:
23361           check for ENABLE_NLS, not GETTEXT_PACKAGE
23362         * gst/gstregistry.c: (gst_registry_add_plugin),
23363         (gst_registry_scan_path_level),
23364         (_gst_registry_remove_cache_plugins):
23365           protect possibly NULL strings
23366         * gst/parse/types.h:
23367           config.h already included before
23368         * tools/gst-inspect.c: (main):
23369           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23370           check for ENABLE_NLS, not GETTEXT_PACKAGE
23371         * tools/gst-launch.c: (main):
23372           check for ENABLE_NLS, not GETTEXT_PACKAGE
23373
23374 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23375
23376         * configure.ac:
23377           if we don't have glib, fail before testing 2.8
23378         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23379           fix a leak, should fix plugins-base testsuite
23380
23381 2005-10-11  Andy Wingo  <wingo@pobox.com>
23382
23383         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23384         take the mode we're going to as an arg. Go head and set the mode
23385         and flushing flags now, so that if the activate function starts a
23386         thread all the flags will be in the right state.
23387         (post_activate): Renamed also. Just handle making sure streaming
23388         finishes for the deactivation case, and setting the deactivated
23389         mode.
23390         (gst_pad_set_active): Complain loudly if deactivation fails.
23391         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23392         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23393         remove the terrible hack.
23394
23395 2005-10-11  Wim Taymans  <wim@fluendo.com>
23396
23397         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23398         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23399         (gst_bin_recalc_state), (gst_bin_change_state_func),
23400         (gst_bin_dispose), (bin_bus_handler):
23401         * gst/gstbin.h:
23402         Prepare to make current EOS message queue more generic.
23403         Fix some typos.
23404
23405         * gst/gstevent.c: (gst_event_new_newsegment),
23406         (gst_event_parse_newsegment):
23407         * gst/gstevent.h:
23408         Rename base to stream_time.
23409
23410         * gst/gstmessage.h:
23411         Fix typo in docs.
23412
23413 2005-10-11  Wim Taymans  <wim@fluendo.com>
23414
23415         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23416         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23417         (gst_bin_change_state_func), (bin_bus_handler):
23418         * gst/gstbin.h:
23419         Work on proper clock selection.
23420
23421 2005-10-11  Edward Hervey  <edward@fluendo.com>
23422
23423         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23424         * libs/gst/controller/gstcontroller.h:
23425         Added GList* version of _remove_properties() in order to be able to wrap
23426         it in bindings.
23427
23428 2005-10-11  Wim Taymans  <wim@fluendo.com>
23429
23430         * docs/design/part-states.txt:
23431         Some more docs.
23432
23433         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23434         (gst_bin_change_state_func), (bin_bus_handler):
23435         Doc updates. Don't distribute the same clock over and over again.
23436
23437         * gst/gstclock.c:
23438         * gst/gstclock.h:
23439         Doc updates.
23440
23441         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23442         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23443         (gst_pad_send_event):
23444         * gst/gstpad.h:
23445         Make probe emission threadsafe again.
23446         Register quarks and move _get_name() from utils.
23447         Doc updates.
23448
23449         * gst/gstpipeline.c: (gst_pipeline_class_init),
23450         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23451         Only redistribute the clock of it changed.
23452
23453         * gst/gstsystemclock.h:
23454         Doc updates. 
23455
23456         * gst/gstutils.c:
23457         * gst/gstutils.h:
23458         Moved the _flow_get_name() to GstPad.
23459
23460 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23461
23462         * check/gst-libs/gdp.c: (GST_START_TEST):
23463         * check/gst/gstcaps.c: (GST_START_TEST):
23464         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23465         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23466         (gst_dp_packet_from_caps):
23467           fix more valgrind warnings before turning up the heat
23468
23469 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23470
23471         * gst/parse/grammar.y:
23472           some cleanup before the hacking
23473
23474 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23475
23476         * gst/base/gstbasesrc.c: (gst_base_src_query):
23477           use conversions
23478         * gst/gstutils.c: (gst_guint64_to_gdouble),
23479         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23480         * gst/gstutils.h:
23481           externalize, basesrc uses it
23482           obviously the implementation needs testing
23483
23484 2005-10-10  Wim Taymans  <wim@fluendo.com>
23485
23486         * tests/sched/Makefile.am:
23487         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23488         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23489
23490 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23491
23492         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23493           apparently converting from guint64 to double is not implemented
23494           on MSVC
23495
23496 2005-10-10  Wim Taymans  <wim@fluendo.com>
23497
23498         * check/Makefile.am:
23499         * check/generic/states.c: (GST_START_TEST):
23500         * check/gst/gstbin.c: (GST_START_TEST):
23501         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23502         * check/states/sinks.c: (GST_START_TEST):
23503         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23504         (main):
23505         Check fixes, use API as stated in design docs, remove hacks.
23506
23507         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23508         (gst_base_sink_change_state):
23509         Catch stopping our task while we're shutting down.
23510
23511         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23512         (gst_bin_remove_func), (gst_bin_get_state_func),
23513         (gst_bin_recalc_state), (gst_bin_change_state_func),
23514         (bin_bus_handler):
23515         * gst/gstbin.h:
23516         * gst/gstelement.c: (gst_element_init),
23517         (gst_element_get_state_func), (gst_element_abort_state),
23518         (gst_element_commit_state), (gst_element_lost_state),
23519         (gst_element_set_state), (gst_element_change_state),
23520         (gst_element_change_state_func):
23521         * gst/gstelement.h:
23522         New state change algorithm (see #318116)
23523
23524         * gst/gstpipeline.c: (gst_pipeline_class_init),
23525         (gst_pipeline_init), (gst_pipeline_set_property),
23526         (gst_pipeline_get_property), (do_pipeline_seek),
23527         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23528         * gst/gstpipeline.h:
23529         Remove crude state change hacks.
23530
23531         * gst/gstutils.h:
23532         Remove crude hacks.
23533
23534         * tools/gst-launch.c: (main):
23535         Fixes for state change. Needs some more work to fully use the
23536         new stuff.
23537
23538 2005-10-10  Andy Wingo  <wingo@pobox.com>
23539
23540         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23541
23542         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23543         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23544         issue.
23545
23546 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23547
23548         * gst/gstiterator.c: (gst_iterator_new):
23549           Fix my previous commit: GTypes passed to gst_iterator_new()
23550           can be fundamental types.
23551
23552 2005-10-10  Wim Taymans  <wim@fluendo.com>
23553
23554         * gst/gstelement.c: (gst_element_iterate_pad_list),
23555         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23556         (gst_element_iterate_sink_pads):
23557         Use src/sink pads lists for the respective iterators instead
23558         of filtering.
23559
23560 2005-10-10  Andy Wingo  <wingo@pobox.com>
23561
23562         Merged in popt removal + GOption addition patch from Ronald, bug
23563         #169772.
23564
23565         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23566         GstElement macros around, remove popt-related symbols, add goption
23567         stuff.
23568
23569         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23570         
23571         * docs/gst/Makefile.am:
23572         * docs/libs/Makefile.am: No POPT_CFLAGS.
23573         
23574         * examples/manual/Makefile.am:
23575         * docs/manual/basics-init.xml: Doc updates with an example.
23576         
23577         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23578         (gst_init), (parse_one_option), (parse_goption_arg):
23579         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23580         bit of hand merging and debugging to get the GOption stuff working
23581         tho.
23582         
23583         * tests/Makefile.am:
23584         * tools/Makefile.am:
23585         * tools/gst-inspect.c: (main):
23586         * tools/gst-launch.c: (main):
23587         * tools/gst-run.c: (main):
23588         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23589
23590 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23591
23592         * gst/gstiterator.c: (gst_iterator_new):
23593           Add assertions to make sure passed GType is likely to really
23594           be a GType (as the compiler won't catch it if the size and
23595           GType arguments get mixed up, see #318447).
23596
23597 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23598
23599         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23600
23601         * gst/gstbin.c: (gst_bin_iterate_sorted):
23602           Pass GType and size arguments to gst_iterator_new() in the right
23603           order (maybe we should make _new() take the GType as first argument
23604           just like _new_list()?) (#318447).
23605           
23606
23607 2005-10-10  Wim Taymans  <wim@fluendo.com>
23608
23609         * gst/gstelement.c: (gst_element_finalize):
23610         And free the GStaticRecMutex too
23611
23612 2005-10-10  Andy Wingo  <wingo@pobox.com>
23613
23614         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23615         Allocate and free the mutex properly.
23616
23617         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23618         New macros.
23619         (GstElement): The state_lock is now recursive. Rebuild your
23620         plugins, suckers. Old macros adapted.
23621
23622         * docs/gst/gstreamer-sections.txt: Doc updates.
23623
23624         * gst/gstutils.h:
23625         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23626         (g_static_rec_cond_wait): Ported from state changes patch, while
23627         we wait on bug #317802 to be solved in a well-distributed GLib.
23628
23629         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23630         gst_element_change_state, variable name changes.
23631         (gst_element_change_state): Split out of gst_element_set_state in
23632         preparation for the state change merge. Doesn't pay attention to
23633         the 'transition' argument.
23634         (gst_element_set_state): Updates, hopefully purely cosmetic.
23635         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23636         state change patch.
23637         (gst_element_get_state_func): Renamed from get_state, cosmetic
23638         changes.
23639
23640 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23641
23642         * gst/elements/gstelements.c:
23643         * win32/GStreamer.vcproj:
23644         * win32/config.h:
23645         * win32/dirent.c: (_tseekdir):
23646         * win32/gst-inspect.vcproj:
23647         * win32/gst-launch.vcproj:
23648         * win32/gstconfig.h:
23649         * win32/gstelements.vcproj:
23650         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23651         * win32/gstreamer.def:
23652         * win32/msvc71.sln:
23653           updates for the win32 build (patch from Sebastien Moutte)
23654
23655 2005-10-10  Andy Wingo  <wingo@pobox.com>
23656
23657         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23658         gst_bin_get_state, cleaned up (but no logic changes).
23659         (bin_element_is_sink): Comment updates.
23660         (sink_iterator_filter): Remove needless cast.
23661         (gst_bin_iterate_sinks): Doc update.
23662         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23663         cleaned up (but no logic changes).
23664
23665         * check/states/sinks.c (test_src_sink): Cleanups from the state
23666         change patch.
23667         (test_livesrc_sink): Sync on the state.
23668
23669         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23670         the state change patch.
23671
23672         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23673         change patch.
23674
23675         * check/gst/gstbin.c: Merge in some style fixes and additional
23676         checks from Wim's state change patch.
23677
23678 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23679
23680         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23681         (gst_type_find_helper):
23682           Check whether we have the requested data already in our list of
23683           cached buffers before pulling a new buffer; also make the buffer
23684           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23685
23686 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23687
23688         * gst/gstcaps.c:
23689         * gst/gstevent.c:
23690           doc updates
23691         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23692           don't use long long, it's not portable.  Replacing with
23693           gint64 seems to work; let's hope no skeletons fall out of the closet.
23694
23695 2005-10-10  Andy Wingo  <wingo@pobox.com>
23696
23697         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23698
23699 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23700
23701         * docs/gst/gstreamer-sections.txt:
23702         * gst/gstevent.c:
23703         * gst/gstevent.h:
23704         * gst/gstinfo.c:
23705         * gst/gstinfo.h:
23706         * gst/gstmessage.c: (gst_message_parse_state_changed):
23707         * gst/gstpad.c:
23708         * gst/gstpad.h:
23709           more docs, fix compilation
23710
23711 2005-10-09  Philippe Khalaf <burger@speedy.org>
23712         * gst/gstmessage.c:
23713           Fixed a few forgotten variables on previous commit
23714
23715 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23716
23717         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23718           Fix evil typefind crasher: getrange() might return a short
23719           buffer at the end of a file, but gst_type_find_peek() must
23720           either return the full data as requested or NULL, but
23721           never a short buffer.
23722
23723 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23724
23725         * gst/gstmessage.c: (gst_message_new_state_changed),
23726         (gst_message_parse_state_changed):
23727         * gst/gstmessage.h:
23728           don't use "new", it's a C++ keyword
23729
23730 2005-10-08  Wim Taymans  <wim@fluendo.com>
23731
23732         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23733         * gst/gstelement.c: (gst_element_post_message):
23734         * gst/gstpipeline.c: (gst_pipeline_change_state):
23735         Small docs and debug updates.
23736
23737 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23738
23739         * docs/gst/gstreamer-sections.txt:
23740         * gst/gstelementfactory.c:
23741         * gst/gstevent.c:
23742         * gst/gsttaglist.c:
23743           more docs
23744
23745 2005-10-08  Wim Taymans  <wim@fluendo.com>
23746
23747         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23748         (gst_bin_dispose), (bin_bus_handler):
23749         Fix typos, add comments.
23750         Clear EOS list when going to PAUSED from any direction and do it
23751         in a threadsafe way.
23752         Get base time in a threadsafe way too.
23753         Fix confusing debug in the change_state function.
23754         Various other small cleanups.
23755         
23756         * gst/gstelement.c: (gst_element_post_message):
23757         Fix very verbose bus posting code.
23758
23759         * gst/gstpipeline.c: (gst_pipeline_class_init),
23760         (gst_pipeline_set_property), (gst_pipeline_get_property),
23761         (gst_pipeline_change_state):
23762         Small ARG_ -> PROP_ cleanup
23763
23764 2005-10-08  Wim Taymans  <wim@fluendo.com>
23765
23766         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23767         Do a less CPU demanding EOS check because we can.
23768
23769 2005-10-08  Wim Taymans  <wim@fluendo.com>
23770
23771         * libs/gst/dataprotocol/dataprotocol.c:
23772         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23773         (gst_dp_packet_from_event):
23774         * libs/gst/dataprotocol/dataprotocol.h:
23775         * libs/gst/dataprotocol/dp-private.h:
23776         It's about time we bump the version number.
23777         Since event types don't fit in the guint8 anymore describing
23778         the payload type, make payload type 16 bits wide.
23779
23780 2005-10-08  Wim Taymans  <wim@fluendo.com>
23781
23782         * docs/design/part-TODO.txt:
23783         * docs/design/part-clocks.txt:
23784         * docs/design/part-events.txt:
23785         * docs/design/part-gstbin.txt:
23786         * docs/design/part-gstelement.txt:
23787         * docs/design/part-gstpipeline.txt:
23788         * docs/design/part-live-source.txt:
23789         * docs/design/part-messages.txt:
23790         * docs/design/part-overview.txt:
23791         * docs/design/part-states.txt:
23792         Many doc updates.
23793
23794 2005-10-08  Wim Taymans  <wim@fluendo.com>
23795
23796         * gst/gstevent.c:
23797         * gst/gstevent.h:
23798         Fix event quark registration.
23799         Add some space between events so we can insert them in the
23800         right groups.
23801
23802 2005-10-08  Wim Taymans  <wim@fluendo.com>
23803
23804         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23805         (gst_base_sink_handle_buffer):
23806         Better log message.
23807
23808         * gst/gstbus.h:
23809         * gst/gstelement.h:
23810         More docs.
23811
23812         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23813         (gst_queue_set_property), (gst_queue_get_property):
23814         * gst/gstqueue.h:
23815         Remove old unused properties.
23816
23817 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23818         * docs/gst/gstreamer-sections.txt:
23819         * gst/gstmessage.c:
23820         * gst/gstmessage.h:
23821         * gst/gstminiobject.c:
23822         * gst/gstminiobject.h:
23823         * gst/gstobject.h:
23824         * gst/gstpad.h:
23825         * gst/gstutils.h:
23826           lots of new docs and doc fixes
23827
23828 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23829
23830         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23831         * gst/gstplugin.h:
23832         * gst/gstregistry.c: (gst_registry_lookup_locked),
23833         (gst_registry_scan_path_level):
23834         * gst/gstregistryxml.c: (load_plugin):
23835           Only ever load one plugin for a given plugin basename.
23836           This ensures correct overriding of GST_PLUGIN_PATH over
23837           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23838           system installed plugins.
23839
23840 2005-10-08  Wim Taymans  <wim@fluendo.com>
23841
23842         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23843         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23844         Prepare for doing QOS.
23845
23846 2005-10-08  Wim Taymans  <wim@fluendo.com>
23847
23848         * check/gst/gstbin.c: (GST_START_TEST):
23849         * check/pipelines/cleanup.c: (GST_START_TEST):
23850         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23851         Allow new clock message too.
23852
23853 2005-10-08  Wim Taymans  <wim@fluendo.com>
23854
23855         * gst/gstmessage.c: (gst_message_new_error),
23856         (gst_message_new_warning), (gst_message_new_tag),
23857         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23858         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23859         (gst_message_new_segment_start), (gst_message_new_segment_done),
23860         (gst_message_parse_state_changed),
23861         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23862         (gst_message_parse_new_clock):
23863         * gst/gstmessage.h:
23864         Also carry the clock in question.
23865
23866 2005-10-08  Wim Taymans  <wim@fluendo.com>
23867
23868         * gst/gstmessage.c: (gst_message_new_custom),
23869         (gst_message_new_eos), (gst_message_new_error),
23870         (gst_message_new_warning), (gst_message_new_tag),
23871         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23872         (gst_message_new_new_clock), (gst_message_new_segment_start),
23873         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23874         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23875         * gst/gstmessage.h:
23876         Clean up.
23877         Added clock related messages.
23878
23879         * gst/gstpipeline.c: (gst_pipeline_change_state):
23880         Post message when the clock changed.
23881
23882         * tools/gst-launch.c: (event_loop):
23883         Print new clock.
23884
23885 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23886
23887         * tools/gst-inspect.c: (print_element_properties_info):
23888           Can't pass NULL strings to g_print() on windows.
23889
23890 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23891
23892         * docs/Makefile.am:
23893         * docs/gst/Makefile.am:
23894         * docs/gst/gstreamer-docs.sgml:
23895         * docs/gst/running.xml:
23896         * docs/version.entities.in:
23897           add a chapter on running GStreamer.
23898           document GST_DEBUG and GST_PLUGIN* env vars
23899
23900 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23901
23902         * Makefile.am:
23903           remove include dir
23904         * configure.ac:
23905           remove PLUGINS_BUILDDIR stuff
23906         * gst/gst.c: (init_post):
23907           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23908         * idiottest.mak:
23909           remove, it was condescending and not needed
23910
23911 2005-10-08  Wim Taymans  <wim@fluendo.com>
23912
23913         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23914         (gst_base_sink_handle_object), (gst_base_sink_event),
23915         (gst_base_sink_wait), (gst_base_sink_handle_event),
23916         (gst_base_sink_change_state):
23917         * gst/base/gstbasesink.h:
23918         Repost EOS message while going to PLAYING if still EOS.
23919         Make sure that when receiving a FLUSH_START we don't attempt
23920         to sync on the clock anymore.
23921
23922 2005-10-08  Wim Taymans  <wim@fluendo.com>
23923
23924         * tools/gst-launch.c: (event_loop):
23925         Better message printout.
23926
23927 2005-10-08  Wim Taymans  <wim@fluendo.com>
23928
23929         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23930         (gst_bin_child_proxy_get_children_count):
23931         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23932         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23933         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23934         (gst_child_proxy_set_valist):
23935         * gst/parse/grammar.y:
23936         Make ChildProxy threadsafe and fix mem leaks.
23937
23938 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23939
23940         * gst/gst.c: (init_post):
23941           debug the GST_PLUGIN_ env vars
23942
23943 2005-10-08  Wim Taymans  <wim@fluendo.com>
23944
23945         * check/gst/gstbin.c: (GST_START_TEST):
23946         * check/gst/gstmessage.c: (GST_START_TEST):
23947         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23948         * gst/gstelement.c: (gst_element_commit_state),
23949         (gst_element_lost_state):
23950         * gst/gstmessage.c: (gst_message_new_state_changed),
23951         (gst_message_parse_state_changed):
23952         * gst/gstmessage.h:
23953         * tools/gst-launch.c: (event_loop):
23954         Added extra field to STATE_CHANGE message with the pending
23955         state, which will be different from the new state soon.
23956
23957 2005-10-08  Wim Taymans  <wim@fluendo.com>
23958
23959         * gst/gstbus.c: (gst_bus_pop):
23960         * gst/gstclock.c:
23961         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23962         Small cleanups and doc updates.
23963
23964 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23965
23966         * gst/gst.c: (init_pre):
23967         * gst/gstbin.c: (gst_bin_add_func):
23968           log distributing clocks and base time
23969         * gst/gstregistry.c: (gst_registry_add_plugin),
23970         (gst_registry_scan_path_level), (gst_registry_scan_path):
23971           clean up the debugging output a little
23972         * gst/gstutils.c: (gst_element_state_get_name):
23973           warn about a memleak (I've actually seen this be used, though
23974           it was probably a bug)
23975
23976 2005-10-07  Wim Taymans  <wim@fluendo.com>
23977
23978         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23979         (gst_base_src_init), (gst_base_src_default_newsegment),
23980         (gst_base_src_newsegment), (gst_base_src_do_seek),
23981         (gst_base_src_loop), (gst_base_src_start):
23982         * gst/base/gstbasesrc.h:
23983         Make the newsegment event customizable by subclasses.
23984
23985 2005-10-07  Wim Taymans  <wim@fluendo.com>
23986
23987         * gst/gstevent.c: (gst_event_new_buffersize),
23988         (gst_event_parse_buffersize):
23989         * gst/gstevent.h:
23990         New event for future idea.
23991
23992 2005-10-07  Andy Wingo  <wingo@pobox.com>
23993
23994         * gst/gstelement.c (gst_element_post_message): Doc update.
23995
23996         * docs/gst/gstreamer-sections.txt: Update.
23997
23998         * gst/gstmessage.c (gst_message_new_application): Made into a
23999         function like honest API calls.
24000         (gst_message_new_element): New message type.
24001
24002         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
24003
24004         * check/elements/fakesrc.c (test_no_preroll): New check, checks
24005         that setting a live fakesrc to PAUSED returns NO_PREROLL both
24006         times.
24007
24008         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
24009         NO_PREROLL from gst_element_change_state to fall through.
24010
24011 2005-10-07  Wim Taymans  <wim@fluendo.com>
24012
24013         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
24014         (gst_ghost_pad_do_activate_push):
24015         Activating a ghostpad with no internal pad in push mode
24016         is ok.
24017
24018 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24019
24020         * gst/gstobject.h:
24021           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
24022           Fixes compilation on Windows.
24023
24024 2005-10-07  Michael Smith <msmith@fluendo.com>
24025
24026         * tools/gst-inspect.c:
24027           Print out feature and plugin count at the end when printing out
24028           all features.
24029
24030 2005-10-04  Michael Smith <msmith@fluendo.com>
24031
24032         * gst/gsterror.c: (_gst_stream_errors_init):
24033           Add another error string used in a few existing plugins.
24034
24035         * gst/gstplugin.c:
24036         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
24037         * tools/gst-inspect.c: (print_element_info):
24038           When a feature disappears from a plugin (and the feature exists in
24039           the cached registry file), things went horribly wrong. This isn't a
24040           complete fix, we should actually be removing the 'missing' features
24041           from the features list when we load the actual plugin. That's not
24042           yet implemented. 
24043
24044 2005-10-04  Johan Dahlin  <johan@gnome.org>
24045
24046         * check/gst/gstiterator.c: (GST_START_TEST):
24047         * gst/gstbin.c: (gst_bin_iterate_elements),
24048         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
24049         * gst/gstelement.c: (gst_element_iterate_pads):
24050         * gst/gstformat.c: (gst_format_iterate_definitions):
24051         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24052         (gst_iterator_new_list), (gst_iterator_filter):
24053         * gst/gstiterator.h:
24054         * gst/gstquery.c: (gst_query_type_iterate_definitions):
24055         Add a GType to GstIterator, update callsites and tests.
24056
24057 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24058
24059         * gst/gstpad.c: (gst_pad_event_default_dispatch):
24060           give events a chance to be handled by event probes when the pad
24061           is not linked
24062
24063 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24064
24065         * gst/gstevent.c: (gst_event_type_get_name),
24066         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24067         * gst/gstevent.h:
24068           add string representations for event types
24069
24070 2005-10-06  Wim Taymans  <wim@fluendo.com>
24071
24072         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24073         Don't use NULL pointers.
24074
24075 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24076
24077         * gst/gst_private.h:
24078         * gst/gstbus.c:
24079         * gst/gstelement.c:
24080         * gst/gstinfo.c:
24081         * gst/gstpluginfeature.c:
24082           widen the debug category in output to fit the biggest one we have
24083           add a bus category and use it
24084           play with the colors
24085           fix up some categories
24086
24087 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24088
24089         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24090           add push activation of sink ghost pads.
24091           Andye, please verify
24092
24093 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24094
24095         * gst/gstutils.c: (gst_element_link_pads):
24096           fix a bug in the case where neither element has a pad
24097         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24098           add a test for that case
24099
24100 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24101
24102         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24103           emit have-data before checking for peers.  This allows
24104           for probe handlers to connect elements.  This helps autopluggers.
24105         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24106         (gst_pad_suite):
24107           add six checks, linked/unlinked with no/true/false probe
24108
24109 2005-10-04  Wim Taymans  <wim@fluendo.com>
24110
24111         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24112         (gst_fake_sink_event), (gst_fake_sink_preroll),
24113         (gst_fake_sink_render), (gst_fake_sink_change_state):
24114         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24115         (gst_fake_src_get_property), (gst_fake_src_create),
24116         (gst_fake_src_stop):
24117         * gst/elements/gstidentity.c: (gst_identity_stop):
24118         Protect last_message with lock.
24119
24120 2005-10-04  Edward Hervey  <edward@fluendo.com>
24121
24122         * gst/gstformat.h: 
24123         Added precision in the comments for GST_FORMAT_DEFAULT
24124
24125 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24126
24127         * tools/gst-launch.c: (main):
24128           Don't try to run erroneous pipelines.
24129
24130 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24131
24132         * gst/gstbus.c: We don't need this header.
24133
24134 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24135
24136         * configure.ac:
24137           back to development
24138
24139 === release 0.9.3 ===
24140
24141 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24142
24143         * README:
24144         * configure.ac:
24145           Releasing 0.9.3, "Unregistered"
24146
24147 2005-10-03  Andy Wingo  <wingo@pobox.com>
24148
24149         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24150         whereby calling a pad's activatepush() function can start a thread
24151         that starts to push or pull before the pad gets the FLUSHING flag
24152         unset. Hack around it by holding the stream lock until the flag is
24153         set. Need to replace this with a proper solution. Together with
24154         the ghost pad fixes, this fixes mp3 playing/tagreading.
24155
24156         * docs/design/part-gstghostpad.txt: Add a note about activation of
24157         proxy pads outside of ghost pads.
24158
24159         * gst/gstghostpad.c: Implement the ghost pad activation design.
24160
24161 2005-10-02  Andy Wingo  <wingo@pobox.com>
24162
24163         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24164         It is volatile, after all.
24165
24166         * docs/design/part-gstghostpad.txt: Flesh out activation with
24167         ghost pads.
24168
24169         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24170         GST_DEBUG_FUNCPTR.
24171
24172 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24173
24174         * configure.ac:
24175           Fix (unused) AM_CONDITIONAL tests.
24176
24177 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24178
24179         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24180
24181         * gst/gstutils.c: (gst_pad_query_convert):
24182           Add assertion that makes sure src_val is >=0, just like
24183           gst_query_new_convert() has. (#315895)
24184
24185 2005-09-30  Edward Hervey  <edward@fluendo.com>
24186
24187         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24188         Let's not iterate pads we're not interested in, it avoids getting 
24189         sky-high refcounts on sinkpad.
24190
24191 2005-09-30  Wim Taymans  <wim@fluendo.com>
24192
24193         * gst/gstelement.c: (gst_element_set_state),
24194         (gst_element_change_state):
24195         Small tweak, element in ASYNC remains ASYNC.
24196
24197 2005-09-30  Wim Taymans  <wim@fluendo.com>
24198
24199         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24200         Only error is an error.
24201
24202         * gst/gstbin.c: (gst_bin_change_state):
24203         Better debugging.
24204
24205         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24206         Also call pad_block in pad alloc.
24207
24208         * gst/gstutils.c: (gst_flow_get_name):
24209         Better debugging.
24210
24211 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24212
24213         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24214         (gst_base_src_get_range):
24215           Fix documentation typos. Add some more debug info.
24216
24217 2005-09-29  David Schleef  <ds@schleef.org>
24218
24219         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24220           more end-user friendly.
24221         * tools/gst-inspect.c: (main): Check if command-line argument is
24222           a file and attempt to load that file as a plugin.
24223
24224 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24225
24226         * check/gst/gstbin.c:
24227         * check/states/sinks.c:
24228           fix tests for the new warning
24229         * check/gst/gstpipeline.c:
24230           add a test for pipeline and bus interaction
24231         * gst/gstelement.c:
24232           elements should be NULL if they get disposed; add a warning if not
24233
24234 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24235
24236         * gst/gstobject.c:
24237           for 2.6 refcounting, make debug log more correct by printing
24238           the actual refcounts at the time of swap (Wim)
24239
24240 2005-09-29  Andy Wingo  <wingo@pobox.com>
24241
24242         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24243         removes signal watches previously added via
24244         gst_bus_add_signal_watch.
24245         (gst_bus_add_signal_watch): Don't return the source id, just store
24246         it on the bus if there wasn't an id already.
24247
24248         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24249         add_signal_watch and remove_signal_watch.
24250
24251 2005-09-29  Edward Hervey  <edward@fluendo.com>
24252
24253         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24254         Better if we actually iterate the list :)
24255
24256 2005-09-29  Wim Taymans  <wim@fluendo.com>
24257
24258         * check/gst/gstbin.c: (GST_START_TEST):
24259         Change for new bus API.
24260
24261         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24262         (send_messages), (GST_START_TEST), (gstbus_suite):
24263         Change for new bus signal API.
24264
24265         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24266         (gst_bus_source_prepare), (gst_bus_source_check),
24267         (gst_bus_create_watch), (gst_bus_add_watch_full),
24268         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24269         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24270         * gst/gstbus.h:
24271         Remove support for multiple GSources operating on different
24272         message types as it is too complex and unneeded when using
24273         signals.
24274         Added support for receiving signals from the bus.
24275
24276 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24277
24278         * docs/libs/tmpl/gstdataprotocol.sgml:
24279         * docs/manual/advanced-dataaccess.xml:
24280         * gst/elements/gstcapsfilter.c:
24281         * gst/gstutils.c:
24282           rename filter-caps to caps property
24283
24284 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24285
24286         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24287           More robust fraction string parsing.
24288
24289         * docs/pwg/appendix-porting.xml:
24290           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24291
24292 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24293
24294         * gst/gstcaps.c: (gst_caps_do_simplify):
24295           Thou shalt not free a structure and then continue using it
24296           in the next loop iteration.
24297
24298         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24299         (gst_caps_suite):
24300           Add test case for caps simplification.
24301
24302 2005-09-29  Wim Taymans  <wim@fluendo.com>
24303
24304         * check/gst/gstbin.c: (GST_START_TEST):
24305         Oops.
24306
24307 2005-09-29  Wim Taymans  <wim@fluendo.com>
24308
24309         * check/gst/gstbin.c: (GST_START_TEST):
24310         Add bus to bin.
24311
24312         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24313         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24314         (find_element), (gst_bin_sort_iterator_next),
24315         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24316         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24317         (gst_bin_change_state), (gst_bin_dispose):
24318         A bin does not have a bus, it gets the bus from the parent.
24319
24320         * gst/gstelement.c: (gst_element_requires_clock),
24321         (gst_element_provides_clock), (gst_element_is_indexable),
24322         (gst_element_is_locked_state), (gst_element_change_state),
24323         (gst_element_set_bus_func):
24324         Small cleanups.
24325
24326         * gst/gstpipeline.c: (gst_pipeline_class_init),
24327         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24328         The pipeline provides a bus.
24329
24330 2005-09-28  Johan Dahlin  <johan@gnome.org>
24331
24332         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24333         gst_structure_get_enum instead of gst_structure_get_int
24334
24335         * gst/gststructure.c (gst_structure_get_enum): Impl.
24336
24337         * gst/gststructure.h (gst_structure_get_enum): Add
24338
24339         * docs/gst/gstreamer-sections.txt: Ditto
24340
24341         * gst/gstmessage.c (gst_message_new_state_changed): Use
24342         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24343         which does introspection.
24344         Reviewed by Christian Schaller
24345
24346 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24347
24348         * gst/gstinfo.c: (gst_debug_log_default):
24349           don't do dummy g_strdup()s
24350         * libs/gst/controller/gstcontroller.c:
24351         (on_object_controlled_property_changed),
24352         (gst_controlled_property_new), (gst_controller_new_valist),
24353         (gst_controller_new_list),
24354         (gst_controller_remove_properties_valist), (gst_controller_set),
24355         (gst_controller_get), (gst_controller_sync_values),
24356         (gst_controller_get_value_array), (_gst_controller_class_init),
24357         (gst_controller_get_type):
24358         * libs/gst/controller/gstcontroller.h:
24359         * libs/gst/controller/gstinterpolation.c:
24360         (gst_controlled_property_find_timed_value_node):
24361           convert // to /**/ comments
24362
24363 2005-09-28  Wim Taymans  <wim@fluendo.com>
24364
24365         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24366         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24367         (gst_bus_sync_signal_handler):
24368         * gst/gstbus.h:
24369         Added async-message and sync-message signals to the bus.
24370         Added helper BusFunc to emit signals for all posted messages.
24371
24372         * gst/gstmessage.c: (gst_message_type_get_name),
24373         (gst_message_type_to_quark), (gst_message_get_type):
24374         * gst/gstmessage.h:
24375         Register quarks for message names.
24376
24377 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24378
24379         * docs/libs/gstreamer-libs-sections.txt:
24380         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24381         (gst_controller_new_list):
24382         * libs/gst/controller/gstcontroller.h:
24383           added another constructor for language bindings
24384
24385 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24386
24387         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24388           add another check
24389         * gst/gstbus.c:
24390           add some doc
24391         * gst/gstinfo.c: (_gst_debug_init):
24392           slightly more readable color for refcount debugging
24393
24394 2005-09-28  Wim Taymans  <wim@fluendo.com>
24395
24396         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24397         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24398         (find_element), (gst_bin_sort_iterator_next),
24399         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24400         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24401         (gst_bin_change_state), (gst_bin_dispose):
24402         Small doc fixes. get_clock -> provide_clock.
24403
24404         * gst/gstelement.c: (gst_element_class_init),
24405         (gst_element_provides_clock), (gst_element_provide_clock),
24406         (gst_element_get_clock), (gst_element_commit_state),
24407         (gst_element_lost_state):
24408         * gst/gstelement.h:
24409         Make get/set_clock() symetric. Add provide_clock vmethod since
24410         that is actually what this function does.
24411
24412         * gst/gstpipeline.c: (gst_pipeline_class_init),
24413         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24414         (gst_pipeline_get_clock):
24415         get_clock -> provide_clock.
24416
24417 2005-09-28  Andy Wingo  <wingo@pobox.com>
24418
24419         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24420         lieu of real docs...
24421
24422         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24423
24424 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24425
24426         * gst/elements/gstcapsfilter.c:
24427         * gst/elements/gstfakesink.c:
24428         * gst/elements/gstfakesrc.c:
24429         * gst/elements/gstfdsink.c:
24430         * gst/elements/gstfdsrc.c:
24431         * gst/elements/gstfilesink.c:
24432         * gst/elements/gstfilesrc.c:
24433         * gst/elements/gstidentity.c:
24434         * gst/elements/gsttee.c:
24435         * gst/elements/gsttypefindelement.c:
24436           Make element details static.
24437
24438 2005-09-28  Wim Taymans  <wim@fluendo.com>
24439
24440         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24441         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24442         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24443         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24444         (gst_bin_change_state), (gst_bin_dispose):
24445         Some documentation updates.
24446         Clean up dispose handlers.
24447
24448         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24449         * gst/gstpad.c: (gst_pad_dispose):
24450         Clean up dispose handler.
24451
24452         * gst/gstpipeline.c: (gst_pipeline_change_state):
24453         Removed spurious UNLOCK.
24454
24455 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24456
24457         * docs/gst/gstreamer-sections.txt:
24458         * gst/base/gstbasesrc.h:
24459         * gst/gstelement.h:
24460         * gst/gstevent.h:
24461         * gst/gstobject.h:
24462         * gst/gstpad.h:
24463         * gst/gstpipeline.c:
24464         * gst/gstpipeline.h:
24465         * gst/gstutils.h:
24466         * gst/gstxml.h:
24467           added two new functions to the docs
24468                 documents all undocumented GstXXXFlags
24469                 completed some incomplete docs 
24470
24471 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24472
24473         * gst/gstbin.c: (gst_bin_dispose):
24474         * gst/gstelement.c: (gst_element_dispose):
24475           remove now useless and leaky resurrection code in dispose
24476         * gst/base/gstbasesrc.c: (gst_base_src_init):
24477         * gst/gstelementfactory.c: (gst_element_factory_create):
24478         * gst/gstobject.c: (gst_object_set_parent):
24479           add some debugging
24480
24481 2005-09-27  Wim Taymans  <wim@fluendo.com>
24482
24483         * docs/design/part-TODO.txt:
24484         Update TODO.
24485
24486         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24487         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24488         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24489         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24490         (gst_bin_change_state):
24491         * gst/gstelement.h:
24492         Remove element variable, we keep element info in the iterator now.
24493
24494 2005-09-27  Andy Wingo  <wingo@pobox.com>
24495
24496         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24497         values.
24498
24499 2005-09-27  Wim Taymans  <wim@fluendo.com>
24500
24501         * check/gst/gstbin.c: (GST_START_TEST):
24502         Enable check that works now.
24503
24504         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24505         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24506         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24507         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24508         (gst_bin_change_state):
24509         * gst/gstbin.h:
24510         Redid the state change algorithm using a topological sort algo.
24511         Handles all cases correctly.
24512         Exposed iterator for state change order.
24513
24514         * gst/gstelement.h:
24515         Temp storage for state changes. Need to get rid of this soon.
24516
24517 2005-09-27  Wim Taymans  <wim@fluendo.com>
24518
24519         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24520         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24521         (link_fold_func), (gst_pad_proxy_setcaps):
24522         Leak fixes, the fold functions need to unref the passed object and
24523         _get_parent_*() returns ref to parent.
24524
24525 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24526
24527         * check/gst/gstbuffer.c: (test_make_writable):
24528           Plug leak in test case and fix 'make check-valgrind'
24529
24530 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24531
24532         * gst/gstbuffer.c: (gst_subbuffer_init):
24533           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24534           works correctly in all circumstances (we could have just copied
24535           the parent buffer's readonly flag, but conceptually it seems
24536           cleaner to mark all subbuffers as read-only). (based on patch
24537           by Alessandro Decina, #314710).
24538         
24539         * check/gst/gstbuffer.c: (create_read_only_buffer),
24540         (test_make_writable), (test_subbuffer_make_writable),
24541         (gst_test_suite):
24542           Add some tests for gst_buffer_make_writable().
24543
24544 2005-09-27  Wim Taymans  <wim@fluendo.com>
24545
24546         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24547         use gst_object_has_ancestor().
24548
24549         * gst/gstobject.c: (gst_object_has_ancestor):
24550         * gst/gstobject.h:
24551         gst_object_has_ancestor() copied from gstbin.c as it is a
24552         useful function.
24553
24554         * tests/instantiate/create.c: (create_all_elements):
24555         * tests/lat.c: (handoff_src), (handoff_sink):
24556         * tests/sched/runxml.c: (main):
24557         * tests/seeking/seeking1.c: (main):
24558         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24559         (main):
24560         Fix compilation of some tests.
24561
24562 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24563
24564         * gst/gsterror.h:
24565           Remove comment. GST_TYPE_G_ERROR is here to stay,
24566           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24567           (#316961, #300610).
24568
24569 2005-09-26  Wim Taymans  <wim@fluendo.com>
24570
24571         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24572         Added check that shows error in state change order.
24573
24574 2005-09-26  Wim Taymans  <wim@fluendo.com>
24575
24576         * gst/gstbin.c: (gst_bin_change_state):
24577         Make state change function use 3 queues again, we were
24578         adding elements in the wrong order.
24579
24580         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24581         Some debug info,
24582
24583         * gst/gstpad.c: (gst_pad_dispose):
24584         Added some debug info first.
24585
24586 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24587
24588         * docs/design/draft-push-pull.txt:
24589         * docs/design/part-events.txt:
24590         * docs/design/part-overview.txt:
24591         * docs/design/part-scheduling.txt:
24592           Replace all _pull_region() with _pull_range()
24593           
24594 2005-09-26  Andy Wingo  <wingo@pobox.com>
24595
24596         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24597
24598         * check/gst-libs/controller.c: Update for controller api change.
24599
24600         * configure.ac: 
24601         * tests/Makefile.am:
24602         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24603         over by GLib bug 118439.
24604         
24605         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24606         routines to a function.
24607
24608         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24609
24610         * libs/gst/controller/gsthelper.c:
24611         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24612         (gst_object_sync_values): Renamed from sink_values. Ugh.
24613
24614         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24615
24616         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24617         Renamed from controller_key, as it is exported.
24618
24619         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24620
24621 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24622
24623         * gst/Makefile.am:
24624         * gst/gst.h:
24625         * gst/gstpad.h:
24626         * gst/gstpadtemplate.h:
24627         * gst/gstquery.c:
24628         * gst/gstquery.h:
24629         * gst/gstqueryutils.c:
24630         * gst/gstqueryutils.h:
24631           remove queryutils headers after moving the two used functions
24632           to gstquery.  also fixes build problem for gstsiddec
24633
24634 2005-09-26  Michael Smith <msmith@fluendo.com>
24635
24636         * tools/gst-launch.1.in:
24637         Correct documentation in manpage of debug syntax
24638
24639 2005-09-26  Wim Taymans  <wim@fluendo.com>
24640
24641         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24642         (gst_base_src_is_seekable), (gst_base_src_change_state):
24643         Some more debugging info.
24644
24645 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24646
24647         * docs/gst/gstreamer-sections.txt:
24648         * gst/base/gstbasetransform.h:
24649         * gst/gstindex.h:
24650           added more docs
24651
24652 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24653
24654         * docs/gst/.cvsignore:
24655         * docs/gst/tmpl/.cvsignore:
24656         * docs/gst/tmpl/gstpipeline.sgml:
24657         * docs/gst/tmpl/gstplugin.sgml:
24658         * gst/gstpipeline.c:
24659         * gst/gstplugin.c:
24660         * gst/gstplugin.h:
24661           inlined the last two docs files
24662           removed the tmpl directory from cvs (no more conflicts here!)
24663
24664 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24665
24666         * docs/gst/gstreamer-sections.txt:
24667         * docs/gst/tmpl/.cvsignore:
24668         * docs/gst/tmpl/gstpad.sgml:
24669         * docs/gst/tmpl/gstpadtemplate.sgml:
24670         * gst/Makefile.am:
24671         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24672         (gst_pad_finalize), (gst_pad_set_pad_template):
24673         * gst/gstpad.h:
24674         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24675         (gst_pad_template_class_init), (gst_pad_template_init),
24676         (gst_pad_template_dispose), (name_is_valid),
24677         (gst_static_pad_template_get), (gst_pad_template_new),
24678         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24679         (gst_pad_template_pad_created):
24680         * gst/gstpadtemplate.h:
24681           inlined two more docs
24682           factored gstpadtemplate out of gstpad
24683
24684 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24685
24686         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24687         (test_children_state_change_order_semi_sink):
24688           Fix test case: we can't rely on a fixed state change order when
24689           going from READY => PAUSED because the sink might commit its 
24690           new state first when the first buffer created by the source 
24691           reaches the sink before the source has finished its change state.
24692           (Test case still fails at times, see #316856, comment 5 onwards)
24693
24694 2005-09-24  Wim Taymans  <wim@fluendo.com>
24695
24696         * docs/design/part-events.txt:
24697         * docs/design/part-gstbus.txt:
24698         * docs/design/part-gstpipeline.txt:
24699         * docs/design/part-messages.txt:
24700         * docs/design/part-overview.txt:
24701         * docs/design/part-segments.txt:
24702         * gst/gstbin.c:
24703         * gst/gstbuffer.c:
24704         * gst/gstclock.c:
24705         * gst/gstelement.c:
24706         * gst/gstevent.c:
24707         * gst/gstfilter.c:
24708         * gst/gstiterator.c:
24709         Various documentation updates.
24710
24711 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24712
24713         * gst/gstclock.h:
24714           Well, that's embarassing.  Luckily we weren't using
24715           GST_CLOCK_DIFF anywhere.
24716
24717 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24718
24719         * common/gtk-doc.mak:
24720           don't fail on building XML, FC4 slave shows a bunch of doc
24721           missing bits that I don't get
24722         * gst/gstpad.c:
24723         * gst/gstpipeline.c:
24724         * gst/gststructure.c:
24725           some doc updates
24726
24727 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24728
24729         * docs/design/part-gstbin.txt:
24730         * docs/design/part-gstbus.txt:
24731         * gst/gstbus.c:
24732           Add blurb about how the bus goes into flushing mode and
24733           drops all messages when its bin goes from READY into NULL 
24734           state.
24735
24736 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24737
24738         * docs/gst/gstreamer-sections.txt:
24739         * gst/gststructure.c: (gst_structure_get_clock_time):
24740         * gst/gststructure.h:
24741           add a method to get a GstClockTime out of a structure
24742
24743 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24744
24745         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24746         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24747           Added test to check state change order in bins (can still be made
24748           to fail here under heavy disk load; bails out with 'Push on pad
24749           fakesink:sink0, but it was not activated in push mode').
24750
24751         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24752           Fix state change order when there is only a semi sink (#316856)
24753
24754         * gst/gstbus.c: (gst_bus_class_init):
24755           Use _class_peek_parent(), not _class_ref(); fix docs to say
24756           'default main context' instead of 'mainloop' where that is
24757           what's meant.
24758
24759         * gst/gstelement.c: (gst_element_commit_state),
24760         (gst_element_set_state):
24761           Fix typos in debug messages
24762
24763 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24764
24765         * docs/README:
24766         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24767         * gst/gstpluginfeature.c:
24768         * gst/gstutils.c:
24769           various doc updates
24770         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24771           change an assert into an error until it gets fixed properly
24772
24773 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24774
24775         * docs/gst/gstreamer-sections.txt:
24776         * docs/gst/tmpl/.cvsignore:
24777         * docs/gst/tmpl/gstelement.sgml:
24778         * docs/gst/tmpl/gstinfo.sgml:
24779         * docs/gst/tmpl/gstobject.sgml:
24780         * gst/gstelement.c:
24781         * gst/gstelement.h:
24782         * gst/gstinfo.c:
24783         * gst/gstinfo.h:
24784         * gst/gstobject.c: (gst_object_class_init):
24785         * gst/gstobject.h:
24786           inlined 3 more biiiig doc files and added some missing docs on the fly
24787
24788 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24789
24790         * check/gst/.cvsignore:
24791         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24792         * gst/gstregistryxml.c: (load_plugin),
24793         (gst_registry_xml_save_plugin):
24794           put back source in registry.  add checks for find_plugin.
24795         * testsuite/states/bin.c: (assert_state), (empty_bin),
24796         (test_adding_one_element), (main):
24797         * testsuite/states/locked.c: (main):
24798           some compile/run fixes
24799
24800 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24801
24802         * check/gst/gstvalue.c: (GST_START_TEST):
24803           fix leaks in the test itself
24804
24805 2005-09-22  Wim Taymans  <wim@fluendo.com>
24806
24807         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24808         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24809         (gst_base_sink_query):
24810         Prepare for more accurate position reporting and query
24811         handling.
24812
24813         * gst/gstelement.c: (gst_element_send_event),
24814         (gst_element_set_state):
24815         Add some comment.
24816
24817 2005-09-22  Wim Taymans  <wim@fluendo.com>
24818
24819         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24820         (gst_query_parse_segment):
24821         * gst/gstquery.h:
24822         More documentation.
24823         Add segment query for future use.
24824
24825 2005-09-22  Wim Taymans  <wim@fluendo.com>
24826
24827         * gst/gstbin.c: (gst_bin_add_func):
24828         Some more debug info.
24829
24830         * gst/gstelement.c: (gst_element_send_event):
24831         Simplify send_event
24832
24833         * gst/gstelement.h:
24834         Don't know how flags got broken.
24835
24836         * gst/gstquery.h:
24837         Added new query.
24838
24839 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24840
24841         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24842           Add simplistic test suite for GST_TYPE_DATE serialisation and
24843           deserialisation.
24844
24845 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24846
24847         * docs/gst/gstreamer-sections.txt:
24848         * gst/gststructure.c: (gst_structure_set_valist),
24849         (gst_structure_get_date):
24850         * gst/gststructure.h:
24851         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24852         (gst_date_copy), (gst_value_compare_date),
24853         (gst_value_serialize_date), (gst_value_deserialize_date),
24854         (gst_value_transform_date_string),
24855         (gst_value_transform_string_date), (_gst_value_initialize):
24856         * gst/gstvalue.h:
24857           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24858           bunch of utility functions along with a hack that checks that
24859           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24860           is required. Part of the grand scheme in #170777.
24861
24862 2005-09-22  Andy Wingo  <wingo@pobox.com>
24863
24864         * gst/gstconfig.h.in: Psych out gtk-doc.
24865
24866         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24867
24868         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24869
24870         * tools/gst-inspect.c (print_element_list): Plug some
24871         inconsequential leaks.
24872
24873         * gst/gstregistry.c (gst_registry_get_default): Doc.
24874
24875         * check/gst/gstplugin.c: 
24876         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24877         * gst/gstelementfactory.c (gst_element_factory_create): 
24878         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24879         refcount changes.
24880
24881         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24882         (gst_plugin_feature_load): Doc, don't eat refs.
24883
24884         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24885         (gst_plugin_list_free): Doc.
24886         (gst_plugin_load_file): Doc updates.
24887
24888         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24889         accessors returning refcounted objects, return a ref.
24890
24891         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24892         accessor for caps. IDEMPOTENCE. Oh yes.
24893
24894 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24895
24896         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24897
24898         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24899         (_gst_debug_register_funcptr):
24900           Add mutex to serialise access to the hash table with
24901           the function pointer => function name string mapping;
24902           make that hash table static scope (#316809).
24903
24904         * gst/registries/.cvsignore:
24905           Remove left-over file.
24906
24907 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24908
24909         * docs/pwg/appendix-porting.xml:
24910           And something about newsegment events and caps-on-buffers to
24911           the porting guide (feel free to improve).
24912
24913 2005-09-21  Andy Wingo  <wingo@pobox.com>
24914
24915         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24916         data and event probes on the same pad.
24917         (test_buffer_probe_once): Test that removing probes from within
24918         the probe functions works.
24919
24920 2005-09-21  Andy Wingo  <wingo@pobox.com>
24921
24922         * check/gst/gstutils.c: New file.
24923         (test_buffer_probe_n_times): A simple buffer probe test. More to
24924         come, foolios.
24925
24926         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24927         have-data::buffer, not have-data.
24928         (gst_pad_add_event_probe): Likewise for have-data::event.
24929         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24930         peer' isn't quite right yet though.
24931         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24932         (gst_pad_remove_data_probe): Change to take the guint handler_id
24933         as their arg, not the function+data, which is more glib-like.
24934
24935         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24936         the signal emission to indicate if the data is a buffer or an
24937         event.
24938         (gst_pad_get_type): Initialize buffer and event quarks.
24939         (gst_pad_class_init): have-data is now a detailed signal, yes it
24940         is.
24941
24942 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24943
24944         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24945         * gst/gstutils.c: (gst_util_set_value_from_string),
24946         (gst_util_set_object_arg):
24947           Don't put functional code in g_return_if_fail() or
24948           g_return_val_if_fail() statements, otherwise things will 
24949           break when G_DISABLE_CHECKS is defined during compilation.
24950
24951 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24952
24953         * docs/gst/tmpl/.cvsignore:
24954         * docs/gst/tmpl/gstvalue.sgml:
24955         * gst/gstvalue.c:
24956         * gst/gstvalue.h:
24957           inlied another one and added  some obvious docs
24958
24959 2005-09-21  Wim Taymans  <wim@fluendo.com>
24960
24961         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24962         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24963         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24964         (gst_fdsrc_get_property), (gst_fdsrc_create):
24965         * gst/elements/gstfdsrc.h:
24966         Properly implement fdsrc. Removed signal and timeout,
24967         better implemented somewhere else.
24968
24969 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24970
24971         * docs/gst/tmpl/.cvsignore:
24972         * docs/gst/tmpl/gstimplementsinterface.sgml:
24973         * gst/gstinterface.c:
24974           inlined more docs
24975
24976 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24977
24978         * docs/gst/gstreamer-sections.txt:
24979         * docs/gst/tmpl/.cvsignore:
24980         * docs/gst/tmpl/gstenumtypes.sgml:
24981           remove obsolete doc file
24982
24983 2005-09-21  David Schleef  <ds@schleef.org>
24984
24985         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24986         little beer, fix a little leak.
24987
24988 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24989
24990         * docs/gst/gstreamer-docs.sgml:
24991         * docs/gst/gstreamer-sections.txt:
24992         * docs/gst/tmpl/.cvsignore:
24993         * gst/Makefile.am:
24994         * gst/gst.h:
24995         * gst/gstbin.c:
24996         * gst/gstelement.h:
24997         * gst/gstindex.c: (gst_index_class_init):
24998         * gst/gstindex.h:
24999         * gst/gstindexfactory.c: (gst_index_factory_get_type),
25000         (gst_index_factory_class_init), (gst_index_factory_init),
25001         (gst_index_factory_finalize), (gst_index_factory_new),
25002         (gst_index_factory_destroy), (gst_index_factory_find),
25003         (gst_index_factory_create), (gst_index_factory_make):
25004         * gst/gstindexfactory.h:
25005         * gst/gstpluginfeature.c:
25006         * gst/gstpluginfeature.h:
25007         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25008           more docs inlined, splitted gstindex.{c,h}
25009
25010 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25011
25012         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25013           fix a leak
25014
25015 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25016
25017         * gst/elements/gstfilesink.c: (gst_file_sink_init):
25018           Set sync to FALSE by default.
25019
25020 2005-09-20  Wim Taymans  <wim@fluendo.com>
25021
25022         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25023         (gst_base_sink_init):
25024         Make sync property settable from subclass.
25025
25026         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25027         (gst_fake_sink_change_state):
25028         Set sync to FALSE by default.
25029
25030 2005-09-20  Wim Taymans  <wim@fluendo.com>
25031
25032         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
25033         * tools/gst-launch.c: (main):
25034         The timeout handler should have lower priority than the source
25035         so we don't timeout before popping a message with 0 timeout.
25036         Dump error messages after failed state change.
25037
25038 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25039
25040         * tools/gst-inspect.c: (print_element_properties_info):
25041           Fix two typos.
25042
25043 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25044
25045         * check/gst/gstevent.c:
25046         * gst/elements/gstfakesink.c:
25047         * gst/elements/gstfakesink.h:
25048           remove the sync property from fakesink.
25049           has the side effect of setting sync TRUE
25050           for fakesink, which is a change.  Anyone who knows how
25051           to fix this nicely in a GObject-y way, feel free.
25052
25053 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25054
25055         * docs/gst/gstreamer-docs.sgml:
25056           remove probe refsection
25057
25058 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25059
25060         * check/Makefile.am:
25061           disable valgrinding the controller test again
25062         * docs/gst/gstreamer-sections.txt:
25063           update for api-changes
25064
25065 2005-09-20  Wim Taymans  <wim@fluendo.com>
25066
25067         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25068         (gst_base_sink_set_property), (gst_base_sink_get_property),
25069         (gst_base_sink_do_sync):
25070         * gst/base/gstbasesink.h:
25071         Added sync property to basesink to disable clock sync.
25072
25073 2005-09-20  Andy Wingo  <wingo@pobox.com>
25074
25075         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25076         eating the caller's refcount.
25077
25078         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
25079         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25080         refcount.
25081
25082         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25083         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25084         of GLib 2.8 public, so we can know which refcount to check in
25085         tests.
25086
25087         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25088         (gst_object_init): Only set the gst refcount if we're going ahead
25089         with the refcount hack.
25090
25091 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25092
25093         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25094         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25095           more leaks plumbed, added more debug-logging
25096         * gst/gstmacros.h:
25097           whitespace fix
25098
25099 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25100
25101         * gst/gstmessage.c:
25102           remove include of gstmemchunk.h
25103
25104 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25105
25106         * gst/gstclock.c: (_gst_clock_id_free):
25107           Commit from the Political Party For More Atomic CVS Commits,
25108           so that people don't waste too much of their day fishing
25109           out obvious leaks out of massive commits.
25110           Oh, and fix a pretty damn obvious leak in the memchunk
25111           removal code.
25112
25113 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25114
25115         * check/Makefile.am:
25116         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25117           plug mem-leak, re-add to valgrindable tests
25118
25119 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25120
25121         * gst/gstplugin.h:
25122           unbreak the build for those who have chronic arthritis
25123           and typing "make check" is just too taxing on the hands
25124
25125 2005-09-20  Andy Wingo  <wingo@pobox.com>
25126
25127         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25128         really want it out, you should fix plugins at the same time.
25129
25130 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25131
25132         * configure.ac:
25133         * docs/gst/gstreamer-sections.txt:
25134         * gst/gstobject.c:
25135           added missing symbols to api docs
25136           disable ref-count hack if we have glib >= 2.8
25137
25138 2005-09-19  David Schleef  <ds@schleef.org>
25139
25140         * docs/gst/Makefile.am: Ignore a few more internal headers
25141         * docs/gst/gstreamer-docs.sgml: Remove old sections
25142         * docs/gst/gstreamer-sections.txt: Remove old sections
25143         * docs/gst/tmpl/gstobject.sgml: update
25144         * docs/gst/tmpl/gstplugin.sgml: update
25145         * docs/gst/tmpl/gstpluginfeature.sgml: update
25146         * docs/random/ds/0.9-suggested-changes: update.
25147         * gst/Makefile.am: remove memchunk and trashstack, since they're
25148           not used.
25149         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25150         * gst/gst.h: don't include some headers
25151         * gst/gstchildproxy.c: add gstmarshal.h
25152         * gst/gstclock.c: Don't use memchunks
25153         * gst/gstminiobject.c: Add some docs
25154         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25155         * gst/gstobject.h: same
25156         * gst/gstplugin.c: include gstmacros.h
25157         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25158         * gst/gstquery.c: don't use memchunks
25159         * gst/gstregistry.c: rename gst_registry_deinit()
25160         * gst/gstregistry.h: same
25161
25162 2005-09-19  David Schleef  <ds@schleef.org>
25163
25164         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25165         * docs/libs/gstreamer-libs-sections.txt:
25166         * docs/libs/tmpl/gstgetbits.sgml:
25167         * docs/libs/tmpl/gstputbits.sgml:
25168
25169 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25170
25171         * win32/gstenumtypes.c:
25172         * win32/gstenumtypes.h:
25173           Update.
25174
25175 2005-09-19  Wim Taymans  <wim@fluendo.com>
25176
25177         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25178         Automatically PAUSE and RESUME a pipeline when a flushing seek
25179         is performed.
25180
25181 2005-09-19  Andy Wingo  <wingo@pobox.com>
25182
25183         * gst/gstregistry.h: Spacing fixen.
25184
25185 2005-09-19  Wim Taymans  <wim@fluendo.com>
25186
25187         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25188         Handle state change failure more correctly.
25189
25190 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25191
25192         * check/Makefile.am:
25193         * check/pipelines/cleanup.c: (run_pipeline):
25194         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25195         (GST_START_TEST):
25196           enable cleanup again after fixing the leak
25197         * docs/README:
25198           some more info on docs
25199
25200 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25201
25202         * check/Makefile.am:
25203           re-enable tests now that leaks are plugged
25204         * check/gst/gst.c:
25205         * check/gst/gstbin.c:
25206         * check/gst/gstpipeline.c:
25207           add some more tests while fixing leaks
25208         * common/check.mak:
25209           make sure binaries are uptodate when valgrinding/gdbing
25210         * gst/gst.c:
25211         * gst/gstelementfactory.c:
25212           remove a ref too many, and add a FIXME for when we get
25213           round to disposing of classes
25214         * gst/gstplugin.c:
25215           fix the refcounting when loading a plugin from a file and
25216           the code pretends that the pointer is the same even though
25217           of course it can change
25218         * gst/gstpluginfeature.c:
25219           unref plugins marked cached (a bit confusing as a name)
25220           as the docs state should be done
25221           various doc additions to explain refcounting
25222         * gst/gstregistry.c:
25223         * gst/gstregistryxml.c:
25224           debugging
25225
25226 2005-09-19  Wim Taymans  <wim@fluendo.com>
25227
25228         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25229         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25230         (send_messages), (GST_START_TEST), (gstbus_suite):
25231         * check/gst/gstpipeline.c: (GST_START_TEST):
25232         * check/pipelines/cleanup.c: (run_pipeline):
25233         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25234         (GST_START_TEST):
25235         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25236         (gst_bus_source_check), (gst_bus_source_dispatch),
25237         (gst_bus_create_watch), (gst_bus_add_watch_full),
25238         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25239         * gst/gstbus.h:
25240         * tools/gst-launch.c: (event_loop):
25241         * tools/gst-md5sum.c: (event_loop):
25242         GstBusHandler -> GstBusFunc, return value has the same meaning as
25243         any other GSource (FALSE == remove source).
25244         _add_watch() and _add_watch_full() now take a MessageType mask to
25245         only handle specific types of messages.
25246         _poll() returns the GstMessage instead of the message type to avoid
25247         race conditions.
25248         _have_pending() takes a MessageType mask now too.
25249         Added testsuite for multiple bus watches.
25250         Fix testsuites and applications for new bus API.
25251
25252 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25253
25254         * check/Makefile.am:
25255           mark a bunch of the tests as to fix until we fix them
25256
25257 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25258
25259         * common/check.mak:
25260           use GST_PLUGIN settings for valgrind tests as well, so we're
25261           valgrinding the correct thing
25262         * gst/gst.c: (init_post):
25263           plug another leak
25264
25265 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25266
25267         * gst/gst.c: (init_post), (gst_deinit):
25268         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25269         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25270         * gst/gstindex.c: (gst_index_factory_class_init),
25271         (gst_index_factory_finalize):
25272         * gst/gstobject.c: (gst_object_dispose):
25273         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25274         (gst_plugin_load_file), (gst_plugin_desc_free):
25275         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25276         (gst_plugin_feature_finalize):
25277         * gst/gstregistry.c: (gst_registry_class_init),
25278         (gst_registry_init), (gst_registry_finalize),
25279         (gst_registry_get_default), (gst_registry_deinit):
25280         * gst/gstregistry.h:
25281         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25282           various cleanups and memleak plugging.  make valgrind is happy now.
25283
25284 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25285
25286         * common/check.mak:
25287           add a check-valgrind target
25288
25289 2005-09-18  David Schleef  <ds@schleef.org>
25290
25291         * tools/gst-inspect.c: Revert the GOption code.
25292
25293 2005-09-17  David Schleef  <ds@schleef.org>
25294
25295         * check/Makefile.am: Fix environment variables.
25296         * check/gst/gstplugin.c: Fix for API changes.
25297         * tools/gst-inspect.c: Fix for API changes.
25298         * tools/gst-xmlinspect.c: Fix for API changes.
25299         * gst/gstelementfactory.c:
25300         * gst/gstplugin.c:
25301         * gst/gstplugin.h:
25302         * gst/gstpluginfeature.c:
25303         * gst/gstpluginfeature.h:
25304         * gst/gstregistry.c:
25305         * gst/gstregistry.h:
25306         * gst/gstregistryxml.c:
25307         * gst/gsttypefind.c:
25308         * gst/gsttypefindfactory.c:
25309         * gst/indexers/gstfileindex.c:
25310         * gst/indexers/gstmemindex.c:
25311         * gst/schedulers/Makefile.am:
25312           Change registry to keep track of both plugins and features,
25313           removing the feature tracking from plugins themselves.
25314
25315 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25316
25317         * check/Makefile.am:
25318         * tools/gst-register.1.in:
25319           remove gst-register
25320
25321 2005-09-15  David Schleef  <ds@schleef.org>
25322
25323         * check/gst/gstplugin.c:
25324         * gst/gstelementfactory.c:
25325         * gst/gstplugin.c:
25326         * gst/gstpluginfeature.c:
25327         * gst/gstregistry.c:
25328           Getting tired of debugging.  Disabled all the unreffing of
25329           plugins and features, which fixes the segfaults, but of
25330           course leaks like crazy.  At least playbin works.
25331
25332 2005-09-15  David Schleef  <ds@schleef.org>
25333
25334         * check/gst/gstplugin.c: (register_check_elements),
25335         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25336         More testing
25337         * gst/elements/gsttypefindelement.c: Fix refcounting.
25338         * gst/gsttypefind.c:
25339         * gst/gsttypefindfactory.c:
25340         * gst/gsttypefindfactory.h:
25341
25342 2005-09-15  David Schleef  <ds@schleef.org>
25343
25344         * gst/gstindex.c: get refcounting correct.
25345         * gst/gstregistry.c: Handle the case where a feature/plugin is
25346           not found.
25347
25348 2005-09-15  David Schleef  <ds@schleef.org>
25349
25350         * check/Makefile.am:
25351         * check/gst/gstplugin.c: Add test
25352         * gst/gstplugin.c: Fix problems noticed by testsuite
25353         * gst/gstplugin.h:
25354         * gst/gstregistry.c: 
25355         * gst/gstregistry.h:
25356
25357 2005-09-15  David Schleef  <ds@schleef.org>
25358
25359         * gst/gstplugin.c: Implement semi-decent recounting and locking
25360           in plugins and plugin features.
25361         * gst/gstplugin.h:
25362         * gst/gstpluginfeature.c:
25363         * gst/gstpluginfeature.h:
25364         * gst/gstregistry.c:
25365
25366 2005-09-15  Michael Smith <msmith@fluendo.com>
25367
25368         * gst/gstregistry.c: (gst_registry_get_feature_list):
25369           Implement this. Makes oggdemux work; decodebin still broken.
25370
25371 2005-09-14  David Schleef  <ds@schleef.org>
25372
25373         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25374           #316076)
25375         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25376         * gst/check/Makefile.am:
25377         * libs/gst/controller/Makefile.am:
25378         * libs/gst/dataprotocol/Makefile.am:
25379
25380 2005-09-14  David Schleef  <ds@schleef.org>
25381
25382         * configure.ac: Remove getbits library.  Nothing uses it, and
25383           it should be in something like liboil if someone did want
25384           to use it.
25385         * libs/gst/Makefile.am:
25386         * libs/gst/getbits/Makefile.am:
25387         * libs/gst/getbits/gbtest.c:
25388         * libs/gst/getbits/getbits.c:
25389         * libs/gst/getbits/getbits.h:
25390         * libs/gst/getbits/gstgetbits_generic.c:
25391         * libs/gst/getbits/gstgetbits_i386.s:
25392         * libs/gst/getbits/gstgetbits_inl.h:
25393
25394 2005-09-14  David Schleef  <ds@schleef.org>
25395
25396         * gst/Makefile.am: Dist glib-compat.h
25397
25398 2005-09-14  David Schleef  <ds@schleef.org>
25399
25400         * configure.ac: Remove gst/registries, since it's no longer used.
25401         * gst/registries/Makefile.am:
25402         * gst/registries/gstlibxmlregistry.c:
25403         * gst/registries/gstlibxmlregistry.h:
25404         * gst/registries/gstxmlregistry.c:
25405         * gst/registries/gstxmlregistry.h:
25406         * gst/registries/registrytest.c:
25407
25408 2005-09-14  David Schleef  <ds@schleef.org>
25409
25410         * gst/glib-compat.h:
25411         * gst/gstregistryxml.c:
25412           Convergence is near.  Seriously.
25413
25414 2005-09-14  David Schleef  <ds@schleef.org>
25415
25416         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25417         * gst/glib-compat.h:
25418           Attempt #4 to appease the buildbots.
25419
25420 2005-09-14  David Schleef  <ds@schleef.org>
25421
25422         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25423           Attempt #3.
25424
25425 2005-09-14  David Schleef  <ds@schleef.org>
25426
25427         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25428         Attempt #2.
25429
25430 2005-09-14  David Schleef  <ds@schleef.org>
25431
25432         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25433           the new functions.
25434
25435 2005-09-14  David Schleef  <ds@schleef.org>
25436
25437         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25438         * gst/glib-compat.h: Add some functions that are in newer versions
25439           of glib than we care to require.
25440         * gst/gstregistryxml.c: Use them.
25441
25442 2005-09-14  David Schleef  <ds@schleef.org>
25443
25444         * po/POTFILES.in: remove gst-register.c
25445
25446 2005-09-14  David Schleef  <ds@schleef.org>
25447
25448         * docs/gst/gstreamer-docs.sgml:
25449         * docs/gst/gstreamer-sections.txt:
25450         * docs/gst/gstreamer.types:
25451         * docs/gst/tmpl/gstelement.sgml:
25452         * docs/gst/tmpl/gstplugin.sgml:
25453         * docs/gst/tmpl/gstpluginfeature.sgml:
25454           Documentation updates for registry changes.
25455
25456 2005-09-14  David Schleef  <ds@schleef.org>
25457
25458         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25459           because we don't require glib-2.8.
25460
25461 2005-09-14  David Schleef  <ds@schleef.org>
25462
25463         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25464           registries directory.
25465
25466 2005-09-14  David Schleef  <ds@schleef.org>
25467
25468         * check/Makefile.am:
25469         * check/generic/states.c:
25470         * gst/Makefile.am:
25471         * gst/gst.c:
25472         * gst/gst.h:
25473         * gst/gst_private.h:
25474         * gst/gstelementfactory.c:
25475         * gst/gstindex.c:
25476         * gst/gstinfo.c:
25477         * gst/gstplugin.c:
25478         * gst/gstplugin.h:
25479         * gst/gstpluginfeature.c:
25480         * gst/gstpluginfeature.h:
25481         * gst/gstregistry.c:
25482         * gst/gstregistry.h:
25483         * gst/gstregistrypool.c: remove
25484         * gst/gstregistrypool.h: remove
25485         * gst/gsttypefind.c:
25486         * gst/gsttypefindfactory.c:
25487         * gst/gsturi.c:
25488         * tools/Makefile.am:
25489         * tools/gst-compprep.c:
25490         * tools/gst-inspect.c:
25491         * tools/gst-register.c: remove
25492         * tools/gst-xmlinspect.c:
25493           Registry rewrite.  Changes registry from being a file created
25494           by a tool into a simple cache file created automatically by 
25495           libgstreamer.  Removed gst-register (because it's no longer
25496           needed).  Remove registry pools, because we only have one
25497           registry implementation (XML).  Fix up other subsystems as
25498           necessary.
25499
25500 2005-09-13  Michael Smith <msmith@fluendo.com>
25501
25502         * gst/gstconfig.h.in:
25503           Don't Use windows linking attributes for MinGW. Fixes #316157
25504
25505 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25506
25507         * gst/gstutils.c: (set_state_async_thread_func),
25508         (gst_element_set_state_async):
25509           Apparently people think it's better if this function doesn't
25510           try to set the state to whatever state was asked for on the first
25511           call to this function for any object.  Seriously.
25512
25513 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25514
25515         * check/gst/gstpipeline.c: (GST_START_TEST):
25516         * docs/gst/gstreamer-sections.txt:
25517         * gst/gstutils.c: (set_state_async_thread_func),
25518         (gst_element_set_state_async):
25519         * gst/gstutils.h:
25520           add a "gst_element_set_state_async" method that
25521           sets the state and starts a thread to make sure the state
25522           change completes as best as it can
25523
25524 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25525
25526         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25527           codify design+behaviour in testsuite after discussion
25528
25529 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25530
25531         * docs/gst/tmpl/gstelement.sgml:
25532         * docs/manual/appendix-quotes.xml:
25533           add a quote
25534         * gst/gstelement.c: (gst_element_set_state):
25535           add some debug
25536
25537 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25538
25539         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25540         (gst_base_transform_prepare_output_buf),
25541         (gst_base_transform_handle_buffer):
25542         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25543         (gst_capsfilter_prepare_buf):
25544           Remove the requirement for sub-classes to call the parent
25545           implementation of prepare_output_buffer with a wrapper function.
25546           
25547         * gst/gsttaglist.h:
25548         * gst/gsttagsetter.h:
25549           Fix #define wrapper
25550
25551 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25552
25553         * docs/gst/gstreamer-sections.txt:
25554           more doc cleanups
25555
25556 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25557
25558         * docs/gst/gstreamer-sections.txt:
25559         * docs/gst/tmpl/gstelement.sgml:
25560         * docs/gst/tmpl/gstplugin.sgml:
25561         * gst/gstminiobject.c:
25562         * gst/gstvalue.h:
25563           docs now stop throwing warnings
25564
25565 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25566
25567         * docs/gst/gstreamer-sections.txt:
25568         * docs/gst/gstreamer.types:
25569         * docs/gst/tmpl/gstpad.sgml:
25570         * docs/gst/tmpl/gsttypes.sgml:
25571         * gst/base/gstadapter.h:
25572         * gst/base/gstbasesink.h:
25573         * gst/base/gstbasesrc.h:
25574         * gst/gstbin.h:
25575         * gst/gstbuffer.h:
25576         * gst/gstbus.h:
25577         * gst/gstcaps.h:
25578         * gst/gstclock.h:
25579         * gst/gstelement.h:
25580         * gst/gstevent.h:
25581         * gst/gstmessage.h:
25582         * gst/gstpad.h:
25583         * gst/gststructure.c:
25584         * gst/registries/gstlibxmlregistry.h:
25585           various documentation fixes
25586
25587 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25588
25589         * docs/gst/gstreamer-sections.txt:
25590         * docs/gst/tmpl/gstvalue.sgml:
25591           rearrange gstvalue section
25592         * gst/gstutils.c: (gst_element_state_get_name):
25593           NONE -> VOID
25594         * gst/gstvalue.c: (_gst_value_initialize):
25595         * gst/gstvalue.h:
25596           doc updates
25597
25598 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25599
25600         * check/gst-libs/controller.c:
25601           Header include fix.
25602         * gst/base/gstbasetransform.c:
25603         (gst_base_transform_default_prepare_buf),
25604         (gst_base_transform_handle_buffer):
25605         * gst/base/gstbasetransform.h:
25606           Some more basetransform changes and fixes to enable sub-classes
25607           that modify buffer metadata only.
25608         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25609         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25610         (gst_capsfilter_prepare_buf):
25611           If the output pad has fixed allowed caps and input buffers 
25612           don't have any, set the fixed caps on outgoing buffers.
25613
25614 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25615         * check/elements/identity.c: (GST_START_TEST):
25616           Make the error a little clearer when the test fails because
25617           identity made a copy of the buffer.
25618         * docs/gst/gstreamer-sections.txt:
25619           New symbols in gstbasetransform.h
25620         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25621         (gst_base_transform_init), (gst_base_transform_transform_size),
25622         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25623         (gst_base_transform_default_prepare_buf),
25624         (gst_base_transform_get_unit_size),
25625         (gst_base_transform_buffer_alloc),
25626         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25627         (gst_base_transform_change_state),
25628         (gst_base_transform_set_passthrough),
25629         (gst_base_transform_set_in_place),
25630         (gst_base_transform_is_in_place):
25631         * gst/base/gstbasetransform.h:
25632           Change BaseTransform to separate in_place operate from same_caps
25633           output. in_place implies that the element can perform the transform
25634           on incoming buffers in-place, even if the caps on the output are
25635           different.
25636           Sub-class elements can now implement special buffer allocation
25637           methods for outgoing buffers if they wish to.
25638           Big documentation addition.
25639         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25640         * gst/elements/gstelements.c:
25641           Changes for basetransform modifications.
25642         * gst/elements/Makefile.am:
25643         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25644           Compile fix. Extra debug output.
25645
25646 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25647
25648         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25649         (gst_pad_suite):
25650           add tests for valid pad naming
25651         * gst/check/gstcheck.c: (gst_check_log_message_func),
25652         (gst_check_log_critical_func):
25653           add ASSERT_WARNING
25654           remove printing of code, it is fragile when the code contains
25655           % and the line number is enough info
25656         * gst/check/gstcheck.h:
25657         * gst/gstpad.c: (gst_pad_template_new):
25658           fix memleaks
25659
25660 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25661
25662         * configure.ac:
25663           say what CHECK flags we use
25664         * docs/libs/gstreamer-libs.types:
25665         * libs/gst/controller/Makefile.am:
25666         * libs/gst/controller/gst-controller.c:
25667         * libs/gst/controller/gst-controller.h:
25668         * libs/gst/controller/gst-helper.c:
25669         * libs/gst/controller/gst-interpolation.c:
25670         * libs/gst/controller/gstcontroller.c:
25671         * libs/gst/controller/gsthelper.c:
25672         * libs/gst/controller/gstinterpolation.c:
25673         * tools/gst-inspect.c: (print_plugin_info):
25674           we don't use dashes in header names
25675
25676 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25677
25678         * check/Makefile.am:
25679         * check/gst/.cvsignore:
25680         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25681         (gst_pipeline_suite), (main):
25682           adding a test for pipelines and state changes
25683         * gst/gstutils.c: (get_state_func):
25684           add some debugging
25685         * gstreamer.spec.in:
25686           fix up spec file
25687
25688 2005-09-08  Michael Smith <msmith@fluendo.com>
25689
25690         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25691         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25692         (gst_file_src_is_seekable), (gst_file_src_get_size),
25693         (gst_file_src_start):
25694         * gst/elements/gstfilesrc.h:
25695           Various fixes for unseekable, unmmapable, and non-normal files, so
25696           that fallback to read() rather than mmap() works.
25697         * gst/gstevent.c: (gst_event_new_newsegment):
25698           Allow newsegment events with segment_start == segment_end, as will
25699           correctly happen if you use filesrc on a zero-size file, for
25700           example.
25701
25702 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25703
25704         * gst/gstplugin.c: (gst_plugin_load_file):
25705           Call g_module_close when we don't load the module
25706
25707         * gst/registries/gstlibxmlregistry.c:
25708         (gst_xml_registry_get_property):
25709           Port leak fix from 0.8
25710
25711 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25712
25713         * docs/gst/gstreamer-docs.sgml:
25714         * docs/gst/tmpl/.cvsignore:
25715         * docs/gst/tmpl/gsttrace.sgml:
25716         * docs/gst/tmpl/gsttrashstack.sgml:
25717         * gst/Makefile.am:
25718         * gst/gst.h:
25719         * gst/gstelement.h:
25720         * gst/gstevent.h:
25721         * gst/gstmessage.c:
25722         * gst/gstmessage.h:
25723         * gst/gsttag.c:
25724         * gst/gsttag.h:
25725         * gst/gsttaginterface.c:
25726         * gst/gsttaginterface.h:
25727         * gst/gsttaglist.c:
25728         * gst/gsttaglist.h:
25729         * gst/gsttagsetter.c:
25730         * gst/gsttagsetter.h:
25731         * gst/gsttrace.c:
25732         * gst/gsttrace.h:
25733         * gst/gsttrashstack.c:
25734           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25735           inlined docs for gsttrace, gsttrashstack
25736
25737 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25738
25739         * gst/Makefile.am:
25740         * gst/elements/gstbufferstore.h:
25741         * gst/elements/gsttypefindelement.c:
25742         * gst/elements/gsttypefindelement.h:
25743         * gst/gst.h:
25744         * gst/gsttypefind.c:
25745         * gst/gsttypefind.h:
25746         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25747         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25748         (gst_type_find_factory_dispose),
25749         (gst_type_find_factory_unload_thyself),
25750         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25751         (gst_type_find_factory_get_caps),
25752         (gst_type_find_factory_get_extensions),
25753         (gst_type_find_factory_call_function):
25754         * gst/gsttypefindfactory.h:
25755         * gst/registries/gstlibxmlregistry.c:
25756         * gst/registries/gstxmlregistry.c:
25757           splitted gsttypefind into gsttypefind, gsttypefindfactory
25758
25759 2005-09-07  Andy Wingo  <wingo@pobox.com>
25760
25761         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25762         condition whereby the pad's task function is entered before the
25763         pad_mode variable was set.
25764
25765 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25766
25767         * gst/gstpad.c: (gst_pad_alloc_buffer):
25768           Catch misbehaving pad_alloc functions that don't
25769           set up caps and do it for them.
25770
25771 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25772
25773         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25774           test for pipe!=NULL
25775         * docs/gst/tmpl/.cvsignore:
25776         * docs/gst/tmpl/gstmemchunk.sgml:
25777         * docs/gst/tmpl/gstparse.sgml:
25778         * docs/gst/tmpl/gsttaglist.sgml:
25779         * docs/gst/tmpl/gsttagsetter.sgml:
25780         * docs/gst/tmpl/gsttypefind.sgml:
25781         * docs/gst/tmpl/gsttypefindfactory.sgml:
25782         * gst/gstmemchunk.c:
25783         * gst/gstparse.c:
25784         * gst/gsttag.c:
25785         * gst/gsttaginterface.c:
25786         * gst/gsttypefind.c:
25787         * gst/gsttypefind.h:
25788           inlined more docs
25789
25790 === release 0.9.2 ===
25791
25792 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25793
25794         * NEWS:
25795         * RELEASE:
25796         * configure.ac:
25797           releasing 0.9.2, "South"
25798
25799 2005-09-05  Andy Wingo  <wingo@pobox.com>
25800
25801         * gst/registries/gstxmlregistry.h:
25802         * gst/registries/gstxmlregistry.c: Um... resurrect...
25803         
25804         * gst/registries/gstxmlregistry.h:
25805         * gst/registries/gstxmlregistry.c: and update to newer API.
25806         Incidentally they should be a bit faster now that they don't have
25807         to parse the caps.
25808         
25809 2005-09-05  Andy Wingo  <wingo@pobox.com>
25810
25811         * gst/registries/gstxmlregistry.h:
25812         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25813         replaced by the libxml registry a while back
25814
25815 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25816
25817         * docs/gst/tmpl/gstplugin.sgml:
25818         * gst/elements/gstelements.c:
25819         * gst/gst.c:
25820         * gst/gstplugin.c: (gst_plugin_register_func),
25821         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25822         (gst_plugin_get_source):
25823         * gst/gstplugin.h:
25824         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25825         (gst_xml_registry_save_plugin):
25826         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25827         (gst_xml_registry_save_plugin):
25828         * tools/gst-inspect.c: (print_plugin_info):
25829           add a "source" plugin description field, to represent the source
25830           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25831           will set it to PACKAGE, which is automake's idea of the name of
25832           the source project.
25833
25834 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25835
25836         * Makefile.am:
25837         * autogen.sh:
25838         * configure.ac:
25839         * docs/Makefile.am:
25840         * docs/faq/Makefile.am:
25841         * docs/gst/tmpl/gstelement.sgml:
25842         * docs/gst/tmpl/gsttypes.sgml:
25843         * docs/htmlinstall.mak:
25844         * docs/manual/Makefile.am:
25845         * docs/pwg/Makefile.am:
25846           reorganize doc build a little
25847           split out docbook and gtk-doc stuff
25848           have two separate --enable's and enable them through autogen
25849           but disable by default in configure (to be similar to other
25850           projects)
25851         * gstreamer.spec.in:
25852           clean up docs install
25853         * po/af.po:
25854         * po/az.po:
25855         * po/ca.po:
25856         * po/cs.po:
25857         * po/de.po:
25858         * po/en_GB.po:
25859         * po/fr.po:
25860         * po/it.po:
25861         * po/nb.po:
25862         * po/nl.po:
25863         * po/ru.po:
25864         * po/sq.po:
25865         * po/sr.po:
25866         * po/sv.po:
25867         * po/tr.po:
25868         * po/uk.po:
25869         * po/vi.po:
25870           translation updates
25871
25872 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25873
25874         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25875           Add comment.
25876           
25877         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25878         (gst_fake_sink_change_state):
25879           Make state change function thread-safe.
25880           
25881         * gst/gstpad.c: (gst_pad_alloc_buffer):
25882           Set offset on generic buffer allocated by fallback.
25883
25884 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25885
25886         * docs/gst/gstreamer-sections.txt:
25887         * docs/gst/tmpl/gstelement.sgml:
25888         * gst/gstpad.c:
25889         * libs/gst/controller/gst-controller.c:
25890         (gst_controlled_property_set_interpolation_mode),
25891         (gst_controlled_property_new),
25892         (gst_controller_find_controlled_property):
25893          run the wingo-magic script against the docs
25894
25895 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25896
25897         * docs/gst/gstreamer-docs.sgml:
25898         * docs/gst/gstreamer-sections.txt:
25899         * docs/gst/tmpl/.cvsignore:
25900         * docs/gst/tmpl/gstelementdetails.sgml:
25901         * docs/gst/tmpl/gstelementfactory.sgml:
25902         * gst/gst.c:
25903         * gst/gstbus.c:
25904         * gst/gstelementfactory.c:
25905         * gst/gstelementfactory.h:
25906           merged elementdetails docs into elementfactory docs
25907           inlined both
25908
25909 2005-09-02  Andy Wingo  <wingo@pobox.com>
25910
25911         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25912         consider this enum an enum and not a flags.
25913
25914 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25915
25916         * docs/gst/gstreamer-docs.sgml:
25917         * docs/gst/tmpl/.cvsignore:
25918         * docs/gst/tmpl/gstghostpad.sgml:
25919         * docs/gst/tmpl/gstiterator.sgml:
25920         * docs/gst/tmpl/gstmacros.sgml:
25921         * docs/gst/tmpl/gstrealpad.sgml:
25922         * docs/gst/tmpl/gstregistry.sgml:
25923         * docs/gst/tmpl/gstregistrypool.sgml:
25924         * docs/gst/tmpl/gststructure.sgml:
25925         * docs/gst/tmpl/gstsystemclock.sgml:
25926         * docs/gst/tmpl/gsttrace.sgml:
25927         * gst/gstghostpad.c:
25928         * gst/gstmacros.h:
25929         * gst/gstmemchunk.c:
25930         * gst/gstmemchunk.h:
25931         * gst/gstqueue.c:
25932         * gst/gstregistry.c:
25933         * gst/gstregistrypool.c:
25934         * gst/gststructure.c:
25935         * gst/gstsystemclock.c:
25936           more docs inlined
25937
25938 2005-09-02  Andy Wingo  <wingo@pobox.com>
25939
25940         * gst/gstelement.h (GstState): Renamed from GstElementState,
25941         changed to be a normal enum instead of flags.
25942         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25943         munged to be GST_STATE_CHANGE_*.
25944         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25945         work with the new state representation.
25946         (GstStateChange): New enumeration of possible state transitions.
25947         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25948         (GstElementClass::change_state): Pass the GstStateChange along as
25949         an argument. Helps language bindings, so they don't have to use
25950         tricky lock-needing macros like GST_STATE_CHANGE ().
25951
25952         * scripts/update-states (file): New script. Run it on a file to
25953         update it for state naming and API changes. Updates files in
25954         place.
25955
25956         * All files updated for the new API.
25957
25958 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25959
25960         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25961         * gst/gstutils.c: (gst_util_set_value_from_string),
25962         (gst_util_set_object_arg):
25963           fix a bunch of unchecked return values
25964         * tools/gst-complete.c: (main):
25965         * gstreamer.spec.in:
25966           clean up a little
25967
25968 2005-09-01  Wim Taymans  <wim@fluendo.com>
25969
25970         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25971         (gst_base_sink_event), (gst_base_sink_do_sync),
25972         (gst_base_sink_handle_event):
25973         * gst/base/gstbasesink.h:
25974         Handle newsegments more correctly.
25975
25976         * gst/gstbus.c:
25977         Fix docs.
25978
25979         * gst/gstevent.c: (gst_event_new_newsegment):
25980         A newsegment cannot have a start_time of -1
25981
25982 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25983
25984         * win32/gstenumtypes.c:
25985         * win32/gstenumtypes.h:
25986           Update
25987
25988 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25989
25990         * libs/gst/controller/gst-controller.c:
25991         (gst_controlled_property_set_interpolation_mode),
25992         (gst_controlled_property_new):
25993          fixed boolean again
25994
25995 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25996
25997         * docs/faq/gst-uninstalled:
25998           add -good
25999         * gst/gstevent.c:
26000         * gst/gstevent.h:
26001           remove wrong docs
26002         * gst/gstutils.c: (gst_element_link_filtered):
26003         * gst/gstutils.h:
26004           add gst_element_link_filtered
26005
26006 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26007
26008         * docs/gst/gstreamer-docs.sgml:
26009         * docs/gst/gstreamer-sections.txt:
26010         * docs/gst/tmpl/.cvsignore:
26011         * docs/gst/tmpl/gsterror.sgml:
26012         * docs/gst/tmpl/gstfilter.sgml:
26013         * docs/gst/tmpl/gsturihandler.sgml:
26014         * docs/gst/tmpl/gsturitype.sgml:
26015         * docs/gst/tmpl/gstutils.sgml:
26016         * docs/gst/tmpl/gstxml.sgml:
26017         * gst/gsterror.c:
26018         * gst/gsterror.h:
26019         * gst/gstfilter.c:
26020         * gst/gsturi.c:
26021         * gst/gsturitype.c:
26022         * gst/gstutils.c:
26023         * gst/gstxml.c:
26024           inlined more docs, fixed double id-ref
26025
26026 2005-08-31  Wim Taymans  <wim@fluendo.com>
26027
26028         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26029         (gst_base_transform_handle_buffer):
26030         Passthrough elements don't need the caps as they don't care.
26031
26032 2005-08-31  Wim Taymans  <wim@fluendo.com>
26033
26034         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26035         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
26036         Don't leak refcounts on buffers.
26037
26038 2005-08-31  Wim Taymans  <wim@fluendo.com>
26039
26040         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
26041         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26042         (gst_base_transform_chain), (gst_base_transform_change_state):
26043         * gst/base/gstbasetransform.h:
26044         Handle the case where we are not negotiated more gracefully.
26045
26046 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
26047
26048         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
26049         (gst_file_src_map_region):
26050           Set READONLY flag on mmap'ed buffers, otherwise
26051           gst_buffer_make_writable() won't work properly (#314708).
26052
26053 2005-08-31  Wim Taymans  <wim@fluendo.com>
26054
26055         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
26056         passthrough elements can even do inplace on non writable
26057         buffers (as they don't touch them).
26058
26059 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26060
26061         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26062         (gst_test_mono_source_set_property),
26063         (gst_test_mono_source_class_init), (GST_START_TEST),
26064         (gst_controller_suite):
26065           more tests (hehe I have the most)
26066         * gst/gstbus.c:
26067           describe popping messages whenusing mulltiple sources
26068         * libs/gst/controller/gst-controller.c:
26069         (gst_controlled_property_set_interpolation_mode),
26070         (gst_controlled_property_new):
26071         * libs/gst/controller/gst-controller.h:
26072         * libs/gst/controller/gst-interpolation.c:
26073           implement boolean properties
26074
26075 2005-08-31  Wim Taymans  <wim@fluendo.com>
26076
26077         * gst/gstminiobject.c: (gst_mini_object_ref):
26078         Cannot assert that the refcount has to be positive
26079         since a disposed object can be resurrected.
26080
26081 2005-08-31  Wim Taymans  <wim@fluendo.com>
26082
26083         * gst/gstpad.c: (gst_pad_init):
26084         Revert change, need to first fix badly behaving 
26085         apps.
26086
26087 2005-08-30  Wim Taymans  <wim@fluendo.com>
26088
26089         * check/elements/fakesrc.c: (setup_fakesrc):
26090         * check/elements/identity.c: (setup_identity):
26091         Activate pads before using them.
26092
26093 2005-08-30  Wim Taymans  <wim@fluendo.com>
26094
26095         * gst/base/gstadapter.c: (gst_adapter_flush):
26096         Flushing out 0 bytes is ok for this function.
26097
26098         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26099         no newsegment gives a warning and sets the start/stop to 
26100         invalid.
26101
26102         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26103         (gst_base_transform_set_passthrough):
26104         Some debug info.
26105
26106         * gst/gstminiobject.c: (gst_mini_object_ref):
26107         Check refcount here too.
26108
26109         * gst/gstpad.c: (gst_pad_init):
26110         Pads are initially flushing and refusing data.
26111
26112         * gst/gstutils.c: (gst_element_link_pads_filtered):
26113         When adding a capsfilter element make sure it has the
26114         same state as the parent bin.
26115
26116 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26117
26118         * docs/gst/tmpl/.cvsignore:
26119         * docs/gst/tmpl/gstformat.sgml:
26120         * docs/gst/tmpl/gstversion.sgml:
26121         * gst/gstbus.h:
26122         * gst/gstformat.c:
26123         * gst/gstformat.h:
26124         * gst/gstversion.h.in:
26125           more docs and two more inlined
26126
26127 2005-08-30  Wim Taymans  <wim@fluendo.com>
26128
26129         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26130         Don't sync to clock.
26131
26132 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26133
26134         * docs/gst/gstreamer-sections.txt:
26135           ultral33t func10ns deserve to appear in the docs actually
26136         * docs/gst/tmpl/.cvsignore:
26137         * docs/gst/tmpl/gstcompat.sgml:
26138         * docs/gst/tmpl/gstconfig.sgml:
26139         * gst/check/gstcheck.c:
26140         * gst/gstcompat.h:
26141         * gst/gstconfig.h.in:
26142           inlined more docs
26143
26144 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26145
26146         * docs/gst/tmpl/.cvsignore:
26147         * docs/gst/tmpl/gstquery.sgml:
26148         * docs/gst/tmpl/gstutils.sgml:
26149         * gst/gstquery.c:
26150         * gst/gstquery.h:
26151           inlined and extended docs
26152
26153 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26154
26155         * check/gst-libs/controller.c: (GST_START_TEST),
26156         (gst_controller_suite):
26157           more tests
26158         * docs/gst/tmpl/gstutils.sgml:
26159         * docs/libs/gstreamer-libs-sections.txt:
26160         * docs/libs/tmpl/gstdataprotocol.sgml:
26161           include path fixes
26162         * examples/controller/audio-example.c: (main):
26163           controller example works now
26164         * gst/gstclock.h:
26165           doc fixes
26166         * tools/gst-inspect.c: (print_element_properties_info):
26167           show param spec flags
26168
26169 2005-08-29  Andy Wingo  <wingo@pobox.com>
26170
26171         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26172
26173 2005-08-28  Andy Wingo  <wingo@pobox.com>
26174
26175         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26176         as having two arguments instead of just one. Allows superclasses
26177         to access information on subclasses -- see the terrible for() loop
26178         in gtype.c:g_type_create_instance for the reason why. All callers
26179         changed.
26180
26181 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26182
26183         * docs/design/part-messages.txt:
26184           update info
26185         * docs/gst/tmpl/.cvsignore:
26186         * docs/gst/tmpl/gstcaps.sgml:
26187         * docs/gst/tmpl/gstclock.sgml:
26188         * gst/gstbus.c:
26189         * gst/gstcaps.c:
26190         * gst/gstcaps.h:
26191         * gst/gstclock.c:
26192         * gst/gstclock.h:
26193         * gst/gstmessage.c:
26194           added descriptions for bus and message
26195           inline caps and clock docs
26196
26197 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26198
26199         * gst/gstmessage.c:
26200         * gst/gstmessage.h:
26201           doc fixes
26202
26203 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26204
26205         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26206           fix div-by-zero
26207
26208 2005-08-26  Andy Wingo  <wingo@pobox.com>
26209
26210         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26211         element_set_state's return val.
26212         (test_2_elements): Add test that's been disabled for months.
26213
26214         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26215         can-activate-pull properties.
26216
26217         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26218         can-activate-pull properties. Implement is_seekable so fakesrc can
26219         operate in pull mode.
26220
26221         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26222         properties.
26223         (gst_base_sink_activate, gst_base_sink_activate_pull)
26224         (gst_base_sink_activate_push): Make activation mode choosing work.
26225         Cleanups.
26226         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26227         is right. Make pull mode work. Post an eos before pausing in pull
26228         mode.
26229         (gst_base_sink_change_state): Pay attention to the core's
26230         change_state() return val.
26231         
26232         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26233         has-getrange properties. Cleanups.
26234         
26235         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26236         has_getrange and replace with can_activate_pull and
26237         can_activate_push.
26238
26239         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26240         locking comments. Remove has_loop, has_chain and replace with
26241         can_activate_pull and can_activate_push.
26242
26243 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26244
26245         * configure.ac:
26246         * examples/Makefile.am:
26247         * examples/metadata/Makefile.am:
26248         * examples/metadata/read-metadata.c: (message_loop),
26249         (have_pad_handler), (make_pipeline), (print_tag), (main):
26250           Add metadata reading example that loops over a list of filenames,
26251           dumping any tags found.
26252
26253         * gst/gstbus.c: (gst_bus_dispose):
26254         * gst/gstelement.c: (gst_element_dispose):
26255           Release a few potentially-held references in dispose.
26256
26257 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26258
26259         * docs/gst/tmpl/gstminiobject.sgml:
26260           do *not* add tmpl/*.sgml files to CVS!
26261
26262 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26263
26264         * libs/gst/bytestream/.cvsignore:
26265         * libs/gst/bytestream/Makefile.am:
26266         * libs/gst/bytestream/adapter.c:
26267         * libs/gst/bytestream/adapter.h:
26268         * libs/gst/bytestream/bytestream.c:
26269         * libs/gst/bytestream/bytestream.h:
26270         * libs/gst/bytestream/filepad.c:
26271         * libs/gst/bytestream/filepad.h:
26272           removing obsolete files
26273
26274 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26275
26276         * docs/gst/gstreamer-docs.sgml:
26277         * docs/libs/gstreamer-libs-docs.sgml:
26278           disabed additional index entries again, as this makes docs-gen just
26279           slow and they aren't useful yet
26280         * docs/libs/gstreamer-libs-sections.txt:
26281           little -section.txt cleanup for libs
26282
26283 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26284
26285         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26286         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26287           fix up some debugging
26288         (gst_base_transform_get_unit_size),
26289         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26290         (gst_base_transform_handle_buffer):
26291         * gst/base/gstbasetransform.h:
26292           handle and store timed NEWSEGMENT events so that subclasses that
26293           calculate time by counting samples have a segment_start time they
26294           need to add to their timestamps - see audioresample
26295
26296 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26297
26298         * gst/gstbin.h:
26299           removed ';' from the end of macro defs
26300         * docs/gst/gstreamer-docs.sgml:
26301         * docs/gst/gstreamer-sections.txt:
26302         * docs/gst/tmpl/.cvsignore:
26303         * gst/gstbus.h:
26304         * gst/gstelement.c: (gst_element_class_init),
26305         (gst_element_set_state), (activate_pads),
26306         (gst_element_save_thyself):
26307         * gst/gstevent.c: (gst_event_new_newsegment):
26308         * gst/gstevent.h:
26309         * gst/gstiterator.c:
26310         * gst/gstiterator.h:
26311         * gst/gstpad.c:
26312         * gst/gstprobe.h:
26313         * gst/gstutils.c: (gst_pad_query_convert):
26314         * gst/gstutils.h:
26315           fixed parameter name mismatches between source, header and docs
26316           added some more docs, resolved the last batch of unused elements in
26317           docs (now someone needs to doc them)
26318
26319 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26320
26321         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26322         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26323           don't walk through the plugins backwards.  Where is all this
26324           reversed logic coming from ?
26325
26326 2005-08-25  Wim Taymans  <wim@fluendo.com>
26327
26328         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26329         (gst_base_transform_transform_size),
26330         (gst_base_transform_configure_caps),
26331         (gst_base_transform_get_unit_size),
26332         (gst_base_transform_buffer_alloc),
26333         (gst_base_transform_change_state):
26334         * gst/base/gstbasetransform.h:
26335         Cache caps unit_size.
26336         Make sure we cannot negotiate up and downstream at the
26337         same time.
26338
26339 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26340
26341         * gst/gst.c: (init_pre), (init_post):
26342           register the installed plugin path after the env var
26343         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26344         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26345           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26346           directories, so the tests can prefer uninstalled over installed
26347
26348 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26349
26350         * gst/base/gstbasetransform.h:
26351           comment
26352         * gst/gstpad.c:
26353           add to docs
26354
26355 2005-08-25  Wim Taymans  <wim@fluendo.com>
26356
26357         * gst/gstbin.c: (bin_bus_handler):
26358         Be a bit more conservative about the posted message.
26359         
26360         * gst/gstbus.c: (gst_bus_post):
26361         Some cleanups, warn wrong return values.
26362
26363 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26364
26365         * check/gst/gstbin.c: (GST_START_TEST):
26366         * gst/gstbin.c: (bin_bus_handler):
26367         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26368         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26369         (gst_message_new_warning), (gst_message_new_tag),
26370         (gst_message_new_state_changed), (gst_message_new_segment_start),
26371         (gst_message_new_segment_done), (gst_message_new_custom):
26372         * gst/gstmessage.h:
26373         * tools/gst-launch.c: (event_loop):
26374         * tools/gst-md5sum.c: (event_loop):
26375           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26376
26377 2005-08-25  Wim Taymans  <wim@fluendo.com>
26378
26379         * check/generic/states.c: (GST_START_TEST):
26380         Cleanup can be done at the end.
26381
26382         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26383         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26384         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26385         Oh boy.. Thanks for finding this, Thomas. 
26386
26387 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26388
26389         * docs/gst/gstreamer.types:
26390           added missing types
26391
26392 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26393
26394         * docs/gst/gstreamer-docs.sgml:
26395         * docs/gst/gstreamer-sections.txt:
26396         * docs/gst/tmpl/.cvsignore:
26397         * gst/gstbin.c:
26398         * gst/gstiterator.c:
26399         * gst/gstutils.c:
26400         * gst/registries/gstxmlregistry.h:
26401           added missing classes and symbols (123 more to go)
26402           removed removed symbols from section file
26403           fixed many doc-comments
26404
26405 2005-08-24  Wim Taymans  <wim@fluendo.com>
26406
26407         * check/generic/states.c: (GST_START_TEST):
26408         Make sure all tasks are stopped.
26409
26410         * check/gst/gstbin.c: (GST_START_TEST):
26411         Unref after usage for proper valgrinding.
26412
26413         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26414         Really wait for the task to stop before destroying the
26415         mutex.
26416
26417         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26418         (gst_queue_src_activate_push):
26419         Small cleanups. Don't stop the task when we did not start
26420         it.
26421
26422         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26423         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26424         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26425         (gst_task_join):
26426         * gst/gsttask.h:
26427         Protect the stream lock with the object lock.
26428         Disallow setting the stream lock when running.
26429         Add cleanup_all to wait for the threadpool to finish.
26430         Remove code to autoallocate a mutex if none was provided.
26431         Add _join() to wait for a task to stop.
26432         Protect the thread pool with a global lock.
26433
26434 2005-08-24  Wim Taymans  <wim@fluendo.com>
26435
26436         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26437         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26438         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26439         * gst/base/gstbasesink.h:
26440         Handle newsegment events correctly.
26441         Drop buffers out of the segment range.
26442
26443 2005-08-22  Andy Wingo  <wingo@pobox.com>
26444
26445         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26446         macro, implements an interface and gstimplementsinterface for a
26447         new type.
26448
26449 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26450
26451         * check/Makefile.am:
26452         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26453           add a test that does a bunch of state changes on elements
26454           needs some fixing for valgrind
26455         * check/states/sinks.c: (gst_object_suite):
26456           whitespace
26457         * gst/gstcaps.h:
26458           add prototype for gst_caps_is_equal_fixed
26459         * gst/gstplugin.c:
26460         * gst/gstregistrypool.c:
26461           doc fixes
26462
26463 2005-08-24  Andy Wingo  <wingo@pobox.com>
26464
26465         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26466         convert a negative value. Doesn't make much sense. Mostly this is
26467         here to force callers to ensure -1 maps to -1.
26468
26469 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26470
26471         * docs/pwg/advanced-types.xml:
26472           Well done to Michael for catching my deliberate introduction
26473           of this spelling mistake. 
26474         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26475         * gst/gstelement.h:
26476           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26477           unlink pads before removing the element from the bin.
26478
26479 2005-08-24  Andy Wingo  <wingo@pobox.com>
26480
26481         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26482         the same thing as GST_DEBUG=*:4.
26483         (parse_debug_level, parse_debug_category): New helper parsers.
26484
26485 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26486
26487         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26488         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26489         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26490         (gst_base_transform_buffer_alloc),
26491         (gst_base_transform_handle_buffer):
26492           use gboolean return values and pointers to size so we can use the
26493           full GST_BUFFER_SIZE range (guint) for buffer sizes
26494           use GstPadDirection for transform_caps
26495         * gst/base/gstbasetransform.h:
26496           rename get_size to get_unit_size since that's what it is
26497         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26498           use GstPadDirection for transform_caps
26499         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26500         * gst/gstutils.h:
26501           cleanup and debugging
26502
26503 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26504
26505         * gst/gstelement.c: (gst_element_class_init),
26506         (gst_element_set_state), (activate_pads),
26507         (gst_element_save_thyself):
26508         * tools/gst-compprep.c: (main):
26509         * tools/gst-inspect.c: (print_element_properties_info):
26510         * tools/gst-xmlinspect.c: (print_element_properties):
26511           Fixed long standing mem-leak
26512
26513 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26514
26515         * check/gst/gstbin.c: (GST_START_TEST):
26516         * gst/gstbin.c: (bin_bus_handler):
26517         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26518         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26519         (gst_message_new_warning), (gst_message_new_tag),
26520         (gst_message_new_state_changed), (gst_message_new_segment_start),
26521         (gst_message_new_segment_done), (gst_message_new_custom):
26522         * gst/gstmessage.h:
26523         * tools/gst-launch.c: (event_loop):
26524         * tools/gst-md5sum.c: (event_loop):
26525           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26526           that applications can sensibly post custom messages with references
26527           to their own objects.
26528
26529 2005-08-24  Andy Wingo  <wingo@pobox.com>
26530
26531         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26532         already.
26533
26534 2005-08-24  Wim Taymans  <wim@fluendo.com>
26535
26536         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26537         (gst_base_transform_transform_caps),
26538         (gst_base_transform_transform_size),
26539         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26540         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26541         (gst_base_transform_handle_buffer):
26542         * gst/base/gstbasetransform.h:
26543         Many fixes and new features added by Thomas. Can now also do
26544         transforms with variable sizes and a custom fixate_caps function.
26545
26546 2005-08-24  Wim Taymans  <wim@fluendo.com>
26547
26548         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26549         Some debugging.
26550
26551         * gst/gstclock.h:
26552         Cast to ClockTime before formatting to time.
26553
26554         * gst/gstutils.h:
26555         Cleanups.
26556
26557 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26558
26559         * check/gst-libs/controller.c: (GST_START_TEST),
26560         (gst_controller_suite):
26561         * docs/gst/tmpl/gstcaps.sgml:
26562         * docs/gst/tmpl/gstghostpad.sgml:
26563         * docs/gst/tmpl/gstquery.sgml:
26564         * docs/gst/tmpl/gstutils.sgml:
26565         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26566         (gst_object_sink_values), (gst_object_get_value_arrays),
26567         (gst_object_get_value_array):
26568           gracefully handle helper method calls to objects that are not beeing
26569           controlled, added test case for that          
26570
26571 2005-08-23  Wim Taymans  <wim@fluendo.com>
26572
26573         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26574         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26575         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26576         (gst_event_parse_qos), (gst_event_new_seek),
26577         (gst_event_parse_seek):
26578         * gst/gstevent.h:
26579         Some more debugging output and doc cleanups.
26580
26581         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26582         Fix possible deadlock.
26583
26584 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26585
26586         * docs/gst/gstreamer-docs.sgml:
26587         * docs/gst/gstreamer-sections.txt:
26588         * docs/gst/gstreamer.types:
26589         * docs/gst/tmpl/.cvsignore:
26590         * gst/gstbin.h:
26591         * gst/gstbus.c:
26592         * gst/gstelement.c:
26593         * gst/gstevent.h:
26594           added 100 symbols from gstreamer-unused.txt to the right sections
26595           fixed more broken comments
26596           added GstBus to docs
26597
26598 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26599
26600         * docs/gst/gstreamer-sections.txt:
26601         * docs/gst/tmpl/.cvsignore:
26602         * docs/gst/tmpl/gstbin.sgml:
26603         * docs/gst/tmpl/gstbuffer.sgml:
26604         * gst/base/gstbasesrc.c:
26605         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26606         * gst/gstbuffer.c:
26607         * gst/gstbuffer.h:
26608         * tools/gst-launch.1.in:
26609           inlined more doc comments, added missing comments and fixed comments
26610           fixed typos
26611
26612 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26613
26614         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26615           some debugging
26616         * gst/gstcaps.h:
26617           whitespace fixes
26618         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26619           more debugging
26620         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26621         * gst/gststructure.h:
26622           add a fixate function for booleans; add a FIXME that these func
26623           names should probably be gst_structure_fixate_*
26624
26625 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26626
26627         * docs/gst/gstreamer-docs.sgml:
26628         * docs/gst/gstreamer-sections.txt:
26629         * gst/Makefile.am:
26630         * gst/gstbin.c: (gst_bin_get_type),
26631         (gst_bin_child_proxy_get_child_by_index),
26632         (gst_bin_child_proxy_get_children_count),
26633         (gst_bin_child_proxy_init):
26634         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26635         (gst_child_proxy_get_child_by_index),
26636         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26637         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26638         (gst_child_proxy_get), (gst_child_proxy_set_property),
26639         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26640         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26641         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26642         * gst/gstchildproxy.h:
26643         * gst/parse/grammar.y:
26644         * tools/gst-inspect.c: (print_interfaces),
26645         (print_element_properties_info), (print_element_info):
26646           ported gstchildproxy over from 0.8
26647           ported gst-inspect fixes and enhancements over from 0.8
26648
26649 2005-08-22  Wim Taymans  <wim@fluendo.com>
26650
26651         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26652         (gst_base_transform_handle_buffer):
26653         Also call the transform function if we have ANY caps.
26654
26655         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26656         Fix debug info.
26657
26658 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26659
26660         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26661           Don't pretend to handle seek events if the source is not seekable
26662
26663 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26664
26665         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26666           Remove extra parameter to debug output
26667
26668         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26669         (gst_base_src_do_seek), (gst_base_src_activate_push):
26670           Fix seek event handling.
26671
26672         * gst/gstpipeline.c: (gst_pipeline_change_state):
26673         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26674         (gst_queue_src_activate_push):
26675           Don't start the src pad task on FLUSH_STOP if the pad
26676           isn't linked.
26677           Debug changes.
26678
26679 2005-08-22  Wim Taymans  <wim@fluendo.com>
26680
26681         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26682         Added check for gst_static_caps_get() refcounting.
26683
26684 2005-08-22  Wim Taymans  <wim@fluendo.com>
26685
26686         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26687         Make _static_caps_get() refcounting sane.
26688         
26689         * gst/gstelement.c: (gst_element_set_state):
26690         Add g_return_val_if_fail() to protect against segfaults.
26691
26692 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26693
26694         * docs/gst/tmpl/gstevent.sgml:
26695         * gst/gstevent.c:
26696         * gst/gstevent.h:
26697           inlined remaining docs, added missing doc comments
26698
26699 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26700
26701         * check/gst/gstbin.c: (GST_START_TEST):
26702           since we don't know when preroll is done, use refcount range
26703           check for the sink
26704         * gst/check/gstcheck.h:
26705           add macro for checking refcount range
26706
26707 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26708
26709         * check/Makefile.am:
26710           clean up environment for when registry gets built versus
26711           when actual tests are run; valgrind seems to not report
26712           leaks if GST_PLUGIN_PATH is set to some specific values
26713         * check/gst/gstbin.c: (GST_START_TEST):
26714           add more refcounting checks; maybe this exposes a
26715           preroll lock bug ?
26716         * common/check.mak:
26717         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26718         * gst/check/gstcheck.h:
26719         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26720         (gst_bin_change_state):
26721         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26722           add/fix debugging/whitespace
26723
26724 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26725
26726         * check/gst/gstevent.c: (event_probe), (test_event),
26727         (GST_START_TEST):
26728          Er, don't call gst_bin_watch_for_state_change you idiot.
26729
26730 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26731
26732         * check/Makefile.am:
26733           Use CHECK_CFLAGS and CHECK_LIBS
26734         * check/gst/gstevent.c: (event_probe), (test_event),
26735         (GST_START_TEST):
26736           Don't leak events.
26737         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26738         (gst_base_src_start), (gst_base_src_stop),
26739         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26740         (gst_base_src_change_state):
26741           Sprinkle gst_base_src_stop liberally around error paths to fix
26742           problems reusing a source after failed state changes.
26743         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26744         (helper_find_suggest), (gst_type_find_helper):
26745           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26746         * gst/gstevent.h:
26747         * docs/gst/tmpl/gstevent.sgml:
26748           Migrate part of the docs from the SGML file. Wait for ensonic to
26749           tell me how I did it wrong ;)
26750         * tools/gst-typefind.c: (main):
26751           Extra robustness to state changes between files.
26752
26753 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26754
26755         * check/Makefile.am:
26756           don't valgrind the controller test - it's leaking - Stefan, HELP
26757         * gst/check/gstcheck.c: (gst_check_message_error),
26758         (gst_check_chain_func), (gst_check_setup_element),
26759         (gst_check_teardown_element), (gst_check_setup_src_pad),
26760         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26761         (gst_check_teardown_sink_pad):
26762         * gst/check/gstcheck.h:
26763           add a bunch of methods to set up elements, and src and sink pads
26764         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26765         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26766         (GST_START_TEST):
26767           use them
26768         * gst/gstmessage.c:
26769         * gst/gsttag.h:
26770           whitespace/doc fixes
26771
26772 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26773
26774         * gst/gstelement.h:
26775           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26776           be handled by the application and not always printed as well
26777
26778 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26779
26780         * check/Makefile.am:
26781           set GST_TOOLS_DIR
26782         * gst/check/gstcheck.c: (gst_check_message_error):
26783         * gst/check/gstcheck.h:
26784           add a fail_unless_equals_int
26785           add fail_unless for error messages
26786
26787 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26788
26789         * check/Makefile.am:
26790         * check/gst.supp:
26791         * common/Makefile.am:
26792         * common/check.mak:
26793         * common/gst.supp:
26794           factor out some of the common stuff so we can use it
26795
26796 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26797
26798         * check/Makefile.am:
26799         * check/gst/gstiterator.c: (GST_START_TEST):
26800         * check/gst/gstsystemclock.c: (GST_START_TEST),
26801         (gst_systemclock_suite):
26802         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26803         * gst/gstclock.c:
26804           valgrind more tests
26805
26806 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26807
26808         * check/elements/.cvsignore:
26809         * check/elements/gstfakesrc.c:
26810           rename to name of element
26811         * check/elements/identity.c: (chain_func), (event_func),
26812         (setup_identity), (cleanup_identity), (GST_START_TEST),
26813         (identity_suite), (main):
26814           add a test for identity
26815         * check/Makefile.am:
26816         * pkgconfig/Makefile.am:
26817         * pkgconfig/gstreamer-check.pc.in:
26818         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26819         * gst/check:
26820         * gst/Makefile.am:
26821         * configure.ac:
26822           move the check stuff to a library that gets installed
26823         * check/gst-libs/controller.c: (GST_START_TEST):
26824         * check/gst-libs/gdp.c:
26825         * check/gst/gst.c: (GST_START_TEST):
26826         * check/gst/gstbin.c:
26827         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26828         * check/gst/gstbus.c:
26829         * check/gst/gstcaps.c: (GST_START_TEST):
26830         * check/gst/gstelement.c:
26831         * check/gst/gstghostpad.c:
26832         * check/gst/gstiterator.c:
26833         * check/gst/gstmessage.c:
26834         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26835         * check/gst/gstobject.c:
26836         * check/gst/gstpad.c: (GST_START_TEST):
26837         * check/gst/gststructure.c: (GST_START_TEST):
26838         * check/gst/gstsystemclock.c: (GST_START_TEST),
26839         (gst_systemclock_suite):
26840         * check/gst/gsttag.c: (gst_tag_suite):
26841         * check/gst/gstvalue.c:
26842         * check/pipelines/cleanup.c:
26843         * check/pipelines/simple_launch_lines.c:
26844         * check/states/sinks.c:
26845           change include statement
26846
26847         * docs/gst/gstreamer-sections.txt:
26848         * docs/gst/tmpl/gstpad.sgml:
26849           document more pad stuff
26850         * gst/gstminiobject.c: (gst_mini_object_ref),
26851         (gst_mini_object_unref):
26852           debug refcounting
26853
26854 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26855
26856         * docs/gst/tmpl/gst.sgml:
26857         * gst/gst.c:
26858           eliminate another tmpl file, fix spelling in the long-description
26859
26860 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26861
26862         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26863         (test_event), (timediff), (gstevents_suite):
26864           Should fix build on 64-bit arch's
26865
26866 2005-08-18  Andy Wingo  <wingo@pobox.com>
26867
26868         Make sure that when a pipeline goes to PLAYING, that data has
26869         actually hit the sink.
26870
26871         * check/states/sinks.c (test_sink): A sink that doesn't get any
26872         data shouldn't return SUCCESS for going to either PLAYING or
26873         PAUSED. Test also the return values on the way back down.
26874
26875         * gst/gstelement.c (gst_element_set_state): When changing the
26876         state of an element currently changing state asynchronously, go to
26877         lost-state after commiting the pending state. Makes future calls
26878         to get_state continue to return ASYNC.
26879
26880         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26881         ASYNC when going to PLAYING if we still don't have preroll, as can
26882         happen with live sources.
26883
26884 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26885
26886         * docs/pwg/advanced-types.xml:
26887           Hack long paragraph into 2 chunks as a workaround for buggy
26888           jadetex version in sid and breezy that loops infinitely and
26889           eats all RAM.
26890
26891 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26892
26893         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26894         (test_event), (timediff), (gstevents_suite):
26895           Provide more error margin in clock measurements to allow for 
26896           g_get_current_time inaccuracies.
26897
26898 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26899
26900         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26901         (test_event), (timediff), (gstevents_suite):
26902            Fix error message output so I might be able to tell why the
26903            test works here but fails on the build farm.
26904
26905 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26906
26907         * check/Makefile.am:
26908         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26909         (test_event), (timediff), (gstevents_suite), (main):
26910           I wrote a test!
26911
26912         * docs/design/part-seeking.txt:
26913           Spelling correction
26914
26915         * docs/gst/tmpl/gstevent.sgml:
26916         * docs/gst/tmpl/gstfakesrc.sgml:
26917           Docs updates.
26918
26919         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26920           Treat a buffer-without-newsegment the same as a receiving 
26921           a newsegment not in time format, and disable syncing to the clock
26922           with a warning.
26923
26924         * gst/gstbus.c: (gst_bus_set_sync_handler):
26925           Assert if anyone tries to replace the existing sync_handler for bus, 
26926           as only the owner should be setting it.
26927
26928         * gst/gstevent.h:
26929           Have a fixed set of custom event enums with events identified by
26930           their structure name (as in 0.8), rather than a free-for-all
26931           allowing collisions between enum values from different plugins.
26932
26933         * gst/gstpad.c: (gst_pad_class_init):
26934           Docs change.
26935           
26936         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26937           Handle out-of-band downstream events from the sending thread.
26938
26939 2005-08-17  Andy Wingo  <wingo@pobox.com>
26940
26941         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26942         play-timeout==0 to mean no timeout at all. In that case, don't
26943         bother with a get_state or a warning, just return directly, even
26944         if it's ASYNC.
26945
26946         * gst/base/gstbasetransform.c: Debug changes.
26947
26948         * gst/gstutils.h:
26949         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26950         ensure bins post state change messages. A bit of a hack but I can't
26951         think of a way to avoid it.
26952
26953         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26954
26955 2005-08-16  Andy Wingo  <wingo@pobox.com>
26956
26957         * gst/base/gstadapter.h:
26958         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26959         peek() but you own the data. Not terribly efficient atm.
26960
26961 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26962
26963         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26964         (gst_element_found_tags):
26965         * gst/gstutils.h:
26966           Add two utility functions for tag handling.
26967
26968 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26969
26970         * docs/manual/advanced-dataaccess.xml:
26971         * docs/manual/basics-helloworld.xml:
26972           Fix docs to use _bin_add() before _link(), which fixes the examples
26973           with recent core versions (reported by Madhan Raj M
26974           <raj_madan@rediffmail.com>, #313199).
26975
26976 2005-08-16  Wim Taymans  <wim@fluendo.com>
26977
26978         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26979         Added subtract checks.
26980
26981         * docs/design/part-events.txt:
26982         Some more docs about newsegment
26983
26984         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26985         Fix FIXME
26986
26987         * gst/gstcaps.c: (gst_caps_to_string):
26988         Add comments, cleanups.
26989         
26990         * gst/gstelement.c: (gst_element_save_thyself):
26991         cleanups
26992         
26993         * gst/gstvalue.c: (gst_value_collect_int_range),
26994         (gst_string_unwrap), (gst_value_union_int_int_range),
26995         (gst_value_union_int_range_int_range),
26996         (gst_value_intersect_int_int_range),
26997         (gst_value_intersect_int_range_int_range),
26998         (gst_value_intersect_double_double_range),
26999         (gst_value_intersect_double_range_double_range),
27000         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
27001         (gst_value_subtract_int_range_int),
27002         (gst_value_subtract_double_range_double),
27003         (gst_value_subtract_double_range_double_range),
27004         (gst_value_subtract_from_list), (gst_value_subtract_list),
27005         (gst_value_can_compare), (gst_value_compare_fraction):
27006         Cleanups, add comments, remove unneeded asserts.
27007
27008 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27009
27010         * tools/gst-launch.c: (event_loop):
27011           don't convert NULL structures to strings
27012
27013 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
27014
27015         * docs/gst/gstreamer-sections.txt:
27016           made some defines private
27017         * docs/gst/tmpl/gstconfig.sgml:
27018         * docs/gst/tmpl/gstqueue.sgml:
27019         * docs/gst/tmpl/gsttaglist.sgml:
27020         * docs/gst/tmpl/gsttypes.sgml:
27021         * docs/gst/tmpl/gstutils.sgml:
27022         * docs/pwg/appendix-porting.xml:
27023         * gst/base/gstbasesink.h:
27024         * gst/base/gstbasesrc.c:
27025         * gst/base/gstbasesrc.h:
27026         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
27027         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
27028         * gst/gstelement.c: (gst_element_class_init):
27029         * gst/gstpad.c: (gst_pad_class_init):
27030         * gst/gstqueue.c: (gst_queue_class_init):
27031         * gst/gstxml.c: (gst_xml_class_init):
27032           documented all undocumented signal inline
27033         * libs/gst/controller/gst-controller.h:
27034           added padding
27035
27036 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27037
27038         * docs/pwg/appendix-porting.xml:
27039           Document _set_link_function -> _set_setcaps_function.
27040
27041 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27042
27043         * check/Makefile.am:
27044           add a .check target for running the check
27045         * check/gst-libs/controller.c: (GST_START_TEST):
27046           cosmetic fixups
27047         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27048           complete checks for gstbuffer; would be nice if I could get the
27049           gcov stuff to work so I can see if I actually completed gstbuffer.c
27050         * check/gstcheck.h:
27051           add ASSERT_BUFFER_REFCOUNT
27052
27053 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
27054
27055         * docs/gst/gstreamer-sections.txt:
27056         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
27057         * gst/gsttag.h:
27058           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
27059           spew out a warning if a tag that is already registered
27060           is re-registered, unless it is re-registered with a 
27061           different type (#308438).
27062
27063 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
27064
27065         * docs/pwg/appendix-porting.xml:
27066         * docs/pwg/building-state.xml:
27067           Add some paragraphs about state changes in 0.9 to the PWG
27068           and the porting guide, in particular about the new meaning
27069           of GST_STATE_PAUSED and how to write state change functions
27070           with concurrent access by multiple threads in mind.
27071
27072 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
27073
27074         * docs/gst/gstreamer-docs.sgml:
27075         * docs/libs/gstreamer-libs-docs.sgml:
27076           added deprecation and since indexes
27077         * libs/gst/controller/gst-controller.c:
27078         * libs/gst/controller/gst-helper.c:
27079           added since tags
27080
27081
27082 2005-08-11  Wim Taymans  <wim@fluendo.com>
27083
27084         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27085         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27086         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27087         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27088         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27089         (gst_ghost_pad_set_target):
27090         Actually implement (re)setting the target on a ghostpad
27091         as described in the docs.
27092
27093 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27094
27095         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27096           Check whether GST_DEBUG_NO_COLOR environment variable is
27097           set and disable coloured debug output if that is the case.
27098
27099 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27100
27101         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27102         (gst_type_find_helper):
27103           The memory returned by gst_type_find_peek() needs to
27104           stay valid until the end of a typefind function, and
27105           typefind functions may keep results from different 
27106           offsets around, so we can't just unref the buffer from
27107           the previous _peek(), but have to save all buffers 
27108           returned by _peek() until typefinding is done and only
27109           free them then.
27110
27111 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27112
27113         * docs/gst/gstreamer-sections.txt:
27114         * gst/gstutils.h:
27115           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27116
27117 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27118
27119         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27120           Fix a pretty good memleak.
27121
27122 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27123
27124         * gst/gstiterator.h:
27125           Fix wrong include and 'make distcheck'.
27126
27127 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27128
27129         * gst/gstbin.c: (bin_bus_handler):
27130           Use gst_element_post_message() instead.
27131
27132 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27133
27134         * gst/base/gstadapter.h:
27135         * gst/base/gstbasesink.h:
27136         * gst/base/gstbasesrc.h:
27137         * gst/base/gstbasetransform.h:
27138         * gst/base/gstcollectpads.h:
27139         * gst/base/gstpushsrc.h:
27140         * gst/gstiterator.h:
27141           Add padding to our base elements' class and instance structs and
27142           to GstIterator (you will need to rebuild all plugins and apps!)
27143
27144 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27145
27146         * gst/gstbin.c: (bin_bus_handler):
27147           Make default message forwarding from child->bus to bin->bus
27148           threadsafe and make it not emit warnings if the parent has no bus.
27149
27150 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27151
27152         * gst/gstelement.c: (activate_pads):
27153           On paused->ready, set pad->caps to NULL, as is the documented
27154           behaviour in this state change. Fixes playback of series of
27155           media files when visualization is enabled in Totem.
27156
27157 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27158
27159         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27160           Allow NULL as filter-caps (which means "any").
27161
27162 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27163
27164         * docs/libs/gstreamer-libs-sections.txt:
27165         * libs/gst/controller/gst-controller.c:
27166         * libs/gst/controller/gst-controller.h:
27167         * libs/gst/controller/gst-helper.c:
27168           adding more entries to the docs and fix small doc-bugs
27169
27170 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27171
27172         * docs/gst/gstreamer-docs.sgml:
27173         * docs/gst/gstreamer-sections.txt:
27174         * docs/gst/gstreamer.types:
27175         * docs/gst/tmpl/gstbasesink.sgml:
27176         * docs/gst/tmpl/gstbasesrc.sgml:
27177         * docs/gst/tmpl/gstbasetransform.sgml:
27178         * docs/gst/tmpl/gstfakesrc.sgml:
27179         * gst/base/gstcollectpads.c:
27180         * gst/base/gstcollectpads.h:
27181         * libs/gst/controller/gst-controller.c:
27182         * libs/gst/controller/gst-controller.h:
27183         * libs/gst/controller/gst-helper.c:
27184         * libs/gst/controller/gst-interpolation.c:
27185         * libs/gst/controller/lib.c:
27186           added long/short desc for controller docs
27187           added collectpads base class docs
27188           added correct includes to base-class docs
27189
27190 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27191
27192         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27193         (gst_test_mono_source_set_property),
27194         (gst_test_mono_source_class_init), (GST_START_TEST),
27195         (gst_controller_suite):
27196         * docs/gst/gstreamer-docs.sgml:
27197         * docs/gst/gstreamer-sections.txt:
27198         * docs/gst/gstreamer.types:
27199         * docs/libs/gstreamer-libs-docs.sgml:
27200         * docs/libs/gstreamer-libs-sections.txt:
27201         * gst/base/gstadapter.c:
27202         * libs/gst/controller/gst-controller.c:
27203         (gst_controlled_property_new), (gst_controlled_property_free),
27204         (gst_controller_new_valist),
27205         (gst_controller_remove_properties_valist),
27206         (gst_controller_sink_values), (_gst_controller_finalize):
27207         * libs/gst/controller/gst-controller.h:
27208         * libs/gst/controller/gst-helper.c:
27209         (gst_object_control_properties), (gst_object_uncontrol_properties),
27210         (gst_object_get_controller), (gst_object_set_controller),
27211         (gst_object_sink_values), (gst_object_get_value_arrays),
27212         (gst_object_get_value_array):
27213           more tests (and fixes) for the controller
27214           more docs for the controller
27215           integrated companies docs for the adapter 
27216
27217 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27218
27219         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27220         (GST_START_TEST), (fakesrc_suite):
27221           add tests for sizetype
27222
27223 2005-08-04  Andy Wingo  <wingo@pobox.com>
27224
27225         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27226         fixes buffer_alloc proxying among other things.
27227
27228         * gst/base/gstbasetransform.c:
27229         * gst/base/gstbasetransform.h:
27230         Revert patch to gstbasetransform from 7-28 removing
27231         delay_configure.
27232
27233         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27234         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27235         Semantics changed, should return not the size of the output buffer
27236         but the byte size of a buffer with a given caps.
27237
27238         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27239         debug object.
27240         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27241         out) are not the pad caps until setcaps finishes.
27242         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27243         not-in-place case as well. Deal with changing from in-place to
27244         not-in-place within calling pad_alloc_buffer. Still a bit
27245         concerned about the overhead here...
27246
27247 2005-08-03  Andy Wingo  <wingo@pobox.com>
27248
27249         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27250         fixating is an error.
27251
27252 2005-08-04  Edward Hervey  <edward@fluendo.com>
27253
27254         * gst/base/gstadapter.h: 
27255         Added gst_adapter_get_type() to the header
27256
27257 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27258
27259         * check/Makefile.am:
27260         * check/gst-libs/controller.c:
27261         * libs/gst/controller/gst-controller.c:
27262         (gst_controller_new_valist):
27263           added check test suite for the controller
27264         * gst/base/gstpushsrc.c:
27265           fixed a doc typo
27266
27267 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27268
27269         * docs/gst/Makefile.am:
27270         * docs/gst/gstreamer-docs.sgml:
27271         * docs/gst/gstreamer-sections.txt:
27272         * docs/gst/gstreamer.types:
27273         * docs/gst/tmpl/gstfakesrc.sgml:
27274         * gst/base/README:
27275         * gst/base/gstbasesink.c:
27276         * gst/base/gstbasesink.h:
27277         * gst/base/gstbasesrc.c:
27278         * gst/base/gstbasesrc.h:
27279         * gst/base/gstbasetransform.c:
27280         * gst/base/gstpushsrc.c:
27281         * gst/base/gstpushsrc.h:
27282           add short/long description docs to base classes
27283           add pushsrc to the docs
27284           remove consolidated doc fragments
27285
27286 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27287
27288         * configure.ac:
27289         * docs/libs/Makefile.am:
27290         * docs/libs/gstreamer-libs-docs.sgml:
27291         * docs/libs/gstreamer-libs-sections.txt:
27292         * docs/libs/gstreamer-libs.types:
27293         * examples/Makefile.am:
27294         * examples/controller/.cvsignore:
27295         * examples/controller/Makefile.am:
27296         * examples/controller/audio-example.c: (main):
27297         * libs/gst/Makefile.am:
27298         * libs/gst/controller/.cvsignore:
27299         * libs/gst/controller/Makefile.am:
27300         * libs/gst/controller/gst-controller.c:
27301         (on_object_controlled_property_changed), (gst_timed_value_compare),
27302         (gst_timed_value_find),
27303         (gst_controlled_property_set_interpolation_mode),
27304         (gst_controlled_property_new), (gst_controlled_property_free),
27305         (gst_controller_find_controlled_property),
27306         (gst_controller_new_valist), (gst_controller_new),
27307         (gst_controller_remove_properties_valist),
27308         (gst_controller_remove_properties), (gst_controller_set),
27309         (gst_controller_set_from_list), (gst_controller_unset),
27310         (gst_controller_get), (gst_controller_get_all),
27311         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27312         (gst_controller_get_value_array),
27313         (gst_controller_set_interpolation_mode),
27314         (_gst_controller_finalize), (_gst_controller_init),
27315         (_gst_controller_class_init), (gst_controller_get_type):
27316         * libs/gst/controller/gst-controller.h:
27317         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27318         (g_object_uncontrol_properties), (g_object_get_controller),
27319         (g_object_set_controller), (g_object_sink_values),
27320         (g_object_get_value_arrays), (g_object_get_value_array):
27321         * libs/gst/controller/gst-interpolation.c:
27322         (gst_controlled_property_find_timed_value_node),
27323         (interpolate_none_get), (interpolate_trigger_get),
27324         (interpolate_trigger_get_value_array):
27325         * libs/gst/controller/lib.c: (gst_controller_init):
27326         * pkgconfig/Makefile.am:
27327         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27328         * pkgconfig/gstreamer-control.pc.in:
27329         * testsuite/Makefile.am:
27330         * testsuite/controller/.cvsignore:
27331         * testsuite/controller/Makefile.am:
27332         * testsuite/controller/interpolator.c: (main):
27333           added controller code
27334           removed dparam pc files
27335
27336 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27337         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27338         (gst_collectpads_stop):
27339           Broadcast the condition when shutting down, to make sure we wake all
27340           threads up. Shut down pads on finalize, for safety.
27341
27342 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27343         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27344         (gst_base_transform_handle_buffer),
27345         (gst_base_transform_change_state):
27346           Handle PAUSED->READY->PAUSED transition after negotiation
27347           occurred already.
27348         * gst/gstmessage.c: (gst_message_init):
27349           Extra piece of debug for new messages.
27350
27351 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27352
27353         * configure.ac:
27354         * docs/gst/tmpl/gstbasesrc.sgml:
27355         * docs/gst/tmpl/gstelement.sgml:
27356         * docs/gst/tmpl/gstevent.sgml:
27357         * docs/gst/tmpl/gstfakesrc.sgml:
27358         * docs/gst/tmpl/gstformat.sgml:
27359         * docs/gst/tmpl/gstghostpad.sgml:
27360         * docs/gst/tmpl/gstpad.sgml:
27361         * docs/gst/tmpl/gstquery.sgml:
27362         * docs/gst/tmpl/gststructure.sgml:
27363         * docs/gst/tmpl/gsttaglist.sgml:
27364         * docs/gst/tmpl/gstvalue.sgml:
27365         * docs/libs/gstreamer-libs-docs.sgml:
27366         * docs/libs/gstreamer-libs-sections.txt:
27367         * docs/libs/gstreamer-libs.types:
27368         * libs/gst/Makefile.am:
27369         * libs/gst/control/.cvsignore:
27370         * libs/gst/control/Makefile.am:
27371         * libs/gst/control/control.c:
27372         * libs/gst/control/control.h:
27373         * libs/gst/control/dparam.c:
27374         * libs/gst/control/dparam.h:
27375         * libs/gst/control/dparam_smooth.c:
27376         * libs/gst/control/dparam_smooth.h:
27377         * libs/gst/control/dparamcommon.h:
27378         * libs/gst/control/dparammanager.c:
27379         * libs/gst/control/dparammanager.h:
27380         * libs/gst/control/dplinearinterp.c:
27381         * libs/gst/control/dplinearinterp.h:
27382         * libs/gst/control/unitconvert.c:
27383         * libs/gst/control/unitconvert.h:
27384         * testsuite/Makefile.am:
27385         * testsuite/dynparams/.cvsignore:
27386         * testsuite/dynparams/Makefile.am:
27387         * testsuite/dynparams/dparamstest.c:
27388         * tools/Makefile.am:
27389         * tools/gst-inspect.c: (print_element_info), (main):
27390         * tools/gst-xmlinspect.c: (print_element_info), (main):
27391           deactivate and remove dparams (libgstcontrol)
27392
27393 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27394
27395         * gst/elements/gsttypefindelement.c:
27396         (gst_type_find_element_have_type), (gst_type_find_element_init),
27397         (stop_typefinding), (gst_type_find_element_handle_event),
27398         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27399         * gst/elements/gsttypefindelement.h:
27400           Set caps on all outgoing buffers, not just the first one.
27401
27402 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27403
27404         * gst/elements/gsttypefindelement.c:
27405         (gst_type_find_element_have_type),
27406         (gst_type_find_element_check_set_buffer_caps),
27407         (gst_type_find_element_init), (stop_typefinding),
27408         (gst_type_find_element_handle_event),
27409         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27410         * gst/elements/gsttypefindelement.h:
27411           Set caps on first outgoing buffer when we've found the type.
27412
27413 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27414
27415         * docs/gst/gstreamer-docs.sgml:
27416         * docs/gst/gstreamer-sections.txt:
27417         * docs/gst/tmpl/gstscheduler.sgml:
27418         * docs/gst/tmpl/gstschedulerfactory.sgml:
27419           Remove some old cruft from docs.
27420
27421 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27422
27423         * gst/gstpad.h:
27424           Fix inline docs for GstPadLinkReturn.
27425           
27426         * gst/gststructure.c: (gst_structure_has_name):
27427         * gst/gststructure.h:
27428         * docs/gst/gstreamer-sections.txt:
27429           New API: gst_structure_has_name().
27430
27431 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27432
27433         * configure.ac:
27434           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27435           and _LARGEFILE_SOURCE in config.h as required. Do not 
27436           export those flags in our .pc files any longer (#142209).
27437
27438           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27439
27440         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27441         (gst_file_sink_do_seek), (gst_file_sink_event),
27442         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27443           Redo seek/tell calls with large file support in mind; add some
27444           debugging messages; add log message that tells us when large
27445           file support is unavailable or not enabled for some reason.
27446
27447         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27448           Add log message that tells us when large file support 
27449           is unavailable or not enabled for some reason.
27450
27451 2005-07-29  Wim Taymans  <wim@fluendo.com>
27452
27453         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27454         Added test for removing an element with ghostpad from a bin.
27455         Fixed test as current implementation does the right thing.
27456
27457         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27458         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27459         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27460         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27461         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27462         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27463         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27464         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27465         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27466         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27467         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27468         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27469         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27470         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27471         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27472         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27473         * gst/gstghostpad.h:
27474         Clean up ghostpads, remove properties for internal stuff.
27475         Make threadsafe.
27476         Fix refcounting.
27477         Prepare for switching targets, not all use cases work yet.
27478
27479 2005-07-29  Wim Taymans  <wim@fluendo.com>
27480
27481         * docs/design/part-gstghostpad.txt:
27482         Small update.
27483
27484         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27485         (gst_bin_remove_func):
27486         Unlinking pads while holding the bin LOCK is not a good
27487         idea.
27488
27489         * gst/gstpad.c: (gst_pad_class_init),
27490         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27491         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27492         No prob setting template after creating the pad.
27493
27494 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27495
27496         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27497         (gst_bus_peek), (gst_bus_source_dispatch),
27498         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27499         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27500           gst_bus_poll may be called from other threads. Handle
27501           this nicely by not making poll_data disappear off the
27502           stack once gst_bus_poll returns.
27503           gst_bus_peek now increments the refcount on the returned
27504           message.
27505
27506 2005-07-29  Wim Taymans  <wim@fluendo.com>
27507
27508         * docs/design/part-gstghostpad.txt:
27509         Overview of current GhostPad datastructures and use
27510         cases for changing the target.
27511
27512 2005-07-28  Wim Taymans  <wim@fluendo.com>
27513
27514         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27515         Added checks for hierarchy consistency whan adding linked
27516         elements to bins.
27517
27518         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27519         Added check to test element scheduling without bin/pipeline.
27520
27521         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27522         First add elements to bin, then link.
27523         
27524         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27525         (gst_bin_remove_func):
27526         Unlink pads from elements added/removed from bin to maintain
27527         hierarchy consistency.
27528
27529 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27530
27531         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27532         (gst_base_transform_handle_buffer):
27533         * gst/base/gstbasetransform.h:
27534           Remove broken delay_configure (fixes renegotiation of software
27535           scaling pipelines); remove some leftover printf()s.
27536
27537 2005-07-28  Wim Taymans  <wim@fluendo.com>
27538
27539         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27540         Added some more tests for wrong hierarchy
27541
27542         * docs/design/part-overview.txt:
27543         Some updates.
27544
27545         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27546         Cleanups.
27547
27548         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27549         (gst_element_dispose):
27550         Some more cleanups.
27551
27552         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27553         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27554         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27555         (gst_pad_set_caps), (gst_pad_send_event):
27556         Check for correct hierarchy when linking pads. Moving to
27557         strict requirement for ghostpads when linking elements in
27558         different bins.
27559
27560         * gst/gstpad.h:
27561         Clean ups. Added WRONG_HIERARCHY return value.
27562
27563 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27564
27565         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27566           Better debug if no transform is possible.
27567
27568 2005-07-27  Wim Taymans  <wim@fluendo.com>
27569
27570         * docs/random/wtay/network-transp:
27571         Some old doc I had.
27572
27573 2005-07-27  Wim Taymans  <wim@fluendo.com>
27574
27575         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27576         (gst_dp_event_from_packet):
27577         Fix serialization of seek events.
27578
27579 2005-07-27  Wim Taymans  <wim@fluendo.com>
27580
27581         * check/gst-libs/gdp.c: (GST_START_TEST):
27582         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27583         Fix compilation and fix event serialization.
27584
27585 2005-07-27  Wim Taymans  <wim@fluendo.com>
27586
27587         * CHANGES-0.9:
27588         * docs/design/part-TODO.txt:
27589         * docs/design/part-events.txt:
27590         Some docs updates
27591
27592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27593         (gst_base_sink_event), (gst_base_sink_do_sync),
27594         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27595         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27596         (gst_base_src_do_seek), (gst_base_src_event_handler),
27597         (gst_base_src_loop):
27598         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27599         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27600         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27601         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27602         (gst_base_transform_set_passthrough),
27603         (gst_base_transform_is_passthrough):
27604         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27605         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27606         Event updates.
27607
27608         * gst/gstbuffer.h:
27609         Use faster casts.
27610
27611         * gst/gstelement.c: (gst_element_seek):
27612         * gst/gstelement.h:
27613         Update gst_element_seek.
27614
27615         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27616         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27617         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27618         (gst_event_new_eos), (gst_event_new_newsegment),
27619         (gst_event_parse_newsegment), (gst_event_new_tag),
27620         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27621         (gst_event_parse_qos), (gst_event_new_seek),
27622         (gst_event_parse_seek), (gst_event_new_navigation):
27623         * gst/gstevent.h:
27624         Make GstEvent use GstStructure. Add parsing code, make sure the
27625         API is sufficiently generic.
27626         Mark possible directions of events and serialization.
27627
27628         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27629         (_gst_message_copy), (gst_message_new_segment_start),
27630         (gst_message_new_segment_done), (gst_message_new_custom),
27631         (gst_message_parse_segment_start),
27632         (gst_message_parse_segment_done):
27633         Small cleanups.
27634
27635         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27636         (gst_pad_set_caps), (gst_pad_send_event):
27637         Update for new events. 
27638         Catch events sent in wrong directions.
27639
27640         * gst/gstqueue.c: (gst_queue_link_src),
27641         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27642         (gst_queue_handle_src_query):
27643         Event updates.
27644
27645         * gst/gsttag.c:
27646         * gst/gsttag.h:
27647         Remove event code from this file.
27648
27649         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27650         (gst_dp_event_from_packet):
27651         Event updates.
27652
27653 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27654
27655         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27656         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27657         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27658           Make debugging actually useful.
27659
27660 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27661
27662         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27663         (gst_pad_fixate_caps):
27664           Implement default fixation once again, so that gst_pad_fixate()
27665           actually does anything at all. This probably needs to be some
27666           sort of a last resort, and use profile-based fixation first, but
27667           since that doesn't exist yet, this is the best we have. Fixes
27668           visualization in Totem.
27669
27670 2005-07-22  Wim Taymans  <wim@fluendo.com>
27671
27672         * docs/design/part-events.txt:
27673         Small update.
27674
27675         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27676         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27677         (gst_base_sink_activate_pull):
27678         Some more comments.
27679
27680         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27681         (gst_fake_src_create):
27682         Fix handoff marshall.
27683
27684         * gst/elements/gstidentity.c: (gst_identity_class_init),
27685         (gst_identity_transform_ip):
27686         We're a real inplace element.
27687
27688         * gst/gstbus.c: (gst_bus_post):
27689         Added some comments.
27690
27691         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27692         * tests/muxing/case1.c: (main):
27693         * tests/sched/dynamic-pipeline.c: (main):
27694         * tests/sched/interrupt1.c: (main):
27695         * tests/sched/interrupt2.c: (main):
27696         * tests/sched/interrupt3.c: (main):
27697         * tests/sched/runxml.c: (main):
27698         * tests/sched/sched-stress.c: (main):
27699         * tests/seeking/seeking1.c: (event_received), (main):
27700         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27701         (main):
27702         * tests/threadstate/threadstate3.c: (main):
27703         * tests/threadstate/threadstate4.c: (main):
27704         * tests/threadstate/threadstate5.c: (main):
27705         Fix the tests.
27706
27707 2005-07-21  Wim Taymans  <wim@fluendo.com>
27708
27709         * docs/design/part-seeking.txt:
27710         Some small additions.
27711
27712         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27713         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27714         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27715         * gst/base/gstbasesink.h:
27716         discont values are gint64, handle the math correctly.
27717
27718         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27719         Make the basesrc report error if the source pad is not linked.
27720
27721         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27722         (gst_queue_loop), (gst_queue_handle_src_query),
27723         (gst_queue_src_activate_push):
27724         Make queue collect data even if the srcpad is not linked.
27725         Start pushing out data as soon as it is linked.
27726
27727         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27728         * gst/gstutils.h:
27729         Added gst_flow_get_name() to ease error reporting.
27730
27731 2005-07-20  Wim Taymans  <wim@fluendo.com>
27732
27733         * gst/gstmessage.c: (gst_message_new_segment_start),
27734         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27735         (gst_message_parse_segment_done):
27736         * gst/gstmessage.h:
27737         Added a bunch of messages for advanced seeking.
27738
27739         * gst/parse/grammar.y:
27740         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27741         (gst_dpman_state_changed):
27742         Fix some new-pad -> pad-added signals
27743
27744 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27745
27746         * docs/manual/appendix-porting.xml:
27747         * docs/pwg/appendix-porting.xml:
27748           Document new-pad/state-change signal renames and the FixedList
27749           type rename.
27750
27751 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27752
27753         * docs/manual/advanced-autoplugging.xml:
27754         * docs/manual/basics-helloworld.xml:
27755         * docs/manual/basics-pads.xml:
27756         * docs/random/ds/0.9-suggested-changes:
27757         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27758         * gst/gstelement.h:
27759         * gst/gstevent.h:
27760         * gst/gstformat.h:
27761         * gst/gstquery.h:
27762         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27763         (gst_structure_parse_array), (gst_structure_parse_value):
27764         * gst/gstvalue.c: (gst_type_is_fixed),
27765         (gst_value_list_prepend_value), (gst_value_list_append_value),
27766         (gst_value_list_get_size), (gst_value_list_get_value),
27767         (gst_value_transform_array_string), (gst_value_serialize_array),
27768         (gst_value_deserialize_array), (gst_value_intersect_array),
27769         (gst_value_is_fixed), (_gst_value_initialize):
27770         * gst/gstvalue.h:
27771           GstElement::new-pad -> pad-added, GstElement::state-change ->
27772           state-changed, GstValueFixedList -> GstValueArray, add format and
27773           flags as their own arguments in gst_element_seek() (should improve
27774           "bindeability"), remove function generators since they don't work
27775           under a whole bunch of compilers (they were deprecated already
27776           anyway).
27777
27778 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27779
27780         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27781         (_gst_debug_register_funcptr):
27782         * gst/gstinfo.h:
27783           Fix illegal cast on some platforms (#309253).
27784
27785 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27786
27787         * gst/gstmessage.c: (gst_message_new_custom):
27788         * gst/gstmessage.h:
27789           Add _new_custom, make _new_application a macro to _new_custom.
27790
27791 2005-07-20  Wim Taymans  <wim@fluendo.com>
27792
27793         * gst/base/gstbasesrc.c: (gst_base_src_init),
27794         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27795         * gst/base/gstbasesrc.h:
27796         Add a gboolean to decide when to push out a discont.
27797
27798         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27799         (gst_queue_loop), (gst_queue_handle_src_query),
27800         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27801         (gst_queue_set_property), (gst_queue_get_property):
27802         Some cleanups.
27803
27804         * tests/threadstate/threadstate1.c: (main):
27805         Make a thread test compile and run... very silly..
27806
27807
27808 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27809
27810         * docs/manual/appendix-porting.xml:
27811           Mention removal of libgstgconf-0.9.la and existence of gconf
27812           elements.
27813
27814 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27815
27816         * docs/pwg/advanced-clock.xml:
27817         * docs/pwg/appendix-porting.xml:
27818         * docs/pwg/intro-preface.xml:
27819         * docs/pwg/other-base.xml:
27820         * docs/pwg/other-manager.xml:
27821         * docs/pwg/other-nton.xml:
27822         * docs/pwg/other-ntoone.xml:
27823         * docs/pwg/other-oneton.xml:
27824         * docs/pwg/pwg.xml:
27825           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27826           demuxer), remove n-to-n (was never written), fix some code examples
27827           and links and update the porting section to include all this.
27828
27829 2005-07-19  Wim Taymans  <wim@fluendo.com>
27830
27831         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27832         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27833         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27834         (gst_queue_src_activate_push), (gst_queue_change_state),
27835         (gst_queue_get_property):
27836         * gst/gstqueue.h:
27837         Propagate GstFlowReturn more intelligently upstream and output
27838         an ERROR/EOS when streaming stopped due to fatal error.
27839
27840 2005-07-19  Wim Taymans  <wim@fluendo.com>
27841
27842         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27843         Don't block forever for the state change to complete, the
27844         pipeline already did with a sensible timeout.
27845
27846 2005-07-19  Wim Taymans  <wim@fluendo.com>
27847
27848         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27849         Make sure we never call the create function is we
27850         got deactivated.
27851
27852 2005-07-19  Andy Wingo  <wingo@pobox.com>
27853
27854         * gst/parse/parse.l: Attempt to solve bug #172815.
27855
27856 2005-07-19  Wim Taymans  <wim@fluendo.com>
27857
27858         * docs/design/part-clocks.txt:
27859         * docs/design/part-events.txt:
27860         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27861         Small docs updates.
27862         Only update the seeking values when we are not
27863         busy streaming.
27864
27865 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27866
27867         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27868           Oops, ignore the result of gst_pad_push_event here.
27869
27870 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27871
27872         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27873         (gst_base_src_activate_push):
27874           Send discont event from the loop function, as pads
27875           aren't activated yet in the activate_push handler.
27876
27877         * gst/gstbin.c: (bin_bus_handler):
27878           Don't leak element name.
27879
27880 2005-07-18  Andy Wingo  <wingo@pobox.com>
27881
27882         * configure.ac: Use AS_LIBTOOL_TAGS.
27883
27884 2005-07-18  Wim Taymans  <wim@fluendo.com>
27885
27886         * docs/gst/gstreamer.types:
27887         Remove deleted types.
27888
27889 2005-07-18  Wim Taymans  <wim@fluendo.com>
27890
27891         * check/elements/gstfakesrc.c: (GST_START_TEST):
27892         * configure.ac:
27893         * gst/Makefile.am:
27894         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27895         (init_popt_callback):
27896         * gst/gst.h:
27897         * gst/gst_private.h:
27898         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27899         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27900         * gst/gstbin.h:
27901         * gst/gstbus.h:
27902         * gst/gstconfig.h.in:
27903         * gst/gstelement.c: (gst_element_class_init),
27904         (gst_element_set_base_time), (gst_element_get_base_time),
27905         (iterator_fold_with_resync), (gst_element_change_state),
27906         (gst_element_dispose), (gst_element_get_bus):
27907         * gst/gstelement.h:
27908         * gst/gstelementfactory.h:
27909         * gst/gsterror.c: (_gst_core_errors_init):
27910         * gst/gsterror.h:
27911         * gst/gstevent.h:
27912         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27913         * gst/gstindex.c:
27914         * gst/gstinfo.c: (_gst_debug_init):
27915         * gst/gstmessage.c: (_gst_message_copy):
27916         * gst/gstmessage.h:
27917         * gst/gstminiobject.h:
27918         * gst/gstobject.c:
27919         * gst/gstobject.h:
27920         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27921         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27922         * gst/gstpad.h:
27923         * gst/gstparse.h:
27924         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27925         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27926         (gst_pipeline_get_last_stream_time):
27927         * gst/gstpipeline.h:
27928         * gst/gstpluginfeature.h:
27929         * gst/gstquery.h:
27930         * gst/gstscheduler.c:
27931         * gst/gstscheduler.h:
27932         * gst/gststructure.h:
27933         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27934         (gst_task_finalize), (gst_task_func), (gst_task_create),
27935         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27936         (gst_task_stop), (gst_task_pause):
27937         * gst/gsttask.h:
27938         * gst/gsttypefind.h:
27939         * gst/gsttypes.h:
27940         * gst/registries/gstlibxmlregistry.c: (load_feature),
27941         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27942         * gst/registries/gstxmlregistry.c:
27943         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27944         * gst/schedulers/threadscheduler.c:
27945         * libs/gst/control/dparammanager.h:
27946         * tools/gst-inspect.c: (print_element_list),
27947         (print_plugin_features), (print_element_features):
27948         * tools/gst-xmlinspect.c: (print_element_list),
27949         (print_plugin_info), (main):
27950         Removed plugable schedulers.
27951         Removed Scheduler/Manager from elements.
27952         Removed gsttypes.h, rearranged includes.
27953         Removed dependency pad<->element, element<>pipeline, and
27954         various others,  fix includes.
27955         implement gst_pad_get_parent() with gst_object_get_parent()
27956         Make GstTask sefcontained.
27957         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27958         timeout.
27959         Fix endless loop in iterator_fold_with_resync.
27960
27961
27962 2005-07-18  Wim Taymans  <wim@fluendo.com>
27963
27964         * gst/Makefile.am:
27965         * gst/gstarch.h:
27966         Remove old file.
27967
27968 2005-07-18  Wim Taymans  <wim@fluendo.com>
27969
27970         * gst/Makefile.am:
27971         No more cothreads.h
27972
27973 2005-07-18  Wim Taymans  <wim@fluendo.com>
27974
27975         * gst/cothreads.c:
27976         * gst/cothreads.h:
27977         Let's remove these.
27978
27979 2005-07-18  Wim Taymans  <wim@fluendo.com>
27980
27981         * docs/design/part-dynamic.txt:
27982         * docs/design/part-events.txt:
27983         * docs/design/part-seeking.txt:
27984         Some more docs in the works.
27985
27986         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27987         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27988         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27989         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27990         (gst_base_transform_handle_buffer),
27991         (gst_base_transform_sink_activate_push),
27992         (gst_base_transform_src_activate_pull),
27993         (gst_base_transform_set_passthrough),
27994         (gst_base_transform_is_passthrough):
27995         Refcounting fixes.
27996
27997         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27998         Cleanups.
27999
28000         * gst/gstevent.c: (gst_event_finalize):
28001         Set SRC to NULL.
28002
28003         * gst/gstutils.c: (gst_element_unlink),
28004         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
28005         (gst_pad_proxy_setcaps):
28006         * gst/gstutils.h:
28007         Add _get_parent_element() to get a pads parent as an element.
28008
28009 2005-07-18  Wim Taymans  <wim@fluendo.com>
28010
28011         * check/gst/gstbin.c: (GST_START_TEST):
28012         Remove bogus test.
28013
28014 2005-07-18  Wim Taymans  <wim@fluendo.com>
28015
28016         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28017         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28018         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28019         (gst_base_sink_event), (gst_base_sink_do_sync),
28020         (gst_base_sink_chain), (gst_base_sink_loop),
28021         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
28022         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
28023         Refcounting fixes.
28024         Fix logic for returning ASYNC when not prerolled.
28025
28026 2005-07-18  Wim Taymans  <wim@fluendo.com>
28027
28028         * gst/gstqueue.c: (gst_queue_handle_sink_event):
28029         Fix nasty refcount bug.
28030
28031 2005-07-16 Philippe Khalaf <burger@speedy.org>
28032
28033         * gst/elements/gstfdsrc.c:
28034         * gst/elements/gstfdsrc.h:
28035         * gst/elements/gstelements.c:
28036         * gst/elements/Makefile.am:
28037         Ported fdsrc to 0.9.
28038
28039 2005-07-16  Wim Taymans  <wim@fluendo.com>
28040
28041         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28042         (gst_base_sink_do_sync):
28043         Fix compile error.
28044
28045 2005-07-16  Wim Taymans  <wim@fluendo.com>
28046
28047         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28048         (gst_base_sink_event), (gst_base_sink_get_times),
28049         (gst_base_sink_do_sync), (gst_base_sink_change_state):
28050         * gst/base/gstbasesink.h:
28051         Store and use discont values when syncing buffers as described
28052         in design docs.
28053         
28054         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
28055         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
28056         (gst_base_src_activate_push):
28057         Push discont event when starting.
28058
28059         * gst/elements/gstidentity.c: (gst_identity_transform):
28060         Small cleanups.
28061
28062         * gst/gstbin.c: (gst_bin_change_state):
28063         Small cleanups in base_time  distribution.
28064
28065         * gst/gstelement.c: (gst_element_set_base_time),
28066         (gst_element_get_base_time), (gst_element_change_state):
28067         * gst/gstelement.h:
28068         Added methods for the base_time of the element.
28069         Some MT fixes.
28070
28071         * gst/gstpipeline.c: (gst_pipeline_send_event),
28072         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28073         (gst_pipeline_get_last_stream_time):
28074         * gst/gstpipeline.h:
28075         MT fixes.
28076         Handle seeking as described in design doc, remove stream_time
28077         hack.
28078         Cleanups clock and stream_time selection code. Added accessors
28079         for the stream_time.
28080         
28081
28082 2005-07-16  Andy Wingo  <wingo@pobox.com>
28083
28084         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28085         (#305291).
28086
28087 2005-07-16  Wim Taymans  <wim@fluendo.com>
28088
28089         * check/gst/gstbin.c: (GST_START_TEST):
28090         Make elements silent as the deep_notify refs the
28091         parent, which might make the test fail.
28092
28093         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28094         Don't hold the lock for too long.
28095
28096 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28097
28098         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28099           Don't unref the caps we passed to gst_caps_make_writable() after
28100           passing them. gst_caps_make_writable() will do that for us.
28101
28102 2005-07-15  Andy Wingo  <wingo@pobox.com>
28103
28104         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28105         (#157311).
28106
28107         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28108         own marshalling function for the handoff signal. Properly type the
28109         buffer as a buffer. Fixes some warnings. Should do a more general
28110         solution.
28111         (gst_identity_class_init): Plug into the right marshaller.
28112
28113 2005-07-15  Wim Taymans  <wim@fluendo.com>
28114
28115         * docs/design/part-TODO.txt:
28116         * docs/design/part-clocks.txt:
28117         * docs/design/part-element-sink.txt:
28118         * docs/design/part-events.txt:
28119         * docs/design/part-gstpipeline.txt:
28120         Updated docs, mostly DISCONT related.
28121
28122 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28123
28124         * docs/pwg/building-pads.xml:
28125           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28126
28127 2005-07-15  Andy Wingo  <wingo@pobox.com>
28128
28129         * tools/gst-typefind.c: Update, add copyright block.
28130
28131         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28132         Normalize and truncate caps before fixation.
28133
28134         * gst/gstcaps.h:
28135         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28136         discards all but the first structure from its argument.
28137
28138 2005-07-15  Wim Taymans  <wim@fluendo.com>
28139
28140         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28141         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28142         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28143         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28144         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28145         (gst_base_transform_chain), (gst_base_transform_change_state),
28146         (gst_base_transform_set_passthrough),
28147         (gst_base_transform_is_passthrough):
28148         * gst/base/gstbasetransform.h:
28149         Make passthrough work using the bufferpools.
28150         Changed API a bit, subclasses have to write into a buffer
28151         provided by the base class.
28152         More debug info in nego functions.
28153         
28154         * gst/elements/gstidentity.c: (gst_identity_init),
28155         (gst_identity_transform):
28156         Port to new base class.
28157
28158 2005-07-15  Wim Taymans  <wim@fluendo.com>
28159
28160         * gst/gstmessage.c: (gst_message_new_state_changed):
28161         * tools/gst-launch.c: (event_loop), (main):
28162         Totally dump messages in -launch with the -m option.
28163         Fix message name for State messages,
28164
28165 2005-07-14  Wim Taymans  <wim@fluendo.com>
28166
28167         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28168         Post error messages on errors.
28169
28170 2005-07-14  Wim Taymans  <wim@fluendo.com>
28171
28172         * gst/gstcaps.c: (gst_caps_do_simplify):
28173         Remove debug info.
28174
28175         * gst/gsterror.h:
28176         Define error for stream stopped.
28177
28178         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28179         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28180         Do proper return values.
28181
28182         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28183         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28184         (gst_pad_get_range):
28185         Better return values.
28186
28187         * gst/gstpad.h:
28188         Reorganise return values, add macro to check for fatal errors.
28189
28190         * gst/gstqueue.c: (gst_queue_chain):
28191         Return proper GstFlowReturn values,
28192
28193 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28194
28195         * docs/gst/gstreamer-sections.txt:
28196         * docs/gst/gstreamer.types:
28197         * docs/gst/tmpl/gst.sgml:
28198         * docs/gst/tmpl/gstbasesink.sgml:
28199         * docs/gst/tmpl/gstbasesrc.sgml:
28200         * docs/gst/tmpl/gstbasetransform.sgml:
28201         * docs/gst/tmpl/gstbin.sgml:
28202         * docs/gst/tmpl/gstbuffer.sgml:
28203         * docs/gst/tmpl/gstcaps.sgml:
28204         * docs/gst/tmpl/gstclock.sgml:
28205         * docs/gst/tmpl/gstcompat.sgml:
28206         * docs/gst/tmpl/gstconfig.sgml:
28207         * docs/gst/tmpl/gstelement.sgml:
28208         * docs/gst/tmpl/gstelementdetails.sgml:
28209         * docs/gst/tmpl/gstelementfactory.sgml:
28210         * docs/gst/tmpl/gstenumtypes.sgml:
28211         * docs/gst/tmpl/gsterror.sgml:
28212         * docs/gst/tmpl/gstevent.sgml:
28213         * docs/gst/tmpl/gstfakesink.sgml:
28214         * docs/gst/tmpl/gstfakesrc.sgml:
28215         * docs/gst/tmpl/gstfilesink.sgml:
28216         * docs/gst/tmpl/gstfilesrc.sgml:
28217         * docs/gst/tmpl/gstfilter.sgml:
28218         * docs/gst/tmpl/gstformat.sgml:
28219         * docs/gst/tmpl/gstghostpad.sgml:
28220         * docs/gst/tmpl/gstimplementsinterface.sgml:
28221         * docs/gst/tmpl/gstindex.sgml:
28222         * docs/gst/tmpl/gstindexfactory.sgml:
28223         * docs/gst/tmpl/gstinfo.sgml:
28224         * docs/gst/tmpl/gstiterator.sgml:
28225         * docs/gst/tmpl/gstmacros.sgml:
28226         * docs/gst/tmpl/gstmemchunk.sgml:
28227         * docs/gst/tmpl/gstminiobject.sgml:
28228         * docs/gst/tmpl/gstobject.sgml:
28229         * docs/gst/tmpl/gstpad.sgml:
28230         * docs/gst/tmpl/gstpadtemplate.sgml:
28231         * docs/gst/tmpl/gstparse.sgml:
28232         * docs/gst/tmpl/gstpipeline.sgml:
28233         * docs/gst/tmpl/gstplugin.sgml:
28234         * docs/gst/tmpl/gstpluginfeature.sgml:
28235         * docs/gst/tmpl/gstquery.sgml:
28236         * docs/gst/tmpl/gstqueue.sgml:
28237         * docs/gst/tmpl/gstregistry.sgml:
28238         * docs/gst/tmpl/gstregistrypool.sgml:
28239         * docs/gst/tmpl/gstscheduler.sgml:
28240         * docs/gst/tmpl/gstschedulerfactory.sgml:
28241         * docs/gst/tmpl/gststructure.sgml:
28242         * docs/gst/tmpl/gstsystemclock.sgml:
28243         * docs/gst/tmpl/gsttaglist.sgml:
28244         * docs/gst/tmpl/gsttagsetter.sgml:
28245         * docs/gst/tmpl/gsttrace.sgml:
28246         * docs/gst/tmpl/gsttrashstack.sgml:
28247         * docs/gst/tmpl/gsttypefind.sgml:
28248         * docs/gst/tmpl/gsttypefindfactory.sgml:
28249         * docs/gst/tmpl/gsttypes.sgml:
28250         * docs/gst/tmpl/gsturihandler.sgml:
28251         * docs/gst/tmpl/gsturitype.sgml:
28252         * docs/gst/tmpl/gstutils.sgml:
28253         * docs/gst/tmpl/gstvalue.sgml:
28254         * docs/gst/tmpl/gstversion.sgml:
28255         * docs/gst/tmpl/gstxml.sgml:
28256         * docs/libs/tmpl/gstcontrol.sgml:
28257         * docs/libs/tmpl/gstdataprotocol.sgml:
28258         * docs/libs/tmpl/gstdparam.sgml:
28259         * docs/libs/tmpl/gstdplinint.sgml:
28260         * docs/libs/tmpl/gstdpman.sgml:
28261         * docs/libs/tmpl/gstdpsmooth.sgml:
28262         * docs/libs/tmpl/gstgetbits.sgml:
28263         * docs/libs/tmpl/gstunitconvert.sgml:
28264         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28265         (gst_push_src_base_init), (gst_push_src_class_init),
28266         (gst_push_src_init), (gst_push_src_create):
28267         * gst/base/gstpushsrc.h:
28268         * gst/elements/gstelements.c:
28269         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28270         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28271         (gst_fake_sink_init), (gst_fake_sink_set_property),
28272         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28273         (gst_fake_sink_event), (gst_fake_sink_preroll),
28274         (gst_fake_sink_render), (gst_fake_sink_change_state):
28275         * gst/elements/gstfakesink.h:
28276         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28277         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28278         (gst_fake_src_base_init), (gst_fake_src_class_init),
28279         (gst_fake_src_init), (gst_fake_src_event_handler),
28280         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28281         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28282         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28283         (gst_fake_src_create_buffer), (gst_fake_src_create),
28284         (gst_fake_src_start), (gst_fake_src_stop):
28285         * gst/elements/gstfakesrc.h:
28286         * gst/elements/gstfilesink.c: (_do_init),
28287         (gst_file_sink_base_init), (gst_file_sink_class_init),
28288         (gst_file_sink_init), (gst_file_sink_dispose),
28289         (gst_file_sink_set_location), (gst_file_sink_set_property),
28290         (gst_file_sink_get_property), (gst_file_sink_open_file),
28291         (gst_file_sink_close_file), (gst_file_sink_query),
28292         (gst_file_sink_event), (gst_file_sink_render),
28293         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28294         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28295         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28296         * gst/elements/gstfilesink.h:
28297         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28298         (gst_file_src_class_init), (gst_file_src_init),
28299         (gst_file_src_finalize), (gst_file_src_set_location),
28300         (gst_file_src_set_property), (gst_file_src_get_property),
28301         (gst_file_src_map_region), (gst_file_src_map_small_region),
28302         (gst_file_src_create_mmap), (gst_file_src_create_read),
28303         (gst_file_src_create), (gst_file_src_is_seekable),
28304         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28305         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28306         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28307         (gst_file_src_uri_handler_init):
28308         * gst/elements/gstfilesrc.h:
28309           more autistic cleanliness in functions/names/defines
28310
28311 2005-07-13  Andy Wingo  <wingo@pobox.com>
28312
28313         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28314         source couldn't negotiate.
28315
28316         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28317         connections again.
28318
28319         * gst/gstutils.h:
28320         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28321         function. I am channeling Hades. Put your boots on suckers!!!
28322
28323 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28324
28325         * testsuite/caps/Makefile.am:
28326         * testsuite/caps/value_compare.c:
28327         * testsuite/caps/value_intersect.c:
28328         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28329           move two testsuite apps over to the check dir
28330
28331 2005-07-12  Wim Taymans  <wim@fluendo.com>
28332
28333         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28334         Added more debug info in the negotiate process.
28335
28336         * gst/gstmessage.h:
28337         Prepare for segment playback.
28338
28339         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28340         Better debugging.
28341
28342         * gst/gstutils.c:
28343         Some more docs.
28344
28345         * tools/gst-launch.c: (main):
28346         NULL pipeline on errors.
28347
28348 2005-07-12  Andy Wingo  <wingo@pobox.com>
28349
28350         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28351         not it comes from a malloc region. Make sure our copy gets freed.
28352
28353 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28354
28355         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28356         * check/gst/gstmessage.c: (GST_START_TEST):
28357         * check/gst/gststructure.c: (GST_START_TEST),
28358         (gst_structure_suite), (main):
28359           more testing
28360         * gst/gstelement.c: (gst_element_message_full):
28361           clean up GError and debug string now that they get copied
28362         * gst/gstmessage.c: (gst_message_new_error),
28363         (gst_message_new_warning), (gst_message_parse_error),
28364         (gst_message_parse_warning):
28365           use GST_TYPE_G_ERROR for structure_new, and take copies of
28366           arguments, so that we don't mess up refcounting
28367
28368 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28369
28370         * check/Makefile.am:
28371           add per-test valgrind targets
28372         * check/gst-libs/gdp.c: (GST_START_TEST),
28373         (gst_data_protocol_suite), (main):
28374           clean up
28375
28376 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28377
28378         * check/Makefile.am:
28379           instate more valgrindable tests
28380         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28381         (GST_START_TEST), (fakesrc_suite):
28382         * check/gst/gstpad.c: (GST_START_TEST):
28383         * check/gst/gststructure.c: (GST_START_TEST):
28384           fix test leaks
28385         * docs/gst/tmpl/gstminiobject.sgml:
28386         * gst/gstpad.c: (gst_pad_finalize):
28387           fix the static mutex leak
28388
28389 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28390
28391         * check/Makefile.am:
28392           add two more tests for valgrinding
28393         * check/gst/gstvalue.c: (GST_START_TEST):
28394           test refcount of deserialized buffer, found a leak
28395         * docs/gst/gstreamer-docs.sgml:
28396         * docs/gst/gstreamer-sections.txt:
28397         * docs/gst/gstreamer.types:
28398         * docs/gst/tmpl/gstminiobject.sgml:
28399           add miniobject to docs
28400         * gst/gstminiobject.c:
28401           add some docs
28402         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28403         (gst_string_unwrap):
28404           fix a hard-to-find invalid write for one of the tests
28405           fix a leak for deserialized buffers
28406
28407 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28408
28409         * docs/pwg/advanced-events.xml:
28410         * docs/pwg/advanced-request.xml:
28411         * docs/pwg/advanced-scheduling.xml:
28412         * docs/pwg/appendix-porting.xml:
28413         * docs/pwg/building-boiler.xml:
28414         * docs/pwg/intro-preface.xml:
28415         * docs/pwg/other-ntoone.xml:
28416           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28417           of example code and explanation for pad activation, loop() and
28418           getrange() functions and a bit more. Remove old comments pointing
28419           to loop-functions.
28420         * examples/pwg/Makefile.am:
28421           Add loop/getrange examples.
28422
28423 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28424
28425         * configure.ac:
28426           check for valgrind binary + some fixes
28427         * check/gst.supp:
28428           valgrind suppressions for the tests
28429         * check/Makefile.am:
28430           add a valgrind: target that valgrinds the unit tests
28431         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28432         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28433         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28434         * check/gst/gstghostpad.c:
28435           added some cleanup
28436         * check/gst/gstdata.c:
28437           removed
28438         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28439         (thread_unref), (gst_mini_object_suite), (main):
28440           added
28441         * gst/gst.c: (gst_deinit):
28442         * gst/gst.h:
28443           add a method to clean up.
28444         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28445         (gst_system_clock_obtain):
28446           allow for disposing the system clock.
28447         * tools/gst-launch.c: (main):
28448           deinit
28449
28450 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28451
28452         * docs/gst/tmpl/gstbasesrc.sgml:
28453         * docs/gst/tmpl/gstfakesrc.sgml:
28454         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28455         (gst_base_src_init), (gst_base_src_set_property),
28456         (gst_base_src_get_property), (gst_base_src_get_range),
28457         (gst_base_src_start):
28458         * gst/base/gstbasesrc.h:
28459           add num-buffers property
28460         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28461         (gst_fakesrc_init), (gst_fakesrc_set_property),
28462         (gst_fakesrc_get_property), (gst_fakesrc_create),
28463         (gst_fakesrc_start):
28464           remove num-buffers property
28465
28466 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28467
28468         * docs/gst/gstreamer-sections.txt:
28469         * docs/gst/tmpl/gstbasesink.sgml:
28470         * docs/gst/tmpl/gstbasesrc.sgml:
28471         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28472         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28473         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28474         (gst_base_sink_set_property), (gst_base_sink_get_property),
28475         (gst_base_sink_handle_object), (gst_base_sink_event),
28476         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28477         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28478         (gst_base_sink_loop), (gst_base_sink_deactivate),
28479         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28480         (gst_base_sink_change_state):
28481         * gst/base/gstbasesink.h:
28482         * gst/base/gstbasesrc.h:
28483         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28484         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28485         (gst_filesink_init):
28486           more macro splitting
28487
28488 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28489
28490         * gst/gstelement.c: (gst_element_get_bus):
28491           add debug
28492         * tools/gst-launch.c: (check_intr), (event_loop):
28493           fix bus leaks
28494
28495 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28496
28497         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28498           fix a caps leak
28499
28500 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28501
28502         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28503         (gst_base_src_finalize):
28504           add finalize method and clean up properly
28505         * gst/gstpipeline.c: (gst_pipeline_dispose):
28506           add debug
28507
28508 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28509
28510         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28511         (gst_bin_suite):
28512           add more things to check
28513         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28514         * gst/gstelement.c:
28515           more debug
28516
28517 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28518
28519         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28520         (GST_START_TEST), (fakesrc_suite):
28521         * check/gst-libs/gdp.c: (GST_START_TEST):
28522         * check/gst/gst.c: (GST_START_TEST):
28523         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28524         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28525         * check/gst/gstbus.c: (GST_START_TEST):
28526         * check/gst/gstcaps.c: (GST_START_TEST):
28527         * check/gst/gstdata.c: (GST_START_TEST):
28528         * check/gst/gstelement.c: (GST_START_TEST):
28529         * check/gst/gstghostpad.c: (GST_START_TEST):
28530         * check/gst/gstiterator.c: (GST_START_TEST):
28531         * check/gst/gstmessage.c: (GST_START_TEST):
28532         * check/gst/gstobject.c: (GST_START_TEST):
28533         * check/gst/gstpad.c: (GST_START_TEST):
28534         * check/gst/gststructure.c: (GST_START_TEST):
28535         * check/gst/gstsystemclock.c: (GST_START_TEST),
28536         (gst_systemclock_suite):
28537         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28538         * check/gst/gstvalue.c: (GST_START_TEST):
28539         * check/pipelines/cleanup.c: (GST_START_TEST):
28540         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28541         * check/states/sinks.c: (GST_START_TEST):
28542         * check/gstcheck.c: (gst_check_init):
28543         * check/gstcheck.h:
28544           add debugging category
28545           use GST_START_TEST now, so we add a debug line
28546
28547 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28548
28549         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28550           add test for state change message on a bin
28551         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28552           add another test
28553         * gst/gstbin.c: (gst_bin_init):
28554         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28555         * gst/gstelement.c: (gst_element_post_message),
28556         (gst_element_set_state):
28557         * gst/gstelementfactory.c: (gst_element_factory_create):
28558         * gst/gstmessage.c: (gst_message_new):
28559         * gst/gstscheduler.c:
28560           various debugging additions and cleanups
28561
28562 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28563
28564         * check/Makefile.am:
28565         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28566         (main):
28567           adding tests for elements
28568         * gst/gstelement.c: (gst_element_dispose):
28569
28570 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28571
28572         * gst/registries/gstlibxmlregistry.c: (load_feature):
28573           plug more leaks.  A simple gst_init() now is leakfree, yay.
28574
28575 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28576
28577         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28578         (gst_xml_registry_load):
28579           plug another memleak
28580
28581 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28582
28583         * configure.ac:
28584           use GST_SET_ERROR_CFLAGS
28585         * docs/faq/cvs.xml:
28586           change to ERROR_CFLAGS
28587
28588 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28589
28590         * configure.ac:
28591           make GST_ERROR_CFLAGS overridable and re-enable Werror
28592         * docs/faq/cvs.xml:
28593           add a note about error CFLAGS
28594         * docs/gst/tmpl/gstfakesrc.sgml:
28595         * gst/elements/gstfakesrc.c:
28596           comment out some unused code
28597         * gst/gst.c: (split_and_iterate):
28598         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28599         (load_feature):
28600           plug some memleaks
28601
28602 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28603
28604         * common/Makefile.am:
28605         * common/gtk-doc.mak:
28606         * docs/gst/Makefile.am:
28607           factor out gtk-doc.mak
28608
28609 2005-07-07  Wim Taymans  <wim@fluendo.com>
28610
28611         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28612         (gst_thread_scheduler_dispose):
28613         Unlock the STREAM_LOCK completely.
28614
28615 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28616
28617         * check/Makefile.am:
28618         * check/elements/.cvsignore:
28619         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28620         (START_TEST), (fakesrc_suite), (main):
28621         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28622         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28623         (gst_fakesrc_create), (gst_fakesrc_start):
28624         * gst/elements/gstfakesrc.h:
28625           adding a first element test
28626
28627 2005-07-07  Andy Wingo  <wingo@pobox.com>
28628
28629         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28630         debug message.
28631
28632 2005-07-07  Wim Taymans  <wim@fluendo.com>
28633
28634         * gst/gstquery.c:
28635         * gst/gstquery.h:
28636         Remove old types
28637
28638 2005-07-07  Wim Taymans  <wim@fluendo.com>
28639
28640         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28641         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28642         Allow subclasses to implement their own negotiation.
28643
28644 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28645
28646         * docs/design/part-gstbin.txt:
28647         * docs/design/part-gstpipeline.txt:
28648           Update design notes to reflect the movement of
28649           responsibility for bus handling from GstPipeline to
28650           GstBin
28651
28652 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28653
28654         * configure.ac:
28655           Remove unnecessary queue2/3/4 examples.
28656
28657 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28658
28659         * examples/Makefile.am:
28660         * examples/helloworld/helloworld.c: (event_loop), (main):
28661         * examples/queue/queue.c: (event_loop), (main):
28662         * examples/queue2/queue2.c: (main):
28663           Update a couple of the examples to work again.
28664
28665         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28666         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28667          Spelling corrections and extra debug.
28668         
28669         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28670         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28671         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28672         * gst/gstbin.h:
28673         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28674         (gst_pipeline_change_state):
28675         * gst/gstpipeline.h:
28676           Move the bus handler for children to the GstBin, and create a
28677           separate bus for receiving messages from children to the one the
28678           bus sends 'upwards' on.
28679
28680 2005-07-06  Wim Taymans  <wim@fluendo.com>
28681
28682         * gst/base/README:
28683         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28684         (gst_base_sink_handle_object), (gst_base_sink_loop),
28685         (gst_base_sink_change_state):
28686         * gst/base/gstbasesink.h:
28687         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28688         (gst_base_src_init), (gst_base_src_setcaps),
28689         (gst_base_src_getcaps), (gst_base_src_loop),
28690         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28691         (gst_base_src_start), (gst_base_src_change_state):
28692         * gst/base/gstbasesrc.h:
28693         Make basesrc negotiate.
28694         Handle the case where preroll fails in basesink.
28695         Update README.
28696
28697 2005-07-06  Wim Taymans  <wim@fluendo.com>
28698
28699         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28700         Implement the fixate function.
28701         Clean up acceptcaps.
28702
28703 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28704
28705         * docs/pwg/building-filterfactory.xml:
28706         * docs/pwg/pwg.xml:
28707           Remove never-written filter-factory chapter; I'll add the various
28708           base classes to part 4 ("other element types") later on.
28709
28710 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28711
28712         * docs/pwg/advanced-negotiation.xml:
28713         * docs/pwg/building-boiler.xml:
28714         * docs/pwg/building-pads.xml:
28715         * docs/pwg/pwg.xml:
28716         * examples/pwg/Makefile.am:
28717           Add a chapter on caps negotiation, simplify the original code
28718           samples a bit w.r.t. caps negotiation, add link to the advanced
28719           section. Add a bunch of examples showing different use cases of
28720           different types of caps negotiation. Upstream renegotiation isn't
28721           fully documented yet since nobody knows how that works.
28722
28723 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28724
28725         * check/gst/gstpad.c:
28726         * check/gstcheck.c:
28727         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28728           if pad has no parent, return NULL as list of internal links
28729
28730 2005-07-05  Andy Wingo  <wingo@pobox.com>
28731
28732         * gst/elements/gstfilesrc.c:
28733         * gst/elements/gstfakesrc.c: 
28734         * gst/base/gstpushsrc.c:
28735         * gst/base/gstbasesrc.h: 
28736         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28737         
28738 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28739
28740         * Makefile.am:
28741           better report generation target (lcov needs a patch)
28742
28743 2005-07-05  Andy Wingo  <wingo@pobox.com>
28744
28745         * gst/elements, testsuite: Null if we got it...
28746
28747 2005-07-05  Wim Taymans  <wim@fluendo.com>
28748
28749         * configure.ac:
28750         * libs/gst/dataprotocol/Makefile.am:
28751         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28752         * libs/gst/dataprotocol/dataprotocol.h:
28753         * pkgconfig/Makefile.am:
28754         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28755         * pkgconfig/gstreamer-dataprotocol.pc.in:
28756         Ported dataprotol to 0.9. 
28757         Added pkgconfig files.
28758
28759 2005-07-05  Andy Wingo  <wingo@pobox.com>
28760
28761         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28762         Default to returning TRUE for the case when tranform_caps returns
28763         a fixed caps, like for identity or volume.
28764
28765         * check/gst/gstbus.c (pound_bus_with_messages): 
28766         * check/gst/gstmessage.c (START_TEST): 
28767         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28768         message API change.
28769
28770         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28771         logic weaks here: always run transform_caps, trying passthrough
28772         operation only if the original caps intersects with the transform.
28773
28774         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28775         source and sink caps.
28776
28777         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28778         Intersect the peer caps with the pad template before going into
28779         transform_caps.
28780         (gst_base_transform_transform_caps): More debugging.
28781
28782         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28783         src argument.
28784
28785 2005-07-04  Edward Hervey  <edward@fluendo.com>
28786
28787         * gst/gstutils.c:
28788         * gst/gstutils.h:
28789         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28790         in bindings.
28791
28792 2005-07-04  Andy Wingo  <wingo@pobox.com>
28793
28794         * check/gst/gstpad.c: Only set explicit caps on pads.
28795
28796 2005-07-01  Andy Wingo  <wingo@pobox.com>
28797
28798         * tests/network-clock.scm: Commentary update.
28799
28800         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28801         Didn't really make sense, not implementable with basetransform,
28802         etc.
28803         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28804         attempt at implementing the sync property, needs an unlock method.
28805
28806         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28807         New func, by default returns the same caps (the identity
28808         transformation).
28809         (gst_base_transform_getcaps): Uses transform_caps to return
28810         something sensible.
28811         (gst_base_transform_setcaps): Complicated logic to get caps on
28812         both pads, even if they are different, and to call set_caps once
28813         for every time both pads get their caps set.
28814         (gst_base_transform_handle_buffer): Give the ref to the transform
28815         function. Allows in-place modification of the buffer.
28816
28817         * gst/base/gstbasetransform.h (transform_caps): New class method.
28818         Given caps on one side, what can I do on the other.
28819         (set_caps): Take two caps, one for each side of the element.
28820
28821         * gst/gstpad.h:
28822         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28823         caps in place. This is safe because we can check the mutability of
28824         the caps, and a good idea because fixate functions are just called
28825         as a matter of last resort. (Not actually implemented.)
28826         (gst_pad_set_caps): If the caps we're setting is actually the same
28827         as the existing pad caps, just update the pointer without calling
28828         setcaps. Assert that caps is either NULL or fixed, as per the
28829         docs.
28830
28831         * gst/gstghostpad.c: Update for fixate changes.
28832
28833 2005-07-02  Andy Wingo  <wingo@pobox.com>
28834
28835         * gst/gstcaps.c:
28836         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28837         two refcounts makes it immutable, which is enough. Doc more.
28838
28839 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28840
28841         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28842           Put the mini_object into GValue as a mini_object,
28843           not a gpointer, since that's how we declared
28844           the signal.
28845
28846 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28847
28848         * examples/pwg/Makefile.am:
28849           Fix buildbot again.
28850
28851 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28852
28853         * docs/pwg/building-testapp.xml:
28854           Add extra check.
28855         * examples/pwg/Makefile.am:
28856           Fix buildbot.
28857
28858 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28859
28860         * configure.ac:
28861         * examples/Makefile.am:
28862         * examples/pwg/Makefile.am:
28863         * examples/pwg/extract.pl:
28864           Enable building the PWG examples.
28865         * docs/pwg/advanced-interfaces.xml:
28866           Add URI interface stub.
28867         * docs/pwg/advanced-types.xml:
28868         * docs/pwg/other-autoplugger.xml:
28869         * docs/pwg/appendix-porting.xml:
28870         * docs/pwg/pwg.xml:
28871           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28872         * docs/pwg/building-boiler.xml:
28873         * docs/pwg/building-chainfn.xml:
28874         * docs/pwg/building-pads.xml:
28875         * docs/pwg/building-props.xml:
28876         * docs/pwg/building-state.xml:
28877         * docs/pwg/building-testapp.xml:
28878           Update the building-*.xml parts for 0.9 changes. All examples
28879           code blocks compile in examples/pwg/*.
28880
28881 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28882
28883         * docs/manual/advanced-autoplugging.xml:
28884         * docs/manual/appendix-checklist.xml:
28885         * docs/manual/appendix-integration.xml:
28886         * docs/manual/highlevel-components.xml:
28887           Fix playbin/decodebin examples, update docs a bit, mention bus
28888           instead of signals in various places, mention kmplayer and
28889           kaffeine since they have a working GStreamer backend in the KDE
28890           section.
28891
28892 2005-06-30  Wim Taymans  <wim@fluendo.com>
28893
28894         * CHANGES-0.9:
28895         * docs/design/draft-ghostpads.txt:
28896         * docs/design/draft-push-pull.txt:
28897         * docs/design/draft-query.txt:
28898         * docs/design/part-TODO.txt:
28899         * docs/design/part-query.txt:
28900         Added CHANGES-0.9 doc, updated status of other docs.
28901         
28902         * gst/gstquery.h:
28903         Remove "hmm" macro
28904
28905 2005-06-30  Wim Taymans  <wim@fluendo.com>
28906
28907         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28908         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28909         (gst_base_sink_change_state):
28910         * gst/base/gstbasesink.h:
28911         Some tweaks, only EOS and a buffer complete a preroll.
28912
28913 2005-06-30  Andy Wingo  <wingo@pobox.com>
28914
28915         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28916         activate_push down to the internal pad as well.
28917
28918 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28919
28920         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28921
28922         * gst/gsttaginterface.c:
28923           Some documentation fixes (#307394 and #307397).
28924
28925 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28926
28927         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28928
28929         * gst/gstvalue.c: (gst_value_intersect_list):
28930           Fix memleak (#309125).
28931
28932 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28933
28934         * docs/manual/advanced-dataaccess.xml:
28935           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28936         * docs/manual/basics-pads.xml:
28937           Add reference for filtered caps to above chapter.
28938
28939 2005-06-30  Wim Taymans  <wim@fluendo.com>
28940
28941         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28942         (gst_bin_change_state):
28943         Probes are gone.
28944         Lame attempt at making the state change function a bit
28945         more readable.
28946
28947 2005-06-30  Wim Taymans  <wim@fluendo.com>
28948
28949         * docs/design/part-clocks.txt:
28950         * docs/design/part-element-sink.txt:
28951         * docs/design/part-events.txt:
28952         * docs/design/part-preroll.txt:
28953         * docs/design/part-states.txt:
28954         Some more tweeks and additions to the docs.
28955
28956 2005-06-30  Wim Taymans  <wim@fluendo.com>
28957
28958         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28959         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28960         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28961         (gst_pad_check_pull_range), (gst_pad_get_range),
28962         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28963         * gst/gstpad.h:
28964         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28965         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28966         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28967         (gst_pad_remove_buffer_probe):
28968         Removed atomic operations, use existing LOCK.
28969         Move exception handling out of main code path.
28970
28971 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28972
28973         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28974         (silly_return_true_function), (gst_pad_class_init),
28975         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28976         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28977         (gst_pad_send_event):
28978           Fix accumulator, add default value by using _emitv() instead
28979           of _emit() for signal emission.
28980
28981 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28982
28983         * docs/manual/advanced-dataaccess.xml:
28984         * examples/manual/Makefile.am:
28985           Add probe example.
28986         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28987           Make work (??).
28988
28989 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28990
28991         * gst/elements/gstfilesink.c: (gst_filesink_render):
28992           Simplify code so that we don't have to handle short
28993           writes and return GST_FLOW_ERROR if an error occured.
28994
28995 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28996
28997         * docs/gst/gstreamer-docs.sgml:
28998           Remove probes more.
28999
29000 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29001
29002         * docs/gst/gstreamer-sections.txt:
29003         * docs/gst/tmpl/gstpad.sgml:
29004         * docs/gst/tmpl/gstprobe.sgml:
29005         * gst/Makefile.am:
29006         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29007         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
29008         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29009         (gst_pad_push_event), (gst_pad_send_event):
29010         * gst/gstpad.h:
29011         * gst/gstutils.c: (gst_pad_add_data_probe),
29012         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29013         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29014         (gst_pad_remove_buffer_probe):
29015         * gst/gstutils.h:
29016           Remove old probes, add new g-signal-based probes and some utility
29017           functions.
29018
29019 2005-06-29  Edward Hervey  <edward@fluendo.com>
29020
29021         * gst/gstelementfactory.c:
29022         * gst/gstutils.h:
29023         * gst/gstutils.c:
29024         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
29025         the definition to the header file.
29026
29027 2005-06-29  Andy Wingo  <wingo@pobox.com>
29028
29029         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
29030         plugins from the source directory.
29031
29032 2005-06-29  Wim Taymans  <wim@fluendo.com>
29033
29034         * docs/gst/tmpl/gstbuffer.sgml:
29035         * docs/gst/tmpl/gstclock.sgml:
29036         Some fixings for blantently wrong text.
29037
29038 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29039
29040         * check/Makefile.am:
29041         * gst/gst.c: (add_path_func), (init_pre):
29042         * gst/gstregistry.c: (gst_registry_add_path):
29043           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
29044           only scan the GST_PLUGIN_PATH locations, and not add
29045           system locations
29046
29047 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29048
29049         * docs/gst/gstreamer-sections.txt:
29050         * docs/gst/tmpl/gstbasesrc.sgml:
29051         * gst/gstelement.c:
29052         * gst/gstelement.h:
29053         * gst/gstevent.c:
29054         * gst/gstutils.c:
29055           doc fixes
29056
29057 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29058
29059         * docs/manual/advanced-autoplugging.xml:
29060           Fix autoplugging example.
29061
29062 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29063
29064         * docs/manual/advanced-autoplugging.xml:
29065         * docs/manual/mime-world.fig:
29066           Try to get autoplugging working, fix type detection. Fix text
29067           in hello-world image.
29068
29069 2005-06-29  Wim Taymans  <wim@fluendo.com>
29070
29071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29072         (gst_base_sink_change_state):
29073         Small debug line.
29074
29075         * gst/gstclock.h:
29076         map SIGNAL and BROADCAST to the right function.
29077
29078         * gst/gstobject.h:
29079         Remove redundant braces.
29080
29081         * gst/gstpad.c: (gst_pad_set_caps):
29082         Don't call setcaps function when reseting caps to NULL.
29083
29084         * gst/gstsystemclock.c: (gst_system_clock_dispose),
29085         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29086         (gst_system_clock_id_unschedule):
29087         Use BROADCAST as this is what we do.
29088
29089 2005-06-29  Wim Taymans  <wim@fluendo.com>
29090
29091         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29092         We are actually prerolling before commiting the state
29093         change. 
29094
29095 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29096
29097         * docs/manual/advanced-clocks.xml:
29098         * docs/manual/advanced-interfaces.xml:
29099         * docs/manual/advanced-metadata.xml:
29100         * docs/manual/advanced-position.xml:
29101         * docs/manual/advanced-schedulers.xml:
29102         * docs/manual/advanced-threads.xml:
29103         * docs/manual/appendix-porting.xml:
29104         * docs/manual/basics-bins.xml:
29105         * docs/manual/basics-bus.xml:
29106         * docs/manual/basics-elements.xml:
29107         * docs/manual/basics-helloworld.xml:
29108         * docs/manual/basics-pads.xml:
29109         * docs/manual/highlevel-components.xml:
29110         * docs/manual/manual.xml:
29111         * docs/manual/thread.fig:
29112           Update (until threads/scheduling) Application Development Manual;
29113           remove GstThread, add GstBus, add simple porting checklist, add
29114           documentation for tag writing, clocks, make all examples until this
29115           part compile and run.
29116         * examples/manual/Makefile.am:
29117           Update from changes to Application Development Manual; add bus
29118           example, remove thread example.
29119
29120 2005-06-28  Wim Taymans  <wim@fluendo.com>
29121
29122         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29123         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29124         (gst_bus_source_dispatch):
29125         Add debugging messages.
29126         Make internal methods static.
29127         Handle the case where the bus is flushed in the handler.
29128         
29129         * gst/gstelement.c: (gst_element_get_bus):
29130         Fix refcount in _get_bus();
29131
29132         * gst/gstpipeline.c: (gst_pipeline_change_state),
29133         (gst_pipeline_get_clock_func):
29134         Clock refcounting fixes.
29135         Handle the case where preroll timed out more gracefully.
29136         
29137         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29138         Clean up the internal thread in dispose. This is needed
29139         for subclasses that actually get disposed.
29140         
29141         * gst/schedulers/threadscheduler.c:
29142         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29143         (gst_thread_scheduler_dispose):
29144         Free thread pool in dispose.
29145
29146 2005-06-28  Andy Wingo  <wingo@pobox.com>
29147
29148         * tests/network-clock-utils.scm (debug, print-event): New utils.
29149
29150         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29151         (*packet-loss*): Unified loss probability.
29152         (network-time): Report out-of-band events.
29153
29154         * tests/plot-data: Add support for out-of-band events. Hack it
29155         into this script instead of passing it down the pipe; should fix
29156         this later.
29157
29158 2005-06-28  Wim Taymans  <wim@fluendo.com>
29159
29160         * docs/gst/gstreamer.types:
29161         * docs/gst/tmpl/gstbasesrc.sgml:
29162         * docs/gst/tmpl/gstpad.sgml:
29163         Docs fixes.
29164
29165 2005-06-28  Wim Taymans  <wim@fluendo.com>
29166
29167         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29168         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29169         (gst_proxy_pad_do_fixatecaps):
29170         Correctly proxy the check_pull_range function.
29171
29172 2005-06-28  Andy Wingo  <wingo@pobox.com>
29173
29174         * tests/network-clock.scm: Removed need for slib.
29175         
29176 2005-06-28  Wim Taymans  <wim@fluendo.com>
29177
29178         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29179         (gst_basesink_preroll_queue_flush):
29180         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29181         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29182         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29183         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29184         (gst_proxy_pad_set_property):
29185         * gst/gstpad.c:
29186         * gst/gstpad.h:
29187         * gst/gstqueue.c: (gst_queue_init):
29188         The deprecated pad loop function is removed now.
29189
29190 2005-06-28  Andy Wingo  <wingo@pobox.com>
29191
29192         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29193         New parameters, simulate network packet loss.
29194
29195         * tests/network-clock-utils.scm: Initialize the RNG.
29196
29197 2005-06-28  Wim Taymans  <wim@fluendo.com>
29198
29199         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29200         (gst_basesink_event), (gst_basesink_deactivate):
29201         Flushing the preroll queue always needs to unlock the waiters.
29202
29203 2005-06-28  Edward Hervey  <edward@fluendo.com>
29204
29205         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29206         Wheen a seek was successful on a pipeline, set the stream_time to the
29207         seek offset in order to have a synchronized stream_time.
29208
29209 2005-06-28  Wim Taymans  <wim@fluendo.com>
29210
29211         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29212         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29213         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29214         (gst_proxy_pad_do_fixatecaps):
29215         Call wrapper function instead of just calling the function
29216         pointers. This takes care of any locking and whatmore.
29217
29218 2005-06-28  Wim Taymans  <wim@fluendo.com>
29219
29220         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29221         (gst_pad_pull_range):
29222         * gst/gstpad.h:
29223         CONNECTED -> LINKED.
29224
29225 2005-06-28  Andy Wingo  <wingo@pobox.com>
29226
29227         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29228         source-munging commit!!!
29229
29230         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29231         (gst_object_sink): Take gpointer arguments, not GstObject --
29232         avoids casts. Like GLib.
29233
29234         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29235         activate.
29236
29237 2005-06-27  Andy Wingo  <wingo@pobox.com>
29238
29239         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29240         remaining buffer.
29241
29242         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29243         returns a sorted copy of the trace list.
29244         (gst_alloc_trace_print_live): New API, only prints traces with
29245         live objects. Sort the list.
29246         (gst_alloc_trace_print_all): Sort the list.
29247         (gst_alloc_trace_print): Align columns.
29248
29249         * gst/elements/gstttypefindelement.c:
29250         * gst/elements/gsttee.c:
29251         * gst/base/gstbasesrc.c:
29252         * gst/base/gstbasesink.c:
29253         * gst/base/gstbasetransform.c:
29254         * gst/gstqueue.c: Adapt for pad activation changes.
29255
29256         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29257         sched.
29258         (gst_pipeline_dispose): Drop ref on sched.
29259
29260         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29261         (gst_pad_activate_default): Push mode by default.
29262         (pre_activate_switch, post_activate_switch): New stubs, things to
29263         do before and after switching activation modes on pads.
29264         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29265         the pad's activate function to choose which mode to activate.
29266         Shortcut on deactivation and call the right function directly.
29267         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29268         mode.
29269         (gst_pad_activate_push): New API, same for push mode.
29270         (gst_pad_set_activate_function) 
29271         (gst_pad_set_activatepull_function) 
29272         (gst_pad_set_activatepush_function): Setters for new API.
29273
29274         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29275         Trace all miniobjects.
29276         (gst_mini_object_make_writable): Unref the arg if we copy, like
29277         gst_caps_make_writable.
29278
29279         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29280
29281         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29282         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29283         Adapt for new pad API.
29284
29285         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29286
29287         * gst/gstelement.h:
29288         * gst/gstelement.c (gst_element_iterate_src_pads) 
29289         (gst_element_iterate_sink_pads): New API functions.
29290         
29291         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29292         should fold into gstiterator.c in some form.
29293         (gst_element_pads_activate): Simplified via use of fold and
29294         delegation of decisions to gstpad->activate.
29295
29296         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29297         help in debugging.
29298
29299         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29300         class once in init, like gstmessage. Didn't run into this issue
29301         but it seems correct. Don't initialize a trace, gstminiobject does
29302         that.
29303
29304         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29305         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29306         to the bus.
29307         (assert_live_count): New util function, uses alloc traces to check
29308         cleanup.
29309
29310         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29311         To be modified when unlink drops the internal pad.
29312
29313 2005-06-27  Wim Taymans  <wim@fluendo.com>
29314
29315         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29316         (gst_bin_change_state):
29317         Cleanup the get_state() function a little, make sure it
29318         iterates the same set of elements.
29319         Added stub iterate_state_order().
29320
29321 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29322
29323         * docs/gst/gstreamer-docs.sgml:
29324         * docs/gst/gstreamer-sections.txt:
29325         * docs/gst/gstreamer.types:
29326         * docs/gst/tmpl/gstbasesink.sgml:
29327         * docs/gst/tmpl/gstbasesrc.sgml:
29328         * docs/gst/tmpl/gstbasetransform.sgml:
29329         * docs/gst/tmpl/gstelement.sgml:
29330         * docs/gst/tmpl/gstiterator.sgml:
29331         * gst/base/gstbasesrc.c:
29332         * gst/base/gstbasesrc.h:
29333         * gst/base/gstbasetransform.h:
29334         * gst/gstelement.c:
29335         * gst/gstiterator.h:
29336           adding basetransform and iterator docs
29337
29338 2005-06-27  Andy Wingo  <wingo@pobox.com>
29339
29340         * docs/design/part-activation.txt: Notes on how activation should
29341         work -- not quite implemented yet.
29342
29343 2005-06-25  Wim Taymans  <wim@fluendo.com>
29344
29345         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29346         At least get the chain function correct, needs more
29347         fixing.
29348
29349 2005-06-25  Wim Taymans  <wim@fluendo.com>
29350
29351         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29352         (gst_basesink_handle_object), (gst_basesink_event),
29353         (gst_basesink_do_sync), (gst_basesink_handle_event),
29354         (gst_basesink_change_state):
29355         * gst/gsttask.h:
29356         Right, two problems here: ghostpads don't take locks and
29357         glib _rec_mutex_lock_full() with depth==0 still locks.
29358         Catch illegal locking and g_warn them.
29359
29360 2005-06-25  Wim Taymans  <wim@fluendo.com>
29361
29362         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29363         Have to check for completion now...
29364
29365 2005-06-25  Wim Taymans  <wim@fluendo.com>
29366
29367         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29368         (gst_basesink_handle_object), (gst_basesink_event),
29369         (gst_basesink_do_sync), (gst_basesink_handle_event),
29370         (gst_basesink_change_state):
29371         * gst/gstpad.h:
29372         Unlock STREAM_LOCK whatever the recursion was.
29373
29374 2005-06-25  Wim Taymans  <wim@fluendo.com>
29375
29376         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29377         (gst_basesink_preroll_queue_empty),
29378         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29379         (gst_basesink_event), (gst_basesink_do_sync),
29380         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29381         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29382         (gst_basesink_change_state):
29383         Reworked the base sink, handle event and buffer serialisation
29384         correctly and removed possible deadlock.
29385         Handle EOS correctly.
29386
29387 2005-06-25  Wim Taymans  <wim@fluendo.com>
29388
29389         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29390         (gst_pipeline_change_state):
29391         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29392         Allow elements to post EOS in the state change function.
29393         Fix up -launch, make it exit the poll loop when the
29394         pipeline actually changed state.
29395         Fix up warning parsing in -launch.
29396
29397 2005-06-25  Wim Taymans  <wim@fluendo.com>
29398
29399         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29400         (gst_tee_sink_activate):
29401         Core takes STREAM_LOCK for us now.
29402
29403 2005-06-25  Wim Taymans  <wim@fluendo.com>
29404
29405         * gst/gstelement.c: (gst_element_get_state_func),
29406         (gst_element_set_state):
29407         * gst/gstelement.h:
29408         * gst/gstmessage.c: (gst_message_parse_error),
29409         (gst_message_parse_warning):
29410         Keep track of current target state while performing a state
29411         change so that subclasses can do something interesting.
29412         Fix parsing of warning/error messages when GError is NULL.
29413
29414 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29415
29416         * docs/gst/Makefile.am:
29417         * docs/gst/gstreamer-docs.sgml:
29418         * docs/gst/gstreamer-sections.txt:
29419         * docs/gst/gstreamer.types:
29420         * docs/gst/tmpl/gstbasesink.sgml:
29421         * docs/gst/tmpl/gstbasesrc.sgml:
29422         * docs/gst/tmpl/gstbin.sgml:
29423         * docs/gst/tmpl/gstcompat.sgml:
29424         * docs/gst/tmpl/gstfakesink.sgml:
29425         * docs/gst/tmpl/gstfakesrc.sgml:
29426         * docs/gst/tmpl/gstfilesink.sgml:
29427         * docs/gst/tmpl/gstfilesrc.sgml:
29428         * docs/gst/tmpl/gstindex.sgml:
29429         * docs/manual/appendix-quotes.xml:
29430         * gst/base/gstbasesrc.h:
29431         * gst/elements/gstfakesrc.h:
29432         * gst/gstmessage.h:
29433           start pulling in base classes and elements in our docs
29434
29435 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29436
29437         * docs/gst/Makefile.am:
29438         * docs/libs/Makefile.am:
29439           fixed make distcheck with gtk-doc 1.3
29440
29441 2005-06-23  Wim Taymans  <wim@fluendo.com>
29442
29443         * gst/gstelement.c: (gst_element_get_state_func),
29444         (gst_element_set_state), (gst_element_change_state):
29445         When the state did not change, also report NO_PREROLL
29446         when it matters.
29447
29448 2005-06-23  Wim Taymans  <wim@fluendo.com>
29449
29450         * gst/gstpad.c: (gst_pad_event_default):
29451         * gst/gstqueue.c: (gst_queue_loop):
29452         No unsafe task pausing please.
29453
29454 2005-06-23  Wim Taymans  <wim@fluendo.com>
29455
29456         * gst/schedulers/threadscheduler.c:
29457         (gst_thread_scheduler_task_start),
29458         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29459         Ref the task before pushing it on the threadpool. This
29460         makes sure that we have a ref when the threadfunction is
29461         actually called.
29462
29463 2005-06-23  Andy Wingo  <wingo@pobox.com>
29464
29465         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29466         offset is greater than the file's size.
29467
29468         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29469         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29470         * gst/gstobject.c (gst_object_class_init): Make the class lock
29471         recursive. Wim won't let me drop deep_notify. Decodebin works
29472         again, whoopdy doo.
29473
29474         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29475         internal pad, and hacks accordingly. Doesn't do it on the target
29476         pad because we change its caps. Probably catches all cases of
29477         interest tho.
29478         (gst_ghost_pad_set_property): Connect to notify::caps as
29479         appropritate.
29480
29481         * tests/network-clock.scm (plot-simulation): Pipe data to the
29482         elite python skript.
29483
29484         * tests/network-clock-utils.scm (define-parameter): New macro,
29485         defines a parameter that can be set via the command line.
29486         (set-parameter!, parse-parameter-arguments): Command line args
29487         parser.
29488
29489         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29490         stdin.
29491
29492 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29493
29494         * gst/elements/gsttypefindelement.c:
29495         (gst_type_find_element_handle_event):
29496           Don't restart typefinding on a discont.
29497         * gst/gstelement.c: (gst_element_set_state):
29498           Debug spelling fix.
29499         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29500           Allow changing mode of an active pad.
29501           Debug output fixes.
29502         * gst/registries/gstlibxmlregistry.c: (load_feature):
29503           Don't cast a static pad template to a normal pad template.
29504
29505 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29506
29507         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29508         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29509           remove gst_strtoll completely, since it didn't actually do
29510           anything more than what g_ascii_strtoull already does.
29511           check for range errors when deserializing
29512           do a cast for the unsigned cases; but further fixing needs
29513           a decision on what the interpretation of "(int)" and
29514           deserialization should be for values that fall outside the
29515           type's boundaries (ie, refuse, or interpret as casting)
29516
29517 2005-06-23  Wim Taymans  <wim@fluendo.com>
29518
29519         * check/Makefile.am:
29520         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29521         * docs/design/part-live-source.txt:
29522         * docs/design/part-states.txt:
29523         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29524         (gst_basesrc_set_live), (gst_basesrc_is_live),
29525         (gst_basesrc_get_range), (gst_basesrc_activate),
29526         (gst_basesrc_change_state):
29527         * gst/base/gstbasesrc.h:
29528         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29529         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29530         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29531         * gst/gstelement.c: (gst_element_get_state_func),
29532         (gst_element_set_state):
29533         * gst/gstelement.h:
29534         * gst/gsttypes.h:
29535         * tools/gst-launch.c: (event_loop), (main):
29536         Added support for live sources and other elements that
29537         cannot do preroll.
29538         Updated design docs, added live-source design doc.
29539         Implemented live source functionality in basesrc
29540         Fix error condition in _bin_get_state()
29541         Implement live source handling in -launch.
29542         Added check for live sources.
29543         Fixed case in GstBin where elements were changed state
29544         multiple times.
29545
29546
29547 2005-06-23  Andy Wingo  <wingo@pobox.com>
29548
29549         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29550         borken refcounting.
29551
29552         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29553         gst_caps_replace takes care of this for us.
29554
29555         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29556         gst_pad_set_caps on the target, not just its setcaps() function.
29557
29558         * tests/network-clock.scm: 
29559         * tests/network-clock-utils.scm: A network clock simulator.
29560         Something of an algorithmic testbed before doing something in C.
29561
29562 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29563
29564         * check/Makefile.am:
29565         * check/gst/capslist.h:
29566           copy over from 0.8, and add two with bitmasks specified with
29567           (int) 0xFF...
29568         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29569           add test to parse everything from capslist.h
29570         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29571         (main):
29572           add test for structure deserialization
29573         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29574           add tests for deserialization of strings to int types
29575         * gst/gststructure.c: (gst_structure_nth_field_name):
29576         * gst/gststructure.h:
29577           add a way to get the name of a field referenced by index
29578         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29579           instead of checking if the resulting long long lies between
29580           min and max, we check if the long long would fit into
29581           a number of bytes for the final type.
29582           This fixes cases where a string represents 2^32 - 1, which
29583           when cast to int would be the (valid) -1, but is bigger than
29584           G_MAXINT
29585
29586 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29587
29588         * gst/parse/grammar.y:
29589           add a log line for type deserialization
29590
29591 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29592
29593         * check/gst/gstvalue.c: (START_TEST):
29594         * gst/gstvalue.c: (gst_value_deserialize):
29595           return long long, not int, so gint64 deserialization actually
29596           works.  Is there any flag that makes the compiler check this ?
29597           Fixes #308559
29598
29599 2005-06-22  Wim Taymans  <wim@fluendo.com>
29600
29601         * gst/gstbuffer.h:
29602         Added convenience macros for setting buffers in GValue.
29603
29604 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29605
29606         * check/gst/.cvsignore:
29607         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29608           add a test deserializing int64, and comment part out because
29609           it fails, yay !
29610
29611 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29612
29613         * check/Makefile.am:
29614         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29615         * testsuite/Makefile.am:
29616         * testsuite/caps/Makefile.am:
29617         * testsuite/caps/value_serialize.c:
29618         * testsuite/test_gst_init.c:
29619           move a value_serialize test over
29620
29621 2005-06-20  Wim Taymans  <wim@fluendo.com>
29622
29623         * gst/gstpad.c:
29624         Small doc updates.
29625         
29626         * gst/gstvalue.c: (gst_value_compare_buffer),
29627         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29628         (gst_value_compare_flags), (gst_value_serialize_flags),
29629         (gst_value_deserialize_flags), (_gst_value_initialize):
29630         Fix serialisation of buffers, they are not boxed types anymore
29631
29632 2005-06-20  Wim Taymans  <wim@fluendo.com>
29633
29634         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29635         Testcase to show error in buffer-on-caps serialisation.
29636
29637 2005-06-20  Andy Wingo  <wingo@pobox.com>
29638
29639         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29640         will be adding to later.
29641
29642         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29643         if its socks fill with rocks.
29644         (gst_system_clock_obtain): Set the name on object construction.
29645         Avoid double-checked locking.
29646
29647 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29648
29649         * gst/gsturi.c: (gst_element_make_from_uri):
29650           Fix potential endless loop.
29651
29652 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29653
29654         * check/Makefile.am:
29655           add gsttag
29656         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29657         (main):
29658           move over from testsuite dir and clean up
29659         * configure.ac:
29660         * gst/gsttag.c:
29661         * testsuite/Makefile.am:
29662         * testsuite/tags/.cvsignore:
29663         * testsuite/tags/Makefile.am:
29664         * testsuite/tags/merge.c:
29665           remove testsuite/tags
29666
29667 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29668
29669         * docs/gst/gstreamer-sections.txt:
29670         * docs/gst/tmpl/gstenumtypes.sgml:
29671         * win32/gstenumtypes.c:
29672           clean up documentation build a little
29673
29674 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29675
29676         * check/gstcheck.h:
29677           add macros for checking refcounts on objects and caps
29678         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29679           add some more unit tests
29680         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29681         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29682           fix leaked refcounts (I hope :)) so unittest works
29683         * gst/gstpad.h:
29684           whitespace removal
29685
29686 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29687
29688         * configure.ac: back to HEAD
29689
29690 === release 0.9.1 ===
29691
29692 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29693
29694         * NEWS:
29695         * RELEASE:
29696           updated
29697
29698 2005-06-17  Andy Wingo  <wingo@pobox.com>
29699
29700         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29701         assert; it's always possible that the pad gets deactivated in
29702         between the checks in gstpad.c and the implementation. Rely on
29703         finish_preroll() to return a FLUSHING or similar instead of on the
29704         assert.
29705         
29706         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29707         clock and post an EOS message if we come out of finish_preroll in
29708         the playing state.
29709
29710 2005-06-16  David Schleef  <ds@schleef.org>
29711
29712         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29713         (gst_capsfilter_set_property): Allow NULL as possible value
29714         for filter_caps property, indicating GST_CAPS_ANY.
29715
29716 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29717
29718         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29719           fix debug output
29720         * gst/schedulers/Makefile.am:
29721           use libgst prefix
29722         * gstreamer.spec.in:
29723           fix spec for it
29724
29725 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29726
29727         * gstreamer.spec.in:
29728           clean up
29729
29730 2005-06-08  Andy Wingo  <wingo@pobox.com>
29731
29732         * gst/gstutils.c: RPAD fixes all around.
29733         (gst_element_link_pads): Refcounting fixes.
29734
29735         * tools/gst-inspect.c:
29736         * tools/gst-xmlinspect.c:
29737         * parse/grammar.y:
29738         * gst/base/gsttypefindhelper.c:
29739         * gst/base/gstbasesink.c:
29740         * gst/gstqueue.c: RPAD fixes.
29741
29742         * gst/gstghostpad.h:
29743         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29744         pads. The tricky thing is they provide both source and sink
29745         interfaces, since they proxy the internal pad for the external
29746         pad, and vice versa. Implement with lower-level ProxyPad objects,
29747         with the interior proxy pad as a child of the exterior ghost pad.
29748         Should write a doc on this.
29749         
29750         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29751         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29752         gst_object API.
29753         
29754         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29755         pads are real pads. No ghost pads in this file. Not documenting
29756         the myriad s/RPAD/PAD/ and REALIZE fixes.
29757         (gst_pad_class_init): Add properties for "direction" and
29758         "template". Both are construct-only, so they can't change during
29759         the life of the pad. Fixes properly deriving from GstPad.
29760         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29761         derived objects, just set properties when creating the objects via
29762         g_object_new.
29763         (gst_pad_get_parent): Implement as a function, return NULL if the
29764         parent is not an element.
29765         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29766         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29767         
29768         * gst/gstobject.c (gst_object_class_init): Make name a construct
29769         property. Don't set it in the object init.
29770
29771         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29772         with UNKNOWN direction.
29773         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29774         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29775         (gst_element_remove_pad): Remove ghost-pad special cases.
29776         (gst_element_pads_activate): Remove rpad cruft.
29777
29778         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29779         catch the pad's-parent-not-an-element case.
29780
29781         * gst/gst.h: Include gstghostpad.h.
29782
29783         * gst/gst.c (init_post): No more real, ghost pads.
29784
29785         * gst/Makefile.am: Add gstghostpad.[ch].
29786
29787         * check/Makefile.am:
29788         * check/gst/gstbin.c:
29789         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29790         into a bin creates ghost pads, and that the refcounts are right.
29791         Partly moved from gstbin.c.
29792
29793 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29794
29795         * check/gst-libs/.cvsignore:
29796         * check/gst/.cvsignore:
29797         * check/pipelines/.cvsignore:
29798           ignore more
29799         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29800         (START_TEST), (cleanup_suite), (main):
29801           add some tests related to cleanup after running pipelines
29802
29803 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29804
29805         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29806           add a testsuite for GstBuffer
29807
29808 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29809
29810         * gst/gstminiobject.h:
29811           add defines for accessing the refcount
29812
29813 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29814
29815         * Makefile.am: added support for html unit test coverage reports
29816
29817 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29818
29819         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29820           Free existing caps if the capsfilter changes. Add a FIXME about
29821           setting those caps on the pads.
29822
29823         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29824           Before adding a ghost pad to a parent bin, check that there isn't
29825           already one for the element on the bin. Prevents infinite recursion
29826           when using decodebin in parse pipelines. Andy says he'll rewrite the
29827           way this works anyway, so ignore the hack.
29828
29829 2005-06-02  Andy Wingo  <wingo@pobox.com>
29830
29831         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29832         file size, pass it on to the type find helper.
29833
29834         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29835         segment_start and segment_end properly according to the seek
29836         method. Segment_end is still a bit flaky because offset can be
29837         negative for CUR and END cases, but it takes -1 as an "unset"
29838         value.
29839
29840 2005-06-02  Wim Taymans  <wim@fluendo.com>
29841
29842         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29843         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29844         (gst_basesink_activate):
29845         * gst/base/gstbasesink.h:
29846         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29847         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29848         (gst_pad_query), (gst_pad_start_task):
29849         * gst/gstpad.h:
29850         * gst/gstqueue.c: (gst_queue_bufferalloc),
29851         (gst_queue_handle_sink_event), (gst_queue_chain):
29852         Bufferalloc: return GstFlowReturn to more accuratly report
29853         why allocation failed.
29854
29855 2005-06-02  Wim Taymans  <wim@fluendo.com>
29856
29857         * gst/gstpipeline.c: (gst_pipeline_send_event):
29858         Take snapshot of state without blocking.
29859
29860 2005-06-02  Wim Taymans  <wim@fluendo.com>
29861
29862         * docs/design/part-TODO.txt:
29863         * docs/design/part-caps.txt:
29864         * docs/design/part-clocks.txt:
29865         * docs/design/part-negotiation.txt:
29866         * docs/design/part-preroll.txt:
29867         Small doc updates 
29868
29869 2005-05-30  Wim Taymans  <wim@fluendo.com>
29870
29871         * gst/elements/gstidentity.c: (gst_identity_event),
29872         (gst_identity_transform), (gst_identity_get_property):
29873         Protect last_message property as it is accessed from
29874         multiple threads.
29875
29876 2005-05-30  Wim Taymans  <wim@fluendo.com>
29877
29878         * gst/gstelement.c: (gst_element_init),
29879         (gst_element_pads_activate), (gst_element_change_state):
29880         Slicker pad activation code.
29881
29882 2005-05-30  Wim Taymans  <wim@fluendo.com>
29883
29884         * gst/Makefile.am:
29885         * gst/gstelement.h:
29886         * gst/gstelementfactory.h:
29887         * gst/gsttypes.h:
29888         Move elementfactory methods to separate .h file.
29889
29890 2005-05-30  Wim Taymans  <wim@fluendo.com>
29891
29892         * docs/design/part-overview.txt:
29893         * gst/gstsystemclock.h:
29894         Small typo fixes, doc updates.
29895
29896 2005-05-30  Wim Taymans  <wim@fluendo.com>
29897
29898         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29899         (init_popt_callback):
29900         Remove cpu-opt flag.
29901
29902 2005-05-30  Wim Taymans  <wim@fluendo.com>
29903
29904         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29905         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29906         * gst/gstbuffer.h:
29907         Avoid typechecking in places where not needed.
29908         Added accessor for malloc_data.
29909
29910 2005-05-30  Wim Taymans  <wim@fluendo.com>
29911
29912         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29913         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29914         (gst_pad_configure_sink), (gst_pad_configure_src),
29915         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29916         (gst_pad_start_task):
29917         Propagate errors from _set_caps() in configure_src/sink
29918         functions instead of returning TRUE.
29919         FLUSH events can travel up and downstream
29920
29921
29922 2005-05-30  Wim Taymans  <wim@fluendo.com>
29923
29924         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29925         (gst_basesink_activate):
29926         Handle EOS in preroll.
29927
29928 2005-05-30  Wim Taymans  <wim@fluendo.com>
29929
29930         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29931         (gst_queue_loop), (gst_queue_handle_src_event):
29932         Remove old pieces of code
29933         Flushing the queue in an upstream event is a very bad idea.
29934
29935 2005-05-26  Andy Wingo  <wingo@pobox.com>
29936
29937         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29938         gst_value_set_mini_object so as to add a ref on the object (which
29939         will be removed when the value is unset).
29940
29941         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29942         arg type in ::handoff.
29943
29944         * gst/gstelement.c (gst_element_change_state): Also deactivate
29945         pads in READY->NULL, just in case the element didn't make it to
29946         PAUSED. Wingo tested, Wim approved.
29947
29948 2005-05-26  Wim Taymans  <wim@fluendo.com>
29949
29950         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29951         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29952         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29953         A flushing pad cannot be used to alloc_buffer from.
29954
29955 2005-05-26  Wim Taymans  <wim@fluendo.com>
29956
29957         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29958         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29959         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29960         (gst_bus_create_watch), (gst_bus_add_watch_full):
29961         * gst/gstbus.h:
29962         Implement a real GSource and use g_main_context_wakeup() to
29963         signal new messages instead of the socketpair.
29964
29965 2005-05-25  Wim Taymans  <wim@fluendo.com>
29966
29967         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29968         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29969         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29970         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29971         (gst_pad_send_event), (gst_pad_start_task):
29972         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29973         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29974         (gst_queue_sink_activate), (gst_queue_src_activate),
29975         (gst_queue_change_state):
29976         * gst/gstqueue.h:
29977         Fix state changes for non sinks. We now change sinks, then elements
29978         with unconnected srcpads, then the rest.
29979         More efficient queue unlocking in flush and state changes.
29980         Set the pad activate mode even if it does not have an activate
29981         function.
29982
29983 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29984
29985         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29986           Don't go in pull mode for non-seekable sources.
29987         * gst/elements/gsttypefindelement.h:
29988         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29989         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29990         (free_entry), (stop_typefinding),
29991         (gst_type_find_element_handle_event), (find_peek),
29992         (gst_type_find_element_chain), (do_pull_typefind),
29993         (gst_type_find_element_change_state):
29994           Allow typefinding (w/o seeking) in push-mode, simplified version
29995           of what was in 0.8.
29996         * gst/gstutils.c: (gst_buffer_join):
29997         * gst/gstutils.h:
29998           gst_buffer_join() from 0.8.
29999
30000 2005-05-25  Wim Taymans  <wim@fluendo.com>
30001
30002         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30003         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30004         (gst_pad_send_event), (gst_pad_start_task):
30005         Disable attempt at mode switching until it is figured out.
30006
30007 2005-05-25  Wim Taymans  <wim@fluendo.com>
30008
30009         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
30010         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30011         (gst_basesink_finish_preroll), (gst_basesink_chain),
30012         (gst_basesink_loop), (gst_basesink_activate),
30013         (gst_basesink_change_state):
30014         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
30015         (gst_basesrc_get_range), (gst_basesrc_loop),
30016         (gst_basesrc_activate):
30017         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30018         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30019         (gst_real_pad_init), (gst_real_pad_set_property),
30020         (gst_real_pad_get_property), (gst_pad_set_active),
30021         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
30022         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
30023         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
30024         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
30025         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30026         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
30027         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
30028         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
30029         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
30030         (gst_pad_stop_task):
30031         * gst/gstpad.h:
30032         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30033         (gst_queue_loop), (gst_queue_src_activate):
30034         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
30035         (gst_task_get_state):
30036         * gst/gsttask.h:
30037         * gst/schedulers/threadscheduler.c:
30038         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
30039         Implement gst_pad_pause/start/stop_task(), take STREAM lock
30040         in task function.
30041         Remove ACTIVE pad flag, use FLUSHING everywhere
30042         Added _pad_chain(), _pad_get_range() to call chain/getrange 
30043         functions.
30044         Add locks around IS_FLUSHING when reading.
30045         Take STREAM lock in chain(), get_range() functions so plugins
30046         don't need to take it anymore.
30047         
30048
30049
30050 2005-05-25  Wim Taymans  <wim@fluendo.com>
30051
30052         * tools/gst-launch.c: (event_loop):
30053         Unref message after using its contents instead of
30054         before.
30055
30056 2005-05-24  Wim Taymans  <wim@fluendo.com>
30057
30058         * docs/design/draft-ghostpads.txt:
30059         * docs/design/draft-push-pull.txt:
30060         * docs/design/draft-query.txt:
30061         * docs/design/part-overview.txt:
30062         Docs updates, added general overview doc.
30063
30064 2005-05-21  David Schleef  <ds@schleef.org>
30065
30066         * docs/gst/tmpl/old/GstBin.sgml:
30067         * docs/gst/tmpl/old/GstBuffer.sgml:
30068         * docs/gst/tmpl/old/GstCaps.sgml:
30069         * docs/gst/tmpl/old/GstClock.sgml:
30070         * docs/gst/tmpl/old/GstCompat.sgml:
30071         * docs/gst/tmpl/old/GstData.sgml:
30072         * docs/gst/tmpl/old/GstElement.sgml:
30073         * docs/gst/tmpl/old/GstEvent.sgml:
30074         * docs/gst/tmpl/old/GstIndex.sgml:
30075         * docs/gst/tmpl/old/GstStructure.sgml:
30076         * docs/gst/tmpl/old/GstTag.sgml:
30077         * docs/gst/tmpl/old/cothreads.sgml:
30078         * docs/gst/tmpl/old/cothreads_compat.sgml:
30079         * docs/gst/tmpl/old/gettext.sgml:
30080         * docs/gst/tmpl/old/gobject2gtk.sgml:
30081         * docs/gst/tmpl/old/grammar.tab.sgml:
30082         * docs/gst/tmpl/old/gst-i18n-app.sgml:
30083         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30084         * docs/gst/tmpl/old/gst_private.sgml:
30085         * docs/gst/tmpl/old/gstaggregator.sgml:
30086         * docs/gst/tmpl/old/gstarch.sgml:
30087         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30088         * docs/gst/tmpl/old/gstbufferstore.sgml:
30089         * docs/gst/tmpl/old/gstdata_private.sgml:
30090         * docs/gst/tmpl/old/gstdisksink.sgml:
30091         * docs/gst/tmpl/old/gstdisksrc.sgml:
30092         * docs/gst/tmpl/old/gstelementfactory.sgml:
30093         * docs/gst/tmpl/old/gstextratypes.sgml:
30094         * docs/gst/tmpl/old/gstfakesink.sgml:
30095         * docs/gst/tmpl/old/gstfakesrc.sgml:
30096         * docs/gst/tmpl/old/gstfdsink.sgml:
30097         * docs/gst/tmpl/old/gstfdsrc.sgml:
30098         * docs/gst/tmpl/old/gstfilesink.sgml:
30099         * docs/gst/tmpl/old/gstfilesrc.sgml:
30100         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30101         * docs/gst/tmpl/old/gstidentity.sgml:
30102         * docs/gst/tmpl/old/gstindexfactory.sgml:
30103         * docs/gst/tmpl/old/gstmarshal.sgml:
30104         * docs/gst/tmpl/old/gstmd5sink.sgml:
30105         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30106         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30107         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30108         * docs/gst/tmpl/old/gstpipefilter.sgml:
30109         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30110         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30111         * docs/gst/tmpl/old/gstshaper.sgml:
30112         * docs/gst/tmpl/old/gstspider.sgml:
30113         * docs/gst/tmpl/old/gstspideridentity.sgml:
30114         * docs/gst/tmpl/old/gststatistics.sgml:
30115         * docs/gst/tmpl/old/gsttee.sgml:
30116         * docs/gst/tmpl/old/gsttimecache.sgml:
30117         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30118         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30119         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30120         * docs/gst/tmpl/old/types.sgml:
30121           I didn't intend to add these or check them in.
30122
30123 2005-05-19  David Schleef  <ds@schleef.org>
30124
30125         * configure.ac: Use -no-common everywhere.  In a sane world, it
30126           would be the default in libtool, because without it, you can't
30127           build DLLs on Windows.
30128         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30129         * docs/gst/gstreamer-sections.txt:
30130         * docs/gst/tmpl/gstcpu.sgml:
30131         * docs/gst/tmpl/gstdata.sgml:
30132         * docs/gst/tmpl/gstthread.sgml:
30133
30134 2005-05-19  David Schleef  <ds@schleef.org>
30135
30136         * gst/gstminiobject.c: (gst_value_set_mini_object),
30137         (gst_value_take_mini_object), (gst_value_get_mini_object):
30138         * gst/gstminiobject.h: Add GValue set/get functions.
30139
30140 2005-05-19  Wim Taymans  <wim@fluendo.com>
30141
30142         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30143         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30144         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30145         * gst/gstbuffer.h:
30146         * gst/gstbus.c: (gst_bus_post):
30147         * gst/gstelement.c: (gst_element_get_random_pad):
30148         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30149         Make subbufer unref the parent in finalize.
30150         some more debugging info.
30151
30152
30153 2005-05-19  Wim Taymans  <wim@fluendo.com>
30154
30155         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30156         (gst_basesink_init), (gst_basesink_finalize),
30157         (gst_basesink_activate), (gst_basesink_change_state):
30158         Don't free preroll queue too early.
30159
30160 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30161
30162         * gst/Makefile.am:
30163         * gst/ROADMAP:
30164           Hi, I'm outdated. Please shoot me.
30165
30166 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30167
30168         * gst/gstpipeline.c: (gst_pipeline_send_event):
30169           Do not access variables after they have been deleted.
30170
30171 2005-05-19  Wim Taymans  <wim@fluendo.com>
30172
30173         * tools/gst-inspect.c: (print_plugin_features):
30174         A plugin feature does unfortunatly not use the
30175         object name yet...
30176
30177 2005-05-18  Wim Taymans  <wim@fluendo.com>
30178
30179         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30180         Port _span() functions to new subbuffers.
30181
30182 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30183
30184         * gst/gstbin.c: (gst_bin_add_func):
30185           Fix clock settery in bins when adding kids after the clock has
30186           been selected.
30187
30188 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30189
30190         * gst/elements/gstidentity.c: (gst_identity_class_init):
30191           Workaround until signals support GstMiniObject.
30192
30193 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30194
30195         * gst/gstbuffer.c:
30196         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30197
30198 2005-05-18  Wim Taymans  <wim@fluendo.com>
30199
30200         * gst/base/Makefile.am:
30201         * gst/base/gstadapter.c: (gst_adapter_base_init),
30202         (gst_adapter_class_init), (gst_adapter_init),
30203         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30204         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30205         (gst_adapter_flush), (gst_adapter_available),
30206         (gst_adapter_available_fast):
30207         * gst/base/gstadapter.h:
30208         Ported and added adapter to the base classes.
30209
30210 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30211
30212         * gst/gst.c:
30213         * gst/gstmessage.c:
30214           Make sure the class is reffed/unreffed once before threads can be
30215           used.  Fixes #304551.
30216
30217 2005-05-17  Wim Taymans  <wim@fluendo.com>
30218
30219         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30220         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30221         * gst/gstminiobject.c: (gst_mini_object_get_type),
30222         (gst_mini_object_free):
30223         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30224         (gst_pad_push), (gst_pad_push_event):
30225         * gst/gstqueue.c: (gst_queue_change_state):
30226         Don't queue buffers in basesink when we are flushing.
30227         Unref buffer when flushing in basesink.
30228         Flush queue when going to READY
30229         Unref buffer when _push() returns an error.
30230         Don't free MiniObject instance when refcount is incremented
30231         in _finalize() so that we can recover objects.
30232
30233 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30234
30235         * docs/manual/advanced-schedulers.xml:
30236         * docs/manual/appendix-checklist.xml:
30237         * docs/pwg/advanced-clock.xml:
30238         * docs/pwg/advanced-interfaces.xml:
30239         * docs/pwg/advanced-request.xml:
30240         * docs/pwg/advanced-types.xml:
30241         * docs/pwg/intro-preface.xml:
30242         * examples/plugins/example.c: (gst_example_get_type),
30243         (gst_example_class_init), (gst_example_chain),
30244         (gst_example_set_property), (gst_example_get_property),
30245         (gst_example_change_state), (plugin_init):
30246         * examples/plugins/example.h:
30247           small doc fixes
30248
30249 2005-05-17  Wim Taymans  <wim@fluendo.com>
30250
30251         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30252         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30253         * gst/gstqueue.c: (gst_queue_change_state):
30254         Clear queue when going to READY.
30255         Remove IN_SETCAPS flag too.
30256
30257 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30258
30259         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30260           Remove implicit cast from gboolean to GstElementStateReturn;
30261           make sure we still return failure in paused => ready case if
30262           the parent class fails to change state and our own stop 
30263           vfunc succeeds.
30264
30265 2005-05-17  Wim Taymans  <wim@fluendo.com>
30266
30267         * tools/gst-launch.c: (event_loop):
30268         Message was unreffed too soon.
30269
30270 2005-05-16  Andy Wingo  <wingo@pobox.com>
30271
30272         * gst/gstbin.c (sink_iterator_filter): Err... um...
30273
30274         * check/gst/gstbin.c (test_ghost_pads): New test for the
30275         ghosting-if-elements-not-in-same-bin behavior.
30276
30277 2005-05-16  David Schleef  <ds@schleef.org>
30278
30279         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30280         accessing refcount directly.
30281
30282 2005-05-15  David Schleef  <ds@schleef.org>
30283
30284         * check/Makefile.am: remove GstData checks
30285         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30286         * gst/Makefile.am: add miniobject, remove data
30287         * gst/gst.h: add miniobject, remove data
30288         * gst/gstdata.c: remove
30289         * gst/gstdata.h: remove
30290         * gst/gstdata_private.h: remove
30291         * gst/gsttypes.h: remove GstEvent and GstMessage
30292         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30293         * gst/gstmarshal.list: change BOXED -> OBJECT
30294
30295         Implement GstMiniObject.
30296         * gst/gstminiobject.c:
30297         * gst/gstminiobject.h:
30298
30299         Modify to be subclasses of GstMiniObject.
30300         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30301         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30302         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30303         (gst_subbuffer_get_type), (gst_subbuffer_init),
30304         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30305         (gst_buffer_span):
30306         * gst/gstbuffer.h:
30307         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30308         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30309         (_gst_event_copy), (gst_event_new):
30310         * gst/gstevent.h:
30311         * gst/gstmessage.c: (_gst_message_initialize),
30312         (gst_message_get_type), (gst_message_class_init),
30313         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30314         (gst_message_new), (gst_message_new_error),
30315         (gst_message_new_warning), (gst_message_new_tag),
30316         (gst_message_new_state_changed), (gst_message_new_application):
30317         * gst/gstmessage.h:
30318         * gst/gstprobe.c: (gst_probe_perform),
30319         (gst_probe_dispatcher_dispatch):
30320         * gst/gstprobe.h:
30321         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30322         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30323         (_gst_query_copy), (gst_query_new):
30324
30325         Update elements for GstData -> GstMiniObject changes
30326         * gst/gstquery.h:
30327         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30328         (gst_queue_chain), (gst_queue_loop):
30329         * gst/elements/gstbufferstore.c:
30330         (gst_buffer_store_add_buffer_func),
30331         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30332         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30333         (gst_fakesink_render):
30334         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30335         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30336         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30337         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30338         (gst_filesrc_create_read):
30339         * gst/elements/gstidentity.c: (gst_identity_class_init):
30340         * gst/elements/gsttypefindelement.c:
30341         (gst_type_find_element_src_event), (free_entry_buffers),
30342         (gst_type_find_element_handle_event):
30343         * libs/gst/dataprotocol/dataprotocol.c:
30344         (gst_dp_header_from_buffer):
30345         * libs/gst/dataprotocol/dataprotocol.h:
30346         * libs/gst/dataprotocol/dp-private.h:
30347
30348 2005-05-15  David Schleef  <ds@schleef.org>
30349
30350         * gst/elements/gstelements.c: Don't include headers that were
30351         just removed.
30352
30353 2005-05-15  David Schleef  <ds@schleef.org>
30354
30355         * gst/elements/Makefile.am: Remove some elements that don't
30356         need to be in the core (or even exist at all).
30357         * gst/elements/gstaggregator.c:
30358         * gst/elements/gstaggregator.h:
30359         * gst/elements/gstmd5sink.c:
30360         * gst/elements/gstmd5sink.h:
30361         * gst/elements/gstmultifilesrc.c:
30362         * gst/elements/gstmultifilesrc.h:
30363         * gst/elements/gstpipefilter.c:
30364         * gst/elements/gstpipefilter.h:
30365         * gst/elements/gstshaper.c:
30366         * gst/elements/gstshaper.h:
30367         * gst/elements/gststatistics.c:
30368         * gst/elements/gststatistics.h:
30369         * po/POTFILES.in: Remove above files.
30370
30371 2005-05-14  Andy Wingo  <wingo@pobox.com>
30372
30373         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30374         so as to get the refs right.
30375         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30376         unreffing objects that don't pass the filter.
30377
30378         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30379         gst_element_set_bus.
30380         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30381         normal cases, this will destroy the bus.
30382
30383         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30384         object.
30385
30386         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30387         has no sinks.
30388
30389 2005-05-13  Andy Wingo  <wingo@pobox.com>
30390
30391         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30392         gst_pad_link, call pad_link_maybe_ghosting,
30393         (pad_link_maybe_ghosting): Links pads, making sure that the
30394         elements being linked are in the same bin.
30395         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30396         Helpers for pad_link_maybe_ghosting.
30397
30398 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30399
30400         * configure.ac:
30401           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30402
30403 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30404
30405         * docs/design/part-element-source.txt:
30406           Mention GstPushSrc
30407
30408 2005-05-12  Wim Taymans  <wim@fluendo.com>
30409
30410         * gst/base/gstbasesink.c: (gst_basesink_init),
30411         (gst_basesink_activate):
30412         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30413         (gst_basesrc_is_seekable):
30414         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30415         (bin_element_is_sink), (gst_bin_change_state):
30416         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30417         * gst/gstelement.h:
30418         Identify sinks by their flag to avoid overly complicated
30419         checks (fow now).
30420         Do state changes even for elements not reachable from the
30421         sinks.
30422         BaseSink is a sink now :)
30423         Some more debugging info in the basesrc.
30424
30425
30426 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30427
30428         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30429           Implement _query on a bin, similar to _send_event.
30430
30431 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30432
30433         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30434           Discont event offset format should be GST_FORMAT_BYTES,
30435           not GST_FORMAT_TIME.
30436
30437 2005-05-12  Wim Taymans  <wim@fluendo.com>
30438
30439         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30440         Same fix as Ronald's but without the signal. 
30441
30442 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30443
30444         * gst/gstutils.c: (gst_element_query_position):
30445           No, an element is not a pad.
30446
30447 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30448
30449         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30450         (gst_bin_get_state):
30451           If a child is removed from a bin while we remove the child from
30452           the bin and while we're retrieving its state, signal this to the
30453           get_state function so we abort the wait (instead of waiting for
30454           a timeout) and can immediately re-iterate over all other elements.
30455
30456 2005-05-12  Wim Taymans  <wim@fluendo.com>
30457
30458         * gst/base/Makefile.am:
30459         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30460         (gst_basesrc_start):
30461         * gst/base/gstbasesrc.h:
30462         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30463         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30464         (gst_pushsrc_init), (gst_pushsrc_create):
30465         * gst/base/gstpushsrc.h:
30466         Added is_seekable to BaseSrc
30467         Added simple PushSrc.
30468
30469 2005-05-11  Wim Taymans  <wim@fluendo.com>
30470
30471         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30472         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30473         (gst_element_link_pads), (gst_element_query_position),
30474         (gst_element_query_convert), (intersect_caps_func),
30475         (gst_pad_query_position), (gst_pad_query_convert):
30476         Fix refcounting in utils function.
30477         No point in trying to activate a pad when it's added, it could
30478         be added from the state change function and then we deadlock, the
30479         element has to decide what to do.
30480
30481 2005-05-10  Andy Wingo  <wingo@pobox.com>
30482
30483         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30484         *all* the arguments.
30485
30486         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30487         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30488         lock (according to the docs -- if this is wrong change the docs).
30489
30490         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30491         flush messages in the NULL state.
30492
30493         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30494         message immediately and return.
30495         (gst_bus_set_flushing): New function. If a bus is flushing, it
30496         flushes out any queued messages and immediately unrefs new
30497         messages. This is so when an element goes to NULL, all of the
30498         unhandled messages coming from it can be freed, and their
30499         references to the element dropped. In other words: message source
30500         ref considered harmful :P
30501
30502         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30503         we're finished with it.
30504
30505         * gst/gstmessage.c (gst_message_new_state_changed): 
30506
30507 2005-05-10  Wim Taymans  <wim@fluendo.com>
30508
30509         * gst/gstvalue.c: (gst_value_compare_flags),
30510         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30511         (_gst_value_initialize):
30512         Added flags serialize/deserialize/compare code.
30513
30514 2005-05-09  Andy Wingo  <wingo@pobox.com>
30515
30516         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30517         Intersect the peer's caps with our caps.
30518
30519 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30520
30521         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30522         * gst/elements/gsttypefindelement.c: (find_peek):
30523           Handle negative offsets better. Fixes decodebin.
30524
30525 2005-05-09  Wim Taymans  <wim@fluendo.com>
30526
30527         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30528         (gst_base_transform_event):
30529         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30530         Implement accept_caps.
30531         Fix silly lock/unlock mismatch in base class.
30532
30533 2005-05-09  Wim Taymans  <wim@fluendo.com>
30534
30535         * docs/design/draft-push-pull.txt:
30536         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30537         * gst/elements/gstfilesink.c: (gst_filesink_init),
30538         (gst_filesink_query):
30539         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30540         (gst_type_find_handle_src_query), (find_element_get_length):
30541         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30542         * gst/gstelement.h:
30543         * gst/gstmessage.c:
30544         * gst/gstmessage.h:
30545         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30546         (gst_real_pad_get_caps_unlocked),
30547         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30548         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30549         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30550         (gst_real_pad_dispose), (gst_real_pad_finalize),
30551         (gst_pad_load_and_link), (gst_pad_save_thyself),
30552         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30553         (gst_pad_check_pull_range), (gst_pad_pull_range),
30554         (gst_pad_template_get_type), (gst_pad_template_class_init),
30555         (gst_pad_template_init), (gst_pad_template_dispose),
30556         (name_is_valid), (gst_static_pad_template_get),
30557         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30558         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30559         (gst_pad_get_element_private), (gst_pad_start_task),
30560         (gst_pad_pause_task), (gst_pad_stop_task),
30561         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30562         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30563         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30564         (gst_ghost_pad_new):
30565         * gst/gstpad.h:
30566         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30567         (gst_query_new_position), (gst_query_set_position),
30568         (gst_query_parse_position), (gst_query_new_convert),
30569         (gst_query_set_convert), (gst_query_parse_convert):
30570         * gst/gstquery.h:
30571         * gst/gstqueryutils.c:
30572         * gst/gstqueryutils.h:
30573         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30574         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30575         (gst_queue_handle_src_query):
30576         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30577         (gst_element_query_position), (gst_element_query_convert),
30578         (intersect_caps_func), (gst_pad_query_position),
30579         (gst_pad_query_convert):
30580         * gst/gstutils.h:
30581         * tools/gst-inspect.c: (print_pad_info):
30582         * tools/gst-xmlinspect.c: (print_element_info):
30583         Remove old query functions. Ported old code.
30584         Added position/convert helper functions to gstutils.
30585         Reordered gstpad.c code, grouping relevant things.
30586         Remove gst_message_new(), always need to speficy a specific
30587         message.
30588
30589
30590 2005-05-09  Andy Wingo  <wingo@pobox.com>
30591
30592         * gst/gstiterator.h: Add some includes.
30593
30594         * gst/gstqueryutils.h: Include more headers.
30595
30596         * gst/gstpad.h:
30597         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30598         some uses of gst_pad_query.
30599
30600         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30601         NULL out parameters.
30602         (gst_query_new_position): New proc, allocates a new position
30603         query.
30604
30605         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30606         gstqueryutils.c to the build.
30607
30608         * gst/gststructure.c (gst_structure_set_valist): Implement with
30609         the generic G_VALUE_COLLECT.
30610         
30611 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30612
30613         * gst/Makefile.am: (gst_headers):
30614         Added gstqueryutils.h to the list of headers to install, that was
30615         a 'nachty' move wingo :)
30616
30617 2005-05-06  Andy Wingo  <wingo@pobox.com>
30618
30619         * gst/gstquery.h
30620         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30621         GstData, init a memchunk.
30622         (standard_definitions): Add a few query types, deprecate a few.
30623         (gst_query_get_type): New proc.
30624         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30625         implementation.
30626         (gst_query_new_application, gst_query_get_structure): New public
30627         procs.
30628
30629         * docs/design/draft-query.txt: Removed LINKS from the query types,
30630         because all the rest can be dispatched to other pads -- seemed
30631         ugly to have a query that couldn't be dispatched. internal_links
30632         is fine as a pad method.
30633
30634         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30635         in gstpad.c, but maintain binary compatibility for the moment.
30636         Will fix before 0.9 is out.
30637
30638         * gst/gstqueryutils.c: 
30639         * gst/gstqueryutils.h: New files, implement 3 methods for each
30640         query type: parse_query, parse_response, and set. Probably need an
30641         allocator as well.
30642
30643         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30644
30645         * gst/elements/gstfilesink.c (gst_filesink_query2):
30646         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30647         query_types, and formats methods.
30648
30649         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30650         (gst_pad_set_query2_function): New functions.
30651         (gst_real_pad_init): Set query2_default as the default query2
30652         function. Basically just dispatches to internally linked pads.
30653
30654         Needs review!
30655         
30656         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30657         without using the atomic operations. Only one thread can possibly
30658         be accessing the data at this point. Changed so as to avoid
30659         gst_atomic operations.
30660
30661 2005-05-06  Wim Taymans  <wim@fluendo.com>
30662
30663         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30664         Also set caps if we use the fallback buffer alloc.
30665
30666 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30667
30668         * docs/gst/Makefile.am:
30669         * docs/gst/gstreamer-docs.sgml:
30670         * docs/gst/gstreamer-sections.txt:
30671         * docs/gst/tmpl/gstatomic.sgml:
30672         * docs/gst/tmpl/gstmemchunk.sgml:
30673         * testsuite/elements/struct_i386.h:
30674         * win32/GStreamer.vcproj:
30675         * win32/Makefile:
30676           Purge GstAtomic stuff from docs and win32 makefiles as well
30677
30678 2005-05-06  Wim Taymans  <wim@fluendo.com>
30679
30680         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30681         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30682         * gst/gstpad.c: (gst_pad_peer_get_caps):
30683         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30684         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30685         (gst_queue_src_activate), (gst_queue_change_state):
30686         * gst/gstqueue.h:
30687         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30688         (intersect_caps_func):
30689         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30690         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30691         Some fixes for the peer_get_caps() change.
30692
30693 2005-05-06  Wim Taymans  <wim@fluendo.com>
30694
30695         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30696         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30697         (gst_basesink_activate):
30698         Actually do something with error codes returned from the push
30699         functions.
30700
30701 2005-05-06  Wim Taymans  <wim@fluendo.com>
30702
30703         * docs/design/part-element-sink.txt:
30704         * docs/design/part-element-source.txt:
30705         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30706         (gst_basesink_event), (gst_basesink_activate):
30707         * gst/base/gstbasesink.h:
30708         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30709         (gst_basesrc_activate):
30710         * gst/base/gstbasesrc.h:
30711         * gst/gstelement.c: (gst_element_pads_activate):
30712         Some more documentation.
30713         Fixed scheduling decision in _pads_activate().
30714
30715 2005-05-05  Andy Wingo  <wingo@pobox.com>
30716
30717         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30718         the test suite.
30719
30720 2005-05-05  Wim Taymans  <wim@fluendo.com>
30721
30722         * gst/base/Makefile.am:
30723         * gst/base/gstbasesink.h:
30724         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30725         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30726         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30727         (gst_collectpads_class_init), (gst_collectpads_init),
30728         (gst_collectpads_finalize), (gst_collectpads_new),
30729         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30730         (find_pad), (gst_collectpads_remove_pad),
30731         (gst_collectpads_is_active), (gst_collectpads_collect),
30732         (gst_collectpads_collect_range), (gst_collectpads_start),
30733         (gst_collectpads_stop), (gst_collectpads_peek),
30734         (gst_collectpads_pop), (gst_collectpads_available),
30735         (gst_collectpads_read), (gst_collectpads_flush),
30736         (gst_collectpads_chain):
30737         * gst/base/gstcollectpads.h:
30738         * gst/elements/Makefile.am:
30739         * gst/elements/gstelements.c:
30740         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30741         (gst_fakesink_get_times), (gst_fakesink_event),
30742         (gst_fakesink_preroll), (gst_fakesink_render):
30743         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30744         (gst_filesink_init), (gst_filesink_set_location),
30745         (gst_filesink_open_file), (gst_filesink_close_file),
30746         (gst_filesink_pad_query), (gst_filesink_event),
30747         (gst_filesink_render), (gst_filesink_change_state):
30748         * gst/elements/gstfilesink.h:
30749         Added object to help in making collect pad based elements.
30750         Ported filesink.
30751         Make event function in sink baseclass return gboolean.
30752
30753 2005-05-05  Wim Taymans  <wim@fluendo.com>
30754
30755         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30756         (gst_bin_get_by_name):
30757         * gst/gstbuffer.h:
30758         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30759         (gst_clock_finalize):
30760         * gst/gstdata.c: (gst_data_replace):
30761         * gst/gstdata.h:
30762         * gst/gstelement.c: (gst_element_request_pad),
30763         (gst_element_pads_activate):
30764         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30765         (gst_object_unref):
30766         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30767         (gst_pad_set_checkgetrange_function),
30768         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30769         (gst_pad_check_pull_range), (gst_pad_pull_range),
30770         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30771         (gst_pad_pause_task), (gst_pad_stop_task):
30772         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30773         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30774         Fix name lookup in GstBin.
30775         Added _data_replace() function and _buffer_replace()
30776         Use finalize method to clean up clock.
30777         Fix refcounting on request pads.
30778         Fix pad schedule mode error.
30779         Some more object refcounting debug info,
30780
30781
30782 2005-05-04  Andy Wingo <wingo@pobox.com>
30783
30784         * check/Makefile.am:
30785         * docs/gst/tmpl/gstatomic.sgml:
30786         * docs/gst/tmpl/gstplugin.sgml:
30787         * gst/base/gstbasesink.c: (gst_basesink_activate):
30788         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30789         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30790         (gst_basesrc_query), (gst_basesrc_set_property),
30791         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30792         (gst_basesrc_activate):
30793         * gst/base/gstbasesrc.h:
30794         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30795         (gst_base_transform_src_activate):
30796         * gst/elements/gstelements.c:
30797         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30798         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30799         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30800         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30801         (gst_type_find_element_checkgetrange),
30802         (gst_type_find_element_activate):
30803         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30804         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30805         (gst_caps_load_thyself):
30806         * gst/gstelement.c: (gst_element_pads_activate),
30807         (gst_element_save_thyself), (gst_element_restore_thyself):
30808         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30809         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30810         * gst/gstpad.h:
30811         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30812         (gst_xml_parse_file), (gst_xml_parse_memory),
30813         (gst_xml_get_element), (gst_xml_make_element):
30814         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30815         (_file_index_id_save_xml), (gst_file_index_commit):
30816         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30817         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30818         (load_paths):
30819         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30820         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30821         * tools/gst-complete.c: (main):
30822         * tools/gst-compprep.c: (main):
30823         * tools/gst-inspect.c: (print_element_properties_info):
30824         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30825         * tools/gst-xmlinspect.c: (print_element_properties):
30826         GCC 4 fixen.
30827         
30828 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30829
30830         * gst/gstplugin.c: (gst_plugin_check_module),
30831         (gst_plugin_check_file), (gst_plugin_load_file):
30832             apply patch from #172526 to make register work on MacOSX
30833
30834 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30835
30836         * docs/gst/tmpl/gstconfig.sgml:
30837         * gst/gstconfig.h.in:
30838           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30839         * testsuite/debug/printf_extension.c: (main):
30840           Do not use GST_PTR_FORMAT on pointers to types with
30841           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30842         * testsuite/elements/property.h:
30843           use correct printf format
30844
30845 2005-05-02  Wim Taymans  <wim@fluendo.com>
30846
30847         * docs/design/draft-push-pull.txt:
30848         * docs/design/draft-query.txt:
30849         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30850         (gst_basesrc_start):
30851         Added draft for new query API.
30852         Added draft for better selecting scheduling methods.
30853         Make basesrc ignore length if the subclass does not support
30854         it.
30855
30856 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30857
30858         * gst/Makefile.am:
30859           possible fixes for automake-1.5 - _LIBADD is reserved
30860
30861 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30862
30863         * docs/faq/Makefile.am:
30864         * docs/manual/Makefile.am:
30865         * docs/manuals.mak:
30866         * docs/pwg/Makefile.am:
30867         * gst/Makefile.am:
30868           possible fixes for automake-1.5
30869
30870 2005-04-28  Wim Taymans  <wim@fluendo.com>
30871
30872         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30873         (gst_basesink_pad_getcaps), (gst_basesink_init),
30874         (gst_basesink_do_sync):
30875         * gst/gstclock.c: (gst_clock_entry_new):
30876         * gst/gstevent.c: (gst_event_discont_get_value):
30877         * gst/gstpipeline.c: (pipeline_bus_handler),
30878         (gst_pipeline_change_state):
30879         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30880         Better debugging of clocking info.
30881         Allow NULL values when getting discont values.
30882
30883 2005-04-27  Wim Taymans  <wim@fluendo.com>
30884
30885         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30886         * check/gst/gstpad.c: (gst_pad_suite):
30887         Increase timeout for checks.
30888
30889 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30890
30891         * check/Makefile.am:
30892           fix the broken rule for cleanup.  Apparently this rule is
30893           only needed on FC2, so maybe this warrants further autotool
30894           inspection.
30895
30896 2005-04-26  Wim Taymans  <wim@fluendo.com>
30897
30898         * gst/gsttrashstack.h:
30899         Ooohh. a nasty one! After having a failed pop() from the stack,
30900         it's possible that the stack is empty. In that case, don't
30901         follow the NULL pointer.
30902
30903 2005-04-25  Wim Taymans  <wim@fluendo.com>
30904
30905         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30906         (gst_pad_set_checkgetrange_function),
30907         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30908         (gst_pad_check_pull_range), (gst_pad_pull_range),
30909         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30910         (gst_pad_pause_task), (gst_pad_stop_task):
30911         * gst/gstplugin.c: (gst_plugin_load):
30912         * gst/gstplugin.h:
30913         Remove gst_library_load as it does more harm than good with
30914         the new g_module flags.
30915         Revert bogus caps template check in pad linking, pad caps
30916         are important when linking not the template, which is more
30917         general than the current caps.
30918
30919 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30920
30921         * gst/autoplug/.cvsignore:
30922         * gst/autoplug/Makefile.am:
30923         * gst/autoplug/gstsearchfuncs.c:
30924         * gst/autoplug/gstsearchfuncs.h:
30925         * gst/autoplug/gstspider.c:
30926         * gst/autoplug/gstspider.h:
30927         * gst/autoplug/gstspideridentity.c:
30928         * gst/autoplug/gstspideridentity.h:
30929         * gst/autoplug/spidertest.c:
30930           Die, spider, die.
30931
30932 2005-04-25  Wim Taymans  <wim@fluendo.com>
30933
30934         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30935         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30936         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30937         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30938         * gst/gstpad.h:
30939         Added stubs for unimplemented functions. 
30940
30941 2005-04-24  David Schleef  <ds@schleef.org>
30942
30943         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30944         please fix.
30945
30946 2005-04-24  David Schleef  <ds@schleef.org>
30947
30948         Convert everything from GstAtomicInt to g_atomic_int_*, and
30949         remove gstatomic.
30950         * gst/Makefile.am:
30951         * gst/gstatomic.c:
30952         * gst/gstatomic.h:
30953         * gst/gstatomic_impl.h:
30954         * gst/gstbuffer.c:
30955         * gst/gstcaps.c:
30956         * gst/gstcaps.h:
30957         * gst/gstclock.c:
30958         * gst/gstclock.h:
30959         * gst/gstdata.c:
30960         * gst/gstdata.h:
30961         * gst/gstdata_private.h:
30962         * gst/gstevent.c:
30963         * gst/gstinfo.c:
30964         * gst/gstinfo.h:
30965         * gst/gstmessage.c:
30966         * gst/gstobject.c:
30967         * gst/gstobject.h:
30968         * gst/gststructure.c:
30969         * gst/gststructure.h:
30970         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30971         * gst/gstutils.h:
30972
30973 2005-04-24  David Schleef  <ds@schleef.org>
30974
30975         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30976         make the regressions tests work.  Remove some code that is no
30977         longer true.
30978         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30979         Disable warning for pads without templates.
30980
30981 2005-04-24  David Schleef  <ds@schleef.org>
30982
30983         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30984         functions that handle filtered links.
30985         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30986         removed functions.
30987         * gst/gstutils.c: Fix/remove utility functions that handle
30988         filtered caps.
30989         * gst/gstutils.h:
30990         * gst/gstvalue.c: Add serialization/deserialization of caps
30991         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30992         requires fixing so that the filter caps notation creates
30993         a capsfilter element and sets the filter_caps property.  I
30994         think everyone probably wants to keep the shorthand notation.
30995         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30996         * docs/gst/tmpl/gstpad.sgml:
30997
30998         * gst/elements/gstelements.c: Register capsfilter element.
30999         * gst/Makefile.am: fix spacing
31000         * docs/random/ds/0.9-suggested-changes: random
31001
31002 2005-04-23  David Schleef  <ds@schleef.org>
31003
31004         * gst/elements/Makefile.am:
31005         * gst/elements/gstcapsfilter.c: New element that acts like an
31006         identity, but filters caps.  Will eventually replace filtered
31007         caps in pad linking.
31008         * gst/gstutils.c: (gst_element_create_all_pads): New function
31009         to create all the ALWAYS pads that are registered with an
31010         element class.  This functionality should eventually be
31011         merged in with GstElement initialization.
31012         * gst/gstutils.h:
31013         * testsuite/trigger/README: part of trigger test code that should
31014         have been checked in a long time ago.
31015
31016 2005-04-23  David Schleef  <ds@schleef.org>
31017
31018         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
31019         needed with new versions of libtool (nobody will confirm this),
31020         and hard to carry around.
31021         * gst/autoplug/Makefile.am:
31022         * gst/base/Makefile.am:
31023         * gst/elements/Makefile.am:
31024         * gst/indexers/Makefile.am:
31025         * gst/schedulers/Makefile.am:
31026         * libs/gst/bytestream/Makefile.am:
31027         * libs/gst/control/Makefile.am:
31028         * libs/gst/dataprotocol/Makefile.am:
31029         * libs/gst/getbits/Makefile.am:
31030
31031 2005-04-21  Wim Taymans  <wim@fluendo.com>
31032
31033         * docs/design/draft-push-pull.txt:
31034         * docs/design/part-MT-refcounting.txt:
31035         * docs/design/part-TODO.txt:
31036         * docs/design/part-caps.txt:
31037         * docs/design/part-events.txt:
31038         * docs/design/part-gstbus.txt:
31039         * docs/design/part-gstpipeline.txt:
31040         * docs/design/part-messages.txt:
31041         * docs/design/part-push-pull.txt:
31042         * docs/design/part-query.txt:
31043         Some more docs.
31044
31045 2005-04-21  Wim Taymans  <wim@fluendo.com>
31046
31047         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
31048         (gst_message_new), (gst_message_new_error),
31049         (gst_message_new_warning), (gst_message_new_tag),
31050         (gst_message_new_state_changed), (gst_message_new_application),
31051         (gst_message_get_structure):
31052         * gst/gstmessage.h:
31053         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31054         (gst_structure_copy_conditional):
31055         Use parent refcount in GstMessage to ensure GstStructure
31056         consistency.
31057         Cleaned up headers a bit.
31058         
31059
31060 2005-04-20  Wim Taymans  <wim@fluendo.com>
31061
31062         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31063         (gst_basesink_pad_getcaps), (gst_basesink_init),
31064         (gst_basesink_chain_unlocked):
31065         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
31066         (gst_type_find_helper):
31067         * gst/elements/gsttypefindelement.c:
31068         (gst_type_find_element_have_type), (gst_type_find_element_init),
31069         (stop_typefinding), (gst_type_find_element_handle_event),
31070         (find_suggest), (gst_type_find_element_chain),
31071         (gst_type_find_element_checkgetrange),
31072         (gst_type_find_element_getrange), (do_typefind),
31073         (gst_type_find_element_activate):
31074         * gst/gstbuffer.c: (_gst_buffer_sub_free),
31075         (gst_buffer_default_free), (gst_buffer_default_copy),
31076         (gst_buffer_set_caps):
31077         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31078         (gst_caps_replace):
31079         * gst/gstmessage.c: (gst_message_new),
31080         (gst_message_new_state_changed):
31081         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31082         (gst_pad_set_checkgetrange_function),
31083         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31084         (gst_pad_set_caps), (gst_pad_check_pull_range),
31085         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31086         * gst/gstpad.h:
31087         * gst/gsttypefind.c: (gst_type_find_register):
31088         Make gst_caps_replace() work like other _replace() functions.
31089         Use _caps_replace() where possible.
31090         Make sure _message_new() initialises its field.
31091         Add gst_static_pad_template_get_caps()
31092
31093
31094 2005-04-18  Andy Wingo  <wingo@pobox.com>
31095
31096         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31097         on the peer, not the pad. I think that was a typo. Pass an extra
31098         arg to see if random access is possible. Activate the pads as
31099         PULL_RANGE if possible.
31100
31101         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31102
31103         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31104         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31105         to PROP_....
31106
31107 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31108
31109         * docs/faq/using.xml:
31110           Add note on gstreamer-properties (#154996).
31111
31112 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31113
31114         * docs/random/bbb/optional-properties:
31115           Some analysis on optional properties.
31116
31117 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31118
31119         * docs/gst/tmpl/gstelementfactory.sgml:
31120         * gst/gstelement.h:
31121         * gst/gstelementfactory.c: (gst_element_factory_init),
31122         (gst_element_factory_cleanup), (gst_element_register),
31123         (__gst_element_factory_add_static_pad_template),
31124         (gst_element_factory_get_static_pad_templates),
31125         (gst_element_factory_can_src_caps),
31126         (gst_element_factory_can_sink_caps):
31127         * gst/registries/Makefile.am:
31128         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31129         (gst_xml_registry_class_init), (gst_xml_registry_init),
31130         (gst_xml_registry_new), (gst_xml_registry_set_property),
31131         (gst_xml_registry_get_property), (get_time), (make_dir),
31132         (gst_xml_registry_get_perms_func),
31133         (plugin_times_older_than_recurse), (plugin_times_older_than),
31134         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31135         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31136         (add_to_char_array), (read_string), (read_uint), (read_enum),
31137         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31138         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31139         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31140         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31141         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31142         (gst_xml_registry_rebuild):
31143         * gst/registries/gstlibxmlregistry.h:
31144         * tools/gst-compprep.c: (main):
31145         * tools/gst-inspect.c: (print_pad_templates_info):
31146         * tools/gst-xmlinspect.c: (print_element_info):
31147           Use libxml2 for registry parsing, use staticpadtemplates in
31148           elementfactories. Makes gst_init() +/- 10x faster.
31149
31150 2005-04-12  Wim Taymans  <wim@fluendo.com>
31151
31152         * gst/base/Makefile.am:
31153         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31154         (gst_basesink_pad_getcaps), (gst_basesink_init),
31155         (gst_basesink_event), (gst_basesink_change_state):
31156         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31157         (gst_basesrc_init), (gst_basesrc_query),
31158         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31159         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31160         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31161         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31162         (gst_basesrc_stop), (gst_basesrc_activate),
31163         (gst_basesrc_change_state):
31164         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31165         (helper_find_suggest), (gst_type_find_helper):
31166         * gst/base/gsttypefindhelper.h:
31167         * gst/elements/Makefile.am:
31168         * gst/elements/gstelements.c:
31169         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31170         (gst_fakesink_get_times), (gst_fakesink_event),
31171         (gst_fakesink_preroll), (gst_fakesink_render):
31172         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31173         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31174         (gst_fakesrc_get_property), (gst_fakesrc_create),
31175         (gst_fakesrc_start), (gst_fakesrc_stop):
31176         * gst/elements/gstfakesrc.h:
31177         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31178         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31179         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31180         (gst_filesrc_create_read), (gst_filesrc_create),
31181         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31182         (gst_filesrc_start):
31183         * gst/elements/gsttypefindelement.c:
31184         (gst_type_find_element_have_type), (gst_type_find_element_init),
31185         (start_typefinding), (stop_typefinding), (push_buffer_store),
31186         (gst_type_find_element_handle_event),
31187         (gst_type_find_element_chain),
31188         (gst_type_find_element_checkgetrange),
31189         (gst_type_find_element_getrange), (do_typefind),
31190         (gst_type_find_element_activate),
31191         (gst_type_find_element_change_state):
31192         * gst/elements/gsttypefindelement.h:
31193         * gst/gstpipeline.c: (pipeline_bus_handler):
31194         Added typefind helper.
31195         Small preroll fix in the base sink.
31196         Disable typefind code in basesrc.
31197         Crude port of typefindelement.
31198         Fakesrc cleanups.
31199
31200
31201 2005-04-11  Wim Taymans  <wim@fluendo.com>
31202
31203         * check/gst/gstbus.c: (gstbus_suite):
31204         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31205         * check/gstcheck.h:
31206           Fix up the timeout so that the test does not fail.
31207
31208 2005-04-06  Wim Taymans  <wim@fluendo.com>
31209
31210         * gst/base/README:
31211         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31212         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31213         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31214         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31215         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31216         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31217         (gst_basesrc_stop), (gst_basesrc_activate),
31218         (gst_basesrc_change_state), (basesrc_find_peek),
31219         (basesrc_find_suggest), (gst_basesrc_type_find):
31220         * gst/base/gstbasesrc.h:
31221         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31222         (gst_filesrc_class_init), (gst_filesrc_init),
31223         (gst_filesrc_finalize), (gst_filesrc_set_location),
31224         (gst_filesrc_set_property), (gst_filesrc_get_property),
31225         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31226         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31227         (gst_filesrc_create_read), (gst_filesrc_create),
31228         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31229         * gst/elements/gstfilesrc.h:
31230         * gst/gstelement.c: (gst_element_get_state_func),
31231         (gst_element_lost_state), (gst_element_pads_activate):
31232         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31233         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31234         (gst_pad_pull_range):
31235         * gst/gstpad.h:
31236         More work on the generic source base class, implement seeking,
31237         query.
31238         Make filesrc extend the base source class.
31239         Added gst_pad_set_checkgetrange_function to GstPad.
31240
31241 2005-04-06  Andy Wingo  <wingo@pobox.com>
31242
31243         * pkgconfig/gstreamer-base.pc.in:
31244         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31245
31246         * pkgconfig/Makefile.am:
31247         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31248
31249 2005-04-04  Wim Taymans  <wim@fluendo.com>
31250
31251         * gst/base/Makefile.am:
31252         * gst/base/README:
31253         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31254         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31255         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31256         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31257         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31258         (gst_basesrc_base_init), (gst_basesrc_class_init),
31259         (gst_basesrc_init), (gst_basesrc_get_formats),
31260         (gst_basesrc_get_query_types), (gst_basesrc_query),
31261         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31262         (gst_basesrc_set_property), (gst_basesrc_get_property),
31263         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31264         (gst_basesrc_loop), (gst_basesrc_activate),
31265         (gst_basesrc_change_state):
31266         * gst/base/gstbasesrc.h:
31267         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31268         (gst_fakesrc_class_init), (gst_fakesrc_init),
31269         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31270         (gst_fakesrc_get_property), (gst_fakesrc_create):
31271         * gst/elements/gstfakesrc.h:
31272         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31273         (gst_filesrc_open_file), (gst_filesrc_loop),
31274         (gst_filesrc_activate), (filesrc_find_peek),
31275         (gst_filesrc_type_find):
31276         Made base source class, make fakesrc extend it.
31277         Add comments to basesink class.
31278         Some filesrc cleanup.
31279
31280 2005-03-31  David Schleef  <ds@schleef.org>
31281
31282         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31283         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31284         expected to link against libgstreamer.
31285         * gst/base/Makefile.am: link against libgstreamer
31286         * gst/elements/Makefile.am: same
31287
31288 2005-03-31  Andy Wingo  <wingo@pobox.com>
31289
31290         * tests/instantiate/Makefile.am:
31291         * tests/instantiate/caps.c: Add test to test speed of caps copy
31292         and free.
31293
31294         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31295         GMemChunk to be fair.
31296
31297         * gst/gsttrashstack.h: Remove warning about using the fallback
31298         trash stack implementation, it's still faster than malloc.
31299
31300 2005-03-30  Andy Wingo  <wingo@pobox.com>
31301
31302         * tests/complexity.c: Add a copyright.
31303
31304 2005-03-31  Wim Taymans  <wim@fluendo.com>
31305
31306         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31307         (gst_base_transform_class_init), (gst_base_transform_init),
31308         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31309         (gst_base_transform_get_property),
31310         (gst_base_transform_sink_activate),
31311         (gst_base_transform_src_activate),
31312         (gst_base_transform_change_state):
31313         * gst/base/gstbasetransform.h:
31314         * gst/elements/gstidentity.c: (gst_identity_class_init),
31315         (gst_identity_event), (gst_identity_check_perfect),
31316         (gst_identity_transform), (gst_identity_start),
31317         (gst_identity_stop):
31318         Added start/stop methods to transform base class so subclasses 
31319         don't need to deal with state changes even.
31320
31321 2005-03-31  Wim Taymans  <wim@fluendo.com>
31322
31323         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31324         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31325         * gst/gstevent.h:
31326         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31327         (gst_pad_pull_range):
31328         Added rate to the discont event to prepare for variable speed
31329         and reverse playback.
31330
31331 2005-03-29  David Schleef  <ds@schleef.org>
31332
31333         * configure.ac:
31334         * testsuite/trigger/Makefile.am:
31335         * testsuite/trigger/trigger.c: A little example program to show
31336         how trigger-based elements can work.
31337
31338 2005-03-29  Wim Taymans  <wim@fluendo.com>
31339
31340         * gst/base/Makefile.am:
31341         * gst/base/README:
31342         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31343         (gst_basesink_base_init), (gst_basesink_class_init),
31344         (gst_basesink_pad_getcaps), (gst_basesink_init),
31345         (gst_basesink_activate), (gst_basesink_change_state):
31346         * gst/base/gstbasesink.h:
31347         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31348         (gst_base_transform_base_init), (gst_base_transform_finalize),
31349         (gst_base_transform_class_init), (gst_base_transform_init),
31350         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31351         (gst_base_transform_event), (gst_base_transform_getrange),
31352         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31353         (gst_base_transform_set_property),
31354         (gst_base_transform_get_property),
31355         (gst_base_transform_sink_activate),
31356         (gst_base_transform_src_activate),
31357         (gst_base_transform_change_state):
31358         * gst/base/gstbasetransform.h:
31359         * gst/elements/gstidentity.c: (gst_identity_finalize),
31360         (gst_identity_class_init), (gst_identity_init),
31361         (gst_identity_event), (gst_identity_check_perfect),
31362         (gst_identity_transform), (gst_identity_set_property),
31363         (gst_identity_get_property), (gst_identity_change_state):
31364         * gst/elements/gstidentity.h:
31365         * gst/gstelement.c: (gst_element_get_state_func),
31366         (gst_element_lost_state), (gst_element_pads_activate):
31367         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31368         (gst_pad_check_pull_range), (gst_pad_pull_range):
31369         * gst/gstpad.h:
31370         Simplify pad activation.
31371         Added function to check if pull_range can be performed.
31372         Error out when pulling inactive or flushing pads.
31373         Removed const from refcounted types as it does not make sense.
31374         Simplify pad templates in basesink
31375         Added base class for simple 1-to-1 transforms.
31376         Make identity subclass the base transform.
31377
31378 2005-03-29  Andy Wingo  <wingo@pobox.com>
31379
31380         * docs/libs/gstreamer-libs-overrides.txt: 
31381         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31382         really don't understand what's going on, but like whatever. I want
31383         green buildbot!
31384
31385         * docs/gst/Makefile.am:
31386         * docs/libs/Makefile.am: Dist the overrides files.
31387
31388         * check/Makefile.am (clean-local): Remove .libs directories.
31389
31390         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31391         elements to EXTRA_DIST, so po/ files are happy.
31392
31393         * po/POTFILES.in: Er, remove it here.
31394
31395         * po/POTFILES: Remove gstspider.c.
31396
31397         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31398
31399         * docs/libs/gstreamer-libs-docs.sgml: 
31400         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31401         bytestream.
31402
31403         * tests/complexity.c (main): Set the length of the preroll queue
31404         on the sinks to prevent a lockup.
31405
31406         * libs/gst/dataprotocol/Makefile.am: 
31407         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31408         the same as the one in check/gst-libs/gdp.c.
31409
31410         * po/, docs/gst/: Commit automatic changes to docs and po files.
31411
31412         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31413         the versioned libgstbase.
31414
31415         * check/Makefile.am: Depend on an unversioned gst-register, seems
31416         to make autoconf happier.
31417
31418         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31419
31420 2005-03-28  Wim Taymans  <wim@fluendo.com>
31421
31422         * configure.ac:
31423         * docs/design/part-gstelement.txt:
31424         * docs/design/part-negotiation.txt:
31425         * docs/design/part-preroll.txt:
31426         * docs/design/part-scheduling.txt:
31427         * docs/design/part-states.txt:
31428         * gst/Makefile.am:
31429         * gst/base/Makefile.am:
31430         * gst/base/README:
31431         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31432         (gst_basesink_base_init), (gst_basesink_class_init),
31433         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31434         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31435         (gst_basesink_set_pad_functions),
31436         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31437         (gst_basesink_set_property), (gst_basesink_get_property),
31438         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31439         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31440         (gst_basesink_preroll_queue_push),
31441         (gst_basesink_preroll_queue_empty),
31442         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31443         (gst_basesink_event), (gst_basesink_get_times),
31444         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31445         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31446         (gst_basesink_loop), (gst_basesink_activate),
31447         (gst_basesink_change_state):
31448         * gst/base/gstbasesink.h:
31449         * gst/elements/Makefile.am:
31450         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31451         (gst_fakesink_class_init), (gst_fakesink_init),
31452         (gst_fakesink_set_property), (gst_fakesink_get_property),
31453         (gst_fakesink_get_times), (gst_fakesink_event),
31454         (gst_fakesink_preroll), (gst_fakesink_render),
31455         (gst_fakesink_change_state):
31456         * gst/elements/gstfakesink.h:
31457         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31458         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31459         * gst/gstelement.c: (gst_element_add_pad),
31460         (gst_element_get_state_func), (gst_element_abort_state),
31461         (gst_element_commit_state), (gst_element_lost_state),
31462         (gst_element_set_state), (gst_element_pads_activate):
31463         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31464         * gst/gstpipeline.c: (gst_pipeline_send_event),
31465         (gst_pipeline_change_state):
31466         Added state change code.
31467         Added/updated docs.
31468         Added sink base class, make fakesink extend the base class.
31469         Small cleanups in GstPipeline.
31470
31471 2005-03-26  David Schleef  <ds@schleef.org>
31472
31473         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31474         is broken and should be implemented in a different library.
31475         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31476         * gst/gst.h: remove gstcpu.h
31477         * gst/gstcpu.c: remove
31478         * gst/gstcpu.h: remove
31479         * gst/Makefile.am.future: Remove this file.  It's ancient.
31480
31481 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31482
31483         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31484         (gst_bin_send_event):
31485           Add default event/set_manager handlers. The set_manager handler
31486           takes care that the manager is distributed over kids that were
31487           already in the bin before the manager was set. The event handler
31488           is a utility virtual function that sends the event over all sinks,
31489           so that gst_element_send_event (bin, event); has the expected
31490           behaviour.
31491         * gst/gstpad.c: (gst_pad_event_default):
31492           Re-install default event handling for discontinuities, so that
31493           seeking works without requiring hacks in applications or extra
31494           code in sinks.
31495         * gst/gstpipeline.c: (gst_pipeline_class_init),
31496         (gst_pipeline_send_event):
31497           Half hack, half utility: set a pipeline to PAUSED for seek events,
31498           since that is the only way we can guarantee a/v sync. Means that
31499           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31500           and it "just works".
31501
31502 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31503
31504         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31505           Lock/unlock mismatch.
31506
31507 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31508
31509         * docs/faq/gst-uninstalled:
31510           add gst-plugins-base
31511         * docs/gst/Makefile.am:
31512           don't error out until docs are fixed
31513         * docs/gst/gstreamer.types:
31514           remove thread
31515
31516 2005-03-22  Wim Taymans  <wim@fluendo.com>
31517
31518         * check/Makefile.am:
31519         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31520         * gst/gststructure.c: (gst_structure_set_valist),
31521         (gst_structure_copy_conditional):
31522         Activated more tests.
31523         Added message test.
31524         Added G_TYPE_POINTER to GstStructure.
31525         
31526
31527 2005-03-22  Wim Taymans  <wim@fluendo.com>
31528
31529         * docs/design/part-TODO.txt:
31530         * docs/design/part-events.txt:
31531         * docs/design/part-gstbin.txt:
31532         * docs/design/part-gstbus.txt:
31533         * docs/design/part-gstpipeline.txt:
31534         * docs/design/part-messages.txt:
31535         * gst/gstbus.c:
31536         * gst/gstmessage.c:
31537         Docs updates
31538
31539 2005-03-21  Wim Taymans  <wim@fluendo.com>
31540
31541         * gst/gstbus.c: (gst_bus_post):
31542         Fix copy-and-paste error.
31543
31544 2005-03-21  Wim Taymans  <wim@fluendo.com>
31545
31546         * check/Makefile.am:
31547         * gst/Makefile.am:
31548         * gst/elements/Makefile.am:
31549         * gst/elements/gstelements.c:
31550         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31551         (gst_fakesink_event), (gst_fakesink_chain):
31552         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31553         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31554         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31555         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31556         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31557         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31558         (gst_fakesrc_loop), (gst_fakesrc_activate),
31559         (gst_fakesrc_change_state):
31560         * gst/elements/gstfakesrc.h:
31561         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31562         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31563         (gst_filesrc_open_file), (gst_filesrc_loop),
31564         (gst_filesrc_activate), (gst_filesrc_change_state),
31565         (filesrc_find_peek), (filesrc_find_suggest),
31566         (gst_filesrc_type_find):
31567         * gst/elements/gstidentity.c: (gst_identity_finalize),
31568         (gst_identity_class_init), (gst_identity_init),
31569         (gst_identity_proxy_getcaps), (identity_queue_push),
31570         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31571         (gst_identity_getrange), (gst_identity_chain),
31572         (gst_identity_sink_loop), (gst_identity_src_loop),
31573         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31574         (gst_identity_set_property), (gst_identity_get_property),
31575         (gst_identity_change_state):
31576         * gst/elements/gstidentity.h:
31577         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31578         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31579         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31580         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31581         (gst_tee_sink_activate):
31582         * gst/elements/gsttee.h:
31583         * gst/gst.c: (gst_register_core_elements), (init_post):
31584         * gst/gst.h:
31585         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31586         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31587         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31588         (gst_bin_change_state):
31589         * gst/gstbin.h:
31590         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31591         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31592         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31593         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31594         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31595         (bus_watch_callback), (bus_watch_destroy),
31596         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31597         (poll_timeout), (gst_bus_poll):
31598         * gst/gstbus.h:
31599         * gst/gstcaps.h:
31600         * gst/gstdata.h:
31601         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31602         (gst_element_post_message), (gst_element_message_full),
31603         (gst_element_get_state_func), (gst_element_get_state),
31604         (gst_element_abort_state), (gst_element_commit_state),
31605         (gst_element_lost_state), (gst_element_set_state),
31606         (gst_element_pads_activate), (gst_element_change_state),
31607         (gst_element_dispose), (gst_element_set_manager_func),
31608         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31609         (gst_element_set_manager), (gst_element_get_manager),
31610         (gst_element_set_bus), (gst_element_get_bus),
31611         (gst_element_set_scheduler), (gst_element_get_scheduler):
31612         * gst/gstelement.h:
31613         * gst/gstevent.c: (gst_event_new_segment_seek),
31614         (gst_event_new_flush):
31615         * gst/gstevent.h:
31616         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31617         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31618         (gst_message_new_eos), (gst_message_new_error),
31619         (gst_message_new_warning), (gst_message_new_tag),
31620         (gst_message_new_state_changed), (gst_message_new_application),
31621         (gst_message_get_structure), (gst_message_parse_tag),
31622         (gst_message_parse_state_changed), (gst_message_parse_error),
31623         (gst_message_parse_warning):
31624         * gst/gstmessage.h:
31625         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31626         (gst_real_pad_set_property), (gst_pad_set_active),
31627         (gst_pad_is_active), (gst_pad_set_blocked_async),
31628         (gst_pad_set_blocked), (gst_pad_is_blocked),
31629         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31630         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31631         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31632         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31633         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31634         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31635         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31636         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31637         (gst_pad_set_caps), (gst_pad_configure_sink),
31638         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31639         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31640         (gst_real_pad_dispose), (gst_real_pad_finalize),
31641         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31642         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31643         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31644         * gst/gstpad.h:
31645         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31646         (pipeline_bus_handler), (gst_pipeline_change_state),
31647         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31648         * gst/gstpipeline.h:
31649         * gst/gstprobe.h:
31650         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31651         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31652         (gst_queue_link_src), (gst_queue_bufferalloc),
31653         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31654         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31655         (gst_queue_loop), (gst_queue_handle_src_event),
31656         (gst_queue_handle_src_query), (gst_queue_src_activate),
31657         (gst_queue_change_state):
31658         * gst/gstqueue.h:
31659         * gst/gstscheduler.c: (gst_scheduler_init),
31660         (gst_scheduler_dispose), (gst_scheduler_create_task),
31661         (gst_scheduler_factory_create):
31662         * gst/gstscheduler.h:
31663         * gst/gststructure.c: (gst_structure_get_type),
31664         (gst_structure_copy_conditional):
31665         * gst/gststructure.h:
31666         * gst/gsttaginterface.h:
31667         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31668         (gst_task_init), (gst_task_dispose), (gst_task_create),
31669         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31670         (gst_task_pause):
31671         * gst/gsttask.h:
31672         * gst/gstthread.c:
31673         * gst/gstthread.h:
31674         * gst/gsttypes.h:
31675         * gst/schedulers/Makefile.am:
31676         * gst/schedulers/cothreads_compat.h:
31677         * gst/schedulers/entryscheduler.c:
31678         * gst/schedulers/faircothreads.c:
31679         * gst/schedulers/faircothreads.h:
31680         * gst/schedulers/fairscheduler.c:
31681         * gst/schedulers/gstbasicscheduler.c:
31682         * gst/schedulers/gstoptimalscheduler.c:
31683         * gst/schedulers/gthread-cothreads.h:
31684         * gst/schedulers/threadscheduler.c:
31685         (gst_thread_scheduler_task_get_type),
31686         (gst_thread_scheduler_task_class_init),
31687         (gst_thread_scheduler_task_init),
31688         (gst_thread_scheduler_task_start),
31689         (gst_thread_scheduler_task_stop),
31690         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31691         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31692         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31693         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31694         (plugin_init):
31695         * libs/gst/Makefile.am:
31696         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31697         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31698         (gst_file_pad_parent_set):
31699         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31700         (gst_dp_event_from_packet):
31701         * tests/complexity.c: (main):
31702         * tests/mass_elements.c: (main):
31703         * testsuite/states/locked.c: (message_received), (main):
31704         * testsuite/states/parent.c: (main):
31705         * tools/gst-inspect.c: (print_element_flag_info),
31706         (print_implementation_info), (print_pad_info):
31707         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31708         (main):
31709         * tools/gst-md5sum.c: (event_loop), (main):
31710         * tools/gst-typefind.c: (main):
31711         * tools/gst-xmlinspect.c: (print_element_info):
31712         Next big merge.
31713         Added GstBus for mainloop integration.
31714         Added GstMessage for sending notifications on the bus.
31715         Added GstTask as an abstraction for pipeline entry points.
31716         Removed GstThread.
31717         Removed Schedulers.
31718         Simplified GstQueue for multithreaded core.
31719         Made _link threadsafe, removed old capsnego.
31720         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31721         Added pad blocking functions.
31722         Reworked scheduling functions in GstPad to prepare for
31723         scheduling updates soon.
31724         Moved events out of data stream.
31725         Simplified GstEvent types.
31726         Added return values to push/pull.
31727         Removed clocking from GstElement.
31728         Added prototypes for state change function for next merge.
31729         Removed iterate from bins and state change management.
31730         Fixed some elements, disabled others for now.
31731         Fixed -inspect and -launch.
31732         Added check for GstBus.
31733
31734 2005-03-10  Wim Taymans  <wim@fluendo.com>
31735
31736         * docs/design/part-MT-refcounting.txt:
31737         * docs/design/part-clocks.txt:
31738         * docs/design/part-gstelement.txt:
31739         * docs/design/part-gstobject.txt:
31740         * docs/design/part-standards.txt:
31741         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31742         (gst_bin_remove_func), (gst_bin_remove):
31743         * gst/gstbin.h:
31744         * gst/gstbuffer.c:
31745         * gst/gstcaps.h:
31746         * testsuite/clock/clock1.c: (main):
31747         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31748         (main):
31749         * testsuite/dlopen/loadgst.c: (do_test):
31750         * testsuite/refcounting/bin.c: (add_remove_test1),
31751         (add_remove_test2), (main):
31752         * testsuite/refcounting/element.c: (main):
31753         * testsuite/refcounting/element_pad.c: (main):
31754         * testsuite/refcounting/pad.c: (main):
31755         * tools/gst-launch.c: (sigint_handler_sighandler):
31756         * tools/gst-typefind.c: (main):
31757         Doc updates.
31758         Added doc about clock.
31759         removed gst_bin_iterate_recurse_up(), marked methods
31760         for removal.
31761         Fix more testsuites.
31762
31763 2005-03-09  Wim Taymans  <wim@fluendo.com>
31764
31765         * gst/gstpad.c: (gst_pad_get_direction),
31766         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31767         (gst_pad_collect_valist):
31768         * testsuite/bins/interface.c: (main):
31769         * testsuite/caps/audioscale.c: (test_caps):
31770         * testsuite/caps/caps.c: (test1), (test2), (test3):
31771         * testsuite/caps/deserialize.c: (main):
31772         * testsuite/caps/enumcaps.c: (main):
31773         * testsuite/caps/filtercaps.c: (main):
31774         * testsuite/caps/intersect2.c: (main):
31775         * testsuite/caps/random.c: (main):
31776         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31777         * testsuite/caps/sets.c: (check_caps):
31778         * testsuite/caps/simplify.c: (check_caps), (main):
31779         * testsuite/caps/subtract.c: (check_caps):
31780         Fix _pad_get_direction wrt ghostpads.
31781         Fix caps testsuite.
31782
31783 2005-03-09  Wim Taymans  <wim@fluendo.com>
31784
31785         * check/Makefile.am:
31786         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31787         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31788         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31789         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31790         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31791         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31792         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31793         (bin_element_is_sink), (gst_bin_iterate_sinks),
31794         (gst_bin_iterate_all_by_interface):
31795         * gst/gstbin.h:
31796         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31797         (gst_element_change_state), (gst_element_dispose),
31798         (gst_element_finalize), (gst_element_set_loop_function):
31799         * gst/gstelement.h:
31800         * gst/gstiterator.c: (find_custom_fold_func):
31801         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31802         (gst_pad_collectv), (gst_pad_collect_valist),
31803         (gst_pad_template_new):
31804         * gst/gstpipeline.c: (gst_pipeline_class_init),
31805         (gst_pipeline_dispose), (gst_pipeline_set_property),
31806         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31807         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31808         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31809         * gst/gstutils.h:
31810         * gst/schedulers/entryscheduler.c:
31811         * gst/schedulers/gstbasicscheduler.c:
31812         (gst_basic_scheduler_cothreaded_chain),
31813         (gst_basic_scheduler_chain_add_element):
31814         * testsuite/bins/interface.c: (main):
31815         Added GstBin test.
31816         Added GstSystemClock test.
31817         Implemented clock distribution code in GstBin.
31818         Implemented iterate sinks method for future use.
31819         Rearranged gstelement.h
31820         Fix GstIterator comparison bug.
31821         Moved some code to GstPipeline, mostly clocking related.
31822
31823 2005-03-09  Wim Taymans  <wim@fluendo.com>
31824
31825         * configure.ac:
31826         * gst/gst_private.h:
31827         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31828         (gst_bin_remove_func), (gst_bin_remove),
31829         (gst_bin_get_by_name_recurse_up):
31830         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31831         (gst_clock_id_compare_func), (gst_clock_id_wait),
31832         (gst_clock_id_wait_async), (gst_clock_init),
31833         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31834         * gst/gstelement.h:
31835         * gst/gstinfo.c: (_gst_debug_init):
31836         * gst/gstobject.h:
31837         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31838         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31839         * gst/gstpad.h:
31840         Bump version number, we're now 0.9.0
31841         Add future debugging category.
31842         Fix NULL _unref() in _get_by_name_recurse_up
31843         Rearrange gstpad.h.
31844         Update some docs.
31845
31846 2005-03-08  Wim Taymans  <wim@fluendo.com>
31847
31848         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31849         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31850         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31851         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31852         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31853         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31854         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31855         * gst/elements/gstidentity.c: (gst_identity_class_init):
31856         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31857         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31858         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31859         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31860         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31861         (gst_tee_link):
31862         * gst/gstelement.c: (gst_element_class_init),
31863         (gst_element_base_class_init), (gst_element_init),
31864         (gst_element_get_random_pad), (gst_element_wait_state_change),
31865         (gst_element_change_state), (gst_element_dispose),
31866         (gst_element_finalize), (gst_element_set_loop_function):
31867         * gst/gstelement.h:
31868         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31869         * gst/gstthread.c: (gst_thread_class_init),
31870         (gst_thread_release_children_locks), (gst_thread_change_state):
31871         * gst/schedulers/gstbasicscheduler.c:
31872         (gst_basic_scheduler_loopfunc_wrapper),
31873         (gst_basic_scheduler_chain_wrapper),
31874         (gst_basic_scheduler_src_wrapper),
31875         (gst_basic_scheduler_remove_element):
31876         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31877         Remove threadsafe properties. Fix elements because GObject
31878         complains when installing a property before declaring a
31879         set/get_property handler.
31880         Rearrange gstelement.h file, use STATE macros for state locks.
31881         Free mutexes in the finalize method instead of dispose.
31882
31883 2005-03-08  Wim Taymans  <wim@fluendo.com>
31884
31885         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31886         * gst/gstthread.c: (gst_thread_release_children_locks):
31887         Added parentage check.
31888         Fix build og GstThread again.
31889
31890 2005-03-08  Wim Taymans  <wim@fluendo.com>
31891
31892         * docs/design/part-MT-refcounting.txt:
31893         * docs/design/part-conventions.txt:
31894         * docs/design/part-gstobject.txt:
31895         * docs/design/part-relations.txt:
31896         * docs/design/part-standards.txt:
31897         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31898         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31899         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31900         (gst_bin_iterate_all_by_interface):
31901         * gst/gstbuffer.h:
31902         * gst/gstclock.h:
31903         * gst/gstelement.c: (gst_element_class_init),
31904         (gst_element_change_state), (gst_element_set_loop_function):
31905         * gst/gstelement.h:
31906         * gst/gstiterator.c:
31907         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31908         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31909         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31910         (gst_object_set_parent), (gst_object_unparent),
31911         (gst_object_check_uniqueness):
31912         * gst/gstobject.h:
31913         Docs updates, clean up some headers.
31914
31915 2005-03-07  Wim Taymans  <wim@fluendo.com>
31916
31917         * check/.cvsignore:
31918         * check/Makefile.am:
31919         * check/gst-libs/.cvsignore:
31920         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31921         * check/gst/.cvsignore:
31922         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31923         (START_TEST), (gstbus_suite), (main):
31924         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31925         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31926         (gst_data_suite), (main):
31927         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31928         (add_fold_func), (gstiterator_suite), (main):
31929         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31930         (thread_name_object), (thread_name_object_default),
31931         (gst_object_name_compare), (gst_object_suite), (main):
31932         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31933         (gst_pad_suite), (main):
31934         * check/gstcheck.c: (gst_check_log_message_func),
31935         (gst_check_log_critical_func), (gst_check_init):
31936         * check/gstcheck.h:
31937         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31938         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31939         Added checks.
31940
31941 2005-03-07  Wim Taymans  <wim@fluendo.com>
31942
31943         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31944         (gst_list_iterator_next), (gst_list_iterator_resync),
31945         (gst_list_iterator_free), (gst_iterator_new_list),
31946         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31947         (gst_iterator_free), (gst_iterator_push), (filter_next),
31948         (filter_resync), (filter_uninit), (filter_free),
31949         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31950         (gst_iterator_foreach), (find_custom_fold_func),
31951         (gst_iterator_find_custom):
31952         * gst/gstiterator.h:
31953         Added missing files.
31954
31955 2005-03-07  Wim Taymans  <wim@fluendo.com>
31956
31957         * Makefile.am:
31958         * configure.ac:
31959         * docs/design/part-MT-refcounting.txt:
31960         * docs/design/part-conventions.txt:
31961         * docs/design/part-gstobject.txt:
31962         * docs/design/part-relations.txt:
31963         * examples/mixer/mixer.c: (main):
31964         * examples/thread/thread.c: (eos), (main):
31965         * gst/Makefile.am:
31966         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31967         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31968         (gst_spider_plug_from_srcpad):
31969         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31970         (gst_spider_identity_change_state),
31971         (gst_spider_identity_sink_loop_type_finding):
31972         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31973         * gst/elements/gstidentity.c: (gst_identity_init):
31974         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31975         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31976         * gst/elements/gsttypefindelement.c: (free_entry):
31977         * gst/gst.c:
31978         * gst/gst.h:
31979         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31980         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31981         (gst_bin_set_index), (gst_bin_set_element_sched),
31982         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31983         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31984         (gst_bin_iterate_elements), (iterate_child_recurse),
31985         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31986         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31987         (compare_interface), (gst_bin_get_by_interface),
31988         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31989         * gst/gstbin.h:
31990         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31991         (gst_buffer_default_free), (gst_buffer_default_copy),
31992         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31993         (gst_buffer_create_sub):
31994         * gst/gstbuffer.h:
31995         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31996         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31997         (gst_caps_unref), (gst_static_caps_get),
31998         (gst_caps_remove_and_get_structure), (gst_caps_append),
31999         (gst_caps_append_structure), (gst_caps_remove_structure),
32000         (gst_caps_copy_nth), (gst_caps_set_simple),
32001         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
32002         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
32003         (gst_caps_structure_intersect_field), (gst_caps_intersect),
32004         (gst_caps_structure_subtract_field), (gst_caps_subtract),
32005         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
32006         (gst_caps_structure_figure_out_union),
32007         (gst_caps_switch_structures), (gst_caps_do_simplify),
32008         (gst_caps_replace), (gst_caps_from_string),
32009         (gst_caps_copy_conditional):
32010         * gst/gstcaps.h:
32011         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
32012         (_gst_clock_id_free), (gst_clock_id_unref),
32013         (gst_clock_id_compare_func), (gst_clock_id_wait),
32014         (gst_clock_id_wait_async), (gst_clock_class_init),
32015         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
32016         (gst_clock_get_time), (gst_clock_set_time_adjust),
32017         (gst_clock_set_property), (gst_clock_get_property):
32018         * gst/gstclock.h:
32019         * gst/gstcompat.h:
32020         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
32021         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
32022         * gst/gstdata.h:
32023         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
32024         (gst_element_requires_clock), (gst_element_provides_clock),
32025         (gst_element_set_clock), (gst_element_clock_wait),
32026         (gst_element_wait), (gst_element_set_time_delay),
32027         (gst_element_is_indexable), (gst_element_add_pad),
32028         (gst_element_add_ghost_pad), (gst_element_remove_pad),
32029         (pad_compare_name), (gst_element_get_static_pad),
32030         (gst_element_request_pad), (gst_element_get_request_pad),
32031         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
32032         (gst_element_class_get_pad_template_list),
32033         (gst_element_class_get_pad_template), (gst_element_error_func),
32034         (gst_element_get_random_pad), (gst_element_get_event_masks),
32035         (gst_element_send_event), (gst_element_seek),
32036         (gst_element_get_query_types), (gst_element_query),
32037         (gst_element_get_formats), (gst_element_convert),
32038         (gst_element_is_locked_state), (gst_element_set_locked_state),
32039         (gst_element_sync_state_with_parent), (gst_element_change_state),
32040         (gst_element_finalize), (gst_element_yield),
32041         (gst_element_interrupt), (gst_element_set_scheduler),
32042         (gst_element_get_scheduler), (gst_element_set_loop_function):
32043         * gst/gstelement.h:
32044         * gst/gstevent.h:
32045         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
32046         (gst_format_get_by_nick), (gst_format_get_details),
32047         (gst_format_iterate_definitions):
32048         * gst/gstformat.h:
32049         * gst/gstindex.c: (gst_index_gtype_resolver):
32050         * gst/gstinfo.c:
32051         * gst/gstinfo.h:
32052         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
32053         (gst_mem_chunk_free):
32054         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
32055         (gst_object_ref), (gst_object_unref), (gst_object_sink),
32056         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
32057         (gst_object_dispatch_properties_changed),
32058         (gst_object_set_name_default), (gst_object_set_name),
32059         (gst_object_get_name), (gst_object_set_name_prefix),
32060         (gst_object_get_name_prefix), (gst_object_set_parent),
32061         (gst_object_get_parent), (gst_object_unparent),
32062         (gst_object_check_uniqueness), (gst_object_save_thyself),
32063         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
32064         (gst_object_set_property), (gst_object_get_property),
32065         (gst_object_get_path_string):
32066         * gst/gstobject.h:
32067         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32068         (gst_real_pad_init), (gst_real_pad_get_property),
32069         (gst_pad_custom_new), (gst_pad_get_direction),
32070         (gst_pad_set_active), (gst_pad_is_active),
32071         (gst_pad_set_event_function), (gst_pad_is_linked),
32072         (gst_pad_link_free), (gst_pad_link_intersect),
32073         (gst_pad_link_fixate), (gst_pad_set_caps),
32074         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32075         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32076         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32077         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32078         (gst_pad_get_caps), (gst_pad_peer_get_caps),
32079         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32080         (gst_pad_realize), (gst_pad_get_allowed_caps),
32081         (gst_real_pad_dispose), (gst_real_pad_finalize),
32082         (gst_pad_collectv), (gst_pad_collect_valist),
32083         (gst_pad_template_dispose), (gst_pad_template_new),
32084         (gst_pad_get_internal_links):
32085         * gst/gstpad.h:
32086         * gst/gstpipeline.c: (gst_pipeline_dispose),
32087         (gst_pipeline_change_state):
32088         * gst/gstpipeline.h:
32089         * gst/gstplugin.c:
32090         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32091         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32092         * gst/gstpluginfeature.h:
32093         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32094         * gst/gstquery.c: (_gst_query_type_initialize),
32095         (gst_query_type_register), (gst_query_type_get_by_nick),
32096         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32097         * gst/gstquery.h:
32098         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32099         * gst/gstscheduler.c: (gst_scheduler_add_element),
32100         (gst_scheduler_factory_create):
32101         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32102         (gst_structure_free), (gst_structure_set_name),
32103         (gst_structure_id_set_value), (gst_structure_set_value),
32104         (gst_structure_set_valist), (gst_structure_remove_field),
32105         (gst_structure_remove_fields),
32106         (gst_structure_remove_fields_valist),
32107         (gst_structure_remove_all_fields), (gst_structure_foreach),
32108         (gst_structure_map_in_place),
32109         (gst_caps_structure_fixate_field_nearest_int),
32110         (gst_caps_structure_fixate_field_nearest_double):
32111         * gst/gststructure.h:
32112         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32113         (gst_system_clock_init), (gst_system_clock_dispose),
32114         (gst_system_clock_async_thread),
32115         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32116         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32117         * gst/gstsystemclock.h:
32118         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32119         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32120         * gst/gsttaginterface.c:
32121         * gst/gstthread.c: (gst_thread_dispose),
32122         (gst_thread_release_children_locks), (gst_thread_change_state),
32123         (gst_thread_main_loop):
32124         * gst/gsttrashstack.h:
32125         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32126         * gst/gsttypes.h:
32127         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32128         (gst_element_request_pad), (gst_element_get_pad_from_template),
32129         (gst_element_request_compatible_pad),
32130         (gst_element_get_compatible_pad_filtered),
32131         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32132         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32133         (gst_element_link_many), (gst_element_link),
32134         (gst_element_link_pads), (gst_element_unlink_pads),
32135         (gst_element_unlink_many), (gst_element_unlink),
32136         (gst_pad_can_link_filtered), (gst_pad_can_link),
32137         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32138         (gst_object_default_error), (gst_bin_add_many),
32139         (gst_bin_remove_many), (gst_element_populate_std_props),
32140         (gst_element_class_install_std_props), (gst_buffer_merge),
32141         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32142         (link_fold_func), (gst_pad_proxy_setcaps):
32143         * gst/gstutils.h:
32144         * gst/gstvalue.c: (gst_value_deserialize_string):
32145         * gst/parse/grammar.y:
32146         * gst/schedulers/gstbasicscheduler.c:
32147         (gst_basic_scheduler_cothreaded_chain),
32148         (gst_basic_scheduler_chain_recursive_add),
32149         (gst_basic_scheduler_pad_link):
32150         * gst/schedulers/gstoptimalscheduler.c:
32151         (get_group_schedule_function),
32152         (gst_opt_scheduler_state_transition),
32153         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32154         * libs/gst/bytestream/bytestream.c:
32155         * libs/gst/dataprotocol/dataprotocol.c:
32156         (gst_dp_header_from_buffer):
32157         * po/nb.po:
32158         * po/ru.po:
32159         * tests/threadstate/threadstate2.c: (eos):
32160         * tools/gst-compprep.c: (main):
32161         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32162         (print_pad_info), (print_children_info):
32163         * tools/gst-launch.c: (idle_func), (main):
32164         * tools/gst-md5sum.c: (idle_func), (main):
32165         * tools/gst-xmlinspect.c: (print_element_info):
32166         First THREADED backport attempt, focusing on adding locks and
32167         making sure the API is threadsafe. Needs more work. More docs
32168         follow this week.
32169
32170 2005-02-24  Andy Wingo  <wingo@pobox.com>
32171
32172         * tests/bench-complexity.scm:
32173         * tests/complexity.gnuplot: New files, good for running complexity
32174         benchmarks.
32175
32176         * tests/Makefile.am:
32177         * tests/complexity.c: New test, sets up N elements, at each level
32178         teeing into M streams per element. Eeeenteresting.
32179
32180         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32181         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32182         running bench-mass_elements.scm.
32183
32184         * tests/bench-mass_elements.scm: New script, runs mass_elements
32185         for various numbers of identities, outputting the results to a
32186         file. Requires guile 1.6. Just for testing.
32187
32188 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32189
32190         * gst/schedulers/fairscheduler.c:
32191           compile with debug disabled
32192
32193 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32194
32195         * configure.ac:
32196           hunting season on 0.9 is now OPEN