gst/: Assign debug statements to relevant categories instead of the 'default' categor...
[platform/upstream/gstreamer.git] / ChangeLog
1 2009-01-03  Edward Hervey  <edward.hervey@collabora.co.uk>
2
3         * gst/gstelement.c: (gst_element_message_full),
4         (gst_element_pads_activate):
5         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
6         * gst/gstutils.c: (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps),
7         (gst_pad_add_data_probe_full), (gst_pad_add_event_probe_full),
8         (gst_pad_add_buffer_probe_full), (gst_pad_remove_data_probe),
9         (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe):
10         Assign debug statements to relevant categories instead of the 'default'
11         category so they don't get lost in debugging.
12
13 2009-01-01  Stefan Kost  <ensonic@users.sf.net>
14
15         * gst/gstdebugutils.c:
16           Add some ideas, how to make the graph smaller.
17
18         * gst/gstutils.c:
19           Add a comment from a debug session.
20
21         * libs/gst/base/gstbasetransform.c:
22           Log more context.
23
24         * libs/gst/controller/gstinterpolationcontrolsource.c:
25           Indet.
26
27         * plugins/elements/gstcapsfilter.c:
28           Fix typo in docs.
29
30 2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
31
32         * gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property),
33           (gst_bus_wakeup_main_context), (gst_bus_set_main_context),
34           (gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize),
35           (gst_bus_create_watch):
36           Make GstBusSource work with non-default main contexts (#562170).
37
38         * tests/check/gst/gstbus.c: (message_func_eos), (message_func_app),
39           (test_watch), (test_watch_with_custom_context), (gst_bus_suite):
40           Add test case for GstBusSource with a non-default main context.
41
42         * tests/check/libs/.cvsignore:
43           Ignore more.
44
45 2008-12-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
46
47         * gst/gstregistrybinary.c: (unpack_element), (unpack_const_string),
48           (unpack_string)::
49           Wrap multi-line macros in G_STMT_{START|END}.
50
51 2008-12-20  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
52
53         * docs/gst/gstreamer-sections.txt:
54         * gst/gstquark.c:
55         * gst/gstquark.h:
56         * gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
57         (gst_query_parse_uri):
58         * gst/gstquery.h:
59         API: Add URI query type. This is useful to query the URI
60         of a sink/source element and can be used by demuxers that
61         need to get data from other files.
62         This query should go upstream by default.
63         Fixes bug #562949.
64         * plugins/elements/gstfdsink.c: (gst_fd_sink_query):
65         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
66         (gst_fd_src_query):
67         * plugins/elements/gstfilesink.c: (gst_file_sink_query):
68         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
69         (gst_file_src_query):
70         Implement URI query.
71
72 2008-12-19  Alessandro Decina <alessandro.decina@collabora.co.uk>
73
74         * gst/gstghostpad.c:
75         * tests/check/gst/gstghostpad.c:
76         Don't forward gst_pad_set_caps() on a source ghostpad to its target.
77         That would cause the ghostpad to emit notify::caps two times (fist
78         from gst_pad_set_caps() and after from on_src_target_notify()).
79
80 2008-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
81
82         * tests/check/gst/gstghostpad.c: (ghost_notify_caps),
83         (GST_START_TEST):
84         Add some more unit-tests for the ghostpad notify signal, one of which
85         currently fails.
86
87 2008-12-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
88
89         * win32/common/libgstreamer.def:
90         Add gst_tag_setter_reset_tags to the list of exported symbols.
91
92 2008-12-17  Alessandro Decina  <alessandro.decina@collabora.co.uk>
93
94         * gst/gstghostpad.c:
95         * tests/check/gst/gstghostpad.c:
96         In a source ghostpad, when caps are changed in the target pad, the
97         change needs to be reflected in the ghostpad.
98         Fixes #564863.
99
100 2008-12-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
101
102         * gst/gstutils.c: (gst_element_found_tags_for_pad):
103         Add FIXME for 0.11 to set the pad as message source and not
104         the element. Otherwise it's impossible to detect for which
105         pad the tags were found without adding an event probe
106         or something similar to the pad.
107
108 2008-12-16  Wim Taymans  <wim.taymans@collabora.co.uk>
109
110         * docs/faq/general.xml:
111         Update the faq.
112
113 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
114
115         * docs/gst/gstreamer-sections.txt:
116         * gst/gsttagsetter.c:
117         * gst/gsttagsetter.h:
118           Rename api added in previous commit and add since tag to docs.
119           API: gst_tag_setter_reset_tags()
120
121 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
122
123         * docs/gst/gstreamer-sections.txt:
124         * gst/gsttagsetter.c:
125         * gst/gsttagsetter.h:
126           Add function to reset tagsetter for element reuse.
127
128 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
129
130         * gst/gsttaglist.c:
131           Avoid copy of empty taglist.
132
133 2008-12-16  Stefan Kost  <ensonic@users.sf.net>
134
135         * gst/gsttaglist.c:
136         * tests/check/gst/gsttag.c:
137           More complete unit tests. Fix handling of empty taglists (they were
138           not merged before).
139
140 2008-12-15  Stefan Kost  <ensonic@users.sf.net>
141
142         * gst/gsttaglist.h:
143         * gst/gsttagsetter.c:
144           Update GstTagSetter and GstTagMergeMode documentation. Mention
145           that tags can come from events and from application. Fix example.
146
147 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
148
149         * docs/design/part-TODO.txt:
150         Remove the seqnum entry that we implemented in 0.10 already.
151         Add entry about removing the format return value for queries.
152
153 2008-12-15  Wim Taymans  <wim.taymans@collabora.co.uk>
154
155         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
156         (gst_base_sink_init), (gst_base_sink_set_property),
157         (gst_base_sink_get_property):
158         Expose the render-delay as a property so things like appsink can use it
159         to tweak the synchronisation.
160
161 2008-12-10  Peter Kjellerstedt  <pkj@axis.com>
162
163         * libs/gst/check/gstcheck.h: Allow check tests to use
164         MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
165         CK_FORK=no to be used with multiple check test that use threads.
166
167 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
168
169         * gst/gstutils.c: (gst_element_get_compatible_pad):
170         Fix a caps memory leak introduced by the last change.
171
172 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
173
174         * gst/gstutils.c: (gst_element_get_compatible_pad):
175         Check if the caps of the pads are compatible before returning
176         a pad and claiming it is compatible. This, among other things,
177         fixes a bug with gst-launch where an incompatible pad is chosen
178         and linking fails. Fixes bug #544003.
179
180 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
181
182         * libs/gst/check/gstcheck.c: (gst_check_init):
183         Revert accidentially commited patch for bug #404631 which
184         tries to print a backtrace if a testcase is terminated by
185         a signal. This code was never activated as the corresponding
186         configure.ac change wasn't committed.
187
188 2008-12-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
189
190         * tests/check/libs/controller.c: (GST_START_TEST):
191         This test should return TRUE now as syncing an uncontrolled
192         object will succeed now (there's nothing to sync).
193
194 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
195
196         * libs/gst/controller/gstcontroller.c:
197           Aggregate return value for gst_controller_sync_values(). More info in
198           logging. Always set values on first sync-call.
199
200         * libs/gst/controller/gstcontrolsource.c:
201           Microoptimizations.
202
203         * libs/gst/controller/gsthelper.c:
204           Fix return code and comment.
205
206 2008-12-09  Stefan Kost  <ensonic@users.sf.net>
207
208         * tools/gst-launch.1.in:
209           Fix description of how to specify a type in caps. Fixes #553873.
210           Also ranges and list contain values and not property-assignments.
211
212 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
213
214         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
215         Check for changed pads-list before checking the last returned
216         GstFlowReturn because the pad could have been removed and we
217         need to ignore the value in that case.
218
219 2008-12-08  Wim Taymans  <wim.taymans@collabora.co.uk>
220
221         * libs/gst/base/gstbasetransform.c:
222         (gst_base_transform_prepare_output_buffer),
223         (gst_base_transform_getrange), (gst_base_transform_chain):
224         * libs/gst/base/gstbasetransform.h:
225         Add vmethod that is called before we start the transform and which can
226         be used to configure the transform, such as dynamic properties.
227
228 2008-12-05  David Schleef  <ds@schleef.org>
229
230         * gst/gst.c:
231         Search for plugins on win32 based on the location of the
232         gstreamer DLL.  Fixes #548786
233
234 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
235
236         * configure.ac:
237         Apparently AC_CONFIG_MACRO_DIR breaks when using more
238         than one macro directory, reverting last change.
239
240 2008-12-04  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
241
242         * configure.ac:
243         Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
244         our M4 macros.
245
246 2008-11-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
247
248         Patch by: Cygwin Ports maintainer
249                   <yselkowitz at users dot sourceforge dot net>
250
251         * autogen.sh:
252         * configure.ac:
253         Require gettext 0.17 because older versions don't mix with libtool
254         2.2. At build time an older gettext version will still work.
255         Fixes bug #556091.
256
257 2008-11-27  Wim Taymans  <wim.taymans@collabora.co.uk>
258
259         Patch by: 이문형 <iwings at gmail dot com>
260
261         * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
262         Adds support for FD_CONNECT event (win32). See #562258.
263
264 2008-11-24  Stefan Kost  <ensonic@users.sf.net>
265
266         * libs/gst/base/gstbasesink.c:
267           Turn comment into gtk-doc comment.
268
269 2008-11-24  Wim Taymans  <wim.taymans@collabora.co.uk>
270
271         * libs/gst/base/gstbasetransform.c:
272         (gst_base_transform_acceptcaps):
273         Revert quick accepcaps attempt, it's not fully equivalent to the old
274         behaviour and thus causes regressions.
275
276 2008-11-24  Edward Hervey  <edward.hervey@collabora.co.uk>
277
278         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
279         Fix memory leak.
280
281 2008-11-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
282
283         Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
284
285         * gst/gstregistry.c: (gst_registry_scan_path_level):
286         Reduce the number of stat() calls for every file from three times
287         to one time. Fixes bug #560360.
288
289 2008-11-22  Wim Taymans  <wim.taymans@collabora.co.uk>
290
291         * libs/gst/base/gstbasetransform.c:
292         (gst_base_transform_acceptcaps):
293         Rename a variable to make the code clearer.
294
295 2008-11-21  Stefan Kost  <ensonic@users.sf.net>
296
297         * plugins/elements/gstidentity.c:
298         Don't warning on offset==-1. Taken from _check_imperfect_offset().
299
300 2008-11-21  Michael Smith <msmith@songbirdnest.com>
301
302         * plugins/elements/gstfilesrc.c:
303           Check for localhost in URI was backwards, fix it. Fixes unit test.
304
305 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
306
307         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
308         (gst_base_transform_getcaps), (gst_base_transform_find_transform),
309         (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
310         Add beginnings of a more optimized acceptcaps function than the default
311         core one.
312
313 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
314
315         * gst/gstpad.c: (gst_pad_accept_caps):
316         Avoid getting the acceptcaps function too early.
317
318 2008-11-21  Wim Taymans  <wim.taymans@collabora.co.uk>
319
320         * tools/gst-launch.c: (event_loop):
321         Make gst-launch handle LATENCY messages and make it recalculate the
322         latency.
323
324 2008-11-20  Michael Smith <msmith@songbirdnest.com>
325
326         * plugins/elements/gstfilesrc.c:
327           Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
328           out own slightly incorrect version. Fixes use of some paths on
329           win32.
330
331 2008-11-20  Michael Smith <msmith@songbirdnest.com>
332
333         * gst/gstregistrybinary.c:
334           In win32 codepath, if we fail to write the registry, create the
335           directory for it and try again, matching the behaviour in non-win32
336           codepaths.
337
338 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
339
340         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
341         Changing the render delay changes the latency and so we must post a
342         latency message.
343
344 2008-11-20  Wim Taymans  <wim.taymans@collabora.co.uk>
345
346         * gst/gstquery.c:
347         * gst/gstquery.h:
348         Add GstQueryType for custom queries instead of having to use the
349         not-so-very-convenient registration infrastructure to register new
350         types.
351
352 2008-11-19  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
353
354         Patch by: Andrew Feren <acferen at yahoo dot com>
355
356         * gst/gstobject.c: (gst_object_default_deep_notify):
357         Unref the GEnumClass after usage again. Fixes bug #561501.
358
359 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
360
361         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
362         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
363         (gst_bin_change_state_func):
364         * gst/gstbin.h:
365         Add do-latency signal with the old default fallback implementation. This
366         allows for custom latency calculations for when the default is not
367         sufficient.
368         API: GstBin::do-latency signal.
369
370 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
371
372         * win32/common/libgstreamer.def:
373         Add new symbols to .def file.
374
375 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
376
377         * docs/gst/gstreamer-sections.txt:
378         * gst/gstbin.c: (gst_bin_recalculate_latency),
379         (gst_bin_change_state_func):
380         * gst/gstbin.h:
381         Add method to recalculate and redistribute the latency on a bin.
382         API: gst_bin_recalculate_latency().
383
384 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
385
386         * gst/gstbuffer.h:
387         Document the free_func.
388
389 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
390
391         * libs/gst/controller/gstinterpolation.c:
392         * libs/gst/controller/gstlfocontrolsource.c:
393         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
394         as it is mapped to a cast on non-win32 platforms.
395
396 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
397
398         * libs/gst/controller/gstcontroller.c:
399         * libs/gst/controller/gstcontrollerprivate.h:
400           Keep last-value and only call set_property if value has changed. This
401           supresses all the g_object_notifies we would trigger otherwise. It
402           also allows the user to chage the value while there is no controller
403           change.
404
405 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
406
407         * gst/gstvalue.c:
408           Don't crash if either of the string GValues is empty.
409
410 2008-11-17  Andy Wingo  <wingo@pobox.com>
411
412         * tools/gst-inspect.c (print_all_uri_handlers): New function,
413         prints a summary of what URI schemes are supported by what
414         elements.
415         (main): Plumb in support for --uri-handlers or -u, and fix the
416         argc check for -a and -u.
417
418 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
419
420         * gst/gstutils.h:
421         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
422         conversion functions.
423
424 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
425
426         * gst/gstbuffer.c: (gst_buffer_finalize):
427         Avoid costly typechecking for trivially correct pointers.
428
429         * gst/gstpoll.c: (gst_poll_wait):
430         Add some G_LIKELY here and there.
431
432         * libs/gst/base/gstadapter.c: (gst_adapter_push):
433         Add some debug info.
434
435 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
436
437         * docs/random/wtay/poll-timeout:
438         Small tweaks.
439
440 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
441
442         * tests/old/testsuite/caps/intersection.c: (main):
443         * tests/old/testsuite/plugin/loading.c: (main):
444         Remove references to deprecated API g_mem_chunk*.
445         Fixes #560442.
446
447 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
448
449         * tools/gst-inspect.c: (main):
450         Add --plugin option. Fixes #560301.
451
452 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
453
454         * docs/random/wtay/poll-timeout:
455         Quick braindump for a possible (not totally verified) atomic case.
456
457 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
458
459         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
460         (gst_registry_binary_initialize_magic),
461         (gst_registry_binary_write_cache),
462         (gst_registry_binary_check_magic):
463         * gst/gstregistrybinary.h:
464         Don't write and check a CRC for the binary registry file. It's
465         guaranteed that the registry is completely written (it's first written
466         to a temporary file and then moved) and if the registry was corrupted
467         by some hardware failure we would have bigger problems.
468
469         Bump binary registry version to 0.10.21.1 for this as it's an
470         incompatible change and to ensure that the registry gets rebuild
471         after the update.
472
473         This saves some milliseconds for reading/writing the registry.
474         Fixes bug #560399.
475
476 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
477
478         * docs/random/wtay/poll-timeout:
479         Some pseudo code for how we could implement clock timeouts with GstPoll.
480
481 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
482
483         * plugins/elements/gstfilesink.c:
484           Update Author string to match others.
485
486 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
487
488         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
489         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
490         being fixed and inline the trivial check.
491
492 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
493
494         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
495         (gst_caps_merge_structure), (gst_caps_get_structure),
496         (gst_caps_copy_nth), (gst_caps_set_simple),
497         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
498         (gst_caps_is_equal_fixed), (gst_caps_intersect),
499         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
500         (gst_caps_to_string):
501         Callgrind micro optimisations.
502         Avoid array bounds checks and force inline of trivial function.
503
504         * gst/gstobject.c: (gst_object_set_name_default):
505         -1 is equivalent to letting glib to the strlen but then there is more
506         room for optimisations and it's not our fault.
507
508         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
509         no need to clear the array, we're cool.
510
511         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
512         The most common _is_fixed() check is done on fundamental glib base
513         types so we check this first instead of doing a huge amount of
514         useless GST_TYPE_ARRAY calls.
515
516 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
517
518         * gst/gstevent.h:
519         Add a SKIP seek flag for use with advanced trickmodes.
520         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
521
522 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
523
524         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
525         No need to memset, we can clear the value ourselves.
526
527         * gst/gstvalue.c: (gst_type_is_fixed),
528         (gst_value_get_compare_func):
529         Some optimisations from a few callgrind sessions:
530         When checking if a type is fixed, check for trivial fundamental types
531         first before checking types for which we need to get the type followed
532         by the heavy duty type checks, this reduces the amount of
533         g_type_fundamental() calls a lot.
534         When getting the compare function, first check for our registered types.
535         If that fails, do the heavy duty g_type_is_a() checks, reduces the
536         amount of g_type_is_a() considerably.
537
538 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
539
540         * docs/design/part-TODO.txt:
541         Mumble something about removing GstXML.
542
543 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
544
545         * gst/gstbin.c: (gst_bin_handle_message_func):
546         Get the seqnum before we dispose the message.
547
548 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
549
550         * docs/design/part-TODO.txt:
551         Refer to the framestepping document.
552
553 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
554
555         * gst/gstbin.c: (bin_handle_async_start),
556         (gst_bin_handle_message_func), (gst_bin_query):
557         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
558         (gst_base_sink_event), (gst_base_sink_change_state):
559         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
560         (gst_base_src_loop), (gst_base_src_change_state):
561         Copy seqnums from events to messages so that they can all be related
562         back to eachother.
563
564 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
565
566         * tools/gst-launch.c: (event_loop):
567         Print the message seqnums.
568
569 2008-11-04  Andy Wingo  <wingo@pobox.com>
570
571         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
572
573 2008-11-04  Andy Wingo  <wingo@pobox.com>
574
575         Add sequence numbers to events and messages. See #559250.
576
577         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
578         API: New functions.
579
580         * gst/gstevent.h:
581         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
582         events with a new sequence number, and copy it when copying.
583         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
584         an event's sequence number.
585
586         * gst/gstmessage.h:
587         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
588         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
589         so with messages.
590
591         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
592
593 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
594
595         * docs/manual/advanced-position.xml:
596         * docs/manual/basics-bins.xml:
597         * docs/manual/basics-bus.xml:
598         * docs/manual/basics-pads.xml:
599         * docs/manual/intro-gstreamer.xml:
600         * docs/manual/intro-preface.xml:
601         Some Application Development Manual fixes thanks to
602         Andrew Feren. Fixes #558459.
603
604 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
605
606         * gst/gstregistrybinary.c:
607           Don't bother with the GTimer if we don't output the results.
608
609 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
610
611         Patch by: David Schleef  <ds@schleef.org>
612
613         * libs/gst/net/Makefile.am:
614         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
615
616 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
617
618         * gst/gstregistrybinary.c:
619           Oh my, studip, stupid me. Remove double stat() call.
620
621 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
622
623         * gst/gstpreset.c:
624           Use g_unlink instead of unlink.
625
626         * gst/gststructure.c:
627           Use glib type.
628
629         * gst/gstutils.c:
630           Add a FIXME:.
631
632         * gst/gsttaglist.c:
633         * gst/gsttypefind.c:
634         * gst/gstvalue.c:
635           Formatting & whitespaces.
636
637 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
638
639         * plugins/elements/gstidentity.c:
640           Doc typo. Use return value of parent_class->event.
641   
642         * plugins/elements/gsttypefindelement.c:
643           Chain up at the end for consistency.
644   
645 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
646
647         * docs/Makefile.am:
648         * docs/gst/gstreamer-docs.sgml:
649         * docs/gst/gstreamer-sections.txt:
650         * docs/gst/running.xml:
651         * docs/libs/gstreamer-libs-docs.sgml:
652           Change to xinclude based build - its faster and easier to maintain.
653
654 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
655
656         * gst/gstregistrybinary.c:
657         * gst/gstregistryxml.c:
658           Use g_unlink() as none of these are directories.
659
660 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
661
662         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
663         Some more comments.
664
665 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
666
667         * libs/gst/base/gstbasetransform.c:
668         (gst_base_transform_find_transform), (gst_base_transform_getrange):
669         If we have a fixate function, call it even if we already have fixed caps
670         because the subclass might add some caps. Makes audioconvert add a
671         default channel layout.
672
673 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
674
675         * libs/gst/base/gstbasetransform.c:
676         (gst_base_transform_prepare_output_buffer),
677         (gst_base_transform_getrange):
678         Clear the output buffer variable.
679         Cleanups to the error path in the getrange function.
680         Fixes #557649.
681
682 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
683
684         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
685         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
686         Use gst_buffer_try_new_and_alloc() and handle errors instead of
687         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
688         be allocated.
689
690 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
691
692         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
693         Set the last_stop to a more meaningful position when configuring the
694         segment. ie. the start/stop of the segment or clipped against the
695         updated segment boundaries.
696
697         * tests/check/gst/gstsegment.c: (GST_START_TEST):
698         Add some unit tests for the last_stop.
699
700 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
701
702         * libs/gst/base/gstbytereader.c:
703         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
704         copies of them.
705
706 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
707
708         * docs/gst/gstreamer-sections.txt:
709         * gst/gstutils.h:
710         API: Move float endianness conversion macros from libgstfloatcast
711         to core as it's useful in general, even in core. Fixes bug #555196.
712         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
713         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
714         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
715
716         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
717         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
718         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
719         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
720
721 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
722
723         * docs/libs/gstreamer-libs-sections.txt:
724         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
725         (gst_byte_reader_peek_data):
726         * libs/gst/base/gstbytereader.h:
727         * win32/common/libgstbase.def:
728         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
729         to get a pointer to the data at the current position and have
730         a guaranteed size.
731
732 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
733
734         * configure.ac:
735         Fix a bug in the output of the configure script summary
736         when --gst-disable-registry is supplied
737
738 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
739
740         * libs/gst/base/gstbitreader.c:
741         * libs/gst/base/gstbytereader.c:
742         Fix the names of 2 functions in the docs strings.
743
744 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
745
746         * libs/gst/base/gstbasetransform.c:
747         (gst_base_transform_prepare_output_buffer),
748         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
749         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
750         refcount problems as seen in banshee and maybe also in farsight2.
751         Remove atomic int now that we need to take the lock anyways.
752
753 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
754
755         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
756         (gst_base_sink_default_prepare_seek_segment),
757         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
758         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
759         (gst_base_sink_query):
760         Implement more seeking in pull mode.
761         Use pad convert functions to convert position to the requested format.
762         Fix position/duration reporting in pull mode.
763         Implement position and duration reporting in other formats than time.
764
765         * libs/gst/base/gstbasesink.h:
766         Add member to keep track of when the segment is playing.
767
768 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
769
770         * gst/gstpad.c: (gst_pad_configure_src):
771         When we use gst_pad_alloc_buffer() without wanting to set the caps we
772         also don't need to check if the caps are compatible because the caller
773         presumably is going to perform its own custom checks. Fixes some cases
774         where basetransform elements would error out when it was not needed.
775
776 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
777
778         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
779         Update comment.
780
781         * libs/gst/base/gstbasetransform.c:
782         (gst_base_transform_handle_buffer),
783         (gst_base_transform_reconfigure):
784         Add some debug info.
785
786         * win32/common/libgstbase.def:
787         Add new method.
788
789 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
790
791         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
792           Remove duplicated assignment and log a message in failure case.
793
794 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
795
796         Patch by: Dig Ge <dig.ge.cn at gmail com>
797
798         * tests/examples/helloworld/helloworld.c: (main):
799           Fix copy'n'paste bug in hello world example (#556900).
800
801 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
802
803         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
804         (gst_base_sink_query):
805         Query the total number of bytes when activating the pad in pull mode.
806         Implement duration query in pull mode by using the installed pad convert
807         function to convert from bytes to the requested format.
808
809 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
810
811         * docs/libs/gstreamer-libs-sections.txt:
812         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
813         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
814         (gst_base_sink_event), (gst_base_sink_perform_seek),
815         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
816         (gst_base_sink_send_event), (gst_base_sink_change_state):
817         * libs/gst/base/gstbasesink.h:
818         Add method to commit the state in subclasses.
819         Refactor the flush_start and flush_stop code because we need it for
820         flushing while seeking too.
821         Implement the beginnings of seeking in pull mode.
822         Use the segment last_stop field for the pulling offset.
823         Fix the pause method in pull mode.
824         Configure the segment to BYTES for pull mode.
825         API: GstBaseSink::gst_base_sink_do_preroll()
826
827 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
828
829         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
830         Update some docs.
831
832 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
833
834         * gst/gstquark.c: (_priv_gst_quarks_initialize):
835           Fix printf format warning.
836
837 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
838
839         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
840         Fix flow aggregation of tee. Error out immediately for all flow returns
841         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
842         and return OK if at least one pad is linked.
843
844         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
845         and otherwise returned the flow return of the last pad, which is wrong.
846         
847         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
848         (GST_START_TEST), (tee_suite):
849         Add unit tests for the flow aggregation.
850
851 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
852
853         * docs/design/part-TODO.txt:
854         Remove item from the todo list because it was fixed with the latency
855         state change rewrites.
856
857         * docs/design/part-seeking.txt:
858         * docs/design/part-segments.txt:
859         Update some docs.
860
861         * gst/gstevent.c: (gst_event_new_new_segment_full),
862         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
863         (gst_event_parse_buffer_size), (gst_event_new_qos),
864         (gst_event_parse_qos), (gst_event_new_seek),
865         (gst_event_parse_seek), (gst_event_new_latency),
866         (gst_event_parse_latency):
867         Use quarks to construct and parse events.
868
869         * gst/gstquark.c: (_priv_gst_quarks_initialize):
870         * gst/gstquark.h:
871         Add some more quarks to the table.
872         Emit a warning when the quark tables are not in sync.
873
874         * tests/check/gst/gstbus.c: (GST_START_TEST):
875         Add an assert.
876
877 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
878
879         * plugins/elements/Makefile.am:
880         * plugins/indexers/Makefile.am:
881           Don't install static libs for plugins. Fixes #550851 for core.
882
883 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
884
885         * gst/gstbus.c: (gst_bus_source_finalize),
886         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
887         (gst_bus_enable_sync_message_emission),
888         (gst_bus_disable_sync_message_emission),
889         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
890         Fix deadlock, g_source_get_id() cannot be called in finalize.
891         Keep track of the watch source by keeping a pointer to the source object
892         instead.
893         Use the bus lock to protect access to the pointer to the current
894         watch source.
895
896 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
897
898         Base on Patch by: Olivier Crete <tester at tester dot ca>
899
900         * gst/gstbus.c: (gst_bus_source_finalize),
901         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
902         Only allow one bus watch to be set at a time. This is necessary
903         because the dispatcher pops the message from the bus and the second
904         watcher will then get NULL or the next message (and the first won't
905         get this next message then, etc). If more than one "watcher" is
906         required signal watches should be used. Fixes bug #526044.
907
908 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
909
910         * tools/gst-launch.c:
911         Change the printing of the 'buffering...' output to avoid putting
912         a \r in a translateable string (flagged by the TP).
913
914 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
915
916         * gst/gstxml.c:
917         Clarify that the save_thyself() and restore_thyself() virtual
918         functions of GstObject need to be overriden, not
919         gst_object_(save|restore)_thyself() which is impossible.
920         Fixes bug #555700.
921
922 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
923
924         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
925         Revert a patch from 21 months ago that broke caps negotiation in pull
926         mode. Basically, having a buffer pass over a pad will trigger the
927         setcaps function when caps change, just like in push mode.
928
929 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
930
931         * docs/design/part-negotiation.txt:
932         Update the docs some more.
933
934         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
935         If we pull a buffer with non-trivial caps, suggest those caps with the
936         max probability.
937
938 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
939
940         * docs/design/part-TODO.txt:
941         Add another limitation of pad-blocking with segment seeks not pushing
942         EOS events.
943
944 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
945
946         * win32/common/libgstbase.def:
947         * win32/common/libgstreamer.def:
948         Add new symbols to the win32 defs files
949
950 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
951
952         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
953         (gst_bin_handle_message_func):
954         The message src can be NULL, don't try to print the object names in that
955         case.
956
957         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
958         Add some more debug info.
959
960         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
961         (GST_START_TEST):
962         Add some debug.
963         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
964         scheduling modes.
965
966 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
967
968         * docs/design/part-negotiation.txt:
969         Small doc update.
970
971         * docs/libs/gstreamer-libs-sections.txt:
972         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
973         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
974         (gst_base_sink_init), (gst_base_sink_set_blocksize),
975         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
976         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
977         (gst_base_sink_loop), (gst_base_sink_pad_activate),
978         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
979         (gst_base_sink_change_state):
980         * libs/gst/base/gstbasesink.h:
981         Add blocksize property and methods to control the amount of data
982         to pull.
983         Negotiate first before activating upstream in pull mode so that they can
984         negotiate themselves.
985         When we operate in pull mode, we only accept the caps that we
986         negotiated.
987         Make the sink go ASYNC to PAUSED, like all other sinks.
988         API: GstBaseSink::gst_base_sink_set_blocksize()
989         API: GstBaseSink::gst_base_sink_get_blocksize()
990         API: GstBaseSink::blocksize
991
992         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
993         (gst_base_src_set_live), (gst_base_src_is_live),
994         (gst_base_src_set_format), (gst_base_src_query_latency),
995         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
996         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
997         (gst_base_src_set_property), (gst_base_src_get_property):
998         * libs/gst/base/gstbasesrc.h:
999         Add typechecking in public API functions.
1000         Add methods to control the blocksize in subclasses.
1001         API: GstBaseSrc::gst_base_src_set_blocksize()
1002         API: GstBaseSrc::gst_base_src_get_blocksize()
1003
1004 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
1005
1006         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
1007         (buffer_probe), (event_probe), (GST_START_TEST):
1008         We now see 3 events go through our pad, since basesink now sends
1009         upstream latency events.
1010
1011 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1012
1013         * gst/gstpipeline.c: (gst_pipeline_change_state):
1014         Release the object lock before trying to flush the bus.
1015
1016 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1017
1018         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1019         Forward LATENCY events upstreams so that elements know about the total
1020         pipeline latency. Fixes #555307.
1021
1022 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
1023
1024         * plugins/elements/gstqueue.c:
1025         Allow through queries when we don't know how
1026         to adjust them (not TIME or BYTES), as otherwise it's
1027         not possible to query the current position in order
1028         to seek in other formats at all.
1029
1030 2008-10-08  Andy Wingo  <wingo@pobox.com>
1031
1032         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
1033
1034 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
1035
1036         * gst/gstghostpad.c:
1037         * gst/gstghostpad.h:
1038         Unbreak -good build, private is a reserved c++ keyword.
1039
1040 2008-10-08  Andy Wingo  <wingo@pobox.com>
1041
1042         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
1043         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
1044         removal: re-add GST_GHOST_PAD_CAST to the header.
1045
1046         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
1047         (GstGhostPadClass): Publically expose these structures so as to
1048         allow easy subclassing from C. Hide the member data behind a
1049         private opaque data pointer.
1050
1051         * gst/gstghostpad.c: Adapt to store instance data in the type
1052         instance's private data region, not in the public struct.
1053
1054 2008-10-08  Andy Wingo  <wingo@pobox.com>
1055
1056         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
1057         template via g_object_get(), be sure to unref it.
1058
1059         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
1060
1061 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1062
1063         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1064         If we can't get a cache file don't try to save something to it.
1065         Dereferencing NULL pointers usually isn't a good idea.
1066
1067 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
1068
1069         * tests/check/Makefile.am:
1070         * tests/check/gst/gstabi.c:
1071         * tests/check/gst/struct_sparc.h:
1072         * tests/check/libs/libsabi.c:
1073         * tests/check/libs/struct_sparc.h:
1074         Add Sparc ABI checks
1075
1076         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1077         Cast signed integer to unsigned to avoid a compiler warning.
1078
1079 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1080
1081         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
1082         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
1083         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
1084         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
1085         (gst_byte_reader_peek_int24_be):
1086         Use new GST_READ_UINT24_(LE|BE) macros.
1087
1088 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1089
1090         * docs/gst/gstreamer-sections.txt:
1091         * gst/gstutils.h:
1092         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
1093         as it's too easy to break the ISO C strict aliasing rules with simple
1094         casts to the corresponding type and this would introduce hard to debug
1095         bugs. Fixes bug #545714.
1096
1097         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
1098
1099 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1100
1101         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
1102         * gst/gstghostpad.c: (gst_ghost_pad_construct):
1103           Add 'Since' bits to gtk-doc chunks for new API.
1104
1105 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
1106
1107         * docs/gst/gstreamer-sections.txt:
1108         Fix documentation
1109
1110 2008-10-06  Andy Wingo  <wingo@pobox.com>
1111
1112         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
1113         that will be called on the malloc_data to free it. Basically a way
1114         to avoid subclassing when all you need is a different free
1115         function, i.e. free() instead of g_free().
1116
1117         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
1118         calling the free function.
1119         (gst_buffer_init): Initialize the free function to g_free.
1120
1121 2008-10-06  Andy Wingo  <wingo@pobox.com>
1122
1123         * gst/gstghostpad.h:
1124         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
1125         finishes the initialization of ghost pad. Useful for language
1126         bindings and subclassers of GstGhostPad. Fixes #539108.
1127         (gst_ghost_pad_new_full): Use the new constructor.
1128
1129 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1130
1131         Base on Patch by: Olivier Crete <tester at tester dot ca>
1132
1133         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
1134         (gst_bin_remove_func), (update_degree),
1135         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
1136         Keep track of pads that are being linked/unlinked and resync the state
1137         changes.
1138
1139         * gst/gstpad.c: (gst_pad_get_direction),
1140         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
1141         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
1142         (gst_pad_link_prepare), (gst_pad_link),
1143         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
1144         (gst_pad_check_pull_range), (gst_pad_get_range),
1145         (gst_pad_pull_range):
1146         Some code cleanups, use macros to check pad direction.
1147         Don't need to take the lock on the pad direction.
1148         Post structure change when pads are linked/unlinked.
1149         Change some checks into _return_if_fail().
1150
1151         * tests/check/gst/gstbin.c:
1152         (test_link_structure_change_state_changed_sync_cb),
1153         (GST_START_TEST), (gst_bin_suite):
1154         Add testcase for pad link/unlinke resync during a state change.
1155         Fixes #510354.
1156
1157 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1158
1159         * docs/gst/gstreamer-sections.txt:
1160         * gst/gstmessage.c: (gst_message_new_structure_change),
1161         (gst_message_parse_structure_change):
1162         * gst/gstmessage.h:
1163         Implement STRUCTURE_CHANGED messages. These messages will be used to
1164         signal the parent bin of link/unlink operations that could require a
1165         resync when doing a state change. See ##510354.
1166         API: gst_message_new_structure_change()
1167         API: gst_message_parse_structure_change()
1168
1169 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1170
1171         * gst/gstquark.c:
1172         * gst/gstquark.h:
1173         Add some more quarks for new message. See #510354.
1174
1175 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1176
1177         * docs/libs/gstreamer-libs-docs.sgml:
1178         * docs/libs/gstreamer-libs-sections.txt:
1179         * libs/gst/base/Makefile.am:
1180         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
1181         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
1182         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
1183         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
1184         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
1185         (gst_bit_reader_skip_to_byte):
1186         * libs/gst/base/gstbitreader.h:
1187         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
1188         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
1189         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
1190         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
1191         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
1192         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
1193         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
1194         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
1195         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
1196         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
1197         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
1198         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
1199         * libs/gst/base/gstbytereader.h:
1200         * tests/check/Makefile.am:
1201         * tests/check/libs/bitreader.c: (GST_START_TEST),
1202         (gst_bit_reader_suite):
1203         * tests/check/libs/bytereader.c: (GST_START_TEST),
1204         (gst_byte_reader_suite):
1205         API: Add bit reader and byte reader classes, including documentation
1206         and an extensive unit test suite. Fixes bug #553554.
1207
1208 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1209
1210         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
1211         (gst_base_sink_query):
1212         Improve position reporting while flushing and other intermediate state
1213         changes. Fixes #553874.
1214
1215 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
1216
1217         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
1218
1219         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
1220         Original patch by : Simon Descaries
1221         Fix small refount leak in caps compatibility check.
1222         Fixes #551676.
1223
1224 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1225
1226         * docs/pwg/advanced-request.xml:
1227           Fix 0.8 api usage in example. Fixes #554561
1228
1229         * docs/pwg/appendix-porting.xml:
1230           Change 0.9 to 0.10 here.
1231
1232 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
1233
1234         * docs/manual/basics-data.xml:
1235           Change "event-event interaction" to "element-element interaction".
1236           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
1237           updates.
1238
1239 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
1240
1241         * configure.ac:
1242         Back to development -> 0.10.21.1
1243
1244 === release 0.10.21 ===
1245
1246 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
1247
1248         * configure.ac:
1249           releasing 0.10.21, "Take These Things From Me"
1250
1251 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1252
1253         * configure.ac:
1254         0.10.20.4 pre-release
1255
1256 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
1257
1258         * libs/gst/base/gstbasetransform.c:
1259         * plugins/elements/gstcapsfilter.c:
1260         * tests/check/Makefile.am:
1261         * tests/check/elements/.cvsignore:
1262         * tests/check/elements/capsfilter.c:
1263         Fix assertion in basetransform when the subclass chooses not to
1264         allocate a buffer in prepare_buffer(), and make capsfilter error out
1265         cleanly if requested to apply caps that don't completely specify the
1266         buffer. Fixes #551509
1267
1268 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1269
1270         * libs/gst/base/gstbasetransform.c:
1271         (gst_base_transform_prepare_output_buffer):
1272         Take new caps ref because our old one might have been gone when the
1273         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1274
1275 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
1276
1277         * configure.ac:
1278           Do not probe availability of check unit test library when cross
1279           compiling, as test would not work anyway. Also cleanup verbose output
1280           of the check test. Fixes #551952.
1281
1282 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1283
1284         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1285
1286         * gst/gstelement.c: (gst_element_sync_state_with_parent):
1287         Avoid leaking the parent ref when we fail changing the state of the
1288         element using gst_element_sync_state_with_parent(). Fixes #551978.
1289
1290 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
1291
1292         * docs/manual/intro-motivation.xml::
1293           Remove some bits that no longer apply, update others (#551642).
1294
1295 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
1296
1297         * configure.ac:
1298         0.10.20.2 pre-release
1299
1300         * po/LINGUAS:
1301         * po/id.po:
1302         * po/pt_BR.po:
1303
1304         New translations.
1305
1306 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
1307
1308         * win32/common/config.h.in:
1309           Add GST_DATADIR, hard-code cpu to x86.
1310
1311         * win32/common/libgstreamer.def:
1312           Spaces to tabs.
1313
1314 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
1315
1316         * gst/gsttaglist.h:
1317           Fix Since: markers for new geo tags.
1318
1319 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
1320
1321         * gst/gsttaglist.h:
1322           Fix actual tag name define after renaming from altitude to elevation.
1323
1324 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1325
1326         * gst/gstpad.c: (add_unref_pad_to_list),
1327         (gst_pad_get_internal_links_default):
1328         Add fallback when calling the deprecated function on an element that
1329         implements the new internal_link handler.
1330
1331 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
1332
1333         * docs/gst/gstreamer-sections.txt:
1334         * gst/gsttaglist.c:
1335         * gst/gsttaglist.h:
1336           Add new tags for geo location and clarify purpose of existing location
1337           tag. Fixes #481169
1338
1339 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1340
1341         Patch by: Olivier Crete <tester at tester dot ca>
1342
1343         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1344         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1345         Use thread-safe internal links iterator. Fixes #549504.
1346
1347 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1348
1349         Based on patch by: Olivier Crete <tester at tester dot ca>
1350
1351         * docs/gst/gstreamer-sections.txt:
1352         * win32/common/libgstreamer.def:
1353         * gst/gstpad.c: (gst_pad_init),
1354         (gst_pad_set_iterate_internal_links_function),
1355         (int_link_iter_data_free), (iterate_pad),
1356         (gst_pad_iterate_internal_links_default),
1357         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1358         * gst/gstpad.h:
1359         Add threadsafe replacement functions for getting internal links of an
1360         element. Deprecate the old internal links functions.
1361         API:GstPad::gst_pad_set_iterate_internal_links_function()
1362         API:GstPad::GstPadIterIntLinkFunction
1363         API:GstPad::gst_pad_iterate_internal_links()
1364         API:GstPad::gst_pad_iterate_internal_links_default()
1365
1366         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1367         (gst_proxy_pad_init):
1368         Implement threadsafe internal links.
1369
1370         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1371         Unit test for internal links on tee. See #549504.
1372
1373 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1374
1375         * tests/check/Makefile.am:
1376         libs/transform1 test requires libs/test_transform.c
1377
1378 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1379
1380         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1381         Die evil deadlock, die !
1382
1383 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1384
1385         * gst/gstutils.c: (gst_element_get_compatible_pad):
1386         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1387         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1388         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1389         not steal the refcount of the given caps as stated.
1390
1391         REVERT THIS COMMIT ONCE FIXED !
1392         REVERT THIS COMMIT ONCE FIXED !
1393         REVERT THIS COMMIT ONCE FIXED !
1394         REVERT THIS COMMIT ONCE FIXED !
1395         REVERT THIS COMMIT ONCE FIXED !
1396         REVERT THIS COMMIT ONCE FIXED !
1397
1398 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1399
1400         * gst/gstiterator.c:
1401         * gst/gstiterator.h:
1402         After 3 years it's about time to revise the documentation of the
1403         iterator objects.
1404
1405 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1406
1407         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1408         Make the internal links function less thread-unsafe and add some
1409         comments, dunno why.
1410
1411 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1412
1413         * gst/gst_private.h:
1414           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1415           build with --disable-gst-debug.
1416
1417 2008-08-28  David Schleef  <ds@schleef.org>
1418
1419         * gst/gstpadtemplate.c: Revert last change, since it breaks
1420           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1421           but shouldn't be enabled until we've released fixed versions
1422           of -good and -ffmpeg.
1423
1424 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1425
1426         * gst/gstobject.c:
1427           Put the gst_object_get_name() back in.
1428
1429 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1430
1431         * gst/gstpadtemplate.c:
1432           The old behaviour was that gst_pad_template_new() takes ownership of
1433           the caps. As we now call g_object_new() which calls g_object_set() and
1434           which copies the caps, we have to unref them to not leak them. Fixes
1435           make valgrid for me.
1436
1437 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1438
1439         * gst/gsturi.c:
1440           Don't segfault on input like "tel:+1-123-555-1234".
1441
1442 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1443
1444         * gst/gstobject.c:
1445           Due to popular request also include ObjectType in
1446           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1447
1448 2008-08-26  David Schleef  <ds@schleef.org>
1449
1450         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1451           src_val must be positive, because that's not a requirement.
1452           This causes problems with converting negative granulepos
1453           values for Dirac.
1454         * gst/gstquery.c: Same, gst_query_new_convert().
1455
1456 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1457
1458         * gst/gstclock.c: (gst_clock_add_observation):
1459         Add some more debugging to the clock slaving code.
1460
1461         * win32/common/libgstbase.def:
1462         Add new basetransform method.
1463
1464 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1465
1466         * gst/gstbin.c: (gst_bin_element_set_state):
1467         Take the (recursive) state lock between getting the locked state of an
1468         element and changing the element state. This allows the application to
1469         lock an element's state and then change its state without races.
1470
1471 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1472
1473         * gst/gstbin.c: (gst_bin_element_set_state):
1474         When an element is in the locked state we still want to update the
1475         base_time of the element.
1476
1477 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1478
1479         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1480         Use the result from gst_pad_set_caps() instead of assuming the element
1481         always accepted the caps computed by the default negotiate function.
1482
1483 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1484
1485         * docs/libs/gstreamer-libs-sections.txt:
1486         * libs/gst/base/gstbasetransform.c:
1487         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1488         (gst_base_transform_chain), (gst_base_transform_suggest),
1489         (gst_base_transform_reconfigure):
1490         * libs/gst/base/gstbasetransform.h:
1491         Implement method for reconfiguring basetransform.
1492         API: GstBaseTransform::gst_base_transform_reconfigure()
1493
1494 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1495
1496         patch by: Murray Cumming <murrayc@murrayc.com>
1497
1498         * gst/gstutils.c:
1499           Mention that this is just like gst_buffer_merge() but with extra
1500           unreffing for C coders. Advise language bindings not to wrap it.
1501           Fixes Bug #533856.
1502           
1503           Also fix file comment.
1504
1505 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1506
1507         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1508
1509         * plugins/elements/gstfakesink.c:
1510         * plugins/elements/gstfakesrc.c:
1511           Call super::event() when not handling it. Fixes #544855.
1512
1513 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1514
1515         Patch by: Alessandro Decina <alessandro@nnva.org>
1516         * plugins/elements/gstfilesrc.c:
1517           Use 64 bit variants of stat functions on win32, to enable support
1518           of large files there.
1519           Fixes #547277.
1520
1521 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1522
1523         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1524         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1525         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1526         (gst_base_sink_get_position), (gst_base_sink_change_state):
1527         Improve position reporting in the flushing state.
1528         Also report the position when we are not yet prerolled but we
1529         have a newsegment event. Fixes #543444.
1530         Improve the pull-based negotiation code.
1531
1532         * tests/check/elements/fakesink.c: (GST_START_TEST),
1533         (fakesink_suite):
1534         Add testcase for position reporting while flushing in PAUSED and
1535         PLAYING.
1536
1537         * tests/check/generic/sinks.c: (GST_START_TEST):
1538         Update unit-test, we can now query the position as soon as we receive a
1539         NEWSEGMENT event.
1540
1541 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1542
1543         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1544
1545         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1546         When the subclass event handler releases the PREROLL_LOCK, we could be
1547         in the flushing state and we have to ignore the event. Fixes #548394.
1548
1549 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1550
1551         * tools/gst-launch.1.in:
1552           Document GST_REGISTRY_UPDATE environment variable.
1553
1554 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1555
1556         * libs/gst/base/gstbasetransform.c:
1557         (gst_base_transform_prepare_output_buffer):
1558         If the element is configured in passthrough mode but the
1559         prepare_output_buffer gave us a new output buffer, discard that buffer
1560         and reuse the input buffer.
1561
1562 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1563
1564         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1565
1566         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1567         (gst_tee_request_new_pad), (gst_tee_release_pad),
1568         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1569         * plugins/elements/gsttee.h:
1570         Protect pad_alloc with a new lock so that we can be sure that nothing is
1571         performing a pad_alloc when removing the pad. Fixes #547835.
1572
1573         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1574         (buffer_alloc_harness_teardown), (app_thread_func),
1575         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1576         Added testcase for shutdown race.
1577
1578 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1579
1580         * gst/gstpad.h:
1581         Add doc
1582
1583 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1584
1585         * libs/gst/base/gstbasetransform.c:
1586         (gst_base_transform_prepare_output_buffer),
1587         (gst_base_transform_buffer_alloc):
1588         Go over the buffer_alloc function again and make sure we always end up
1589         allocating a buffer.
1590         Add some more docs.
1591         Avoid doing pad alloc when we have a pending suggestion because we
1592         cannot yet deal with changing caps in that case. Fixes #547728
1593
1594 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1595
1596         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1597
1598         * docs/manual/advanced-clocks.xml:
1599         * docs/manual/clocks.png:
1600         * docs/manual/diagrams-clocks.svg:
1601           Add one more image showing different times together with a describing
1602           paragraph. Fixes #547729.
1603
1604 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1605
1606         * win32/common/libgstbase.def:
1607         Add new method.
1608
1609 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1610
1611         * libs/gst/base/gstbasetransform.c:
1612         (gst_base_transform_transform_caps),
1613         (gst_base_transform_prepare_output_buffer),
1614         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1615         Don't overwrite the outsize when calculating the expected size of a new
1616         buffer because we still need it in case we cannot process the new
1617         buffer.
1618         When converting the size of the new buffer to an upstream size, actually
1619         use the expected size of the buffer, not some other random value.
1620         Use an atomic int to signal that a new upstream caps suggestion is
1621         available.
1622         When we can convert the current buffer to a new format, check if the
1623         buffer size is of the expected size and allocate a new buffer of the
1624         expected size when this is not the case. Fixes #546883.
1625
1626         * tests/check/libs/transform1.c: (GST_START_TEST):
1627         remove ifdeffed code from the unit test.
1628
1629 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1630
1631         * pkgconfig/gstreamer-uninstalled.pc.in:
1632         * pkgconfig/gstreamer.pc.in:
1633           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1634           called gstcontroller-0.10.
1635
1636 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1637
1638         * gst/gstchildproxy.h:
1639         * gst/gstpreset.h:
1640           Remove double interface from doc-string.        
1641
1642 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1643
1644         * libs/gst/base/gstbasesrc.c:
1645         * libs/gst/base/gstbasetransform.c:
1646           Fix headings in docs and gtk-doc warnings.
1647
1648 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1649
1650         * gst/gstregistrybinary.c:
1651           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1652           libc.
1653           Fixes #544776.
1654
1655 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1656
1657         * libs/gst/base/gstbasetransform.c:
1658         (gst_base_transform_buffer_alloc):
1659         Fix a "may be used unitialized" warning.
1660
1661 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1662
1663         * docs/gst/gstreamer-sections.txt:
1664         * gst/gstpreset.h:
1665           Document preset-iface vmethods.
1666
1667 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1668
1669         * docs/manual/advanced-interfaces.xml:
1670           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1671           only used to discover devices.
1672
1673 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1674
1675         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1676
1677         * gst/gst.c: (init_pre):
1678         Make sure gettext returns translations in UTF-8 encoding rather
1679         than in the current locale encoding (#546822).
1680
1681 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1682
1683         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1684         Fix subset test.
1685
1686         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1687         Improve unit test subset tests and add a testcase for the subset failure
1688         cases.
1689
1690         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1691         Improve subtraction unit test.
1692
1693 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1694
1695         * plugins/elements/gsttee.c:
1696           Unlock, instead of locking again.
1697
1698 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1699
1700         * gst/gstpad.h:
1701         Clarify the docs a bit more.
1702
1703 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1704
1705         * tests/examples/metadata/read-metadata.c:
1706           Don't leak old taglist.
1707
1708 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1709
1710         Patch by: Olivier Crete <tester at tester dot ca>
1711
1712         * gst/gststructure.c:
1713         (gst_structure_fixate_field_nearest_fraction):
1714         Avoid overflows in fixation code when dealing with MAXINT values, which
1715         v4l2src seems to do.
1716         Fixes #546328.
1717
1718         * tests/check/gst/gststructure.c: (GST_START_TEST):
1719         Make a unit test to check the fix. 
1720
1721 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1722
1723         * plugins/elements/gstcapsfilter.c: (copy_func),
1724         (gst_capsfilter_set_property):
1725         Use new caps suggestion feature of basetransform to request a caps
1726         negotiation upstream.
1727
1728 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1729
1730         * docs/libs/gstreamer-libs-sections.txt:
1731         Add new function:
1732         API: GstBaseTransform::gst_base_transform_suggest()
1733
1734         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1735         (gst_base_transform_init), (gst_base_transform_transform_caps),
1736         (gst_base_transform_transform_size),
1737         (gst_base_transform_configure_caps),
1738         (gst_base_transform_can_transform),
1739         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1740         (gst_base_transform_prepare_output_buffer),
1741         (gst_base_transform_buffer_alloc),
1742         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1743         (gst_base_transform_chain), (gst_base_transform_activate),
1744         (gst_base_transform_set_passthrough),
1745         (gst_base_transform_is_passthrough),
1746         (gst_base_transform_set_in_place),
1747         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1748         (gst_base_transform_set_qos_enabled),
1749         (gst_base_transform_is_qos_enabled),
1750         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1751         (gst_base_transform_reconfigure):
1752         * libs/gst/base/gstbasetransform.h:
1753         Rewrite of basetransform to perform negotiation outside of the
1754         buffer_alloc functions.  Fixes #545853.
1755
1756         * tests/check/libs/transform1.c: (GST_START_TEST),
1757         (buffer_alloc_ct2):
1758         Update unit test.
1759
1760 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1761
1762         * tests/check/gst/gstpreset.c:
1763           Only run preset tests when $HOME is writable. Preliminary fix for
1764           #545433.
1765
1766 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1767
1768         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1769         (gst_bin_change_state_func), (bin_handle_async_done),
1770         (gst_bin_handle_message_func):
1771         Fix race for bins that simulate ASYNC state changes by inserting
1772         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1773         pending ASYNC messages even when the bin does not have ASYNC children.
1774         We note detect this behaviour because we will receive an ASYNC message
1775         that is originating from the bin itself. 
1776         Fixes races with decodebin2 state changes.
1777
1778         * tests/check/gst/gstbin.c: (GST_START_TEST):
1779         Add some more debug.
1780
1781 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1782
1783         * gst/gsttaglist.c: (_gst_tag_initialize):
1784           Fix typo.
1785
1786 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1787
1788         * gst/gsttaglist.c:
1789           Argh. actually save the text before committing. Now adds
1790           gst_tag_merge_strings_with_comma() to gst_tag_register().
1791
1792 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1793
1794         * gst/gsttaglist.c:
1795         * gst/gsttaglist.h:
1796           Do as tim pointed out and actually register the new tag. Also improve
1797           te docs and use gst_tag_merge_strings_with_comma() method to allow
1798           retriving all keywords merged in one list.
1799
1800 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1801
1802         * configure.ac:
1803         * docs/gst/gstreamer.types:
1804           Revert 'accidential' change of the configure option removal. We still
1805           need to generate the types file in configure --disable-load-save.
1806
1807 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1808
1809         * docs/gst/gstreamer-sections.txt:
1810         * gst/gsttaglist.h:
1811           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1812
1813 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1814
1815         * gst/gstpadtemplate.c:
1816           (gst_pad_template_class_init), (gst_static_pad_template_get),
1817           (gst_pad_template_new), (gst_pad_template_pad_created),
1818           (gst_pad_template_set_property), (gst_pad_template_get_property):
1819           Add "name-template", "direction", "presence" and "caps" properties,
1820           so that gst_pad_template_new() is just a thin wrapper around
1821           g_object_new(), which is better for bindings. (Fixes: #539772)
1822
1823 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1824
1825         * gst/gsturi.c:
1826           Be more liberal in what URIs we accept.
1827           Do not unescape bits of the URI for no apparent reason before passing to
1828           the element. Fixes #545352.
1829
1830 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1831
1832         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1833
1834         * gst/gst.c:
1835         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1836
1837 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1838
1839         * configure.ac:
1840         * docs/gst/gstreamer-sections.txt:
1841         * docs/gst/gstreamer.types:
1842         * docs/gst/gstreamer.types.in:
1843         * gst/Makefile.am:
1844         * gst/gst.c:
1845         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1846         * gst/gstconfig.h.in:
1847         * gst/gstelement.c: (gst_element_get_index):
1848         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1849         (gst_registry_binary_load_feature),
1850         (gst_registry_binary_read_cache):
1851         * gst/gstregistryxml.c: (load_feature),
1852         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1853         * plugins/Makefile.am:
1854         * tools/gst-indent:
1855         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1856         (print_plugin_features), (print_element_features):
1857         * tools/gst-xmlinspect.c: (print_event_masks),
1858         (print_element_info):
1859         * win32/common/gstconfig.h:
1860         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1861
1862         Disabling the indexers and URI handler code will only reduce the
1863         required amount of memory by a very small amount but on the other hand
1864         requires much more maintaince work. Apart from that many places of
1865         code are broken when disabling them.
1866
1867         Disabling the enum types doesn't reduce the required amount of memory
1868         by more than a few bytes and makes it hard to fix bugs like #539772,
1869         i.e. use the enums as GObject properties.
1870
1871 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1872
1873         * docs/design/part-TODO.txt:
1874         Add some thoughts and problems with upstream renegotiation.
1875
1876 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1877
1878         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1879         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1880         Remove silly redundant debug.
1881         Add some more debug info.
1882         Clarify the docs regarding new caps received from pad_alloc.
1883
1884 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1885
1886         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1887         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1888         Make setting the caps more threadsafe.
1889
1890 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1891
1892         * docs/design/part-element-transform.txt:
1893         Update docs.
1894
1895 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1896
1897         * plugins/elements/gstqueue.c: (gst_queue_init),
1898         (gst_queue_acceptcaps):
1899         Add and use a custom acceptcaps function instead of falling back to the
1900         potentially less optimized default implementation.
1901
1902 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1903
1904         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1905           Only sanity-check the buffer size if requested_caps == buffer_caps
1906           (ie. don't take pad caps into account, they're not relevant here)
1907
1908 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1909
1910         * plugins/elements/gsttee.c:
1911         * plugins/elements/gsttee.h:
1912           Reverting as not everything is clear yet. Needs some general design
1913           work.
1914
1915 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1916
1917         * ChangeLog:
1918           ChangeLog surgery for tee commit.
1919
1920 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1921
1922         * docs/gst/gstreamer-sections.txt:
1923           Cleanup section-file.
1924
1925 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1926
1927         * plugins/elements/gsttee.c:
1928         * plugins/elements/gsttee.h:
1929           Relay tag events in tee. Fixes parts of #474016.
1930           Downgrades 3 reoccurring debugs to log.
1931
1932 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1933
1934         * configure.ac:
1935         * libs/gst/Makefile.am:
1936           Build the net library if we have winsock2.
1937
1938 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1939
1940         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1941
1942         * docs/manual/advanced-threads.xml:
1943         * docs/manual/diagrams-pipelines.svg:
1944         * docs/manual/hello-world.png:
1945         * docs/manual/linked-elements.png:
1946         * docs/manual/mime-world.png:
1947         * docs/manual/queue.png:
1948         * docs/manual/thread-buffering.png:
1949         * docs/manual/thread-synchronizing.png:
1950           Replace one diagram with two separate ones and updates others.
1951           Fixes #542401.
1952
1953 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1954
1955         * gst/gstelement.h:
1956         Fix link in documentation.
1957
1958 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1959
1960         * gst/gstmessage.c:
1961         Fix confusing documentation.
1962
1963 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1964
1965         * libs/gst/base/gstbasesrc.h:
1966         revert the changes to the header file for the ABI.
1967
1968 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1969
1970         * libs/gst/base/gstbasesrc.c:
1971         * libs/gst/base/gstbasesrc.h:
1972         Don't cache the seekable status.
1973         Fixes bug #544174
1974
1975 2008-07-24  Rene Stadler  <mail@renestadler.de>
1976
1977         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1978         code to close the pipeline graph.  This prevents the program from
1979         printing internal data flow errors.
1980
1981 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1982
1983         * docs/manual/basics-bus.xml:
1984         Correct typo. Fixes bug #544320.
1985
1986 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1987
1988         * configure.ac:
1989           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1990           Add check (taken from -base) for winsock, adds WIN32_LIBS
1991         * gst/Makefile.am:
1992           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1993           winsock.
1994           Define GST_EXPORTS when building libgstreamer (only used on win32)
1995         * gst/gst_private.h:
1996         * gst/gstinfo.h:
1997           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1998           for symbols that we need to export in both these files.
1999         * gst/gstpoll.c:
2000           Include gst_private.h higher up to avoid some compile problems on win32.
2001
2002 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2003
2004         * gst/gstvalue.c:
2005         Fix typos.
2006
2007 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2008
2009         * gst/gstcaps.c:
2010         Previous commit was wrong NULL caps does not exist
2011         and indicate an error, so also add a FIXME to
2012         gst_caps_is_equal where NULL caps are accepted.
2013
2014 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2015
2016         * gst/gstcaps.c:
2017         Allow passing of NULL to gst_caps_union
2018
2019 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2020
2021         * gst/gstghostpad.c:
2022         Add in doc that gst_ghost_pad_set_target can accept
2023         NULL to clear target
2024
2025 2008-07-15  Michael Smith <msmith@songbirdnest.com>
2026
2027         * gst/gstplugin.c:
2028         * gst/gstregistry.c:
2029           GstRegistryPool doesn't exist; don't refer to it in docs.
2030           Don't refer to functions that don't exist in docs, it's
2031           unhelpful.
2032
2033 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2034
2035         * gst/gst.c:
2036         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
2037
2038 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2039
2040         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
2041
2042         * docs/pwg/building-testapp.xml:
2043         Don't use an undeclared variable in the example program.
2044         Fixes bug #542573.
2045
2046 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
2047
2048         * gst/gstdebugutils.c:
2049           Squeeze ghost-pad links and remove <> from classname labels to save
2050           more horizontal space.
2051
2052 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
2053
2054         * gst/gstdebugutils.c:
2055           Give request and sometimes pads a different shpe style. Condense the
2056           graphs a little more.
2057
2058 2008-07-09  Michael Smith <msmith@songbirdnest.com>
2059
2060         * configure.ac:
2061           Don't require flex and bison if the parser is disabled.
2062
2063 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2064
2065         * libs/gst/controller/gstinterpolationcontrolsource.c:
2066         (_list_find_sorted_custom):
2067         Don't use declarations after statements.
2068
2069 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2070
2071         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
2072         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
2073         of the the child-added / -removed signals as GstChildProxy
2074         only supports GstObjects.
2075
2076 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
2077
2078         * gst/gstdebugutils.c:
2079         Fix memleak
2080
2081 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2082
2083         Patch by: Alessandro Decina <alessandro at nnva dot org>
2084
2085         * gst/gstpoll.c:
2086         Fix "ignored return value" compiler warning with newer glibc.
2087
2088 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2089
2090         * gst/gstchildproxy.c:
2091         Fix copy&paste error in gst_child_proxy_removed() documentation.
2092
2093 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
2094
2095         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
2096           Print error debug message if plugin description fields that should
2097           be set are NULL.
2098
2099         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
2100           Don't crash if the string to serialise is NULL (it really should
2101           not be, but apparently this used to work with the xml registry ...).
2102
2103 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
2104
2105         * tools/gst-plot-timeline.py:
2106         Fix parsing of log messages
2107
2108 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2109
2110         * win32/common/libgstbase.def::
2111           Sort alphabetically so make check-exports doesn't barf.
2112
2113 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
2114
2115         * gst/gstevent.c:
2116           Use gst_format_get_name() to improve debug output.
2117
2118         * gst/gstpreset.c:
2119           Remove #ifdef'ed code. Add TODO comment.
2120
2121         * gst/gstsegment.c:
2122           Add debug output to ease spotting format != segment.format assertions.
2123
2124 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2125
2126         * tests/check/libs/gdp.c: (gst_dp_suite):
2127         Also enable the GDP unit test again on PPC now that the bug
2128         is fixed.
2129
2130 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2131
2132         * libs/gst/dataprotocol/dataprotocol.c:
2133         Don't write to the same region of memory as a uint64 and uint16
2134         as this breaks strict aliasing rules and apparantly breaks on PPC
2135         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2136
2137 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2138
2139         * libs/gst/controller/gstinterpolationcontrolsource.c:
2140           Optimize list handling. Use own find function. Exploit that fact that
2141           the list is sorted. Also pass back the node before, so that we can
2142           insert quickly. Have a fast path for append.
2143
2144 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
2145
2146         * docs/design/draft-framestep.txt:
2147         * docs/design/part-negotiation.txt:
2148           Fix two typos.
2149
2150 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2151
2152         * configure.ac:
2153           Show configuration sumary after configure run. Based on patch by
2154           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
2155
2156 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
2157
2158         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2159
2160         * docs/manual/advanced-autoplugging.xml:
2161         * docs/manual/advanced-threads.xml:
2162         * docs/manual/basics-bins.xml:
2163         * docs/manual/basics-elements.xml:
2164         * docs/manual/basics-helloworld.xml:
2165         * docs/manual/basics-pads.xml:
2166           Add scale factor for pdf output.
2167
2168         * docs/manual/intro-basics.xml:
2169           Switched sections "pads" and "bins" and added a pipeline diagram.
2170
2171         * docs/manual/intro-gstreamer.xml:
2172           Added more info on gstreamer.
2173
2174         * docs/manual/intro-motivation.xml:
2175           Commented out the whole section "current problem", which sounds
2176           historical and somehow osolete; it could be turned in a positive
2177           way and reused to improve the design principles.
2178
2179         * docs/manual/intro-preface.xml:
2180           - Update URLs to library.gnome.org. 
2181           - Do not mention GTK+ in preliminary reading (irrelevant). 
2182           - Mention Plugin Writer's Manual and further reading only in the
2183             previous section.
2184           - Added a list of most relevant GObject/glib topics.
2185
2186         * docs/manual/Makefile.am:
2187         * docs/manual/bin-element-ghost.fig:
2188         * docs/manual/bin-element-ghost.png:
2189         * docs/manual/bin-element-noghost.fig:
2190         * docs/manual/bin-element-noghost.png:
2191         * docs/manual/bin-element.fig:
2192         * docs/manual/bin-element.png:
2193         * docs/manual/filter-element-multi.fig:
2194         * docs/manual/filter-element-multi.png:
2195         * docs/manual/filter-element.fig:
2196         * docs/manual/filter-element.png:
2197         * docs/manual/gstreamer-overview.png:
2198         * docs/manual/hello-world.fig:
2199         * docs/manual/hello-world.png:
2200         * docs/manual/linked-elements.fig:
2201         * docs/manual/linked-elements.png:
2202         * docs/manual/mime-world.fig:
2203         * docs/manual/mime-world.png:
2204         * docs/manual/queue.fig:
2205         * docs/manual/queue.png:
2206         * docs/manual/simple-player.png:
2207         * docs/manual/sink-element.fig:
2208         * docs/manual/sink-element.png:
2209         * docs/manual/src-element.fig:
2210         * docs/manual/src-element.png:
2211         * docs/manual/diagrams-general.svg:
2212         * docs/manual/diagrams-pipelines.svg:
2213           Removed .fig, added .png counterpart.
2214           
2215           Fixes: #539137
2216
2217 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
2218
2219         * plugins/elements/gstmultiqueue.c:
2220         * plugins/elements/gstmultiqueue.h:
2221         revert extra-size-buffers stuff, caused some race conditions
2222         and extra-size-buffers is not used anymore. Docs needs some updates
2223
2224 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2225
2226         * win32/common/config.h:
2227         * win32/common/gstenumtypes.c:
2228         * win32/common/gstenumtypes.h:
2229         * win32/common/gstversion.h:
2230           Update win32 files.
2231
2232 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
2233
2234         * gst/gstdebugutils.h: (GstDebugGraphDetails),
2235           (GST_DEBUG_BIN_TO_DOT_FILE):
2236           Add missing Since' markers to gtk-doc blurbs.
2237
2238 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
2239
2240         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2241         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2242         (set_caps_1), (set_caps_ct1), (transform_ct1),
2243         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2244         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2245         (transform_size_ct2), (buffer_alloc_ct2):
2246         Add some more tests with switching caps in buffer_alloc.
2247
2248 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2249
2250         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2251         (gst_test_trans_class_init), (result_sink_chain),
2252         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2253         (gst_test_trans_push), (gst_test_trans_pop):
2254         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2255         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2256         (set_caps_1), (set_caps_ct1), (transform_ct1),
2257         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2258         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2259         (transform_size_ct2), (buffer_alloc_ct2),
2260         (gst_basetransform_suite):
2261         More tests, prepare for tests with switching caps in buffer_alloc.
2262
2263 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
2264
2265         * plugins/elements/gstmultiqueue.c:
2266         * plugins/elements/gstmultiqueue.h:
2267         Fix dead-lock in underrun_cb
2268
2269 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2270
2271         * docs/design/part-states.txt:
2272         Fix device open/close docs.
2273
2274 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2275
2276         * ChangeLog:
2277           Mention bugnumber for last commit.
2278
2279 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2280
2281         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2282
2283         * docs/manual/manual.xml:
2284         - Reorganised the previous "introduction" bundle into Foreword,
2285         Introduction, and About GStreamer. The two first are <preface>
2286         docbook elements. The later is the first part of the book.
2287         - added intro-gstreamer.xml (content partially from
2288         intro-preface.xml)
2289         - moved appendix-win32.xml into appendix-integration.xml
2290
2291         * docs/manual/intro-preface.xml: gstreamer section moved...
2292         * docs/manual/intro-gstreamer.xml: ...here. new file.
2293
2294         * docs/manual/appendix-win32.xml: removed file. Content moved...
2295         * docs/manual/appendix-integration.xml: ...here.
2296         
2297         * docs/manual/highlevel-components.xml: section about GstEditor moved...
2298         * docs/manual/appendix-checklist.xml: ...here.
2299         
2300         Fixes: 538764
2301
2302 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2303
2304         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2305
2306         * docs/manual/basics-helloworld.xml:
2307         * docs/manual/hello-world.fig:
2308           - Explicitely include glib.h.
2309           - Do not use global variables.
2310           - Use g_printerr() instead of g_print().
2311           - Minor formating/renaming to increase readibility.
2312           - Renamed new_pad() to on_pad_added()
2313           - Improved explenatory comments.
2314           - renamed ogg parser to ogg demuxer
2315           - Use "autoaudiosink" instead of "alsasink".
2316           Fixes: #538619
2317
2318 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2319
2320         * ChangeLog:
2321           Remove cvs conflict marker.
2322
2323 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
2324
2325         * docs/README:
2326           Document that for plgin-docs we extraxt he short-desc from the element
2327           details.
2328
2329         * docs/design/part-states.txt:
2330           Tell that devices should be closed in PAUSED -> READY.
2331
2332         * docs/manual/README:
2333           Document how tests in the manual are handled.
2334
2335         * docs/manuals.mak:
2336           Typo in comment.
2337
2338 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2339
2340         * gst/gstbin.c: (bin_query_latency_fold):
2341         Only care about latency min and max when the sink is actually a live
2342         sink.
2343
2344 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2345
2346         * docs/design/part-block.txt:
2347         Fix typo.
2348
2349         * docs/design/part-element-transform.txt:
2350         Add notes about why transform needs to know input/output sizes.
2351         Add some issues that need to be solved.
2352         Add some more use cases.
2353
2354         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2355         (gst_test_trans_class_init), (result_sink_chain),
2356         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2357         (gst_test_trans_push), (gst_test_trans_pop):
2358         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2359         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2360         (set_caps_1), (set_caps_ct1), (transform_ct1),
2361         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2362         (gst_basetransform_suite):
2363         Add suport for different pad templates and buffer-alloc.
2364         Add more checks for caps and buffer-alloc.
2365         Add checks for proxy buffer alloc.
2366         Add unit test for copy transform.
2367
2368 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2369
2370         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2371
2372         * docs/manual/appendix-integration.xml:
2373         * docs/manual/appendix-licensing.xml:
2374         * docs/manual/basics-elements.xml:
2375         * docs/manual/basics-helloworld.xml:
2376         * docs/manual/basics-pads.xml:
2377         * docs/manual/highlevel-components.xml:
2378         * docs/manual/highlevel-xml.xml:
2379         * docs/manual/intro-basics.xml:
2380         * docs/manual/intro-preface.xml:
2381           Typo and formatting fixes (#538594).
2382
2383 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2384
2385         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2386         Fix some memory leaks and uses of object instances that we don't
2387         actually own.
2388
2389 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2390
2391         * plugins/elements/gstmultiqueue.c:
2392         Add functionality to extra-size-buffers property.
2393
2394 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2395
2396         * plugins/elements/gstmultiqueue.c:
2397         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2398         activate the pads if they are added in STATE_NULL.
2399
2400 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2401
2402         * docs/libs/gstreamer-libs-sections.txt:
2403         Add new API to doc
2404         * libs/gst/check/gstcheck.c:
2405         * libs/gst/check/gstcheck.h:
2406         API: gst_check_teardown_pad_by_name
2407
2408 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2409
2410         * libs/gst/check/gstcheck.c:
2411         * libs/gst/check/gstcheck.h:
2412         Also setup request pads and allow setup pads by name (#537812)
2413         API: gst_check_setup_src_pad_by_name
2414         API: gst_check_setup_sink_pad_by_name
2415
2416 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2417
2418         * tests/check/gst/gstbuffer.c:
2419         * tests/check/pipelines/parse-launch.c:
2420           Use HAVE_VALGRIND_H some more.
2421
2422 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2423
2424         * scripts/cvs-update.sh:
2425           Pass arguments to make.
2426           Run autoregen.sh if Makefile is not there.
2427
2428 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2429
2430         * configure.ac:
2431         * gst/gstinfo.c:
2432           Don't assume that <valgrind/valgrind.h> exists just because
2433           the binary is there.
2434
2435 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2436
2437         * tests/check/Makefile.am:
2438         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2439         (gst_test_trans_class_init), (gst_test_trans_init),
2440         (gst_test_trans_set_data), (result_sink_chain),
2441         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2442         (gst_test_trans_pop):
2443         * tests/check/libs/transform1.c: (GST_START_TEST),
2444         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2445         Add some test basetransform element and the beginnings of various
2446         unit tests for it.
2447
2448 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2449
2450         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2451         Increase code readability.
2452         Don't try to compare buffer offsets when ther are invalid.
2453
2454 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2455
2456         * docs/design/Makefile.am:
2457           Dist some more design docs.
2458
2459         * docs/random/moving-plugins:
2460           Small addition: good plugins mustn't have functional code
2461           within assertion macros.
2462
2463 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2464
2465         * docs/design/draft-framestep.txt:
2466         Some ideas about a framestep API
2467
2468         * docs/design/part-element-transform.txt:
2469         Start design and use cases for basetransform in order to get it
2470         fixed soon.
2471
2472 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2473
2474         * gst/gsttaglist.h:
2475           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2476           be in UTF-8 encoding.
2477
2478 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2479
2480         * gst/gstbus.c:
2481           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2482
2483 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2484
2485         * plugins/elements/gstcapsfilter.c:
2486         * plugins/elements/gstfakesink.c:
2487         * plugins/elements/gstfakesrc.c:
2488         * plugins/elements/gstfdsink.c:
2489         * plugins/elements/gstfdsrc.c:
2490         * plugins/elements/gstfilesink.c:
2491         * plugins/elements/gstfilesrc.c:
2492         * plugins/elements/gstidentity.c:
2493         * plugins/elements/gstmultiqueue.c:
2494         * plugins/elements/gstqueue.c:
2495         * plugins/elements/gsttee.c:
2496         * plugins/elements/gsttypefindelement.c:
2497           Remove short_description. Add basic docs for gsttypefindelement.
2498           Simplify markup for fakesrc/fdsrc.
2499
2500 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2501
2502         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2503         Added Since doc.
2504
2505 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2506
2507         Patch by: Joel Larsson <tilljoel at gmail dot com>
2508
2509         * docs/plugins/gstreamer-plugins.args:
2510         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2511         (gst_fd_src_init), (gst_fd_src_update_fd),
2512         (gst_fd_src_set_property), (gst_fd_src_get_property),
2513         (gst_fd_src_create):
2514         * plugins/elements/gstfdsrc.h:
2515         Add timeout property like udpsrc. Fixes #538628.
2516         Add some more docs and example pipelines.
2517
2518 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2519
2520         * docs/libs/gstreamer-libs-sections.txt:
2521         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2522         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2523         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2524         (gst_base_sink_do_sync):
2525         * libs/gst/base/gstbasesink.h:
2526         * win32/common/libgstbase.def:
2527         Add method to allow sinks to specify additional delay between the sync
2528         times and the actual rendering of the data.
2529         API: gst_base_sink_set_render_delay()
2530         API: gst_base_sink_get_render_delay()
2531
2532 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2533
2534         * configure.ac:
2535         Bump version number back to dev -> 0.10.20.1
2536
2537 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2538
2539         * docs/gst/gstreamer-sections.txt:
2540         * gst/gsttaglist.c: (_gst_tag_initialize):
2541         * gst/gsttaglist.h:
2542         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2543         Fixes bug #538568.
2544
2545 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2546
2547         * libs/gst/controller/gstcontroller.c:
2548           Revert one change, that make ret value possible uninitialized.
2549
2550 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2551
2552         * libs/gst/controller/gstcontroller.c:
2553           Use freeze/thaw notify to sync notify emission a bit (its also more
2554           efficient). Move debug output to LOG (is called a lot in a loop).
2555           Always unset g_values if the have been initialized.
2556
2557 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2558
2559         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2560         (gst_base_sink_wait_eos), (gst_base_sink_event):
2561         If we have not seen a buffer before EOS, use the segment values to
2562         report the current position instead of invalid positions.
2563
2564 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2565
2566         * docs/plugins/tmpl/.cvsignore:
2567         * tests/check/gst/.cvsignore:
2568           Ignore more.
2569
2570 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2571
2572         * libs/gst/controller/gstinterpolation.c:
2573         * libs/gst/controller/gstinterpolationcontrolsource.c:
2574         * tests/check/libs/controller.c:
2575           Rewrite handling of default values. Fix overflow with unsigned types
2576           in linear interpolation. Remove now obsolete _first_value() function.
2577           Add more tests. Fixes #538201.
2578
2579 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2580
2581         * libs/gst/base/gstbasetransform.c:
2582         (gst_base_transform_class_init), (gst_base_transform_init),
2583         (gst_base_transform_transform_caps),
2584         (gst_base_transform_prepare_output_buffer):
2585         Add debug info.
2586         When a buffer is writable, its metadata is also writable so we don't
2587         need to subbuffer (which then makes the buffer not-writable anymore).
2588
2589 === release 0.10.20 ===
2590
2591 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2592
2593         * configure.ac:
2594           releasing 0.10.20, "You Crazy Diamond"
2595
2596 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2597
2598         * configure.ac:
2599         0.10.19.3 pre-release
2600
2601 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2602
2603         * configure.ac:
2604         * gst/gstpreset.c:
2605         Rename DATADIR to GST_DATADIR to avoid build problems
2606         on win32. Patch By: David Schleef <ds@schleef.org>
2607         Fixes: #536857
2608
2609 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2610
2611         * configure.ac:
2612         Explicitely link with -ldl if dladdr() is found there. Before it was
2613         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2614         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2615
2616 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2617
2618         * gst/gsterror.c: (_gst_stream_errors_init):
2619           Fix typo (spotted by Fabricio Godoy, #536723).
2620
2621 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2622
2623         * configure.ac:
2624         0.10.19.2 pre-release
2625
2626 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2627
2628         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2629         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2630         Add some debug.
2631         Make sure we don't generate invalid QoS messages.
2632
2633 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2634
2635         * gst/gstevent.c: (gst_event_new_qos):
2636         Add some assert and docs for invalid input to the qos function.
2637
2638 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2639
2640         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2641         (gst_base_sink_get_position):
2642         The reported position must always be smaller than the last seen
2643         timestamps (or timestamp + duration for reverse).
2644
2645 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2646
2647         Patch by: Rob Bradford <rob at robster dot org dot uk>
2648
2649         * gst/gstregistry.c: (gst_registry_scan_path_level):
2650         Don't recurse into .debug directories as some distros install
2651         the debugging symbols next to the plugins in .debug directories
2652         and dlopen() crashes on them sometimes. Fixes bug #508070.
2653
2654         Add FIXME for 0.11 to not recurse into directories at all because
2655         it's very inconsistent to the behaviour of other PATH environment
2656         variables.
2657
2658 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2659
2660         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2661         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2662         Fix position query range checks in reverse playback.
2663
2664 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2665
2666         * gst/gstelement.c:
2667         * gst/gstelement.h:
2668         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2669         clear of the reference to the resulting pad must be released later
2670         or not, resulting in possible leaks. Fixes bug #533865.
2671
2672 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2673
2674         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2675
2676         * gst/gstelementfactory.c:
2677         Small doc fix. Fixes #535285.
2678
2679 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2680
2681         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2682
2683         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2684         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2685         (gst_base_src_loop), (gst_base_src_set_flushing),
2686         (gst_base_src_change_state):
2687         Make sending an EOS event to the basesrc non-blocking even if the
2688         implementation does blocking waits in the create function. This is done
2689         by unlocking the create function when EOS is sent.
2690         Fixes #535218.
2691
2692 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2693
2694         * tools/gst-inspect.c: (print_element_properties_info):
2695         If possible print the element type of GValueArray properties.
2696
2697 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2698
2699         * gst/gstiterator.c:
2700         Remove an unused field from the private GstListIterator struct.
2701
2702 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2703
2704         * libs/gst/controller/gstcontroller.c:
2705           Add parameter guards.
2706
2707 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2708
2709         * tests/check/gst/gstpipeline.c:
2710           Revert test change and add comment why it should not work.
2711
2712 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2713
2714         * tests/check/gst/gstpipeline.c:
2715           Extending the test a little to verify that we also get the NULL state-
2716           change message.
2717
2718 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2719
2720         * gst/gstpreset.c: (gst_preset_default_get_meta),
2721           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2722           (gst_preset_load_preset), (gst_preset_save_preset),
2723           (gst_preset_rename_preset), (gst_preset_delete_preset),
2724           (gst_preset_set_meta):
2725           Add Since: markers to docs blurbs.
2726
2727         * win32/common/libgstreamer.def:
2728           Add recently-added API.
2729
2730 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2731
2732         Patch by: Stefan Kost  <ensonic@users.sf.net>
2733
2734         * configure.ac:
2735         Add DATADIR for storing presets.
2736
2737         * docs/gst/gstreamer-docs.sgml:
2738         * docs/gst/gstreamer-sections.txt:
2739         * docs/gst/gstreamer.types.in:
2740         Add GstPreset to docs.
2741
2742         * gst/Makefile.am:
2743         * gst/gst.h:
2744         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2745         (preset_open_and_parse_header), (preset_parse_version),
2746         (preset_merge), (preset_get_keyfile),
2747         (gst_preset_default_get_preset_names),
2748         (gst_preset_default_get_property_names),
2749         (gst_preset_default_load_preset),
2750         (gst_preset_default_save_presets_file),
2751         (gst_preset_default_save_preset),
2752         (gst_preset_default_rename_preset),
2753         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2754         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2755         (gst_preset_default_reset), (gst_preset_get_preset_names),
2756         (gst_preset_get_property_names), (gst_preset_load_preset),
2757         (gst_preset_save_preset), (gst_preset_rename_preset),
2758         (gst_preset_delete_preset), (gst_preset_set_meta),
2759         (gst_preset_get_meta), (gst_preset_class_init),
2760         (gst_preset_base_init), (gst_preset_get_type):
2761         * gst/gstpreset.h:
2762         Add GstPreset to core. Fixes #396779
2763
2764         * tests/check/Makefile.am:
2765         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2766         (gst_preset_test_set_property), (gst_preset_test_class_init),
2767         (gst_preset_test_base_init), (gst_preset_test_get_type),
2768         (gst_preset_test_plugin_init), (GST_START_TEST),
2769         (remove_preset_file), (test_setup), (test_teardown),
2770         (gst_preset_suite):
2771         Add GstPreset unit tests.
2772
2773 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2774
2775         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2776         The default event function on a sinkpad should return TRUE when
2777         there are no internal links but should collect the return values from
2778         the internal links otherwise.
2779
2780 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2781
2782         * plugins/elements/gsttypefindelement.c:
2783         (gst_type_find_element_src_event),
2784         (gst_type_find_element_handle_event):
2785         Use faster and safer _pad_push_event().
2786
2787 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2788
2789         * docs/gst/gstreamer-sections.txt:
2790         * gst/gstutils.c: (element_find_unlinked_pad),
2791           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2792         * gst/gstutils.h:
2793           API: add gst_bin_find_unlinked_pad()
2794           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2795
2796 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2797
2798         * gst/gstclock.c:
2799         * gst/gstclock.h:
2800         * gst/gsttask.c:
2801         * gst/gsttask.h:
2802         Fixed a bunch of typos.
2803
2804 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2805
2806         * gst/gstpad.h:
2807         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2808           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2809           (gst_parse_bin_from_description_full):
2810         * gst/gstutils.h:
2811           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2812
2813 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2814
2815         * docs/pwg/advanced-tagging.xml:
2816           Small docs update, can't be bothered to rewrite the nonsensical
2817           examples right now.
2818
2819 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2820
2821         * gst/gstevent.h:
2822           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2823
2824 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2825
2826         * gst/parse/grammar.y:
2827           Remove unneeded casts.
2828
2829 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2830
2831         * gst/parse/grammar.y:
2832         * tests/check/pipelines/parse-launch.c:
2833           Get all missing elements from a parse launch string if possible
2834           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2835
2836 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2837
2838         * tests/check/Makefile.am:
2839         * tests/check/pipelines/parse-launch.c:
2840           Add some unit tests for the new gst_parse_launch*_full() API.
2841           (Exposes a previously-existing memory leak in the error code
2842           path, so adding to VALGRIND_TO_FIX for now).
2843
2844 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2845
2846         * docs/gst/gstreamer-sections.txt:
2847         * gst/gst.c: (init_post):
2848         * gst/gst_private.h: (_GstParseContext):
2849         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2850           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2851           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2852           (gst_parse_launch_full):
2853         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2854           (GstParseFlags), (GstParseContext):
2855         * gst/gstutils.c: (gst_parse_bin_from_description),
2856           (gst_parse_bin_from_description_full):
2857         * gst/gstutils.h:
2858         * gst/parse/grammar.y:
2859         * gst/parse/types.h:
2860         * win32/common/libgstreamer.def:
2861           Add new gst_parse_*_full API (#528178):
2862           API: gst_parse_launch_full()
2863           API: gst_parse_launchv_full()
2864           API: gst_parse_bin_from_description_full()
2865           API: gst_parse_context_new()
2866           API: gst_parse_context_free()
2867           API: gst_parse_context_get_missing_elements()
2868
2869 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2870
2871         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2872
2873         * docs/faq/gst-uninstalled:
2874           Also support ffmpeg in gst-uninstalled.
2875
2876 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2877
2878         * configure.ac:
2879         After discussion on IRC use the binary registry as default
2880         but allow to disable it with --disable-binary-registry.
2881
2882         * win32/common/libgstreamer.def:
2883         Add the two new symbols for the binary registry.
2884
2885 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2886
2887         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2888         * gst/gstutils.c: (gst_parse_bin_from_description):
2889         * gst/parse/grammar.y: (graph):
2890           More guards against bad input; typo fix; some minor clean-ups.
2891
2892 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2893
2894         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2895
2896         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2897         If nothing else can be used, use the last buffer's start time as
2898         the segment's last stop. Fixes bug #534258.
2899
2900 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2901
2902         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2903           Move size sanity check to the right place: downstream may return
2904           a buffer with a smaller size if the buffer caps are different than
2905           the requested ones, as may happen when doing reverse negotiation.
2906
2907 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2908
2909         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2910         (gst_file_sink_render):
2911         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2912         (gst_file_src_start):
2913         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2914         use it yet.
2915
2916 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2917
2918         * gst/gstpad.c: (gst_pad_load_and_link):
2919         * gst/gstutils.c: (gst_element_link_pads),
2920         (gst_element_unlink_pads):
2921         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2922         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2923         (gst_check_teardown_sink_pad),
2924         (gst_check_element_push_buffer_list):
2925         * tests/check/elements/fakesink.c: (GST_START_TEST):
2926         * tests/check/elements/filesink.c:
2927         * tests/check/elements/filesrc.c: (GST_START_TEST):
2928         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2929         (mq_sinkpad_to_srcpad):
2930         * tests/check/elements/tee.c: (GST_START_TEST):
2931         * tests/check/generic/sinks.c: (GST_START_TEST):
2932         * tests/check/gst/gstbin.c: (GST_START_TEST):
2933         * tests/check/gst/gstevent.c: (GST_START_TEST):
2934         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2935         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2936         * tests/check/gst/gstquery.c: (GST_START_TEST):
2937         * tests/check/gst/gstutils.c: (GST_START_TEST):
2938         * tests/check/libs/basesrc.c: (GST_START_TEST):
2939         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2940         (gst_parse_test_element_change_state):
2941         Don't use gst_element_get_pad().
2942
2943 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2944
2945         * docs/Makefile.am:
2946         Fix installing plugin documentation when gtk-doc is disabled.
2947
2948 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2949
2950         * docs/manual/advanced-autoplugging.xml:
2951         * docs/manual/basics-helloworld.xml:
2952         * docs/manual/basics-pads.xml:
2953         * docs/manual/highlevel-components.xml:
2954         Avoid using a bad function in the example code.
2955
2956 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2957
2958         * gst/gstclock.c: (gst_clock_set_calibration):
2959         Fix debug of the new clock rate.
2960
2961 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2962
2963         * win32/common/libgstbase.def:
2964         Add gst_base_sink_wait_clock() to the exported symbols.
2965
2966 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2967
2968         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2969
2970         * libs/gst/base/gstbasetransform.c:
2971         (gst_base_transform_sink_event):
2972         Unref events that the GstBaseTransform::event vfunc didn't want to
2973         have forwarded by the base class. Closes a leak in identity.
2974         Fixes bug #446763.
2975
2976 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2977
2978         * docs/libs/gstreamer-libs-sections.txt:
2979         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2980         * libs/gst/base/gstbasesink.h:
2981         Expose a method that was previously used internally to synchronize
2982         against the clock because it can be useful for subclasses too.
2983         API: GstBaseSink::gst_base_sink_wait_clock()
2984
2985 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2986
2987         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2988           Add sanity check to make sure we don't get smaller buffers
2989           than requested (and fallback to normal buffer alloc if we do).
2990
2991 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2992
2993         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2994         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2995         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2996         Refactor adjusting the running_time with latency and offset into a
2997         separate method.
2998         When doing clipping, we still want to use the subclass get_times method,
2999         just in case the DURATION or TIMESTAMP are not set.
3000
3001 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3002
3003         * docs/gst/gstreamer-sections.txt:
3004         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
3005         * gst/gsttypefind.h:
3006         * win32/common/libgstreamer.def:
3007           API: add gst_type_find_suggest_simple(), #533740.
3008
3009 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
3010
3011         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
3012           Use right error code when typefinding fails, so we can use
3013           the default (translated) error messages.
3014
3015 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
3016
3017         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
3018         (gst_base_src_start):
3019         When the subclass did not set caps on outgoing buffers, configure the
3020         caps we negotiated on the source pad.
3021         When the typefind helper does not find caps, error out properly instead
3022         of doing things with NULL caps.
3023
3024 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3025
3026         * gst/gsttypefind.h:
3027           Tabs to spaces, oh yes!
3028
3029 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3030
3031         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
3032           Add David's and Benjamin's tests for array intersection to the
3033           unit test suite (#147931).
3034
3035 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
3036
3037         * gst/gstevent.c:
3038           Document that gst_event_new_tag() and gst_event_new_navigation()
3039           take ownership of the taglist/structure passed to them. (#533635).
3040
3041 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
3042
3043         * docs/Makefile.am:
3044         Don't descend into the plugins dir if plugin docs building
3045         is disabled.
3046
3047         * docs/README:
3048         Add a note about the new type:GTypeName syntax for the plugin
3049         documentation .types file.
3050
3051 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
3052
3053         * gst/gstmessage.c: (gst_message_new_error),
3054         (gst_message_new_warning), (gst_message_new_info):
3055         * gst/gstmessage.h:
3056         Mark the debug string parameters as const. Fixes bug #533490.
3057
3058 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
3059
3060         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
3061         Sort buffer cache list by end offsets. This makes sure that we don't
3062         stop to search for a cached buffer that contains the requested data
3063         too early.
3064         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
3065         more efficient. Fixes bug #459862.
3066
3067 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
3068
3069         * gst/gstinfo.c:
3070           Explain why we copy the list.
3071
3072         * gst/gstpipeline.c:
3073           Improve docs.
3074
3075         * gst/gstutils.c:
3076           Add one debug-log statement to help tracing probelms with linking pads.
3077
3078 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
3079
3080         * tests/check/gst/gstinfo.c:
3081         Add a test for removing the default log handler. Seems to fail under
3082         windows.
3083
3084 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3085
3086         * gst/gstpad.c: (gst_pad_peer_accept_caps):
3087         Release pad lock before calling out to avoid a possible deadlock.
3088
3089 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
3090
3091         * gst/parse/grammar.y:
3092         Remove unneeded value unset.
3093
3094         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3095         Add unit test for de/serialization of caps.
3096
3097 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3098
3099         * plugins/elements/gstfakesink.c:
3100         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
3101         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
3102         (gst_fake_src_class_init):
3103         Use custom marshalers that take GstMiniObject as first parameter.
3104         Using OBJECT as parameter while a GstMiniObject is given will lead
3105         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
3106
3107 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3108
3109         * plugins/elements/gsttypefindelement.c:
3110         (gst_type_find_element_handle_event),
3111         (gst_type_find_element_send_cached_events),
3112         (gst_type_find_element_change_state):
3113         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
3114         immediately.
3115
3116 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3117
3118         * plugins/elements/gsttypefindelement.c:
3119         (gst_type_find_handle_src_query), (stop_typefinding),
3120         (gst_type_find_element_handle_event),
3121         (gst_type_find_element_send_cached_events),
3122         (gst_type_find_element_change_state):
3123         Forward FLUSH_START events immediately and clean up instead of
3124         caching them.
3125
3126 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
3127
3128         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3129
3130         * libs/gst/base/gstbasetransform.c:
3131         (gst_base_transform_buffer_alloc):
3132         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
3133         fall back to default negotiation in the chain function if the caps
3134         are different from what was requested. Fixes bug #526768.
3135
3136 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3137
3138         * gst/gstsegment.c:
3139         * tests/check/gst/gstsegment.c:
3140           No, let's not use g_slice_{dup|copy} here, since they only exist
3141           since GLib 2.14 and we still depend only on >= 2.12. Also add
3142           unit test for gst_segment_copy().
3143
3144 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
3145
3146         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
3147           Try to fix 'dereferencing type-punned pointer will break strict
3148           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
3149           changed the default GType typedef from gulong to gsize at some point,
3150           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
3151           g_once_* functions all take a gsize * though, so work around the type
3152           mismatch for C++ by doing everything in gsize and casting to GType
3153           later.
3154
3155 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
3156
3157         * plugins/elements/gstmultiqueue.c:
3158         Add documentation for the signals to push our core plugin docs
3159         coverage back up to 100%.
3160
3161 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3162
3163         * gst/gstinfo.h (GST_FUNCTION):
3164           Reverted GST_FUNCTION to the old version as we don't want the
3165           full signature in C++ code. Also added support for MSVC.
3166
3167 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3168
3169         * gst/gstutils.h:
3170         Intern the type name string, similar to what G_DEFINE_TYPE does.
3171
3172 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3173
3174         * gst/gstutils.h:
3175         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
3176
3177 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
3178
3179         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
3180
3181         * libs/gst/base/gstbasetransform.c:
3182         (gst_base_transform_buffer_alloc):
3183         Don't passthrough buffer allocation too easily if the caps change.
3184         This breaks when working in passthrough mode and upstream changes
3185         it's caps. Fixes bug #526768.
3186
3187 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3188
3189         * gst/gstinfo.c (gst_debug_log_valist):
3190           Improved the __FILE__ part of debug output for MSVC.
3191
3192 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3193
3194         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
3195           Declaration after statement fix for compilers like MSVC.
3196
3197 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3198
3199         * win32/common/config.h.in:
3200           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
3201           use the real thing than having "???" unconditionally.
3202
3203 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
3204
3205         * gst/gstinfo.h (GST_FUNCTION):
3206           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
3207
3208 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3209
3210         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
3211         Small code cleanup.
3212
3213         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3214         (gst_base_sink_set_flushing):
3215         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3216         Fix some comments.
3217
3218 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3219
3220         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
3221         (gst_fake_src_init), (gst_fake_src_set_property),
3222         (gst_fake_src_get_property), (gst_fake_src_start):
3223         * plugins/elements/gstfakesrc.h:
3224         Added format property to control the format of the newsegment events.
3225         API: GstFakeSrc:format
3226
3227 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3228
3229         * win32/common/libgstreamer.def:
3230         Add gst_pad_has_name() to the exported symbols.
3231
3232 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
3233
3234         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
3235         * libs/gst/base/gstbasetransform.c:
3236         (gst_base_transform_prepare_output_buffer):
3237         Don't allow negative sizes when allocating new buffers.
3238         Fixes bug #461253.
3239
3240 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3241
3242         Patch by: Sjoerd Simons <sjoerd at luon net>
3243
3244         * gst/gstbus.c: (gst_bus_source_dispatch):
3245           Don't print a warning if the queue is empty when we try to pop
3246           here. That could happen if another thread or callback set the
3247           bus to flushing between the source's check/prepare and the
3248           dispatch being called (#531538).
3249
3250 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
3251
3252         * plugins/elements/gstmultiqueue.c:
3253           Small docs fix.
3254         
3255 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
3256
3257         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3258         Add unit test for deserializing uint64s and check some really large
3259         numbers in the int64 test.
3260
3261 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3262
3263         * tools/gst-inspect.c: (n_print), (print_hierarchy),
3264         (print_interfaces), (print_element_properties_info),
3265         (print_signal_info):
3266         Use "%s" as format string instead of printing strings directly.
3267
3268 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
3269
3270         * gst/gstclock.c: (gst_clock_set_calibration):
3271         Make some checks actually useful.
3272
3273         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3274         Remove some unused code. Unsigned integers tend to be >= 0.
3275
3276 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3277
3278         * gst/gstminiobject.c: (gst_value_get_mini_object):
3279           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3280           function was not in the unscheduled 0.10.19 release.
3281
3282 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3283
3284         * gst/gstregistry.c: (gst_registry_scan_path_level):
3285           Only print one log message per non-plugin file.
3286
3287 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3288
3289         * gst/gstinfo.c: (gst_debug_log_default):
3290           Fix alignment of debug log columns on 64-bit.
3291
3292 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
3293
3294         * docs/libs/Makefile.am:
3295         * docs/libs/gstreamer-libs-sections.txt:
3296           Ignore private controller headers for docs.
3297
3298 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
3299
3300         * libs/gst/controller/gstcontrollerprivate.h:
3301         * libs/gst/controller/gsthelper.c:
3302         * libs/gst/controller/gstinterpolation.c:
3303         * libs/gst/controller/gstinterpolationcontrolsource.c:
3304         (gst_interpolation_control_source_set_interpolation_mode):
3305         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3306         * libs/gst/controller/lib.c:
3307         Move some private declarations into private headers.
3308
3309 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
3310
3311         * gst/gstdebugutils.c: (debug_dump_element_pad):
3312         Remove some code that is unused after Stefan's refactoring and uses
3313         uninitialized variables now, resulting in a compiler warning.
3314
3315 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
3316
3317         * gst/gstregistry.c: (gst_registry_scan_path_level):
3318           Run g_str_has_suffix() only on the file name, not the
3319           entire file path.
3320
3321 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
3322
3323         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3324           Since we're not called only from the chain function any longer,
3325           we can't assume that there's always data in the queue, so move
3326           the is_full check to the beginning of the loop (otherwise we'd
3327           hit the assert when changing the limit properties while the
3328           queue is empty or not running yet).
3329           Also, only set a discont if items were actually removed from
3330           the queue.
3331
3332         * tests/check/elements/queue.c: (test_leaky_downstream):
3333           Test case for the above.
3334
3335 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
3336
3337         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3338
3339         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3340         (gst_queue_chain), (queue_capacity_change),
3341         (gst_queue_set_property):
3342         When changing thr max capacity of a leaky queue, immediatly drop buffers
3343         instead of waiting for a push on the sinkpad. Fixes #530637.
3344
3345 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
3346
3347         * gst/gstdebugutils.c:
3348           Refactor code and fix handling of ghostpads and their proxypads.
3349
3350 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3351
3352         * docs/gst/gstreamer-sections.txt:
3353         * gst/gstevent.c: (gst_event_has_name):
3354         * gst/gstevent.h:
3355         * tests/check/gst/gstevent.c: (GST_START_TEST):
3356         Add method to conveniently check the name of a custom event with
3357         gst_event_has_name().
3358         Reformat the event docs so that related methods are put together instead
3359         of the default alphabetical sort.
3360         Update unit test with new method.
3361         API: GstEvent::gst_event_has_name()
3362
3363 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3364
3365         * libs/gst/check/Makefile.am:
3366           Don't add an explicit link to libgstreamer-0.10.la; it's already
3367           included in GST_OBJ_LIBS.
3368
3369 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3370
3371         * gst/gst.c:
3372         Register GstClock type from a type-safe context. Fixes bug #530317.
3373
3374 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3375
3376         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3377         * tools/gst-run.c:
3378           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3379
3380 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3381
3382         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3383         (gst_bin_dispose):
3384         Use the GLib stuff to create a private structure.
3385         Add some locking around some dispose methods to make them a little
3386         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3387
3388 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3389
3390         * libs/gst/base/gstbasesink.h:
3391         * libs/gst/base/gstbasesrc.h:
3392         * libs/gst/base/gstbasetransform.h:
3393         * libs/gst/base/gstcollectpads.h:
3394           Fix doc typos and unify caps a bit.
3395
3396 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3397
3398         * tools/gst-launch.1.in:
3399           Forgot to also add the envvar docs here.
3400
3401 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3402
3403         * gst/gst.c: (init_post), (gst_deinit):
3404         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3405           (test_concurrent_create), (gst_pipeline_suite):
3406           Ref some more classes in gst_init() to work around thread-safety
3407           issues in pre-2.16 GLibs, and add basic unit test.
3408
3409 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3410
3411         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3412         (gst_base_sink_send_event):
3413         Rearrange the latency query code. We always want to do the upstream
3414         query, even if we are not live so that the upstream elements can get the
3415         latency results too. If we fail doing the query and we are live, we
3416         return TRUE afterwards.
3417
3418 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3419
3420         patch by: Jason Zhao <e3423c@motorola.com>
3421
3422         * docs/gst/running.xml:
3423         * gst/gst.c:
3424           Enable/disable scan_and_update_registry() based on commandline switch
3425           or environment variable. Fixes #520468.
3426           
3427         * ChangeLog:
3428           Fix typo in my previous commit.
3429
3430 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3431
3432         * gst/gstregistrybinary.c:
3433           Add a warning if we hit unhandled factories when saving.
3434           More debug logging detail, but move to LOG category.
3435
3436 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3437
3438         * gst/gstregistry.c:
3439           Tell the *truth* when improving the documentation.
3440
3441 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3442
3443         * gst/gstelementfactory.c: (gst_element_factory_make):
3444         Unref the factory after it was used the last time, not before.
3445
3446         * gst/gstindexfactory.c: (gst_index_factory_make):
3447         Improve debugging a bit and don't leak a ref to the index factory with
3448         each call.
3449
3450 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3451
3452         * gst/gstregistry.c:
3453           Improve the documentation.
3454
3455 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3456
3457         * gst/gstsegment.c:
3458           The glib macro seems to be borked. Use g_slice_copy directly and cast
3459           in the hope that this fixes the warning on 64bit.
3460
3461 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3462
3463         * gst/gstsegment.c:
3464           Document the new function. Use g_slice_dup() (no need for
3465           gst_segment_init()).    
3466
3467 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3468
3469         * docs/gst/gstreamer-sections.txt:
3470           Move GParamSepc macros to standart section.
3471   
3472         * gst/gstbin.c:
3473           Dn't document _get_type - its in private section in docs anyway and
3474           this doc-blob was incomplete.
3475
3476         * gst/gstclock.h:
3477           Fix wrong symbol names in docs.
3478
3479         * gst/gstmacros.h:
3480           Add once doc sentence.
3481
3482         * tests/check/gst/.cvsignore:
3483           Ignore more.
3484
3485 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3486
3487         * docs/gst/Makefile.am:
3488           And remove those libs here.
3489
3490 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3491
3492         * docs/libs/Makefile.am:
3493           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3494
3495 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3496
3497         Patch by: Olivier Crete <tester at tester dot ca>
3498
3499         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3500         Add the min-threshold to the min latency if possible. Fixes #529148.
3501
3502 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3503
3504         * docs/gst/gstreamer.types.in:
3505           Stupid editor, I removed that line as it should go in yet.
3506
3507 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3508
3509         * docs/gst/gstreamer.types.in:
3510         * docs/libs/gstreamer-libs.types:
3511           Remove library types fro core docs and have them in libs docs.
3512           Reformat and cleanup. Add comment for miniobject types.
3513
3514 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3515
3516         * gst/gsturi.c: (gst_uri_get_protocol):
3517           Fix leak: g_strdown operates on the string in place, while
3518           g_ascii_strdown() returns a newly-allocated string.
3519
3520 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3521
3522         * tools/gst-inspect.c: (print_uri_handler_info),
3523         (print_element_info):
3524         Print the URI protocols and the URI type supported by the element.
3525
3526 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3527
3528         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3529         Use g_value_take_string() instead of the deprecated
3530         g_value_set_string_take_ownership().
3531
3532 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3533
3534         * gst/gstregistrybinary.c: (_gst_crc32):
3535         Return the old CRC instead of 0 if we give a NULL buffer
3536         or a buffer with a length of 0.
3537
3538 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3539
3540         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3541         (gst_uri_get_protocol), (gst_uri_has_protocol),
3542         (gst_uri_construct), (gst_uri_handler_set_uri):
3543         A valid URI scheme can also include '+', '-' and '.' additional
3544         to alphanumeric characters as per RFC 3986 Section 3.1.
3545
3546         Handle URI schemes case insensitive in all places and convert
3547         to lower-case when constructing an URI or setting an URI with
3548         the GstURIHandler interface. Fixes bug #528868.
3549         All elements can still assume (as before) that they will
3550         get passed URIs with a lower-case URI scheme by the GstURIHandler
3551         interface.
3552
3553 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3554
3555         * gst/gstcaps.c: (gst_static_caps_get):
3556         * gst/gstclock.c: (gst_clock_entry_new):
3557           Don't use g_atomic_set_int where it's not needed.
3558
3559 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3560
3561         * gst/gstvalue.c: (gst_value_deserialize_caps):
3562         * gst/parse/grammar.y:
3563         Fix 2 caps leaks.
3564
3565 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3566
3567         * gst/gstutils.c: (gst_atomic_int_set):
3568         Use g_atomic_int_set() here too instead of assignment +
3569         g_atomic_int_get().
3570
3571 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3572         
3573         * gst/gstutils.c:
3574         * gst/gstutils.h:
3575         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3576         now that we depend on new enough GLib.
3577
3578         * gst/gstcaps.c: (gst_static_caps_get):
3579         * gst/gstclock.c: (gst_clock_entry_new):
3580         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3581         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3582         (gst_debug_category_set_threshold):
3583         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3584         (gst_base_sink_set_qos_enabled):
3585         * libs/gst/net/gstnettimeprovider.c:
3586         (gst_net_time_provider_set_property):
3587         Use g_atomic_int_set() instead of gst_atomic_int_set().
3588
3589 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3590
3591         * gst/gstquery.c:
3592           Also use G_GINT64_CONSTANT for the queries.
3593
3594 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3595
3596         * gst/gstmessage.c:
3597           Use G_GINT64_CONSTANT in varargs function.
3598
3599 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3600
3601         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3602         Initialize the registry magic with zeroes.
3603
3604 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3605
3606         * gst/gstregistrybinary.c: (_gst_crc32),
3607         (gst_registry_binary_write),
3608         (gst_registry_binary_initialize_magic),
3609         (gst_registry_binary_write_cache),
3610         (gst_registry_binary_check_magic),
3611         (gst_registry_binary_read_cache):
3612         * gst/gstregistrybinary.h:
3613         Add crc32 checksum to the binary registry file and check this before
3614         accepting a registry file.
3615
3616         Also free the data list when writing to the registry file fails.
3617
3618 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3619
3620         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3621         (gst_registry_binary_load_feature),
3622         (gst_registry_binary_load_plugin):
3623         If an element supports the Uri interface, returns a valid pointer
3624         to the supported URI protocols but this pointer contains nothing
3625         don't try to save that as it will corrupt the registry.
3626
3627         Don't unref the plugin if we added it to the registry already but
3628         fail to load a feature as gst_registry_add_plugin() takes ownership
3629         of the plugin.
3630
3631         Improve debugging a bit.
3632
3633 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3634
3635         * gst/gsttaglist.h:
3636           Clarify some tag item docs after discussion on irc.
3637
3638 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3639
3640         * docs/gst/gstreamer-docs.sgml:
3641           Remove commented out plugins (they have their own docs). Update
3642           comments.
3643
3644 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3645
3646         * docs/gst/gstreamer-docs.sgml:
3647         * docs/gst/gstreamer-sections.txt:
3648         * gst/gstparamspecs.c:
3649         * gst/gstparamspecs.h:
3650           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3651           docs to own section.
3652
3653         * gst/gstvalue.c:
3654           This now only documents GValue.
3655           
3656         * docs/libs/gstreamer-libs-sections.txt:
3657         * libs/gst/controller/gstcontroller.h:
3658           Remove GST_PARAM_CONTROLLABLE.
3659
3660 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3661
3662         * docs/README:
3663           Correct file path. Tell about how to use -overrides.txt.
3664         * docs/design/draft-tagreading.txt:
3665           Small design update.
3666
3667 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3668
3669         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3670         (gst_registry_binary_load_plugin):
3671         Fix a typo in a debug message and revert change from yesterday as
3672         gst_registry_add_plugin() will only fail if something is really wrong
3673         already and we can't survive it anyway.
3674
3675 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3676
3677         * gst/gst.c: (init_post), (gst_deinit):
3678           Pre-register GstGError GType from a thread-safe context
3679           (fixes #527967); unref enum type classes in deinit.
3680
3681 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3682
3683         Patch by: Rene Stadler <mail at renestadler de>
3684
3685         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3686           Merging an empty list with another list in KEEP_ALL mode should
3687           yield an empty list as result and not the second list (#512578).
3688
3689         * tests/check/gst/gsttagsetter.c:
3690           Add unit test for tag merge modes and the aforementioned bug.
3691
3692 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3693
3694         Patch by: Rene Stadler <mail at renestadler de>
3695
3696         * gst/gsttaglist.h:
3697           Fix description to match the order in the table (#512577).
3698   
3699 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3700
3701         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3702
3703         * libs/gst/net/gstnettimepacket.h:
3704         * docs/libs/gstreamer-libs-sections.txt:
3705           Define socklen_t as int if it's not defined yet. Fixes compilation
3706           with MSVC6 and other versions where socklen_t is not defined in
3707           the windows headers (#518022).
3708
3709 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3710
3711         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3712         If gst_registry_add_plugin() fails our reference to the plugin is
3713         invalid so don't try to use it anymore and instead error out.
3714
3715 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3716
3717         * tools/gst-xmlinspect.c: (print_element_info), (main):
3718           De-cruft a bit. If no argument is specified, print all elements in
3719           XML syntax rather than a freestyle list of elements like gst-inspect.
3720           Also, don't print XML header chunk unless we actually have something
3721           to print (ie. don't print it before an error message); print error
3722           message to stderr not stdout. Remove support for printing plugin
3723           info (it would just output something freestyle along the lines of
3724           gst-inspect so far), which fixes #514507. Also add license header.
3725
3726 2008-04-11  Julien Moutte  <julien@fluendo.com>
3727
3728         Mac OS X love...
3729         * configure.ac: Merge platform specific defines, introduce a new
3730         define on OS X to remember that forking when updating registry is
3731         unsafe.
3732         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3733         module.
3734         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3735         is defined.
3736         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3737         condition that leads to absolutely no plugins being registered on
3738         OS X.
3739
3740 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3741
3742         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3743
3744         * gst/gstutils.c: (gst_pad_add_data_probe),
3745           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3746           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3747           (gst_pad_add_buffer_probe_full):
3748         * gst/gstutils.h:
3749         * docs/gst/gstreamer-sections.txt:
3750         * win32/common/libgstreamer.def:
3751           Add gst_pad_add_*_probe_full() functions with a notify callback that
3752           lets the caller free the data it passes to the probe functions. This
3753           is useful for bindings such as gst-python or gstreamermm (#526814).
3754           API: gst_pad_add_data_probe_full
3755           API: gst_pad_add_buffer_probe_full
3756           API: gst_pad_add_event_probe_full
3757
3758         * tests/check/gst/gstutils.c:
3759           Add minimal unit test to make sure freeing the data actually works
3760           as expected.
3761
3762         * tests/benchmarks/.cvsignore:
3763           Random cvsignore addendum.
3764
3765 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3766
3767         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3768           (GST_DEBUG_BIN_TO_DOT_FILE):
3769           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3770           to it in the docs (since these are macros the types of the arguments
3771           won't be shown in the docs otherwise).
3772
3773 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3774
3775         * gst/gstpad.c:
3776           Do not abort on out of memory for pad_alloc_buffer.
3777
3778 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3779
3780         * libs/gst/check/gstcheck.c:
3781           Remove blank line between symbol name ad parameters to fix gtkdoc
3782           warning.
3783
3784 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3785
3786         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3787
3788         * docs/gst/gstreamer-sections.txt:
3789         * gst/gstsegment.c:
3790         * gst/gstsegment.h:
3791         * win32/common/libgstreamer.def:
3792           Expose gst_segment_copy() to make things easier for the c++ bindings.
3793           Fixes #518932.
3794           API: gst_segment_copy()
3795
3796 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3797
3798         * gst/gst.c: (gst_init_get_option_group), (init_post):
3799           Fix const position; ref GType classes for enum types to work
3800           around thread-safety issues in GLib versions < 2.16.
3801
3802 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3803
3804         * docs/design/part-buffering.txt:
3805         Fix some typos and set the estimated total for push mode to -1.
3806
3807         * gst/gstquery.c: (gst_query_new_buffering):
3808         Set buffering-left to 0 as we're not buffering by default.
3809
3810         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3811         Implement BUFFERING query.
3812
3813 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3814
3815         Based on patch by: Milosz Derezynski <internalerror gmail com>
3816
3817         * gst/gsterror.c: (_gst_stream_errors_init):
3818         * gst/gsterror.h:
3819           Add two new error codes for encrypted content. Fixes #524659.
3820           API: GST_STREAM_ERROR_DECRYPT
3821           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3822
3823 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3824
3825         * gst/gstquery.h:
3826           Fix typo.
3827
3828         * win32/common/libgstreamer.def:
3829           Add new functions.
3830
3831 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3832
3833         * plugins/elements/gstidentity.c: (gst_identity_event),
3834         (gst_identity_start):
3835         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3836         event after processing some data. Fixes bug #526042.
3837
3838 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3839
3840         * docs/gst/gstreamer-sections.txt:
3841         * gst/gstquery.c: (gst_query_parse_latency),
3842         (gst_query_set_buffering_percent),
3843         (gst_query_parse_buffering_percent),
3844         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3845         * gst/gstquery.h:
3846         Rename _avail -> _range
3847         API: gst_query_set_buffering_range
3848         API: gst_query_parse_buffering_range
3849
3850 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3851
3852         * docs/design/part-buffering.txt:
3853         * gst/gstquark.c:
3854         * gst/gstquark.h:
3855         * gst/gstquery.c: (gst_query_parse_latency),
3856         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3857         (gst_query_parse_buffering_percent):
3858         * gst/gstquery.h:
3859         Add busy field and quark for the buffering query so that the app can
3860         only use the query to see if buffering is in progress.
3861
3862 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3863
3864         * docs/gst/gstreamer-sections.txt:
3865         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3866         (gst_message_parse_buffering_stats):
3867         * gst/gstmessage.h:
3868         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3869         (gst_query_parse_latency), (gst_query_new_buffering),
3870         (gst_query_set_buffering_percent),
3871         (gst_query_parse_buffering_percent),
3872         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3873         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3874         * gst/gstquery.h:
3875         Reorder the message docs and headers for clarity.
3876         Add aditional buffering stats API for messages.
3877         Add buffering query.
3878         Convert some leftover queries to use GstQuark.
3879         API: gst_message_set_buffering_stats
3880         API: gst_message_parse_buffering_stats
3881         API: GST_QUERY_BUFFERING
3882         API: GstBufferingMode
3883         API: gst_query_new_buffering
3884         API: gst_query_set_buffering_percent
3885         API: gst_query_parse_buffering_percent
3886         API: gst_query_set_buffering_stats
3887         API: gst_query_parse_buffering_stats
3888
3889 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3890
3891         * gst/gstmessage.c: (gst_message_new_error),
3892         (gst_message_new_warning), (gst_message_new_info),
3893         (gst_message_new_buffering), (gst_message_new_state_changed),
3894         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3895         (gst_message_new_new_clock), (gst_message_new_segment_start),
3896         (gst_message_new_segment_done), (gst_message_new_duration),
3897         (gst_message_new_async_start), (gst_message_parse_buffering),
3898         (gst_message_parse_state_changed),
3899         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3900         (gst_message_parse_new_clock), (gst_message_parse_error),
3901         (gst_message_parse_warning), (gst_message_parse_info),
3902         (gst_message_parse_segment_start),
3903         (gst_message_parse_segment_done), (gst_message_parse_duration),
3904         (gst_message_parse_async_start):
3905         Use GstQuark for messages.
3906
3907 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3908
3909         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3910         * gst/gstquark.h:
3911         Add some more quarks needed for messages and queries.
3912
3913 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3914
3915         * docs/design/part-buffering.txt:
3916         Remove the "none" buffering mode, STREAM is a good default.
3917         Move estimated-time to the avail query, that's when it will be needed.
3918         Other small typo fixes and updates.
3919
3920 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3921
3922         * gst/gstindex.c: (gst_index_resolver_get_type):
3923           Don't put descriptions into the nick field of a GEnumValue: it's not
3924           meant for that and some language bindings rely on the nick field to
3925           construct constants and the like. Fixes #526705.
3926
3927 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3928
3929         * NEWS:
3930         * RELEASE:
3931         * gstreamer.doap:
3932           Merge other changes from 0.10.19 release branch.
3933
3934 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3935
3936         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3937
3938         * configure.ac:
3939         Actually build dlls when cross-compiling with mingw32.
3940         Fixes bug #526247.
3941
3942 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3943
3944         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3945
3946         * gst/gstpoll.c:
3947         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3948
3949 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3950
3951         * docs/design/draft-latency.txt:
3952         Fix typo.
3953
3954         * docs/design/part-buffering.txt:
3955         Update design docs with more buffering ideas.
3956
3957 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3958
3959         * configure.ac:
3960           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3961
3962 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3963
3964         * configure.ac:
3965           Revert part that belongs to the preset patch.
3966
3967 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3968
3969         * configure.ac:
3970           Add qoutes to the define. Fixes # 525961.
3971
3972 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3973
3974         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3975         (gst_file_index_load), (gst_file_index_add_id),
3976         (gst_file_index_get_assoc_entry):
3977         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3978         (gst_mem_index_free_id), (gst_mem_index_add_id),
3979         (gst_mem_index_index_format):
3980         Use GSlice when possible.
3981
3982 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3983
3984         * libs/gst/controller/gstinterpolationcontrolsource.c:
3985         (gst_control_point_free),
3986         (gst_interpolation_control_source_set_internal):
3987         Use GSlice for allocating the control points.
3988
3989 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3990
3991         * plugins/elements/gsttypefindelement.c:
3992         (gst_type_find_element_class_init),
3993         (gst_type_find_element_set_property),
3994         (gst_type_find_element_get_property),
3995         (gst_type_find_element_activate):
3996         * plugins/elements/gsttypefindelement.h:
3997         Cleanup properties.
3998         Fix pad leak when peer query fails.
3999         We can still typefind when the peer returns -1.
4000         Add property to force caps and bypass typefinding. This will be used in
4001         uridecodebin.
4002         API::force-caps
4003
4004 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
4005
4006         * configure.ac:
4007         Require GLib 2.12.
4008
4009         * gst/glib-compat-private.h:
4010         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
4011         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4012         Unconditionally use GSlice for allocation.
4013
4014         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
4015         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
4016         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
4017         (gst_structure_free):
4018         Use GSlice for allocation.
4019
4020 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
4021
4022         * gst/parse/Makefile.am:
4023         * gst/parse/grammar.tab.pre.c:
4024         * gst/parse/grammar.tab.pre.h:
4025         * gst/parse/lex._gst_parse_yy.pre.c:
4026         Require a new enough flex and bison and remove the parser hacks to use
4027         a pre-regenerated version.
4028
4029 2008-04-01  Julien Moutte  <julien@fluendo.com>
4030
4031         patch by: Jason Zhao <E3423C@motorola.com>
4032
4033         * configure.ac: Add a configure switch to disable option parsing
4034         in gst_init.
4035         Fixes #522882.
4036
4037 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4038
4039         * configure.ac:
4040         * gst/gstregistry.c:
4041           MacOS has plugins under .so or under .dylib. Add detection for MacOS
4042           and handle this case.
4043
4044         * gst/gst.c:
4045           Add a comment here describing, why we stat each plugin and not try to
4046           be smart.
4047
4048 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
4049
4050         * libs/gst/base/gstbasetransform.c:
4051         (gst_base_transform_prepare_output_buffer):
4052         Also unset the GAP flag on buffers if we're working inplace but
4053         the element is not GAP-aware.
4054
4055         Mark a comment as FIXME 0.11.
4056
4057 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4058
4059         * gst/gst.c:
4060           Fix type in log message and add one to ease seeing how long registry
4061           cache verification takes.
4062
4063         * gst/gstregistry.c:
4064           Only test plugin filenames against G_MODULE_SUFFIX.
4065
4066 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
4067
4068         * gst/gstdebugutils.c:
4069           Improve handling ghost/proxy pads.
4070
4071 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
4072
4073         * docs/gst/gstreamer-sections.txt:
4074         * gst/gstpad.c:
4075         * gst/gstpad.h:
4076           Expose macro to docs and fix link to it.
4077
4078 2008-03-27  Michael Smith <msmith@fluendo.com>
4079
4080         * libs/gst/dataprotocol/dataprotocol.c:
4081         (gst_dp_packet_from_event_1_0):
4082           When calculating GDP body CRC, use the correct pointer. 
4083           Fixes part of #522401.
4084
4085 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4086
4087         Patch by: Mark Nauwelaerts <manauw at skynet be>
4088
4089         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4090         (gst_identity_init), (gst_identity_prepare_output_buffer):
4091         Identity is not always a passthrough element, it can modify the buffer
4092         timestamps when it has a datarate and operates in single-segment mode.
4093         We therefore make it an in_place filter with a custom buffer prepare
4094         function that conditionally makes the input buffer metadata writable
4095         when needed.  Fixes #523985.
4096
4097 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4098
4099         Patch by: Mark Nauwelaerts <manauw at skynet be>
4100
4101         * gst/gstclock.h:
4102         * libs/gst/base/gstbasesrc.h:
4103         * libs/gst/base/gstbasetransform.c:
4104         * libs/gst/check/gstcheck.c:
4105         Small documentation fixes. Fixes #523978.
4106
4107 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4108
4109         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4110         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
4111         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
4112
4113 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4114
4115         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
4116         (single_queue_underrun_cb):
4117         When trying to make room in the queue, bump the max allowed buffers
4118         bigger than the current amount of buffers in the queue. this fixes some
4119         nasty deadlocks in multiqueue when dynamically changing the limits of
4120         the queue.
4121
4122 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4123
4124         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
4125
4126         * gst/gstcaps.c: (gst_caps_set_simple),
4127         (gst_caps_set_simple_valist), (gst_caps_intersect):
4128         * gst/gstcaps.h:
4129         Constify the field gchar * params in set_simple and friends.
4130         Fixes #522326.
4131
4132 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4133
4134         * gst/gstvalue.c: (gst_value_transform_object_string):
4135         Transform a GstObject to a more meaningfull string that includes the
4136         object type in addition to its name.
4137
4138 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
4139
4140         * ChangeLog:
4141           ChangeLog surgery to add bugnumber to commit.
4142
4143 2008-03-23  Rene Stadler  <mail@renestadler.de>
4144
4145         * libs/gst/base/gstbasetransform.c:
4146         (gst_base_transform_set_gap_aware): Fix confusing documentation.
4147
4148 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4149
4150         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4151         Rename constant everywhere and don't forget one occurence.
4152
4153 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4154
4155         * gst/gstregistrybinary.c: (gst_registry_binary_write):
4156         Align memory to the pointer size even if the architecture allows
4157         unaligned memory access. Unaligned memory access usually comes with
4158         performance penality.
4159
4160 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
4161
4162         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4163         (gst_registry_binary_check_magic),
4164         (gst_registry_binary_load_pad_template),
4165         (gst_registry_binary_load_feature),
4166         (gst_registry_binary_load_plugin):
4167         Align memory to the pointer size instead of always 32 bit. Fixes
4168         unaligned memory accesses on ia64 and friends.
4169
4170         * gst/gstregistrybinary.h:
4171         Bump binary registry format version for this as it changes the
4172         format on those architectures that don't have unaligned access
4173         and 64 bit pointers.
4174
4175 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4176
4177         * docs/pwg/advanced-dparams.xml:
4178         * docs/pwg/building-props.xml:
4179         * docs/pwg/other-source.xml:
4180         * gst/glib-compat.h:
4181         * gst/gstbin.c: (gst_bin_class_init):
4182         * gst/gstclock.c: (gst_clock_class_init):
4183         * gst/gstindex.c: (gst_index_class_init):
4184         * gst/gstobject.c: (gst_object_class_init):
4185         * gst/gstpad.c: (gst_pad_class_init):
4186         * gst/gstpipeline.c: (gst_pipeline_class_init):
4187         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4188         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4189         * libs/gst/base/gstbasetransform.c:
4190         (gst_base_transform_class_init):
4191         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
4192         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
4193         (_gst_check_fault_handler_sighandler),
4194         (_gst_check_fault_handler_setup), (gst_check_init):
4195         * libs/gst/controller/gstcontroller.c:
4196         (_gst_controller_class_init):
4197         * libs/gst/controller/gstlfocontrolsource.c:
4198         (gst_lfo_control_source_class_init):
4199         * libs/gst/net/gstnetclientclock.c:
4200         (gst_net_client_clock_class_init):
4201         * libs/gst/net/gstnettimeprovider.c:
4202         (gst_net_time_provider_class_init):
4203         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4204         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4205         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4206         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4207         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4208         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4209         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4210         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4211         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
4212         * plugins/elements/gstqueue.c: (gst_queue_class_init):
4213         * plugins/elements/gsttee.c: (gst_tee_class_init):
4214         * plugins/elements/gsttypefindelement.c:
4215         (gst_type_find_element_class_init):
4216         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4217         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
4218         use it everywhere for GParamSpecs that use static strings (i.e. all).
4219         This gives us less memory usage, fewer allocations and thus less
4220         memory defragmentation. Fixes bug #523806.
4221
4222 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
4223
4224         * gst/gstminiobject.c: (gst_value_dup_mini_object),
4225         (gst_param_spec_mini_object):
4226         * gst/gstminiobject.h:
4227         * win32/common/libgstreamer.def:
4228         * docs/gst/gstreamer-sections.txt:
4229         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
4230         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
4231         GstParamSpecMiniObject into a public header for this.
4232
4233         This make GstMiniObject a bit more consistent with GObject and makes
4234         it possible to extend the param specs.
4235
4236         gst_value_dup_mini_object is mainly useful for set_property methods.
4237
4238         Fixes bug #523798.
4239
4240         * tools/gst-inspect.c: (print_element_properties_info):
4241         Print something useful for GstMiniObject properties and not just
4242         "unknown type".
4243
4244 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4245
4246         * docs/gst/gstreamer-sections.txt:
4247         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4248         (gst_registry_binary_check_magic):
4249         * gst/gstregistrybinary.h:
4250         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
4251         and add it to the (private part) of the docs to fix the build.
4252
4253 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
4254
4255         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4256         (gst_registry_binary_check_magic),
4257         (gst_registry_binary_read_cache):
4258         * gst/gstregistrybinary.h:
4259         Don't use GST_MAJORMINOR for the binary registry version. Instead
4260         hardcode a value that must be changed whenever the format changes
4261         in an incompatible way.
4262         Also don't GST_ERROR when there is a version mismatch, just
4263         regenerate the registry silently.
4264
4265 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
4266
4267         * configure.ac:
4268         Back to development - 0.10.18.1
4269
4270 === release 0.10.18 ===
4271
4272 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
4273
4274         * configure.ac:
4275           releasing 0.10.18, "So far away"
4276
4277 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
4278
4279         * configure.ac:
4280         * win32/common/config.h:
4281         0.10.17.4 pre-release
4282
4283 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
4284
4285         Patch by: Ole André Vadla Ravnås
4286             <ole dot andre dot ravnas at tandberg dot com>
4287
4288         * docs/gst/gstreamer-sections.txt:
4289         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4290         (gst_poll_update_winsock_event_mask),
4291         (gst_poll_prepare_winsock_active_sets),
4292         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4293         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4294         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4295         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4296         (gst_poll_check_ctrl_commands), (gst_poll_wait):
4297         * gst/gstpoll.h:
4298         * win32/common/libgstreamer.def:
4299         Add new function gst_poll_fd_ignored() for improved Windows
4300         compatibility.
4301         Various minor fixes and cleanups. See #520808.
4302
4303 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
4304
4305         * gst/gstindex.c: (gst_index_entry_free):
4306         * gst/gstindex.h:
4307           Don't free key strings which we don't own. Fixes crash in
4308           gst_index_entry_free() (#522741).
4309
4310         * tests/check/Makefile.am:
4311         * tests/check/gst/.cvsignore:
4312         * tests/check/gst/gstindex.c: (test_index_entries),
4313           (gst_index_suite), (gst_index):
4314           Add unit test for the above.
4315
4316 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
4317
4318         * win32/common/libgstreamer.def:
4319         Remove symbols that were removed recently. Fixes bug #521740.
4320
4321 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
4322
4323         * configure.ac:
4324         * win32/common/config.h:
4325         0.10.17.3 pre-release
4326
4327 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4328
4329         Patch by: Ole André Vadla Ravnås
4330             <ole dot andre dot ravnas at tandberg dot com>
4331
4332         * docs/gst/gstreamer-sections.txt:
4333         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4334         (gst_poll_update_winsock_event_mask), (gst_poll_new),
4335         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4336         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4337         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4338         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4339         (gst_poll_fd_can_write), (gst_poll_wait),
4340         (gst_poll_set_controllable), (gst_poll_restart),
4341         (gst_poll_set_flushing):
4342         * gst/gstpoll.h:
4343         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4344         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4345         (gst_net_time_provider_new):
4346         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4347         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4348         * tests/benchmarks/gstpollstress.c: (main):
4349         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4350         Remove GstPollMode from the API, it does not make sense to let the
4351         application control this.
4352         Add support for Win32.
4353         Fix the testsuite. Fixes #520671.
4354
4355 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
4356
4357         Patch by: Ole André Vadla Ravnås
4358             <ole dot andre dot ravnas at tandberg dot com>
4359
4360         * gst/gstregistrybinary.c:
4361         Include io.h for write() and close() when building with MSVC. Fixes
4362         bug #520877.
4363
4364 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4365
4366         * configure.ac:
4367         * gst/gst_private.h:
4368         * gst/gstconfig.h.in:
4369         * gst/gstregistry.h:
4370         * gst/gstregistrybinary.c:
4371         * win32/common/gstconfig.h:
4372           Move registry backend API to private headers where we can. Add
4373           fixme-0.11 comments for the others. Add stubs for the xml backend when
4374           using the binary to ensure they functions exists (they should not be
4375           used though). Fixes #520756.
4376
4377 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4378
4379         * configure.ac:
4380         * win32/common/config.h:
4381         0.10.17.2 prelease
4382
4383 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4384
4385         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4386         (gst_registry_binary_read_cache):
4387         * gst/gstregistryxml.c: (gst_registry_save):
4388         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4389         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4390         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4391         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4392         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4393         Fixes #520152
4394
4395 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4396
4397         * gst/gstminiobject.c:
4398         Import gst_private.h before any other header that might include other
4399         glib headers. This fixes the build on windows using native compilers.
4400
4401 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4402
4403         * win32/common/gstconfig.h:
4404           Add here too, just for completeness.
4405
4406 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4407
4408         * configure.ac:
4409         * gst/gstconfig.h.in:
4410         * gst/gstregistry.h:
4411           Fix broken use of config.h-defined preprocessor directive in a public
4412           header file. Add a corresponding define to gstconfig.h, since we can't
4413           really remove those function declarations from the header file now
4414           (or can we? and why are they there in the first place?).
4415
4416 2008-03-03  Andy Wingo  <wingo@pobox.com>
4417
4418         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4419         the new warning.
4420
4421         * gst/gststructure.c (gst_structure_from_string): Warn if
4422         structure_from_string didn't consume the whole string, but the
4423         caller did not provide an end pointer.
4424
4425 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4426
4427         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4428
4429         * gst/gstregistryxml.c: (read_string), (load_feature):
4430           Strings allocated by libxml2 should be freed with xmlFree(), not
4431           with g_free(). Fixes issues on windows in certain contexts (#519698).
4432
4433 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4434
4435         * gst/gstinterface.c: (gst_element_implements_interface):
4436           Don't crash if the element supports the interface queried, but does
4437           not implement GstImplementsInterface. Fixes #519584.
4438
4439         * tests/check/Makefile.am:
4440         * tests/check/gst/.cvsignore:
4441         * tests/check/gst/gstinterface.c:
4442           Add unit test for the above.
4443
4444 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4445
4446         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4447         Small doc update.
4448
4449 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4450
4451         * gst/gstsegment.c: (gst_segment_set_seek),
4452         (gst_segment_to_stream_time):
4453         Improve some comment.
4454         Update variables where it makes more sense.
4455
4456 2008-02-29  Rene Stadler  <mail@renestadler.de>
4457
4458         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4459         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4460         URIHandlers implemented using language bindings.
4461
4462 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4463
4464         * gst/gstelementfactory.h:
4465         * tests/check/elements/fakesink.c:
4466         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4467         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4468         * tests/check/elements/filesink.c: (setup_filesink):
4469         * tests/check/elements/filesrc.c: (setup_filesrc):
4470         * tests/check/elements/identity.c: (setup_identity):
4471         * tests/check/elements/tee.c:
4472         * tests/check/generic/sinks.c:
4473         * tests/check/generic/states.c: (setup), (teardown):
4474         * tests/check/gst/gst.c:
4475         * tests/check/gst/gstabi.c:
4476         * tests/check/gst/gstbin.c:
4477         * tests/check/gst/gstbus.c: (pull_messages):
4478         * tests/check/gst/gstcaps.c:
4479         * tests/check/gst/gstelement.c:
4480         * tests/check/gst/gstevent.c:
4481         * tests/check/gst/gstghostpad.c:
4482         * tests/check/gst/gstiterator.c:
4483         * tests/check/gst/gstmessage.c:
4484         * tests/check/gst/gstminiobject.c: (my_foo_init):
4485         * tests/check/gst/gstobject.c: (thread_name_object),
4486         (gst_object_suite):
4487         * tests/check/gst/gstpad.c:
4488         * tests/check/gst/gstplugin.c:
4489         * tests/check/gst/gstpoll.c:
4490         * tests/check/gst/gstquery.c:
4491         * tests/check/gst/gstsegment.c:
4492         * tests/check/gst/gststructure.c:
4493         * tests/check/gst/gstsystemclock.c:
4494         * tests/check/gst/gsttask.c:
4495         * tests/check/gst/gstutils.c:
4496         * tests/check/gst/gstvalue.c:
4497         * tests/check/gst/struct_hppa.h:
4498         * tests/check/gst/struct_i386.h:
4499         * tests/check/gst/struct_ppc32.h:
4500         * tests/check/gst/struct_ppc64.h:
4501         * tests/check/gst/struct_x86_64.h:
4502         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4503         * tests/check/libs/basesrc.c:
4504         * tests/check/libs/controller.c: (GST_START_TEST):
4505         * tests/check/libs/gdp.c:
4506         * tests/check/libs/gstnetclientclock.c:
4507         * tests/check/libs/gstnettimeprovider.c:
4508         * tests/check/libs/libsabi.c:
4509         * tests/check/libs/struct_hppa.h:
4510         * tests/check/libs/struct_i386.h:
4511         * tests/check/libs/struct_ppc32.h:
4512         * tests/check/libs/struct_ppc64.h:
4513         * tests/check/libs/struct_x86_64.h:
4514         * tests/check/pipelines/cleanup.c:
4515         * tests/check/pipelines/simple-launch-lines.c:
4516         * tests/check/pipelines/stress.c:
4517         And correct even more valid sparse warnings.
4518
4519         * win32/common/libgstreamer.def:
4520         Add gst_poll_fd_init to the list of symbols.
4521
4522 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4523
4524         * gst/gstconfig.h.in:
4525         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4526         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4527         (gst_check_log_critical_func), (gst_check_drop_buffers),
4528         (gst_check_element_push_buffer_list):
4529         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4530         (gst_controller_get_type):
4531         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4532         (gst_object_get_controller), (gst_object_get_control_source):
4533         * libs/gst/controller/gstinterpolationcontrolsource.c:
4534         (gst_interpolation_control_source_new):
4535         * libs/gst/controller/gstlfocontrolsource.c:
4536         (gst_lfo_control_source_new):
4537         * libs/gst/dataprotocol/dataprotocol.c:
4538         (gst_dp_event_from_packet_0_2):
4539         * plugins/elements/gstfdsrc.c:
4540         * plugins/elements/gstmultiqueue.c:
4541         * plugins/elements/gsttee.c:
4542         * plugins/elements/gsttypefindelement.c:
4543         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4544         (gst_file_index_add_association):
4545         * plugins/indexers/gstmemindex.c:
4546         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4547         * tests/check/elements/queue.c: (setup_queue):
4548         * tests/check/gst/gstpipeline.c:
4549         * tests/check/libs/collectpads.c: (setup), (teardown),
4550         (gst_collect_pads_suite):
4551         * tests/examples/adapter/adapter_test.c:
4552         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4553         * tests/examples/xml/createxml.c:
4554         * tests/examples/xml/runxml.c:
4555         * tools/gst-inspect.c:
4556         * tools/gst-run.c:
4557         Correct all relevant warnings found by the sparse semantic code
4558         analyzer. This include marking several symbols static, using
4559         NULL instead of 0 for pointers, not using variable sized arrays
4560         on the stack, moving variable declarations to the beginning of
4561         a block and using "foo (void)" instead of "foo ()" for declarations.
4562
4563 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4564
4565         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4566         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4567         Don't reset GstPollFDs, this is not necessary at all.
4568
4569         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4570         (delayed_restart), (delayed_control):
4571         Use GST_POLL_FD_INIT.
4572
4573 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4574
4575         * gst/gstpoll.c: (gst_poll_fd_init):
4576         * gst/gstpoll.h:
4577         Added Since tags.
4578
4579         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4580         Use some more init macros.
4581
4582 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4583
4584         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4585         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4586         Use init macros and functions.
4587
4588 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4589
4590         * docs/gst/gstreamer-sections.txt:
4591         * gst/gstpoll.c: (gst_poll_fd_init):
4592         * gst/gstpoll.h:
4593         Add INIT macro and _init method for initializing the GstPollFD.
4594
4595 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4596
4597         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4598         (gst_fd_sink_update_fd):
4599         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4600         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4601         (delayed_restart), (delayed_control):
4602         Initialize some uninitialized variables as spotted by valgrind.
4603
4604 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4605
4606         * tests/benchmarks/Makefile.am:
4607         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4608         (main):
4609         Add poll stress test.
4610
4611 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4612
4613         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4614
4615         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4616         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4617         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4618         * plugins/elements/gstfdsink.h:
4619         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4620         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4621         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4622         (gst_fd_src_uri_set_uri):
4623         * plugins/elements/gstfdsrc.h:
4624         Port to GstPoll. See #505417.
4625
4626 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4627
4628         * win32/common/libgstreamer.def:
4629         Add new gst_poll_ symbols to win32 defs.
4630
4631 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4632
4633         * docs/libs/gstreamer-libs-sections.txt:
4634         * libs/gst/net/gstnetclientclock.c:
4635         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4636         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4637         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4638         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4639         * libs/gst/net/gstnetclientclock.h:
4640         * libs/gst/net/gstnettimeprovider.c:
4641         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4642         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4643         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4644         (gst_net_time_provider_new):
4645         * libs/gst/net/gstnettimeprovider.h:
4646         Use a private stuct to not break ABI.
4647
4648 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4649
4650         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4651
4652         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4653         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4654         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4655         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4656         * libs/gst/net/gstnetclientclock.h:
4657         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4658         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4659         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4660         (gst_net_time_provider_new):
4661         * libs/gst/net/gstnettimeprovider.h:
4662         Massive code removal and cleanups because of GstPoll.
4663         Fixes #505417.
4664
4665 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4666
4667         * configure.ac:
4668         Add checks for poll, ppoll and pselect.
4669
4670         * docs/gst/gstreamer-docs.sgml:
4671         * docs/gst/gstreamer-sections.txt:
4672         Add docs for GstPoll.
4673
4674         * gst/Makefile.am:
4675         * gst/gst.h:
4676         * gst/gstpoll.c: (find_index), (selectable_fds),
4677         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4678         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4679         (gst_poll_set_mode), (gst_poll_get_mode),
4680         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4681         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4682         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4683         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4684         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4685         (gst_poll_fd_can_write), (gst_poll_wait),
4686         (gst_poll_set_controllable), (gst_poll_restart),
4687         (gst_poll_set_flushing):
4688         * gst/gstpoll.h:
4689         Add generic poll abstraction. We ideally don't want to have this in core
4690         here but in glib intead...
4691         This code will be used in various network elements and ultimately for
4692         the nanosecond precision monotonic clock (that's why it's here in core).
4693         It'll allow us to implement cancelable socket operations for windows too.
4694
4695         * tests/check/Makefile.am:
4696         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4697         (delayed_stop), (delayed_restart), (delayed_flush),
4698         (delayed_control), (gst_poll_suite):
4699         Add GstPoll unit test.
4700
4701 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4702
4703         * gst/gstfilter.c:
4704           Improve documentation of gst_filter_run(). Fixes #518627.
4705
4706 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4707
4708         * docs/README:
4709           Add a few lines about the new 'check-inspected-versions' target.
4710
4711 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4712
4713         * tests/check/gst/gstevent.c:
4714           Add qos to the event test. Rename tcase/tsuite; is not only about
4715           custom events.
4716
4717 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4718
4719         * plugins/elements/gstqueue.c:
4720           Ensure that buffer metadata is writeable, before modifying. Spotted by
4721           Mike.
4722
4723 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4724
4725         * plugins/elements/gstqueue.c:
4726         * plugins/elements/gstqueue.h:
4727           When dropping buffers in leaky modes, mark next buffers we sent as
4728           DISCONT.
4729
4730 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4731
4732         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4733           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4734
4735 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4736
4737         * plugins/elements/Makefile.am:
4738         * plugins/elements/gstbufferstore.c:
4739         * plugins/elements/gstbufferstore.h:
4740         * plugins/elements/gsttypefindelement.h:
4741           Remove GstBufferStore, no idea why we were still building it.
4742           It's not used anywhere and superseded by GstAdapter.
4743
4744         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4745           (gst_file_src_create_mmap):
4746         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4747           Printf format fixes for 64-bit integers.
4748
4749 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4750
4751         * configure.ac:
4752         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4753         We're not in 0.8 times anymore.
4754
4755 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4756
4757         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4758         (gst_check_element_push_buffer_list):
4759         * libs/gst/check/gstcheck.h:
4760         Make the declaration in the header for
4761         gst_check_element_push_buffer_list match the implementation.
4762
4763         Fix up spelling, grammar and wording of the documentation in a few
4764         places, and add the Since keyword to new API functions.
4765         Use g_list_delete_link instead of g_list_remove in
4766         gst_check_drop_buffers, since it's immeasurably more efficient.
4767
4768         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4769         Use new gst_check_drop_buffers function where appropriate.
4770
4771         * win32/common/libgstbase.def:
4772         * win32/common/libgstreamer.def:
4773         Add new symbols gst_collect_pads_take_buffer, 
4774         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4775         exports
4776
4777         Changelog surgery to add API keyword to new gst_check API.
4778
4779 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4780
4781         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4782         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4783         Update pre-generated flex files with flex 2.3.34.
4784
4785 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4786
4787         * gst/gstminiobject.c:
4788           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4789           friendly to subclasses and not require them to know all internals
4790           of their parent class.
4791
4792 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4793
4794         * docs/libs/gstreamer-libs-sections.txt:
4795         * libs/gst/base/gstcollectpads.c:
4796         * libs/gst/base/gstcollectpads.h:
4797           Add sub-buffer functions to collectpads. Fixes #516187.
4798           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4799
4800 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4801
4802         * gst/gstbuffer.c:
4803           Copy selected buffer-flags when creating subbuffers.
4804           Fixes #516395.
4805
4806 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4807
4808         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4809         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4810         * gst/gstmessage.c: (gst_message_class_init),
4811         (gst_message_finalize):
4812         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4813         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4814         (gst_mmap_buffer_finalize):
4815         Properly chain up finalize functions to the parent class.
4816
4817 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4818
4819         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4820
4821         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4822         (gst_index_set_resolver_full):
4823         * gst/gstindex.h:
4824         Add new function with option to dispose of user_data in resolver.
4825         Actually call the dispose function when finalizing the object and not
4826         just when changing the resolver/filter.
4827         API: GstIndex::gst_index_set_resolver_full()
4828
4829         * docs/gst/gstreamer-sections.txt:
4830         Add new function to docs. Fixes #515469.
4831
4832 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4833
4834         * gst/gstindex.c: (gst_index_finalize):
4835         Chain up finalize to the parent class. Fixes leaking the GstObject
4836         name and other things.
4837
4838 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4839
4840         * configure.ac:
4841         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4842         pre-releases or releases.
4843
4844         * docs/faq/gst-uninstalled:
4845         Add gst-plugins-gl
4846
4847         * docs/random/release:
4848         Change one of the steps - we only upload core & base to Gnome FTP
4849
4850 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4851
4852         * gst/gstconfig.h.in:
4853           Add 'id' for example.
4854
4855         * gst/gstpad.c:
4856         * gst/gstutils.c:
4857         * plugins/elements/gstfdsink.c:
4858           Link to signals. Doc and comment fixes.
4859
4860 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4861
4862         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4863         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4864           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4865           unused and unimplemented; finally, it is plugin features, not
4866           plugins, that have ranks.
4867           
4868 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4869
4870         * gst/gstpluginfeature.h:
4871           Clarify GstRank range docs.
4872
4873 2008-02-05  David Schleef  <ds@schleef.org>
4874
4875         * gst/gst.c: Add a separate gst_deinitialized that prevents
4876           gst_init() from being called after gst_deinit().  Fixes #509559
4877
4878 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4879
4880         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4881         (gst_bin_class_init):
4882         * gst/gstelement.c: (gst_element_base_class_init),
4883         (gst_element_class_add_pad_template):
4884         * gst/gstpadtemplate.c: (gst_pad_template_init):
4885         * gst/gstpipeline.c: (gst_pipeline_get_type),
4886         (gst_pipeline_base_init), (gst_pipeline_class_init):
4887         * libs/gst/base/gstbasesink.c:
4888         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4889         (gst_base_src_base_init), (gst_base_src_class_init):
4890         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4891         (gst_capsfilter_class_init):
4892         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4893         (gst_fake_sink_class_init):
4894         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4895         (gst_fake_src_class_init):
4896         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4897         (gst_fd_sink_class_init):
4898         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4899         (gst_fd_src_class_init):
4900         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4901         (gst_file_sink_class_init):
4902         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4903         (gst_file_src_class_init):
4904         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4905         (gst_identity_class_init):
4906         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4907         (gst_multi_queue_class_init):
4908         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4909         (gst_queue_class_init):
4910         * plugins/elements/gsttee.c: (gst_tee_base_init),
4911         (gst_tee_class_init):
4912         * plugins/elements/gsttypefindelement.c:
4913         (gst_type_find_element_base_init),
4914         (gst_type_find_element_class_init):
4915         * tests/check/gst/gstelement.c: (gst_element_suite):
4916         Revert previous changes to the behaviour of GstPadTemplates, etc
4917         and the possiblity to call them in class_init as it breaks too
4918         many elements. Reopens bug #491501.
4919
4920         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4921         several places.
4922
4923 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4924
4925         * tools/gst-launch.c:
4926         Dump one graph per pipeline state-change and state change name
4927         (if GST_DEBUG_DUMP_DOT_DIR is set).
4928
4929 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4930
4931         * gst/gstpad.c:
4932         * tests/check/gst/gstpad.c:
4933         Be sure that we have a new copy of the caps and not
4934         reffed caps from a template
4935
4936 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4937
4938         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4939         * gst/gstpipeline.c: (gst_pipeline_get_type),
4940         (gst_pipeline_class_init):
4941         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4942         (gst_base_sink_class_init):
4943         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4944         (gst_base_src_class_init):
4945         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4946         (gst_base_transform_class_init):
4947         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4948         (gst_collect_pads_class_init):
4949         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4950         * libs/gst/net/gstnettimeprovider.c:
4951         (gst_net_time_provider_base_init),
4952         (gst_net_time_provider_class_init):
4953         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4954         (gst_capsfilter_class_init):
4955         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4956         (gst_fake_sink_class_init):
4957         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4958         (gst_fake_src_class_init):
4959         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4960         (gst_fd_sink_class_init):
4961         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4962         (gst_fd_src_class_init):
4963         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4964         (gst_file_sink_class_init):
4965         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4966         (gst_file_src_class_init):
4967         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4968         (gst_identity_class_init):
4969         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4970         (gst_multi_queue_class_init):
4971         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4972         (gst_queue_class_init):
4973         * plugins/elements/gsttee.c: (gst_tee_base_init),
4974         (gst_tee_class_init):
4975         * plugins/elements/gsttypefindelement.c:
4976         (gst_type_find_element_base_init),
4977         (gst_type_find_element_class_init):
4978         Don't use base_init where not absolutely necessary. For example it's
4979         not necessary anymore for adding pad templates or setting element
4980         details.
4981
4982         Leave empty base_init functions in several places as GST_BOILERPLATE
4983         still defines and uses them.
4984
4985 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4986
4987         * gst/gstelement.c: (gst_element_base_class_init),
4988         (gst_element_class_add_pad_template):
4989         * gst/gstpadtemplate.c:
4990         Make it possible (and recommended) to set element details and add
4991         pad templates in the class_init functions by copying the details/pad
4992         templates in GstElement's base_init.
4993
4994         Also make it possible to replace existing pad templates by adding
4995         a new one with the same name. This was done in a hackish fashion
4996         in same elements before already.
4997
4998         Don't reference pad templates that are added a second time. A
4999         new pad template has a refcount of one and is not floating anymore
5000         and to be owned by the element's class. Make this more explicit by
5001         mentioning it in the docs of gst_element_class_add_pad_template().
5002
5003         These changes are backwards compatible. Fixes bug #491501.
5004
5005         * tests/check/gst/gstelement.c:
5006         Add unit test for setting element details, adding pad templates and
5007         replacing them in a subclass.
5008
5009 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
5010
5011         * tools/gst-inspect.c: (print_interfaces),
5012         (print_element_properties_info), (print_pad_info),
5013         (print_signal_info), (print_element_info):
5014         Fix a few memory leaks.
5015
5016 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5017
5018         * docs/libs/gstreamer-libs-sections.txt:
5019         * libs/gst/check/gstcheck.c:
5020         * libs/gst/check/gstcheck.h:
5021         Add more functions for unit testing: gst_check_drop_buffers,
5022         gst_check_caps_equal, gst_check_element_push_buffer_list,
5023         gst_check_element_push_buffer
5024         API: gst_check_drop_buffers
5025         API: gst_check_caps_equal
5026         API: gst_check_element_push_buffer_list
5027         API: gst_check_element_push_buffer
5028
5029 2008-02-01  Julien Moutte  <julien@fluendo.com>
5030
5031         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
5032         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
5033         (gst_index_finalize), (gst_index_entry_free),
5034         (gst_index_add_association): Fix memory leaks.
5035         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
5036         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
5037         (gst_mem_index_free_format), (gst_mem_index_free_id),
5038         (gst_mem_index_finalize): Fix memory leaks.
5039         * win32/common/config.h: Updated to CVS HEAD.
5040
5041 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
5042
5043         * docs/README:
5044           Some more details about how the plugin docs works.
5045
5046         * docs/plugins/gstreamer-plugins-sections.txt:
5047           Whitespace cleanup.
5048
5049 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
5050
5051         * gst/parse/grammar.tab.pre.c:
5052         * gst/parse/grammar.tab.pre.h:
5053         * gst/parse/grammar.y:
5054         * gst/parse/lex._gst_parse_yy.pre.c:
5055           Add delayed set-property. This allows to set properties on dynamicaly
5056           created objects (pads in videomxer). Fixes #509391.
5057
5058 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5059
5060         * gst/gstutils.c:
5061         Check if caps are not NULL (fix bug #510194)
5062
5063 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5064
5065         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
5066         (gst_base_sink_get_position_paused):
5067         Add fixme regarding EOS in pull mode.
5068         Fix position reporting in PAUSED for negative rates.
5069
5070 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5071
5072         * gst/gstminiobject.c: (gst_mini_object_replace):
5073         When replacing a miniobject, do a quick equality check first so that we
5074         can avoid a ref/unref pair.
5075
5076 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
5077
5078         * docs/design/part-synchronisation.txt:
5079         Update some docs.
5080
5081         * docs/plugins/Makefile.am:
5082         * docs/plugins/gstreamer-plugins-docs.sgml:
5083         * docs/plugins/gstreamer-plugins-sections.txt:
5084         * plugins/elements/gstmultiqueue.c:
5085         Add multiqueue to the docs.
5086
5087 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5088
5089         * configure.ac:
5090           Back to CVS
5091
5092 === release 0.10.17 ===
5093
5094 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
5095
5096         * configure.ac:
5097           releasing 0.10.17, "Due Negligence"
5098
5099 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5100
5101         * gst/gstutils.c:
5102         Revert caps != NULL check temporarily for 0.10.17 release.
5103
5104 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5105
5106         * gst/gstutils.c:
5107         Check if caps are not NULL (fix bug #510194)
5108
5109 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5110
5111         * gst/gstutils.c:
5112         Fix compilation on systems that have posix timers but no
5113         monotonic clock.
5114         Fixes: #512715
5115         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
5116         dot net>
5117
5118 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
5119
5120         * tools/gst-inspect.c:
5121         Revert previous commit in preparation for an impromptu 0.10.17 release
5122
5123 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
5124
5125         * tools/gst-inspect.c: (print_interfaces),
5126         (print_element_properties_info), (print_pad_info),
5127         (print_signal_info), (print_element_info):
5128         Fix a few memory leaks.
5129
5130 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
5131
5132         * configure.ac:
5133         Back to CVS
5134
5135 === release 0.10.16 ===
5136
5137 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
5138
5139         * configure.ac:
5140           releasing 0.10.16, "Special Dispensation"
5141
5142 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
5143
5144         * configure.ac:
5145           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
5146           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
5147           not fail when trying to crosscompile on OpenEmbedded (#511750).
5148
5149 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
5150
5151         * docs/manuals.mak:
5152         Use $(MAKE) instead of make to fix the build if GNU make is
5153         called different. Fixes bug #510747.
5154
5155 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5156
5157         * gst/gstplugin.c: (_gst_plugin_initialize):
5158           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
5159           again, which I broke two commits ago when changing the API
5160           of gst_plugin_register_static(): the g_list_foreach() in
5161           _gst_plugin_register_static still assumed the old function
5162           signature and would therefore fail (re-fixes #510187).
5163
5164         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
5165           (_gst_plugin_register_static), (gst_plugin_register_static):
5166           Revert the (technically correct) change to call g_thread_init() from
5167           the pre-main() constructor. This will break programs which call
5168           g_thread_init() without an if (!g_thread_supported()) guard in their
5169           main function. We could just blame it on GLib or the application, but
5170           it's probably best to just avoid this altogether and simply not use
5171           any GLib functions here and use plain old malloc() with a simple
5172           array to store the plugins to register later when gst_init() is
5173           finally called (re-fixes #510187).
5174
5175         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
5176           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
5177           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
5178           (GST_START_TEST), (gst_plugin_suite):
5179           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
5180           works.
5181
5182 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5183
5184         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5185           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
5186           This makes gtk-doc complain, but results in slightly better
5187           compiler errors. The old _gst_plugin_register_static() is
5188           still guarded, so there'll be a compiler warning about that
5189           instead. Fixes #510187 too.
5190
5191 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
5192
5193         * gst/gst.c: (init_post):
5194         * gst/gstplugin.c: (_gst_plugin_register_static),
5195           (gst_plugin_register_static), (_gst_plugin_initialize):
5196         * gst/gstplugin.h: (GstPluginFilter):
5197           Change API of gst_plugin_register_static() to not take
5198           a GstPluginDesc, but rather just take all the arguments
5199           in a GstPluginDesc directly. This is more intuitive and
5200           avoids certain mistakes when porting code from
5201           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
5202           Fixes #510187.
5203
5204         * tests/check/gst/gstplugin.c:
5205           Fix up for changed API.
5206
5207 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5208
5209         * docs/faq/legal.xml:
5210           Update FAQ, Totem actually has an exception these days.
5211
5212 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
5213
5214         * win32/common/libgstreamer.def:
5215         Add new API declarations
5216
5217 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5218
5219         * gst/gstminiobject.c:
5220           Spelling fixes for the API docs.
5221
5222 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
5223
5224         * libs/gst/base/gstbasetransform.c:
5225           Fix long property description for QoS.
5226
5227 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
5228
5229         * gst/gst.c:
5230         _gst_trace_on is already provided by gsttrace.h, no need to declare
5231         it ourselves.
5232
5233         * docs/libs/gstreamer-libs-sections.txt:
5234         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
5235         and remove strange tcase_add_test which is outputting a warning.
5236
5237         * libs/gst/check/gstcheck.c:
5238         * libs/gst/check/gstcheck.h:
5239         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
5240         and define them in gstcheck.c instead of having every .c file whcih
5241         includes gstcheck.h be defining its own copy and relying on symbol
5242         interposing to marry them all, which doesn't work on Solaris.
5243
5244         * tests/check/elements/identity.c: (GST_START_TEST):
5245         Don't define 'buffers' locally, it comes from libgstcheck.
5246
5247         * tests/check/generic/sinks.c: (send_buffer):
5248         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
5249
5250         * tests/check/gst/gststructure.c: (GST_START_TEST):
5251         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
5252         * tests/check/gst/gstutils.c: (GST_START_TEST):
5253         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5254         Add a bunch of casts to make various constants fit the types
5255         they're being assigned to.
5256
5257 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
5258
5259         * gst/gstchildproxy.c:
5260           Improve docs and add some ideas for making this more general-purpose.
5261
5262 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
5263
5264         * gst/gst_private.h: (GST_CAT_TYPES):
5265           Add GST_CAT_TYPES, for consistency, and so that the other
5266           debug categories don't make fun of it. Spotted by Saur on IRC.
5267
5268 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5269
5270         * gst/parse/Makefile.am:
5271           Move types.h from EXTRA_DIST to noinst_HEADERS.
5272
5273 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
5274
5275         * autogen.sh:
5276           Add -Wno-portability to the automake parameters to stop warnings
5277           about GNU make extensions being used. We require GNU make in almost
5278           every Makefile anyway.
5279
5280         * configure.ac:
5281           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5282           at the same time is required for per target flags.
5283
5284 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5285
5286         * gst/gstmacros.h:
5287           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5288           __GNUC__ is defined before using it.
5289
5290 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5291
5292         * docs/gst/gstreamer-sections.txt:
5293         * gst/gst.c: (init_post):
5294         * gst/gstplugin.c: (_gst_plugin_register_static),
5295           (gst_plugin_register_static), (_gst_plugin_initialize),
5296           (gst_plugin_register_func):
5297         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5298           API: add gst_plugin_register_static() and deprecate
5299           GST_PLUGIN_DEFINE_STATIC, since it's not portable
5300           (#498924).
5301           Also, in _gst_plugin_register_static(), make sure to call
5302           g_thread_init() before calling GLib functions such as
5303           g_list_append() if we're not initialised yet, since that
5304           may lead to random crashes with older GSlice/GLib versions.
5305
5306         * tests/check/gst/gstplugin.c:
5307           Adapt unit test to above changes.
5308
5309 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5310
5311         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5312         * gst/gstcaps.c: (gst_caps_to_string):
5313         * gst/gststructure.c: (GST_ASCII_IS_STRING),
5314           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5315           Yet another gratuitous GString micro-optimisation: add a (private)
5316           function that serialises a structure appending to an existing
5317           GString, so that when we serialise caps we don't need to alloc+free
5318           a throwaway GString for each structure (each of which also entailing
5319           multiple reallocs on the way); also use g_string_sized_new() in
5320           various places with an approximate string length to avoid reallocs
5321           within GString. See #500143.
5322
5323 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
5324
5325         * gst/gststructure.c: (gst_structure_id_set_value):
5326           Always check UTF-8 conformance of structure strings and not only
5327           if the debugging system is enabled; reasoning: the behaviour of
5328           the actual code shouldn't really change depending on whether the
5329           debugging system is enabled or not (#508291).
5330
5331 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
5332
5333         * Makefile.am:
5334           Remove old coverage target in favour of "make lcov".
5335
5336 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5337
5338         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5339         (gst_base_src_loop):
5340         The start segment for reverse playback goes from start to last_stop.
5341
5342 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5343
5344         Patch by: Peter Kjellerstedt <pkj axis com>
5345
5346         * gst/gstclock.h:
5347         Cast the results from the timeval/spec_to_time macros to what the
5348         docs say it casts to, a GstClockTime. fixes #508175.
5349
5350 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
5351
5352         * gst/gstbuffer.c:
5353         Update some comments.
5354
5355         * tools/gst-inspect.c: (print_element_properties_info):
5356         Improve printing of flags.
5357
5358 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5359
5360         * libs/gst/base/gstbasetransform.c:
5361           (gst_base_transform_transform_size):
5362           Print element name with g_warning() if there's a problem
5363           with the unit size.
5364
5365 2008-01-07  David Schleef  <ds@schleef.org>
5366
5367         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5368
5369         * libs/gst/controller/gstcontroller.h:
5370         * libs/gst/controller/gstcontrolsource.h:
5371         * libs/gst/controller/gstinterpolationcontrolsource.h:
5372         * libs/gst/controller/gstlfocontrolsource.h:
5373         * libs/gst/dataprotocol/dataprotocol.h:
5374           Fix empty prototypes.  Fixes bug #507957.
5375
5376 2008-01-07  David Schleef  <ds@schleef.org>
5377
5378         * docs/faq/dependencies.xml: Fix typo.
5379
5380 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5381
5382         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5383         (gst_base_src_loop):
5384         Don't update the last_stop position in do_seek, that's the position we
5385         did a seek to.
5386         Read backwards when we have a negative rate.
5387
5388         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5389         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5390         (filesrc_suite):
5391         Add check for reverse reading.
5392
5393 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5394
5395         Patch by: Alexis Ballier <aballier at gentoo org>
5396
5397         * tests/check/gst/gstabi.c:
5398         * tests/check/gst/struct_ppc64.h:
5399         * tests/check/libs/libsabi.c:
5400         * tests/check/libs/struct_ppc64.h:
5401           Decide which header to include based on the userland ABI target
5402           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5403           for 64-bit userland (#503590).  Might need something similar for
5404           x86 too.
5405
5406 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5407
5408         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5409           Log the reason why fopen fails in addition to the fact that it failed.
5410           
5411 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5412
5413         * gst/parse/parse.l:
5414         Use "%option never-interactive" to prevent useless calls to isatty()
5415         on every input when parsing. Also use "%option noinput" to not define
5416         the static input/yyinput functions which we don't use anyway. This
5417         removes a compiler warning with gcc 4.3 and saves some bytes in the
5418         library.
5419         
5420         * gst/parse/lex._gst_parse_yy.pre.c:
5421         Regenerated for the above change.
5422
5423 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5424
5425         * gst/gstpad.c: (fixate_value):
5426         Don't crash when trying to fixate and empty list.
5427         Fixes #506643.
5428
5429 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5430
5431         * docs/faq/gst-uninstalled:
5432         Clarify the comments to make the usage of this script and what it
5433         does easier to understand.
5434
5435 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5436
5437         * tools/gst-plot-timeline.py:
5438         Add more options to gst-plot-timeline
5439
5440 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5441
5442         * docs/design/part-synchronisation.txt:
5443         Some more info on how the stream_time in GstBaseSink is done.
5444
5445 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5446
5447         * tests/check/generic/sinks.c: (gst_sinks_suite):
5448           Put back the tcase_set_timeout(), apparently it's needed after
5449           all; fix it up in a way that makes things work with valgrind too.
5450
5451 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5452
5453         * gst/gstdebugutils.c:
5454           Add warning when failed to open file for writing.
5455
5456 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5457
5458         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5459
5460         * gst/gstvalue.c: (gst_value_is_fixed):
5461           Optimisation: bail out of the loop as early as possible (#500143).
5462
5463 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5464
5465         * gst/gstcaps.c: (gst_caps_to_string):
5466         * gst/gstinfo.c: (gst_debug_construct_term_color):
5467         * gst/gstparse.c: (gst_parse_launchv):
5468         * gst/gstutils.c: (gst_util_dump_mem):
5469         * gst/gstvalue.c: (gst_value_serialize_any_list),
5470           (gst_value_transform_any_list_string):
5471           Bunch of gratuitous nano-optimisations.
5472
5473 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5474
5475         * tests/check/generic/sinks.c: (async_done_func),
5476           (async_done_eos_func):
5477           Fix leak in unit test (bus sync handler must unref the message
5478           if it returns GST_BUS_DROP). Don't fiddle with the default test
5479           timeout, this is smaller than the current preconfigured value
5480           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5481           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5482
5483 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5484
5485         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5486
5487         * configure.ac:
5488         Check for stdio_ext.h for the filesink changes.
5489
5490         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5491         (gst_file_sink_class_init), (gst_file_sink_init),
5492         (gst_file_sink_dispose), (gst_file_sink_set_property),
5493         (gst_file_sink_get_property), (gst_file_sink_open_file),
5494         (gst_file_sink_close_file):
5495         * plugins/elements/gstfilesink.h:
5496         Add two properties to control the buffering mode and size.
5497         API: GstFileSink::buffer-mode
5498         API: GstFileSink::buffer-size
5499         Fixes #500150.
5500
5501 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5502
5503         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5504         Add some more docs to explain why a FIXME was wrongly added. 
5505
5506 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5507
5508         * gst/gstobject.c:
5509           Fix typo in the gst_object_{ref,unref} documentation.
5510
5511 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5512
5513         * tests/check/libs/controller.c:
5514         * tests/check/libs/typefindhelper.c:
5515         * tests/check/pipelines/parse-launch.c:
5516           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5517           going to be deprecated (see #498924).
5518
5519 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5520
5521         * gst/gsttypefind.c: (gst_type_find_register):
5522           Make gst_type_find_register work for static typefind functions,
5523           ie. allow passing plugin == NULL (prerequisite for #498924).
5524
5525         * gst/gstelementfactory.c: (gst_element_register):
5526           Small docs addition.
5527
5528 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5529
5530         * gst/gstpad.c: (gst_pad_dispose):
5531         Really unlink the peer pad instead of setting the peer pointer to NULL
5532         when we dispose the pad.
5533         This correctly calls the unlink functions and makes sure that the peer
5534         does not have a handle to invalid memory. See #504671.
5535
5536         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5537         Add testsuite for above case.
5538
5539 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5540
5541         Patch by: Peter Kjellerstedt <pkj axis com>
5542
5543         * libs/gst/check/gstcheck.h:
5544           Fix detection of the check version we're compiling against (would
5545           otherwise break if check goes v0.10.0); correctly report the
5546           name of the failed test again in case of failure, instead of
5547           just 'tf' (fixes #504499).
5548
5549 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5550
5551         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5552         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5553         (gst_base_src_loop), (gst_base_src_set_flushing),
5554         (gst_base_src_change_state):
5555         Allow sending EOS to the source to make it send out an EOS event from
5556         the streaming thread.
5557         Update docs and deprecate the old NULL/READY shutdown method.
5558
5559         * tests/check/libs/basesrc.c: (GST_START_TEST),
5560         (gst_basesrc_suite):
5561         Add unit test for controlled shutdown.
5562
5563 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5564
5565         * docs/design/part-synchronisation.txt:
5566         Small updates.
5567
5568         * gst/gstsegment.c: (gst_segment_set_seek),
5569         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5570         (gst_segment_to_running_time):
5571         The seek format can be different from the segment format when the start
5572         and stop values are not to be updated, when we only do a rate change for
5573         example.
5574
5575         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5576         (gst_segment_suite):
5577         Add a testcase for the rate-only seeks, checking that the format is
5578         correctly ignored when start and stop are not updated.
5579
5580 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5581
5582         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5583
5584         * win32/vs8/grammar.vcproj:
5585         * win32/vs8/libgstcontroller.vcproj:
5586         * win32/vs8/libgstreamer.vcproj:
5587         Fix compilation with VS8 and include some missing files.
5588
5589 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5590
5591         * gst/gsttaglist.c:
5592           Small docs addition: mention that the strings returned by
5593           gst_tag_list_get_string*() are in UTF-8 encoding.
5594
5595 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5596
5597         * Makefile.am:
5598           The check-exports stuff moved to common/win32.mak, so include that.
5599
5600 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5601
5602         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5603         (gst_base_src_perform_seek), (gst_base_src_get_range),
5604         (gst_base_src_set_playing), (gst_base_src_change_state):
5605         Make _wait_playing() not check any variables so that we can call this
5606         function from subclasses. Move the checks elsewhere similar to
5607         _wait_preroll() in basesink.
5608         Add some debugging.
5609         Only signal the LIVE cond when we are going back to PLAYING.
5610
5611 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5612
5613         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5614           Use g_remove() and g_rename(). Check result of g_rename(), and
5615           don't leak the open file descriptor if we error out when writing.
5616
5617         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5618           Must check the return value of close() after writing out the new
5619           registry file.  Sometimes write problems such as out-of-diskspace
5620           are only reported when the file is closed and not already during
5621           the write.  This may have caused partial/broken registry files in
5622           some rare circumstances. Should fix #503675.
5623
5624 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5625
5626         * docs/gst/.cvsignore:
5627         * docs/libs/.cvsignore:
5628         * docs/plugins/.cvsignore:
5629         Ignore files generated by new common/* modifications
5630
5631 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5632
5633         * win32/common/libgstbase.def:
5634           Yes, you can also have a <TAB> if you want.
5635
5636 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5637
5638         * win32/common/libgstbase.def:
5639           Add new basetransform API to win export file.
5640
5641 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5642
5643         * tests/check/gst/gstbin.c:
5644           Adjust the test to the refcount change two days ago.
5645
5646 2007-12-14  David Schleef  <ds@schleef.org>
5647
5648         * docs/faq/getting.xml: Fix typo.
5649
5650 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5651
5652         * docs/libs/gstreamer-libs-sections.txt:
5653         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5654           (gst_base_transform_prepare_output_buffer),
5655           (gst_base_transform_set_gap_aware):
5656         * libs/gst/base/gstbasetransform.h:
5657           API: Add gst_base_transform_set_gap_aware() to control whether
5658           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5659           get buffers with this flag at all. Fixes #503231.
5660
5661 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5662
5663         * libs/gst/base/gstbasesink.c:
5664         * libs/gst/base/gstbasesrc.c:
5665         * libs/gst/base/gstbasetransform.c:
5666           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5667           thread. Correct log message in gstbasesrc.c.
5668
5669 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5670
5671         * gst/gstutils.c: (element_find_unconnected_pad):
5672           Fix possible compiler warning (#503417).
5673
5674 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5675
5676         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5677           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5678
5679 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5680
5681         * tools/gst-inspect.c: (print_element_properties_info):
5682           Add support for GstFraction properties.
5683
5684 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5685
5686         * Makefile.am:
5687           Add check-exports target and run it as part of 'make check'
5688           (see #499140 and #493983).
5689
5690         * gst/gst_private.h:
5691         * gst/gstelementfactory.h:
5692         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5693         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5694           (_priv_gst_in_valgrind):
5695         * gst/gstinfo.h: (GstLogFunction):
5696         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5697           (gst_type_find_register):
5698         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5699           (gst_type_find_factory_get_type):
5700         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5701           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5702           (gst_controller_new_valist), (gst_controller_new_list),
5703           (_gst_controller_dispose), (_gst_controller_class_init):
5704         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5705         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5706           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5707           (gst_object_get_controller), (gst_object_set_controller),
5708           (gst_object_suggest_next_sync), (gst_object_sync_values),
5709           (gst_object_set_control_source), (gst_object_get_control_source),
5710           (gst_object_get_value_arrays), (gst_object_get_value_array),
5711           (gst_object_get_control_rate), (gst_object_set_control_rate):
5712         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5713         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5714           Make some functions that should be static static; rename some
5715           private symbols so that they don't get exported; add some FIXME
5716           comments so we can move accidentally exported functions into
5717           our private section in 0.11.
5718
5719         * win32/common/libgstreamer.def:
5720           Add gst_utils_get_timestamp().
5721
5722 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5723
5724         * gst/gstvalue.c:
5725         * gst/gstvalue.h:
5726           Add more missing "Since:" tags to docs.
5727
5728 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5729
5730         * gst/gstutils.c:
5731           Add mising "Since:" to docs.
5732
5733 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5734
5735         * gst/gstplugin.c:
5736           Include "glib-compat-private.h" to fix the build on system with
5737           glib < 2.10. Fixes #503131.
5738
5739 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5740
5741         * gst/gstutils.c:
5742         * gst/gstutils.h:
5743           Actually its not PURE as it gets the time from elsewhere.
5744
5745 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5746
5747         * docs/gst/gstreamer-sections.txt:
5748         * gst/gstclock.h:
5749         * gst/gstdebugutils.c:
5750         * gst/gstinfo.c:
5751         * gst/gstutils.c:
5752         * gst/gstutils.h:
5753         * libs/gst/base/gstbasesink.c:
5754         * tools/gst-launch.c:
5755           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5756           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5757           Thanks Tim for spotting.
5758           API: gst_util_get_timestamp
5759
5760 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5761
5762         * configure.ac:
5763           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5764
5765 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5766
5767         * gst/gststructure.c: (gst_structure_validate_name),
5768           (gst_structure_new_valist), (gst_structure_parse_value),
5769           (gst_structure_from_string):
5770           Don't crash in _from_string() if the structure name is not valid
5771           (fixes #501560).  Allow structure names to start with a number
5772           again (this apparently broke the ubuntu codec installer).
5773
5774         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5775           (GST_START_TEST):
5776           Add unit test for the crash; update unit tests for new behaviour.
5777
5778 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5779
5780         * gst/gstutils.c:
5781         Clarify gst_element_get_compatible_pad() documentation.
5782         Fixes #500919.
5783
5784 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5785
5786         * tests/check/Makefile.am:
5787           Don't forget to dist {gst,libs}/struct_hppa.h.
5788
5789 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5790
5791         * libs/gst/base/gstbasesink.c:
5792           Use new API to get elapsed time.
5793
5794 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5795
5796         * gst/gstdebugutils.c:
5797         * gst/gstinfo.c:
5798           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5799
5800         * tools/gst-launch.c:
5801           Use new API to get elapsed time.
5802
5803 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5804
5805         * docs/gst/gstreamer-sections.txt:
5806         * gst/gstclock.h:
5807         * gst/gstdebugutils.c:
5808         * gst/gstinfo.c:
5809           Rename new API + ChangeLog surgery to remove old name from last entry..
5810
5811 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5812
5813         * docs/gst/gstreamer-sections.txt:
5814         * gst/gstclock.h:
5815         * gst/gstdebugutils.c:
5816         * gst/gstinfo.c:
5817           Now hide the different clock stuff behind a macro.
5818
5819 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5820
5821         * configure.ac:
5822         * gst/gstdebugutils.c:
5823         * gst/gstinfo.c:
5824           Apply the posix-timer check from #361155. Conditionally use the posix
5825           timer for logging. This gives better timestamp precission, less
5826           overhead and no ntp jitter.
5827
5828 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5829
5830         * gst/gstminiobject.c: (gst_mini_object_get_type),
5831         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5832         (gst_mini_object_finalize), (gst_mini_object_copy),
5833         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5834         (gst_mini_object_replace), (param_mini_object_validate),
5835         (gst_param_spec_mini_object_get_type):
5836         Some cleanup and checking against invalid function parameters.
5837
5838 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5839
5840         * docs/gst/gstreamer-sections.txt:
5841         * gst/gstclock.h:
5842         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5843         (gst_systemclock_suite):
5844         Start merging in the easy bits of #361155, the monotonic clock patch.
5845         This one adds a few handy macros with docs and a testsuite.
5846
5847 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5848
5849         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5850         Be a bit smarter when seeking, like, don't try to do a seek when it's
5851         not needed. This avoids errors when the file is not seekable.
5852         Fixes #499771.
5853
5854 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5855
5856         * docs/gst/gstreamer-docs.sgml:
5857         * docs/gst/gstreamer-sections.txt:
5858         * docs/gst/gstreamer.types.in:
5859         * gst/Makefile.am:
5860         * gst/gst.h:
5861         * gst/gstpreset.c:
5862         * gst/gstpreset.h:
5863         * plugins/elements/gstqueue.c:
5864           Due to popular request remove preset interface again. :-(.
5865
5866 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5867
5868         * tools/gst-inspect.c:
5869           Print 'default value' for enums and flags too.
5870
5871 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5872
5873         * docs/random/ensonic/profiling.txt:
5874           More ideas.
5875
5876         * gst/gstbin.c:
5877           Fix typo and give better log output.
5878
5879         * gst/gstdebugutils.c:
5880         * gst/gstdebugutils.h:
5881           More ideas, make graphs a bit smaller and fix param name in macro.
5882
5883 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5884
5885         * gst/gstpreset.c:
5886           Try harder to use the return value from fgets().
5887
5888 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5889
5890         * gst/gstpreset.c:
5891           For theses two fgets we handle the error below.
5892
5893 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5894
5895         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5896         Only send upstream events upstream. Fixes #498746.
5897
5898 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5899
5900         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5901
5902         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5903         (gst_identity_init), (gst_identity_transform_ip),
5904         (gst_identity_set_property), (gst_identity_get_property):
5905         * plugins/elements/gstidentity.h:
5906         Add property to disable handoff signal emission. Fixes #498694.
5907         API: GstIdentity::signal-handoffs
5908
5909 2007-11-21  Julien Moutte  <julien@fluendo.com>
5910
5911         * docs/faq/gst-uninstalled: Yet another missing library for the
5912         uninstalled script (fft)
5913
5914 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5915
5916         * docs/faq/developing.xml:
5917         Add a question about how to submit new translations.
5918
5919         * docs/random/release:
5920         Update the contact email address for the Translation Project
5921
5922         * plugins/elements/gstfdsrc.c:
5923         The parent_class for fdsrc is pushsrc, not GstElement.
5924
5925 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5926
5927         * gst/gstpreset.c:
5928           Plug a leak and fix saving.
5929
5930 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5931
5932         * docs/gst/gstreamer-sections.txt:
5933         Add new gst_preset__get_property_names() function to the docs
5934         to fix the build.
5935
5936 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5937
5938         * gst/gstpreset.c:
5939         * gst/gstpreset.h:
5940           Change _get_preset_names API to return a strv with copies. Add
5941           _get_property_names to allow implementations to filter and provide
5942           good default implementation.
5943
5944 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5945
5946         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5947         script (sdp).
5948
5949 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5950
5951         * gst/gstpreset.c:
5952           More cleanups, docs, and TODOs from comments that now slowly come in.
5953
5954 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5955
5956         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5957         search path.
5958
5959 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5960
5961         * gst/gstpreset.c:
5962           Fix bogus warning and make the property type specific code more
5963           similar.
5964
5965 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5966
5967         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5968         it build on OS X.
5969
5970 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5971
5972         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5973         (gst_bin_add_func), (gst_bin_remove_func),
5974         (gst_bin_change_state_func), (gst_bin_continue_func):
5975         Change email, cleanups add some more debug and comments.
5976         Also set bus and clock on new elements when the pipeline was in error.
5977
5978 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5979
5980         * gst/gstbin.c:
5981         * gst/gstdebugutils.c:
5982           Fix build with --disable-gst-debug. Fixes #497859.
5983           Spotted by Sameer Naik.
5984
5985 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5986
5987         * gst/gstevent.c:
5988           Little documentation improvment.
5989
5990         * gst/gstpreset.c:
5991           More TODO cleanups. Remove c++ comments.
5992
5993         * libs/gst/controller/gstcontroller.c:
5994           Add TODO and use quark from static string.
5995
5996         * tests/check/gst/gstmessage.c:
5997         * tests/check/gst/gststructure.c:
5998           Use quark from static string.
5999
6000 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6001
6002         * gst/gstpreset.c:
6003           Add some comments and TODOs.
6004
6005         * gst/gstpreset.h:
6006           Add padding for future changes.
6007
6008         * plugins/elements/gstqueue.c:
6009           Implement the iface.    
6010
6011 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
6012
6013         * docs/gst/gstreamer-docs.sgml:
6014         * docs/gst/gstreamer-sections.txt:
6015         * docs/gst/gstreamer.types.in:
6016         * gst/Makefile.am:
6017         * gst/gst.h:
6018         * gst/gstpreset.c:
6019         * gst/gstpreset.h:
6020           Add the preset interface (Fixes #396779). Do some doc cleanups along.
6021
6022 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
6023
6024         * configure.ac:
6025
6026         Back to CVS
6027
6028 === release 0.10.15 ===
6029
6030 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
6031
6032         * configure.ac:
6033           releasing 0.10.15, "October"
6034
6035 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
6036
6037         * win32/vs6/libgstreamer.dsp:
6038         Convert line endings back to DOS.
6039
6040 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
6041
6042         * docs/design/draft-tagreading.txt:
6043         * docs/random/ensonic/profiling.txt:
6044         Update fast tagreading draft and performance profiling ideas.
6045
6046 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
6047
6048         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
6049         Don't hold the object lock when unreffing a buffer because it could
6050         cause a deadlock when the finalize function wants to grab the object
6051         lock too. Fixes #495133.
6052
6053 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
6054
6055         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
6056         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6057         Also accumulate time correctly when doing reverse playback. Fixes
6058         #488201,
6059         When converting to running and stream time, use default values for
6060         start/stop/time/accum when comparing different formats. Fixes #494245.
6061
6062         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6063         Do running/stream time in TIME format.
6064
6065         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6066         (gst_segment_suite):
6067         2 new unit tests for segment accumulation.
6068
6069 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
6070
6071         * gst/gst.c: (init_pre):
6072         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
6073           (_gst_debug_bin_to_dot_file):
6074           Move getenv() back into gst_init, so everyone can live happily
6075           ever after. Make sure the symbol isn't exported though.
6076
6077 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6078
6079         Patch by: Sebastien Moutte  <sebastien moutte net>
6080
6081         * win32/common/gstenumtypes.c:
6082         * win32/common/gstenumtypes.h:
6083           Update enum types.
6084
6085         * win32/vs6/libgstreamer.dsp:
6086           Update vs6 project files (#494343).
6087
6088 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6089
6090         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
6091         (gst_base_src_perform_seek), (gst_base_src_default_event),
6092         (gst_base_src_set_flushing), (gst_base_src_activate_push),
6093         (gst_base_src_activate_pull):
6094         Unify flushing code, remove some old unlock code that is no longer used.
6095         Take the streaming lock when seeking to avoid races. Fixes #492729.
6096         Added some more comments.
6097
6098 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6099
6100         * gst/gst.c: (_gst_disable_segtrap):
6101           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
6102           we can use gst_segtrap_is_enabled() there now that we have that API.
6103           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
6104           to do the getenv here (and export the variable).
6105
6106         * gst/gstdebugutils.c: (debug_dump_element),
6107           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
6108           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
6109
6110         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
6111           (gst_debug_log_default):
6112           Rename _gst_info_start_time to priv_gst_info_start_time so it
6113           doesn't get exported (was never in any header).
6114
6115         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
6116           (gst_plugin_loading_mutex):
6117           Make static mutex gst_plugin_loading_mutex really static (was never
6118           in any header), and use gst_segtrap_is_enabled() instead of
6119           _gst_disable_segtrap.
6120
6121         * gst/gsttrace.c: (_gst_trace_default):
6122           Make local _gst_trace_default static (was never in any header).
6123
6124 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6125
6126         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6127
6128         * win32/common/libgstbase.def:
6129         * win32/common/libgstcontroller.def:
6130         * win32/common/libgstdataprotocol.def:
6131         * win32/common/libgstnet.def:
6132         * win32/common/libgstreamer.def:
6133           Add more missing symbols, remove some duplicates, and sort
6134           as the 'sort' command sorts it (partially fixes #493983).
6135
6136 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6137
6138         * gst/gstelement.c: (gst_element_set_state_func):
6139         Only change the state cookie if a different state was set on the
6140         element. See #492729.
6141
6142 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
6143
6144         * gst/gstvalue.c:
6145           Remove unused and uninitialised type variables that were still
6146           exported for some reason (they were never in any header files
6147           though).
6148
6149 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6150
6151         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6152         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
6153         (gst_base_sink_event), (gst_base_sink_get_position_last),
6154         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
6155         (gst_base_sink_change_state):
6156         Don't try to report a 0 position when we don't know, return -1 and FALSE
6157         instead. This mostly happens when we are prerolling.
6158         Make sure we can report the right position before we post the ASYNC_DONE
6159         message so that a message handler can query position without races.
6160
6161         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6162         (async_done_handoff), (async_done_func), (send_buffer),
6163         (async_done_eos_func), (gst_sinks_suite):
6164         Add two tests for the above.
6165
6166 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
6167
6168         * MAINTAINERS:
6169         Update with new email address.
6170
6171         * docs/design/part-TODO.txt:
6172         Add some more info about future pad-block and negotiation changes.
6173
6174         * docs/design/part-buffering.txt:
6175         Add some ideas about buffering reporting.
6176
6177 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
6178
6179         * tests/check/gst/gstobject.c:
6180         Disable silly racy test that always fails on this combination of CPU
6181         and kernel.
6182
6183 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
6184
6185         Patch by: Murray Cumming  <murrayc@murrayc.com>
6186
6187         * gst/gstobject.c:
6188           Corrected the registration of the parent-set and parent-unset
6189           signals: The parameter is a GstObject, not a GObject (#493134).
6190
6191 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6192
6193         * gst/gst_private.h:
6194         * gst/gstbuffer.h:
6195         * gst/gstevent.h:
6196         * gst/gstformat.h:
6197         * gst/gstmessage.h:
6198         * gst/gstplugin.h:
6199         * gst/gstquery.h:
6200         * gst/gsttaglist.h:
6201         * gst/gstvalue.h:
6202           Move declaration of private _gst_foo_initialize() functions into
6203           our private header file where they should have been all along.
6204
6205 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6206
6207         * docs/plugins/gstreamer-plugins-sections.txt:
6208         * gst/gstdebugutils.h:
6209         * gst/gstxml.h:
6210         * plugins/elements/gstqueue.c:
6211           gtk-doc fixes; trailing-comma-in-enum fix.
6212
6213 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
6214
6215         * gst/gst.c: (gst_deinit):
6216           Clean up on deinit (not the external ones though, doesn't seem to be
6217           needed for some reason).
6218
6219 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6220
6221         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
6222           Remove __declspec(dllimport) for MSVC that was copied over into core
6223           from a plugin, obviously without ever having been tested (note the
6224           single underscore in _declspec in the initial commit), and that doesn't
6225           really make sense.  See #492077.
6226
6227 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6228
6229         * gst/gst.c: (init_post):
6230         * gst/gstevent.c: (_gst_event_initialize):
6231         * gst/gstquery.c: (_gst_query_initialize):
6232         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
6233           g_type_class_ref() other types as well, see #349410 and #64764.
6234
6235         * gst/gstbuffer.c: (_gst_buffer_initialize):
6236         * gst/gstmessage.c: (_gst_message_initialize):
6237           Simplify existing g_type_class_ref().
6238
6239 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6240
6241         * gst/gstformat.c: (_gst_format_initialize):
6242           g_type_class_ref() our GstFormat type to make sure we avoid the
6243           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
6244           bug #64764. Should fix intermittent tee unit test failures (#474823).
6245
6246 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
6247
6248         * tests/check/elements/tee.c: (test_num_buffers):
6249           Simplify, simplify, simplify - or not.  Rewrite unit test
6250           not to use gst_parse_launch(); allow N sub-streams. Increasing
6251           the number of sub-streams seems to reproduce #474823 more easily.
6252
6253 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6254
6255         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
6256
6257         * gst/gsttrace.c:
6258         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6259         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6260         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6261           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6262           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6263           so use _pipe() directly (#492077).
6264
6265         * win32/common/dirent.c: (_treaddir):
6266           Add a couple of casts to make it build without warnings with MSVC.
6267
6268         * win32/common/libgstreamer.def:
6269           Add some more symbols that need to be exported.
6270
6271 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
6272
6273         * tests/examples/metadata/read-metadata.c: (message_loop):
6274           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6275           arriving in a second or third tag message are added to
6276           the tag list as well.
6277
6278 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
6279
6280         * libs/gst/base/gstbasesrc.c:
6281           Its "Since:" and not "@Since:". And remove an superflous cast.
6282
6283 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
6284
6285         * docs/libs/gstreamer-libs-sections.txt:
6286         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6287         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6288         (gst_base_sink_get_property), (gst_base_sink_render_object),
6289         (gst_base_sink_preroll_object),
6290         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6291         (gst_base_sink_change_state):
6292         * libs/gst/base/gstbasesink.h:
6293         Add a new last-buffer property that contains the last buffer used in
6294         basesink for preroll or rendering. useful for making snapshots.
6295         API: gst_base_sink_get_last_buffer()
6296         API: GstBaseSink::last-buffer
6297
6298 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6299
6300         * docs/gst/running.xml:
6301         * gst/gst.c:
6302         * gst/gstdebugutils.c:
6303         * gst/gstdebugutils.h:
6304         * tools/gst-launch.c:
6305           Improve bin graph dumping, by using the envvar to specify a path.
6306           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6307
6308 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
6309
6310         * plugins/elements/gsttypefindelement.c:
6311           (gst_type_find_element_handle_event),
6312           (gst_type_find_element_activate):
6313           Post special error message if we can't determine the type of a stream
6314           because it's empty.
6315
6316 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
6317
6318         * docs/gst/running.xml:
6319         * gst/gstdebugutils.c:
6320           Document new env-var. Add one log-line after dumpng a graph.
6321
6322 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
6323
6324         * configure.ac:
6325           Ugly hack to put the (recently removed and non-portable, apparently)
6326           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6327           GNU ld, because without that 'make check' fails miserably on my debian
6328           stable box.  Someone with more knowledge of linker intricacies and
6329           portability issues than me fix this properly please.
6330
6331 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
6332
6333         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6334         Reset last seen position after flushing so that we don't report the old
6335         position anymore.
6336
6337 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6338
6339         * gst/gstelementfactory.c: (gst_element_register):
6340         * gst/gsturi.h:
6341         Patch from Alessandro Decina adding get_type_full and
6342         get_protocols_full private vfuncs to the URIHandler interface
6343         to allow bindings to support creating URI handlers. 
6344         Partially fixes: #339279
6345         API: GstURIHandlerInterface::get_type_full
6346         API: GstURIHandlerInterface::get_protocols_full
6347
6348 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6349
6350         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6351         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6352         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6353         Make it so that pads are considered linked until a buffer is pushed
6354         and discovered otherwise. This avoids problems with decodebin2 hanging
6355         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6356         case.
6357
6358         Make sure we lock the multiqueue when updating the max-size properties.
6359         
6360         Fix a crash on Solaris in a debug statement in get_request_pad that
6361         passes a NULL string to GST_DEBUG. 
6362
6363         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6364         (run_output_order_test):
6365         Fix the test to allow the first buffer on not-linked pads to come out
6366         of sequence while multiqueue discovers that they are not-linked.
6367
6368 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6369
6370         * configure.ac:
6371         * libs/gst/check/Makefile.am:
6372         Use a custom export symbol regex for libgstcheck, as it needs
6373         to export symbols that don't match the standard GStreamer gst_*
6374         pattern, and  --export-dynamic is not portable (only works on 
6375         GNU ld)
6376
6377         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6378         (gst_check_setup_sink_pad):
6379         Make sure to pass a message parameter to the fail_* macros.
6380
6381         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6382         Fix some compiler warnings.
6383
6384 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6385
6386         * tests/check/gst/gststructure.c: (test_to_string):
6387           Disable test that checks that white spaces are not allowed
6388           in structure names or field names, since we need to
6389           support that for now for backwards compatibility reasons.
6390
6391 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6392
6393         * docs/gst/gstreamer-sections.txt:
6394         * gst/gsttaglist.c:
6395         * gst/gsttaglist.h:
6396           API: add GST_TAG_ARTIST_SORTNAME
6397           API: add GST_TAG_ALBUM_SORTNAME
6398           API: add GST_TAG_TITLE_SORTNAME
6399           Add tag variants for sorting (#414539).
6400
6401 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6402
6403         * gst/gststructure.c:
6404           Also allow white space for names so we don't break
6405           backwards compatibility.
6406
6407 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6408
6409         * docs/design/part-TODO.txt:
6410         * docs/design/part-segments.txt:
6411         * docs/design/part-streams.txt:
6412         Small updates.
6413
6414 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6415
6416         * docs/gst/gstreamer-sections.txt:
6417          Fixed documentation from my previous commit (added new API add
6418          gst_value_set_structure(), add gst_value_get_structure() and
6419          GST_VALUE_HOLDS_STRUCTURE).
6420
6421 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6422
6423         * gst/gstdebugutils.c:
6424           Reflow code to fix uninitialized variable warning.
6425
6426 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6427
6428         * gst/gstcaps.c: (gst_caps_to_string),
6429         (gst_caps_from_string_inplace):
6430         * gst/gststructure.c: (gst_structure_get_abbrs),
6431         (gst_structure_to_string), (gst_structure_from_string):
6432         * gst/gstvalue.c: (gst_value_set_structure),
6433         (gst_value_get_structure), (gst_value_serialize_structure),
6434         (gst_value_deserialize_structure), (_gst_value_initialize):
6435         * gst/gstvalue.h:
6436         * tests/check/gst/gststructure.c: (GST_START_TEST),
6437         (gst_structure_suite):
6438         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6439          Added GstStructure to gst_value_table and its related functions.
6440          Changed gst_structure_to_string to print ';' in the end.
6441          Changed gst_caps_to_string to not print ';' beteween its
6442          fields (structures) anymore and remove the lastes ';' from latest
6443          structure. Now it is possible to have nested structures.
6444          In addition, backward compatibilty is assured by accepting '\0' as
6445          end delimiter. Fixes: #487969.
6446          API: add gst_value_set_structure()
6447          API: add gst_value_get_structure()
6448          API: add GST_VALUE_HOLDS_STRUCTURE
6449
6450 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6451
6452         * gst/gstbus.c:
6453           When no GSource callback has been set up, tell developer
6454           to use a function that actually exists.
6455
6456 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6457
6458         * docs/gst/gstreamer-sections.txt:
6459         * gst/Makefile.am:
6460         * gst/gst.c:
6461         * gst/gst.h:
6462         * gst/gstdebugutils.c:
6463         * gst/gstdebugutils.h:
6464         * gst/gstinfo.c:
6465         * gst/gstinfo.h:
6466         * tools/gst-launch.c:
6467           Allow dumping pipelines as dot graphs. Fixes #456573.
6468
6469 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6470
6471         * gst/gststructure.c:
6472           Allow '+' as well, it can be part of media or mime types
6473           such as image/svg+xml.
6474
6475 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6476
6477         * docs/gst/gstreamer-sections.txt:
6478         * gst/gstbus.c:
6479         * gst/gstbus.h:
6480           API: add gst_bus_pop_filtered
6481           API: add gst_bus_timed_pop_filtered
6482           Two new functions for waiting for specific message types on the
6483           bus for a specified amount of time without iterating any main
6484           loops or main contexts.
6485
6486         * tests/check/gst/gstbus.c:
6487           Some tests for the new functions.
6488
6489 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6490
6491         * docs/libs/gstreamer-libs-sections.txt:
6492           Make gtk-doc ignore stuff it should ignore.
6493
6494 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6495
6496         * libs/gst/check/gstcheck.c:
6497         * libs/gst/check/gstcheck.h:
6498           Allow runtime selection of unit tests to run via the GST_CHECKS
6499           environment variable (test case function names, comma-separated).
6500
6501 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6502
6503         * gst/gststructure.c:
6504         * tests/check/gst/gststructure.c:
6505           Revert serialisation change and constrain structure-names after
6506           consensus on irc. Update api documentation to reflect the change.
6507
6508 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6509
6510         * gst/gststructure.c:
6511           Improve serialization and fix tests.
6512
6513         * tests/check/gst/gststructure.c:
6514           Add another test that covers why I actually did the previous structure
6515           change.
6516
6517 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6518
6519         * tools/gst-inspect.c: (print_element_info):
6520         Don't crash when inspecting an element.
6521
6522 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6523
6524         * tests/check/gst/gststructure.c:
6525           Add unit test for escaping of structure name when serialising
6526           and deserialising to/from strings.
6527
6528 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6529
6530         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6531         (gst_single_queue_new):
6532         * plugins/elements/gstqueue.c: (gst_queue_init),
6533         (gst_queue_push_one):
6534         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6535         upstream is tricked into thinking it can suggest a format downstream
6536         while downstream does not support that format. The real problem is that
6537         core calls acceptcaps when pushing a buffer with new caps, for which we
6538         do a little workaround by setting the caps on the srcpad ourselves
6539         before pushing the buffer (until this is figured out). Fixes #486758.
6540
6541 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6542
6543         * gst/gststructure.c:
6544         * gst/gstvalue.c:
6545           Add some more comments and debug output. Quote structure name to fix
6546           deserialisation of some strings.
6547
6548 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6549
6550         * gst/gstbuffer.h:
6551           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6552           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6553
6554 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6555
6556         * tools/gst-inspect.c:
6557           Save approx. 400 1 byte allocs when printing. Use API to acces element
6558           details.
6559
6560         * tools/gst-run.c:
6561           Avoid a strdup.
6562
6563         * tools/gst-xmlinspect.c:
6564           Use API to acces element details.
6565
6566 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6567
6568         * gst/gstinfo.c:
6569           Fix some spelling errors.
6570
6571 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6572
6573         * gst/gstbin.c: (bin_handle_async_done):
6574         Correctly set the next state if all of our async children commited their
6575         state. This makes sure we can actually cancel the state change in
6576         progress. Fixes a regression in Rhythmbox when seeking.
6577
6578 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6579
6580         * gst/gstbin.c:
6581           Don't shadow local variable.
6582
6583         * gst/gstinfo.c:
6584           Don't shadow global function name.
6585
6586 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6587
6588         * gst/gstelementfactory.c:
6589         * gst/gstpluginfeature.c:
6590         * gst/gstpluginfeature.h:
6591         * gst/gstregistrybinary.c:
6592         * gst/gstregistryxml.c:
6593         * gst/gsttypefind.c:
6594           Use already-interned string for the private GstPluginFeature
6595           plugin_name field.
6596
6597 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6598
6599         * docs/libs/gstreamer-libs-sections.txt:
6600           Add new API to docs; fixes the build.
6601
6602 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6603         
6604         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6605
6606         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6607         (gst_base_sink_event):
6608         * libs/gst/base/gstbasesink.h:
6609         Add function to wait for EOS, subclasses can use this to correctly wait
6610         for devices to drain before performing the EOS logic. Fixes #485343.
6611         API: gst_base_sink_wait_eos()
6612
6613 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6614
6615         * gst/gstplugin.h:
6616           Cast description string constants in GST_PLUGIN_DEFINE macros
6617           to a (gchar*) to make C++ code using these macros compile
6618           without warning with g++-4.2 (see #462737).  Even if slightly
6619           ugly, this seems preferable to putting the description strings
6620           into the GLib quark table or making the structure member a
6621           const gchar * and doing casts in core code that allocs and
6622           frees these strings, or requiring a cast in the C++ code.
6623
6624 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6625
6626         * gst/gstinfo.h:
6627           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6628           to print the entire class/function signature into the log
6629           file for C++ code.  This only affects C++ code, for C code
6630           everything remains the same.
6631
6632 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6633
6634         * gst/gstbin.c: (remove_from_queue):
6635         Work around a problem with pipelines containing (semi)loops until a
6636         proper, more complicated solution is ready. See #475455.
6637
6638 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6639
6640         * gst/gstplugin.c:
6641         * gst/gstplugin.h:
6642         * gst/gstregistrybinary.c:
6643         * gst/gstregistryxml.c:
6644           Put more strings into the GLib quark table. No need to keep
6645           a hundred-something copies of identical version strings,
6646           license strings, package name strings and package origin
6647           strings around. 
6648
6649 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6650
6651         * docs/manual/advanced-dataaccess.xml:
6652           Don't imply that it's okay to unconditionally change
6653           buffer data or buffer metadata in a pad probe callback,
6654           and a bunch of other comments. Fixes #430031.
6655
6656 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6657
6658         * win32/common/gstenumtypes.c:
6659         * win32/common/gstenumtypes.h:
6660         * win32/common/gstversion.h:
6661           Update generated files.
6662
6663 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6664
6665         * docs/manual/advanced-autoplugging.xml:
6666           Prefix section with broken code with a warning (see #342432).
6667
6668 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6669
6670         * docs/manual/appendix-integration.xml:
6671         * docs/manual/basics-init.xml:
6672           Call g_thread_init() before g_option_context_new() to
6673           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6674
6675 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6676
6677         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6678         (gst_base_sink_queue_object_unlocked),
6679         (gst_base_sink_queue_object), (gst_base_sink_event),
6680         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6681         When we received EOS and are waiting for when to post the EOS message,
6682         our state is prerolled and we should not return ASYNC.
6683         Reorganize some code paths to implement this behavior.
6684
6685         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6686         (gst_sinks_suite):
6687         Add unit test to verify above EOS fix.
6688
6689 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6690
6691         * plugins/elements/gsttypefindelement.c:
6692         (gst_type_find_element_have_type), (gst_type_find_element_init),
6693         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6694         Move detecting the input caps of the sinkpad to the setcaps function.
6695         This allows us to update the output caps when we receive new input caps
6696         instead of always using the first detected caps.
6697
6698 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6699
6700         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6701         (gst_base_sink_get_position):
6702         Don't try to preroll non-async elements after a flush.
6703         Subtract latency form clock times when reporting position.
6704
6705 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6706
6707         * gst/gstpad.c: (gst_pad_pause_task):
6708         * gst/gstutils.c:
6709         Small comment and documentation update.
6710
6711 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6712
6713         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6714         (gst_base_src_set_live), (gst_base_src_is_live),
6715         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6716         (gst_base_src_default_event), (gst_base_src_wait),
6717         (gst_base_src_do_sync), (gst_base_src_get_range),
6718         (gst_base_src_pad_get_range), (gst_base_src_loop),
6719         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6720         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6721         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6722         (gst_base_src_change_state):
6723         Rework the locking of basesrc in a similar fashion to basesink. We
6724         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6725         us to handle live sources and semi live ones much better.
6726         Simplify flushing.
6727         Fix unlocking when seeking, shutting down and pausing in live sources.
6728
6729 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6730
6731         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6732         Fix compilation again.
6733
6734 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6735
6736         * gst/gstelement.c:
6737           Use meaningful categories for the logs to clean the default one.
6738
6739 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6740
6741         * tests/check/pipelines/cleanup.c:
6742           Print message name and not just number.
6743
6744 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6745
6746         * docs/design/draft-tagreading.txt:
6747           Add some more thoughts.
6748
6749 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6750
6751         * tests/check/pipelines/simple-launch-lines.c:
6752           Print message name and not just number.
6753
6754 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6755
6756         * libs/gst/base/gsttypefindhelper.c:
6757           Speedup typefinding. This is work in progress (see #459862).
6758
6759 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6760
6761         * gst/gstplugin.c:
6762           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6763           Spotted by Josep Torra Valles <josep@fluendo.com>.
6764
6765 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6766
6767         * gst/gstclock.h:
6768           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6769           field has moved to GstObject.
6770
6771 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6772
6773         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6774         (gst_base_src_get_range), (gst_base_src_change_state):
6775         Call unlock for live sources so that they can't get stuck in _create and
6776         produce a buffer before they are set back to PLAYING.
6777
6778 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6779
6780         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6781         (gst_queue_locked_dequeue):
6782         Comment the segment-related code... in the PROPER function.
6783         See #482147 and my commit from yesterday.
6784
6785 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6786
6787         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6788         Also initialize the counter that calculates the first timestamp on a
6789         buffer correctly for non-live sources.
6790
6791 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6792
6793         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6794         Disable code that's breaking the current-time-level reporting.
6795         See #482147
6796
6797 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6798
6799         * docs/gst/gstreamer-sections.txt:
6800         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6801         as they shouldn't show up. Fixes the docs build.
6802
6803 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6804         
6805         * gst/gstinfo.h:
6806         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6807         Define M_PI which is used in files which are including gstinfo.h. 
6808         VS6 includes doesn't define it.
6809         * win32/common/libgstbase.def:
6810         * win32/common/libgstcontroller.def:
6811         * win32/common/libgstreamer.def:
6812         Add new exported functions and variables.
6813         * win32/vs6/libgstcontroller.dsp:
6814         * win32/vs6/libgstreamer.dsp:
6815         Update the list of files to build.
6816         
6817 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6818
6819         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6820
6821         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6822         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6823         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6824         Improve debugging. Fixes #480858.
6825
6826 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6827
6828         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6829
6830         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6831         First patch of code cleanups, use the macros and right arguments in the
6832         macros to signal and lock the queue. See #480858.
6833
6834 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6835
6836         * gst/gstbus.c: (poll_func):
6837         Improve debugging when dealing with _poll().
6838
6839 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6840
6841         * gst/gstregistryxml.c:
6842           Fix memory leak I introduced a few days ago.
6843
6844 2007-09-26  Michael Smith <msmith@fluendo.com>
6845
6846         * gst/gstbuffer.c: (gst_buffer_finalize):
6847           Make it once again possible to free GstBuffers in the default
6848           build.
6849           The poisoning scribbles on parts of the miniobject we need in
6850           order to free it.
6851           Fixes #480341
6852
6853 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6854
6855         * docs/gst/gstreamer-sections.txt:
6856         * gst/gsttaglist.c:
6857         * gst/gsttaglist.h:
6858         API: add GST_TAG_COMPOSER, fixes #459809.
6859
6860 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6861
6862         * gst/gstplugin.c:
6863         * gst/gstplugin.h:
6864         Add the 3-clause BSD license and the MIT/X11 license to the license
6865         list. Fixes #479784.
6866
6867 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6868
6869         * docs/faq/getting.xml:
6870           Add Q+A about different GStreamer versions (#364056).
6871
6872 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6873
6874         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6875         (gst_base_sink_event), (gst_base_sink_change_state):
6876         Return correct gboolean from query function.
6877
6878 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6879
6880         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6881         (gst_base_sink_event), (gst_base_sink_query),
6882         (gst_base_sink_change_state):
6883         Simplify latency query.
6884         When not synchronizing, we can report latency without querying the peer
6885         element.
6886
6887 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6888
6889         * gst/gstobject.h:
6890         * gst/gstvalue.c:
6891         Fix small typos in the docs.
6892
6893 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6894
6895         * docs/design/draft-latency.txt:
6896         * docs/design/draft-push-pull.txt:
6897         * docs/design/draft-tagreading.txt:
6898         * docs/design/part-MT-refcounting.txt:
6899         * docs/design/part-activation.txt:
6900         * docs/design/part-block.txt:
6901         * docs/design/part-element-source.txt:
6902         * docs/design/part-events.txt:
6903         * docs/design/part-gstbin.txt:
6904         * docs/design/part-gstelement.txt:
6905         * docs/design/part-gstobject.txt:
6906         * docs/design/part-gstpipeline.txt:
6907         * docs/design/part-messages.txt:
6908         * docs/design/part-preroll.txt:
6909         * docs/design/part-push-pull.txt:
6910         * docs/design/part-qos.txt:
6911         * docs/design/part-query.txt:
6912         * docs/design/part-scheduling.txt:
6913         * docs/design/part-seeking.txt:
6914         * docs/design/part-segments.txt:
6915         * docs/design/part-states.txt:
6916         Documentation updates and typo fixes.
6917
6918 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6919
6920         * plugins/elements/gstfakesink.c:
6921           Add some debug text to error message to indicate that
6922           we errored out on request.
6923
6924         * tools/gst-launch.c:
6925           When the state change to PLAYING fails, check for an
6926           error message on the bus and print it.
6927
6928 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6929
6930         translated by: Jorge González González <aloriel@gmail.com>
6931
6932         * po/LINGUAS:
6933         * po/es.po:
6934           Added Spanish translation.
6935
6936 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6937
6938         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6939         Fix printf arguments.
6940
6941 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6942
6943         * tests/check/generic/states.c:
6944           Improved state change unit test.
6945
6946 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6947
6948         * gst/gstbin.h:
6949           Move priv to the right place.
6950
6951         * gst/gstsystemclock.c:
6952           Add FIXME: and improve log.
6953
6954         * tests/check/Makefile.am:
6955         * tests/examples/manual/Makefile.am:
6956           Work with all types of registries.
6957
6958 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6959
6960         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6961         Don't unref the event after pushing it. Fixes #478401.
6962
6963 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6964
6965         * .cvsignore:
6966         * tests/examples/manual/.cvsignore:
6967           Ignore registries in any format.
6968
6969 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6970
6971         * gst/glib-compat-private.h:
6972           Add compatibility macro for g_intern_string() for
6973           GLib-2.8 (any reason we can't just bump the
6974           requirement to at least 2.10?)
6975
6976         * gst/gstpadtemplate.h:
6977         * gst/gstelementfactory.c:
6978         * gst/gstregistryxml.c:
6979         * gst/gstregistrybinary.c:
6980           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6981           up the internal code accordingly.  This shouldn't be a problem, since
6982           there is no reason external code could ever assume the string in such
6983           a structure is dynamically allocated unless it did that itself;  the
6984           use of g_strdup() is private to element factories.  The new code also
6985           saves some memory by putting pad template name strings into the GLib
6986           quark table instead of allocating them dynamically.
6987           Declaring this field constant fixes warnings with g++-4.2 when using
6988           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6989
6990 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6991
6992         * gst/gstelementfactory.c:
6993           Release static caps. Fixes #475723.
6994
6995 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6996
6997         * gst/gstinfo.c:
6998         * gst/gstinfo.h:
6999           Make some internal API take const gchar * instead of just
7000           gchar * to avoid compiler warnings with g++-4.2.2 when
7001           passing string constants (partially fixes #478092).
7002
7003 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
7004
7005         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
7006         A latency query fails when one of the sinks fail.
7007
7008         * gst/gstelement.c: (gst_element_set_base_time):
7009         Improve debugging.
7010
7011 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
7012
7013         * gst/gstbin.c: (gst_bin_continue_func):
7014         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7015         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
7016         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
7017
7018         Fix minor compilation warnings shown with Forte.
7019
7020 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
7021
7022         * plugins/elements/gstqueue.c: (apply_buffer),
7023         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
7024         Measure queue level based on the diff between head and tail timestamps
7025         even when pushing the first buffer.
7026
7027 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7028
7029         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7030         (gst_base_sink_event), (gst_base_sink_change_state):
7031         Sinks that don't preroll can always be queried for the latency.
7032         Don't post ASYNC start when we are not async.
7033
7034 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7035
7036         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
7037         (gst_queue_handle_sink_event), (gst_queue_chain),
7038         (gst_queue_push_one), (gst_queue_handle_src_query),
7039         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
7040         * plugins/elements/gstqueue.h:
7041         When downstream returns UNEXPECTED from pushing a buffer, don't try to
7042         push more buffers but allow pushing of EOS and NEWSEGMENT.
7043         Add some more debug info here and there. Fixes #476514.
7044
7045 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
7046
7047         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7048         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
7049         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7050         (gst_base_sink_set_flushing), (gst_base_sink_query),
7051         (gst_base_sink_change_state):
7052         Latency query is allowed after we are prerolled. Introduce a new flag
7053         for this and stop abusing other variables.
7054
7055 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7056
7057         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
7058         Push OOB events downstream when we get them in send_event. This allows
7059         the application to insert events in the pipeline.
7060         Add some more comments.
7061
7062 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7063
7064         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
7065         (do_bin_latency), (gst_bin_change_state_func):
7066         * gst/gstpipeline.c: (gst_pipeline_change_state):
7067         Move latency query from GstPipeline to GstBin so that we can also
7068         use it when async-handling is enabled on bins.
7069
7070 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7071
7072         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7073         (gst_base_src_do_sync), (gst_base_src_change_state):
7074         Update docs.
7075         Clean up the timestamping and syncing code for pseudo live sources.
7076
7077 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
7078
7079         Patch by: Steve Fink  <sphink gmail com>
7080
7081         * docs/manual/appendix-checklist.xml:
7082           Mention less -R switch in the section about debug output (#474055).
7083
7084 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
7085
7086         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
7087         Queue can latency to the pipeline up to the configured max size in time.
7088         Report this fact in the latency query.
7089
7090 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7091
7092         Patch by: Sebastien Moutte <sebastien at moutte dot net>
7093
7094         * libs/gst/controller/gstinterpolation.c:
7095         * libs/gst/controller/gstlfocontrolsource.c:
7096         Use gst_guint64_to_gdouble() when converting from a uint64 or
7097         GstClockTime to double to fix the build on win32. Fixes #474371.
7098
7099 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7100
7101         * gst/gstbuffer.c: (gst_buffer_finalize):
7102         Implement poisoning for GstBuffer if --enable-poisoning is specified.
7103         When finalizing a buffer the complete struct is filled with 0xff,
7104         thus making a use of the buffer after the final unref impossible.
7105
7106 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
7107
7108         * tests/check/libs/controller.c: (GST_START_TEST):
7109         Use fail_unless_equals_int(a, b) instead of
7110         fail_unless_equals (a == b) to get better output on failures.
7111
7112 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7113
7114         * tests/check/gst/gsturi.c:
7115           Also check for the other file URI variant on win32.
7116
7117 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
7118
7119         * gst/gsturi.c: (gst_uri_get_location):
7120           If there's no hostname, we want to return 'c:/foo/bar.txt'
7121           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
7122
7123         * tests/check/gst/gsturi.c:
7124           Unit test for the above and a few more things.
7125
7126 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7127
7128         * docs/design/part-live-source.txt:
7129         Add docs on how live sources should timestamp.
7130
7131         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
7132         Add some more debug info.
7133         For subclasses that are live and like to sync, add aditional startup
7134         latency to sync time and timestamps so that we timstamp according to the
7135         design doc.
7136
7137 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7138
7139         * gst/gstbuffer.c:
7140           Also do a g_type_class_ref() for the subbuffer type in
7141           the init function.
7142
7143 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
7144
7145         * docs/gst/gstreamer-sections.txt:
7146         * gst/gstpad.c: (gst_pad_peer_query):
7147         * gst/gstpad.h:
7148         Add function to perform a query on the peer of a pad.
7149         API: gst_pad_peer_query()
7150
7151 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
7152
7153         * tests/check/gst/gstsystemclock.c:
7154           Cleanup the test a little (use gst-logging and not g_message). Improve
7155           test to check if a wait reached the target.
7156
7157 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
7158
7159         * docs/libs/gstreamer-libs-sections.txt:
7160           Add new API to docs and fix the build.
7161
7162 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
7163
7164         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7165         (gst_base_src_init), (gst_base_src_set_do_timestamp),
7166         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
7167         (gst_base_src_get_property), (gst_base_src_do_sync):
7168         * libs/gst/base/gstbasesrc.h:
7169         Add property to make the basesrc timestamp buffers based on the current
7170         running time.
7171         API: GstBaseSrc::do-timestamp
7172         API: gst_base_src_set_do_timestamp()
7173         API: gst_base_src_get_do_timestamp()
7174
7175 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
7176
7177         * docs/random/release:
7178           Really make sure translations are up-to-date before
7179           a release (#465010).
7180
7181 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
7182
7183         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7184         Always destroy the timer, also in error cases.
7185
7186 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7187
7188         * docs/manual/highlevel-xml.xml:
7189         Fix XML example code. Fixes #472714.
7190
7191 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
7192
7193         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
7194         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
7195         (gst_base_sink_query):
7196         Protect eos and have_preroll with the OBJECT lock so we don't need to
7197         take the PREROLL lock when querying the latency. Fixes #473846.
7198
7199 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
7200
7201         * gst/gstelement.c:
7202           Give some log-messages a category.
7203
7204 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
7205
7206         * gst/gststructure.c:
7207         (gst_structure_fixate_field_nearest_fraction):
7208         Fix fraction list fixation code. Take the fraction with the smallest
7209         difference with the target instead of the first one in the list.
7210
7211         * tests/check/gst/gststructure.c: (GST_START_TEST),
7212         (gst_structure_suite):
7213         Added test to verify correct fraction list fixation behaviour.
7214
7215 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
7216
7217         * win32/common/libgstreamer.def:
7218           Export gst_bus_add_signal_watch too.
7219
7220 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
7221
7222         * docs/libs/gstreamer-libs-sections.txt:
7223         Add new methods to docs.
7224
7225         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7226         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
7227         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
7228         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
7229         * libs/gst/base/gstbasesink.h:
7230         Add ts-offset property to fine-tune the synchronisation.
7231         API: GstBaseSink::ts-offset property
7232         API: gst_base_sink_set_ts_offset()
7233         API: gst_base_sink_get_ts_offset()
7234
7235 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
7236
7237         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7238         (gst_base_sink_init), (gst_base_sink_set_sync),
7239         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7240         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
7241         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
7242         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
7243         (gst_base_sink_get_property), (gst_base_sink_change_state):
7244         * libs/gst/base/gstbasesink.h:
7245         Add async property to instruct the sink never to inform the parent about
7246         ASYNC state changes, update docs.
7247         Check argument with g_return_* for the public functions.
7248         API: GstBaseSink::async property
7249         API: gst_base_sink_set_async_enabled()
7250         API: gst_base_sink_is_async_enabled()
7251
7252 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
7253
7254         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
7255         Improve debugging.
7256
7257         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7258         (gst_base_src_default_query), (gst_base_src_wait),
7259         (gst_base_src_do_sync), (gst_base_src_change_state):
7260         Rearrange some code so that we can add support for measuring the 
7261         startup latency.
7262
7263 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
7264
7265         * docs/random/ensonic/dynlink.txt:
7266           More thoughs on this.
7267
7268         * plugins/elements/gstcapsfilter.c:
7269           Add bugzilla ticket number to FIXME comment.
7270
7271 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
7272
7273         * docs/design/part-TODO.txt:
7274         * docs/design/part-block.txt:
7275         Update some docs.
7276
7277 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7278
7279         * gst/Makefile.am:
7280           Revert patch which uses $(gst_headers) instead of $^ because it
7281           breaks make dist.
7282
7283 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
7284
7285         * tests/check/gst/gstbin.c: (GST_START_TEST):
7286           Fix leaks in the new unit test.
7287
7288 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
7289
7290         * gst/gst.c:
7291           Don't use GST_INFO before the debug system is actually initialised
7292           (shouldn't do any harm, but won't print anything either, so we can
7293           just as well remove it).
7294
7295         * gst/gstinfo.h:
7296           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7297           compilers that don't support variadic macros (such as MSVC), should
7298           check for debug_level <= __gst_debug_min as well, since that's the
7299           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7300           inline helper functions. Should improve performance a bit, but also
7301           makes sure uses of GST_INFO et.al are ignored if the debugging
7302           system isn't initialised yet (instead of printing an assertion
7303           failure).
7304
7305 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
7306
7307         patch by: David Nečas <yeti@physics.muni.cz>
7308
7309         * gst/Makefile.am:
7310           Replace some non portable makefile constructs.
7311
7312 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
7313
7314         * common/gtk-doc-plugins.mak:
7315           Grrrrr. Don't remove the types file on make clean.
7316
7317 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
7318
7319         * tools/gst-launch.1.in:
7320         Add colorspace to example pipeline. Fixes #458274.
7321
7322 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
7323
7324         * docs/random/release:
7325           The release manager should run 'make download-po' before making a
7326           release to make sure translations are up-to-date.
7327
7328         * po/LINGUAS:
7329         * po/be.po:
7330         * po/pl.po:
7331         * po/rw.po:
7332           Add some new translations.
7333
7334 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
7335
7336         * tools/gst-launch.c: (event_loop), (main):
7337         Don´t try to do any state management when a live pipeline posts
7338         buffering messages.
7339         Also make the buffering string translatable.
7340
7341 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7342
7343         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7344         (bin_handle_async_start), (gst_bin_handle_message_func):
7345         Improve debugging.
7346         When adding elements, insert messages into the bus of the newly added
7347         element and make sure the element is the source of the message. This
7348         allows the parent bin to intercept the message and do the
7349         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7350         messages to the app (which is not allowed).
7351         Update some docs.
7352
7353         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7354         Fix testsuite so that is does not work around messages that should not
7355         have been posted in the first place.
7356
7357 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7358
7359         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7360         (update_degree), (gst_bin_sort_iterator_next):
7361         Fix annoying bug in the sorted iterator where a sink that is not really
7362         a sink (when it has downstream links) screwed up the iterator.
7363
7364         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7365         Unit test to verify the fix.
7366
7367 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7368
7369         * gst/gstmessage.h:
7370         Add some more docs for the messages.
7371
7372         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7373         (gst_base_sink_query):
7374         Add some more debugging.
7375
7376         * tools/gst-launch.c: (event_loop):
7377         When interrupting, don't try to set pipeline to PAUSED twice.
7378
7379 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7380
7381         
7382         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7383         (bin_handle_async_start), (gst_bin_handle_message_func):
7384         Move ASYNC_START message posting to where it belongs, similar to
7385         async_done. 
7386         Don't post ASYNC_START when we are in error. 
7387         Post ASYNC_START when we added an async element to a bin.
7388
7389 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7390
7391         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7392         generation from vargs. Fixes #466595.
7393
7394 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7395
7396         * gst/gstbin.c: (gst_bin_element_set_state):
7397         Always change the state of a NO_PREROLL element even if it has ASYNC
7398         elements inside (in case of a bin).
7399
7400         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7401         Unit test for this case.
7402
7403 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7404
7405         * libs/gst/check/gstbufferstraw.c:
7406         * libs/gst/check/gstcheck.h:
7407         * libs/gst/controller/gstcontroller.c:
7408         * libs/gst/controller/gstcontrolsource.h:
7409         * libs/gst/controller/gstlfocontrolsource.h:
7410         * plugins/elements/gstcapsfilter.h:
7411         * plugins/elements/gstfdsink.h:
7412         * plugins/elements/gstfdsrc.h:
7413           Add more missing docs.
7414
7415 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7416
7417         * gst/gststructure.c:
7418         Add Since tag to docs.
7419
7420 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7421
7422         * docs/gst/gstreamer-sections.txt:
7423         * gst/gststructure.c: (gst_structure_get_uint):
7424         * gst/gststructure.h:
7425         Add function to get uint from a structure.
7426         API: gst_structure_get_uint()
7427
7428 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7429
7430         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7431         (gst_caps_intersect):
7432         Fix proper check for simple caps.
7433
7434 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7435
7436         * docs/gst/Makefile.am:
7437         * docs/libs/Makefile.am:
7438           Remove cruft and do some cleanups.
7439
7440         * docs/gst/gstreamer-docs.sgml:
7441         * docs/libs/gstreamer-libs-docs.sgml:
7442           Prepare for comming gtkdoc features (rebase against online docs).
7443
7444 2007-08-10  Michael Smith <msmith@fluendo.com>
7445
7446         * docs/gst/gstreamer-sections.txt:
7447           Add gst_registry_add_path to docs.
7448
7449 2007-08-10  Michael Smith <msmith@fluendo.com>
7450
7451         * gst/gstregistry.h:
7452           Add gst_registry_add_path, which was missing from this header.
7453
7454 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7455
7456         * libs/gst/controller/gstlfocontrolsource.c:
7457           Printf format fix.
7458
7459 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7460
7461         * libs/gst/base/gstbasesink.c:
7462           Don't send an async_start message during downwards state change if 
7463           target state is less than READY
7464
7465 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7466
7467         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7468
7469         * po/LINGUAS:
7470         * po/hu.po:
7471           Added Hungarian translation.
7472
7473 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7474
7475         * po/fi.po:
7476         * po/it.po:
7477         * po/nl.po:
7478         * po/sv.po:
7479         * po/uk.po:
7480           Updated translations.
7481
7482 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7483
7484         * libs/gst/controller/Makefile.am:
7485         Dist gstlfocontrolsourceprivate.h
7486
7487 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7488
7489         * docs/libs/gstreamer-libs.types:
7490         Don't register the enum type gst_lfo_waveform_get_type() in the
7491         .types file - only GObject derived types belong.
7492
7493 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7494
7495         Patch by: <arenevier at fdn dot fr>
7496
7497         * gst/gstbuffer.h:
7498         Remove comma from last element in enum to avoid compile errors when
7499         using -pendantic. Fixes #464366.
7500
7501 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7502
7503         * docs/design/part-TODO.txt:
7504         Add some more TODO items
7505
7506         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7507         Improve debugging.
7508
7509         * gst/gstcaps.c: (gst_caps_intersect):
7510         Optimize trivial intersection case between identical caps pointers.
7511
7512         * gst/gstelement.c: (gst_element_continue_state),
7513         (gst_element_set_state_func):
7514         * gst/gstpad.c:
7515         Fix spelling and grammar mistakes.
7516
7517 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7518
7519         * po/POTFILES.in:
7520         * po/POTFILES.skip:
7521           Update POTFILES. Fixes #461599.
7522
7523 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7524
7525         * gst/gst.c:
7526         Fix confusing typo in debug output.
7527
7528 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7529
7530         reviewed by: Stefan Kost <ensonic@users.sf.net>
7531
7532         * libs/gst/controller/Makefile.am:
7533         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7534         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7535         (gst_lfo_control_source_new),
7536         (gst_lfo_control_source_set_waveform),
7537         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7538         (gst_lfo_control_source_finalize),
7539         (gst_lfo_control_source_dispose),
7540         (gst_lfo_control_source_set_property),
7541         (gst_lfo_control_source_get_property),
7542         (gst_lfo_control_source_class_init):
7543         * libs/gst/controller/gstlfocontrolsource.h:
7544         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7545         API: Add GstLFOControlSource, a control source that gives values
7546         for specific timestamps based on several periodic waveforms.
7547         Fixes #459717.
7548
7549         * tests/check/libs/controller.c: (GST_START_TEST),
7550         (gst_controller_suite):
7551         * docs/libs/gstreamer-libs-docs.sgml:
7552         * docs/libs/gstreamer-libs-sections.txt:
7553         * docs/libs/gstreamer-libs.types:
7554         Add documentation and unit tests for GstLFOControlSource.
7555
7556 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7557
7558         * configure.ac:
7559         Back to CVS
7560
7561 === release 0.10.14 ===
7562
7563 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7564
7565         * configure.ac:
7566           releasing 0.10.14, "Breathing Vacuum"
7567
7568 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7569
7570         * gst/gstelement.c: (gst_element_class_set_details_simple):
7571         * gst/gstelement.h:
7572           Make strings passed to gst_element_class_set_details_simple()
7573           constant, as they should be (#462752).
7574
7575 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7576
7577         * gst/gstbin.c: (gst_bin_change_state_func),
7578         (bin_handle_async_done), (gst_bin_handle_message_func):
7579         Don't forget about the fact that some element went ASYNC even after a
7580         resync. This makes us post the ASYNC_DONE message correctly.
7581         Fixes #462558.
7582
7583 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7584
7585         * gst/gstregistry.c: (gst_registry_add_feature):
7586         When replacing an existing feature in the registry, make sure to
7587         continue holding a reference until we've replaced the name string
7588         within our feature hash table. Make sure to use g_hash_table_replace
7589         instead of g_hash_table_insert to ensure the new name string is used
7590         as a key instead of the old one that we're about to free.
7591         Fixes: #462085
7592
7593 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7594
7595         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7596         (gst_plugin_feature_set_name):
7597         Revert patch from #459466 until after the release and we can work
7598         out exactly what the problem is (if any).
7599
7600 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7601
7602         * docs/gst/gstreamer-sections.txt:
7603         * gst/gsttaglist.c:
7604         * gst/gsttaglist.h:
7605           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7606
7607 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7608
7609         * docs/libs/Makefile.am:
7610         Include our build-prefix libs and includes before the generic ones to
7611         avoid linking against the installed libs when we want the build-tree
7612         ones.
7613
7614 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7615
7616         Patch by: Steve Fink  <sphink gmail com>
7617
7618         * docs/pwg/building-testapp.xml:
7619           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7620           if people try to build or install the example from the plugin
7621           template against a GStreamer from package using the configure
7622           defaults.
7623
7624 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7625
7626         Patch by: Steve Fink  <sphink gmail com>
7627
7628         * tools/gst-inspect.1.in:
7629           Document --print-all and --print-plugin-auto-install-info command
7630           line options in man page.
7631
7632 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7633
7634         * docs/gst/gstreamer-sections.txt:
7635         Add docs for new api function.
7636
7637 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7638
7639         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7640         * gst/gstelementfactory.h:
7641         API: gst_element_factory_has_interface()
7642         Added method to check if an element factory implements a named
7643         interface.
7644
7645 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7646
7647         * configure.ac:
7648         * docs/gst/gstreamer.types.in:
7649           Another conditional doc check.
7650
7651         * gst/gstmessage.c:
7652         * gst/gstparamspecs.h:
7653         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7654         * gst/gstvalue.c:
7655         * gst/gstxml.h:
7656           API-doc fixes.
7657
7658 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7659
7660         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7661         (gst_registry_binary_load_feature),
7662         (gst_registry_binary_load_plugin),
7663         (gst_registry_binary_read_cache):
7664           Print error just once and with additional info.
7665
7666 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7667
7668         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7669         (helper_find_suggest), (helper_find_get_length),
7670         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7671         (gst_type_find_helper_for_buffer):
7672           Cleanup the typefindhelper code and add private doc comments.
7673
7674 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7675
7676         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7677         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7678         Fix capsfilter for cases where the caps set on capsfilter will provide
7679         additional information.
7680         Fixes #449197
7681
7682 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7683
7684         * gst/gsttypefindfactory.c:
7685           Fix docs that recommened wrong function to use.
7686
7687 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7688
7689         * tools/gst-inspect.c: (print_plugin_features):
7690           Also give media-type for typefinders in element output.
7691
7692 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7693
7694         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7695         (gst_registry_remove_features_for_plugin_unlocked),
7696         (gst_registry_add_feature), (gst_registry_remove_feature),
7697         (gst_registry_lookup_feature_locked):
7698         * gst/gstregistry.h:
7699           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7700           Fixes #459501.
7701
7702 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7703
7704         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7705         (gst_plugin_feature_set_name):
7706           Avoid double memory usage for pluginfeature names. Fixes #459466.
7707
7708 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7709
7710         * gst/gstpad.h:
7711           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7712           driving the pipeline may need to explicitly check for NOT_LINKED as
7713           well, since IS_FATAL doesn't cover that.
7714
7715 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7716
7717         * docs/pwg/advanced-types.xml:
7718           Fix typo and duplicate entry in video formats list.
7719
7720 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7721
7722         * libs/gst/controller/gstinterpolation.c:
7723         Also round to the nearest int when using cubic interpolation.
7724
7725 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7726
7727         * libs/gst/controller/gstinterpolation.c:
7728         When linearly interpolating integer types, round to the nearest int
7729         by adding 0.5. Don't do it for float/double types.
7730         Fixes the failing controller test on my machine, which is somehow
7731         rounding differently than on the buildbots.
7732
7733 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7734
7735         * tools/gst-plot-timeline.py:
7736           Better log parsing (categories can have -). Adjust text vs. lines, so
7737           that they span the same y-range.        
7738
7739 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7740
7741         * docs/random/ensonic/audiobaseclasses.txt:
7742         * docs/random/ensonic/dynlink.txt:
7743         * docs/random/ensonic/profiling.txt:
7744           Save my thoughts.
7745
7746         * docs/random/moving-plugins:
7747           Add note to use g_assert type macros.
7748
7749 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7750
7751         * configure.ac:
7752         * libs/gst/check/Makefile.am:
7753           Add libm check as we use in for plugins.
7754
7755 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7756
7757         * gst/gstbin.c: (gst_bin_continue_func):
7758         Check that the state_cookie hasn't changed since the continue_func
7759         was scheduled. Avoids problems where the state changes back to
7760         something it shouldn't be because it was changed in the meantime.
7761
7762 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7763
7764         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7765         (gst_registry_binary_save_string),
7766         (gst_registry_binary_save_pad_template),
7767         (gst_registry_binary_save_feature),
7768         (gst_registry_binary_save_plugin),
7769         (gst_registry_binary_load_feature),
7770         (gst_registry_binary_load_plugin),
7771         (gst_registry_binary_read_cache):
7772           Fix memory leak. Be less verbose in the log.
7773
7774 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7775
7776         * tests/check/elements/.cvsignore:
7777         Add file to cvsignore as commanded.
7778
7779 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7780
7781         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7782         (mq_dummypad_event), (run_output_order_test):
7783         Use a GStaticMutex to protect all cases where libcheck
7784         fail_if/fail_unless macros might be called from multiple threads
7785         simultaneously to avoid errors like:
7786           "check_pack.c:107: :-1081725400:Bad message type arg"
7787
7788 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7789
7790         * tests/check/pipelines/stress.c: (GST_START_TEST):
7791         Make sure we set the pipeline back to the NULL state before
7792         dropping our final reference.
7793
7794 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7795
7796         * tests/check/elements/tee.c: (GST_START_TEST):
7797         Make the tee stress-test a little less stressful so it doesn't just
7798         time out on slow-machines, and remove a small race when it's starting 
7799         up by adding a get_state() call.
7800
7801 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7802
7803         * gst/gst.c:
7804           Avoid reading registry twice on startup. Fixes #457322.
7805
7806 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7807
7808         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7809         * pkgconfig/gstreamer-check.pc.in:
7810         Substitute the CFLAGS for libcheck into our .pc file too so that
7811         dependent modules will pick it up properly if libcheck is installed
7812         into some other prefix.
7813
7814 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7815
7816         * configure.ac:
7817         Revert the pkg-config check for libcheck, since it pulls in the
7818         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7819         a proper solution, either from the check project, or something else.
7820
7821 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7822
7823         * configure.ac:
7824           Use pkg-config to locate check.
7825
7826 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7827
7828         * gst/gsttaglist.c:
7829           Fix doc syntax.
7830
7831         * gst/gstutils.c:
7832         * gst/gstutils.h:
7833           Add deprecation guards.
7834
7835         * libs/gst/base/gstcollectpads.h:
7836           Don't document object (this is implicitly private).
7837
7838 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7839
7840         * gst/gststructure.c: (gst_structure_parse_value):
7841           When deserialising foo=bar without a type cast, check if it's a
7842           boolean before falling back to a string type, otherwise things like
7843           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7844           because the filtercaps end up having a signed=(string)true field,
7845           which causes problems later when intersection caps.
7846
7847         * tests/check/gst/gststructure.c: (GST_START_TEST):
7848           Add a unit test for this.
7849
7850 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7851
7852         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7853
7854         * libs/gst/controller/Makefile.am:
7855         * libs/gst/controller/gstcontroller.c:
7856         (gst_controlled_property_add_interpolation_control_source),
7857         (gst_controlled_property_new), (gst_controlled_property_free),
7858         (gst_controller_find_controlled_property),
7859         (gst_controller_new_valist), (gst_controller_new_list),
7860         (gst_controller_new), (gst_controller_remove_properties_valist),
7861         (gst_controller_remove_properties_list),
7862         (gst_controller_remove_properties),
7863         (gst_controller_set_property_disabled),
7864         (gst_controller_set_disabled), (gst_controller_set_control_source),
7865         (gst_controller_get_control_source), (gst_controller_get),
7866         (gst_controller_sync_values), (gst_controller_get_value_array),
7867         (_gst_controller_dispose), (gst_controller_get_type),
7868         (gst_controlled_property_set_interpolation_mode),
7869         (gst_controller_set), (gst_controller_set_from_list),
7870         (gst_controller_unset), (gst_controller_unset_all),
7871         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7872         * libs/gst/controller/gstcontroller.h:
7873         * libs/gst/controller/gstcontrollerprivate.h:
7874         * libs/gst/controller/gstcontrolsource.c:
7875         (gst_control_source_class_init), (gst_control_source_init),
7876         (gst_control_source_get_value),
7877         (gst_control_source_get_value_array), (gst_control_source_bind):
7878         * libs/gst/controller/gstcontrolsource.h:
7879         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7880         (gst_object_get_control_source):
7881         * libs/gst/controller/gstinterpolation.c:
7882         (gst_interpolation_control_source_find_control_point_node),
7883         (gst_interpolation_control_source_get_first_value),
7884         (_interpolate_none_get), (interpolate_none_get),
7885         (interpolate_none_get_boolean_value_array),
7886         (interpolate_none_get_enum_value_array),
7887         (interpolate_none_get_string_value_array),
7888         (_interpolate_trigger_get), (interpolate_trigger_get),
7889         (interpolate_trigger_get_boolean_value_array),
7890         (interpolate_trigger_get_enum_value_array),
7891         (interpolate_trigger_get_string_value_array):
7892         * libs/gst/controller/gstinterpolationcontrolsource.c:
7893         (gst_control_point_free), (gst_interpolation_control_source_reset),
7894         (gst_interpolation_control_source_new),
7895         (gst_interpolation_control_source_set_interpolation_mode),
7896         (gst_interpolation_control_source_bind),
7897         (gst_control_point_compare), (gst_control_point_find),
7898         (gst_interpolation_control_source_set_internal),
7899         (gst_interpolation_control_source_set),
7900         (gst_interpolation_control_source_set_from_list),
7901         (gst_interpolation_control_source_unset),
7902         (gst_interpolation_control_source_unset_all),
7903         (gst_interpolation_control_source_get_all),
7904         (gst_interpolation_control_source_get_count),
7905         (gst_interpolation_control_source_init),
7906         (gst_interpolation_control_source_finalize),
7907         (gst_interpolation_control_source_dispose),
7908         (gst_interpolation_control_source_class_init):
7909         * libs/gst/controller/gstinterpolationcontrolsource.h:
7910         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7911         API: Refactor GstController into the core controller which can take
7912         a GstControlSource for providing actual values for timestamps.
7913         Implement a interpolation control source and use this for backward
7914         compatibility, deprecate a bunch of functions that are now handled
7915         by GstControlSource or GstInterpolationControlSource.
7916         Make it possible to disable the controller completely or only for
7917         specific properties. Fixes #450711.
7918         * docs/libs/gstreamer-libs-docs.sgml:
7919         * docs/libs/gstreamer-libs-sections.txt:
7920         * docs/libs/gstreamer-libs.types:
7921         Add new functions and classes to the docs.
7922         * tests/check/libs/controller.c: (GST_START_TEST),
7923         (gst_controller_suite):
7924         * tests/examples/controller/audio-example.c: (main):
7925         Port unit test and example to the new API and add some new
7926         unit tests.
7927
7928 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7929
7930         Patch by: Mark Nauwelaerts <manauw at skynet be>
7931
7932         * plugins/elements/gstmultiqueue.c:
7933         (gst_multi_queue_get_internal_links), (apply_buffer),
7934         (single_queue_overrun_cb), (gst_single_queue_new):
7935         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7936         the pipeline layout can be tracked correctly. Fixes #453732.
7937
7938 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7939
7940         * docs/gst/Makefile.am:
7941         * docs/libs/Makefile.am:
7942         * docs/plugins/Makefile.am:
7943           Simplify --extra-dir as gtkdoc scans recursively.
7944
7945 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7946
7947         * tools/gst-launch.c: (main):
7948         When we got an error, there is no point in waiting for preroll when
7949         shutting down.
7950
7951 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7952
7953         * plugins/elements/gsttee.c: (gst_tee_base_init),
7954         (gst_tee_request_new_pad), (gst_tee_release_pad),
7955         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7956         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7957         (gst_tee_chain):
7958         Be a lot smarter when deciding what srcpad to use for proxying
7959         the buffer_alloc. Also handle pad added/removed when doing so.
7960         Fixes #357959.
7961         Keep track of what pads we already pushed on in case we have pads
7962         added/removed while pushing. Fixes #374639 
7963
7964         * tests/check/Makefile.am:
7965         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7966         (tee_suite):
7967         Added unit test for pad resync.
7968
7969 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7970
7971         * po/nl.po:
7972         * po/sv.po:
7973           Updated translations.
7974
7975 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7978
7979         * po/LINGUAS:
7980         * po/fi.po:
7981           Added new Finnish translation.
7982
7983 2007-06-28  Wim Taymans  <wim@fluendo.com>
7984
7985         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7986         (single_queue_overrun_cb):
7987         When figuring out when a queue is filled, use our internal time estimate
7988         based on segments, just like check_full does.
7989
7990 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7991
7992         * gst/gstminiobject.c: (gst_mini_object_get_type):
7993           Remove 3 do-nothing methods.
7994
7995 2007-06-27  Wim Taymans  <wim@fluendo.com>
7996
7997         Patch by: Tim Angus <tim at ngus dot net>
7998
7999         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8000         (gst_capsfilter_set_property):
8001         Take a reference instead of a copy when setting "caps".
8002         Fix documentation to clarify this behaviour. Fixes #449414.
8003
8004 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
8005
8006         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8007         * gst/gstplugin.c: (gst_plugin_init):
8008         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
8009         * gst/gstquery.c: (gst_query_get_type):
8010         * gst/gstregistry.c: (gst_registry_init):
8011         * gst/gsturi.c: (gst_uri_handler_base_init):
8012           Remove empty instance_init() functions to save relocs and lessen the
8013           noise. Remove some of the function prototypes that are doubled by
8014           G_DEFINE_TYPE.
8015           
8016 2007-06-27  Wim Taymans  <wim@fluendo.com>
8017
8018         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
8019
8020         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
8021         Add peer and direction in the XML serialisation of ghostpads.
8022         Fixes #449226.
8023
8024 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
8025
8026         * configure.ac:
8027           Preserve useful information, thanks Tim.
8028
8029 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
8030
8031         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8032         (gst_single_queue_flush), (apply_segment), (apply_buffer),
8033         (gst_single_queue_push_one), (gst_multi_queue_loop),
8034         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8035         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
8036         (compute_high_id), (gst_single_queue_new):
8037         * plugins/elements/gstmultiqueue.h:
8038         Take the multiqueue lock when updating the fill level so we don't get
8039         confused. 
8040
8041         After applying a buffer or event on the src pad segment, make sure to
8042         call gst_data_queue_limits_changed() to get the data queue to unblock
8043         and check the filled state again.
8044         
8045         Rework the not-linked pad handling so the logic is that not-linked 
8046         pads can push as fast as they like, but only so they never get 
8047         ahead of any linked pads.
8048
8049         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
8050         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
8051         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
8052
8053         Add a test to check that not-linked pads always stay behind
8054         linked pads.
8055
8056         Fixes: #430682
8057
8058 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
8059
8060         * docs/random/release:
8061           Some updates to the release procedure.
8062
8063 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
8064
8065         * gst/gstelementfactory.c: (__gst_element_details_clear):
8066           Microoptimization that saves stunning 80 bytes.
8067
8068 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
8069
8070         * docs/plugins/gstreamer-plugins.args:
8071         * docs/plugins/inspect/plugin-coreelements.xml:
8072         * docs/plugins/inspect/plugin-coreindexers.xml:
8073           Update docs with caps info.
8074
8075 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8076
8077         * po/it.po:
8078           Updated Italian translation.
8079
8080 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8081
8082         * ChangeLog:
8083         * po/vi.po:
8084           Update Vietnamese translations.
8085
8086 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8087
8088         * libs/gst/base/gstbasesink.c:
8089           Remove unused signal enum.
8090
8091 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8092
8093         * docs/gst/gstreamer-sections.txt:
8094         * gst/gstelement.c:
8095         * gst/gstutils.c: (gst_type_register_static_full):
8096         Beef up and include the docs for gst_type_register_static_full and
8097         gst_element_class_set_details_simple and add the API keyword
8098         in the ChangeLog.
8099
8100 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
8101
8102         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
8103         (update_time_level), (gst_single_queue_push_one),
8104         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
8105         (single_queue_overrun_cb), (single_queue_underrun_cb),
8106         (single_queue_check_full):
8107         Fix setting max-* properties after adding queues.
8108         Use IS_FILLED for checking visible items.
8109         Signal overrun if multiple queues overrun.
8110         Add extra debug output.
8111         Patch by: Wim Taymans <wim@fluendo.com>
8112
8113 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
8114
8115         * gst/gstelement.c: (gst_element_class_set_details_simple):
8116         * gst/gstelement.h:
8117         * gst/gstutils.c: (gst_type_register_static_full):
8118         * gst/gstutils.h:
8119         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
8120         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
8121         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
8122         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
8123         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
8124         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
8125         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
8126         * plugins/elements/gstidentity.c: (gst_identity_base_init):
8127         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
8128         * plugins/elements/gstqueue.c: (gst_queue_base_init),
8129         (apply_buffer), (gst_queue_chain):
8130         * plugins/elements/gsttee.c: (gst_tee_base_init):
8131         * plugins/elements/gsttypefindelement.c:
8132         (gst_type_find_element_base_init),
8133         (gst_type_find_element_class_init):
8134           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
8135           API: add gst_type_register_static_full
8136           API: add gst_element_class_set_details_simple
8137
8138 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
8139
8140         * docs/pwg/advanced-types.xml:
8141           Fix typo in iana.org URI.
8142
8143 2007-06-19  Andy Wingo  <wingo@pobox.com>
8144
8145         * tests/check/pipelines/simple-launch-lines.c
8146         (test_state_change_returns): Enable pull-mode tests now that
8147         basesink has been fixed.
8148
8149         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
8150         Changed from gst_base_sink_is_prerolled, reversing the sense of
8151         the return value. Returns FALSE also if the sink is in pull mode,
8152         in which case it needs no preroll.
8153         (gst_base_sink_query, gst_base_sink_change_state): Update for
8154         needs_preroll change.
8155         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
8156         chaining up, in which we return SUCCESS directly if we activated
8157         in pull mode instead of ASYNC. Involves countering an async_start
8158         message sent before chaining up; not sure if this is correct, in
8159         an ideal world we only send async-start when activating in push
8160         mode.
8161
8162         * tests/check/pipelines/simple-launch-lines.c
8163         (test_state_change_returns): New test, partially disabled until
8164         basesink is fixed.
8165
8166 2007-06-19  Wim Taymans  <wim@fluendo.com>
8167
8168         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8169         (gst_multi_queue_sink_event):
8170         Fix event leak.
8171
8172 2007-06-19  Wim Taymans  <wim@fluendo.com>
8173
8174         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8175         (gst_bin_change_state_func), (bin_push_state_continue),
8176         (bin_handle_async_start), (bin_handle_async_done),
8177         (gst_bin_handle_message_func):
8178         Move the common code for posting state-change messages into
8179         one function.
8180         Broadcast the state signal after we posted the messages.
8181         Mark the bin as busy when it's doing a state-change.
8182         Make sure async-start/done messages don't interfere with the bin's
8183         state when it's busy.
8184         After the state change, let the bin check which elements completed the
8185         state change while it was busy so that it can update its state.
8186
8187 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
8188
8189         * docs/random/release:
8190         Add a note about updating the doap file to the release checklist
8191
8192 2007-06-18  Wim Taymans  <wim@fluendo.com>
8193
8194         * plugins/elements/gstmultiqueue.c: (apply_buffer),
8195         (gst_single_queue_push_one), (gst_multi_queue_chain),
8196         (gst_multi_queue_sink_event):
8197         Make sure we don't reference the buffer/event after we have given away
8198         ownership in the queue.
8199
8200 2007-06-18  Wim Taymans  <wim@fluendo.com>
8201
8202         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8203         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
8204         Update queue state _after_ adding the item in the queue because else we
8205         could end up being full without the element added yet.
8206
8207 2007-06-18  Wim Taymans  <wim@fluendo.com>
8208
8209         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8210         (gst_bin_remove_func), (gst_bin_get_state_func),
8211         (gst_bin_element_set_state), (gst_bin_continue_func),
8212         (bin_push_state_continue), (bin_handle_async_start),
8213         (bin_handle_async_done), (gst_bin_handle_message_func):
8214         * gst/gstbin.h:
8215         Immediatly commit the toplevel bin state when receiving an async-done
8216         message. This enables us to avoid spawning a thread to commit the state
8217         in some common cases and it also avoids some races.
8218         Avoid spawning a state thread when adding/removing async elements to a
8219         toplevel bin. Instead we immediatly update the bin state.
8220         Get rid of iterating all the children when getting the state in the bin
8221         because it is now always up-to-date.
8222         Fix bug where locked elements would always return _SUCCESS even it they
8223         returned NO_PREROLL before being locked.
8224         Fix the order of the state_change, async-start/done messages that was
8225         sometimes incorrect.
8226         Mark the state_dirty field as deprecated, we don't need it anymore as we
8227         are always up-to-date.
8228
8229         * gst/gstelement.c: (gst_element_get_state_func),
8230         (gst_element_continue_state):
8231         Small debug inprovements.
8232         Return the previous element state return when nothing is pending instead
8233         of blindly returning SUCCESS.
8234
8235         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
8236         (gst_sinks_suite):
8237         Add a whole bunch of new testcases.
8238
8239 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8240
8241         * po/uk.po:
8242         * po/vi.po:
8243           Update translations.
8244
8245 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
8246
8247         * gst/gstpad.c:
8248         Fix typo in the docs.
8249
8250 2007-06-15  Wim Taymans  <wim@fluendo.com>
8251
8252         * docs/libs/gstreamer-libs-sections.txt:
8253         Add docs for new methods.
8254
8255 2007-06-15  Wim Taymans  <wim@fluendo.com>
8256
8257         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8258         (gst_multi_queue_item_new):
8259         Don't use GSlice because we don't depend on >= 2.10 yet.
8260
8261 2007-06-15  Wim Taymans  <wim@fluendo.com>
8262
8263         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8264         (update_time_level), (apply_segment), (apply_buffer),
8265         (gst_single_queue_push_one), (gst_multi_queue_item_new),
8266         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8267         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8268         (single_queue_underrun_cb), (single_queue_check_full):
8269         Remove debug printf.
8270
8271 2007-06-15  Wim Taymans  <wim@fluendo.com>
8272
8273         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8274         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8275         (gst_data_queue_set_flushing), (gst_data_queue_push),
8276         (gst_data_queue_pop), (gst_data_queue_drop_head),
8277         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8278         * libs/gst/base/gstdataqueue.h:
8279         Various cleanups.
8280         Added methods to get the current levels and to inform the queue that the
8281         'full' limits changed.
8282
8283         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8284         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8285         (gst_single_queue_flush), (update_time_level), (apply_segment),
8286         (apply_buffer), (gst_single_queue_push_one),
8287         (gst_multi_queue_item_steal_object),
8288         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8289         (gst_multi_queue_loop), (gst_multi_queue_chain),
8290         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8291         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8292         (gst_multi_queue_src_query), (single_queue_overrun_cb),
8293         (single_queue_underrun_cb), (single_queue_check_full),
8294         (gst_single_queue_new):
8295         Keep track of time in the queue by measuring the difference between
8296         running_time on input and output. This gives more accurate results and
8297         can compensate for segments correctly.
8298         Make a queue by default only 5 buffers deep. We will now increase the
8299         buffer size depending on the filledness of the other queues.
8300         Factor out commong flush code.
8301         Make sure we don't add additional refcounts to buffers when we can avoid
8302         it.
8303         Propagate GstFlowReturn differently.
8304         Use GSlice for intermediate GstMultiQueueItems.
8305         Keep track of EOS.
8306         Resize queues on over and underruns based on filled level of other
8307         queues.
8308         When checking if the queue is filled, prefer to measure in time if we
8309         can and fall back to bytes when no time is known.
8310
8311         * plugins/elements/gstqueue.c:
8312         Fix return value.
8313
8314 2007-06-15  Wim Taymans  <wim@fluendo.com>
8315
8316         * libs/gst/base/gstbasetransform.c:
8317         (gst_base_transform_sink_event):
8318         Work around the brokenness of the event vmethod in basetransform. Prefer
8319         to return TRUE when the subclass returned FALSE (meaning don't forward
8320         the event). 
8321
8322         * libs/gst/base/gstbasetransform.h:
8323         Clarify the docs.
8324
8325 2007-06-15  Wim Taymans  <wim@fluendo.com>
8326
8327         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8328         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8329         (gst_base_src_default_query), (gst_base_src_get_range),
8330         (gst_base_src_start):
8331         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8332         Improve debugging.
8333
8334 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8335
8336         * docs/pwg/advanced-types.xml:
8337           Added more formats to caps table.
8338
8339 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
8340
8341         * tools/gst-launch.c: (main):
8342           Remove crufy code. GOption does not need this workaround.
8343
8344 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8345
8346         * libs/gst/controller/gstcontroller.c:
8347         (gst_controlled_property_set_interpolation_mode):
8348           Fix wrong getter for enums in controller.
8349
8350 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8351
8352         * libs/gst/check/gstcheck.c: (gst_check_init):
8353           Intercept criticals and warnings in the Gst-Phonon log domain, so
8354           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8355           well.
8356         
8357 2007-06-14  Edward Hervey  <edward@fluendo.com>
8358
8359         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8360         Since this file doesn't include "gst.h" it will not go through the
8361         macros that disable GST_LOG if debugging was disabled.
8362
8363 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8364
8365         * libs/gst/check/Makefile.am:
8366         * libs/gst/check/gstcheck.h:
8367         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8368         * pkgconfig/gstreamer-check.pc.in:
8369           Ugly 'fix' for the controller unit test on the p5 bot: in
8370           fail_unless_equals_float() check whether the values are 'almost
8371           equal' by allowing a small absolute error, which should be good
8372           enough for our use cases (normal numbers and values close to 0).
8373           Proper fixage left to floating point arithmetic aficionados.
8374
8375 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8376
8377         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8378         (gst_base_sink_render_object), (gst_base_sink_get_position):
8379           Add two breaks thats where missing.
8380
8381 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8382
8383         * docs/libs/gstreamer-libs-sections.txt:
8384         * libs/gst/check/gstcheck.h:
8385           API: add fail_unless_equals_float() and assert_equals_float().
8386           Add documentation for some of the macros.
8387
8388         * tests/check/libs/controller.c: (GST_START_TEST):
8389           Use newly-added asserts.
8390
8391 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8392
8393         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8394           Show the caps change in the log to help spotting the case of not
8395           exactly matching caps.
8396
8397 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8398
8399         * docs/pwg/building-boiler.xml:
8400           Fix typos, spotted by Thijs Vermeir (#447190).
8401
8402 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8403
8404         * docs/plugins/tmpl/.cvsignore:
8405         Ignore file to keep the buildbots happy
8406
8407 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8408
8409         * docs/plugins/Makefile.am:
8410         * docs/plugins/gstreamer-plugins-docs.sgml:
8411         * docs/plugins/gstreamer-plugins-sections.txt:
8412         Pull fdsink into the docs too.
8413
8414 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8415
8416         * libs/gst/controller/gstinterpolation.c:
8417         Actually use the new functions with min/max checks for the trigger and
8418         none interpolation modes for get() and get_value_array() instead of
8419         just the latter.
8420
8421 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8422
8423         * libs/gst/controller/gstcontroller.c:
8424         (gst_controlled_property_free):
8425         Unset the minimum and maximum GValues when freeing the corresponding
8426         GstControllerProperty struct.
8427
8428 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8429
8430         * libs/gst/controller/gstcontroller.c:
8431         (gst_controlled_property_new):
8432         * libs/gst/controller/gstcontrollerprivate.h:
8433         * libs/gst/controller/gstinterpolation.c:
8434         (gst_controlled_property_find_control_point_node),
8435         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8436         (interpolate_none_get_string_value_array),
8437         (interpolate_trigger_get),
8438         (interpolate_trigger_get_enum_value_array),
8439         (interpolate_trigger_get_string_value_array):
8440         Protect against values larger or smaller than the minimum or maximum
8441         allowed value for the property when using values that can be compared.
8442
8443         Optimize trigger interpolator a bit by taking the last requested value
8444         into account instead of always looping through the complete list.
8445
8446         Fix coding style a bit, everywhere else we use "return foo" instead
8447         of "return (foo)".
8448         
8449         * tests/check/libs/controller.c: (GST_START_TEST),
8450         (gst_controller_suite):
8451         Add unit test for the protection against too large or too small
8452         values.
8453
8454 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8455
8456         * docs/random/slomo/controller.txt:
8457         Add some thoughts about the future of the controller.
8458
8459 2007-06-08  Wim Taymans  <wim@fluendo.com>
8460
8461         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8462         Don't overflow in retimestamping code.
8463
8464 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8465
8466         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8467         Use gst_util_guint64_to_gdouble for conversions.
8468         * win32/common/libgstreamer.def:
8469         Add new exported functions.
8470
8471 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8472
8473         * gst/gstutils.c:
8474           Small docs addition.
8475
8476 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8477
8478         * README:
8479           Remove that test line again.
8480
8481 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8482
8483         * README:
8484           Test commit mail sending.
8485
8486 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8487
8488         * configure.ac:
8489           Fix typo and test commit mail sending.
8490
8491 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8492
8493         * tests/examples/controller/audio-example.c:
8494           Improve comment and test commit mail sending.
8495
8496 2007-06-07  Wim Taymans  <wim@fluendo.com>
8497
8498         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8499         (gst_bin_remove_func), (gst_bin_element_set_state),
8500         (bin_handle_async_start), (bin_handle_async_done),
8501         (gst_bin_handle_message_func):
8502         Add helper function to find messages.
8503         Generate the async-done messages together with the state change
8504         messages.
8505         Small cleanups in handling toplevel bins.
8506
8507 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8508
8509         * libs/gst/base/gstdataqueue.c:
8510         * libs/gst/base/gstdataqueue.h:
8511         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8512         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8513         (gst_multi_queue_sink_event):
8514         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8515           Fix multiqueue leaking buffers and events when downstream or the
8516           queue are flushing. Make refcounting assumptions explicit and
8517           document them (shouldn't break existing code that uses it other than
8518           maybe leak miniobjects, but that already happens anyway). Add unit
8519           test for the most common flushing case. Fixes #423700.
8520           
8521 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8522
8523         * libs/gst/controller/gstcontroller.c:
8524         Clarify docs: The get_all, get_value_array(s) functions
8525         don't modify the GObject properties.
8526
8527 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8528
8529         * libs/gst/controller/gstcontroller.c:
8530         (gst_controlled_property_set_interpolation_mode),
8531         (gst_controlled_property_prepend_default),
8532         (gst_controlled_property_new), (gst_controller_set_unlocked),
8533         (gst_controller_set), (gst_controller_set_from_list),
8534         (gst_controller_unset), (gst_controller_unset_all):
8535         * libs/gst/controller/gstcontrollerprivate.h:
8536         * libs/gst/controller/gstinterpolation.c:
8537         Factor out the 'set' logic into gst_controller_set_unlocked for the
8538         gst_controller_set and gst_controller_set_from_list functions.
8539
8540         To make life of the interpolators easier always add a control point
8541         at timestamp zero with the default value.
8542
8543         In the linear interpolator make things more obvious by better variable
8544         naming (slope).
8545
8546         Implement cubic interpolation mode (by using a natural cubic spline)
8547         and map the quadratic interpolation mode to this too (as quadratic
8548         doesn't make much sense, see discussion on the list).
8549
8550         * tests/check/libs/controller.c: (GST_START_TEST),
8551         (gst_controller_suite):
8552         Add unit test for the cubic interpolation mode and check everywhere
8553         if the interpolation mode could be set as expected.
8554
8555 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8556
8557         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8558           Don't use GLib-2.10 functions, we still depend on
8559           GLib-how-old-is-it-again-2.8.
8560
8561 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8562
8563         * docs/gst/gstreamer-sections.txt:
8564         * gst/Makefile.am:
8565         * gst/gst.c:
8566         * gst/gst.h:
8567         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8568         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8569         (_gst_param_fraction_values_cmp),
8570         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8571         * gst/gstparamspecs.h:
8572         * gst/gstvalue.c:
8573         * tests/check/Makefile.am:
8574         * tests/check/gst/.cvsignore:
8575         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8576         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8577         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8578         (GST_START_TEST), (gst_param_spec_suite):
8579           API: add GstParamSpecFraction, so elements can have fraction
8580           properties without lots of painful string parsing (#444648).
8581
8582 2007-06-05  Wim Taymans  <wim@fluendo.com>
8583
8584         * gst/gstobject.c: (gst_object_class_init):
8585         Fix signal signature.
8586
8587         * gst/gstsegment.c:
8588         Add small clarification in the api docs.
8589
8590         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8591         States are protected with object lock.
8592
8593 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8594
8595         * AUTHORS:
8596         I should probably be listed as an author by now.
8597
8598         * docs/random/release:
8599         Update the release doc
8600
8601 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8602
8603         * gst/gstvalue.c:
8604           Make docs for gst_value_compare() mention return enums that
8605           actually exist.
8606
8607 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8608
8609         * configure.ac:
8610           Back to CVS
8611
8612 === release 0.10.13 ===
8613
8614 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8615
8616         * configure.ac:
8617           releasing 0.10.13, "With or without you"
8618
8619 2007-05-25  Wim Taymans  <wim@fluendo.com>
8620
8621         * gst/gstbin.c: (bin_handle_async_done):
8622         Make sure that the child bin stops after completing the async state
8623         change so that the parent can continue the state change to PLAYING.
8624         Fixes #441159.
8625
8626 2007-05-25  Wim Taymans  <wim@fluendo.com>
8627
8628         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8629         (unref_data), (gst_collect_pads_remove_pad),
8630         (gst_collect_pads_check_pads):
8631         Use additional refcounting to avoid crashes when dynamically adding and
8632         removing pads. Fixes #420206.
8633
8634 2007-05-24  Wim Taymans  <wim@fluendo.com>
8635
8636         * tools/gst-launch.c: (event_loop):
8637         When buffering goes from a two digit to a single digit number, make sure
8638         to remove the old second digit by writing a blank over it.
8639
8640 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8641
8642         * libs/gst/base/gstdataqueue.c:
8643           Eliminate tabs and trailing comma in enum list; fix some typos.
8644
8645 2007-05-24  Wim Taymans  <wim@fluendo.com>
8646
8647         * tests/check/gst/gstbin.c: (GST_START_TEST):
8648         Allow refcount of 3 and 4 because some state thread might still be busy
8649         with it.
8650
8651 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8652
8653         * plugins/elements/Makefile.am:
8654         * plugins/elements/gstmultiqueue.h:
8655         * plugins/elements/gstqueue.h:
8656           These are not installed headers, no need for padding.
8657
8658 2007-05-24  Wim Taymans  <wim@fluendo.com>
8659
8660         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8661         (gst_bin_continue_func):
8662         Enable latency for next release.
8663         Restore STATE_LOCK around recalc_state that was left out during the
8664         rewrite and could result in racy behaviour when _get_state and
8665         recalc_state are run concurrently. See #440463.
8666
8667 2007-05-23  Wim Taymans  <wim@fluendo.com>
8668
8669         * tests/check/gst/gstsystemclock.c: (store_callback),
8670         (GST_START_TEST):
8671         Improve test_async_order to also work when both timers are already
8672         expired when we get scheduled to check it.
8673
8674 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8675
8676         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8677         (gst_bin_set_property), (gst_bin_get_property),
8678         (gst_bin_remove_func), (gst_bin_handle_message_func):
8679         * gst/gstbin.h:
8680           'private' is a c++ keyword, let's not use that in header files,
8681           otherwise c++ compilers will throw a tantrum.
8682
8683 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8684
8685         * plugins/elements/gstelements.c:
8686         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8687         (gst_file_sink_get_current_offset):
8688         * plugins/indexers/gstindexers.c: (plugin_init):
8689           Use #ifdef for HAVE_XYZ for consistency.
8690
8691         * tests/check/Makefile.am:
8692         * tests/check/elements/.cvsignore:
8693         * tests/check/elements/filesink.c: (setup_filesink),
8694         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8695           Add some unit tests for filesink.
8696
8697 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8698
8699         Patch by: Mark Nauwelaerts <manauw at skynet be>
8700
8701         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8702         (gst_file_sink_query), (gst_file_sink_do_seek),
8703         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8704         * plugins/elements/gstfilesink.h:
8705           Fix position reporting; rename data_written member to current_pos to
8706           reflect its real meaning (fixes #412648).
8707
8708 2007-05-22  Edward Hervey  <edward@fluendo.com>
8709
8710         * docs/gst/gstreamer-sections.txt:
8711         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8712         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8713         (gst_bin_remove_func), (gst_bin_handle_message_func):
8714         * gst/gstbin.h:
8715         Add a property for bins that handle the state change of their childs.
8716         Fixes #435880
8717
8718 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8719
8720         * libs/gst/controller/gstinterpolation.c:
8721         Use an array of the correct type when using _get_value_array with
8722         linear interpolation.
8723
8724 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8725
8726         * gst/gstelement.c (gst_element_requires_clock,
8727           gst_element_provides_clock, gst_element_request_pad,
8728           gst_element_class_set_details, gst_element_class_set_details_simple,
8729           gst_element_default_send_event, gst_element_abort_state,
8730           gst_element_continue_state, gst_element_set_state,
8731           gst_element_set_state_func, iterator_activate_fold_with_resync):
8732         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8733           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8734           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8735           gst_pad_get_range, gst_pad_pull_range):
8736         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8737           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8738           GstPadActivateModeFunction, GstPadChainFunction,
8739           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8740           GstPadFixateCapsFunction, GstPadTemplate):
8741         * gst/gstpipeline.c (gst_pipeline_change_state,
8742           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8743           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8744           gst_pipeline_get_delay):
8745           Whitespace and docs fixes.
8746
8747 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8748
8749         * libs/gst/controller/gstinterpolation.c:
8750         (interpolate_trigger_get_enum_value_array),
8751         (interpolate_trigger_get_string_value_array):
8752         Add support for retrieving value arrays when using the trigger
8753         interpolation mode. 
8754
8755 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8756
8757         * libs/gst/controller/gstcontroller.c:
8758         (gst_controller_get_value_array):
8759         * libs/gst/controller/gstcontroller.h:
8760         Clarify the docs of gst_controller_get_value_array(): The array where
8761         the values should be written to must be allocated as there seems to be
8762         no way to get the size of a random GType. This doesn't change any
8763         behaviour. Also fix some typos all over the place and remove an unused,
8764         commented function that is not necessary as g_object_set() could be
8765         used instead.
8766         * tests/check/libs/controller.c: (GST_START_TEST),
8767         (gst_controller_suite):
8768         Add unit test for gst_controller_get_value_array().
8769
8770 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8771
8772         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8773
8774         Disable part of the gst_buffer_try_new_and_alloc test, because
8775         it can happily succeed on 64-bit systems where there's more address
8776         space available.
8777
8778 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8779
8780         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8781         Add unit test for the improved caps checking from bug #421543.
8782
8783 2007-05-21  Wim Taymans  <wim@fluendo.com>
8784
8785         * docs/design/part-synchronisation.txt:
8786         Small addition.
8787
8788         * gst/gstbin.c: (gst_bin_query):
8789         * plugins/elements/gstqueue.c: (apply_segment):
8790         Improve debugging.
8791
8792         * gst/gstmessage.h:
8793         Improve docs.
8794
8795 2007-05-21  Wim Taymans  <wim@fluendo.com>
8796
8797         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8798         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8799         (gst_pad_configure_src):
8800         Added simple version of improved caps checking. It was previously
8801         assumed that a setcaps function would check the validity of the caps but
8802         people prefer us to check caps against the template automatically. 
8803         Fixes #421543.
8804
8805 2007-05-21  Wim Taymans  <wim@fluendo.com>
8806
8807         * libs/gst/base/gstbasetransform.h:
8808         Fix macro for locking/unlocking the transform lock.
8809
8810 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8811
8812         * docs/plugins/tmpl/.cvsignore:
8813           Ignore more.
8814
8815 2007-05-18  Edward Hervey  <edward@fluendo.com>
8816
8817         * plugins/elements/gstqueue.c: (gst_queue_loop):
8818         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8819         for the subtle art of warning a potentially blocking thread that it
8820         should check the source pad return value, and relay the information
8821         upstream.
8822
8823 2007-05-18  Edward Hervey  <edward@fluendo.com>
8824
8825         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8826         Release the queue lock !
8827
8828 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8829
8830         * docs/libs/gstreamer-libs-sections.txt:
8831         Add the two new controller functions to the appropiate places.
8832
8833 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8834
8835         reviewed by: Stefan Kost <ensonic@users.sf.net>
8836
8837         * libs/gst/controller/gstcontroller.c:
8838         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8839         (_gst_controller_get_property), (_gst_controller_set_property),
8840         (_gst_controller_init), (_gst_controller_class_init):
8841         * libs/gst/controller/gstcontroller.h:
8842         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8843         (gst_object_get_control_rate), (gst_object_set_control_rate):
8844         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8845         Add API that provides sync suggestion timestamps for elements that
8846         call gst_object_sync_values() from which those elements can subdivide
8847         their processing loop to get the best results for the controlled
8848         properties. For now it just suggests last_sync + control_rate as
8849         new timestamp but this will be improved in the future.
8850
8851         While doing that change the control-rate property to a GstClockTime
8852         from guint and change it's meaning from samples to nanoseconds as
8853         the GstController doesn't know anything about sampling rate. Strictly
8854         speaking this breaks ABI but as the control-rate property didn't do
8855         anything in the past and as such couldn't be used this should be no
8856         problem.        
8857
8858 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8859
8860         reviewed by: Stefan Kost <ensonic@users.sf.net>
8861
8862         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8863         (gst_controller_unset_all):
8864         * libs/gst/controller/gstcontrollerprivate.h:
8865         * libs/gst/controller/gstinterpolation.c:
8866         (gst_controlled_property_find_control_point_node):
8867         Save last synced value from the list to continue searching from there
8868         in future syncs. This speeds everything up a bit.
8869         
8870 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8871
8872         reviewed by: Stefan Kost <ensonic@users.sf.net>
8873
8874         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8875         (gst_control_point_find), (gst_controlled_property_new),
8876         (gst_control_point_free), (gst_controlled_property_free),
8877         (gst_controller_set), (gst_controller_set_from_list),
8878         (gst_controller_unset), (gst_controller_unset_all),
8879         (gst_controller_sync_values):
8880         * libs/gst/controller/gstcontroller.h:
8881         * libs/gst/controller/gstcontrollerprivate.h:
8882         * libs/gst/controller/gstinterpolation.c:
8883         (gst_controlled_property_find_control_point_node),
8884         (interpolate_none_get), (interpolate_trigger_get):
8885         Add a new private GstControlPoint struct which "inherits" from
8886         GstTimedValue to allow different interpolators to store internal
8887         values next to each control point. From the outside everything is
8888         still a GstControlPoint so we don't loose binary compatibility.
8889         Also fixup all the GValue handling to not leak GValues or list nodes.
8890         * tests/check/libs/controller.c: (GST_START_TEST):
8891         Free the list nodes and GValues in the controller_misc test.
8892
8893 2007-05-17  Edward Hervey  <edward@fluendo.com>
8894
8895         * gst/gstsegment.c:
8896         Small doc fix.
8897
8898 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8899
8900         * gst/gstplugin.c: (gst_plugin_load_file):
8901           If we fail to load a plugin because of unresolved symbols or missing
8902           libraries and spew a warning to stderr, we may just as well mention
8903           which plugin it was that failed to load.
8904
8905 2007-05-13  David Schleef  <ds@schleef.org>
8906
8907         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8908           handles the case when ENABLE_GTK_DOC is false, and installs
8909           the prebuilt documentation.  So gtk-doc subdirs are 
8910           unconditionally enabled.  Fixes: #349099.
8911
8912 2007-05-13  David Schleef  <ds@schleef.org>
8913
8914         * gst/gstutils.h: Reword some documentation.
8915
8916 2007-05-12  David Schleef  <ds@schleef.org>
8917
8918         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8919           do anything with the passed "module" parameter, so remove it.
8920           Allows removal of additional vestigal code.
8921
8922 2007-05-12  David Schleef  <ds@schleef.org>
8923
8924         * gst/gstplugin.c:
8925           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8926           Switch to using g_stat() because it's more portable.
8927
8928 2007-05-12  David Schleef  <ds@schleef.org>
8929
8930         * gst/gst.c:
8931           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8932           parsing for embedded systems.
8933         * gst/gstelementfactory.c:
8934           Allow gst_element_register() to be called with plugin==NULL.
8935           Did nobody notice that static elements were broken?
8936
8937 2007-05-12  Wim Taymans  <wim@fluendo.com>
8938
8939         * tools/gst-launch.c: (event_loop):
8940         Give more interesting info when buffering starts and stops.
8941         Fix case where buffering starts but we fail to update the buffering flag
8942         because the target state is not PLAYING.
8943
8944 2007-05-12  Wim Taymans  <wim@fluendo.com>
8945
8946         * plugins/elements/gstqueue.c: (gst_queue_init),
8947         (gst_queue_finalize), (update_time_level), (apply_segment),
8948         (apply_buffer), (gst_queue_locked_flush),
8949         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8950         (gst_queue_handle_sink_event), (gst_queue_chain),
8951         (gst_queue_push_one), (gst_queue_loop):
8952         * plugins/elements/gstqueue.h:
8953         Refactor an cleanup queue a bit.
8954         Do better time level calculations that also work when the srcpad is not
8955         yet running.
8956         Remove some unneeded debug lines.
8957
8958         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8959         Added testcase for time level measurement.
8960         Try to make some stuff more racefree.
8961
8962 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8963
8964         * gst/gsturi.c: (gst_element_make_from_uri):
8965           Don't leak plugin feature.
8966
8967         * tests/check/Makefile.am:
8968         * tests/check/gst/.cvsignore:
8969         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8970           Add brain-dead unit test.
8971
8972 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8973
8974         Patch by: Jeroen Wouters <woutersj at gmail com>
8975
8976         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8977           Treat protocol strings in a case-insensitive way (#437563).
8978
8979 2007-05-11  Michael Smith <msmith@fluendo.com>
8980
8981         * gst/gstplugin.c: (gst_plugin_load_file):
8982         * gst/gstregistry.c: (gst_registry_scan_path_level):
8983           Don't print a g_warning for any failure to load a shared object.
8984           Instead, push this down into gstplugin.c, and warn _only_ if we
8985           failed to open the module (i.e. failure to link).
8986           Avoids warnings on normal, working, non-plugin .so files.
8987
8988 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8989
8990         * gst/gstplugin.c (gst_plugin_load_file):
8991         * gst/gstregistry.c (GST_CAT_DEFAULT,
8992           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8993           Print a g_warning if there was an error when loading a plugins during
8994           registry scan. The shuld help beginners starting with gst-plugin
8995           template.
8996
8997 2007-05-10  Wim Taymans  <wim@fluendo.com>
8998
8999         * plugins/elements/gstqueue.c: (gst_queue_class_init),
9000         (update_time_level), (gst_queue_locked_flush),
9001         (gst_queue_handle_sink_event), (gst_queue_chain),
9002         (gst_queue_push_one), (gst_queue_loop):
9003         * plugins/elements/gstqueue.h:
9004         Be smarter when calculating the current amount of data in the queue by
9005         measuring the difference between start and end timestamps (in running
9006         time) inside the queue. Fixes #432876.
9007         API: GstQueue::pushing to notify elements that we are pushing data again
9008         since the running signal is rather broken for this purpose.
9009
9010 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
9011
9012         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
9013           gst_queue_base_init, gst_queue_init):
9014           use GST_BOILERPLATE
9015
9016 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
9017
9018         * win32/common/libgstreamer.def:
9019         Add new exported functions.
9020         * win32/vs6/grammar.dsp:
9021         Use grammar pre-generated files.
9022
9023 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9024
9025         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
9026
9027         * gst/Makefile.am:
9028         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
9029         * gst/gstparse.h:
9030         * gst/gstutils.c: (gst_parse_bin_from_description):
9031         * gst/gstutils.h:
9032           Maintain API and ABI when --disable-parse is used. Now that
9033           we have an appropriate error code, we can just return NULL and the
9034           appropriate error when gst_parse_launch() is used despite it having
9035           been disabled (#342564).
9036
9037         * tests/check/Makefile.am:
9038         * tests/check/pipelines/.cvsignore:
9039         * tests/check/pipelines/parse-disabled.c:
9040           Make sure these functions exist and return NULL plus a GError when
9041           --disable-parse is used.
9042
9043 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
9044
9045         * tests/benchmarks/complexity.c: (main):
9046         * tests/benchmarks/mass-elements.c: (main):
9047           Set a good example and don't leak messages.
9048
9049 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
9050
9051         * docs/gst/Makefile.am:
9052         * docs/libs/Makefile.am:
9053           Correct fixxrefs options.
9054
9055         * docs/plugins/Makefile.am:
9056         * docs/plugins/gstreamer-plugins-docs.sgml:
9057         * docs/plugins/gstreamer-plugins-sections.txt:
9058         * plugins/elements/Makefile.am:
9059         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
9060         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
9061           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
9062           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
9063           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
9064           _GstCapsFilterClass, trans_class):
9065         * plugins/elements/gstelements.c (name, rank, type, _elements):
9066         * plugins/elements/gstidentity.c
9067           (gst_identity_check_imperfect_timestamp,
9068           gst_identity_check_imperfect_offset):
9069           Document capsfilter and add doc-blurb to identity.
9070
9071 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
9072
9073         * libs/gst/controller/gstcontroller.c:
9074         (gst_controlled_property_set_interpolation_mode):
9075         * libs/gst/controller/gstinterpolation.c:
9076           Don't crash if someone tries to set an interpolation mode that
9077           is invalid or that isn't supported yet. Fixes #422295.
9078
9079         * tests/check/libs/controller.c: (GST_START_TEST),
9080         (gst_controller_suite):
9081           Add a test case for the above.
9082
9083 2007-05-03  Edward Hervey  <edward@fluendo.com>
9084
9085         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
9086         Properly set the last_stop position on GstSegment. This will only happen
9087         if there is a buffer to push out.
9088
9089 2007-05-03  Wim Taymans  <wim@fluendo.com>
9090
9091         * libs/gst/base/gstbasetransform.c:
9092         (gst_base_transform_buffer_alloc):
9093         always_in_place does not mean that the sink and source caps are the
9094         same! Make sure we don't blindly proxy the buffer_alloc in this case.
9095
9096 2007-05-03  Wim Taymans  <wim@fluendo.com>
9097
9098         * docs/libs/gstreamer-libs-sections.txt:
9099         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
9100         (gst_base_src_default_query), (gst_base_src_get_range):
9101         * libs/gst/base/gstbasesrc.h:
9102         API: gst_base_src_query_latency(). Added method so that subclasses can
9103         easily get the latency values of the base source class.
9104
9105 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
9106
9107         * tools/gst-inspect.c (print_implementation_info):
9108         Remove 0.8 cruft.
9109
9110 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
9111
9112         * tools/Makefile.am:
9113         * tools/gst-launch.1.in:
9114           Don't create a customised man page based on the host architecture,
9115           describe the default registry path generically. That way the man
9116           page is the same for all architectures and packagers have one
9117           multilib issue less to deal with. Fixes #434926.
9118
9119 2007-05-02  Wim Taymans  <wim@fluendo.com>
9120
9121         * gst/gstpad.c:
9122         Fix documentation as spotted by rg on IRC. 
9123
9124 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
9125
9126         * gst/gstutils.c:
9127           Improve docs for gst_element_{link,unlink}.
9128
9129 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
9130
9131         * docs/design/part-events.txt:
9132         * docs/design/part-overview.txt:
9133         * gst/gstevent.c:
9134         * gst/gsturi.c:
9135         * gst/gsturi.h:
9136         * libs/gst/base/gstbasesink.c:
9137           Typo fixes; minor docs addition.
9138
9139 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9140
9141         * docs/gst/gstreamer-sections.txt:
9142         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
9143         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
9144         * gst/gsturi.h:
9145         API: Add gst_uri_protocol_is_supported(), which checks if a sink
9146         or src that supports a given URI protocol exists.
9147
9148 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9149
9150         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9151         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9152         Set the location to NULL if "file://" is set as URI. Otherwise
9153         some random previous URI would still be set if "file://" is
9154         set on an already used filesink/filesrc.
9155
9156 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
9157
9158         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9159         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9160         Special case the "file://" URI as as this is used by some
9161         applications to test with gst_element_make_from_uri if there's
9162         an element that supports the URI protocol.
9163         Also move the g_path_is_absolute() check for the location part
9164         of the URI to also check this for "file://localhost/bla" URIs.
9165
9166 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
9167
9168         * docs/gst/gstreamer-sections.txt:
9169         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
9170         * gst/gstbuffer.h:
9171         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
9172         (gst_buffer_suite):
9173           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
9174
9175 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
9176
9177         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9178         (gst_registry_binary_load_pad_template),
9179         (gst_registry_binary_load_plugin),
9180         (gst_registry_binary_read_cache):
9181         * gst/gstregistrybinary.h:
9182           Implement no-mmap alternative for registry reading. Do code cleanups.
9183           Add more comments about avoiding strdups for all text data. Comments
9184           welcome.
9185
9186 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9187
9188         * gst/gstregistrybinary.h (GstBinaryPluginElement,
9189           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
9190           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
9191           Comment structs and reformat to fix the build (that stuff should go
9192           into a priv. header).
9193
9194 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
9195
9196         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
9197         (gst_registry_binary_load_feature):
9198         * gst/gstregistrybinary.h:
9199           Refactor so that we can implement multiple features. Add support for
9200           TypeFindFactory features.
9201
9202 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
9203
9204         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
9205
9206         * configure.ac:
9207           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
9208
9209 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
9210
9211         * gst/gstbin.c: (gst_bin_element_set_state),
9212         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
9213         (bin_handle_async_done), (gst_bin_handle_message_func):
9214           Fix build with --gst-disable-gst-debug
9215
9216 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
9217
9218         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
9219           Make sure streaming has finished before calling the ::stop() vfunc,
9220           since that vfunc might clear state which is being used in the
9221           streaming thread. This fixes a race that caused crashes in
9222           audioresample when shutting down a pipeline (#420106).
9223
9224 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9225
9226         * docs/gst/gstreamer-sections.txt:
9227           That was one byte missing.
9228
9229 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9230
9231         * configure.ac:
9232         * docs/gst/gstreamer-sections.txt:
9233         * gst/Makefile.am:
9234         * gst/gstconfig.h.in:
9235         * gst/gstobject.c: (gst_object_class_init),
9236         (gst_signal_object_class_init):
9237         * gst/gstobject.h:
9238           2nd attempt to have a xml-less build as a joined effort of #413123
9239           and #421480.
9240
9241 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
9242
9243         * docs/design/draft-tagreading.txt:
9244           Added open issues/thoughts to draft.
9245
9246 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9247
9248         * gst/parse/grammar.tab.pre.c:
9249         * gst/parse/grammar.tab.pre.h:
9250         * gst/parse/lex._gst_parse_yy.pre.c:
9251         Update the prebuild parser sources.
9252
9253 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9254
9255         * gst/parse/Makefile.am:
9256         And now fix the building of the flex sources. Now everything should
9257         work as expected.
9258
9259 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9260
9261         * gst/parse/Makefile.am:
9262         Now hopefully fix the build failures by setting proper rule
9263         dependencies and moving instead of copying.
9264
9265 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9266
9267         * tests/benchmarks/complexity.gnuplot:
9268         * tests/benchmarks/complexity.scm:
9269         * tests/benchmarks/mass-elements.gnuplot:
9270         * tests/benchmarks/mass-elements.scm:
9271           Total licensification.
9272
9273 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9274
9275         * gst/parse/Makefile.am:
9276           Fix the build by correcting the rule that gave wrong files to flex.
9277
9278 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
9279
9280         * tests/benchmarks/complexity.c:
9281         * tests/benchmarks/mass-elements.c:
9282           Change licence to LGPL as granted by Benjamin and Andy.
9283
9284 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
9285
9286         * gst/parse/Makefile.am:
9287         Add correct grammar.tab.h dependency if compiling without new enough
9288         flex. Fixes #431150.
9289
9290 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9291
9292         * gst/parse/Makefile.am:
9293         Fix typo and use outdated sources if the flex/bison sources are newer
9294         than the pregenerated ones but flex is too old. Print a warning in
9295         that case. This should fix the build on the build bot.
9296
9297 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
9298
9299         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9300         * gst/parse/Makefile.am:
9301         * gst/parse/grammar.y:
9302         * gst/parse/parse.l:
9303         Make the parser reentrant and recursively callable. This requires flex
9304         >= 2.5.31, for older versions pregenerated sources are used as we
9305         can't bump the build dependency. Finally fixes #349180.
9306
9307         * gst/gstparse.c: (gst_parse_launch):
9308         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9309         now anyway.
9310
9311         * docs/gst/Makefile.am:
9312         * docs/gst/Makefile.am:
9313         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9314         (__gst_parse_strfree), (__gst_parse_link_new),
9315         (__gst_parse_link_free), (__gst_parse_chain_new),
9316         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9317         (gst_parse_element_set), (gst_parse_free_link),
9318         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9319         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9320         (_gst_parse_launch):
9321         * gst/parse/grammar.tab.pre.h:
9322         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9323         (yy_get_previous_state), (yy_try_NUL_trans), (input),
9324         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9325         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9326         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9327         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9328         (_gst_parse_yypop_buffer_state),
9329         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9330         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9331         (yy_fatal_error), (_gst_parse_yyget_extra),
9332         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9333         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9334         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9335         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9336         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9337         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9338         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9339         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9340         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9341         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9342         (_gst_parse_yyfree):
9343         If the installed flex version is too old use pre-generated parser
9344         sources. These pre-generated parser sources are always updated when
9345         the actual flex/bison sources change but require everybody who wants
9346         to change something in the parser to have flex >= 2.5.31 installed.
9347
9348 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
9349
9350         * common/m4/gst-gettext.m4:
9351         * gst/gst-i18n-lib.h:
9352           Make --disable-nls to work
9353
9354 2007-04-17  Wim Taymans  <wim@fluendo.com>
9355
9356         * gst/gstconfig.h.in:
9357         Revert previous change that broke the build.
9358
9359 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9360
9361         * configure.ac:
9362         * gst/Makefile.am:
9363         * gst/gstconfig.h.in:
9364           Drop libxml2 dependency when building with 
9365           --enable-binary-registry --disable-loadsave
9366
9367 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9368
9369         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9370         (gst_registry_binary_read_cache):
9371         * gst/gstregistrybinary.h:
9372           Remove unnecessary <sys/mman.h> include which broke the win32 build
9373           with MingW; move includes from header file to .c file, even if the
9374           header file isn't installed; use g_strerror() where UTF-8 strings
9375           are expected, such as in GST_DEBUG messages.
9376
9377 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9378
9379         * docs/libs/gstreamer-libs-sections.txt:
9380         Remove bogus addition for API I didn't end up keeping.
9381
9382         * libs/gst/base/gstbasesrc.h:
9383         Mention Since: 0.10.13 in the documentation.
9384
9385         Add the API keyword to the previous ChangeLog entry.
9386
9387 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9388
9389         * docs/libs/gstreamer-libs-sections.txt:
9390         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9391         (gst_base_src_default_prepare_seek_segment),
9392         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9393         * libs/gst/base/gstbasesrc.h:
9394         Allow basesrc derived classes to execute seeks in other formats
9395         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9396         to prepare the GstSegment in any format that their perform_seek method
9397         will be able to understand. The default implementation provides the
9398         old behaviour of attempting to convert the seek offsets to the 
9399         configured native format.
9400
9401         API: basesrc::prepare_seek_segment vmethod.
9402
9403 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9404
9405         * gst/gstelement.c: (gst_element_get_state_func):
9406         Don't output the same debug statement twice.
9407
9408         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9409         (gst_adapter_peek), (gst_adapter_take_buffer):
9410         Optimise the case where we have buffers at the head of the queue that
9411         can be joined quickly (because they're contiguous sub-buffers) by
9412         merging them together rather than copying data out into new memory.
9413
9414         * gst/parse/grammar.y:
9415         * tests/check/pipelines/parse-launch.c:
9416         Fix a leak in an error path for parse_launch, and add a check 
9417         for it to the testsuite.
9418
9419 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9420
9421         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9422           Don't deadlock when releasing a pad - gst_pad_set_active may try
9423           and take the multiqueue lock too.
9424
9425 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9426
9427         * gst/gsterror.c: (_gst_core_errors_init):
9428         * gst/gsterror.h:
9429           API: add GST_CORE_ERROR_DISABLED (#392804).
9430
9431 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9432
9433         * docs/faq/gst-uninstalled:
9434           don't get empty paths on the PATH variables
9435         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9436           Don't format for the uncommon terminal width of 84 characters.
9437
9438 2007-04-06  Wim Taymans  <wim@fluendo.com>
9439
9440         * gst/gstpipeline.c: (reset_stream_time),
9441         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9442         Only try to select a different pipeline clock when we went back to
9443         PAUSED and not when we merely got flushed.
9444
9445 2007-04-05  Michael Smith  <msmith@fluendo.com>
9446
9447         * tools/gst-launch.1.in:
9448           fractions are better supported in gstreamer than ractions, so
9449           suggest using those.
9450
9451 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9452
9453         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9454
9455         * po/LINGUAS:
9456         * po/da.po:
9457           Added Danish translation.
9458
9459 2007-04-05  Wim Taymans  <wim@fluendo.com>
9460
9461         * libs/gst/base/gstbasesink.c:
9462         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9463         Fix leak caused when refusing newsegment after EOS.
9464
9465         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9466         (gst_fake_sink_init), (gst_fake_sink_set_property),
9467         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9468         (gst_fake_sink_render), (gst_fake_sink_change_state):
9469         * plugins/elements/gstfakesink.h:
9470         Add num-buffers property to make the element generate EOS after a
9471         configurable amount of buffers.
9472         API: fakesink::num-buffers property.
9473
9474         * tests/check/elements/fakesink.c: (GST_START_TEST),
9475         (fakesink_suite):
9476         Fix GstBus leak in test.
9477         Test for fakesink num-buffers.
9478
9479 2007-04-05  Wim Taymans  <wim@fluendo.com>
9480
9481         * libs/gst/base/gstbasesink.c:
9482         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9483         (gst_base_sink_change_state):
9484         Don't accept anything after an EOS, return UNEXPECTED instead.
9485
9486         * tests/check/elements/fakesink.c: (GST_START_TEST),
9487         (fakesink_suite):
9488         Unit test for new EOS behaviour.
9489
9490 2007-04-05  Wim Taymans  <wim@fluendo.com>
9491
9492         * gst/gstelement.c: (gst_element_get_request_pad):
9493         Make padtemplates also work when they don't contain %s or %d.
9494
9495 2007-04-05  Wim Taymans  <wim@fluendo.com>
9496
9497         * docs/gst/gstreamer-sections.txt:
9498         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9499         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9500         * gst/gstclock.h:
9501         Improve _adjust_unlocked() so that it overflows less.
9502         Add gst_clock_unadjust_unlocked to convert from external time to
9503         internal time based on calibration.
9504         Add some more debug.
9505         API: GstClock::gst_clock_unadjust_unlocked()
9506
9507 2007-04-03  Wim Taymans  <wim@fluendo.com>
9508
9509         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9510
9511         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9512         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9513         when releasing sink pad. Fixes #425400.
9514
9515 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9516
9517         * docs/random/ensonic/dynlink.txt:
9518           More work on proposal for new core api.
9519
9520         * docs/libs/gstreamer-libs-sections.txt:
9521         * libs/gst/base/gstbasetransform.h:
9522           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9523           
9524         * libs/gst/controller/gstcontroller.c:
9525         (on_object_controlled_property_changed),
9526         (gst_controller_sync_values),
9527         (gst_controller_set_interpolation_mode):
9528         * libs/gst/controller/gstcontroller.h:
9529           Less verbose logging add docs for unimplemented parts and correctly
9530           return when using unavailable parts.
9531
9532 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9533
9534         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9535         Move all the debug to the CLOCK category, and associate it with
9536         the clock object.
9537
9538 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9539
9540         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9541         Make take_buffer a bit quicker by removing redundant checks
9542         caused by calling gst_adapter_take.
9543
9544 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9545
9546         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9547           Don't leak GCond.
9548
9549         * tests/check/Makefile.am:
9550         * tests/check/elements/.cvsignore:
9551         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9552         (GST_START_TEST), (multiqueue_suite):
9553           Add some dead simple unit tests for the 'multiqueue' element
9554           (some bits don't work yet and are disabled for now).
9555
9556 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9557
9558         * gst/gstelement.c: (gst_element_get_request_pad),
9559         (gst_element_class_get_request_pad_template):
9560           Make gst_element_get_request_pad() create request pads only for
9561           request pad templates and not for, say, sometimes pad templates.
9562
9563 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9564
9565         * docs/design/draft-klass.txt:
9566           Add example that needs more thinking.
9567         
9568         * docs/design/draft-missing-plugins.txt:
9569           More thoughts about wrapper plugins.
9570         
9571         * docs/random/ensonic/embedded.txt:
9572         * docs/random/ensonic/profiling.txt:
9573           More design work.
9574
9575 2007-03-25  Wim Taymans  <wim@fluendo.com>
9576
9577         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9578         (gst_base_src_loop):
9579         Only push the segment events in the PLAYING state for live sources.
9580
9581 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9582
9583         * gst/gstpipeline.c: (gst_pipeline_change_state):
9584         Modify the clock distribution path in PAUSED->PLAYING so that we 
9585         never attempt to choose a new clock unless we're actually leaving
9586         the PAUSED state for the first time. This prevents choosing a
9587         different clock when the state_change gets called for a 2nd time due
9588         to some element doing an async state change.
9589
9590 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9591
9592         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9593         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9594         (gst_pad_chain_unchecked), (gst_pad_push):
9595         Revert last commit. This needs some more thoughts.
9596
9597 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9598
9599         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9600         (gst_pad_chain_unchecked), (gst_pad_push):
9601         Check in set_caps if the caps are compatible with the pad and remove
9602         two functions that are redundant now. Fixes #421543.
9603
9604 2007-03-22  Wim Taymans  <wim@fluendo.com>
9605
9606         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9607         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9608         Unref some more to make valgrind happy.
9609
9610 2007-03-22  Wim Taymans  <wim@fluendo.com>
9611
9612         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9613         (gst_system_clock_id_wait_jitter),
9614         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9615         Fix anoying regression that survived a few releases. When adding an
9616         async entry while blocking on a sync entry, the sync entry will unblock
9617         but still be busy, so it should continue to wait instead of returning
9618         _BUSY to the app.
9619         Add some comments here and there.
9620
9621         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9622         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9623         Add testcase for this.
9624
9625 2007-03-22  Wim Taymans  <wim@fluendo.com>
9626
9627         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9628         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9629         WRONG_STATE and can silently pause the task. All other cases should
9630         error out.
9631
9632 2007-03-22  Wim Taymans  <wim@fluendo.com>
9633
9634         Patch by: Ville Syrjala <syrjala at sci dot fi>
9635
9636         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9637         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9638         Improve debugging.
9639
9640 2007-03-21  Michael Smith  <msmith@fluendo.com>
9641
9642         * docs/pwg/advanced-types.xml:
9643           Fix some errors in the typefinding docs pointed out on irc.
9644
9645 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9646
9647         * libs/gst/base/gstbasesrc.c:
9648         Clarify FIXME comment in the face of having added unlock_stop()
9649
9650 2007-03-21  Wim Taymans  <wim@fluendo.com>
9651
9652         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9653         Prepare for release where we warn against possible app breakage in the
9654         case of live pipelines along with an env var to enable/disable live
9655         preroll mode (GST_COMPAT=[no-]live-preroll).
9656
9657 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9658
9659         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9660         So we should use correct constants for checking for None offset.
9661
9662 2007-03-20  Wim Taymans  <wim@fluendo.com>
9663
9664         * docs/design/part-block.txt:
9665         Mention the fact that the newly switched element should be set to at
9666         least PAUSED.
9667
9668 2007-03-20  Wim Taymans  <wim@fluendo.com>
9669
9670         * gst/gst.c:
9671         Fix compilation with registry disabled as spotted by Saur.
9672
9673 2007-03-20  Wim Taymans  <wim@fluendo.com>
9674
9675         Patch by: Olivier Crete <tester at tester dot ca>
9676
9677         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9678         Look at the pending state too when syncing the element state to the
9679         parent. Fixes #420133.
9680
9681 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9682
9683         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9684         (gst_base_sink_change_state):
9685         * libs/gst/base/gstbasesink.h:
9686         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9687         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9688         (gst_base_src_deactivate):
9689         * libs/gst/base/gstbasesrc.h:
9690         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9691         for sub-classes to correctly clear any state they set trying to
9692         unlock, such as clearing out unlock commands from a command fd.
9693         API: basesrc::unlock_stop
9694         API: basesink::unlock_stop
9695
9696         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9697         (gst_fd_sink_render), (gst_fd_sink_unlock),
9698         (gst_fd_sink_unlock_stop):
9699         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9700         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9701         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9702
9703         Implement unlock_stop in fdsrc and fdsink.
9704         Implement seeking in fdsrc when a seekable fd is passed, as in
9705         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9706
9707 2007-03-19  Wim Taymans  <wim@fluendo.com>
9708
9709         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9710
9711         * gst/gstelement.c: (gst_element_class_init):
9712         Fix pad-added and pad-removed signal signatures so that the pad type is
9713         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9714
9715 2007-03-19  Wim Taymans  <wim@fluendo.com>
9716
9717         * docs/gst/gstreamer-sections.txt:
9718         Add new element field and method.
9719
9720         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9721         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9722         (gst_bin_recalc_state), (gst_bin_get_state_func),
9723         (gst_bin_element_set_state), (gst_bin_change_state_func),
9724         (gst_bin_continue_func), (bin_bus_handler),
9725         (bin_push_state_continue), (bin_handle_async_start),
9726         (bin_handle_async_done), (gst_bin_handle_message_func):
9727         Make async state changes a bit smarter by using new ASYNC_START and
9728         ASYNC_DONE messages. This reduces the number of times we run the state
9729         recalculation thread.
9730         Don't change state of element with a pending ASYNC_START message.
9731         Deprecate STATE_DIRTY messages.
9732         
9733         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9734         (gst_element_get_state_func), (gst_element_continue_state),
9735         (gst_element_lost_state), (gst_element_set_state_func),
9736         (gst_element_change_state):
9737         * gst/gstelement.h:
9738         Keep the state that was last set by the app in a new element field.
9739         Don't allow state changes when handling an element event.
9740         Post ASYNC_START and ASYNC_DONE messages.
9741         Change lost_state so that we go to PAUSED and wait for the parent to set
9742         us to PLAYING again (so latency calculation can be performed)
9743         Export gst_element_change_state() method so that subclasses can use it.
9744         API: gst_element_change_state()
9745         API: GST_STATE_TARGET
9746
9747         * gst/gstpipeline.c: (gst_pipeline_class_init),
9748         (reset_stream_time), (gst_pipeline_change_state),
9749         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9750         Using the new ASYNC_START message we can reset the base_time when
9751         needed. This can then be used to implement base_time redistribution in
9752         flushing seeks so that we can remove the explicit seek handling.
9753         Perform latency query and configuration when going to PLAYING.
9754
9755         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9756         (gst_base_sink_query), (gst_base_sink_change_state):
9757         Post new ASYNC_START/ASYNC_DONE messages.
9758
9759         * tests/check/generic/sinks.c: (GST_START_TEST):
9760         Fix test because the bin will not set the async element to PLAYING right
9761         away.
9762
9763         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9764         Make the message check a little stronger.
9765         Handle ASYNC messages.
9766
9767         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9768         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9769         Expect ASYNC_DONE messages.
9770
9771 2007-03-19  Wim Taymans  <wim@fluendo.com>
9772
9773         * docs/gst/gstreamer-sections.txt:
9774         * gst/gstmessage.c: (gst_message_new_async_start),
9775         (gst_message_new_async_done), (gst_message_parse_info),
9776         (gst_message_parse_async_start):
9777         * gst/gstmessage.h:
9778         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9779         support.
9780
9781 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9782
9783         * tools/gst-inspect.c:
9784         (print_plugin_automatic_install_info_codecs):
9785           Now that we don't check for the 'Codec' keyword any longer in the
9786           klass, we shouldn't spew a warning if the klass isn't a decoder or
9787           encoder (since it might be a Source/Network, for example).
9788
9789 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9790
9791         * tools/gst-inspect.c:
9792         (print_plugin_automatic_install_info_codecs):
9793           Don't require decoder/demuxer/depayloader elements or
9794           encoder/muxer/paylader elements to have 'Codec' as part of their
9795           factory class string when introspecting a plugin's capabilities.
9796           draft-klass.txt mentions that it might be removed in future, and
9797           flump3dec doesn't have it as part of its class string, so chances
9798           are others might also not have it.
9799
9800 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * po/af.po:
9803         * po/az.po:
9804         * po/bg.po:
9805         * po/ca.po:
9806         * po/cs.po:
9807         * po/de.po:
9808         * po/en_GB.po:
9809         * po/fr.po:
9810         * po/it.po:
9811         * po/nb.po:
9812         * po/nl.po:
9813         * po/ru.po:
9814         * po/sq.po:
9815         * po/sr.po:
9816         * po/sv.po:
9817         * po/tr.po:
9818         * po/uk.po:
9819         * po/vi.po:
9820         * po/zh_CN.po:
9821         * po/zh_TW.po:
9822           Update translations from translation project
9823
9824 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9825
9826         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9827         (gst_child_proxy_set_property):
9828           Invert precondition check to be alike the ones in the mimiced gobject
9829           api.
9830
9831 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9832
9833         * docs/design/draft-tagreading.txt:
9834         * docs/random/ensonic/audiobaseclasses.txt:
9835           Do some Architect work.
9836
9837         * gst/gstobject.c: (gst_object_set_name):
9838           Add a WARNING.
9839
9840         * gst/gstpad.c:
9841           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9842
9843 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9844
9845         * gst/gstsystemclock.c: (gst_system_clock_init),
9846         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9847         Defer starting the async system clock thread until the first async
9848         wait is scheduled. Fixes #414986.
9849
9850 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9851
9852         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9853         (gst_single_queue_free):
9854           Fix small leak (free GstSingleQueue structure too, not only contents).
9855
9856 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9857
9858         * gst/gstbin.c:(gst_bin_add):
9859         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9860         * win32/common/libgstbase.def:
9861         * win32/common/libgstreamer.def:
9862         Add new exported functions.
9863
9864 2007-03-09  Wim Taymans  <wim@fluendo.com>
9865
9866         * docs/plugins/gstreamer-plugins-sections.txt:
9867         Fix GstTee docs.
9868
9869 2007-03-09  Wim Taymans  <wim@fluendo.com>
9870
9871         * docs/gst/gstreamer-sections.txt:
9872         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9873         * gst/gstbuffer.h:
9874         Add metadata copy functions. Fixes #393099.
9875         API: gst_buffer_copy_metadata()
9876
9877         * gst/gstutils.c: (gst_buffer_stamp):
9878         * libs/gst/base/gstbasetransform.c:
9879         (gst_base_transform_prepare_output_buffer):
9880         Use new metadata copy functions.
9881
9882 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9883
9884         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9885         (gst_identity_init), (gst_identity_check_perfect),
9886         (gst_identity_check_imperfect_timestamp),
9887         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9888         (gst_identity_set_property), (gst_identity_get_property):
9889         * plugins/elements/gstidentity.h:
9890         Separate out check-imperfect-timestamp and check-imperfect-offset.
9891         Put back check-perfect as it was to keep compatibility.
9892
9893 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9894
9895         * gst/gstelement.c: (gst_element_dispose):
9896         There's no need to warn if VOID_PENDING is not NONE here, as
9897         long as the state is NULL it's ok, and that's checked immediately
9898         above.
9899
9900 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9901
9902         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9903         Fix check for perfect stream to ignore buffers with -1 
9904         offsets/offset ends when checking data contiguity.
9905
9906 2007-03-08  Wim Taymans  <wim@fluendo.com>
9907
9908         * tools/gst-launch.c: (event_loop):
9909         Print INFO messages.
9910
9911 2007-03-08  Wim Taymans  <wim@fluendo.com>
9912
9913         * libs/gst/base/gstbasetransform.c:
9914         (gst_base_transform_sink_eventfunc),
9915         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9916         (gst_base_transform_activate):
9917         * libs/gst/base/gstbasetransform.h:
9918         Add support for dropping buffers with custom GstFlowReturn.
9919         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9920         buffers or dropped buffers.
9921
9922         * docs/libs/gstreamer-libs-sections.txt:
9923         docs for new custom return code.
9924
9925         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9926         Use drop support in base class to implement drop-probability.
9927
9928 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9929
9930         * gst/gst.c: (load_plugin_func):
9931         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9932         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9933         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9934           Remove newlines at end of debug log strings.
9935
9936 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9937
9938         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9939         Only post bus message at max, once per buffer received.
9940
9941 2007-03-07  Wim Taymans  <wim@fluendo.com>
9942
9943         * docs/design/Makefile.am:
9944         * docs/design/part-synchronisation.txt:
9945         Add doc about synchronisation
9946
9947         * docs/design/draft-latency.txt:
9948         * docs/design/part-TODO.txt:
9949         * docs/design/part-clocks.txt:
9950         * docs/design/part-events.txt:
9951         * docs/design/part-gstbus.txt:
9952         * docs/design/part-gstpipeline.txt:
9953         * docs/design/part-live-source.txt:
9954         * docs/design/part-messages.txt:
9955         * docs/design/part-overview.txt:
9956         * docs/design/part-streams.txt:
9957         * docs/design/part-trickmodes.txt:
9958         Documentation updates.
9959
9960 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9961
9962         * gstreamer.doap:
9963         Update the doap file.
9964
9965 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9966
9967         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9968         Rename non-perfect to imperfect for Mike and for the sanctity of the
9969         language.
9970         Also make sure bus message gets emitted for data-incontiguities.
9971
9972 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9973
9974         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9975         (gst_identity_start):
9976         * plugins/elements/gstidentity.h:
9977         Emit bus message if check-perfect is true and we encounter a
9978         non-perfect stream between 2 consecutive buffers.
9979         Fixes #415394.
9980
9981 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9982
9983         * configure.ac:
9984         Back to CVS
9985
9986 === release 0.10.12 ===
9987
9988 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9989
9990         * configure.ac:
9991           releasing 0.10.12, "Inevitable Demise"
9992
9993 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9994
9995         * configure.ac:
9996          Version 0.10.11.2 (0.10.12 pre-release)
9997          Bump libtool versioning.
9998
9999 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
10000
10001         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10002           Log flow-names and not numbers.
10003
10004 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10005
10006         * configure.ac:
10007           Convert to new AG_GST style.
10008
10009 2007-02-28  Wim Taymans  <wim@fluendo.com>
10010
10011         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
10012         Don't unref query twice.
10013
10014 2007-02-28  Wim Taymans  <wim@fluendo.com>
10015
10016         * gst/gstvalue.c: (gst_value_transform_object_string),
10017         (_gst_value_initialize):
10018         Implement GstObject -> string transform so we print object names
10019         when serializing GValues containing GstObjects.
10020
10021 2007-02-28  Wim Taymans  <wim@fluendo.com>
10022
10023         * docs/gst/gstreamer-sections.txt:
10024         Add new stuff to docs.
10025
10026 2007-02-28  Wim Taymans  <wim@fluendo.com>
10027
10028         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
10029         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
10030         (gst_base_sink_change_state):
10031         Improve latency query code.
10032         Don't leak latency events.
10033
10034         * tests/check/gst/gstbin.c: (GST_START_TEST):
10035         Improve debugging.
10036
10037 2007-02-28  Wim Taymans  <wim@fluendo.com>
10038
10039         * gst/gstelement.c: (gst_element_message_full),
10040         (gst_element_get_state_func):
10041         * gst/gstelement.h:
10042         Improve docs a little. Added Since: for new macro.
10043
10044         * gst/gstobject.c: (gst_object_sink):
10045         * gst/gstpipeline.c: (gst_pipeline_change_state),
10046         (gst_pipeline_set_new_stream_time):
10047         * gst/gstpipeline.h:
10048         Improve debugging and docs.
10049
10050         * gst/gstutils.c: (gst_element_state_change_return_get_name):
10051         Improve debugging.
10052
10053 2007-02-28  Wim Taymans  <wim@fluendo.com>
10054
10055         * gst/gstelement.c: (gst_element_message_full),
10056         (gst_element_set_locked_state), (gst_element_get_state_func),
10057         (gst_element_change_state):
10058         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
10059         Documentation updates.
10060         Small code cleanups.
10061
10062         * gst/gstmessage.c: (gst_message_new_info),
10063         (gst_message_parse_info):
10064         * gst/gstmessage.h:
10065         API: gst_message_new_info()
10066         API: gst_message_parse_info()
10067         Add INFO message create and parse code.
10068
10069 2007-02-28  Wim Taymans  <wim@fluendo.com>
10070
10071         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
10072         (bin_query_latency_done):
10073         Also report the live parameter of a latency query.
10074
10075 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10076
10077         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
10078           Copy the current generic/states example from -base and adapt so
10079           we can use the exact same code everywhere.
10080           Check a STATES_IGNORE_ELEMENTS env var which can be used
10081           to ignore certain element factories for this test, which is
10082           what is being done in -base
10083         * tests/check/Makefile.am:
10084           Mention this environment variable.
10085
10086 2007-02-27  Wim Taymans  <wim@fluendo.com>
10087
10088         * docs/gst/gstreamer-sections.txt:
10089         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
10090         (gst_bus_timed_pop), (gst_bus_pop):
10091         * gst/gstbus.h:
10092         API: gst_bus_timed_pop()
10093         Implement gst_bus_timed_pop() to do a blocking timed wait for a
10094         message to arrive on the bus.
10095
10096         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
10097         (gst_bus_suite):
10098         Two unit tests for new _timed_pop() function.
10099
10100 2007-02-23  Wim Taymans  <wim@fluendo.com>
10101
10102         * gst/gstpipeline.c: (gst_pipeline_change_state),
10103         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
10104         Don't ref a NULL clock in _provide_clock_func().
10105         Don't allow an INVALID delay.
10106         Don't try to calculate base_time with an invalid start_time.
10107         Also distribute and notify a NULL clock when it was selected.
10108
10109         * tools/gst-launch.c: (event_loop):
10110         Don't crash when a NULL clock was selected in the pipeline.
10111
10112 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
10113
10114         * docs/design/Makefile.am:
10115         * docs/design/draft-missing-plugins.txt:
10116         * docs/random/draft-missing-plugins.txt:
10117           Some small updates: update plugin system identifier prefix
10118           ('gstreamer.net' to 'gstreamer'), mention our new install
10119           API in libgstbaseutils rather than libgimme-codec, add
10120           reference to the online docs.
10121
10122 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10123
10124         * win32/common/config.h:
10125           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
10126           use moap cl ci to only check in what is mentioned in the ChangeLog.
10127
10128 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10129
10130         * docs/gst/gstreamer-sections.txt:
10131         * gst/gstelement.h:
10132           Fix up documentation to link to the correct GstGError section.
10133           Add GST_ELEMENT_INFO macro since someone else added a Info message.
10134
10135 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
10136
10137         * tools/gst-launch.c: (event_loop):
10138           Make sure that we actually show the important message part of a
10139           warning message.
10140           No need to check if the gerror is not NULL to free; first of all
10141           g_free accepts NULL; and second the default error handler would
10142           segfault if gerror was NULL.
10143
10144 2007-02-21  Wim Taymans  <wim@fluendo.com>
10145
10146         * docs/gst/gstreamer-sections.txt:
10147         Removed docs as well.
10148
10149 2007-02-21  Wim Taymans  <wim@fluendo.com>
10150
10151         * gst/gstmessage.c: (gst_message_parse_duration):
10152         * gst/gstmessage.h:
10153         Remove new messages for release.
10154
10155 2007-02-20  Wim Taymans  <wim@fluendo.com>
10156
10157         * docs/design/part-gstghostpad.txt:
10158         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
10159         (gst_ghost_pad_new_full):
10160         Make the ghostpad a parent of the internal pad again for better backward
10161         compatibility. Don't write code that relies on this however.
10162
10163         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
10164         (gst_pad_link_check_hierarchy):
10165         Require that parents should be GstElements in the hierarchy check.
10166
10167 2007-02-20  Wim Taymans  <wim@fluendo.com>
10168
10169         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
10170         (gst_bin_change_state_func), (bin_query_min_max_init),
10171         (bin_query_latency_fold), (bin_query_latency_done),
10172         (gst_bin_query):
10173         Improve debug info.
10174         Implement latency query.
10175
10176 2007-02-20  Wim Taymans  <wim@fluendo.com>
10177
10178         * docs/design/part-gstghostpad.txt:
10179         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
10180         (gst_ghost_pad_internal_do_activate_push),
10181         (gst_ghost_pad_internal_do_activate_pull),
10182         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10183         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
10184         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
10185         Do not set the internal pad as a parent anymore so we can avoid
10186         hierarchy linking errors when the ghostpad has no parent yet. This also
10187         fixes failed activation because of unlinked internal pads, which in
10188         turn fixes the impossible case where you have to activate a pad before
10189         you can add it to a running element.
10190         Also fix the docs.
10191
10192         * gst/gstpad.c: (pre_activate), (post_activate),
10193         (gst_pad_set_active), (gst_pad_activate_pull),
10194         (gst_pad_activate_push), (gst_pad_check_pull_range):
10195         Add some more debug info.
10196         Mark activation mode in pre_activate so that we don't try to activate in
10197         endless loops. Fixes #385084.
10198
10199 2007-02-19  Wim Taymans  <wim@fluendo.com>
10200
10201         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
10202         (gst_base_transform_check_get_range):
10203         Implement a checkgetrange function instead of relying on the default
10204         core behaviour that assumes we can operate in pull mode if we have a
10205         getrange function. First step at fixing #385084.
10206
10207 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
10208
10209         * gst/gstchildproxy.h:
10210         * libs/gst/base/gstbasesink.h:
10211         * libs/gst/base/gstbasesrc.h:
10212         * libs/gst/base/gstbasetransform.h:
10213         More docs coverage and some ChangeLog surgery (add missing names)
10214
10215 2007-02-15  Wim Taymans  <wim@fluendo.com>
10216
10217         * docs/design/part-TODO.txt:
10218         * docs/design/part-activation.txt:
10219         * docs/design/part-block.txt:
10220         * docs/design/part-buffering.txt:
10221         * docs/design/part-clocks.txt:
10222         * docs/design/part-element-source.txt:
10223         * docs/design/part-events.txt:
10224         * docs/design/part-gstbin.txt:
10225         * docs/design/part-gstbus.txt:
10226         * docs/design/part-gstpipeline.txt:
10227         * docs/design/part-live-source.txt:
10228         * docs/design/part-messages.txt:
10229         * docs/design/part-overview.txt:
10230         * docs/design/part-qos.txt:
10231         * docs/design/part-query.txt:
10232         * docs/design/part-states.txt:
10233         * docs/design/part-trickmodes.txt:
10234         Some doc updates. Start renaming from stream_time to running_time where
10235         it was used wrongly.
10236
10237 2007-02-15  Wim Taymans  <wim@fluendo.com>
10238
10239         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10240         Answer LATENCY query.
10241
10242 2007-02-15  Wim Taymans  <wim@fluendo.com>
10243
10244         * tests/check/gst/gstevent.c: (event_probe), (test_event),
10245         (GST_START_TEST):
10246         Improve debugging.
10247
10248 2007-02-15  Wim Taymans  <wim@fluendo.com>
10249
10250         * gst/gstpad.c: (gst_pad_get_internal_links_default),
10251         (gst_pad_dispatcher):
10252         Improve debugging of default pad dispatcher and query functions.
10253
10254 2007-02-15  Wim Taymans  <wim@fluendo.com>
10255
10256         * docs/gst/gstreamer-sections.txt:
10257         Remove old unused method.
10258
10259 2007-02-13  Wim Taymans  <wim@fluendo.com>
10260
10261         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10262         Fix check
10263
10264 2007-02-13  Wim Taymans  <wim@fluendo.com>
10265
10266         * docs/design/part-seeking.txt:
10267         Some small update.
10268
10269         * gst/gstsegment.c: (gst_segment_set_seek):
10270         Revert old bogus change that should make seeking work again.
10271
10272 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10273
10274         * docs/random/ensonic/dynlink.txt:
10275         * docs/random/ensonic/interfaces.txt:
10276         * docs/random/ensonic/receipies.txt:
10277           Possible dynamic reconnection api, plus some type fixes the other two
10278           docs.
10279
10280 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
10281
10282         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10283         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10284         Also check for an absolute path following file:// in the filesrc
10285         element. Remove redundant check and call g_path_is_absolute() on the
10286         unescaped location.
10287
10288 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
10289
10290         * docs/design/draft-klass.txt:
10291           Add existing category analysis.
10292           
10293         * gst/gstcaps.c:
10294           Fix doc example, framerate is a fraction.
10295
10296 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10297
10298         * configure.ac:
10299         * docs/gst/Makefile.am:
10300         * docs/gst/gstreamer-sections.txt:
10301         * docs/libs/Makefile.am:
10302           Erm, forgot a bunch of --extra-dir.
10303
10304 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
10305
10306         * configure.ac:
10307         * docs/gst/Makefile.am:
10308         * docs/libs/Makefile.am:
10309         * docs/plugins/Makefile.am:
10310           Add crossreferences to glib/gobject docs.
10311
10312 2007-02-12  Wim Taymans  <wim@fluendo.com>
10313
10314         * docs/design/draft-latency.txt:
10315         Small update.
10316
10317         * docs/libs/gstreamer-libs-sections.txt:
10318         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10319         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10320         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10321         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10322         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10323         (gst_base_sink_get_position), (gst_base_sink_query),
10324         (gst_base_sink_change_state):
10325         * libs/gst/base/gstbasesink.h:
10326         API: gst_base_sink_query_latency() to let subclasses query the upstream
10327         latency.
10328         API: gst_base_sink_get_latency() to let subclasses query the configured
10329         latency in the sink.
10330         Implement query and set latency.
10331         Update some docs.
10332         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10333         don't continue preroll when we are flushing. Fixes #405284.
10334
10335         * tests/check/pipelines/stress.c: (change_state_timeout),
10336         (quit_timeout), (GST_START_TEST), (stress_suite):
10337         Test for #405284.
10338
10339 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
10340
10341         Patch by: René Stadler <mail at renestadler de>
10342
10343         * docs/gst/gstreamer-sections.txt:
10344         * gst/gsttaglist.c: (_gst_tag_initialize):
10345         * gst/gsttaglist.h:
10346           API: add GST_TAG_REFERENCE_LEVEL (#403597).
10347
10348 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
10349
10350         * docs/libs/Makefile.am:
10351           Fix path to core docs.
10352
10353         * gst/gstbin.c: (gst_bin_get_by_interface),
10354         (gst_bin_iterate_all_by_interface):
10355           Refix docs by also renaming 'interface' to 'iface' in implementation.
10356
10357         * docs/gst/gstreamer-sections.txt:
10358         * gst/gstcaps.c:
10359         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10360         * gst/gstchildproxy.h:
10361         * gst/gstelementfactory.c:
10362         * gst/gstpadtemplate.h:
10363         * libs/gst/controller/gstcontroller.c:
10364         (gst_controlled_property_new):
10365           Document more.
10366
10367 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10368
10369         * gst/gstbin.h:(gst_bin_get_by_interface),
10370         (gst_bin_iterate_all_by_interface):
10371         Replace interface parameter name by iface as interface is 
10372         a reserved keyword in Visual Studio for C++ projects so it removes
10373         a build error for application developpers using VS.
10374         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10375         Fix a bug on Windows in uri format check. Now the prefix checked
10376         is file:// and next we check if the path after file:// is absolute.
10377         * win32/common/libgstbase.def:
10378         * win32/common/libgstdataprotocol.def:
10379         * win32/common/libgstgstreamer.def:
10380         Add new exported functions.
10381
10382 2007-02-09  Andy Wingo  <wingo@pobox.com>
10383
10384         * tests/check/pipelines/simple-launch-lines.c
10385         (simple_launch_lines_suite, test_tee): Disable tee test until I
10386         have time to fix it :-(
10387
10388         * tests/check/Makefile.am (noinst_HEADERS): 
10389         * tests/check/libs/libsabi.c: 
10390         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10391         * tests/check/gst/gstabi.c: 
10392         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10393
10394         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10395         tests for push and pull tee behavior.
10396
10397         * plugins/elements/gsttee.h: 
10398         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10399         mark as deprecated as well as unimplemented. It was a crack idea.
10400         Add support for tee operating in pull mode, off by default.
10401
10402         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10403         normal-case logs down to LOG, raise errors to WARNING.
10404         (gst_registry_xml_read_cache): Don't log before calling a function
10405         that logs.
10406
10407         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10408         exit (registry finalize).
10409         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10410         DEBUG log when we emit signals that people don't even have the
10411         chance to connect to.
10412         (gst_registry_scan_path_level): Less logging in the normal case.
10413
10414 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10415
10416         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10417
10418         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10419         Correctly generate EOS for non-seekable files. We don't have a total
10420         length for them and would get an unexpected end of file if we only
10421         special-cased for regular files. (Fixes: #404569)
10422
10423 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10424
10425         * tests/check/elements/filesrc.c: (GST_START_TEST),
10426         (filesrc_suite):
10427         Add unit test for the GstURIHandler interface in filesrc. This also
10428         tests the newly added file://localhost/foo/bar support.
10429
10430 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10431
10432         * gst/gstelementfactory.h:
10433           The klass string is not a hierarchy. Add reference to the design doc
10434           for more information and common types.
10435
10436 2007-02-02  Wim Taymans  <wim@fluendo.com>
10437
10438         * gst/gstquery.c: (gst_query_new_latency):
10439         Remove old structure field.
10440
10441 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10442
10443         * tools/gst-launch.1.in:
10444           Give example for network streaming (#351998)
10445
10446 2007-02-02  Wim Taymans  <wim@fluendo.com>
10447
10448         * docs/gst/gstreamer-sections.txt:
10449         Add docs for new methods.
10450
10451         * gst/gstevent.c: (gst_event_new_latency),
10452         (gst_event_parse_latency):
10453         * gst/gstevent.h:
10454         Add new LATENCY event to configure latency in a pipeline.
10455         API: gst_event_new_latency
10456         API: gst_event_parse_latency
10457
10458         * gst/gstmessage.c: (gst_message_new_buffering),
10459         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10460         (gst_message_new_latency), (gst_message_parse_buffering),
10461         (gst_message_parse_lost_preroll):
10462         * gst/gstmessage.h:
10463         Added messages used in draft-latency.
10464         API: gst_message_new_lost_preroll
10465         API: gst_message_parse_lost_preroll
10466         API: gst_message_new_prerolled
10467         API: gst_message_new_latency
10468
10469         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10470         (gst_query_parse_latency):
10471         * gst/gstquery.h:
10472         Implemented new latency query as in design doc.
10473         API: gst_query_new_latency
10474         API: gst_query_set_latency
10475         API: gst_query_parse_latency
10476
10477 2007-02-02  Wim Taymans  <wim@fluendo.com>
10478
10479         * docs/design/draft-latency.txt:
10480         Slight redesign to allow for dynamic latency adjustments.
10481
10482         * docs/design/part-negotiation.txt:
10483         Fix some typos.
10484
10485 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10486
10487         reviewed by: Wim Taymans <wim@fluendo.com>
10488
10489         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10490         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10491         Allow file://localhost/foo/bar URLs and correctly fail for every other
10492         hostname that one sets. This was gnomevfssrc is linked for those if
10493         installed as it can handle it (#403172)
10494
10495 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10496
10497         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10498
10499         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10500         (unref_data), (gst_collect_pads_add_pad_full):
10501         * libs/gst/base/gstcollectpads.h:
10502         Don't put the previously added destroy notify in the GstCollectData
10503         struct as all it's padding is already used and we don't want to break
10504         ABI. Instead put in the pad's GObject data for now. This should be
10505         cleaned up for 0.11 (#402393).
10506
10507 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10508
10509         reviewed by: Wim Taymans <wim@fluendo.com>
10510
10511         * docs/libs/gstreamer-libs-sections.txt:
10512         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10513         (unref_data), (gst_collect_pads_add_pad),
10514         (gst_collect_pads_add_pad_full):
10515         * libs/gst/base/gstcollectpads.h:
10516         API: Add function to specify a destroy notification for custom
10517         GstCollectData when adding new pads in GstCollectPads (#402393).
10518
10519 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10520
10521         * po/sv.po:
10522           Update Swedish translation (#378255).
10523
10524 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10525
10526         * docs/design/draft-klass.txt:
10527           Fix the previous change, this is a list of categories and not a hierarchy.
10528
10529 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10530
10531         * docs/design/draft-klass.txt:
10532           Add info about how to get a list of used classes.
10533
10534 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10535
10536         * plugins/elements/gsttypefindelement.c:
10537         (gst_type_find_element_chain_do_typefinding),
10538         (gst_type_find_element_change_state):
10539           Don't leak found caps in chain function (no idea why that never
10540           showed up as a leak anywhere).
10541
10542 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10543
10544         * gst/gstplugin.h:
10545           Fix and expand GstPluginDesc API docs.
10546
10547 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10548
10549         * gst/gstcaps.c:
10550         * gst/gstelementfactory.c:
10551         * gst/gstpadtemplate.h:
10552           api doc fixes
10553
10554         * libs/gst/controller/gstcontroller.c:
10555         (gst_controlled_property_new):
10556         * tests/examples/controller/audio-example.c:
10557           comment fixes
10558
10559 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10560
10561         * configure.ac:
10562           comment about refining the xml deps
10563
10564         * docs/manuals.mak:
10565           comments about moving away from jade for docs
10566         
10567         * gst/gst.c:
10568           recommit the ifdefs to use the binary registry
10569         
10570         * gst/gstbin.c: (gst_bin_change_state_func):
10571           this break is obsolete
10572
10573         * gst/gstelementfactory.h:
10574           better GST_ELEMENT_DETAILS docs, add comment about translation
10575
10576         * gst/gstinfo.h:
10577           remove eol slash
10578
10579         * gst/gstobject.c: (gst_signal_object_get_type):
10580           add G_UNLIKELY as usual
10581
10582         * gst/gstpad.c: (gst_pad_event_default):
10583           add fall trhu comment
10584
10585         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10586         (gst_registry_binary_initialize_magic),
10587         (gst_registry_binary_save_string),
10588         (gst_registry_binary_save_pad_template),
10589         (gst_registry_binary_save_feature),
10590         (gst_registry_binary_save_plugin),
10591         (gst_registry_binary_write_cache),
10592         (gst_registry_binary_check_magic),
10593         (gst_registry_binary_load_pad_template),
10594         (gst_registry_binary_load_feature),
10595         (gst_registry_binary_load_plugin),
10596         (gst_registry_binary_read_cache):
10597           comment typo and formatting
10598
10599         * gst/gstutils.c: (gst_element_state_get_name),
10600         (gst_element_state_change_return_get_name):
10601           remove obsolete breaks
10602
10603         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10604           add FIXME 0.11 and remove cpp comment
10605
10606 2007-01-29  Edward Hervey  <edward@fluendo.com>
10607
10608         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10609         Fix print statement in an even more portable way.
10610
10611 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10612
10613         * docs/gst/gstreamer-sections.txt:
10614         * gst/gstutils.h:
10615           API: add GST_ROUND_DOWN_* macros (#401781).
10616
10617 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10618
10619         * docs/gst/gstreamer.types.in:
10620         * gst/gstregistry.c: (gst_registry_class_init):
10621           Document registry signals and make gtk-doc pick them up (#401381).
10622
10623 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10624
10625         * docs/pwg/building-testapp.xml:
10626           Add some audioconverts and audioresample to the pipeline, and some
10627           more comments and error handling.
10628
10629 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10630
10631         * docs/manual/manual.xml:
10632         * docs/pwg/pwg.xml:
10633           Fix typo (#400987).
10634
10635 2007-01-26  Wim Taymans  <wim@fluendo.com>
10636
10637         * gst/gstcaps.c: (gst_static_caps_get):
10638         Init caps flags too.
10639
10640 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10641
10642         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10643
10644         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10645         If not using mmap'ed files try to seek to the end instead of the
10646         start to determine whether we can seek at all. This fixes the case
10647         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10648         seeks for everything afterwards fail. Fixes #400656
10649
10650 2007-01-25  Wim Taymans  <wim@fluendo.com>
10651
10652         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10653         Add some refcount debugging.
10654         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10655         in multiple streaming threads.
10656
10657 2007-01-25  Wim Taymans  <wim@fluendo.com>
10658
10659         Patch by: David Schleef <ds at schleef dot org>
10660
10661         * docs/libs/gstreamer-libs-sections.txt:
10662         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10663         * libs/gst/base/gstadapter.h:
10664         API: gst_adapter_copy() that can reduce the amount of memcpy when
10665         getting data from the adapter. Fixes #388201.
10666
10667 2007-01-25  Edward Hervey  <edward@fluendo.com>
10668
10669         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10670         In print statements, "%x" is for guint. Fixes build on macosx.
10671
10672 2007-01-24  Edward Hervey  <edward@fluendo.com>
10673
10674         * plugins/elements/gstmultiqueue.c:
10675         (gst_multi_queue_loop):
10676         Small fix.
10677         (single_queue_overrun_cb), (single_queue_underrun_cb),
10678         (single_queue_check_full), (gst_single_queue_new):
10679         Implement single queue growth system.
10680         This uses the extra-size properties, and will grow single queues by
10681         that much if one goes full whereas there are others empty. This is
10682         called extra-mode in the code.
10683         When a single queue's levels go back below the initial max-size
10684         limits, it is no longer in extra-mode. This is to ensure we don't
10685         consume too much memory.
10686         Fixes #399875
10687
10688 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10689
10690         * gst/gst.c: (gst_init_get_option_group):
10691           Make warning about late g_thread_init() calls a bit more explicit,
10692           so that it's more obvious to application developers what they need
10693           to do if a user files a bug against their application.
10694
10695 2007-01-22  Edward Hervey  <edward@fluendo.com>
10696
10697         * plugins/elements/gstmultiqueue.c:
10698         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10699         Remove previous hack of unsetting the flushing flag for the source pad
10700         instead of activating it. Instead, fix the source pad activate function
10701         so that it no longer depends on having a parent set or not.
10702
10703 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10704
10705         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10706
10707         * docs/manual/basics-bus.xml:
10708           Fix example code, gst_element_unref() doesn't exist any longer.
10709
10710 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10711
10712         Patch by: Mark Nauwelaerts <manauw at skynet be>
10713
10714         * gst/gstpad.c:
10715           Fix two docs typoes (#399094).
10716
10717 2007-01-19  Edward Hervey  <edward@fluendo.com>
10718
10719         * docs/faq/gst-uninstalled:
10720         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10721         depending on libgstbaseutils can work in uninstalled environment.
10722
10723 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10724
10725         * gst/gsttaglist.h:
10726         * gst/gsttagsetter.c:
10727         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10728         statement for new tag.
10729
10730 2007-01-17  Edward Hervey  <edward@fluendo.com>
10731
10732         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10733         When dynamically creating single queues, activate sinkpad before adding
10734         it.
10735         We should be doing the same thing for the source pad, but we can't
10736         since it would call a method which needs the parent to be set in order
10737         to work propertly. Instead of activating the source pad, we just unset
10738         the flushing flag, which is the minimal requirement for adding a pad
10739         to an element in a state greater than READY.
10740
10741 2007-01-17  Edward Hervey  <edward@fluendo.com>
10742
10743         * docs/faq/gst-uninstalled:
10744         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10745         Mac OS X.
10746
10747 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10748
10749         * tests/check/gst/gstabi.c:
10750         * tests/check/gst/struct_hppa.h:
10751         * tests/check/libs/libsabi.c:
10752         * tests/check/libs/struct_hppa.h:
10753           Add ABI structs for HPPA (see #393796).
10754
10755 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10756
10757         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10758           Actually write ABI structs to the file specified in the GST_ABI
10759           environment variable, as the message we print claims we would.
10760
10761 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10762
10763         * tests/check/gst/gsttask.c:
10764           Fix header comment.
10765
10766 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10767
10768         * gst/gsttaglist.c: (_gst_tag_initialize):
10769           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10770           previous two entries.
10771
10772 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10773
10774         * docs/gst/gstreamer-sections.txt:
10775         * gst/gsttaglist.c: (_gst_tag_initialize):
10776         * gst/gsttaglist.h:
10777           Add tag support for beat-per-minute.
10778
10779 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10780
10781         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10782         (gst_registry_binary_initialize_magic),
10783         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10784         (gst_registry_binary_save_pad_template),
10785         (gst_registry_binary_save_feature),
10786         (gst_registry_binary_save_plugin),
10787         (gst_registry_binary_write_cache),
10788         (gst_registry_binary_check_magic),
10789         (gst_registry_binary_load_pad_template),
10790         (gst_registry_binary_load_feature),
10791         (gst_registry_binary_load_plugin),
10792         (gst_registry_binary_read_cache):
10793         * gst/gstregistrybinary.h:
10794           Use glib types, cleanup comments, impement interfaces and uri-types.
10795
10796 2007-01-13  Andy Wingo  <wingo@pobox.com>
10797
10798         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10799         getrange() to return buffers with other caps, while we fix
10800         demuxers and typefind, or otherwise change part-negotiation.txt.
10801
10802 2007-01-12  Andy Wingo  <wingo@pobox.com>
10803
10804         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10805         Factor start/stop into this private function instead of partially
10806         in activate functions and partially in the change_state function.
10807         Fixes setup before the element has changed from READY->PAUSED, as
10808         is the case in pull-mode pipelines.
10809         (gst_base_transform_sink_activate_push)
10810         (gst_base_transform_src_activate_pull): Refactor to use
10811         gst_base_transform_activate().
10812         (gst_base_transform_change_state): Removed, not needed any more.
10813
10814         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10815         Truncate before fixating.
10816         
10817         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10818         Don't set_caps() if the result of fixating is ANY, as it's not
10819         supported, and not necessary in the case of a link with no
10820         template caps on either side. Fixes tests/check/libs/basesrc in
10821         some pull-mode tests.
10822
10823         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10824         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10825         (gst_base_transform_src_activate_pull): 
10826         Track the activation mode.
10827         (gst_base_transform_setcaps): In pull mode, when activating the
10828         src pad, after activating the sink pad, activate the sink pad's
10829         peer, as discussed in part-negotiation.txt.
10830
10831         * libs/gst/base/gstbasesrc.h: 
10832         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10833         vmethod, as in basesink.
10834
10835         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10836
10837         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10838         mode, first proxy the setcaps to the peer pad.
10839         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10840         new fixate vmethod.
10841         (gst_base_sink_default_activate_pull): Rename from
10842         gst_base_sink_activate_pull.
10843         (gst_base_sink_negotiate_pull): New function, performs negotiation
10844         in pull mode before calling ::activate_pull().
10845         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10846         vmethod instead of the default implementation. I have no idea how
10847         this worked before. Negotiate before calling activate_pull.
10848
10849         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10850         sink pads in pull mode. In addition to being correct, fixes
10851         filesrc ! decodebin ! identity ! fakesink.
10852         (gst_pad_get_range, gst_pad_pull_range): Don't call
10853         gst_pad_set_caps() if the caps changes; instead error out with
10854         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10855
10856 2007-01-12  Andy Wingo  <wingo@pobox.com>
10857
10858         * docs/design/part-negotiation.txt: Update with more policy.
10859
10860 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10861
10862         * libs/gst/check/gstbufferstraw.h:
10863         * libs/gst/check/gstcheck.h:
10864           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10865           belongs.
10866
10867 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10868
10869         * tests/check/Makefile.am:
10870         * tests/check/gst/.cvsignore:
10871         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10872         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10873         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10874         (GST_START_TEST), (gst_tag_setter_suite):
10875           Add minimal unit test for beforementioned GstTagSetter bug.
10876
10877 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10878
10879         Patch by: René Stadler <mail at renestadler dot de>
10880
10881         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10882           gst_tag_list_merge() returns a new list, so it's not the best idea
10883           to ingore its return value. Effectively meant that tags could only
10884           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10885           Also add function guard to require a non-NULL taglist as input (has
10886           always been so due to gst_tag_list_copy(), just making it explicit).
10887
10888 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10889
10890         * docs/random/draft-missing-plugins.txt:
10891           Some additions: mention new API that is supposed to be used at the
10892           various stages; short blob about new gst-inspect introspection
10893           option; mention potential future problem with plugins that have
10894           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10895
10896 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10897
10898         * tools/gst-inspect.c:
10899         (print_plugin_automatic_install_info_codecs),
10900         (print_plugin_automatic_install_info_protocols),
10901         (print_plugin_automatic_install_info), (main):
10902         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10903         introspect plugin files and get machine-parsable output that corresponds
10904         to the last bit of the missing-plugin installer string (small gotcha:
10905         doesn't take into account ranks).
10906
10907 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10908
10909         * configure.ac:
10910         * docs/gst/gstreamer-sections.txt:
10911         * gst/Makefile.am:
10912         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10913         (gst_registry_lookup_locked):
10914         * gst/gstregistry.h:
10915         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10916         (gst_registry_binary_initialize_magic),
10917         (gst_registry_binary_save_string),
10918         (gst_registry_binary_save_pad_template),
10919         (gst_registry_binary_save_feature),
10920         (gst_registry_binary_save_plugin),
10921         (gst_registry_binary_write_cache),
10922         (gst_registry_binary_check_magic),
10923         (gst_registry_binary_load_pad_template),
10924         (gst_registry_binary_load_feature),
10925         (gst_registry_binary_load_plugin),
10926         (gst_registry_binary_read_cache):
10927         * gst/gstregistrybinary.h:
10928         * gst/gstregistryxml.c: (load_feature),
10929         (gst_registry_xml_read_cache):
10930           commit binary registry (disabled by default, see #359653)
10931
10932 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10933
10934         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10935           Fix 'make check' too.
10936
10937 2007-01-10  Andy Wingo  <wingo@pobox.com>
10938
10939         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10940         notes.
10941         
10942         * docs/design/part-negotiation.txt: Update with, um, one way that
10943         pull-mode negotiation might work?
10944
10945         * gst/gstpad.h: 
10946         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10947         that the pad must be a src pad; makes sense to call it the other
10948         way in pull mode, and the logic is symmetric anyway.
10949
10950 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10951
10952         * plugins/elements/gstfilesink.c:
10953           Include <stdio.h> for fseeko().
10954
10955 2007-01-10  Wim Taymans  <wim@fluendo.com>
10956
10957         * gst/gstevent.c:
10958         * gst/gstevent.h:
10959         Reserve LATENCY event.
10960
10961 2007-01-09  Wim Taymans  <wim@fluendo.com>
10962
10963         * docs/design/draft-latency.txt:
10964         Updates.
10965
10966 2007-01-09  Wim Taymans  <wim@fluendo.com>
10967
10968         * docs/design/draft-latency.txt:
10969         Updates.
10970
10971         * gst/gstelement.h:
10972         * gst/gststructure.c:
10973         * gst/gsttrace.c:
10974         Small typo fixes.
10975
10976 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10977
10978         * tests/check/.cvsignore:
10979           Ignore test-registry.xml as well.
10980
10981 2007-01-09  Wim Taymans  <wim@fluendo.com>
10982
10983         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10984         unref data at the end when we are done with the pad.
10985
10986 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10987
10988         * docs/gst/gstreamer-sections.txt:
10989         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10990         (init_post), (gst_deinit), (gst_update_registry):
10991         * gst/gst.h:
10992           API: add gst_update_registry() (#391296).
10993
10994         * tests/check/Makefile.am:
10995         * tests/check/gst/gstregistry.c:
10996         * tests/check/gst/.cvsignore:
10997           Simple unit test for the above.
10998
10999 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
11000
11001         * gst/gstregistry.c: (gst_registry_scan_path_level):
11002           Plugin extension on HP-UX is .sl, add that to the list of approved
11003           plugin extensions (see #393796).
11004
11005         * tests/check/gst/gstpad.c: (GST_START_TEST):
11006           ulong => gulong. Fixes compilation with HP-UX compiler.
11007
11008         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
11009           Fix compilation if valgrind headers are not available.
11010
11011 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
11012
11013         * win32/common/libgstreamer.def: 
11014           Add new exported function.
11015         * win32/vs6/libgstbase.dsp: 
11016           Add gstdataqueue.c to the build.
11017         * win32/vs6/libgstcoreelements.dsp:
11018           Add gstmultiqueue.c to the build.
11019         
11020 2007-01-06  Andy Wingo  <wingo@pobox.com>
11021
11022         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
11023         activate_pull(), providing for a way to specialize the process of
11024         spawning a thread to pull on the sink pad. There is a default
11025         implementation.
11026
11027         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
11028         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
11029         (gst_base_sink_init): Renamed pad activation functions (inserting
11030         "_pad" in their names). Refactor to use the new activate_pull
11031         vmethod, as appropriate.
11032         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
11033         default activate_pull function to start a task pulling from the
11034         sink pad, as before.
11035
11036         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
11037         on the pads if necessary, as in push()/chain(). Update docs.
11038         Shouldn't affect existing pull() usage as it is currently only
11039         being used on buffers without caps.
11040
11041 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11042
11043         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11044         (init_pre):
11045           Call g_thread_init() first thing in gst_init() / gst_check_init().
11046           When initialisation is done via gst_init_get_option_group() and
11047           GOption parsing, issue a warning if the GLib thread system has not
11048           been initialised yet by the time gst_init_get_option_group() is
11049           called, as it's quite likely other GLib functions such as
11050           g_option_context_new() have been called already then, and
11051           g_thread_init() must be called before any other GLib function. The
11052           application in question must be fixed in that case, since memory
11053           corruption might happen otherwise.
11054           We issue the warning because even if the GLib folks decide to work
11055           around the problem on their end in future, this is still an issue
11056           with all GLib versions >= 2.10.0, so we should warn until we depend
11057           on a GLib version we know to be safe.
11058           Update documentation as well.
11059           Closes bug #391278.
11060
11061 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11062
11063         * tools/gst-inspect.c: (main):
11064         * tools/gst-launch.c: (main):
11065         * tools/gst-typefind.c: (main):
11066         * tools/gst-xmlinspect.c: (main):
11067           Call g_thread_init() really really early, before any other GLib
11068           function (see #342564 and recent discussion on gtk-devel-list).
11069
11070 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11071
11072         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
11073
11074         * gst/gst_private.h:
11075         * gst/gstconfig.h.in:
11076         * gst/gstinfo.h:
11077           On win32, all the __declspec stuff for symbol exporting is
11078           apparently only needed with MSVC, but doesn't work with MingW.
11079           Fixes compilation with MingW and #391909.
11080
11081 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
11082
11083         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
11084           Change some GST_ERROR_OBJECT that aren't really errors to
11085           GST_WARNING_OBJECT in order to reduce terminal spam.
11086
11087 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11088
11089         * tests/check/Makefile.am:
11090           disable test again, as there seem to be still race problems
11091
11092 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
11093
11094         * tests/check/Makefile.am:
11095         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11096         (GST_START_TEST), (queue_suite):
11097           enable queue test again, add tests for the leaky behaviour
11098
11099 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
11100
11101         * configure.ac:
11102         * tests/examples/Makefile.am:
11103           Compile adapter test/example only if the required headers are
11104           available (fixes #391915).
11105
11106 2007-01-01  David Schleef  <ds@schleef.org>
11107
11108         * gst/gstplugin.c:
11109           Restore the previous signal handler for SIGSEGV instead of
11110           setting to default, since we may have stolen it away from
11111           someone.  (i.e., Mono)
11112
11113 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11114
11115         * docs/random/draft-missing-plugins.txt:
11116           Some small additions and clarifications.
11117
11118 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
11119
11120         * gst/gstregistryxml.c: (gst_registry_save_escaped):
11121           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
11122           since that can lead to random memory corruptions and crashes
11123           (may or may not be related to #383244, #386711, and #386711).
11124
11125 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11126
11127         * tests/check/.cvsignore:
11128         * tests/check/Makefile.am:
11129           sync .cvsignome and CLEANFILES
11130
11131 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11132
11133         * tests/check/Makefile.am:
11134           fix distcheck
11135
11136 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11137
11138         * docs/design/part-states.txt:
11139           two tiny additional comments
11140         
11141         * gst/gststructure.c:
11142           doc fixing
11143
11144         * tests/check/Makefile.am:
11145         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11146         (GST_START_TEST):
11147           disable test for now, unless it gets fixed
11148
11149 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11150
11151         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11152         (GST_START_TEST):
11153           fix race in underrun test
11154
11155 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11156
11157         * tests/check/elements/.cvsignore:
11158           ignore more
11159
11160         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11161         (GST_START_TEST):
11162           try to narrow test failure
11163
11164 2006-12-21  David Schleef  <ds@schleef.org>
11165
11166         * plugins/elements/gstfakesrc.c:
11167           Use g_random_int_range(), since it produces better random
11168           numbers in a range than almost-correct floating point code.
11169
11170 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
11171
11172         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11173         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11174         (gst_check_teardown_sink_pad):
11175           do not automatically (de)activate pads
11176
11177         * tests/check/Makefile.am:
11178         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
11179         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
11180           add new, yet simple tests for queue
11181
11182         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
11183         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
11184         * tests/check/elements/filesrc.c: (cleanup_filesrc),
11185         (GST_START_TEST):
11186         * tests/check/elements/identity.c: (cleanup_identity):
11187           consistent pad (de)activation
11188
11189 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
11190
11191         Patch by: Sebastian Dröge  <slomo ubuntu com>
11192
11193         * libs/gst/base/gstcollectpads.c:
11194           Fix two doc typos (#387866).
11195
11196 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11197
11198         * docs/manual/advanced-dparams.xml:
11199           Fix typo (g_object_control_properties() doesn't exist).
11200
11201 2006-12-19  Edward Hervey  <edward@fluendo.com>
11202
11203         * gst/gstsegment.c: (gst_segment_set_seek):
11204         Fine tune the cases where the segment start/stop values are really
11205         updated.
11206         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11207         Add tests for the return values of gst_segment_set_seek().
11208
11209 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
11210
11211         * gst/gst.c:
11212           Docs typo fix.
11213
11214         * plugins/elements/gstqueue.c: (gst_queue_class_init),
11215         (gst_queue_init):
11216           Fix incorrect documentation and flesh it out a bit more.
11217           Set default values for the max properties on the GParamSpec as well,
11218           so it shows up correctly in gst-inspect.
11219
11220 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
11221
11222         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11223           Correct docs of queue, add more detail and crosslink it more.
11224
11225 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11226
11227         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
11228           Print additional debug info when the stream isn't perfectly
11229           timestamped; don't try to use invalid durations.
11230
11231 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
11232
11233         * docs/design/Makefile.am:
11234           Dist new design docs.
11235
11236 2006-12-16  Wim Taymans  <wim@fluendo.com>
11237
11238         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11239
11240         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
11241         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11242         (gst_collect_pads_stop), (gst_collect_pads_event),
11243         (gst_collect_pads_chain):
11244         * libs/gst/base/gstcollectpads.h:
11245         Add refcounting to the collectpads data so we can track when it's safe
11246         to free the data. Fixes #383382.
11247
11248 2006-12-15  Wim Taymans  <wim@fluendo.com>
11249
11250         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11251         (gst_collect_pads_remove_pad):
11252         Automatically activate/deactivate pads when they are added to a
11253         started/stoped collectpads.
11254
11255 2006-12-15  Wim Taymans  <wim@fluendo.com>
11256
11257         * gst/gstelement.c: (gst_element_add_pad):
11258         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11259         * gst/gstpad.c: (gst_pad_init):
11260         Set pads to FLUSHING when they are created. Check, warn and fix when a
11261         demuxer adds an inactive pad to itself when running. Fixes #339326.
11262
11263 2006-12-15  Wim Taymans  <wim@fluendo.com>
11264
11265         * gst/gstelement.c: (gst_element_class_init),
11266         (gst_element_default_send_event), (gst_element_send_event),
11267         (gst_element_default_query), (gst_element_query):
11268         Expose default element send_event and query handling as vmethods that
11269         subclasses can chain up to.
11270
11271 2006-12-15  Wim Taymans  <wim@fluendo.com>
11272
11273         * gst/gstelement.c: (gst_element_set_state_func):
11274         Small documentation fixes.
11275
11276 2006-12-15  Wim Taymans  <wim@fluendo.com>
11277
11278         * docs/design/draft-latency.txt:
11279         Checked in draft for handling latency in pipelines.
11280
11281 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11282
11283         * Makefile.am:
11284         * gstreamer.doap:
11285         * gstreamer.spec.in:
11286           adding .doap file
11287
11288 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
11289
11290         * gst/gst.c: (init_pre), (init_post):
11291           init_pre() and init_post() might be called via our GOptionGroup or
11292           from gst_init(), and we should skip both of them if we've already
11293           been initialised, otherwise we will init some things twice or add
11294           two default log functions.
11295
11296 2006-12-13  Edward Hervey  <edward@fluendo.com>
11297
11298         * docs/manual/basics-bus.xml:
11299         No, gst_main_loop does not exist. Its g_main_loop.
11300         Discovered by somebody who abused the copy-paste technique of coding :)
11301
11302 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
11303
11304         * gst/gstghostpad.c:
11305           Log ghostpad debug stuff to the GST_PADS category as well rather
11306           than just to the default category.
11307
11308 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
11309
11310         * configure.ac:
11311         * gst/gst.c: (init_pre):
11312           Add some basic system details such as OS and architecture
11313           to the debug output if possible, courtesy of uname().
11314
11315 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
11316
11317         * docs/gst/running.xml:
11318           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11319           environment variables.
11320
11321 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11322
11323         * tests/check/gst/gstbin.c: (GST_START_TEST):
11324         It is acceptable to have a refcount of 2 or 3 at this point in the
11325         test, because the pipeline might be just posting its state_change
11326         message. The next line then waits for that message to appear using
11327         bus_poll, so that should be fine too.
11328
11329 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
11330
11331         * gst/gst.c: (ensure_current_registry_forking):
11332         Ignore EINTR when reading from the child registry pipe.
11333         Explicitly ignore the return value from close, since it makes no
11334         difference.
11335
11336         * gst/gstminiobject.c: (gst_mini_object_ref),
11337         (gst_mini_object_unref):
11338         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11339
11340         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11341         When removing cached plugins, remove their features too, so they're
11342         not visible after they've disappeared.
11343
11344         * gst/gstutils.c: (prepare_link_maybe_ghosting):
11345         In the unlikely case that we are linking pads with no parents, don't
11346         crash trying to get the non-existent parent bin.
11347
11348         * gst/parse/grammar.y:
11349         Output debug in the PIPELINE category
11350
11351 2005-03-08  Wim Taymans  <wim@fluendo.com>
11352
11353         Patch by: René Stadler <mail at renestadler dot de>
11354
11355         * gst/gstclock.c: (gst_clock_new_periodic_id):
11356         Reject invalid clock times for interval of periodic ids.
11357         Fixes ##383506.
11358
11359 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11360
11361         * gst/gstelementfactory.c: (gst_element_factory_create):
11362         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11363         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11364         * tools/gst-inspect.c: (print_element_info):
11365         Fix refcounting of gst_plugin_feature_load to match the docs. 
11366         Fixes: #380129
11367
11368 2006-12-07  Wim Taymans  <wim@fluendo.com>
11369
11370         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11371         (gst_base_sink_get_position):
11372         Improve debugging of events.
11373
11374 2006-12-07  Wim Taymans  <wim@fluendo.com>
11375
11376         Patch by: René Stadler <mail at renestadler dot de>
11377
11378         * gst/gstclock.c: (gst_clock_id_wait):
11379         Make period ids add the interval to the origial requested time instead
11380         of the possibly updated time which can be wrong when there are multiple
11381         waiters for the same id. Fixes #382592.
11382
11383         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11384         (gst_system_clock_id_wait_jitter_unlocked),
11385         (gst_system_clock_id_wait_jitter):
11386         Fix restart in the async notify thread when an async entry is added to
11387         the front of the list. Fixes #381492. 
11388
11389         * tests/check/gst/gstsystemclock.c: (store_callback),
11390         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11391         Added test for multiple async waits.
11392         Added test for async wait order.
11393
11394 2006-12-07  Wim Taymans  <wim@fluendo.com>
11395
11396         * gst/gstbin.c: (gst_bin_query):
11397         Add some more docs about the POSITION query.
11398
11399 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11400
11401         * configure.ac:
11402         Bump version nano - back to CVS.
11403
11404 === release 0.10.11 ===
11405
11406 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11407
11408         * configure.ac:
11409           releasing 0.10.11, "Love never runs on time"
11410
11411 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11412
11413         * win32/common/libgstbase.def:
11414         * win32/common/libgstreamer.def:
11415         * win32/vs8/libgstbase.vcproj:
11416         * win32/vs8/libgstcoreelements.vcproj:
11417         * win32/vs8/libgstreamer.vcproj:
11418         Fix compilation on win32 under VS8
11419         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11420         Partially fixes #381175
11421
11422 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11423
11424         * gst/gstvalue.c: (gst_value_compare_fraction):
11425         If someone is foolish enough to compare 2 fractions with denominator =
11426         0, return UNORDERED rather than aborting.
11427
11428 2006-11-28  Edward Hervey  <edward@fluendo.com>
11429
11430         * libs/gst/base/Makefile.am:
11431         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11432         (gst_data_queue_base_init), (gst_data_queue_class_init),
11433         (gst_data_queue_init), (gst_data_queue_new),
11434         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11435         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11436         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11437         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11438         (gst_data_queue_set_flushing), (gst_data_queue_push),
11439         (gst_data_queue_pop), (gst_data_queue_drop_head),
11440         (gst_data_queue_set_property), (gst_data_queue_get_property):
11441         * libs/gst/base/gstdataqueue.h:
11442         New GstDataQueue object for threadsafe queueing. Most useful for
11443         elements that need some queueing functionnality.
11444         * docs/libs/gstreamer-libs-docs.sgml:
11445         * docs/libs/gstreamer-libs-sections.txt:
11446         Insert documentation for GstDataQueue
11447         * plugins/elements/Makefile.am:
11448         * plugins/elements/gstelements.c:
11449         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11450         (gst_multi_queue_class_init), (gst_multi_queue_init),
11451         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11452         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11453         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11454         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11455         (gst_multi_queue_loop), (gst_multi_queue_chain),
11456         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11457         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11458         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11459         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11460         (wake_up_next_non_linked), (compute_next_non_linked),
11461         (single_queue_overrun_cb), (single_queue_underrun_cb),
11462         (single_queue_check_full), (gst_single_queue_new):
11463         * plugins/elements/gstmultiqueue.h:
11464         New multiqueue element, using GstDataQueue. Used for queuing multiple
11465         streams.
11466         Closes #344639 and #347785
11467
11468 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11469
11470         * docs/pwg/advanced-types.xml:
11471           add more missing type details
11472
11473         * tools/gst-run.c: (main):
11474           remove unused variable
11475
11476 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11477
11478         * docs/libs/Makefile.am:
11479         * docs/libs/gstreamer-libs.types:
11480           add types of base classes to enable gobject specific stuff in the docs
11481
11482         * docs/random/ensonic/embedded.txt:
11483           more ideas about isolating platform specific things
11484
11485 2006-11-20  Wim Taymans  <wim@fluendo.com>
11486
11487         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11488
11489         * libs/gst/check/gstcheck.h:
11490         Fix compilation and running against 0.9.4. Fixes #377332.
11491
11492 2006-11-20  Wim Taymans  <wim@fluendo.com>
11493
11494         * gst/gstsegment.c: (gst_segment_set_seek),
11495         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11496         (gst_segment_to_running_time):
11497         Fix boundary checking in to_running_time() and to_stream_time().
11498         Fixes #377183.
11499
11500         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11501         stream and running time can now be calculated for the complete
11502         clipped segment.
11503
11504 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11505
11506         * gst/gstpad.c: (gst_pad_push_event):
11507           Can't access event structure after giving away ownership of
11508           the event.
11509
11510 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11511
11512         * docs/random/ensonic/embedded.txt:
11513         * docs/random/ensonic/profiling.txt:
11514         * docs/random/ensonic/receipies.txt:
11515           more thinking
11516
11517 2006-11-13  Wim Taymans  <wim@fluendo.com>
11518
11519         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11520
11521         * gst/gstpad.c:
11522         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11523
11524 2006-11-13  Wim Taymans  <wim@fluendo.com>
11525
11526         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11527
11528         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11529         Store new length in segment duration so we don't keep on calling the
11530         potentially expensize get_size() call. Fixes #370865.
11531
11532 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11533
11534         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11535
11536         * win32/common/libgstreamer.def:
11537           Add two missing symbols (#366492).
11538
11539 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11540
11541         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11542         (gst_adapter_take_buffer):
11543         Fix format string to use all its arguments.
11544         Remove useless >= check on a guint
11545
11546 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11547
11548         * tests/examples/adapter/.cvsignore:
11549         Ignore build file as commanded by the build-bot
11550
11551 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11552
11553         * tests/examples/adapter/Makefile.am:
11554         * tests/examples/adapter/adapter_test.c: (run_test_take),
11555         (run_test_take_buffer), (run_tests), (main):
11556
11557         Add new files from the previous commit
11558
11559 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11560
11561         * Makefile.am:
11562         * configure.ac:
11563         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11564         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11565         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11566         * libs/gst/base/gstadapter.h:
11567         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11568         (GST_START_TEST), (gst_adapter_suite):
11569         * tests/examples/Makefile.am:
11570         Do some optimisation work in GstAdapter to avoid copies in more cases.
11571         It could still do slightly better by merging buffers when
11572         gst_buffer_is_span_fast is true, but is already faster. 
11573
11574         Also, avoid traversing a single-linked list to append each incoming 
11575         buffer inside the adapter.
11576
11577         Add simple test app that times the adapter behaviour in different
11578         situations, and extend the unit test to check that bytes enter and
11579         exit the adapter in their original order.
11580
11581 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11582
11583         * docs/random/draft-missing-plugins.txt:
11584           Update: use element message instead of adding a new message
11585           type to the core; don't provide GStreamer API to initiate the
11586           plugin download, just provide API to compose the strings needed
11587           and let an external libgimmestuff handle the rest.
11588
11589 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11590
11591         * tools/gst-inspect.c: (print_element_properties_info):
11592         Print a string instead of 'unknown type' for GValueArray properties
11593
11594 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11595
11596         * docs/random/draft-missing-plugins.txt:
11597         More small fixes.
11598
11599 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11600
11601         * tests/examples/typefind/typefind.c: (type_found), (main):
11602           Make typefind element example work again (#371894); add a
11603           license header.
11604
11605 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11606
11607         * docs/random/draft-missing-plugins.txt:
11608           Commit initial draft about how to deal with missing plugins,
11609           needs work (API too).
11610
11611 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11612
11613         * docs/pwg/advanced-types.xml:
11614           documents the new caps elements (see #363118)
11615
11616 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11617
11618         * gst/gstplugin.c: (gst_plugin_load_file):
11619         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11620         (gst_file_src_map_region), (gst_file_src_start):
11621         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11622         (gst_file_index_commit):
11623           Use g_strerror() instead of strerror() - we want UTF-8.
11624
11625 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11626
11627         Patch by: Peter Kjellerstedt <pkj at axis com>
11628
11629         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11630           Another printf fix (#371493).
11631
11632 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11633
11634         * tests/check/gst/gsttag.c:
11635           relicence (okay with author=company)
11636
11637 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11638
11639         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11640         (gst_pad_push_event):
11641           Enhance debug and improve docs
11642         
11643         * gst/gsturi.c:
11644           Fix docs
11645
11646 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11647
11648         * docs/random/ensonic/distributed.txt:
11649         * docs/random/ensonic/profiling.txt:
11650           more ideas
11651
11652 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11653
11654         * docs/gst/gstreamer-sections.txt:
11655           add new API and fix the build
11656           
11657         * gst/gstbin.c: (gst_bin_recalc_state):
11658         * gst/gstelement.c: (gst_element_message_full),
11659         (gst_element_get_state_func), (gst_element_set_state_func):
11660           use new API and improve logging
11661         
11662         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11663         * gst/gstutils.h:
11664           API: add function to get StateChangereturn names to improve logs 
11665
11666 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11667
11668         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11669           I'm considering shooting the next person to put strerror stuff
11670           in the translateable part of the message.
11671
11672 2006-11-03  Wim Taymans  <wim@fluendo.com>
11673
11674         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11675         Get the type and printf conversion specifiers right.
11676
11677 2006-11-03  Wim Taymans  <wim@fluendo.com>
11678
11679         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11680
11681         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11682         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11683         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11684         Some small cleanups. Improve debugging.
11685         * gst/gstpad.h:
11686         Signal all waiting threads with a broadcast instead of just one.
11687         Fixes #369942.
11688
11689 2006-11-03  Wim Taymans  <wim@fluendo.com>
11690
11691         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11692         (gst_fd_src_create):
11693         Add some debugging. 
11694         Only update fd when it's different from the old.
11695
11696 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11697
11698         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11699           Printf fixes for PPC/OSX, take two (#369366).
11700
11701 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11702
11703         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11704
11705         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11706         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11707         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11708           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11709           don't cast to long long for portability reasons, but use
11710           GLib's types instead.
11711
11712 2006-10-30  Michael Smith  <msmith@fluendo.com>
11713
11714         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11715           Get the arguments to lseek() the right way around.
11716           Fixes 367677.
11717
11718 2006-10-30  Wim Taymans  <wim@fluendo.com>
11719
11720         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11721
11722         * gst/gstinfo.h:
11723         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11724
11725 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11726
11727         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11728
11729         * docs/design/part-MT-refcounting.txt:
11730         * docs/random/wtay/capsnego2-docs:
11731         * gst/gstclock.c:
11732         * gst/gstxml.c:
11733           Typo fixes (#366212).
11734
11735 2006-10-28  Wim Taymans  <wim@fluendo.com>
11736
11737         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11738
11739         * gst/gst.c:
11740         * win32/common/libgstbase.def:
11741         * win32/common/libgstreamer.def:
11742         * win32/vs8/libgstbase.vcproj:
11743         * win32/vs8/libgstcontroller.vcproj:
11744         Add needed entries in .def files.
11745         Use HAVE_UNISTD_H.
11746         Rearrange def files in vs8 solutions. Fixes #366286.
11747
11748 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11749
11750         * win32/common/gstconfig.h:
11751           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11752           hand-made win32 gstconfig.h. Fixes #366321.
11753
11754 2006-10-27  Wim Taymans  <wim@fluendo.com>
11755
11756         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11757         (gst_ghost_pad_new_full):
11758         Make acceptcaps return TRUE when we don't have a target, just like
11759         setcaps does.
11760
11761 2006-10-27  Wim Taymans  <wim@fluendo.com>
11762
11763         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11764         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11765
11766 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11767
11768         * gst/gststructure.c: (gst_structure_id_set_value):
11769           If someone tries to set a non-UTF8 string field on a structure,
11770           don't just print a warning, but also ignore the request and do
11771           not change/add that field to the structure.
11772
11773         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11774           Test for the above.
11775
11776 2006-10-25  David Schleef  <ds@schleef.org>
11777
11778         * gst/gstinfo.c:
11779           g_hash_table_insert() needs a cast to a non-const pointer duh.
11780
11781 2006-10-25  David Schleef  <ds@schleef.org>
11782
11783         * gst/gstinfo.c:
11784         * gst/gstinfo.h:
11785           Change name parameter of _gst_debug_register_funcptr to const
11786           to reflect the constness of its use in the function as well
11787           as to quiet a gcc warning.
11788
11789 2006-10-25  Edward Hervey  <edward@fluendo.com>
11790
11791         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11792         Don't push the buffer if it's empty.
11793         Closes #363095
11794
11795 2006-10-24  Wim Taymans  <wim@fluendo.com>
11796
11797         * gst/gstevent.h:
11798         Add small comment.
11799
11800         * libs/gst/base/gstbasetransform.c:
11801         (gst_base_transform_sink_eventfunc):
11802         Debug segment values *after* updating them as this is more
11803         interesting.
11804
11805 2006-10-23  Wim Taymans  <wim@fluendo.com>
11806
11807         * docs/design/part-events.txt:
11808         Update some docs.
11809
11810         * docs/design/part-block.txt:
11811         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11812         (gst_pad_push_event):
11813         Revert BLOCKING patch, it tries to be smart without really having a
11814         clear idea what or how. So, now we discard all FLUSHING events again on
11815         a blocking pad. Should fix gnonlin again.
11816
11817 2006-10-23  Wim Taymans  <wim@fluendo.com>
11818
11819         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11820
11821         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11822         (gst_base_src_start), (gst_base_src_activate_push):
11823         Make sure size is always initialized. Fixes #364388.
11824
11825 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11826
11827         * docs/random/ensonic/distributed.txt:
11828           add some ideas about doing distributed processing
11829
11830         * docs/random/ensonic/profiling.txt:
11831           get_rusage look promising
11832
11833 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11834
11835         * docs/manual/basics-helloworld.xml:
11836           Add a cast in example to fix compile warning
11837
11838 2006-10-18  Wim Taymans  <wim@fluendo.com>
11839
11840         * gst/gstsegment.c: (gst_segment_set_last_stop),
11841         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11842         Relax arg checking again, -1 is allowed.
11843
11844 2006-10-18  Wim Taymans  <wim@fluendo.com>
11845
11846         * gst/gstsegment.c: (gst_segment_set_last_stop),
11847         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11848         _set_last_stop() must be with a value != -1
11849         A _TYPE_SET to -1 means seek to 0.
11850         Calc last_stop correctly for negative rates.
11851         Make sure we work with positive durations when updating a segment.
11852
11853 2006-10-18  Wim Taymans  <wim@fluendo.com>
11854
11855         * docs/design/part-live-source.txt:
11856         * gst/gstclock.h:
11857         Small docs fixes.
11858
11859 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11860
11861         * gst/gstbuffer.h:
11862           Add an explicit cast to GstBuffer** to keep old code that added an
11863           explicit cast to GstMiniObject** for gst_mini_object_replace()
11864           compiling without warning.
11865
11866 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11867
11868         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11869           check for validity of dates
11870
11871 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11872
11873         * docs/gst/gstreamer-sections.txt:
11874           Forgot this one, makes gtk-doc shut up.
11875
11876 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11877
11878         Patch by: Peter Kjellerstedt <pkj at axis com>
11879
11880         * gst/gstobject.h:
11881           Don't define xmlNodePtr to gpointer if the core was built with
11882           --disable-loadsave and --disable-registry, this will break
11883           applications that want to use libxml2 but are buildling against a
11884           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11885           instead so we don't have to mess with the libxml2 namespace
11886           (#361675).
11887
11888 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11889
11890         * gst/gstbuffer.h:
11891           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11892           type-punned pointer warnings.
11893
11894 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11895
11896         * gst/gstelement.h:
11897           Add casts to the correct return type to state <=> state transition
11898           macros.
11899
11900 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11901
11902         * docs/design/part-live-source.txt:
11903           describe howto handle latency
11904         
11905         * docs/random/ensonic/profiling.txt:
11906           more ideas
11907
11908         * tools/gst-plot-timeline.py:
11909           fix log parsing for solaris, remove unused function
11910
11911 2006-10-16  Wim Taymans  <wim@fluendo.com>
11912
11913         * docs/design/part-trickmodes.txt:
11914         * gst/gstevent.c:
11915         Update some docs regarding reverse playback.
11916
11917 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11918
11919         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11920
11921         * win32/vs8/grammar.vcproj:
11922           Error out with a warning if glib-genmarshal.exe is not in path,
11923           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11924
11925 2006-10-13  Wim Taymans  <wim@fluendo.com>
11926
11927         * gst/gstsegment.c: (gst_segment_set_seek):
11928         When seeking to stop -1, set last_stop (current position) to the
11929         duration of the segment.
11930
11931 2006-10-13  Wim Taymans  <wim@fluendo.com>
11932
11933         * gst/gstelement.h:
11934         Clarify _NO_PREROLL a bit more.
11935
11936         * gst/gstevent.c:
11937         Fix docs.
11938
11939         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11940         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11941         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11942         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11943         due to wrong locking order. Fixes #361769.
11944         Remove some redundant/misplaced checks in pad_block.
11945
11946         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11947         For negative rates, count backwards from the duration.
11948
11949 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11950
11951         * gst/gsterror.c: (_gst_library_errors_init):
11952           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11953           up with something better).
11954
11955 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11956
11957         * win32/vs6/libgstreamer.dsp:
11958         * win32/vs7/libgstreamer.vcproj:
11959         * win32/vs8/libgstreamer.vcproj:
11960           Don't reference glib-compat.c which is currently not used and not
11961           disted; add gstquark.c which was recently added. Fixes #361730.
11962
11963 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11964
11965         * win32/common/libgstbase.def:
11966         * win32/common/libgstcontroller.def:
11967         * win32/common/libgstreamer.def:
11968           Add gst_caps_merge() and a bunch of other recently-added functions.
11969           Fixes #361732.
11970
11971 2006-10-11  Wim Taymans  <wim@fluendo.com>
11972
11973         * docs/plugins/gstreamer-plugins.args:
11974         * docs/plugins/inspect/plugin-coreelements.xml:
11975         * docs/plugins/inspect/plugin-coreindexers.xml:
11976         Update element args.
11977
11978         * gst/gstsystemclock.c:
11979         Small comment update.
11980
11981         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11982         (gst_tee_request_new_pad), (gst_tee_release_pad),
11983         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11984         (gst_tee_sink_activate_pull):
11985         * plugins/elements/gsttee.h:
11986         Some tee loving:
11987         Add default property defines.
11988         Implement release pad function.
11989         Give properties better blubs etc.
11990         Activate pads before adding them to a running tee.
11991         Do simple buffer_alloc on the first requested pad.
11992         Post error when activation fails.
11993
11994 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11995
11996         * gst/gst.c: (ensure_current_registry_forking):
11997           Check return value of write() to make compiler happy.
11998
11999 2006-10-11  Wim Taymans  <wim@fluendo.com>
12000
12001         Patch by: Sjoerd Simons <sjoerd at luon dot net>
12002
12003         * plugins/elements/gstqueue.c: (gst_queue_chain):
12004         Recheck queue filledness after signalling the overrun when we're about
12005         to leak downstream because we released the lock when emitting the signal
12006         and the queue could be empty again. Fixes #352345.
12007
12008 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
12009
12010         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
12011           Fix refcounting here too, just like we did for _new_valist() a few
12012           days ago (#357180) (thanks to René Stadler). Also remove all those
12013           'Since: 0.9' from the gtk-doc blobs.
12014
12015         * tests/check/libs/controller.c: (controller_refcount_new_list),
12016         (gst_controller_suite):
12017           Unit test for the above.
12018
12019 2006-10-10  Wim Taymans  <wim@fluendo.com>
12020
12021         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
12022
12023         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
12024         (gst_pad_save_thyself):
12025         Update some docs.
12026         Write pad direction in XML output. Fixes #345496.
12027
12028 2006-10-10  Wim Taymans  <wim@fluendo.com>
12029
12030         Patch by: René Stadler <mail at renestadler dot de>
12031
12032         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12033         (gst_controller_new_list), (_gst_controller_dispose),
12034         (_gst_controller_finalize), (_gst_controller_class_init):
12035         Take ref to controlled object so that it cannot disappear. 
12036         Fixes #357432.
12037
12038 2006-10-10  Wim Taymans  <wim@fluendo.com>
12039
12040         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
12041         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12042         (gst_check_teardown_sink_pad):
12043         Activate/deactivate pads in setup/teardown respectively.
12044
12045 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12046
12047         Patch by: Josep Torra Valles <josep@fluendo.com>
12048
12049         * gst/Makefile.am:
12050         Cast values when making gstenumtypes.h.  This pacifies Forte
12051         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
12052         in the enumeration.
12053
12054 2006-10-09  Wim Taymans  <wim@fluendo.com>
12055
12056         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
12057         Rename some more @cur to @start to fix docs. 
12058
12059         * gst/gstsegment.c: (gst_segment_set_seek):
12060         Fix typo.
12061         time and start must always stay in sync as defined in design doc.
12062
12063         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12064         Rename param to fix docs.
12065
12066         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12067         Check that start and time are in sync.
12068
12069         * tests/check/pipelines/parse-launch.c:
12070         (gst_parse_test_element_change_state):
12071         Activate pad before adding to the element.
12072
12073 2006-10-09  Wim Taymans  <wim@fluendo.com>
12074
12075         * docs/design/part-qos.txt:
12076         Fix typo.
12077
12078         * gst/gstevent.c:
12079         * gst/gstevent.h:
12080         Update seek event docs regarding negative rates.
12081         Rename @cur to @start. 
12082
12083         * gst/gstsegment.c: (gst_segment_set_seek):
12084         * gst/gstsegment.h:
12085         Update set_seek docs regarding negative rates.
12086         Correctly update last_stop to @stop when dealing with negative
12087         rates.
12088         Rename @cur to @start. 
12089
12090         * tests/check/gst/gstpad.c: (GST_START_TEST):
12091         Activate pads before trying to use them.
12092
12093         * tests/check/gst/gstsegment.c: (GST_START_TEST),
12094         (gst_segment_suite):
12095         Add simple check for segments and negative rates.
12096
12097 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
12098
12099         * gst/gsttaglist.c: (gst_tag_list_is_empty):
12100         * gst/gsttaglist.h:
12101         * docs/gst/gstreamer-sections.txt:
12102           API: add gst_tag_list_is_empty() (#360467).
12103
12104         * tests/check/gst/gsttag.c: (GST_START_TEST):
12105           And a test case.
12106
12107 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12108
12109         * gst/gstmessage.h:
12110         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
12111         a value that doesn't fit on enumeration.
12112
12113 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12114
12115         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12116         Remove local debugging system and use Gstreamer's instead.
12117
12118 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12119
12120         Patch by: Josep Torra Valles <josep@fluendo.com>
12121
12122         * common/m4/gst-error.m4:
12123         Disable warning of statement not reached on Forte.
12124         * gst/gstmessage.h:
12125         Fix warning on Forte (value doesn't fit on enumeration).
12126         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
12127         Fix warning on Forte (value doesn't fit on enumeration).
12128         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12129         DEBUG macro says it takes minimum of 2 args and so Forte
12130         complains about the use with just 1 arg.
12131         * plugins/elements/gstfdsink.c:
12132         * plugins/elements/gstfdsrc.c:
12133         * plugins/elements/gstfilesink.c:
12134         * plugins/elements/gstfilesrc.c:
12135         Use correct return type for the uri handler implementations.
12136
12137         All these fix warnings in Forte.  Fixes bug #360860.
12138
12139 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12140
12141         * gst/gstelement.h:
12142           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
12143           format string, so don't use G_GNUC_PRINTF for those versions.
12144
12145 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12146
12147         * gst/gsttaglist.c: (gst_is_tag_list):
12148         * gst/gsttaglist.h:
12149           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
12150
12151         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12152           Small test for the above.
12153
12154 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
12155
12156         * gst/gsttaglist.h:
12157           Less tabs, more spaces.
12158
12159 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
12160
12161         * gst/gstinfo.h:
12162           Those two function declarations do actually belong there, revert
12163           commit from yesterday that turned them intro macros.
12164
12165 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12166
12167         Patch by: Josep Torra Valles <josep@fluendo.com>
12168
12169         * gst/gst.c: (gst_init_get_option_group):
12170         Fix empty declaration and type mismatch.
12171         * gst/gstbin.c: (gst_bin_change_state_func):
12172         Fix type mismatch.
12173         * gst/gstelement.c: (gst_element_continue_state),
12174         (gst_element_set_state_func), (gst_element_change_state),
12175         (gst_element_change_state_func):
12176         Fix type mismatches.
12177         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
12178         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
12179         Cast as appropriate.
12180         * gst/gstobject.c: (gst_class_signal_connect):
12181         Cast as appropriate.  The function pointer parameter really
12182         has the wrong type but would break API if we change it.
12183         * gst/gstquery.c:
12184         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
12185         order of including string.h.
12186         * gst/gstutils.c: (gst_element_state_get_name):
12187         Remove unreachable line.
12188         * gst/gstxml.c: (gst_xml_parse_doc):
12189         Fix type mismatch.
12190         All these caught by Forte.
12191
12192 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12193
12194         Patch by: Josep Torra Valles <josep@fluendo.com>
12195
12196         * common/m4/gst-error.m4:
12197         Fixed bug #360151.
12198         We need to disable warnings on Forte for empty declarations
12199         due to gst-indent adding ;s to lines that just use macros
12200         where the macro actually doesn't need a ; at end to end
12201         statement.
12202
12203 2006-10-06  Wim Taymans  <wim@fluendo.com>
12204
12205         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
12206         (gst_file_sink_close_file), (gst_file_sink_event),
12207         (gst_file_sink_render):
12208         Add some FIXME for the NEWSEGMENT handling.
12209
12210 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12211
12212         * gst/parse/grammar.y:
12213         Remove static function gst_parse_element_lock as all it does
12214         is return.  Looks like cruft from 0.8.
12215
12216 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12217
12218         Patch by: Josep Torra Valles <josep@fluendo.com>
12219
12220         * common/m4/gst-error.m4:
12221         * configure.ac:
12222         * libs/gst/net/Makefile.am:
12223         Fix a compilation issue with Forte on Solaris.  inet_aton is in
12224         libresolv.
12225
12226 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12227
12228         * gst/gstpad.c: (pre_activate):
12229         * gst/gstregistry.c: (gst_registry_scan_path_level):
12230         * gst/gstregistryxml.c: (load_plugin):
12231         * libs/gst/controller/gstcontroller.c:
12232         (gst_controlled_property_set_interpolation_mode):
12233         * libs/gst/dataprotocol/dataprotocol.c:
12234         (gst_dp_packet_from_event_1_0):
12235         * libs/gst/net/gstnetclientclock.c:
12236         (gst_net_client_clock_observe_times):
12237         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
12238           Printf fixes.
12239
12240 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
12241
12242         * configure.ac:
12243         * docs/gst/gstreamer-sections.txt:
12244         * gst/gstconfig.h.in:
12245         * gst/gstelement.h:
12246         * gst/gstinfo.h:
12247           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
12248           whether we can use G_GNUC_PRINTF in other header files and at
12249           least check the printf format/arguments of debug messages and
12250           GST_ELEMENT_ERROR messages when the printf extension is not
12251           being used.
12252           Replace more tabs with spaces in gstinfo.h and remove two spurious
12253           function declarations in GST_DISABLE_DEBUG part with macros.
12254
12255 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
12256
12257         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12258           More docs for the sync-message signal (mention that it is not
12259           emitted by default); log message structures of messages posted on
12260           the bus as well.
12261
12262 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
12263
12264         * gst/gst.c: (ensure_current_registry_forking):
12265         Use a pipe pair to receive status results from the forked child, and
12266         ignore the result from waitpid. Fixes #355499
12267
12268 2006-10-02  Wim Taymans  <wim@fluendo.com>
12269
12270         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12271         (gst_ghost_pad_suite):
12272         Fix leak in check.
12273
12274 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12275
12276         * gst/gstpad.c:
12277           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12278
12279 2006-10-02  Edward Hervey  <edward@fluendo.com>
12280
12281         * docs/design/part-block.txt:
12282         Further explain the use of flushing on blocked pads.
12283         * docs/gst/gstreamer-sections.txt:
12284         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12285         (gst_pad_push_event):
12286         * gst/gstpad.h:
12287         Added new GstPadFlag : GST_PAD_BLOCKING.
12288         Adds the notion of pads really blocking, which enables to properly
12289         handle FLUSH_START/FLUSH_STOP events on blocked pads.
12290         Fixes #358999
12291         API: gst_pad_is_blocking()
12292         API: GST_PAD_IS_BLOCKING() macro
12293         API: GST_PAD_BLOCKING GstPadFlag
12294         
12295 2006-10-02  Wim Taymans  <wim@fluendo.com>
12296
12297         Patch by: mrcgran <mrc.gran at gmail dot com>
12298
12299         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12300         Filter the proxied caps against the padtemplate if we have one.
12301
12302         * gst/gstquery.c: (gst_query_new_segment):
12303         Add include for gstinfo.h so that compilation with
12304         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12305
12306 2006-10-02  Wim Taymans  <wim@fluendo.com>
12307
12308         Patch by: Alessandro Decina  <alessandro at nnva org>
12309
12310         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12311         (gst_file_sink_set_location), (gst_file_sink_open_file),
12312         (gst_file_sink_close_file), (gst_file_sink_event),
12313         (gst_file_sink_render):
12314         Set file to NULL when closing filesink so that we can set a new filename
12315         in READY. Fixes #358613.
12316
12317 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12318
12319         Patch by: Alessandro Decina  <alessandro at nnva org>
12320
12321         * gst/gstevent.c: (_gst_event_copy):
12322           Fix gst_mini_object_make_writable() and gst_event_copy() for events
12323           with event structures by setting the parent refcount address of the
12324           copied structure to the address of the refcount member of the newly
12325           copied event rather than the address of the refcount member of the
12326           original event. Fixes #358737.
12327
12328         * tests/check/gst/gstevent.c: (GST_START_TEST):
12329           Unit test for the above.
12330
12331 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
12332
12333         * docs/design/Makefile.am:
12334           Dist some more files.
12335
12336 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12337
12338         * tests/check/libs/controller.c: (GST_START_TEST),
12339         (gst_controller_suite):
12340           Add test for the previous fix; add some more tests
12341           for correct refcounting behaviour; fix a few leaks
12342           in test cases; call gst_controller_init() at start
12343           of all tests.
12344
12345 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12346
12347         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12348         (gst_controller_set_from_list):
12349           Don't g_return_val_if_fail() on timed values with invalid timestamps
12350           inside a critical section without unlocking the mutex. Spotted by
12351           René Stadler. (#357617)
12352           Also, fix up refcounting properly: when returning an existing
12353           controller, we should increase the reference only once and not
12354           once per property and when trying to control a property again
12355           we should also increase the refcount.
12356
12357 2006-09-29  Wim Taymans  <wim@fluendo.com>
12358
12359         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12360         * libs/gst/net/gstnettimeprovider.c:
12361         (gst_net_time_provider_thread):
12362         Stop reading commands when EOF as well.
12363
12364         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12365         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12366         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12367         Unify description of the dump property.
12368
12369 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12370
12371         * tests/examples/manual/.cvsignore:
12372         OK, so it's actually cvsignore that needs changing. Stop laughing.
12373
12374 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12375
12376         * tests/examples/manual/Makefile.am:
12377         Gah, declare vars *before* using them
12378
12379 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12380
12381         * gst/gst.c: (init_pre), (scan_and_update_registry),
12382         (ensure_current_registry_nonforking),
12383         (ensure_current_registry_forking), (ensure_current_registry),
12384         (init_post), (gst_debug_help), (gst_deinit):
12385         * gst/gst_private.h:
12386         * gst/gstregistry.c: (gst_registry_finalize),
12387         (gst_registry_remove_features_for_plugin_unlocked),
12388         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12389         (gst_registry_scan_path),
12390         (_priv_gst_registry_remove_cache_plugins),
12391         (_priv_gst_registry_cleanup):
12392         * gst/gstregistry.h:
12393         Re-commit the registry changes, along with an extra fix:
12394           When a cached plugin is encountered at a different file path,
12395           update the stored path in the registry cache so that the parent
12396           process knows where it actually is now when it re-reads the registry
12397           cache. Fixes the thing that broke distcheck with the previous commit.
12398
12399         * tests/check/Makefile.am:
12400         Clean up files named 'core' too when running make clean.
12401
12402         * tests/examples/manual/Makefile.am:
12403         Set up a registry path for running these tests, and clean it properly
12404         for distcheck.
12405
12406 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12407
12408         * configure.ac:
12409         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12410         want gmodule-no-export-2.0.pc instead so that we don't drag in
12411         --export-dynamic on every project that links to GStreamer.
12412
12413         Also, make our export regex only match the start of symbols, rather 
12414         than any symbol that contains '_gst' somewhere.
12415
12416         * libs/gst/check/Makefile.am:
12417         The libgstcheck we build does however need export-dynamic, as it
12418         produces some symbols that don't match our _gst... style regex.
12419         Fixes: #318031
12420
12421 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12422
12423         * gst/gst.c: (init_pre), (scan_and_update_registry),
12424         (ensure_current_registry_nonforking),
12425         (ensure_current_registry_forking), (ensure_current_registry),
12426         (init_post), (gst_debug_help), (gst_deinit):
12427         * gst/gst_private.h:
12428         * gst/gstregistry.c: (gst_registry_finalize),
12429         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12430         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12431         (_gst_registry_cleanup):
12432         * gst/gstregistry.h:
12433           Revert previous change until I figure out why it breaks distcheck.
12434
12435 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12436
12437         * gst/gst.c: (init_pre), (scan_and_update_registry),
12438         (ensure_current_registry_nonforking),
12439         (ensure_current_registry_forking), (ensure_current_registry),
12440         (init_post), (gst_debug_help), (gst_deinit):
12441
12442           Make init_pre and init_post take the full complement of GOptionFunc
12443           args so they can return useful GErrors. Make the registry updating
12444           functions do so.
12445
12446           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12447           ensure that the registry we're about to write out doesn't contain
12448           stale information about old-deleted plugin files.
12449
12450           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12451           that deletion of plugin files is considered a registry change.
12452
12453         * gst/gst_private.h:
12454         * gst/gstregistry.c: (gst_registry_finalize),
12455         (gst_registry_remove_features_for_plugin_unlocked),
12456         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12457         (gst_registry_scan_path),
12458         (_priv_gst_registry_remove_cache_plugins),
12459         (_priv_gst_registry_cleanup):
12460         * gst/gstregistry.h:
12461         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12462         by adding _priv prefix, so that they won't appear in the global
12463         symbol table. They still do atm though because of #318031. Move the
12464         prototypes to gst_private.h
12465
12466         When removing a plugin, remove all features for that plugin too. 
12467         Fixes #340878.
12468
12469 2006-09-27  Wim Taymans  <wim@fluendo.com>
12470
12471         * docs/random/moving-plugins:
12472         Make it clear that the "compiled-in descriptions" really mean
12473         the element details.
12474
12475         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12476         (gst_base_sink_wait_preroll):
12477         Update docs.
12478
12479         * docs/libs/gstreamer-libs-sections.txt:
12480         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12481         (gst_base_src_get_range), (gst_base_src_activate_push):
12482         * libs/gst/base/gstbasesrc.h:
12483         Added function to block while waiting for PLAYING, this function
12484         is used by live sources that block on the clock.
12485         API: gst_base_src_wait_playing()
12486
12487 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12488
12489         Patch by: Peter Kjellerstedt <pkj at axis com>
12490
12491         * Makefile.am:
12492           gst-element-check.m4 is generated and should therefore be
12493           copied from the build dir rather than the source dir (#357593).
12494           'make distcheck' hasn't noticed this because we were disting
12495           the file as well, so stop doing that.
12496
12497 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12498
12499         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12500           Add some tests for gst_caps_intersect().
12501
12502         * tools/gst-launch.c: (event_loop):
12503           Print all buffering percentages we get, even the 100% one.
12504
12505 2006-09-26  Wim Taymans  <wim@fluendo.com>
12506
12507         * tools/gst-inspect.c: (print_element_properties_info),
12508         (print_signal_info):
12509         Fix printing of flags to match the look of enums.
12510
12511 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12512
12513         * gst/gstelementfactory.c:
12514           Fix typo in docs blurb.
12515
12516 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12517
12518         * gst/gsturi.c: (search_by_entry):
12519           Don't assert/crash here if a uri handler doesn't return any
12520           supported protocols. The list of protocols could be generated
12521           dynamically at runtime or at plugin registration, and an error
12522           in the underlying library shouldn't be fatal (#353301).
12523
12524 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12525
12526         * gst/gstinfo.c:
12527           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12528           (spotted by Peter Kjellerstedt).
12529
12530 2006-09-23  Wim Taymans  <wim@fluendo.com>
12531
12532         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12533
12534         * libs/gst/base/gstbasesrc.c:
12535         (gst_base_src_default_check_get_range), (gst_base_src_start),
12536         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12537         (gst_base_src_change_state):
12538         Match _start/_stop calls in the activate functions. Remove redundant
12539         _stop call from the state change function. Fixes #356910.
12540         Turn failure DEBUG into ERROR. 
12541
12542 2006-09-22  Wim Taymans  <wim@fluendo.com>
12543
12544         * docs/design/part-buffering.txt:
12545         * gst/gstmessage.c: (gst_message_new_buffering),
12546         (gst_message_parse_buffering):
12547         Update docs about buffering.
12548
12549         * docs/design/part-trickmodes.txt:
12550         Fix typo.
12551
12552 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12553
12554         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12555         (gst_controller_new_list):
12556           Ref instances when returning them again (fixes #357180)
12557
12558 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12559
12560         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12561           Don't forget to release proxy lock when there's an error.
12562
12563 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12564
12565         * gst/gstcaps.h:
12566           Add extra initialisers for Caps things, to fix some plugin warnings
12567           when using -Wextra
12568
12569 2006-09-18  Wim Taymans  <wim@fluendo.com>
12570
12571         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12572           Also set template on the internal pad so that a getcaps from the 
12573           target pad returns the template caps.
12574
12575 2006-09-18  Wim Taymans  <wim@fluendo.com>
12576
12577         * gst/gstelement.c: (gst_element_post_message),
12578         (gst_element_dispose):
12579         Use _DEBUG_OBJECT some more.
12580
12581         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12582         Avoid typechecks.
12583
12584         * tools/gst-launch.c: (main):
12585         If the toplevel element is not a GstPipeline, it must be put in a
12586         pipeline so that a bus and clock is selected.
12587
12588 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12589
12590         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12591           JITTER, RATE, and LATENCY query should be handled by the
12592           default case and not by the CONVERT query code.
12593
12594 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12595
12596         * gst/gstformat.c: (gst_format_register):
12597           Fix locking order (must take lock before using n_values).
12598
12599         * gst/gstvalue.c: (gst_value_serialize_enum),
12600         (gst_value_deserialize_enum_iter_cmp),
12601         (gst_value_deserialize_enum):
12602           Fix serialisation/deserialisation of custom registered GstFormats.
12603
12604         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12605           Unit test for custom format serialisation/deserialisation.
12606
12607 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12608
12609         * docs/pwg/building-boiler.xml:
12610         * plugins/elements/gstcapsfilter.c:
12611         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12612         section.
12613
12614 2006-09-16  Edward Hervey  <edward@fluendo.com>
12615
12616         * libs/gst/base/gstbasetransform.c:
12617         (gst_base_transform_buffer_alloc):
12618         Check if requested caps are the same as the sinks caps IF
12619         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12620         is FALSE.
12621         This fixes the renegotiation issues stated in #352827.
12622
12623 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12624
12625         * configure.ac:
12626         * docs/manual/advanced-autoplugging.xml:
12627         * tests/examples/Makefile.am:
12628         * tests/examples/manual/.cvsignore:
12629         * tests/examples/manual/Makefile.am:
12630         * tests/examples/manual/extract.pl:
12631           Extract the manual examples again like we used to do.
12632           Fix one of them.
12633
12634 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12635
12636         * win32/common/config.h:
12637           update for version
12638
12639 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12640
12641         * gst/gsterror.c:
12642           Documents how to receive errors.
12643
12644 2006-09-15  Wim Taymans  <wim@fluendo.com>
12645
12646         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12647         (event_loop), (main):
12648         Added some comments here and there.
12649         Post an application message when an interrupt is caught instead of doing
12650         an uncontrolled state change.
12651         Clean up the event loop.
12652         Handle buffering messages, pause/resume the pipeline.
12653         Make shutdown because of an interrupt more reliable.
12654
12655 2006-09-15  Wim Taymans  <wim@fluendo.com>
12656
12657         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12658         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12659         (gst_base_sink_preroll_object):
12660         Make sure that our internal state is correct when we commit our state
12661         asynchronously. This solves a race where a state change to PLAYING
12662         could cause the sink to remain blocked in preroll in some situations.
12663
12664 2006-09-15  Wim Taymans  <wim@fluendo.com>
12665
12666         * tools/gst-inspect.c: (print_element_properties_info),
12667         (print_signal_info):
12668         List flags as hex so it's easier to deal with.
12669
12670 2006-09-15  Wim Taymans  <wim@fluendo.com>
12671
12672         * docs/libs/gstreamer-libs-sections.txt:
12673         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12674         (gst_base_sink_do_sync):
12675         * libs/gst/base/gstbasesink.h:
12676         Expose logic to wait for preroll so that subclasses such as audiosink
12677         can also use this method.
12678         API: gst_base_sink_wait_preroll()
12679
12680 2006-09-15  Wim Taymans  <wim@fluendo.com>
12681
12682         * gst/gstobject.c: (gst_object_set_parent):
12683         * gst/gstpipeline.c: (do_pipeline_seek):
12684         Small cleanups in docs and code.
12685
12686         * gst/gstsegment.c: (gst_segment_clip):
12687         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12688         if stop == start and start is in the segment, no clipping should be
12689         done. Also add a test for this.
12690
12691 2006-09-15  Wim Taymans  <wim@fluendo.com>
12692
12693         * docs/design/part-buffering.txt:
12694         * docs/gst/gstreamer-sections.txt:
12695         * gst/gstmessage.c: (gst_message_new_buffering),
12696         (gst_message_parse_buffering):
12697         * gst/gstmessage.h:
12698         Added methods to create and parse BUFFERING messages.
12699         Added preliminary docs about buffering.
12700         API: gst_message_new_buffering
12701         API: gst_message_parse_buffering
12702
12703 2006-09-06  Wim Taymans  <wim@fluendo.com>
12704
12705         * gst/gstbin.c:
12706         Update documentation.
12707
12708         * gst/gstelement.c: (gst_element_class_init),
12709         (gst_element_release_request_pad), (gst_element_set_clock),
12710         (gst_element_get_index), (gst_element_add_pad),
12711         (gst_element_remove_pad), (gst_element_get_random_pad),
12712         (gst_element_send_event), (gst_element_get_query_types),
12713         (gst_element_query), (gst_element_post_message),
12714         (gst_element_message_full), (gst_element_continue_state),
12715         (gst_element_lost_state), (gst_element_save_thyself),
12716         (gst_element_restore_thyself):
12717         Documentation updates.
12718         Rename last bit of the new-pad -> pad-added signal rename.
12719         Fix the case where an element query would only work if the source
12720         pad was linked.
12721         Avoid some useless type checking in message handling.
12722
12723         * gst/gstevent.c:
12724         * gst/gstevent.h:
12725         * gst/gstutils.c:
12726         Documentation updates.
12727
12728 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12729
12730         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12731           add an INFO line for when we actually update the fd
12732
12733 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12734
12735         * configure.ac:
12736           back to TRUNK
12737
12738 === release 0.10.10 ===
12739
12740 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12741
12742         * configure.ac:
12743           releasing 0.10.10, "Pais"
12744
12745 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12746
12747         * docs/manual/advanced-position.xml:
12748           Fix typo in sample code.
12749
12750 2006-09-05  Wim Taymans  <wim@fluendo.com>
12751
12752         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12753         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12754         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12755         * libs/gst/net/gstnetclientclock.h:
12756         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12757         * libs/gst/net/gstnettimepacket.h:
12758         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12759         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12760         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12761         * libs/gst/net/gstnettimeprovider.h:
12762         Make stuff compile on windows. Fixes #345295.
12763
12764 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12765
12766         * gst/gst.c: (ensure_current_registry_forking):
12767           Print better details when child was terminated by signal.
12768
12769 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12770
12771         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12772           Print a warning rather than g_assert() if a plugin feature
12773           is a URI handler but returns no protocols (#353976).
12774
12775 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12776
12777         * docs/random/moving-plugins:
12778         Fix two typos.         
12779
12780 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12781
12782         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12783           Fix locking order, handle NULL function values properly.
12784
12785         * gst/gstinfo.h:
12786           Fix docs.
12787
12788         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12789           Initialise variable before using it and fix debug statement to
12790           print the address of the function rather than the address of the
12791           variable on the stack holding the address of the function.
12792
12793 2006-09-01  Wim Taymans  <wim@fluendo.com>
12794
12795         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12796         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12797         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12798         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12799         (gst_ghost_pad_parent_unset),
12800         (gst_ghost_pad_internal_do_activate_push),
12801         (gst_ghost_pad_internal_do_activate_pull),
12802         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12803         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12804         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12805         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12806         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12807         (gst_ghost_pad_new_no_target_from_template),
12808         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12809         More cleanups.
12810         Avoid needless typechecking in macros.
12811         Since the internal pad is always present and never changes, there is
12812         no need to locking or ref when retrieving it.
12813         Improve debugging a bit.
12814         Handle link errors when setting the target. Fixes #341029.
12815
12816 2006-09-01  Wim Taymans  <wim@fluendo.com>
12817
12818         * docs/libs/gstreamer-libs-sections.txt:
12819         * docs/plugins/gstreamer-plugins-sections.txt:
12820         Fix docs some more.
12821
12822         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12823         (gst_collect_pads_event):
12824         * libs/gst/base/gstcollectpads.h:
12825         Documentation updates.
12826         Free queued buffer when removing a pad.
12827
12828 2006-08-31  Michael Smith  <msmith@fluendo.com>
12829
12830         * gst/gstutils.c: (gst_element_link_pads),
12831         (gst_element_link_pads_filtered):
12832           Ensure that we set a capsfilter to NULL if we failed to link it
12833           when doing filtered linking, to avoid criticals.
12834
12835           No need to check for unreffing srcpad, which is explicly NULLed
12836           above (a trivial code cleanup).
12837
12838 2006-08-31  Wim Taymans  <wim@fluendo.com>
12839
12840         * docs/design/part-gstghostpad.txt:
12841         Update ascii art in documentation.
12842
12843         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12844         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12845         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12846         (gst_ghost_pad_internal_do_activate_push),
12847         (gst_ghost_pad_internal_do_activate_pull),
12848         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12849         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12850         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12851         (gst_ghost_pad_set_target):
12852         Small cleanups and leak fixes.
12853         Remove some checks now that the internal pad is never NULL.
12854         Fix the case where linking pads without a target would create nasty
12855         criticals. Fixes #341029.
12856         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12857         value of _set_target().
12858
12859         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12860         (gst_ghost_pad_suite):
12861         Some more tests for creating and linking untargeted ghostpads.
12862
12863 2006-08-31  Edward Hervey  <edward@fluendo.com>
12864
12865         * docs/gst/gstreamer-sections.txt:
12866         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12867         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12868         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12869         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12870         (gst_ghost_pad_new_from_template),
12871         (gst_ghost_pad_new_no_target_from_template):
12872         * gst/gstghostpad.h:
12873         Refactored *_new() functions.
12874         Templates are now used as a g_object_new() parameter.
12875         Use template in _do_getcaps() if we don't have a target.
12876         Small documentation cleanups.
12877         Added two new constructors:
12878         gst_ghost_pad_new_from_template()
12879         gst_ghost_pad_new_no_target_from_template()
12880         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12881         (gst_ghost_pad_suite):
12882         Added tests for new ghostpad instanciation functions.
12883
12884         API additions: gst_ghost_pad_new_from_template,
12885         gst_ghost_pad_new_no_target_from_template
12886
12887 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12888
12889         * docs/random/ensonic/profiling.txt:
12890           Ideas about qos profiling.
12891
12892 2006-08-29  Wim Taymans  <wim@fluendo.com>
12893
12894         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12895         Code cleanups.
12896         Fix memleak.
12897
12898 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12899
12900         * gst/gstxml.c:
12901           Improve and detypofy docs.
12902
12903         * tests/check/Makefile.am:
12904         * tests/check/gst/.cvsignore:
12905         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12906           Add a basic test suite for GstXML.
12907
12908 2006-08-29  Wim Taymans  <wim@fluendo.com>
12909
12910         * gst/gstelement.c: (activate_pads), (clear_caps),
12911         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12912         Clear the pad caps when the element shut down all of the pads and
12913         is not streaming data that could modify the caps. 
12914         Fixes #352958.
12915
12916 2006-08-28  Michael Smith  <msmith@fluendo.com>
12917
12918         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12919           Revert previous change; I misunderstood single-segment mode.
12920
12921 2006-08-28  Michael Smith  <msmith@fluendo.com>
12922
12923         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12924           Unset DISCONT on buffers when using single-segment mode.
12925
12926 2006-08-28  Wim Taymans  <wim@fluendo.com>
12927
12928         * gst/gstcaps.c: (gst_caps_merge_structure):
12929         * gst/gstcaps.h:
12930         Fix docs and indentation again.
12931
12932         * tests/check/gst/gstquery.c: (GST_START_TEST):
12933         Fix leak in tests and add some more tests.
12934
12935 2006-08-28  Edward Hervey  <edward@fluendo.com>
12936
12937         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12938         Inform GstSegment of the last stop position in order for the current
12939         segment to have a proper duration if it doesn't have a specific stop
12940         position from which a duration could be calculated.
12941         This bug was noticeable when a non-flushing, non-update new segment was
12942         followed by another segment (all buffers from the new segment were being
12943         dropped).
12944
12945 2006-08-28  Wim Taymans  <wim@fluendo.com>
12946
12947         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12948         Small comment update.
12949
12950         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12951         (gst_identity_transform_ip):
12952         Drop-probability is broken, mention this in the code with a 
12953         FIXME and also in the property description.
12954         Make silent also be silent about the drop messages.
12955
12956 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12957
12958         * docs/manual/appendix-win32.xml:
12959           Remove mention of popt, we don't depend on that any
12960           longer (#353136). Add some comments pointing out that
12961           this section is slightly outdated.
12962
12963 2006-08-28  Wim Taymans  <wim@fluendo.com>
12964
12965         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12966
12967         * gst/gstquery.c: (gst_query_new_segment):
12968         * tests/check/gst/gstquery.c: (GST_START_TEST):
12969         Initialize variables when creating a new segment query.
12970         Fixes #353121.
12971
12972 2006-08-28  Wim Taymans  <wim@fluendo.com>
12973
12974         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12975
12976         * gst/gstelement.c: (gst_element_get_bus):
12977         * tests/check/gst/gstelement.c: (GST_START_TEST):
12978         Check for NULL before _reffing the bus. Fixes #353122.
12979
12980 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12981
12982         * docs/manual/basics-bus.xml:
12983           Docs update: fix wrong callback return value explanation; add
12984           some lines about the implicit relationship between main loop
12985           and main context; remove duplicate main loop variable declaration.
12986
12987 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12988
12989         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12990           Don't leak caps in unit test; add a few more simple
12991           checks. 
12992
12993 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12994
12995         * docs/gst/gstreamer-sections.txt:
12996         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12997         (gst_caps_structure_is_subset), (gst_caps_merge),
12998         (gst_caps_merge_structure):
12999         * gst/gstcaps.h:
13000         * libs/gst/base/gstbasetransform.c:
13001         (gst_base_transform_transform_caps):
13002         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13003           implement caps merging (fixes #352580)
13004
13005 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
13006
13007         * tools/Makefile.am:
13008         * tools/gst-plot-timeline.py:
13009           add debug-log plotting developer tool (#340674)
13010
13011 2006-08-23  Wim Taymans  <wim@fluendo.com>
13012
13013         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
13014         (gst_pad_stop_task):
13015         Improve debugging for task functions.
13016
13017         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
13018         (gst_task_start), (gst_task_pause), (gst_task_join):
13019         Make sure that the task function started and finished after a 
13020         join(). 
13021         Don't try to push the task function on the threadpool multiple
13022         times.
13023         Improve the g_warning message with some useful suggestions
13024         about how to fix the problem. 
13025
13026 2006-08-23  Wim Taymans  <wim@fluendo.com>
13027
13028         * gst/gstutils.c: (gst_pad_proxy_getcaps):
13029         Handle RESYNC correctly in _proxy_getcaps.
13030
13031 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
13032
13033         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
13034         (gst_xml_parse_memory), (gst_xml_get_element):
13035           Chain up to parent class in dispose function and also
13036           unref the elements in the toplevel_elements GList.
13037           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
13038           Always return a reference in gst_xml_get_element() rather
13039           than only sometimes.
13040
13041         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13042           Don't leak GstXml object.
13043
13044 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
13045
13046         * docs/gst/gstreamer-sections.txt:
13047         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
13048         (gst_caps_merge):
13049         * gst/gstcaps.h:
13050         * libs/gst/base/gstbasetransform.c:
13051         (gst_base_transform_transform_caps):
13052           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
13053           in a better way
13054
13055 2006-08-21  Edward Hervey  <edward@fluendo.com>
13056
13057         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
13058         Implement GObject::dispose virtual method in GstXML so we can free the
13059         top_elements GList.
13060
13061 2006-08-21  Wim Taymans  <wim@fluendo.com>
13062
13063         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
13064         (gst_buffer_create_sub):
13065         Copy duration/offset_end/caps when creating a subbuffer of the
13066         complete parent.
13067         Make the subbuffer read-only when we make the metadata writable for
13068         now. Fixes #351768.
13069
13070         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13071         Added check for metadata copy when creating subbuffers.
13072
13073 2006-08-21  Edward Hervey  <edward@fluendo.com>
13074
13075         * libs/gst/base/gstbasetransform.c:
13076         (gst_base_transform_buffer_alloc):
13077         Only call downstream buffer_alloc if transform element is passthrough
13078         or always_in_place. Closes #350449.
13079
13080 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13081
13082         * ChangeLog:
13083           ChangeLog surgery to add comments to previous changes
13084
13085 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13086
13087         * gst/gst.c:
13088           Add comments
13089
13090         * gst/gstpad.c: (gst_pad_set_active):
13091           Be more verbose in the log
13092
13093         * libs/gst/base/gstbasetransform.c:
13094         (gst_base_transform_transform_caps):
13095           Simplify caps to get rid of duplicates, fixes #345444
13096
13097 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13098
13099         * gst/gstvalue.c:
13100         * gst/gstvalue.h:
13101           Use these optimizations only internally.
13102
13103 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
13104
13105         * gst/gstvalue.c: (gst_value_compare_list),
13106         (gst_value_compare_fraction_range),
13107         (gst_value_intersect_fraction_fraction_range),
13108         (gst_value_intersect_fraction_range_fraction_range),
13109         (gst_value_subtract_fraction_fraction_range),
13110         (gst_value_subtract_fraction_range_fraction_range),
13111         (gst_value_get_compare_func), (gst_value_compare),
13112         (gst_value_compare_with_func):
13113         * gst/gstvalue.h:
13114           Saves the expensive lookup of the compare function in many cases
13115          (#345444)
13116
13117 2006-08-18  Edward Hervey  <edward@fluendo.com>
13118
13119         * tests/check/gst/gstinfo.c: (gst_info_suite):
13120         Disable test that require gstdebug if it wasn't built in core.
13121
13122 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13123
13124         * docs/random/ensonic/logging.txt:
13125           update ideas
13126           
13127         * gst/gstinfo.c: (gst_debug_log_default):
13128           reorder fields, save some columns, add optional color codes for log
13129           levels
13130
13131 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
13132
13133         * docs/random/ensonic/logging.txt:
13134           add ideas about making the logs a bit more useful
13135
13136 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13137
13138         * docs/pwg/advanced-events.xml:
13139         * docs/pwg/titlepage.xml:
13140           Update for 0.10 API (#340627). Add myself
13141           to authors list.
13142
13143 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
13144
13145         * docs/libs/gstreamer-libs-docs.sgml:
13146         * docs/libs/gstreamer-libs-sections.txt:
13147         * libs/gst/check/gstbufferstraw.c:
13148           Make gstcheck stuff show up in docs (still needs to
13149           be documented properly though).
13150
13151 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
13152
13153         * docs/gst/gstreamer-sections.txt:
13154         * gst/Makefile.am:
13155         * gst/gst.c: (init_post):
13156         * gst/gst_private.h:
13157         * gst/gstquark.c: (_priv_gst_quarks_initialize):
13158         * gst/gstquark.h:
13159         * gst/gstquery.c: (gst_query_new_position),
13160         (gst_query_set_position), (gst_query_parse_position),
13161         (gst_query_new_duration), (gst_query_set_duration),
13162         (gst_query_parse_duration), (gst_query_new_convert),
13163         (gst_query_set_convert), (gst_query_parse_convert),
13164         (gst_query_new_segment), (gst_query_set_segment),
13165         (gst_query_parse_segment), (gst_query_new_seeking),
13166         (gst_query_set_seeking), (gst_query_parse_seeking):
13167         Add internal helpers for pre-registering quarks from static strings
13168         and using the quark values directly instead of looking them up when
13169         creating and parsing queries. Can be used for event construction too.
13170         Closes #350432.
13171
13172 2006-08-16  Wim Taymans  <wim@fluendo.com>
13173
13174         * gst/gstbin.c:
13175         Fix bogus docs.
13176
13177 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13178
13179         * gst/gstutils.c: (gst_util_set_value_from_string):
13180           Fix memleak (#351502).
13181
13182         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13183           Add unit test for most of gst_util_set_value_from_string()
13184           (not that one would want to encourage use of this function).
13185
13186 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13187
13188         * libs/gst/check/gstcheck.h:
13189           Use const gchar * variables in fail_unless_equals_string
13190           macro to avoid compiler warnings (and don't use tabs for
13191           indenting).
13192
13193 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13194
13195         * tools/gst-launch.c: (print_tag):
13196           More space on the left for the tag names, to cater
13197           for the 'extended comment' tag (not touching the
13198           string for the first line since it's translated).
13199
13200 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
13201
13202         * libs/gst/check/gstcheck.h:
13203           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
13204           print something when they fail.
13205
13206 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13207
13208         * docs/gst/gstreamer-sections.txt:
13209         * gst/gsttaglist.c: (_gst_tag_initialize):
13210         * gst/gsttaglist.h:
13211           API: add GST_TAG_EXTENDED_COMMENT (#350935).
13212           Also change merge function for GST_TAG_COMMENT to
13213           use_first.
13214
13215 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13216
13217         * gst/gstinfo.c: (gst_debug_print_object):
13218           Make GST_PTR_FORMAT print messages as well.
13219
13220         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
13221         (GST_START_TEST), (gst_info_suite):
13222           More tests.
13223
13224 2006-08-14  Edward Hervey  <edward@fluendo.com>
13225
13226         * gst/gstelementfactory.c: (gst_element_register):
13227         If the GstElementClass doesn't have a GstElementDetails with all fields
13228         filled up correctly (longname, description AND author), then error out
13229         nicely instead of crashing.
13230
13231 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
13232
13233         * gst/gststructure.c:
13234           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
13235
13236         * gst/gstvalue.h:
13237           Expand on the difference between arrays and lists as we use them.
13238           
13239 2006-08-14  Wim Taymans  <wim@fluendo.com>
13240
13241         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13242         If the parent state change function failed, don't assume we can safely
13243         stop the source, this will be done when the pads are deactivated.
13244
13245 2006-08-14  Wim Taymans  <wim@fluendo.com>
13246
13247         * gst/gstbuffer.c:
13248         * gst/gsttask.c: (gst_task_join):
13249         Small doc updates.
13250
13251         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
13252         (gst_pad_stop_task):
13253         When pad (de)activation failed for some reason, restore the old
13254         activation mode and set the pad to flushing instead of assuming the
13255         pad is deactivated.
13256         If the _task_join() failed, reinstall the task on the pad so that it can
13257         be stopped later and return an error.
13258
13259 2006-08-11  Andy Wingo  <wingo@pobox.com>
13260
13261         * configure.ac:
13262         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13263         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13264         is only for users of API that don't want to see deprecated
13265         functions in the headers; people that want to compile out
13266         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13267         CFLAGS. Fixes the build of multifdsink, or will soon..
13268
13269 2006-08-11  Wim Taymans  <wim@fluendo.com>
13270
13271         * docs/gst/gstreamer-sections.txt:
13272         Add GstClockClass vmethod docs.
13273
13274         * gst/gstcaps.h:
13275         Mark #endif with comment for associated #if
13276
13277         * gst/gstclock.c: (gst_clock_id_wait):
13278         * gst/gstclock.h:
13279         Add vmethod wait_jitter to avoid an unneeded _get_time() for
13280         most clock implementations.
13281         Document vmethods.
13282         Flesh out docs about resolution methods.
13283         API: GstClockClass::wait_jitter
13284
13285         * gst/gstsystemclock.c: (gst_system_clock_class_init),
13286         (gst_system_clock_async_thread),
13287         (gst_system_clock_id_wait_jitter_unlocked),
13288         (gst_system_clock_id_wait_jitter):
13289         Use base class wait_jitter variant for improved performance
13290         due to less clock polling.
13291
13292 2006-08-11  Edward Hervey  <edward@fluendo.com>
13293
13294         * gst/gst.c: (gst_init_check), (init_post):
13295         Set gst as being initialized before scanning/updating the registry,
13296         since there might be my python plugin loader that calls gst_init() and
13297         we don't want to loop back in.
13298         Closes #350879
13299
13300 2006-08-11  Wim Taymans  <wim@fluendo.com>
13301
13302         * docs/design/part-qos.txt:
13303         Bring docs in line with the code. Mostly the sign of the jitter was
13304         wrong in the docs. Fixes #349943.
13305
13306         * gst/gstclock.c:
13307         Fix the docs for the jitter.
13308
13309         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13310         (gst_event_parse_tag), (gst_event_new_buffer_size),
13311         (gst_event_parse_buffer_size), (gst_event_parse_qos),
13312         (gst_event_new_seek), (gst_event_parse_seek),
13313         (gst_event_new_navigation):
13314         Make sure the GstStructure has no parent when creating custom
13315         events.
13316         Add some more argument checking so that we avoid 0.0 rates.
13317         Flesh out the docs for the QoS event some more.
13318
13319 2006-08-11  Wim Taymans  <wim@fluendo.com>
13320
13321         * docs/gst/gstreamer-sections.txt:
13322         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13323         (ensure_current_registry_forking), (ensure_current_registry),
13324         (parse_one_option), (parse_goption_arg), (gst_deinit),
13325         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13326         * gst/gst.h:
13327         Doc updates.
13328         Added API and command line option to disable registry forking in
13329         addition to the environment variable.
13330         Constify some static arrays.
13331         Added some more debug.
13332         Don't deinit twice.
13333         API: gst_registry_fork_is_enabled()
13334         API: gst_registry_fork_set_enabled()
13335         API: --gst-disable-registry-fork command line option
13336         Fixes #348918.
13337
13338 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
13339
13340         * gst/gst.c: (gst_init):
13341           Fix typo in error message.
13342
13343 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13344
13345         * libs/gst/controller/gstcontroller.h:
13346           fix ABI size-correction
13347
13348         * tests/check/libs/gdp.c: (gst_dp_suite):
13349           make tests that use deprecated API conditional
13350
13351 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
13352
13353         * docs/libs/gstreamer-libs-sections.txt:
13354         * libs/gst/controller/gstcontroller.c:
13355         (_gst_controller_get_property), (_gst_controller_set_property),
13356         (_gst_controller_init), (_gst_controller_class_init):
13357         * libs/gst/controller/gstcontroller.h:
13358         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13359         (gst_object_set_control_rate):
13360           API: add gst_object_{s,g}et_control_rate(), add private data section,
13361           fix docs
13362
13363         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13364         * libs/gst/dataprotocol/dataprotocol.h:
13365           add deprecation guards to make gtk-doc happy and allow disabling cruft
13366
13367 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13368
13369         * tests/check/Makefile.am:
13370         * tests/check/gst/.cvsignore:
13371           Let's enable the new unit test as well.
13372
13373 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13374
13375         * configure.ac:
13376         * docs/gst/gstreamer-sections.txt:
13377         * gst/gstconfig.h.in:
13378         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13379         (_gst_info_printf_extension_ptr),
13380         (_gst_info_printf_extension_segment):
13381           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13382           register that lets us easily dump GstSegments into debug
13383           logs (#350419).
13384
13385         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13386         (info_segment_format_printf_extension), (gst_info_suite):
13387           Add simple unit test that logs a bunch of different segments (not
13388           valgrinded at the moment because of leaks in
13389           gst_debug_add_log_function).
13390
13391 2006-08-09  Edward Hervey  <edward@fluendo.com>
13392
13393         * libs/gst/base/gstbasetransform.c:
13394         (gst_base_transform_buffer_alloc):
13395         Even if we can't figure out the proper format to request downstream,
13396         call buffer_alloc() downstream with the input parameters without setting
13397         the caps on the srcpad. This will force negotiation in the chain
13398         function.
13399         Closes #350449
13400
13401 2006-08-08  Edward Hervey  <edward@fluendo.com>
13402
13403         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13404         Unlinking from a pad without a target is now a perfectly valid case
13405         which should NOT raise an assertion.
13406         This case would happen if a linked ghostpad its target set to NULL after
13407         it was previously linked.
13408
13409 2006-08-08  Edward Hervey  <edward@fluendo.com>
13410
13411         * tests/check/libs/gdp.c:
13412         Also comment out the test (see below).
13413
13414 2006-08-08  Edward Hervey  <edward@fluendo.com>
13415
13416         * tests/check/libs/gdp.c: (gst_dp_suite):
13417         Use the architecture information from config.h and not gcc macros
13418         in order to properly disable a test that fails on PPC64.
13419
13420 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13421
13422         * gst/gstelement.c: (gst_element_remove_pad):
13423           Don't crash printing the warning if the pad has no parent.
13424
13425 2006-08-02  Wim Taymans  <wim@fluendo.com>
13426
13427         * libs/gst/dataprotocol/dataprotocol.c:
13428         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13429         (gst_dp_crc), (gst_dp_header_payload_length),
13430         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13431         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13432         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13433         (gst_dp_event_from_packet), (gst_dp_validate_header),
13434         (gst_dp_validate_payload):
13435         Make debug category static
13436         Constify the crc table.
13437         Do some more arg checking in public functions.
13438         Fix some docs and do some small cleanups.
13439
13440         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13441         Add some more checks to see if GDP deals with bogus input.
13442
13443 2006-07-31  Wim Taymans  <wim@fluendo.com>
13444
13445         * gst/gstvalue.c: (gst_value_compare_list):
13446         Fix GstValueList comparison code. Fixes #347293.
13447
13448         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13449         Check to test GstValueList comparison.
13450
13451 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13452
13453         * gst/gstelementfactory.c: (gst_element_factory_create):
13454         Remove unnecessary ref/unref pair
13455
13456         * gst/parse/grammar.y:
13457         Make sure to free the parse buffer on all code paths.
13458         Move a g_free up to the error handler where it's easier to see.
13459
13460         * tests/check/gst/gstevent.c: (test_event):
13461         Extending timeout for downstream travelling events to 10 seconds to
13462         hopefully avoid intermittent failure on the buildbots.
13463
13464         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13465         Don't manually set the state of the src element - it will happen as a
13466         natural consequence of the pipeline changing state, and that way it
13467         will do it in the right order too.
13468
13469 2006-07-31  Wim Taymans  <wim@fluendo.com>
13470
13471         * libs/gst/base/gstbasetransform.c:
13472         (gst_base_transform_buffer_alloc):
13473         Use OBJECT_LOCK and refcounting to get the pad caps in the
13474         buffer_alloc function because the caps could change while we are
13475         busy with them. Fixes #349105
13476
13477 2006-07-31  Wim Taymans  <wim@fluendo.com>
13478
13479         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13480         Protect _PAD_CAPS with OBJECT_LOCK.
13481
13482 2006-07-31  Wim Taymans  <wim@fluendo.com>
13483
13484         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13485         (gst_pad_get_property), (gst_pad_activate_pull),
13486         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13487         (gst_pad_set_activate_function),
13488         (gst_pad_set_activatepull_function),
13489         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13490         (gst_pad_set_getrange_function),
13491         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13492         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13493         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13494         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13495         (gst_pad_set_acceptcaps_function),
13496         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13497         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13498         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13499         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13500         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13501         (gst_pad_configure_sink), (gst_pad_configure_src),
13502         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13503         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13504         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13505         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13506         (gst_pad_send_event):
13507         Use _DEBUG_OBJECT when it makes sense.
13508         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13509         Small cleanups and code reflows.
13510         Avoid caps refcounting in _accept_caps.
13511         Refactor alloc_buffer so that the code performed on the peer is in a
13512         separate function. Also if the pad does not implement a buffer alloc
13513         function, we should still check if the pad is flushing before falling
13514         back to the default allocator.
13515
13516 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13517
13518         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13519         Make all uses of identity and fakesink have silent=true to avoid
13520         serialising every passing data structure, which is breaking tests
13521         on FC4 for some unknown reason.
13522
13523 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13524
13525         * gst/parse/Makefile.am:
13526         * gst/parse/grammar.y:
13527         * gst/parse/parse.l:
13528           Reverted previous patch as it required to bump the flex dependency to
13529           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13530
13531 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13532
13533         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13534
13535         * gst/parse/Makefile.am:
13536         * gst/parse/grammar.y:
13537         * gst/parse/parse.l:
13538           push & pop the state of the lexer for reentrant use case
13539           Fixes #349180
13540
13541 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13542
13543         * libs/gst/base/gstbasesrc.h:
13544           Note in the docs that the ::newsegment vfunc is not actually used by
13545           GstBaseSrc.
13546
13547 2006-07-28  Wim Taymans  <wim@fluendo.com>
13548
13549         * libs/gst/base/gstcollectpads.c:
13550         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13551         (gst_collect_pads_clear), (gst_collect_pads_flush),
13552         (gst_collect_pads_event), (gst_collect_pads_chain):
13553         When flushing a pad, also clear the queued buffer so that we don't
13554         accidentally use it when we shouldn't.
13555         Fix leaks by inreffing incomming buffer.
13556         Flush out queued buffers in case of errors.
13557         Fixes #347452.
13558
13559 2006-07-28  Wim Taymans  <wim@fluendo.com>
13560
13561         * docs/random/phonon-gst:
13562         Random notes about a Phonon backend.
13563
13564 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13565
13566         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13567         Extra debug output
13568         * tests/check/libs/gdp.c: (gst_dp_suite):
13569         Take a whack at fixing the ppc compile using a different define to
13570         disable the broken test.
13571
13572         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13573         Remove excess g_print()
13574
13575 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13576
13577         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13578         Oops, meant to uncomment this line too to dampen the noise a bit.
13579
13580 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13581
13582         * gst/parse/grammar.y:
13583         * gst/parse/parse.l:
13584         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13585         (GST_START_TEST), (parse_suite):
13586         Fix some of the leaks exposed by extending the parse-launch testsuite,
13587         and move the 3 I can't figure out into a separate test that won't run
13588         the pipelines unless the appropriate line is uncommented.
13589
13590 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13591
13592         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13593           Requesting 0 bytes before the end of the file should result in
13594           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13595           unit test.
13596
13597 2006-07-27  Wim Taymans  <wim@fluendo.com>
13598
13599         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13600         Fix useless assert, a uint is always positive.
13601
13602         * gst/gststructure.c: (gst_structure_nth_field_name),
13603         (gst_structure_foreach), (gst_structure_map_in_place):
13604         Check input arguments for public functions to avoid obvious crashes.
13605
13606         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13607         * plugins/elements/gstfakesink.h:
13608         Do less useless typechecking.
13609
13610 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13611
13612         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13613           Do not use mmap() by default since there are a number of error
13614           conditions that we would like to handle in a non-fatal way that
13615           will result in a SIGBUS if we use mmap(). Examples: external
13616           devices (USB harddrive, portable music player) being unplugged
13617           while in use; file on mounted CD/DVD that can't be read because
13618           the medium is partly damaged. Fixes #348455 and #348475.
13619
13620 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13621
13622         * gst/gstquery.h:
13623         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13624         rates are a gdouble
13625
13626 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13627
13628         * gst/gstregistry.c:
13629           Move big documentation comment into class section header, so that it
13630           appears in the API docs.
13631
13632 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13633
13634         * docs/gst/gstreamer-sections.txt:
13635         Oops. Commit the docs additions too for new API.
13636         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13637
13638 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13639
13640         * gst/gststructure.c: (gst_structure_id_set),
13641         (gst_structure_id_set_valist):
13642         * gst/gststructure.h:
13643         Add API for setting values into structures without performing
13644         a quark lookup, if the appropriate quark is already known.
13645
13646         API: gst_structure_id_set
13647         API: gst_structure_id_set_valist
13648
13649         * gst/parse/grammar.y:
13650         * gst/parse/parse.l:
13651         Remove some dead code shown by the coverage information.
13652         Don't throw a critical g_warning when encountering a syntax error,
13653         just warn and let the normal error path handle it.
13654
13655         * plugins/elements/gstelements.c:
13656         Bump the rank of filesink up to PRIMARY so that it is preferred over
13657         gnomevfssink for file:// sink uri's
13658
13659         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13660         (GST_START_TEST), (run_delayed_test),
13661         (gst_parse_test_element_base_init),
13662         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13663         (gst_parse_test_element_change_state),
13664         (gst_register_parse_element), (parse_suite):
13665         Beef up the tests for parse syntax to check that more error cases
13666         fail as they are supposed to. Increases the test coverage a bit.
13667
13668 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13669
13670         * docs/manual/basics-elements.xml:
13671           Fix gst_element_link() example.
13672
13673         * gst/gstutils.c:
13674           Mention in API docs that one should usually gst_bin_add()
13675           elements to a bin or pipeline before doing the linking.
13676           
13677 2006-07-26  Wim Taymans  <wim@fluendo.com>
13678
13679         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13680         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13681         Avoid function call for known types by keeping the buffer and
13682         subbuffer GType global.
13683
13684         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13685         Random silly optimisations in read() path.
13686
13687 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13688
13689         * tools/gst-launch.c: (main):
13690           If the top-level of the parse is a normal bin, it doesn't do the
13691           right logic to run as a top-level element, so place it inside a
13692           pipeline.
13693
13694 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13695
13696         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13697           Remove superfluous g_object_notify() calls, GObject does
13698           that for us automatically.
13699
13700 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13701
13702         * gst/gstinfo.h:
13703           on Win32, use dllspec to export the debug category symbols
13704
13705 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13706
13707         * gst/gsttaglist.c: (_gst_tag_initialize):
13708           Allow more than one GST_TAG_IMAGE per taglist.
13709
13710 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13711
13712         * gst/gstminiobject.c:
13713           update docs
13714         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13715         (gst_fd_src_create):
13716           log recurring events at LOG level
13717           add more debug for when the fd gets set
13718
13719 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13720
13721         * gst/gstparse.c: (gst_parse_launch):
13722           Also remove reentrance checks if flex is MT safe (#348179)
13723          Fix my empty ChangeLog entry below
13724
13725 2006-07-21  Andy Wingo  <wingo@pobox.com>
13726
13727         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13728
13729         * libs/gst/check/Makefile.am
13730         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13731         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13732         * libs/gst/check/gstbufferstraw.h:
13733         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13734         functions, thus proving I am still a GStreamer haxor. OK I wrote
13735         them a long time ago, but anyways.
13736
13737 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13738
13739         * configure.ac:
13740         * gst/gstparse.c: (gst_parse_launch):
13741           Check for flex version and omit mutex if we have a MT save flex
13742           (fixes #348179)
13743
13744 2006-07-21  Wim Taymans  <wim@fluendo.com>
13745
13746         * gst/gstparse.c: (gst_parse_launch):
13747         Protect recursive calls to _parse with a recursive mutex
13748         and busy flag.
13749
13750 2006-07-21  Wim Taymans  <wim@fluendo.com>
13751
13752         * tests/check/gst/gstpad.c: (GST_START_TEST):
13753         Fix leak in test.
13754
13755 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13756
13757         * gst/gstparse.c: (gst_parse_launch):
13758           Do not hang on recursive usage of gst_parse_launch()
13759
13760 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13761
13762         * gst/gsttaglist.c:
13763           Add some more docs, comments and FIXME 0.11s here and there
13764           and also fix some typos.
13765
13766 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13767
13768         * gst/gstsegment.h:
13769           Convert tabs to spaces for better readability. 
13770
13771 2006-07-20  Edward Hervey  <edward@fluendo.com>
13772
13773         * tests/check/libs/gdp.c: (gst_dp_suite):
13774         the test_buffer test fails at line 140 on ppc64 at the following
13775         check:
13776         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13777                 GST_BUFFER_FLAG_IN_CAPS),
13778                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13779         See bug #348114 for more details.
13780
13781 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13782
13783         * docs/pwg/advanced-scheduling.xml:
13784         * gst/gstpad.c:
13785           Fix typos (#348000).
13786
13787 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13788
13789         * docs/pwg/intro-basics.xml:
13790           Fix wrong links (#347927).
13791
13792 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13793
13794         * gst/gstregistry.h:
13795         * gst/gstregistryxml.c: (load_feature),
13796         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13797         * win32/common/config.h:
13798           make --disable-index work (#342564)
13799
13800 2006-07-18  Wim Taymans  <wim@fluendo.com>
13801
13802         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13803
13804         * gst/Makefile.am:
13805         * gst/gsttrace.h:
13806         The attached patch adds two missing defines to gsttrace.h when tracing
13807         is disabled.  It also corrects one existing define.
13808         Fixes #347756.
13809
13810 2006-07-17  Wim Taymans  <wim@fluendo.com>
13811
13812         * docs/gst/gstreamer-sections.txt:
13813         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13814         * gst/gst.h:
13815         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13816         Add two functions to check and change the SIGSEGV behaviour
13817         when loading plugins.
13818         Don't mess with the SIGSEGV handler when we were told not to.
13819         Fixes #347794.
13820         API: gst_segtrap_is_enabled
13821         API: gst_segtrap_set_enabled
13822
13823 2006-07-14  Wim Taymans  <wim@fluendo.com>
13824
13825         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13826         * tests/check/elements/filesrc.c: (GST_START_TEST):
13827         Revert fix for regression in #347408 after release.
13828
13829 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13830
13831         Patch by: Antoine Tremblay <hexa00 at gmail com>
13832
13833         * gst/gstutils.c: (gst_element_unlink):
13834           Free iterator when done (#347311).
13835
13836         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13837           And add a test case for this.
13838
13839 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13840
13841         * configure.ac:
13842         Bump nano back to CVS
13843
13844 === release 0.10.9 ===
13845
13846 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13847
13848         * configure.ac:
13849           releasing 0.10.9, "On the road again"
13850
13851 2006-07-13  Wim Taymans  <wim@fluendo.com>
13852
13853         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13854         * tests/check/elements/filesrc.c: (GST_START_TEST):
13855         Revert pull-0 fix for release. Disable check. Fixes #347408.
13856
13857 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13858
13859         * libs/gst/dataprotocol/dataprotocol.c:
13860         (gst_dp_event_from_packet_1_0):
13861           Fixes #347337: failure to deserialize event packets with
13862           empty payload (only event type)
13863
13864 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13865
13866         * gst/Makefile.am:
13867           do not install a .c file in the header directory
13868
13869 2006-07-13  Edward Hervey  <edward@fluendo.com>
13870
13871         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13872         GhostPad no longer implicitely use the padtemplates of the targets.
13873         Fixes #347384
13874
13875 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13876
13877         * gst/gstvalue.c: (gst_value_compare_list),
13878         (gst_value_compare_array), (_gst_value_initialize):
13879         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13880         Make GstValueArray comparison be order dependent as designed.
13881         Add checks for value lists and value array comparisons.
13882         Fixes #347221
13883
13884 2006-07-11  Edward Hervey  <edward@fluendo.com>
13885
13886         * gst/gstbin.c: (activate_pads),
13887         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13888         (gst_bin_change_state_func):
13889         (de)activate src pads before calling state_change on the childs.
13890         This is to avoid the case where a src ghostpad is blocked (holding the
13891         stream lock), which would block the deactivation of the ghostpad's
13892         target pad.
13893         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13894         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13895         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13896         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13897         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13898         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13899         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13900         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13901         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13902         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13903         (gst_ghost_pad_class_init),
13904         (gst_ghost_pad_internal_do_activate_push),
13905         (gst_ghost_pad_internal_do_activate_pull),
13906         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13907         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13908         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13909         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13910         GhostPads now create their internal GstProxyPad at creation (and not
13911         when they're linked, as it was being done previously).
13912         The internal and target pads are linked straight away.
13913         The data will also travel through the other pad in order to make
13914         pad blocking and probes non-hackish (the probe/block now really happens
13915         on the GhostPad and not on the target).
13916         * gst/gstpad.c: (gst_pad_set_blocked_async),
13917         (gst_pad_link_prepare), (gst_pad_push_event):
13918         Remove previous ghostpad cruft.
13919         * gst/gstutils.c: (gst_pad_add_data_probe),
13920         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13921         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13922         (gst_pad_remove_buffer_probe):
13923         Remove previous ghost pad cruft.
13924         Added more detailed debug statements.
13925         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13926         Fix the testsuite for refcounting changes.
13927         The comments about who has references were correct, but the refcount
13928         being checked wasn't the same (!?!).
13929
13930         Fixes #341029
13931
13932 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13933
13934         * docs/gst/gstreamer-sections.txt:
13935         * gst/gstconfig.h.in:
13936         More docs for configuration options, add docs to gtk-doc.
13937
13938 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13939
13940         * gst/Makefile.am:
13941         * gst/gstconfig.h.in:
13942         * win32/common/config.h:
13943         Fix build when disabling tracing (fixes #344016). Also start to document
13944         the defines that disable the sub-systems.
13945
13946 2006-07-10  Edward Hervey  <edward@fluendo.com>
13947
13948         * gst/gst.c: (ensure_current_registry_forking):
13949         let's make valgrind happy...
13950
13951 2006-07-09  Wim Taymans  <wim@fluendo.com>
13952
13953         * gst/gstelement.c: (activate_pads),
13954         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13955         Better pad activation code: Reset the collect value too on resync.
13956         Add some comments.
13957
13958 2006-07-09  Wim Taymans  <wim@fluendo.com>
13959
13960         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13961         (gst_pad_activate_push):
13962         Use some more macros where it makes sense.
13963         Allow pad mode switching instead of asserting. When a pad
13964         is activated in one mode and we activate it in another, 
13965         deactivate it first before activating it in a different mode.
13966         Fixes #329198.
13967
13968 2006-07-08  Andy Wingo  <wingo@pobox.com>
13969
13970         * tools/gst-launch.c (main): Handle err == NULL.
13971
13972         * gst/gst.c (init_post, ensure_current_registry)
13973         (ensure_current_registry_forking)
13974         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13975         factoring out the registry scanning into separate functions. Don't
13976         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13977         Better environment var name/interface suggestions accepted.
13978
13979 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13980
13981         * gst/gstobject.c: (gst_object_set_name_default),
13982         (gst_object_set_name):
13983           Random micro-optimisation: don't use a hash table
13984           with strings as keys and the usual strdup/strcmp
13985           involved, but rather just use the GQuark of the
13986           type name as key, since it needs to be looked up
13987           anyway to get the type name string.
13988
13989         * tests/check/gst/gstobject.c: (GST_START_TEST):
13990           Fix various leaks.
13991
13992 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13993
13994         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13995         (gst_bin_iterate_all_by_interface):
13996           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13997           GTypes are gulongs and thus the top 4 bytes might be cut
13998           off on some platforms when doing GPOINTER_TO_INT, leading
13999           to invalid GTypes and bad things happening (see RH bug #179654).
14000           Also add a check to make sure the type passed in is really
14001           an interface type.
14002
14003 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14004
14005         * .cvsignore:
14006           Ignore more.
14007
14008 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
14009
14010         * Makefile.am:
14011         * configure.ac:
14012         * gst-element-check.m4:
14013         * gst-element-check.m4.in:
14014           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
14015           instead of the unversioned gst-inspect (#324176, #168659).
14016
14017 2006-07-06  Wim Taymans  <wim@fluendo.com>
14018
14019         * gst/gstmessage.h:
14020         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
14021         warnings.
14022
14023 2006-07-06  Wim Taymans  <wim@fluendo.com>
14024
14025         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14026         (gst_base_src_wait), (gst_base_src_update_length),
14027         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
14028         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
14029         (gst_base_src_loop), (gst_base_src_start),
14030         (gst_base_src_activate_pull):
14031         Update docs.
14032         blocksize == 0 now means the default blocksize when working in push
14033         based mode.
14034         Remove some pointless asserts in _wait function.
14035         Fix offset/length calculations and EOS handling. We can now pull 0
14036         bytes as well, which is allowed.
14037         use _check_get_range() to decide if we can operate in _pull based
14038         mode.
14039         Fix refcounting leak when check_get_range function was not 
14040         implemented.
14041         API GstBaseSrc::blocksize range can be 0 too now (default)
14042
14043         * tests/check/elements/filesrc.c: (GST_START_TEST),
14044         (filesrc_suite):
14045         Added check to test _get_range() behaviour.
14046
14047 2006-07-06  Wim Taymans  <wim@fluendo.com>
14048
14049         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14050         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
14051         (gst_pad_pull_range):
14052         * gst/gstpad.h:
14053         Lots of comments and docs added to the pad functions.
14054         Flesh out the expected behaviour of the get_range() functions.
14055
14056 2006-07-06  Wim Taymans  <wim@fluendo.com>
14057
14058         * gst/gstbus.h:
14059         * gst/gstclock.h:
14060         * gst/gstevent.h:
14061         * gst/gstiterator.h:
14062         * gst/gstpad.h:
14063         * gst/gstplugin.h:
14064         * gst/gsttask.h:
14065         Remove comma at end of enumerator list. 
14066
14067 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
14068
14069         * win32/common/libgstbase.def:
14070         * win32/common/libgstdataprotocol.def:
14071         * win32/common/libsgtreamer.def:
14072         Add new exported functions.
14073
14074 2006-07-05  Wim Taymans  <wim@fluendo.com>
14075
14076         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
14077         Add some more docs here and there.
14078
14079 2006-07-05  Wim Taymans  <wim@fluendo.com>
14080
14081         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
14082         (gst_base_sink_loop), (gst_base_sink_get_position):
14083         When operating in pull mode update the offset so that we
14084         read sequentially.
14085
14086 2006-07-05  Wim Taymans  <wim@fluendo.com>
14087
14088         * gst/gstregistryxml.c: (read_string):
14089         Avoid strdup. (will happen in libxml, but hey!)
14090
14091         * gst/gsturi.c:
14092         Add some more docs.
14093
14094 2006-07-05  Wim Taymans  <wim@fluendo.com>
14095
14096         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
14097         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
14098         (gst_buffer_suite):
14099         No point in checking if the size of the subbuffer > 0, the
14100         code handles it correclty as demonstrated by unit test.
14101         Also add a unit test for the zero sized _new_and_alloc and
14102         _copy. Fixes #346663.
14103
14104 2006-07-05  Wim Taymans  <wim@fluendo.com>
14105
14106         * libs/gst/base/gstbasetransform.c:
14107         (gst_base_transform_prepare_output_buffer),
14108         (gst_base_transform_buffer_alloc),
14109         (gst_base_transform_handle_buffer):
14110         Make sure the buffer we pass to transform_ip has a refcount of
14111         1 and thus is writable. Fixes #343196
14112
14113 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
14114
14115         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14116         (gst_file_src_init), (gst_file_src_set_property),
14117         (gst_file_src_get_property), (gst_file_src_map_region):
14118         * plugins/elements/gstfilesrc.h:
14119         Add "sequential" property, off by default, to use madvise and hint
14120         to the kernel that sequential access is desired.
14121         Touch all retrieved pages by default to ensure they are pulled
14122         into memory. (Closes #345720)
14123
14124 2006-07-03  Wim Taymans  <wim@fluendo.com>
14125
14126         * docs/design/part-block.txt:
14127         * docs/design/part-dynamic.txt:
14128         Small docs updates.
14129
14130 2006-07-03  Wim Taymans  <wim@fluendo.com>
14131
14132         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
14133         (gst_caps_unref), (gst_static_caps_get),
14134         (gst_caps_append_structure):
14135         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
14136         Use GSlice when the glib we build against is >= 2.10
14137
14138 2006-07-03  Wim Taymans  <wim@fluendo.com>
14139
14140         * gst/gstelement.c: (gst_element_pads_activate):
14141         Small cleanup in pad activation code.
14142
14143 2006-07-03  Wim Taymans  <wim@fluendo.com>
14144
14145         Patch by: Peter Kjellerstedt <pkj at axis dot com>
14146
14147         * gst/gst-i18n-app.h:
14148         * gst/gst-i18n-lib.h:
14149         * tools/gst-inspect.c: (print_signal_info):
14150         The attached patch will make the inclusion of gettext.h unconditional in
14151         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
14152         libintl.h in tools/gst-inspect.c.
14153         This allows use of --disable-nls again and fixes #344642.
14154
14155 2006-07-03  Edward Hervey  <edward@fluendo.com>
14156
14157         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
14158         Implement pad blocking on events according to part-block.txt.
14159         More comments on behaviour.
14160         * tests/check/gst/gstevent.c: (test_event):
14161         Send event to peer pad of blocked pad (else it will block).
14162
14163 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14164
14165         * libs/gst/check/gstcheck.c: (gst_check_message_error),
14166         (gst_check_run_suite):
14167           if we get the wrong message, give us the types as string
14168         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
14169           Fix a translatable
14170         * tests/check/elements/filesrc.c: (GST_START_TEST):
14171           add a test for trying to open a non-existing file
14172
14173 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14174
14175         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14176           add a test for adding self
14177
14178 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14179
14180         * libs/gst/check/gstcheck.h:
14181           add some assert_ as alias for fail_unless_*
14182         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
14183           increase test coverage
14184
14185 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14186
14187         * Makefile.am:
14188           include lcov.mak for lcov coverage generation
14189         * tools/Makefile.am:
14190           add to CLEANFILES
14191
14192 2006-07-02  Edward Hervey  <edward@fluendo.com>
14193
14194         * tests/check/elements/.cvsignore:
14195         moaping
14196
14197 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14198
14199         * configure.ac:
14200           don't set CFLAGS and friends for gcov, done from GST_GCOV now
14201         * tests/check/Makefile.am:
14202           clean up gcov files
14203
14204 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14205
14206         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
14207           remove gst_caps_simplify; it was not declared and not used
14208           and deprecated in 0.8
14209
14210 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14211
14212         * docs/faq/gst-uninstalled:
14213           don't put empty paths on PYTHONPATH
14214         * docs/gst/gstreamer-sections.txt:
14215           remove some symbols that are not there
14216
14217 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14218
14219         * gst/gstcaps.c: (gst_caps_compare_structures):
14220           whitespace fixes
14221         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14222         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14223           add more tests
14224
14225 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14226
14227         * libs/gst/dataprotocol/Makefile.am:
14228           build dataprotocol test by linking to the lib, instead of
14229           compiling the source, so we get coverage
14230         * tests/check/Makefile.am:
14231         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
14232         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
14233           add a test for filesrc
14234
14235 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14236
14237         * tests/check/gst/gststructure.c: (GST_START_TEST),
14238         (gst_structure_suite):
14239           Push coverage from 59.04% to 70.00%
14240
14241 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14242
14243         * tests/check/Makefile.am:
14244           gst-inspect every element; this makes sure that we also get
14245           coverage on element's get/set functions
14246
14247 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14248
14249         * configure.ac:
14250           set CFLAGS and friends to -O0 if gcov is being used
14251           add GCOV LIBS
14252         * gst/Makefile.am:
14253         * libs/gst/base/Makefile.am:
14254         * libs/gst/check/Makefile.am:
14255         * libs/gst/controller/Makefile.am:
14256         * libs/gst/dataprotocol/Makefile.am:
14257         * libs/gst/net/Makefile.am:
14258         * plugins/elements/Makefile.am:
14259         * plugins/indexers/Makefile.am:
14260           add makefile rules to generate gcov data and clean up
14261         * tests/check/Makefile.am:
14262           add a coverage target that generates an html overview
14263           of coverage data
14264
14265 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14266
14267         * tests/check/elements/fakesink.c:
14268         * tests/check/elements/fakesrc.c:
14269         * tests/check/elements/fdsrc.c:
14270         * tests/check/elements/identity.c:
14271         * tests/check/generic/sinks.c: (gst_sinks_suite):
14272         * tests/check/generic/states.c:
14273         * tests/check/gst/gst.c:
14274         * tests/check/gst/gstabi.c:
14275         * tests/check/gst/gstbin.c:
14276         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14277         * tests/check/gst/gstbus.c: (gst_bus_suite):
14278         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14279         * tests/check/gst/gstelement.c:
14280         * tests/check/gst/gstevent.c: (gst_event_suite):
14281         * tests/check/gst/gstghostpad.c:
14282         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14283         * tests/check/gst/gstmessage.c: (gst_message_suite):
14284         * tests/check/gst/gstminiobject.c:
14285         * tests/check/gst/gstobject.c:
14286         * tests/check/gst/gstpad.c:
14287         * tests/check/gst/gstpipeline.c:
14288         * tests/check/gst/gstplugin.c:
14289         * tests/check/gst/gstquery.c: (gst_query_suite):
14290         * tests/check/gst/gstsegment.c: (gst_segment_suite):
14291         * tests/check/gst/gststructure.c:
14292         * tests/check/gst/gstsystemclock.c:
14293         * tests/check/gst/gsttag.c:
14294         * tests/check/gst/gsttask.c: (gst_task_suite):
14295         * tests/check/gst/gstutils.c:
14296         * tests/check/gst/gstvalue.c:
14297         * tests/check/libs/adapter.c:
14298         * tests/check/libs/basesrc.c:
14299         * tests/check/libs/collectpads.c:
14300         * tests/check/libs/controller.c:
14301         * tests/check/libs/gdp.c: (gst_dp_suite):
14302         * tests/check/libs/gstnetclientclock.c:
14303         * tests/check/libs/gstnettimeprovider.c:
14304         * tests/check/libs/libsabi.c: (libsabi_suite):
14305         * tests/check/libs/typefindhelper.c:
14306         * tests/check/pipelines/cleanup.c:
14307         * tests/check/pipelines/parse-launch.c:
14308         * tests/check/pipelines/simple-launch-lines.c:
14309         * tests/check/pipelines/stress.c: (stress_suite):
14310           use the new macro
14311
14312 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14313
14314         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14315         * libs/gst/check/gstcheck.h:
14316           create a macro and function so that the simple unit test
14317           case can be just one macro to create main()
14318
14319 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
14320
14321         * gst/gstbin.c: (gst_bin_restore_thyself):
14322         * gst/gstxml.c: (gst_xml_make_element):
14323           Fix deserialisation from XML. Set parent manually
14324           instead of using gst_bin_add(), since gst_bin_add()
14325           will unlink all pads of the element being added.
14326           Fixes #341667.
14327
14328 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
14329
14330         Patch by: Peter Kjellerstedt <pkj at axis com>
14331
14332         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14333           Fix missing g_strdup() and double free when using the
14334           --gst-plugin-load command line option (#346097).
14335
14336 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14337
14338         * gst/gstinfo.c:
14339           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14340
14341         * libs/gst/net/gstnetclientclock.c:
14342         * libs/gst/net/gstnettimeprovider.c:
14343           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14344
14345 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
14346
14347         * docs/manual/advanced-dataaccess.xml:
14348           Fix buffer probe example compilation in
14349           ADM (#345708).
14350         
14351 2006-06-22  Edward Hervey  <edward@fluendo.com>
14352
14353         * gst/gstelement.c: (gst_element_pads_activate):
14354         We need to deactivate src pads first and then sink pads.
14355         The reason is the src pads might be blocking while holding the streaming
14356         lock, so we need to deactivate them first so that deactivating the sink
14357         pads doesn't block (since it will require the streaming lock).
14358
14359 2006-06-22  Wim Taymans  <wim@fluendo.com>
14360
14361         * libs/gst/base/gstbasetransform.c:
14362         (gst_base_transform_buffer_alloc):
14363         Forgot to remove two unneeded unrefs.
14364         Simplify a check _is_equal allready checks the obvious case.
14365
14366 2006-06-22  Wim Taymans  <wim@fluendo.com>
14367
14368         * docs/design/part-block.txt:
14369         Some docs about what pad_block should do.
14370
14371 2006-06-22  Wim Taymans  <wim@fluendo.com>
14372
14373         * gst/gstcaps.c: (gst_caps_replace):
14374         Fix crasher when passed NULL. Doc clarification.
14375         Optimize for the trivial case.
14376
14377         * gst/gstpipeline.c: (gst_pipeline_change_state):
14378         Small cleanups.
14379
14380         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14381         Small documentation cleanup.
14382
14383         * libs/gst/base/gstbasetransform.c:
14384         (gst_base_transform_buffer_alloc):
14385         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14386         is what we need and it avoids a whole lot of redundant 
14387         refcount operations.
14388
14389 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14390
14391         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14392
14393         * docs/manual/advanced-dataaccess.xml:
14394           Fix 'Embedding static elements' section to use
14395           GST_PLUGIN_DEFINE_STATIC (#345607).
14396
14397 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14398
14399         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14400           Attempt to 'fix' spuriously failing test case: it seems like the
14401           timeout of half a second is simply too small when the system is under
14402           load otherwise, and the timeout doesn't really seem to serve any
14403           particular purpose here. Give the pipeline a few seconds to preroll
14404           first, and then give it another half a second to go from PAUSED to
14405           PLAYING and marshal the message into the main thread.
14406
14407 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14408
14409         * tools/gst-feedback-m.m:
14410           Don't only use unversioned tools, try versioned tools as well
14411           (#345086).
14412
14413 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14414
14415         * gst/gstbus.c: (gst_bus_class_init):
14416           Fix some typos, make docs more explicit.
14417
14418 2006-06-20  Wim Taymans  <wim@fluendo.com>
14419
14420         * tests/check/gst/gstghostpad.c: (block_callback),
14421         (GST_START_TEST), (gst_ghost_pad_suite):
14422         Added some more ghostpad tests, mainly blocking
14423         and probes.
14424
14425 2006-06-16  Wim Taymans  <wim@fluendo.com>
14426
14427         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14428         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14429         (gst_file_sink_event), (gst_file_sink_render):
14430         * plugins/elements/gstfilesink.h:
14431         Check if we can seek in the file instead of assuming
14432         we always can. Post an error when we are asked to seek in a
14433         non-seekable file (like a fifo). Fixes #343312.
14434         Some cleanups.
14435
14436 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14437
14438         * tools/gst-launch.1.in:
14439           Un-garble (fourcc) bit in filtered caps section.
14440
14441 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14442
14443         * docs/manual/advanced-autoplugging.xml:
14444         * docs/manual/basics-helloworld.xml:
14445         * docs/manual/highlevel-components.xml:
14446           Don't leak bus reference in sample code.
14447
14448 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14449
14450         * autogen.sh:
14451           Add default for new --enable-plugin-docs switch.
14452
14453         * configure.ac:
14454           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14455           Fixes #344039.
14456
14457         * docs/Makefile.am:
14458           Use new ENABLE_PLUGIN_DOCS conditional.
14459
14460 2006-06-14  Wim Taymans  <wim@fluendo.com>
14461
14462         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14463         Make it clear with a FIXME and a real define what the #if 0
14464         previously disabled.
14465
14466 2006-06-14  Wim Taymans  <wim@fluendo.com>
14467
14468         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14469         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14470         * libs/gst/base/gstbasetransform.c:
14471         (gst_base_transform_sink_eventfunc):
14472         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14473         Don't randomly and silently reset a segment when the format 
14474         changes as this is a bug somewhere upstream. Fixes #330379.
14475
14476 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14477
14478         Patch by: Wouter Paesen  <wouter at kangaroot net>
14479
14480         * libs/gst/controller/gstcontroller.c:
14481         (gst_controlled_property_new):
14482           Fix controlling of float properties (#344849).
14483
14484         * tests/check/libs/controller.c:
14485         (gst_test_mono_source_get_property),
14486         (gst_test_mono_source_set_property),
14487         (gst_test_mono_source_class_init), (GST_START_TEST):
14488           While we're at it, add some float stuff to unit test.
14489
14490 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14491
14492         * docs/README:
14493         * docs/images/gdp-header.svg:
14494           add a gdp image
14495         * docs/libs/Makefile.am:
14496         * docs/libs/gdp-header.png:
14497         * libs/gst/dataprotocol/dataprotocol.c:
14498           add it to the API docs
14499         * docs/manual/intro-motivation.xml:
14500           fix typo
14501
14502 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14503
14504         * gst/gst.c: (scan_and_update_registry), (init_post):
14505           If the fork()'ed child process can't write the updated registry cache
14506           file to disk for some reason, make it exit with a failure exit code,
14507           so that the parent can then re-scan the plugins itself and update the
14508           registry structures in memory and work with that (rather than failing
14509           when creating elements because seemingly no plugins are available).
14510           Refactor registry scanning code into separate function for this and
14511           also separate fork() and non-fork() code paths. Fixes #344748.
14512
14513 2006-06-13  Wim Taymans  <wim@fluendo.com>
14514
14515         * docs/manual/advanced-dataaccess.xml:
14516         Fix wrong PluginDesc. Fixes #344755.
14517
14518 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14519
14520         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14521           Fix silly bug that prevented us from creating
14522           ~/.gstreamer-0.10 and writing the registry in one
14523           go (the first call to g_mkstemp() would overwrite the
14524           placeholder in the template string, so the second call
14525           to g_mkstemp() after creating the missing directory
14526           would then error out with 'invalid argument').
14527
14528 2006-06-13  Edward Hervey  <edward@fluendo.com>
14529
14530         * gst/gst.c: (init_post):
14531         Free string.
14532
14533 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14534
14535         * gst/glib-compat-private.h:
14536         * gst/glib-compat.c:
14537         * gst/glib-compat.h:
14538         * gst/gstvalue.c: (gst_value_serialize_flags):
14539           remove GLib 2.6 compatibility code
14540
14541 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14542
14543         * gst/parse/Makefile.am:
14544           Fix build with 'make -j N' even more (#340016).
14545
14546 2006-06-12  Wim Taymans  <wim@fluendo.com>
14547
14548         * docs/gst/gstreamer-sections.txt:
14549         Fix docs.
14550
14551 2006-06-12  Wim Taymans  <wim@fluendo.com>
14552
14553         * gst/gstsegment.c: (gst_segment_set_duration),
14554         (gst_segment_set_last_stop), (gst_segment_set_seek),
14555         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14556         (gst_segment_to_running_time), (gst_segment_clip):
14557         Use G_UNLIKELY to help the compiler a bit.
14558
14559 2006-06-12  Wim Taymans  <wim@fluendo.com>
14560
14561         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14562
14563         * gst/gstevent.c: (gst_event_get_type):
14564         * gst/gstmessage.c:
14565         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14566         (gst_pad_push):
14567         constify quark registration strings. Fixes #344115
14568         Avoid unneeded type checking is _pad_push() by internally
14569         calling gst_pad_chain_unchecked().
14570
14571 2006-06-12  Wim Taymans  <wim@fluendo.com>
14572
14573         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14574         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14575         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14576         (gst_buffer_is_span_fast), (gst_buffer_span):
14577         Init _type for consistency.
14578         Use _FLAGS macro to avoid type check.
14579         Avoid unneeded type checks in subbufer code.
14580
14581 2006-06-12  Wim Taymans  <wim@fluendo.com>
14582
14583         * gst/gst.c: (gst_debug_help):
14584         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14585         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14586         (gst_plugin_feature_list_free):
14587         * gst/gstregistry.c: (gst_registry_add_plugin),
14588         (gst_registry_add_feature), (gst_registry_plugin_filter),
14589         (gst_registry_feature_filter), (gst_registry_find_plugin),
14590         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14591         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14592         * gst/gstregistryxml.c: (load_feature),
14593         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14594         * gst/gstminiobject.c: (gst_mini_object_unref),
14595         (gst_mini_object_replace), (gst_value_mini_object_free),
14596         (gst_value_mini_object_copy):
14597         Use _CAST macros to avoid unneeded type checking.
14598         Added some more G_UNLIKELY.
14599
14600 2006-06-12  Wim Taymans  <wim@fluendo.com>
14601
14602         * gst/gstbuffer.h:
14603         Avoid unneeded type checking.
14604         API: GST_BUFFER_IS_DISCONT
14605
14606         * gst/gstminiobject.h:
14607         Avoid type check in flag accessor.
14608
14609         * gst/gstelementfactory.h:
14610         * gst/gstplugin.h:
14611         * gst/gstpluginfeature.h:
14612         Add _CAST macros.
14613         API: GST_ELEMENT_FACTORY_CAST
14614         API: GST_PLUGIN_CAST
14615         API: GST_PLUGIN_FEATURE_CAST
14616
14617 2006-06-12  Wim Taymans  <wim@fluendo.com>
14618
14619         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14620         (gst_object_unref):
14621         Add G_UNLIKELY in type registration.
14622         Avoid type check in _ref/_unref since that is also
14623         done in glib.
14624
14625 2006-06-12  Wim Taymans  <wim@fluendo.com>
14626
14627         * gst/gsterror.c: (gst_g_error_get_type):
14628         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14629         (gst_static_pad_template_get_type):
14630         * gst/gsttaglist.c: (gst_tag_list_get_type):
14631         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14632         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14633         * gst/gsturi.c: (gst_uri_handler_get_type):
14634         * gst/gstvalue.c: (gst_date_get_type):
14635         * gst/gstxml.c: (gst_xml_get_type):
14636         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14637         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14638         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14639         Add G_UNLIKELY in type registration.
14640
14641 2006-06-12  Wim Taymans  <wim@fluendo.com>
14642
14643         * tools/gst-inspect.c: (print_signal_info):
14644         Properly print enum values.
14645
14646 2006-06-12  Wim Taymans  <wim@fluendo.com>
14647
14648         * gst/gstinfo.c: (gst_debug_set_active),
14649         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14650         * gst/gstinfo.h:
14651         Add some G_[UN]LIKELY.
14652         Maintain __gst_debug_min to avoid formatting the arguments of
14653         debug messages that will be dropped anyway to avoid a lot of 
14654         overhead from the debugging system.
14655
14656 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14657
14658         * po/POTFILES.in:
14659         * po/POTFILES.skip:
14660           add missing files containing translatable strings, tell intltool about
14661           one exception
14662
14663 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14664
14665         * tests/check/libs/.cvsignore:
14666         add test-binary to ignore list
14667
14668 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14669
14670         * docs/libs/gstreamer-libs-docs.sgml:
14671         reorder (put dp into a chapter) and indent
14672
14673 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14674
14675         * configure.ac:
14676           back to HEAD
14677
14678 === release 0.10.8 ===
14679
14680 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14681
14682         * configure.ac:
14683           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14684
14685 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14686
14687         * gst/gst.c: (init_post):
14688           move pid declaration to declaration block
14689
14690 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14691
14692         * gst/gst.c: (init_post):
14693           use _exit() instead of exit() in our forked child; this ensures
14694           that none of the registered exit handlers from whatever is using
14695           GStreamer get executed.  This fixes gnome-mixer-applet failing
14696           to load, because ORBit would shut down.
14697           Spotted by: Edward Hervey  <edward@fluendo.com>
14698           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14699           Fixes #344474
14700
14701 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14702
14703         * configure.ac:
14704           back to TRUNK
14705
14706 === release 0.10.7 ===
14707
14708 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14709
14710         * configure.ac:
14711           releasing 0.10.7, "Soepeke, ik zie ou"
14712
14713 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14714
14715         * configure.ac:
14716         * po/af.po:
14717         * po/az.po:
14718         * po/bg.po:
14719         * po/ca.po:
14720         * po/cs.po:
14721         * po/de.po:
14722         * po/en_GB.po:
14723         * po/fr.po:
14724         * po/it.po:
14725         * po/nb.po:
14726         * po/nl.po:
14727         * po/ru.po:
14728         * po/sq.po:
14729         * po/sr.po:
14730         * po/sv.po:
14731         * po/tr.po:
14732         * po/uk.po:
14733         * po/vi.po:
14734         * po/zh_CN.po:
14735         * po/zh_TW.po:
14736         * win32/common/config.h:
14737           0.10.6.2 prerelease
14738
14739 2006-06-07  Wim Taymans  <wim@fluendo.com>
14740
14741         * gst/gstindex.c: (gst_index_gtype_resolver):
14742         * tools/gst-xmlinspect.c: (print_plugin_info):
14743         Fix leak spotted by coverity checker. Fixes #343827
14744         Fix another other leak found by paolo borelli.
14745
14746 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14747
14748         * libs/gst/dataprotocol/dataprotocol.c:
14749         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14750         (gst_dp_version_get_type), (gst_dp_init),
14751         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14752         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14753         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14754         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14755         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14756         (gst_dp_packetizer_free):
14757         * libs/gst/dataprotocol/dataprotocol.h:
14758           API: add a GstDPPacketizer object, and create/free functions
14759           API: add GstDPVersion enum
14760           Add 1.0 event function that uses the string serialization
14761           Serialize more useful buffer flags
14762           Fixes #343988
14763
14764 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14765
14766         * tests/check/Makefile.am:
14767         * tests/check/gst/gstabi.c:
14768         * tests/check/gst/struct_ppc64.h:
14769         * tests/check/libs/libsabi.c:
14770         * tests/check/libs/struct_ppc64.h:
14771           add ppc64 structure sizes
14772
14773 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14774
14775         * tests/check/Makefile.am:
14776         * tests/check/gst/gstabi.c:
14777         * tests/check/gst/struct_x86_64.h:
14778         * tests/check/libs/libsabi.c:
14779         * tests/check/libs/struct_x86_64.h:
14780           generate and add structure size lists for x86_64
14781
14782 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14783
14784         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14785         * libs/gst/check/gstcheck.h:
14786           factor out the method from tests that checks size of structures,
14787           and add code to generate the header containing these sizes
14788         * tests/check/gst/gstabi.c: (GST_START_TEST):
14789         * tests/check/gst/struct_i386.h:
14790         * tests/check/libs/libsabi.c: (GST_START_TEST):
14791         * tests/check/libs/struct_i386.h:
14792           use it
14793
14794 2006-06-06  Michael Smith  <msmith@fluendo.com>
14795
14796         * gst/gstsegment.h:
14797           Don't use c++-style comments, fixes #343929
14798
14799 2006-06-05  Edward Hervey  <edward@fluendo.com>
14800
14801         * gst/gst.c:
14802         plugin_paths is not used if we build without registry support.
14803
14804         * gst/gstsegment.c: (gst_segment_copy): 
14805         _copy() was always returning NULL...
14806
14807 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14808
14809         * libs/gst/dataprotocol/dataprotocol.c:
14810         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14811         (gst_dp_packet_from_event):
14812           factor out CRC code
14813
14814 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14815
14816         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14817           make sure we unset caps
14818
14819 2006-06-02  Michael Smith  <msmith@fluendo.com>
14820
14821         * libs/gst/check/gstcheck.c: (gst_check_init),
14822         (gst_check_chain_func):
14823         * libs/gst/check/gstcheck.h:
14824           Add a cond/mutex to the check support lib, signal this whenever we
14825           add to the buffers list. This will allow tests to not busy-wait on
14826           the buffer-list.
14827
14828 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14829
14830         * libs/gst/dataprotocol/dataprotocol.c:
14831         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14832         (gst_dp_packet_from_event):
14833           factor out some common header init code
14834
14835 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14836
14837         * docs/libs/gstreamer-libs-sections.txt:
14838         * docs/libs/tmpl/gstdataprotocol.sgml:
14839         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14840         * libs/gst/dataprotocol/dataprotocol.h:
14841           API: make gst_dp_crc() public
14842
14843 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14844
14845         * plugins/indexers/gstindexers.c: (plugin_init):
14846         conditionally register fileindexer (fixes #343598)
14847
14848 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14849
14850         * gst/gsttagsetter.h:
14851         Can't cast ifaces to a class
14852
14853         * libs/gst/net/gstnetclientclock.h:
14854         * libs/gst/net/gstnettimeprovider.h:
14855         * plugins/elements/gstfakesink.h:
14856         * plugins/elements/gstfakesrc.h:
14857         * plugins/elements/gstfdsink.h:
14858         * plugins/elements/gstfdsrc.h:
14859         * plugins/elements/gstfilesink.h:
14860         * plugins/elements/gstfilesrc.h:
14861         * plugins/elements/gstidentity.h:
14862         * plugins/elements/gstqueue.h:
14863         * plugins/elements/gsttee.h:
14864         * plugins/indexers/gstfileindex.c:
14865         * plugins/indexers/gstmemindex.c:
14866         * tests/old/examples/plugins/example.h:
14867         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14868
14869 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14870
14871         * libs/gst/dataprotocol/dataprotocol.c:
14872         (gst_dp_header_from_buffer):
14873           make sure we zero the whole ABI-compatible area
14874
14875 2006-06-01  Wim Taymans  <wim@fluendo.com>
14876
14877         Patch by: Alessandro Decina <alessandro at nnva dot org>
14878
14879         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14880         Make sure the EOS flag is cleared from pads after a flush
14881         or stop. Fixes #343538.
14882
14883         * tests/check/libs/collectpads.c: (GST_START_TEST),
14884         (gst_collect_pads_suite):
14885         Added test for collectpads reusage after EOS.
14886
14887 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14888
14889         * gst/gst.c:
14890          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14891         * win32/common/libgstbase.def:
14892          export gst_collect_pads_set_flushing
14893         * win32/common/libgstreamer.def:
14894          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14895          gst_value_fraction_multiply
14896         * win32/vs6/gst_inspect.dsp:
14897          add a link to intl.lib
14898
14899 2006-05-30  Wim Taymans  <wim@fluendo.com>
14900
14901         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14902         (gst_collect_pads_chain):
14903         Handle the case where a pad is removed from the collection
14904         that could cause the other pads to become collectable.
14905
14906 2006-05-30  Wim Taymans  <wim@fluendo.com>
14907
14908         * gst/gstelement.c:
14909         Clarify the use of _release_request_pad() and
14910         _get_request_pad() a bit better.
14911
14912         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14913         (gst_adapter_take_buffer):
14914         Fix some doc and comment typos.
14915
14916 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14917
14918         * docs/gst/gstreamer-sections.txt:
14919         * docs/libs/gstreamer-libs-sections.txt:
14920           add declared symbols
14921
14922 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14923
14924         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14925         Add debug that can be enabled using a #define at the top of the file,
14926         for dumping stats about how late/early we were when waking up from
14927         waiting on the clock.
14928
14929 2006-05-30  Wim Taymans  <wim@fluendo.com>
14930
14931         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14932         When rebuilding the pad list, don't leak the previous list.
14933
14934 2006-05-30  Wim Taymans  <wim@fluendo.com>
14935
14936         Patch by: Lutz Mueller <lutz at topfrose dot de>
14937
14938         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14939         (gst_base_src_get_query_types), (gst_base_src_update_length):
14940         Publish supported query types.
14941         Update last_stop field in get_range mode so the position
14942         query works. Fixes #342321.
14943
14944 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14945
14946         * docs/gst/gstreamer-sections.txt:
14947         * gst/gsttaglist.c: (_gst_tag_initialize):
14948         * gst/gsttaglist.h:
14949           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14950
14951 2006-05-30  Wim Taymans  <wim@fluendo.com>
14952
14953         Patch by: Alessandro Decina <alessandro at nnva dot org>
14954
14955         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14956         Unlock mutex when removing an unknown pad.
14957         Fixes #343334.
14958
14959         * tests/check/Makefile.am:
14960         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14961         (push_event), (setup), (teardown), (GST_START_TEST),
14962         (gst_collect_pads_suite), (main):
14963         Added collecpads check, disabled for now as check crashes for
14964         some reason.
14965
14966 2006-05-29  Wim Taymans  <wim@fluendo.com>
14967
14968         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14969         Don't leak pads lists.
14970
14971 2006-05-29  Wim Taymans  <wim@fluendo.com>
14972
14973         * docs/libs/gstreamer-libs-sections.txt:
14974         * libs/gst/base/gstcollectpads.c:
14975         (gst_collect_pads_set_flushing_unlocked),
14976         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14977         (gst_collect_pads_stop):
14978         * libs/gst/base/gstcollectpads.h:
14979         API: gst_collect_pads_set_flushing()
14980         Added api to set the pads to flushing, useful for seeking
14981         code in elements using collectpads.
14982         Clear segment when receiving a flush.
14983
14984 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14985
14986         * gst/gst.c: (add_path_func), (init_post):
14987           Don't scan registry paths passed via --gst-plugin-path immediately
14988           (will crash, because absolutely nothing is set up and no types are
14989           registered etc.); do this later in init_post(). Fixes #343057.
14990
14991 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14992
14993         * gst/gst.c: (init_post):
14994           if we have fork, fork while reading/rebuilding the registry
14995           so the parent doesn't take the hit of having all plugins loaded
14996           in memory.  Fixes #342777.
14997         * configure.ac:
14998           Check if we have fork()
14999         * win32/common/config.h.in:
15000           no fork() on win32
15001
15002 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
15003
15004         * plugins/elements/gstelements.c:
15005         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
15006         (gst_file_src_init), (gst_file_src_set_property),
15007         (gst_file_src_get_property), (gst_file_src_start):
15008         * plugins/elements/gstfilesrc.h:
15009           API: GstFileSrc::use-mmap
15010
15011         Add a use-mmap property to enable easier testing of all code paths.
15012         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
15013         in the absence of gnomevfssrc. (Closes #340501)
15014
15015 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15016
15017         * tools/gst-inspect.c:
15018         Add missing include, removes warning of ngettext not being defined on
15019         some arches.
15020
15021 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
15022
15023         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15024         Handle NULL input and output pointers silently as a failed conversion,
15025         rather than g_warnings.
15026
15027 2006-05-25  Wim Taymans  <wim@fluendo.com>
15028
15029         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
15030         Initialize variable before using. Fixes #342820.
15031
15032 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
15033
15034         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
15035           Fix off-by-one bug that would only allow peeks of N-1 bytes
15036           from the start even if the buffer to typefind on contains
15037           in fact N bytes of data (makes vorbis typefinding from a
15038           vorbis identification header buffer work).
15039
15040         * tests/check/Makefile.am:
15041         * tests/check/libs/.cvsignore:
15042         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
15043         (gst_typefindhelper_suite), (main), (foobar_typefind),
15044         (plugin_init):
15045           Add very basic unit test for gst_type_find_helper_for_buffer()
15046           that checks for the problem fixed above.
15047
15048 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15049
15050         * tools/gst-inspect.c: (print_interfaces),
15051         (print_element_properties_info), (print_element_list), (main):
15052           add more translatable strings
15053
15054 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
15055
15056         Patch by: Julien Moutte  <julien at moutte net>
15057
15058         * docs/gst/gstreamer-sections.txt:
15059           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
15060           
15061         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
15062         (gst_fake_sink_preroll):
15063         * plugins/elements/gstfakesink.h:
15064           API: Add new GstFakeSink::preroll-handoff signal (#337100).
15065
15066 2006-05-23  Wim Taymans  <wim@fluendo.com>
15067
15068         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
15069         * gst/gstpad.h:
15070         Added _CUSTOM error and success GstFlowReturn that can be
15071         used be elements internally. 
15072         Added macro to check for SUCCESS flowreturns.
15073         API: GST_FLOW_CUSTOM_SUCCESS
15074         API: GST_FLOW_CUSTOM_ERROR
15075         API: GST_FLOW_IS_SUCCESS
15076
15077         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
15078         Added check for GstFlowReturn sanity.
15079
15080 2006-05-23  Wim Taymans  <wim@fluendo.com>
15081
15082         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15083
15084         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
15085         (gst_collect_pads_event):
15086         clear/reset segment info in FLUSH_STOP.
15087         Fixes #336929.
15088
15089 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
15090
15091         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
15092         (gst_collect_pads_check_collected):
15093         Flush queued buffer on _stop(), fixes playing again (#342454)
15094
15095 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15096
15097         * tests/check/gst/gststructure.c: (GST_START_TEST),
15098         (gst_structure_suite):
15099           add a test for a complete structure
15100
15101 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15102
15103         * docs/faq/developing.xml:
15104         * docs/faq/faq.xml:
15105         * docs/faq/troubleshooting.xml:
15106         * docs/faq/using.xml:
15107           Some minor FAQ updates that won't change the fact that
15108           our FAQ is badly structured, full of information hardly
15109           anyone new to GStreamer needs to know and lacking lots
15110           of information people constantly ask for.
15111           
15112 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
15113
15114         * gst/gstpad.c: (gst_pad_set_caps):
15115           Short-circuit gst_pad_set_caps if setting the existing
15116           caps pointer again, and avoid printing debug and 
15117           reffing/unreffing the caps.
15118
15119         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15120           There's actually no need to set the caps before pushing -
15121           the acceptcaps method will handle it anyway.
15122
15123 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
15124
15125         * docs/gst/gstreamer-sections.txt:
15126         * win32/common/libgstreamer.def:
15127         * gst/gstutils.c: (gst_element_seek_simple):
15128         * gst/gstutils.h:
15129           API: add gst_element_seek_simple() (#342238).
15130
15131 2006-05-18  Edward Hervey  <edward@fluendo.com>
15132
15133         * gst/gsttypefind.c: (gst_type_find_get_type):
15134         * gst/gsttypefind.h:
15135         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
15136         registered for GstTypeFind pointers. This allows wrapping the structure
15137         in bindings (i.e. gst-python).
15138
15139 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15140
15141         * gst/gsttagsetter.c:
15142           Docs additions and fixes (see #339918).
15143
15144 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15145
15146         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
15147         The caps intersection algorithm can produce multiple copies of the
15148         caps. Until that is fixed, we need to simplify the result to be
15149         sure whether the allowed caps are fixed or not.
15150
15151         * plugins/elements/gstqueue.c: (gst_queue_init),
15152         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
15153         (gst_queue_push_one):
15154         Proxied buffer alloc should not set the caps on the source pad.
15155         When pushing buffers, we always accept the caps change that triggers.
15156         This prevents negotiation errors caused by caps changing mid-stream 
15157         and then being refused on our source pad (because upstream is now
15158         refusing those caps).
15159
15160 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
15161
15162         * tests/examples/helloworld/helloworld.c: (main):
15163           Must plug audioconvert and audioresample between decoder
15164           and audio sink.
15165
15166 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
15167
15168         * gst/gstregistryxml.c: (read_string), (load_pad_template),
15169         (load_feature), (load_plugin):
15170         Allow empty strings for some of the plugin fields so we don't 
15171         drop valid plugin entries that were written out correctly
15172         (Fixes #341479)
15173
15174 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
15175         
15176         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
15177           Use g_remove and g_rename instead of remove and rename that don't 
15178           handle utf8 characters. rename was failing for users who had specific
15179           characters in their name then the registry was built at each 
15180           gstreamer init.
15181         * win32/vs6/gst_inspect.dsp:
15182         * win32/vs6/gst_launch.dsp:
15183         * win32/vs6/libgstbase.dsp:
15184         * win32/vs6/libgstcoreelements.dsp:
15185         * win32/vs6/libgstreamer.dsp:
15186           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
15187           build of libgstreamer and clean unused libraries in projects link 
15188           settings.
15189
15190 2006-05-17  Edward Hervey  <edward@fluendo.com>
15191
15192         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15193         The queue is not responsible for pushing an EOS when receiving a fatal
15194         flow error. It's up to the real element driving the pipeline to do that.
15195
15196 2006-05-16  Edward Hervey  <edward@fluendo.com>
15197
15198         * plugins/elements/gstqueue.c: (gst_queue_push_one):
15199         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
15200         buffer returned a fatal error. It should just send an EOS and stop
15201         its task.
15202         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
15203         when pushing buffers on the queue and will be able to handle the event.
15204
15205 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
15206
15207         * docs/manual/basics-bins.xml:
15208         * docs/manual/basics-init.xml:
15209           Fix typos and minor errors in sample code (#341856).
15210
15211 2006-05-16  Wim Taymans  <wim@fluendo.com>
15212
15213         * docs/design/part-qos.txt:
15214         Fix indexes in formulas to make more sense.
15215
15216 2006-05-15  Wim Taymans  <wim@fluendo.com>
15217
15218         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15219         Don't report POSITION based on clock time if sync is
15220         disabled in a sink.
15221
15222 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
15223
15224         * gst/gstobject.h:
15225           Add cast to make compiler happy - refcount variable was a gint
15226           in GstObject but is a guint in GObject and g_atomic_int_get()
15227           wants a gint *.
15228
15229 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15230
15231         * gst/parse/Makefile.am:
15232           chain commands using &&, which also makes parallel make work
15233
15234 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
15235
15236         * docs/gst/gstreamer-sections.txt:
15237         * gst/gstevent.c:
15238         * gst/gstevent.h:
15239         * gst/gstmessage.h:
15240           Minor docs fixes.
15241
15242 === release 0.10.6 ===
15243
15244 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
15245
15246         * configure.ac:
15247           releasing 0.10.6, "Take the cannoli"
15248
15249 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15250
15251         * tools/gst-launch.c: (print_tag):
15252           Fix use of uninitialized variable in the hypothetical
15253           case that some broken plugin creates a GST_TAG_IMAGE
15254           tag containing a NULL buffer (#341667).
15255
15256 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15257
15258         * tools/gst-launch.c: (print_tag):
15259           Print something more intelligible for image tags when
15260           using the -t switch (#341556).
15261
15262 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15263
15264         * Makefile.am:
15265           updates for win32
15266         * configure.ac:
15267           define GST_MAJORMINOR so we have it available in win32/common/config.h
15268           Possibly remove it from our Makefile.am files later
15269         * win32/common/config.h:
15270         * win32/common/config.h.in:
15271           added GST_MAJORMINOR
15272         * win32/common/gstenumtypes.c: (register_gst_resource_error):
15273         * win32/common/gstversion.h:
15274           updated
15275
15276 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
15277
15278         * win32/MANIFEST:
15279           Update win32 files listing.
15280         * win32/common/gstversion.h:
15281           Add GST_MAJORMINOR definition.
15282         * win32/common/libgstreamer.def:
15283           Add new exported functions.
15284           
15285 2006-05-12  Michael Smith  <msmith@fluendo.com>
15286
15287         * gst/gstplugin.c: (gst_plugin_load_file):
15288           If an so file has no plugin entry point, unload the module.
15289
15290 2006-05-11  Wim Taymans  <wim@fluendo.com>
15291
15292         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15293         (gst_queue_set_property):
15294         Don't forget to signal the _chain or _loop function 
15295         when the queue size or thresholds change since that might
15296         cause them to make progres again.
15297
15298 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
15299
15300         * gst/gstclock.c: (gst_clock_class_init):
15301         * gst/gstindex.c: (gst_index_class_init):
15302         * gst/gstobject.c: (gst_object_class_init):
15303         * gst/gstpad.c: (gst_pad_class_init):
15304         * gst/gstpipeline.c: (gst_pipeline_class_init):
15305         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15306         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15307         * libs/gst/base/gstbasetransform.c:
15308         (gst_base_transform_class_init):
15309         * libs/gst/net/gstnetclientclock.c:
15310         (gst_net_client_clock_class_init):
15311         * libs/gst/net/gstnettimeprovider.c:
15312         (gst_net_time_provider_class_init):
15313         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15314         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15315         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15316         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15317         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15318         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15319         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15320         * plugins/elements/gstidentity.c: (gst_identity_class_init):
15321         * plugins/elements/gsttee.c: (gst_tee_class_init):
15322         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15323         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15324           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15325
15326 2006-05-11  Wim Taymans  <wim@fluendo.com>
15327
15328         * gst/gstbuffer.c: (_gst_buffer_initialize):
15329         Register subbufer along with the buffer type so that
15330         it does not accidentally gets registered from N
15331         different streaming threads in a non threadsafe way.
15332
15333 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15334
15335         * gst/gstbuffer.h:
15336         * gst/gstevent.h:
15337         * gst/gstmessage.h:
15338           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15339           gst_event_ref() and gst_message_ref() functions again
15340           (ugly hack, please do fix if there's a better way besides
15341           overrides.txt, which doesn't seem to work).
15342
15343 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15344
15345         * libs/gst/check/gstcheck.h:
15346           add an assert for setting state to avoid lots of repetitive code
15347           in the future
15348
15349 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15350
15351         * gst/gstvalue.c: (gst_value_serialize_flags):
15352           fix a leak if no flags are set
15353         * tests/check/gst/gstvalue.c: (GST_START_TEST):
15354           fix leak in tests
15355
15356 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
15357
15358         * docs/manual/basics-pads.xml:
15359           Expand a bit on caps and filtered links and update
15360           examples that were still using the no longer existing
15361           gst_pad_link_filtered() (#338206).
15362
15363 2006-05-10  Wim Taymans  <wim@fluendo.com>
15364
15365         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15366         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15367         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15368         (gst_collect_pads_stop):
15369         * libs/gst/base/gstcollectpads.h:
15370         No need to call _stop in _finalize.
15371         Iterate the main pad list in _finalize.
15372         Added some more debug.
15373         Free lists and data in the right order.
15374         Also free data whem doing _remove_pad when stopped for
15375         backward compatibility protect ::started with PAD_LOCK as
15376         well.
15377
15378 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15379
15380         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15381         (gst_structure_parse_value):
15382           add some comments
15383           rename a method so that it actually says what it does better
15384
15385 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15386
15387         * gst/gstevent.c: (_gst_event_initialize):
15388         * gst/gstformat.c: (_gst_format_initialize):
15389           make sure some essential types used by events are registered
15390           as part of gst_init()
15391         * gst/gstvalue.c: (gst_value_serialize_flags):
15392           if no flags are set, serialize them to a value that represents NONE
15393           so that deserializing them works
15394         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15395           add tests for serialization and deserialization of flags
15396
15397 2006-05-10  Wim Taymans  <wim@fluendo.com>
15398
15399         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15400         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15401         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15402         (gst_collect_pads_event), (gst_collect_pads_chain):
15403         Update docs.
15404         Better debug info.
15405         Catch and return errors from the collect function
15406         Refuse data on eos pads.
15407
15408 2006-05-10  Edward Hervey  <edward@fluendo.com>
15409
15410         * gst/gstinterface.h:
15411         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15412         GInterface type checking.
15413         They were previously using non-defined macros.
15414
15415 2006-05-09  Wim Taymans  <wim@fluendo.com>
15416
15417         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15418         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15419         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15420         (gst_collect_pads_start), (gst_collect_pads_stop),
15421         (gst_collect_pads_peek), (gst_collect_pads_pop),
15422         (gst_collect_pads_available), (gst_collect_pads_read),
15423         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15424         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15425         (gst_collect_pads_chain):
15426         * libs/gst/base/gstcollectpads.h:
15427         Clean up the mess that is collectpads, add comments and
15428         FIXMEs where needed.
15429         Maintain a separate pad list so we can add pads while
15430         collecting the other ones. For this we need a new separate 
15431         lock (see comics).
15432         Fix memory leak in finalize.
15433         Refactor some weird code to set/unset pad flushing flags, mark
15434         with comments.
15435         Don't crash in _available, _read, _flush when we're EOS.
15436
15437         * tests/check/libs/.cvsignore:
15438         Ignore adapter check binary.
15439
15440 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15441
15442         * gst/gstindex.c: (gst_index_resolver_get_type):
15443         * plugins/elements/gstfakesink.c:
15444         (gst_fake_sink_state_error_get_type):
15445         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15446         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15447         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15448           Const-ify GEnumValue arrays.
15449
15450 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15451
15452         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15453           Add test case for flags + gst_buffer_make_metadata_writable().
15454
15455 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15456
15457         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15458           gst_buffer_make_metadata_writable() should maintain the
15459           buffer flags (those that make sense at least) (see #340859).
15460
15461 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15462
15463         * tools/gst-inspect.c:
15464         * tools/gst-launch.c:
15465         * tools/gst-typefind.c:
15466         * tools/gst-xmlinspect.c:
15467         * tools/tools.h:
15468           Fix up includes: need to include stdlib.h in tools.h for exit().
15469
15470 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15471
15472         * gst/gsttaglist.c: (_gst_tag_initialize):
15473         * gst/gsttaglist.h:
15474           API: add GST_TAG_IMAGE tag (#340721).
15475
15476 2006-05-08  Wim Taymans  <wim@fluendo.com>
15477
15478         * gst/gstquery.c:
15479         Added some docs for the segment query.
15480
15481 2006-05-08  Wim Taymans  <wim@fluendo.com>
15482
15483         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15484         (gst_base_src_loop), (gst_base_src_change_state):
15485         Always push non-flushing serialized events in the streaming 
15486         thread.
15487
15488 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15489
15490         * gst/gsterror.c: (_gst_stream_errors_init):
15491           Add a missing error string.
15492
15493 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15494
15495         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15496         Add applied_rate to the debug
15497
15498         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15499         Copy applied_rate into the outgoing NEWSEGMENT event
15500
15501 2006-05-08  Wim Taymans  <wim@fluendo.com>
15502
15503         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15504
15505         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15506         (gst_base_sink_change_state):
15507         call ::unlock before taking the PREROLL_LOCK so we can safely
15508         handle elements that lock in ::render.
15509         Fixes #340174.
15510
15511 2006-05-08  Edward Hervey  <edward@fluendo.com>
15512
15513         * autogen.sh: (CONFIGURE_DEF_OPT): 
15514         Darwin's libtoolize is in fact called glibtoolize.
15515         Adding glibtoolize to the list of accepted names for libtoolize.
15516
15517 2006-05-08  Wim Taymans  <wim@fluendo.com>
15518
15519         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15520         Unify error handling, don't post an error message
15521         when a push() returns EOS but perform our normal EOS
15522         handling code. Fixes #340772.
15523
15524 2006-05-08  Wim Taymans  <wim@fluendo.com>
15525
15526         * docs/design/part-overview.txt:
15527         Make upsteam/downstream concepts more clear.
15528         Give an example of serialized/non-serialized events.
15529
15530         * docs/design/part-events.txt:
15531         * docs/design/part-streams.txt:
15532         Mention applied_rate.
15533
15534         * docs/design/part-trickmodes.txt:
15535         Mention applied rate, flesh out some more use cases.
15536
15537         * gst/gstevent.c: (gst_event_new_new_segment),
15538         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15539         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15540         (gst_event_parse_tag), (gst_event_new_buffer_size),
15541         (gst_event_parse_buffer_size), (gst_event_new_qos),
15542         (gst_event_parse_qos), (gst_event_parse_seek),
15543         (gst_event_new_navigation):
15544         * gst/gstevent.h:
15545         Add applied_rate field to NEWSEGMENT event.
15546         API: gst_event_new_new_segment_full()
15547         API: gst_event_parse_new_segment_full()
15548
15549         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15550         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15551         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15552         * gst/gstsegment.h:
15553         Add applied_rate to GstSegment structure.
15554         Make calculation of stream_time and running_time more correct
15555         wrt rate/applied_rate.
15556         Add some more docs.
15557         API: GstSegment::applied_rate field
15558         API: gst_segment_set_newsegment_full();
15559
15560         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15561         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15562         * libs/gst/base/gstbasetransform.c:
15563         (gst_base_transform_sink_eventfunc),
15564         (gst_base_transform_handle_buffer):
15565         Parse and use applied_rate in the GstSegment field.
15566
15567         * tests/check/gst/gstevent.c: (GST_START_TEST):
15568         Add check for applied_rate field.
15569
15570         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15571         (gstsegments_suite):
15572         Add more checks for various GstSegment operations.
15573
15574 2006-05-08  Wim Taymans  <wim@fluendo.com>
15575
15576         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15577         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15578         (gst_base_sink_get_position), (gst_base_sink_change_state):
15579         Store the sync time of the buffer end position separatly in a
15580         new variable eos_rtime so we can properly sync the EOS event.
15581         Fixes #340697.
15582         Fix the docs for gst_base_sink_set_qos_enabled().
15583         Don't set segment start to invalid value when we receive a 
15584         non TIME newsegment.
15585         get closer to handling position reporting for negative rates 
15586         correctly.
15587
15588 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15589
15590         * gst/gstcaps.c:
15591         Docs about how to print caps for debug purposes.
15592
15593         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15594         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15595
15596 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15597
15598         * gst/gstelement.c:
15599           use full enum names and preprend a '%' in docs strings to make recent 
15600           gtk-doc turn that into a link
15601
15602 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15603
15604         * docs/manual/basics-bins.xml:
15605         * docs/manual/basics-bus.xml:
15606         * docs/manual/basics-pads.xml:
15607           Some typo fixes, some additions, some clarifications. 
15608
15609 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15610
15611         * tools/gst-inspect.c: (main):
15612         * tools/gst-launch.c: (main):
15613         * tools/gst-run.c: (main):
15614         * tools/gst-typefind.c: (main):
15615         * tools/gst-xmlinspect.c: (main):
15616           Use the string passed to g_option_context_new() for
15617           what it's intended for - the program name is already
15618           printed elsewhere.
15619
15620 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15621
15622         * tools/Makefile.am:
15623         * tools/gst-inspect.c: (main):
15624         * tools/gst-launch.c: (main):
15625         * tools/gst-xmlinspect.c: (main):
15626         * tools/tools.h:
15627           Add back --version command line option (#340460).
15628
15629         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15630           Add --version option and use GOption for argument parsing; refactor a
15631           bit; accept directories as arguments and recurse into them; lastly,
15632           print a decent error message when things go wrong.
15633
15634 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15635
15636         * docs/manual/basics-bins.xml:
15637         Don't mention GstThread (#340611)
15638         * docs/manual/basics-elements.xml:
15639         Update link to GObject tutorial (#340607)
15640         
15641 2006-05-05  Wim Taymans  <wim@fluendo.com>
15642
15643         * gst/gstbuffer.h:
15644         * gst/gstminiobject.c:
15645         Add note about refcounting and miniobject/buffer writeability
15646         to docs. Fixes #340604
15647
15648         * gst/gstelementfactory.h:
15649         Added some explanation about @klass.
15650
15651 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15652
15653         * docs/manual/intro-motivation.xml:
15654         * docs/manual/manual.xml:
15655         Avoid CORBA & Bonobo references (#340598)
15656
15657 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15658
15659         * docs/manual/basics-bus.xml:
15660         * docs/manual/basics-pads.xml:
15661         Fix up some inaccuracies and omissions (#340609)
15662         
15663 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15664
15665         * gst/gstghostpad.c:
15666           Small typo in docs (#340625)
15667
15668 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15669
15670         * gst/parse/Makefile.am:
15671           Make 'make -j' proof (see #340698).
15672
15673 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15674
15675         * configure.ac:
15676           Require GLib-2.8 here as well.
15677
15678 2006-05-05  Wim Taymans  <wim@fluendo.com>
15679
15680         * gst/glib-compat.c:
15681         * gst/gst.c: (init_pre):
15682         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15683         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15684         (gst_object_dispatch_properties_changed):
15685         * gst/gstobject.h:
15686         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15687         * gst/gststructure.c: (gst_structure_set_valist):
15688         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15689         Remove pre glib2.8 compatibility, fixes #340508
15690
15691 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15692
15693         * gst/gsttaglist.h:
15694           Mention type of tags in doc blurbs.
15695
15696 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15697
15698         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15699         (gst_pad_configure_src), (gst_pad_push):
15700         Restore acceptcaps checking behaviour now that good plugins have
15701         been released.
15702
15703 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15704
15705         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15706
15707         * gst/gst.c:
15708         * gst/gstbus.c:
15709         * gst/gstclock.c:
15710         * gst/gstevent.c:
15711         * gst/gstformat.c:
15712         * gst/gstmessage.c:
15713         * gst/gstparse.c:
15714         * gst/gstquery.c:
15715         * gst/gstutils.c:
15716         * gst/parse/Makefile.am:
15717         * libs/gst/base/gstadapter.c:
15718         * libs/gst/base/gstbasesrc.c:
15719         * libs/gst/base/gstpushsrc.c:
15720         * libs/gst/base/gsttypefindhelper.c:
15721         * plugins/elements/gstfakesrc.c:
15722         * plugins/elements/gstidentity.c:
15723           Make sure gstprivate.h and/or config.h are
15724           always included first, otherwise some of our
15725           defines (like _FILE_OFFSET_BITS) might be
15726           redefined in the system headers. Fixes build
15727           on opensolaris (#340016).
15728
15729 2006-05-04  Wim Taymans  <wim@fluendo.com>
15730
15731         * docs/libs/gstreamer-libs-sections.txt:
15732         API: addition: gst_adapter_take_buffer()
15733         
15734         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15735         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15736         (gst_adapter_available_fast):
15737         * libs/gst/base/gstadapter.h:
15738         Prepare for optimizing the hell out of this hugely inefficient
15739         piece of code. 
15740         Added gst_adapter_take_buffer() so we can at least start thinking
15741         about subbuffering and merging.
15742         Added some comments.
15743
15744         * tests/check/Makefile.am:
15745         * tests/check/libs/adapter.c: (GST_START_TEST),
15746         (gst_adapter_suite), (main):
15747         Added GstAdapter check.
15748
15749 2006-05-04  Wim Taymans  <wim@fluendo.com>
15750
15751         * docs/design/part-overview.txt:
15752         Fix some typos, add blurb about buffer flags.
15753
15754 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15755
15756         * docs/libs/gstreamer-libs-sections.txt:
15757           make sure GstBaseTransformClass shows up in the docs
15758         * libs/gst/base/gstbasetransform.c:
15759         * libs/gst/base/gstbasetransform.h:
15760           move docs so gtk-doc picks it up now
15761
15762 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15763
15764         * docs/libs/gstreamer-libs-sections.txt:
15765           add missing symbols to docs
15766
15767 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15768
15769         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15770           back out the newsegment handling change, see #340060 for ongoing
15771           discussion
15772
15773 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15774
15775         * tools/gst-run.c: (get_candidates), (main):
15776           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15777           work); fix typo in error message. Fixes #340079.
15778
15779 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15780
15781         * common/Makefile.am:
15782         * docs/Makefile.am:
15783         * docs/faq/Makefile.am:
15784         * docs/gst/Makefile.am:
15785         * docs/libs/Makefile.am:
15786         * docs/manual/Makefile.am:
15787         * docs/plugins/Makefile.am:
15788         * docs/pwg/Makefile.am:
15789         * docs/slides/Makefile.am:
15790         * docs/upload.mak:
15791         * common/upload.mak:
15792           move upload.mak to common
15793
15794 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15795
15796         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15797           add more asserts on refcounts
15798           do more cleanup at end of tests
15799           fix test leaks showing in FC5
15800
15801 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15802
15803         * plugins/elements/gsttypefindelement.c:
15804         (gst_type_find_element_handle_event):
15805         reverted wrong change and reflowed code to avoid others falling into
15806         this trap
15807
15808 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15809
15810         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15811           fix changelog entry about last collectpads change,
15812           add notes about proper fix
15813
15814 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15815
15816         * gst/gst.c:
15817         * gst/gstregistry.c: (gst_registry_scan_path_level),
15818         (gst_registry_scan_path):
15819         * gst/gstregistry.h:
15820           only write out registry if it has changed, fixes #338339
15821
15822 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15823
15824         * gst/gstbin.c:
15825         * gst/gstpipeline.c:
15826         * plugins/elements/gstcapsfilter.c:
15827         * plugins/elements/gstfakesink.c:
15828         * plugins/elements/gstfakesrc.c:
15829         * plugins/elements/gstfdsink.c:
15830         * plugins/elements/gstfdsrc.c:
15831         * plugins/elements/gstfilesink.c:
15832         * plugins/elements/gstfilesrc.c:
15833         * plugins/elements/gstidentity.c:
15834         * plugins/elements/gstqueue.c:
15835         * plugins/elements/gsttee.c:
15836         * plugins/elements/gsttypefindelement.c:
15837         (gst_type_find_element_handle_event):
15838           make GstElementDetails const
15839
15840 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15841
15842         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15843         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15844         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15845           more detailed debug and formatting cleanup,
15846           forward newsegments to src-pad (so that e.g. adder not eats them)
15847
15848 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15849
15850         * gst/gstutils.c: (gst_element_link_pads):
15851           cleanup double code
15852
15853 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15854
15855         * libs/gst/controller/gstcontroller.c:
15856         (gst_controller_sync_values):
15857           some little tuning
15858         * tests/check/libs/controller.c: (GST_START_TEST),
15859         (gst_controller_suite):
15860           a new test for live value handling
15861
15862 2006-04-28  Wim Taymans  <wim@fluendo.com>
15863
15864         * gst/gstutils.c: (push_and_ref):
15865         Added some more docs.
15866         Fix refcount issue whith gst_element_found_tags() helper 
15867         function. Fixes #338335
15868
15869         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15870         Added testsuite for gst_element_found_tags().
15871
15872 2006-04-28  Michael Smith  <msmith@fluendo.com>
15873
15874         * gst/gstvalue.c: (gst_value_serialize_flags):
15875           Avoid NULL dereference when trying to serialize flags containing
15876           invalid values.
15877
15878 2006-04-28  Michael Smith  <msmith@fluendo.com>
15879
15880         * plugins/elements/gsttypefindelement.c:
15881         (gst_type_find_element_handle_event):
15882           If we get EOS before any data is accumulated, don't use
15883           uninitialised local variables.
15884
15885 2006-04-28  Michael Smith  <msmith@fluendo.com>
15886
15887         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15888         (gst_dp_event_from_packet):
15889           Fixes in reading/writing events over GDP (not currently used?) - 
15890           dereferencing NULL events for unknown/invalid event types, memory
15891           leak, and change g_warning to GST_WARNING.
15892
15893 2006-04-28  Wim Taymans  <wim@fluendo.com>
15894
15895         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15896         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15897         (gst_base_sink_get_position), (gst_base_sink_change_state):
15898         When frame dropping is enabled, we should not ignore frames
15899         without a duration.
15900         Update some documentation.
15901
15902 2006-04-28  Wim Taymans  <wim@fluendo.com>
15903
15904         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15905         (gst_base_src_send_event), (gst_base_src_change_state):
15906         Documentation updates.
15907
15908 2006-04-28  Wim Taymans  <wim@fluendo.com>
15909
15910         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15911         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15912         handle EAGAIN, EINTR and short writes correctly. Also clean
15913         up some error cases, avoid a deadlock on bad file descriptors and
15914         use GST_DEBUG_OBJECT.
15915         Fixes #339843
15916
15917 2006-04-28  Wim Taymans  <wim@fluendo.com>
15918
15919         * gst/gstvalue.c: (gst_value_serialize_buffer),
15920         (gst_value_deserialize_buffer):
15921         Don't try to serialize a GValue with a NULL buffer. 
15922         Fixes #339821.
15923
15924         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15925         Added check for serialisation of NULL buffers.
15926
15927 2006-04-28  Wim Taymans  <wim@fluendo.com>
15928
15929         * gst/gstminiobject.c: (gst_value_take_mini_object):
15930         Taking a NULL miniobject is valid, fix the case where
15931         we try to unref the NULL miniobject.
15932
15933 2006-04-28  Wim Taymans  <wim@fluendo.com>
15934
15935         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15936
15937         * gst/gstbin.c: (gst_bin_handle_message_func):
15938         Update docs.
15939         Don't leak bin refcount when a state recalc is
15940         in progress and we delay another one #339808.
15941
15942 2006-04-28  Wim Taymans  <wim@fluendo.com>
15943
15944         * docs/design/part-TODO.txt:
15945         Mention QoS as an ongoing work item.
15946
15947         * docs/design/part-buffering.txt:
15948         New doc about buffering that needs to be fleshed out
15949         at some point.
15950
15951         * docs/design/part-qos.txt:
15952         More QoS policy for decoders/demuxers/transforms
15953
15954         * docs/design/part-trickmodes.txt:
15955         Small update.
15956
15957 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15958
15959         * configure.ac:
15960           back to HEAD
15961
15962 === release 0.10.5 ===
15963
15964 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15965
15966         * configure.ac:
15967           releasing 0.10.5, "Fogo"
15968
15969 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15970
15971         patch by: Wim Taymans
15972
15973         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15974         (gst_pad_configure_src), (gst_pad_push):
15975         * gst/gstpipeline.c: (gst_pipeline_init):
15976           Fix internal data flow errors.  Fixes #338711.
15977
15978 2006-04-12  Wim Taymans  <wim@fluendo.com>
15979
15980         * tests/check/gst/gstelement.c: (GST_START_TEST):
15981         Don't leak the factory.
15982
15983 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15984
15985         * configure.ac:
15986         * win32/common/config.h:
15987           prerelease
15988
15989 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15990
15991         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15992         (gst_controller_unset_all):
15993           Free allocated GstTimedValues when freeing list nodes.
15994           Should fix leaks 'make check-valgrind' complains about.
15995
15996         * win32/common/libgstcontroller.def:
15997           Add gst_controller_unset_all.
15998
15999 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
16000
16001         * docs/libs/gstreamer-libs-sections.txt:
16002         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
16003         (gst_controller_unset_all):
16004         * libs/gst/controller/gstcontroller.h:
16005         API: Added new method gst_controller_unset_all()
16006         fixed gst_controller_unset()
16007         * tests/check/libs/controller.c: (GST_START_TEST),
16008         (gst_controller_suite):
16009         Added two testcases for new and fixed method
16010
16011 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
16012
16013         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
16014           MSG_DONTWAIT is not defined on Cygwin, so work
16015           around that (fixes #317048).
16016           
16017 2006-04-11  Wim Taymans  <wim@fluendo.com>
16018
16019         * gst/gstelementfactory.c: (gst_element_register),
16020         (gst_element_factory_create), (gst_element_factory_make):
16021         Some cleanups.
16022         Fixed a FIXME.
16023         Updated docs (Fixes #131079)
16024
16025         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16026         Small cleanups.
16027
16028         * tests/check/gst/gstelement.c: (GST_START_TEST),
16029         (gst_element_suite):
16030         Added testcase for elementfactory class field.
16031
16032 2006-04-10  Wim Taymans  <wim@fluendo.com>
16033
16034         * gst/gstsegment.c:
16035         Added some more docs.
16036
16037         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
16038         (gst_base_sink_reset_qos):
16039         Calculate more accurate rate values.
16040
16041 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
16042
16043         * gst/gst_private.h:
16044           add a new #ifdef to use __declspec(dllimport) only for
16045           other modules and not for gstreamer core
16046         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
16047           use gst_guint64_to_gdouble for conversion
16048         * win32/common/libgstreamer.def:
16049           add new exported functions
16050         * win32/vs6/gst_inspect.dsp:
16051         * win32/vs6/gst_launch.dsp:
16052         * win32/vs6/libgstbase.dsp:
16053         * win32/vs6/libgstcontroller.dsp:
16054         * win32/vs6/libgstcoreelements.dsp:
16055         * win32/vs6/libgstdataprotocol.dsp:
16056         * win32/vs6/libgstnet.dsp:
16057           update project files
16058
16059 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16060
16061         * gst/gstbuffer.c: (gst_subbuffer_class_init):
16062         * gst/gstclock.c: (gst_clock_class_init):
16063         * gst/gstelement.c: (gst_element_class_init):
16064         * gst/gstindex.c: (gst_index_class_init):
16065         * gst/gstindexfactory.c: (gst_index_factory_class_init):
16066         * gst/gstobject.c: (gst_object_class_init),
16067         (gst_signal_object_class_init):
16068         * gst/gstpad.c: (gst_pad_class_init):
16069         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
16070         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
16071         * gst/gstregistry.c: (gst_registry_class_init):
16072         * gst/gstsystemclock.c: (gst_system_clock_class_init):
16073         * gst/gsttask.c: (gst_task_class_init):
16074         * gst/gstxml.c: (gst_xml_class_init):
16075         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16076         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16077         (gst_base_src_loop):
16078         * libs/gst/controller/gstcontroller.c:/
16079         (_gst_controller_class_init):
16080         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
16081         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
16082         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
16083         * tests/old/examples/plugins/example.c: (gst_example_class_init):
16084         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
16085         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
16086
16087 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
16088
16089         * gst/gstpad.c: (gst_pad_link):
16090           Must set peer pads before calling the link function, otherwise
16091           a task started from a link function might get a flow-not-linked
16092           result when trying to push because the other thread where the
16093           linking happens hasn't had a chance to set the peers yet. This
16094           might happen for example when a queue gets linked to a downstream
16095           element, as queue starts a streaming task when its source pad
16096           gets linked. Happens in real life when playing back flac/musepack
16097           files in playbin (#332390).
16098           
16099 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
16100
16101         * gst/gstindex.h:
16102         * gst/gstxml.h:
16103         * libs/gst/base/gstadapter.h:
16104         * libs/gst/base/gstbasesink.h:
16105         * libs/gst/base/gstbasesrc.h:
16106         * libs/gst/base/gstbasetransform.h:
16107         * libs/gst/base/gstcollectpads.h:
16108         * libs/gst/base/gstpushsrc.h:
16109         Fix broken GObject macros
16110
16111 2006-04-07  Wim Taymans  <wim@fluendo.com>
16112
16113         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16114         Initialize start and stop times, thanks valgrind.
16115
16116 2006-04-07  Wim Taymans  <wim@fluendo.com>
16117
16118         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16119         Be a bit nicer to badly behaving upstream elements that expect
16120         us to deal with non TIME segments and timestamps (such as fakesrc
16121         in the testsuite).
16122
16123 2006-04-07  Wim Taymans  <wim@fluendo.com>
16124
16125         * gst/gstbus.c:
16126         Small documentation clarification about the signal watch.
16127
16128         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
16129         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16130         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16131         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
16132         (gst_base_sink_get_position_last),
16133         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
16134         Convert and store timestamps in stream time and running time, the
16135         raw timestamps are not useful, also document this better.
16136         Use different window sizes for good and bad QoS observations so
16137         we react to badness a little quicker.
16138         Keep track of the amount of rendered and dropped buffers.
16139         Send QoS timestamps in running time.
16140
16141         * libs/gst/base/gstbasetransform.c:
16142         (gst_base_transform_sink_eventfunc),
16143         (gst_base_transform_handle_buffer):
16144         Compare QoS timestamps against running time.
16145
16146 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16147
16148         * gst/gstpad.c:
16149           Typo fixes in docs.
16150
16151 2006-04-06  Michael Smith  <msmith@fluendo.com>
16152
16153         * gst/gstpad.c: (gst_pad_set_property):
16154           Use g_value_get_object() instead of g_value_dup_gst_object(),
16155           to avoid double-reffing the pad template (which we then sink,
16156           so this worked previously if (and only if) the pad template
16157           was floating.
16158
16159         * gst/gstpadtemplate.c: (gst_pad_template_init),
16160         (gst_pad_template_pad_created):
16161           Never return floating references to pad templates, create
16162           them as initially-sunken.
16163
16164           Document an extra function (and make this stop sinking our
16165           pad template, since that is now guaranteed to do nothing,
16166           since we created it sunken).
16167
16168         * gst/gstghostpad.c:
16169           Fix docs typo.
16170
16171 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
16172
16173         * gst/gstinfo.c: (__gst_in_valgrind):
16174           Add some newlines.
16175
16176         * plugins/elements/gsttypefindelement.c:
16177         (gst_type_find_element_chain):
16178           Don't leak buffer caps.
16179
16180 2006-04-06  Michael Smith  <msmith@fluendo.com>
16181
16182         * gst/parse/grammar.y:
16183           Fix a leak in parse-launch for any source-or-sink named element 
16184           references used.
16185
16186         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
16187           Unref the pipeline if it exists after we've failed parsing.
16188
16189 2006-04-05  Michael Smith  <msmith@fluendo.com>
16190
16191         * gst/gstpipeline.c: (gst_pipeline_init):
16192           When we create a pipeline bus, initially create it in flushing mode.
16193           Fixes leaks in at least one test, and makes a new pipeline work the
16194           same as one that has gone to READY and then back to NULL.
16195
16196         * gst/gstelement.c:
16197           Typo fix in docs.
16198
16199 2006-04-05  Michael Smith  <msmith@fluendo.com>
16200
16201         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
16202           Unref a pad we reffed.
16203         * tests/check/gst/gstutils.c: (GST_START_TEST):
16204           Unref bins
16205
16206 2006-04-05  Michael Smith  <msmith@fluendo.com>
16207
16208         * gst/gstquery.c: (gst_query_set_formats),
16209         (gst_query_set_formatsv):
16210           Fix leaking GValues in queries, as shown by valgrind/testsuite.
16211
16212 2006-04-05  Michael Smith  <msmith@fluendo.com>
16213
16214         * tests/check/generic/sinks.c: (GST_START_TEST):
16215           Fix a variety of memleaks in sinks check, which are only sometimes 
16216           shown by running the tests under valgrind (weird?).
16217
16218 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
16219
16220         * docs/version.entities.in:
16221           Fix the substituted entity name after thomas' changes on the
16222           weekend.
16223
16224 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
16225
16226         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
16227         VALGRIND_PRINTF
16228         
16229 2006-04-05  Andy Wingo  <wingo@pobox.com>
16230
16231         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
16232
16233         * libs/gst/base/gstbasetransform.c
16234         (gst_base_transform_sink_eventfunc): When resetting our segment on
16235         FLUSH_STOP, also update the flag saying we haven't seen a
16236         newsegment.
16237
16238 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16239
16240         Patch by: Paolo Borelli  <pborelli at katamail dot com>
16241
16242         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16243         (gst_plugin_check_license):
16244           minor clean-ups: G_DEFINE_TYPE already takes care of the
16245           parent_class stuff, no need to do it twice. Mark array of
16246           license strings as constant. (#337103)
16247           
16248 2006-04-04  Michael Smith  <msmith@fluendo.com>
16249
16250         * tools/gst-inspect.c: (print_element_list):
16251           Free the right plugin list; fixes a memory leak.
16252
16253 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16254
16255         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
16256
16257         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16258           Don't error out on empty buffers (#336945).
16259           
16260 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
16261
16262         * docs/libs/gstreamer-libs-sections.txt:
16263         * gst/gsttaglist.c:
16264         * libs/gst/base/gstbasesink.c:
16265         * libs/gst/base/gstbasesink.h:
16266         * libs/gst/base/gstbasesrc.c:
16267         * libs/gst/base/gstbasesrc.h:
16268           Documentation updates. Make BaseSink and BaseSrc docs contain the
16269           class structure so that people can actually see the prototypes for
16270           virtual functions they're supposed to be overriding.
16271
16272 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
16273
16274         * plugins/elements/gsttypefindelement.c:
16275         (gst_type_find_element_chain):
16276           More debug info; when skipping typefinding, send cached
16277           events in all cases.
16278
16279 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
16280
16281         * configure.ac:
16282           use new AS_VERSION and AS_NANO macros
16283         * gst/gst-i18n-lib.h:
16284         * gst/gst.c:
16285         * gst/gsterror.c:
16286         * gst/gstversion.h.in:
16287         * win32/common/config.h:
16288         * win32/common/config.h.in:
16289           update accordingly
16290
16291 2006-03-31  Michael Smith  <msmith@fluendo.com>
16292
16293         * plugins/elements/gsttypefindelement.c:
16294         (gst_type_find_element_chain):
16295           Do not typefind content if the buffers already have caps.
16296           Neccesary for icydemux (#333657), and the right thing to do anyway.
16297
16298 2006-03-30  Wim Taymans  <wim@fluendo.com>
16299
16300         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16301         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16302         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16303         (gst_base_sink_record_qos_observation),
16304         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16305         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16306         (gst_base_sink_change_state):
16307         More QoS measurements as described in the design doc.
16308         Get rid of ringbuffer with observations, running average is
16309         more simple and equally good.
16310         Calculates valid proportion now.
16311         Added beginning of flood measurement.
16312
16313 2006-03-29  Wim Taymans  <wim@fluendo.com>
16314
16315         * docs/design/part-qos.txt:
16316         * gst/gstclock.c:
16317         Small documentation updates and additions.
16318
16319 2006-03-29  Wim Taymans  <wim@fluendo.com>
16320
16321         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16322         (gst_base_src_send_event), (gst_base_src_loop),
16323         (gst_base_src_change_state):
16324         Perform the EOS logic when we reach the segment stop position.
16325         Fix compilation on gcc4.1
16326
16327 2006-03-29  Wim Taymans  <wim@fluendo.com>
16328
16329         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16330
16331         * plugins/elements/gstqueue.c: (gst_queue_init),
16332         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16333         (gst_queue_set_property):
16334         * plugins/elements/gstqueue.h:
16335         In queue, when EOS is received, if minimum threshold > max_size -
16336         current_level, there is chance that queue blocks forever in conditional
16337         item del wait. This is because the queue is not emptied completely due
16338         to minimum threshold.  Here is another approach. Instead of setting
16339         cur_levels to max in EOS, just zero all minimum threshold levels. This
16340         should make sure that queue gives out all data. When going to READY
16341         (stop) state, just reset the original minimum threshold levels.
16342         Fixes #336336.
16343
16344 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
16345
16346         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16347         (gst_type_find_element_handle_event),
16348         (gst_type_find_element_send_cached_events),
16349         (gst_type_find_element_change_state):
16350         * plugins/elements/gsttypefindelement.h:
16351           When typefinding is done in push mode, we should cache
16352           events we receive during typefinding instead of just
16353           dropping them (e.g. newsegment, custom events from
16354           dvdreadsrc etc.) and then send them out once we've
16355           determined the type of the stream (and decodebin
16356           has had a chance to plug in a decoder/demuxer).
16357           
16358 2006-03-27  Wim Taymans  <wim@fluendo.com>
16359
16360         * docs/design/part-qos.txt:
16361         First QoS ideas.
16362
16363 2006-03-27  Wim Taymans  <wim@fluendo.com>
16364
16365         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16366
16367         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16368         (gst_base_src_send_event), (gst_base_src_change_state):
16369         Handle element seek correctly when we are streaming.
16370         Fixes #326998.
16371
16372 2006-03-24  Michael Smith  <msmith@fluendo.com>
16373
16374         * docs/faq/gst-uninstalled:
16375           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16376           allow you to correctly run intalled applications built against old 
16377           core, using plugins that require updated core (e.g. running
16378           installed totem against a full uninstalled gstreamer stack)
16379
16380 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16381
16382         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16383         more debug details
16384
16385 2006-03-24  Wim Taymans  <wim@fluendo.com>
16386
16387         * docs/gst/gstreamer-sections.txt:
16388         Rearrange the order of the methods so that related methods
16389         are grouped together in sections.
16390
16391 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16392
16393         * gst/gstelement.c:
16394           Little clarification in the docs
16395
16396 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16397
16398         * docs/README:
16399         formatting fix
16400         * plugins/elements/gstidentity.c:
16401         * plugins/elements/gstqueue.c:
16402         * plugins/elements/gsttee.c:
16403         * plugins/elements/gsttypefindelement.c:
16404         GST_ELEMENT_DETAILS formatting
16405
16406 2006-03-24  Wim Taymans  <wim@fluendo.com>
16407
16408         * libs/gst/base/gstbasesink.h:
16409         Only add fields, not insert or we break ABI.
16410
16411 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16412
16413         * win32/common/libgstbase.def:
16414         * win32/common/libgstreamer.def:
16415           Update, add recently added functions.
16416
16417 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16418
16419         * docs/gst/gstreamer-sections.txt:
16420         * gst/gstutils.c: (gst_pad_query_peer_position),
16421         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16422         * gst/gstutils.h:
16423           API: add some new utility functions:
16424            - gst_pad_query_peer_position()
16425            - gst_pad_query_peer_duration()
16426            - gst_pad_query_peer_convert()
16427           
16428 2006-03-23  Wim Taymans  <wim@fluendo.com>
16429
16430         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16431         (gst_base_sink_init), (gst_base_sink_finalize),
16432         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16433         (gst_base_sink_set_property), (gst_base_sink_get_property),
16434         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16435         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16436         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16437         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16438         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16439         (gst_base_sink_preroll_object), (gst_base_sink_event),
16440         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16441         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16442         (gst_base_sink_query), (gst_base_sink_change_state):
16443         Decouple max-lateness and the fact that QoS messages are generated
16444         with a new property (qos).
16445         added API: GstBaseSink::async_play()
16446         Add vmethod so subclasses can be notified of ASYNC playing
16447         state changes.
16448         Collect timestamp start and stop to report better current
16449         position in EOS/PLAYING/PAUSED/READY/NULL.
16450         Refactor QoS/frame dropping and other measurements.
16451         API: GstBaseSrc::qos
16452         Fixes #326311
16453
16454         * libs/gst/base/gstbasesink.h:
16455         Added Private struct.
16456         API: gst_base_sink_set_qos_enabled()
16457         API: gst_base_sink_is_qos_enabled()
16458
16459 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16460
16461         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16462           If compiling against GLib-2.8 or newer, try to read the
16463           registry file using GMappedFile first before falling back
16464           to fopen() + fread() (#332151).
16465
16466 2006-03-22  Wim Taymans  <wim@fluendo.com>
16467
16468         * gst/gstinfo.c: (gst_debug_set_active),
16469         (gst_debug_category_set_threshold):
16470         Disable debugging unless explicitly activated.
16471         Fixes #335480.
16472
16473 2006-03-22  Wim Taymans  <wim@fluendo.com>
16474
16475         * gst/gstelement.c: (gst_element_set_locked_state),
16476         (gst_element_dispose):
16477         Cleanup the error case.
16478
16479         * gst/gstobject.c: (gst_object_dispose):
16480         print a critical when some object was disposed with
16481         a parent, also revive the object since it might
16482         crash the parent.
16483
16484 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16485
16486         * tools/gst-launch.1.in:
16487           Fix another typo.
16488
16489 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16490
16491         * configure.ac:
16492         * tests/check/Makefile.am:
16493           disable some tests when we don't have a registry
16494         * tests/check/gst/gstutils.c: (gst_utils_suite):
16495           don't build the part that needs parsing
16496
16497 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16498
16499         * gst/Makefile.am
16500         * tests/examples/Makefile.am:
16501           fix --disable-parse build
16502
16503 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16504
16505         * tools/gst-feedback.1.in:
16506           Fix typo: s/feeback/feedback/ (#133494).
16507
16508 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16509
16510         * tools/Makefile.am:
16511         * tools/gst-launch.1.in:
16512           Add FILES section and correct entry about GST_REGISTRY_PATH
16513           environment variable (#133495; #133494).
16514
16515 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16516
16517         * tools/Makefile.am:
16518         * tools/gst-md5sum.1.in:
16519         * tools/gst-md5sum.c:
16520           Remove gst-md5sum and man page (the md5sink element
16521           required was removed ages ago)
16522
16523 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16524
16525         * gst/gststructure.c: (gst_structure_id_set_value):
16526           Make sure that string fields in structures/taglists
16527           contain valid UTF-8 - we don't want to pass rubbish to
16528           applications because of a buggy plugin (cp. #334167).
16529
16530 2006-03-21  Edward Hervey  <edward@fluendo.com>
16531
16532         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16533         (gst_bin_handle_message_func):
16534         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16535         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16536         (gst_element_set_bus_func):
16537         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16538         * gst/gstminiobject.c: (gst_value_set_mini_object),
16539         (gst_value_take_mini_object):
16540         * gst/gstpad.c: (gst_pad_set_pad_template):
16541         * gst/gstpipeline.c: (gst_pipeline_dispose),
16542         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16543         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16544         (gst_collect_pads_chain):
16545         * libs/gst/net/gstnettimeprovider.c:
16546         (gst_net_time_provider_set_property):
16547         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16548         It's in fact all issues with gst_*object_replace().
16549
16550 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16551
16552         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16553         
16554         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16555         * pkgconfig/gstreamer-check.pc.in:
16556           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16557
16558 2006-03-21  Edward Hervey  <edward@fluendo.com>
16559
16560         * gst/gstbuffer.h:
16561         * gst/gstevent.h:
16562         * gst/gstmessage.h:
16563         gst_[buffer|event|message]_ref() macros are replaced by a static
16564         inline functions because gcc-4.1 will about if the return value
16565         isn't used.
16566         * tests/check/gst/gstevent.c: (event_probe):
16567         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16568
16569 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16570
16571         * gst/gstutils.h:
16572         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16573         the type' case. (Closes: #335195 for now). In the future, when we
16574         depend on GLib 2.10, we could also intern the type name using
16575         g_intern_static_string()
16576
16577 2006-03-20  Wim Taymans  <wim@fluendo.com>
16578
16579         * gst/gstbin.c: (gst_bin_handle_message_func),
16580         (bin_query_max_init), (bin_query_position_fold),
16581         (bin_query_position_done), (gst_bin_query):
16582         Position query should also take max of all streams.
16583
16584 2006-03-20  Wim Taymans  <wim@fluendo.com>
16585
16586         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16587         (gst_fake_src_finalize):
16588         Fix leaks in fakesrc.
16589
16590         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16591         Fix leaks in the testcase.
16592
16593 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16594
16595         * gst/gst_private.h:
16596           add win32 specific import decoration(__declspec(dllimport)) 
16597           for all extern GstDebugCategory * variables
16598         * win32/common/libgstbase.def:
16599         * win32/common/libgstcontroller.def:
16600         * win32/common/libgstreamer.def:
16601           Add some exports, remove empty lines
16602         * win32/common/libgstdataprotocol.def:
16603         * win32/common/libgstdataprotocol.dsp:
16604         * win32/common/libgstnet.def:
16605         * win32/common/libgstnet.dsp:
16606           new project files and exportation files added
16607         
16608 2006-03-19  Wim Taymans  <wim@fluendo.com>
16609
16610         * tests/check/libs/basesrc.c: (eos_event_counter):
16611         Use proper return value for probe.
16612
16613 2006-03-17  Wim Taymans  <wim@fluendo.com>
16614
16615         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16616         (gst_pad_push):
16617         Don't leak buffers, caps and pads on negotiation errors.
16618
16619 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16620
16621         * docs/faq/cvs.xml:
16622         * docs/faq/dependencies.xml:
16623         * docs/faq/developing.xml:
16624         * docs/faq/faq.xml:
16625         * docs/faq/general.xml:
16626         * docs/faq/getting.xml:
16627         * docs/faq/legal.xml:
16628         * docs/faq/troubleshooting.xml:
16629         * docs/faq/using.xml:
16630         Faq review and update.
16631
16632 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16633
16634         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16635         (gst_pad_push):
16636         Don't pound the cpu to pieces by checking get_caps when accept_caps
16637         is called with the same caps as the pad already has.
16638         Use GST_DEBUG_OBJECT when outputting caps change information.
16639
16640 2006-03-15  Wim Taymans  <wim@fluendo.com>
16641
16642         * gst/gstclock.c: (gst_clock_class_init):
16643         Fix docs.
16644
16645 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16646
16647         * gst/gstbuffer.h:
16648         Documentation fix.
16649
16650         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16651         (gst_pad_accept_caps), (gst_pad_configure_sink),
16652         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16653         Make the default acceptcaps behaviour be to check the requested 
16654         caps against the gst_pad_get_caps output. 
16655
16656         Ensure that gst_pad_accept_caps is used to check caps when a pad
16657         doesn't have a setcaps function, so that pads automatically refuse 
16658         caps that they don't allow in their pad template. (Fixes #332986)
16659
16660         When a buffer with attached caps is pushed, ensure that the source 
16661         pad receives those caps even if the element didn't call
16662         gst_pad_set_caps first.
16663
16664 2006-03-15  Wim Taymans  <wim@fluendo.com>
16665
16666         * libs/gst/base/gstadapter.c:
16667         Add some docs.
16668
16669 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16670
16671         * win32/common/libgstbase.def:
16672         * win32/common/libgstcontroller.def:
16673         * win32/common/libgstreamer.def:
16674           Add a whole bunch of missing functions (#334434).
16675
16676 2006-03-14  Wim Taymans  <wim@fluendo.com>
16677
16678         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16679         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16680         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16681         Better debug info when we receive a segment event.
16682         Reorganize a bit so we can pass the get_times() results around.
16683         Use the segment format when calculating the running time.
16684         Don't do QoS is sync is disabled or we have no clock or the
16685         element does not want us to sync to the clock.
16686         Don't drop buffers if QoS is disabled for now.
16687
16688 2006-03-14  Wim Taymans  <wim@fluendo.com>
16689
16690         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16691         Marked the stats property as unimplemented so people don't get
16692         wild ideas.
16693         Add debug message when regression goes wrong.
16694         Added some more docs.
16695
16696 2006-03-14  Wim Taymans  <wim@fluendo.com>
16697
16698         * gst/gstsegment.c: (gst_segment_to_stream_time):
16699         Return correct return type in case of errors.
16700
16701 2006-03-14  Wim Taymans  <wim@fluendo.com>
16702
16703         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16704           Don't segfault on invalid formats.
16705
16706 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16707
16708         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16709           Can't use gst_segment_to_running_time() when the segment
16710           is not in GST_TIME_FORMAT (like with filesink, for example).
16711           Stops flac encoding pipelines from spewing critical warnings
16712           at EOS (#331248).
16713           
16714 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16715
16716         * gst/gstpipeline.c: (gst_pipeline_class_init):
16717           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16718
16719         * plugins/elements/gsttypefindelement.c:
16720         (gst_type_find_element_handle_event):
16721           Don't try to typefind empty streams.
16722
16723 2006-03-14  Wim Taymans  <wim@fluendo.com>
16724
16725         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16726         (gst_base_sink_do_qos):
16727         Separate QoS calculation.
16728         Only drop buffers when lateness is bigger than the 
16729         duration of the buffer.
16730
16731 2006-03-13  Wim Taymans  <wim@fluendo.com>
16732
16733         * gst/gstpipeline.c: (gst_pipeline_set_property),
16734         (gst_pipeline_get_property), (do_pipeline_seek),
16735         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16736         (gst_pipeline_get_delay):
16737         Don't deadlock when reading properties.
16738
16739 2006-03-13  Wim Taymans  <wim@fluendo.com>
16740
16741         * libs/gst/base/gstbasetransform.c:
16742         (gst_base_transform_class_init), (gst_base_transform_init),
16743         (gst_base_transform_sink_event),
16744         (gst_base_transform_sink_eventfunc),
16745         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16746         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16747         (gst_base_transform_set_property),
16748         (gst_base_transform_get_property),
16749         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16750         (gst_base_transform_set_qos_enabled),
16751         (gst_base_transform_is_qos_enabled):
16752         * libs/gst/base/gstbasetransform.h:
16753         Make basetransform virtual method for src events too.
16754         Handle QOS in basetransform.
16755         API: gst_base_transform_update_qos()
16756         API: gst_base_transform_set_qos_enabled()
16757         API: gst_base_transform_is_qos_enabled()
16758
16759 2006-03-13  Wim Taymans  <wim@fluendo.com>
16760
16761         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16762         (gst_base_sink_do_sync):
16763         Small cleanups.
16764         Use QOS debug category.
16765
16766 2006-03-13  Wim Taymans  <wim@fluendo.com>
16767
16768         * plugins/elements/gstqueue.c:
16769         Very small doc update.
16770
16771 2006-03-13  Wim Taymans  <wim@fluendo.com>
16772
16773         * gst/gst_private.h:
16774         * gst/gstinfo.c: (_gst_debug_init):
16775         Added QOS debug category
16776
16777 2006-03-13  Wim Taymans  <wim@fluendo.com>
16778
16779         * docs/gst/gstreamer-sections.txt:
16780         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16781         * gst/gstbin.h:
16782         * gst/gstbus.c: (gst_bus_class_init):
16783         * gst/gstbus.h:
16784         * gst/gstclock.c:
16785         * gst/gstelement.c: (gst_element_set_locked_state):
16786         * gst/gstsegment.c:
16787         Documentation updates.
16788
16789         * gst/gstpipeline.c: (gst_pipeline_get_type),
16790         (gst_pipeline_class_init), (gst_pipeline_init),
16791         (gst_pipeline_dispose), (gst_pipeline_set_property),
16792         (gst_pipeline_get_property), (do_pipeline_seek),
16793         (gst_pipeline_send_event), (gst_pipeline_change_state),
16794         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16795         (gst_pipeline_get_delay):
16796         * gst/gstpipeline.h:
16797         Added methods for setting the delay.
16798         API: gst_pipeline_set_delay()
16799         API: gst_pipeline_get_delay()
16800         Add pipeline debug category
16801         Various cleanups.
16802         Updated docs.
16803         Don't reset stream time when seek failed.
16804
16805 2006-03-13  Wim Taymans  <wim@fluendo.com>
16806
16807         * docs/design/draft-klass.txt:
16808         * docs/design/part-clocks.txt:
16809         * docs/design/part-events.txt:
16810         * docs/design/part-gstbin.txt:
16811         * docs/design/part-gstpipeline.txt:
16812         * docs/design/part-messages.txt:
16813         * docs/design/part-negotiation.txt:
16814         * docs/design/part-overview.txt:
16815         * docs/design/part-preroll.txt:
16816         * docs/design/part-seeking.txt:
16817         * docs/design/part-states.txt:
16818         * docs/design/part-streams.txt:
16819         Documentation updates.
16820
16821 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16822
16823         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16824         us to leak strings...
16825
16826 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16827
16828         * libs/gst/net/gstnettimeprovider.c:
16829           fix docs
16830         * win32/common/config.h:
16831           update
16832
16833 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16834
16835         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16836
16837         * configure.ac:
16838           Don't check for libgnomeui (leftover from old examples
16839           that aren't built or disted any longer) (#334303).
16840           
16841 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16842
16843         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16844         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16845           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16846           there's no space left on the device.
16847
16848 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16849
16850         * gst/gstclock.h:
16851           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16852           to cast the input to GstClockTime before comparing with
16853           another GstClockTime value.
16854
16855 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16856
16857         * configure.ac:
16858           back to trunk
16859
16860 === release 0.10.4 ===
16861
16862 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16863
16864         * configure.ac:
16865           releasing 0.10.4, "Light"
16866
16867 2006-03-10  Michael Smith  <msmith@fluendo.com>
16868
16869         * libs/gst/dataprotocol/dataprotocol.c:
16870           Fix docs for dataprocotol to not get the return types completely
16871           wrong for a few functions.
16872
16873 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16874
16875         * docs/gst/gstreamer-sections.txt:
16876         * gst/gstpipeline.c: (gst_pipeline_class_init),
16877         (gst_pipeline_init), (gst_pipeline_set_property),
16878         (gst_pipeline_get_property), (gst_pipeline_change_state),
16879         (gst_pipeline_set_auto_flush_bus),
16880         (gst_pipeline_get_auto_flush_bus):
16881         * gst/gstpipeline.h:
16882           Add new API: gst_pipeline_set_auto_flush_bus() and
16883           gst_pipeline_get_auto_flush_bus() to disable automatic
16884           flushing of the pipeline's GstBus when going from READY
16885           to NULL state (#332045).
16886
16887 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16888
16889         * docs/gst/gstreamer-sections.txt:
16890         * gst/gsturi.c: (gst_uri_has_protocol):
16891         * gst/gsturi.h:
16892            Add new API: gst_uri_has_protocol() (#333779).
16893
16894 2006-03-09  Wim Taymans  <wim@fluendo.com>
16895
16896         * gst/gstclock.c: (gst_clock_entry_new),
16897         (gst_clock_id_compare_func), (gst_clock_id_wait),
16898         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16899         (gst_clock_init), (gst_clock_get_internal_time),
16900         (gst_clock_set_master), (do_linear_regression),
16901         (gst_clock_add_observation), (gst_clock_set_property):
16902         * gst/gstclock.h:
16903         Review docs.
16904         Small cleanups.
16905         Fix a possible segfault when the window-size is made smaller.
16906         Calculate jitter before performing the clock wait. Ideally
16907         the clock implementation should calculate jitter but we need
16908         API breakage for that.
16909
16910         * gst/gstsystemclock.c: (gst_system_clock_init):
16911         Docs review.
16912         
16913         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16914         Remove leftover else
16915
16916         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16917         (gst_systemclock_suite):
16918         Added check to test GST_CLOCK_DIFF.
16919
16920 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16921
16922         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16923         (gst_type_find_helper_get_range):
16924           If we are provided with the size, we should implement
16925           GstTypeFind::get_length, so that typefind functions who
16926           want to can actually peek at the middle of a file.
16927
16928 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16929
16930         * docs/manual/advanced-dataaccess.xml:
16931           Add some very very basic error checking.
16932
16933         * docs/pwg/appendix-checklist.xml:
16934           Some updates to the list of things to check when writing an element.
16935
16936 2006-03-08  Wim Taymans  <wim@fluendo.com>
16937
16938         * docs/design/part-element-transform.txt:
16939         Added some docs about the design of tranform elements.
16940
16941         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16942         (gst_base_src_loop), (gst_base_src_change_state):
16943         Mark buffers with the DISCONT flag.
16944
16945 2006-03-08  Michael Smith  <msmith@fluendo.com>
16946
16947         * gst/gstregistry.h:
16948         * gst/gstregistryxml.c: (gst_registry_save),
16949         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16950         (gst_registry_xml_save_pad_template),
16951         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16952         (gst_registry_xml_write_cache):
16953           Rewrite registry-saving to avoid race conditions and check for
16954           failed writes.
16955
16956 2006-03-08  Wim Taymans  <wim@fluendo.com>
16957
16958         * libs/gst/base/gstbasetransform.c:
16959         (gst_base_transform_transform_caps),
16960         (gst_base_transform_transform_size),
16961         (gst_base_transform_prepare_output_buffer),
16962         (gst_base_transform_get_unit_size),
16963         (gst_base_transform_buffer_alloc),
16964         (gst_base_transform_handle_buffer),
16965         (gst_base_transform_change_state):
16966         Cleanups, separate normal flow from errors, add sensible
16967         DEBUG lines.
16968         Don't try to renegotiate when allocating an output buffer.
16969         Also copy DISCONT buffer flag when copying a buffer.
16970         Reset the transform after we finish streaming, not during.
16971
16972 2006-03-08  Wim Taymans  <wim@fluendo.com>
16973
16974         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16975         Use last buffer timestamp in qos message.
16976
16977 2006-03-07  Wim Taymans  <wim@fluendo.com>
16978
16979         Patch by: Christophe Fergeau
16980
16981         * docs/pwg/advanced-tagging.xml:
16982         * docs/pwg/building-pads.xml:
16983           fixes #333416
16984
16985 2006-03-07  Wim Taymans  <wim@fluendo.com>
16986
16987         * docs/libs/gstreamer-libs-sections.txt:
16988         Added basesink new methods.
16989
16990         * gst/gstevent.c:
16991         * gst/gstevent.h:
16992         Docs updates. Flesh out the QoS docs.
16993
16994         * libs/gst/base/gstadapter.c:
16995         Small doc clarification about ownership and flushing.
16996
16997         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16998         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16999         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
17000         (gst_base_sink_get_property), (gst_base_sink_do_sync):
17001         * libs/gst/base/gstbasesink.h:
17002         API additions: 
17003         Added new methods to allow subclass to control max-lateness 
17004         and sync.
17005         Generate very basic QoS events based on last sync observation.
17006         Updated docs, fix typo, added some QoS blurb.
17007
17008         * libs/gst/base/gstbasesrc.c:
17009         Remove obsolete _get_state() calls from docs.
17010
17011 2006-03-07  Wim Taymans  <wim@fluendo.com>
17012
17013         * docs/libs/gstreamer-libs-sections.txt:
17014         * libs/gst/base/gstbasetransform.h:
17015         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
17016         Fix docs for GstBaseSrc.
17017
17018 2006-03-07  Wim Taymans  <wim@fluendo.com>
17019
17020         * docs/gst/gstreamer-sections.txt:
17021         * gst/gstbuffer.h:
17022         * gst/gstvalue.c:
17023         * libs/gst/base/gstbasetransform.h:
17024         Small documentation fixes.
17025
17026 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
17027
17028         * gst/gstvalue.c:
17029           Document thread-unsafety of gst_value_register_foo_func()
17030           when used at the same time as gst_value_foo() (#322628).
17031
17032 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
17033
17034         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
17035         (gst_push_src_check_get_range):
17036           Push sources don't support pull mode by default.
17037
17038 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
17039
17040         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17041         (gst_base_src_init), (gst_base_src_pad_check_get_range),
17042         (gst_base_src_default_check_get_range):
17043         * libs/gst/base/gstbasesrc.h:
17044           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
17045           provide default implementation, and rename
17046           gst_base_src_check_get_range() to
17047           gst_base_src_pad_check_get_range() for clarity.
17048
17049 2006-03-06  Wim Taymans  <wim@fluendo.com>
17050
17051         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
17052         Make property overridable.
17053
17054 2006-03-06  Wim Taymans  <wim@fluendo.com>
17055
17056         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
17057         (gst_base_sink_init), (gst_base_sink_set_property),
17058         (gst_base_sink_get_property), (gst_base_sink_do_sync):
17059         * libs/gst/base/gstbasesink.h:
17060         API addition: Make max-lateness a property.
17061
17062 2006-03-06  Wim Taymans  <wim@fluendo.com>
17063
17064         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
17065         (gst_base_sink_do_sync), (gst_base_sink_render_object):
17066         Don't ever draw a frame that is >10ms late.
17067
17068 2006-03-06  Michael Smith  <msmith@fluendo.com>
17069
17070         * gst/gstmessage.c: (_gst_message_copy):
17071           When copying a message, set the parent_refcount of the enclosed
17072           structure to point at the copy, not the original message.
17073
17074 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
17075
17076         Patch by: Christophe Fergeau
17077
17078         * gst/gstutils.h:
17079           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
17080           usable in c++ code (#333417)
17081
17082 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17083
17084         * gst/gstclock.h:
17085           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
17086
17087 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
17088
17089         * libs/gst/base/gstbasetransform.c:
17090         (gst_base_transform_transform_caps):
17091           Make sure caps are writable before passing them to
17092           gst_caps_append().
17093
17094 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17095
17096         * gst/gsterror.h:
17097           Fix some minor docs errors.
17098
17099 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
17100
17101           Patch by: Ross Burton <ross at burtonini dot com>
17102
17103         * gst/gsterror.c: (_gst_resource_errors_init):
17104         * gst/gsterror.h:
17105           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
17106
17107 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17108
17109         * gst/gst.c:
17110         Add a check and output a g_warning when GStreamer is built
17111         against GLib 2.6 but running against 2.8 or higher, and vice 
17112         versa. (Closes: #323542)
17113
17114 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
17115
17116         * gst/parse/parse.l:
17117           Commit patch for parse_launch syntax from #331255. Removes 
17118           support for quoted strings and mimetypes when writing filtered 
17119           caps. See the bug report for more details - I'm pretty sure this
17120           obscure feature is not in use by _anyone_ anywhere.
17121
17122           With this simple change, the size of the gstreamer.so here 
17123           drops from 2193KB to 1565KB.
17124
17125 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17126
17127         * plugins/elements/gsttypefindelement.h:
17128         * plugins/elements/gsttypefindelement.c:
17129         (gst_type_find_element_src_event), (start_typefinding),
17130         (stop_typefinding), (gst_type_find_element_handle_event),
17131         (gst_type_find_element_chain),
17132         (gst_type_find_element_chain_do_typefinding):
17133           Use gst_type_find_helper_for_buffer() for chain-based
17134           typefinding.
17135
17136 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17137
17138         * plugins/elements/gsttypefindelement.c:
17139         (gst_type_find_element_class_init),
17140         (gst_type_find_element_set_property),
17141         (gst_type_find_element_get_property):
17142           Deprecate "maximum" property (not only was it only taken into
17143           account for typefinding in push-mode anyway, it also was never
17144           actually possible to set it in the first place because the
17145           property was registered with the numeric property ID for the
17146           "minimum" property). Register "maximum" property correctly,
17147           for the sake of future copy'n'pasters. Remove some cruft
17148           from property get/set functions.
17149
17150 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
17151
17152         * plugins/elements/gsttypefindelement.c:
17153         (gst_type_find_element_activate):
17154           Use gst_type_find_helper_get_range() here, so we
17155           can honour the "minimum" property and also emit
17156           the signal with the correct probability of the found caps.
17157
17158 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
17159
17160         * docs/libs/gstreamer-libs-sections.txt:
17161         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
17162         (helper_find_suggest), (gst_type_find_helper_get_range),
17163         (gst_type_find_helper):
17164         * libs/gst/base/gsttypefindhelper.h:
17165           New API: gst_type_find_helper_get_range() (#333042).
17166
17167 2006-03-02  Michael Smith  <msmith@fluendo.com>
17168
17169         * gst/gstregistryxml.c: (load_feature):
17170           Asserting on a failure to read part of the registry is Not Cool.
17171           Just log a warning and return NULL (which is already handled)
17172
17173 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
17174
17175         * win32/common/libgstbase.def:
17176           added export of gst_type_find_helper_for_buffer
17177         * win32/common/libgstbase.def:
17178           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
17179           gst_ghost_pad_get_target
17180
17181 2006-02-28  Wim Taymans  <wim@fluendo.com>
17182
17183         * docs/design/draft-klass.txt:
17184         We use Filter now.
17185         Added Connector to mark elements that are only used to
17186         allow pipeline connections.
17187         Moved Debug to extra feature since most of them are 
17188         functionally something else.
17189
17190 2006-02-28  Wim Taymans  <wim@fluendo.com>
17191
17192         * docs/design/draft-klass.txt:
17193         Some updates and clarifications.
17194
17195 2006-02-28  Wim Taymans  <wim@fluendo.com>
17196
17197         * docs/design/draft-klass.txt:
17198         Proposal for klass field values.
17199
17200         * docs/design/part-streams.txt:
17201         Start of a doc describing stream anatomy.
17202
17203 2006-02-28  Wim Taymans  <wim@fluendo.com>
17204
17205         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
17206         Help the compiler a bit with type registration.
17207         Use existing forward cod path instead of duplicating it when 
17208         handling a message.
17209         
17210         * gst/gstbus.c: (gst_bus_get_type):
17211         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
17212         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
17213         * gst/gstclock.c: (gst_clock_get_type):
17214         * gst/gstelement.c: (gst_element_get_type),
17215         * gst/gstelementfactory.c: (gst_element_factory_get_type):
17216         * gst/gstindexfactory.c: (gst_index_factory_get_type):
17217         * gst/gstminiobject.c: (gst_mini_object_get_type):
17218         * gst/gstpad.c: (gst_pad_get_type):
17219         * gst/gstsegment.c: (gst_segment_get_type):
17220         * gst/gststructure.c: (gst_structure_get_type):
17221         * gst/gstsystemclock.c: (gst_system_clock_get_type):
17222         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
17223         * gst/gstvalue.c:
17224         Help compiler with type registration.
17225
17226         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
17227         Small doc update.
17228
17229 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17230
17231         * plugins/elements/gsttypefindelement.c:
17232         (gst_type_find_element_handle_event):
17233           When we get an EOS event and have not found a type yet
17234           (most likely because we had not yet accumulated
17235           TYPE_FIND_MIN_SIZE of data yet), try to determine the
17236           type given the data we have so far. Fixes typefinding
17237           for very short streams again, most notably quicktime
17238           redirections as used on Apple's trailer site (#331701).
17239
17240 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17241
17242         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
17243         (gst_type_find_helper):
17244           Try typefinding factories with the highest rank first.
17245
17246 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17247
17248         * docs/libs/gstreamer-libs-docs.sgml:
17249         * docs/libs/gstreamer-libs-sections.txt:
17250         * libs/gst/base/gsttypefindhelper.c:
17251           Add section for typefind helper and add documentation
17252           for the old and the new function.
17253
17254 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17255
17256         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17257         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17258         (gst_type_find_helper_for_buffer):
17259         * libs/gst/base/gsttypefindhelper.h:
17260           New API: gst_type_find_helper_for_buffer() (#332723).
17261           
17262 2006-02-27  Michael Smith  <msmith@fluendo.com>
17263
17264         Patch by: Loïc Minier
17265
17266         * configure.ac:
17267         * docs/Makefile.am:
17268         * docs/slides/Makefile.am:
17269           prevent CVS directories getting disted.
17270
17271 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
17272
17273         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17274           Use the REFCOUNTING category for caps refcounting.
17275           
17276 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17277
17278         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17279           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17280
17281 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
17282
17283         * plugins/elements/gsttypefindelement.c:
17284         (gst_type_find_element_activate):
17285           Use gst_pad_check_pull_range() before _activate_pull()
17286           to avoid unnecessary open/close (see #331690).
17287
17288 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17289
17290         * gst/gstutils.c:
17291           Docs enhancement: make it crystal clear what the
17292           gst_pad_add_*_probe() callbacks should look like.
17293
17294 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
17295
17296         * libs/gst/base/gstbasesrc.c:
17297           Document how applications can stop recording from
17298           live sources (see #330996).
17299
17300 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17301
17302         * tests/check/Makefile.am:
17303         * tests/check/libs/basesrc.c: (eos_event_counter),
17304         (basesrc_eos_events_pull), (basesrc_eos_events_push),
17305         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17306         (gst_basesrc_suite), (main):
17307           ... and add some tests for the base source EOS stuff.
17308
17309 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17310
17311         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17312           Test case originally showed the problem fixed below,
17313           but was then amended. Add checks back at the place
17314           where they used to be.
17315
17316 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17317
17318         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17319         (gst_base_src_init), (gst_base_src_loop),
17320         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17321         (gst_base_src_change_state):
17322         * libs/gst/base/gstbasesrc.h:
17323           Don't unconditionally send EOS when going from PAUSED to
17324           READY state, esp. make sure we don't send two EOS events
17325           in some cases (e.g. one when reaching EOS and one when
17326           going from PAUSED to READY). Also, we don't want to send
17327           EOS events when operating in pull mode. However, we do
17328           want to send an EOS event when shutting down a live
17329           source explicitly, for example (fixes #330996).
17330           
17331 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
17332
17333         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17334           Update src->read_position after a seek when not using mmap.
17335           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17336
17337 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
17338
17339         * gst/Makefile.am:
17340         * gst/gstparse.h:
17341         * gst/gstutils.c:
17342         * gst/gstutils.h:
17343         Make things work with --disable-parse as they do with 
17344         --disable-load-save - the symbols involved disappear, but the
17345         header is still installed and GST_DISABLE_PARSE is included via
17346         gstconfig.h
17347
17348 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17349
17350         * libs/gst/base/gstbasetransform.c:
17351         (gst_base_transform_change_state): Fix a stupid bug. I was 
17352         sure I compiled that.
17353
17354 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17355
17356         * gst/gstpad.c: (gst_pad_set_blocked_async):
17357         * gst/gstutils.c: (gst_pad_add_data_probe),
17358         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17359         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17360         (gst_pad_remove_buffer_probe): Make those function act on the
17361         ghostpad target when it's a ghostpad. (Closes #331727)
17362
17363 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17364
17365         * libs/gst/base/gstbasetransform.c:
17366         (gst_base_transform_change_state): Make basetransform reusable.
17367         (Closes #331898)
17368
17369 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17370
17371         * docs/random/release:
17372         Move the current documentation of how to do a release to the top
17373         of the file.
17374
17375         * gst/gstbin.c: (gst_bin_class_init),
17376         (gst_bin_handle_message_func):
17377         Allow multiple state-recalculation threads. (Closes #328873)
17378
17379 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17380
17381         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17382         * gst/gstpad.c: (gst_pad_set_event_function),
17383         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17384         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17385         2 strings. You can't use the STR_NULL macro on that.
17386
17387 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17388
17389         * gst/gstpad.c: (gst_pad_set_event_function),
17390         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17391         (gst_pad_set_getcaps_function)
17392         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17393           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17394           So now, we can use --gst-debug-level=5 on Windows
17395         * win32/common/libgstcontroller.def:
17396           Added export of gst_controller_init
17397         * win32/vs6/libgstcontroller.dsp:
17398           Fixed Release post build configuration
17399
17400 2006-02-17  Wim Taymans  <wim@fluendo.com>
17401
17402         * tests/check/gst/gstquery.c: (GST_START_TEST):
17403         Added another check.
17404
17405 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17406
17407         * plugins/elements/gsttypefindelement.c: (find_peek):
17408           We can do peeks at non-zero offsets, as long as they
17409           fall within the buffer we have.
17410
17411 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17412
17413         * tests/check/Makefile.am:
17414         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17415         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17416         (parse_suite), (main):
17417           Add testsuite for parse launch syntax
17418
17419 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17420
17421         * plugins/elements/gsttypefindelement.c:
17422         (gst_type_find_element_chain):
17423           When typefinding is unsuccessful in the chain function, don't
17424           error out immediately. Only error out with NO_CAPS_FOUND if
17425           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17426           otherwise simply wait for more data so we can try typefinding
17427           again with more data later. Also, don't attempt to typefind
17428           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17429           this should improve typefinding from network sources where the
17430           size of the first buffer can be somewhat random.
17431
17432 2006-02-14  Wim Taymans  <wim@fluendo.com>
17433
17434         * docs/gst/gstreamer-sections.txt:
17435         * gst/gstpadtemplate.c:
17436         * gst/gstpadtemplate.h:
17437         Fix padtemplate docs, fixes #328805.
17438
17439 2006-02-14  Wim Taymans  <wim@fluendo.com>
17440
17441         * tools/gst-launch.c: (main):
17442         NO_PREROLL is not an ERROR so don't send confusing messages
17443         to the user.
17444
17445 2006-02-14  Wim Taymans  <wim@fluendo.com>
17446
17447         Patch by: Torsten Schoenfeld
17448
17449         * gst/gstregistry.c: (gst_registry_get_default),
17450         (_gst_registry_cleanup):
17451         Protect default registry with lock and ref/sink it.
17452         Fixes #324818
17453
17454 2006-02-14  Wim Taymans  <wim@fluendo.com>
17455
17456         * gst/gstbuffer.c:
17457         * gst/gstquery.c: (gst_query_list_add_format),
17458         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17459         (gst_query_parse_formats_nth):
17460         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17461         Docs fixes.
17462
17463 2006-02-14  Wim Taymans  <wim@fluendo.com>
17464
17465         * docs/gst/gstreamer-sections.txt:
17466         Reworked query docs.
17467
17468         * gst/gstquery.c: (gst_query_new_formats),
17469         (gst_query_list_add_format), (gst_query_set_formats),
17470         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17471         (gst_query_parse_formats_nth):
17472         * gst/gstquery.h:
17473         Flesh out formats query, added some new methods.
17474         Fix part of #324398.
17475
17476         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17477         Added query creation tests.
17478
17479 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17480
17481         * gst/gstpad.c: (fixate_value):
17482         Add a default fixation for fraction lists.
17483
17484 2006-02-13  Wim Taymans  <wim@fluendo.com>
17485
17486         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17487         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17488         (gst_task_join):
17489         * gst/gsttask.h:
17490         Detect and warn for obvious deadlocks. fixes #320340
17491         Fix error case where lock was not released.
17492
17493         * tests/check/Makefile.am:
17494         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17495         (task_func), (gst_element_suite), (main):
17496         Add task check.
17497
17498 2006-02-13  Wim Taymans  <wim@fluendo.com>
17499
17500         * docs/gst/gstreamer-sections.txt:
17501         * gst/gstbus.c:
17502         Add new functions to docs.
17503
17504 2006-02-13  Wim Taymans  <wim@fluendo.com>
17505
17506         * docs/design/part-TODO.txt:
17507         Updated TODO list, basesrc supports seeking to non-bytes
17508         formats.
17509
17510         * docs/design/part-element-sink.txt:
17511         Update docs.
17512
17513         * gst/gstbin.c: (bin_replace_message),
17514         (gst_bin_handle_message_func):
17515         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17516         * gst/gstevent.c: (gst_event_finalize):
17517         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17518         (gst_pad_send_event):
17519         Use shiny new _TYPE_NAME macros.
17520
17521         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17522         Move debug statement up.
17523
17524         * gst/gstelement.c: (gst_element_set_locked_state):
17525         Add some debugging.
17526
17527 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17528
17529         * docs/gst/gstreamer-sections.txt:
17530         * gst/gstmessage.h:
17531         * gst/gstquery.h:
17532           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17533           macros (#330906). Also, document the already existing
17534           GST_QUERY_TYPE macro.
17535
17536 2006-02-13  Wim Taymans  <wim@fluendo.com>
17537
17538         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17539         (event_probe), (GST_START_TEST):
17540         Only events up to the pipeline EOS are counted, there are
17541         some more when going to NULL currently which we don't care
17542         about for now.
17543
17544 2006-02-13  Wim Taymans  <wim@fluendo.com>
17545
17546         * gst/gstpad.c: (gst_pad_send_event):
17547         Correctly check flushing and emit probes. fixes #330125
17548
17549 2006-02-10  Andy Wingo  <wingo@pobox.com>
17550
17551         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17552         structure.
17553         (gst_bus_init): Cache the location of the private data in the
17554         instance structure.
17555         (gst_bus_enable_sync_message_emission) 
17556         (gst_bus_disable_sync_message_emission): Implement new public
17557         functions.
17558         (gst_bus_post): Emit the sync-message signal if the user asked for
17559         it. Fixes #330684.
17560
17561         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17562         location of the bus-private structure.
17563         (gst_bus_enable_sync_message_emission)
17564         (gst_bus_disable_sync_message_emission): API addition
17565
17566 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17567
17568         Patch by: Vincent Torri
17569
17570         * docs/pwg/building-boiler.xml:
17571         PWG patch from #326800
17572
17573 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17574
17575         * configure.ac:
17576         * docs/Makefile.am:
17577         * docs/design/Makefile.am:
17578           Dist design docs.
17579
17580 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17581
17582         * configure.ac:
17583           back to CVS
17584
17585 === release 0.10.3 ===
17586
17587 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17588
17589         * configure.ac:
17590           releasing 0.10.3, "Like a virgin"
17591
17592 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17593
17594         * configure.ac:
17595           2nd prerelease of 0.10.3
17596           Bump libtool versioning.
17597
17598 2006-02-07  Andy Wingo  <wingo@pobox.com>
17599
17600         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17601         update last_stop if we're in TIME format and the timestamp is
17602         valid.
17603
17604         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17605         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17606         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17607         If we get a new newsegment with a different format, adapt
17608         accordingly.
17609
17610         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17611         of 0. Not a problem, really.
17612
17613         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17614         warn if sync=true.
17615
17616 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17617
17618         * configure.ac:
17619           Prelease of 0.10.3
17620
17621 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17622
17623         * win32/vs7:
17624           project files updated to the default vs7 configuration
17625         * win32/common/libgstbase.def:
17626         * win32/common/libgstreamer.def:
17627           added new symbols,
17628           removed empty lines,
17629           sorted all exported symbols alphabetically
17630         * win32/common/dirent.c:
17631         * win32/common/dirent.h:
17632         * win32/common/gchar.h:
17633           use windows line end.
17634           
17635 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17636
17637         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17638           Send EOS event when stopping.
17639
17640 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17641
17642         * docs/README:
17643           Tell folks what to do if the plugin-foobar.xml file
17644           hasn't been generated for a newly-added plugin.
17645
17646 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17647
17648         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17649         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17650         (gst_collect_pads_start), (gst_collect_pads_stop),
17651         (gst_collect_pads_event): Collectpads now holds a reference
17652         to the GstPad that was added. Indeed we don't want to look
17653         at pads that might just go away with no warning...
17654
17655 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17656
17657         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17658         (gst_collect_pads_start), (gst_collect_pads_stop),
17659         (gst_collect_pads_event), (gst_collect_pads_chain):
17660         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17661         Mark Nauwelaerts's patch on bug #328491.
17662
17663 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17664
17665         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17666         (gst_utils_suite):
17667           Add some simple tests for gst_parse_bin_from_description() and
17668           gst_bin_find_unconnected_pad() (#329069).
17669
17670 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17671
17672         * tools/gst-launch.c: (event_loop), (main):
17673           Catch errors during preroll (#320084).
17674
17675 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17676
17677         * plugins/elements/gsttypefindelement.c:
17678         (gst_type_find_element_activate):
17679           Post TYPE_NOT_FOUND error message when typefinding
17680           is unsuccessful in the activate function as well.
17681
17682 2006-02-02  Wim Taymans  <wim@fluendo.com>
17683
17684         * docs/design/part-element-sink.txt:
17685         Updated doc.
17686
17687 2006-02-02  Wim Taymans  <wim@fluendo.com>
17688
17689         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17690         (gst_base_sink_render_object),
17691         (gst_base_sink_queue_object_unlocked):
17692         Only keep track of prerollable items when we are 
17693         prerolling.
17694         Before rendering after preroll, always check if we
17695         have queued items.
17696         Added some more debugging.
17697
17698 2006-02-02  Wim Taymans  <wim@fluendo.com>
17699
17700         * gst/gstelement.c: (gst_element_continue_state),
17701         (gst_element_set_state_func), (gst_element_change_state):
17702         Fixed #326576, been running this for quite some time with
17703         no regressions at all.
17704
17705 2006-02-02  Wim Taymans  <wim@fluendo.com>
17706
17707         * common/gst.supp:
17708         Added more suppressions
17709
17710 2006-02-02  Wim Taymans  <wim@fluendo.com>
17711
17712         * docs/design/part-element-sink.txt:
17713         Updated document.
17714
17715         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17716         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17717         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17718         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17719         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17720         (gst_base_sink_preroll_object),
17721         (gst_base_sink_queue_object_unlocked),
17722         (gst_base_sink_queue_object), (gst_base_sink_event),
17723         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17724         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17725         (gst_base_sink_get_position), (gst_base_sink_change_state):
17726         * libs/gst/base/gstbasesink.h:
17727         Totally refactored matching the design doc.
17728         Use two segments, one to clip incomming buffers and another to
17729         perform sync.
17730         Handle queueing correctly, bypass the queue when playing.
17731         Make EOS cancelable.
17732         Handle errors correctly when operating in pull based mode.
17733
17734         * tests/check/elements/fakesink.c: (GST_START_TEST),
17735         (fakesink_suite):
17736         Added new check for sinks.
17737
17738 2006-02-02  Wim Taymans  <wim@fluendo.com>
17739
17740         * gst/gstsegment.c: (gst_segment_clip):
17741         No reason to refuse to clip when start == -1
17742
17743 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17744
17745         * docs/README:
17746         * docs/manual/intro-basics.xml:
17747         * docs/manual/intro-preface.xml:
17748         * docs/manual/manual.xml:
17749         * docs/pwg/advanced-dparams.xml:
17750         * docs/pwg/intro-basics.xml:
17751         * docs/pwg/intro-preface.xml:
17752         * docs/pwg/pwg.xml:
17753           describe dparams (controller) for plugins
17754           unify docs a little more
17755
17756 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17757
17758         * docs/gst/gstreamer-sections.txt:
17759         * gst/gstutils.c: (element_find_unconnected_pad),
17760         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17761         * gst/gstutils.h:
17762           Add new API: gst_parse_bin_from_description() and
17763           gst_bin_find_unconnected_pad() (#329069).
17764
17765 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17766
17767         * docs/manual/README:
17768           uncover a nasty detail of the docs build
17769
17770 2006-01-31  Wim Taymans  <wim@fluendo.com>
17771
17772         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17773         Don't cache duration messages if we're not going to use or
17774         free them.
17775
17776 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17777
17778         * docs/manual/advanced-dparams.xml:
17779         * docs/pwg/advanced-dparams.xml:
17780           more dparam docs
17781         * gst/gstindex.c:
17782           fix docs
17783         * libs/gst/controller/lib.c: (gst_controller_init):
17784           init just once
17785
17786 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17787
17788         * gst/gstelement.c: (gst_element_message_full):
17789           also show file/line/func if no additional debug was given
17790
17791 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17792         
17793         * win32/vs7/grammar.vcproj:
17794           activate copy of autogenerated files for Release mode
17795
17796 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17797         
17798         * win32/common/libgstreamer.def:
17799           export gst_value_compare
17800
17801 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17802
17803         * plugins/elements/Makefile.am:
17804         * plugins/elements/gstelements.c:
17805         * plugins/elements/gstfdsink.c: (_do_init),
17806         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17807         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17808         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17809         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17810         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17811         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17812         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17813         * plugins/elements/gstfdsink.h:
17814         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17815
17816 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17817
17818         * docs/manual/advanced-dparams.xml:
17819           describe controller
17820         * docs/manual/advanced-position.xml:
17821         * docs/manual/basics-init.xml:
17822         * docs/manual/manual.xml:
17823         * docs/manual/titlepage.xml:
17824         * docs/pwg/pwg.xml:
17825         * docs/pwg/titlepage.xml:
17826           cleanup xml (more to come)
17827         * libs/gst/controller/gstcontroller.c:
17828           fix typo
17829
17830 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17831         
17832         * win32/vs6/grammar.dsp:
17833           add autogen of gstmarshal.c,h for Release mode
17834                 
17835 2006-01-30  Wim Taymans  <wim@fluendo.com>
17836
17837         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17838         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17839         (gst_base_sink_handle_object), (gst_base_sink_event),
17840         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17841         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17842         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17843         (gst_base_sink_deactivate), (gst_base_sink_activate),
17844         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17845         (gst_base_sink_query), (gst_base_sink_change_state):
17846         Basesink cleanups, remove some old code.
17847         Handle the case where a subclass can preroll in the render
17848         method (mostly audiosinks).
17849         Handle more events.
17850         Remove some locks around variables that are now protected
17851         with the PREROLL_LOCK (clock_id, flushing, ..).
17852         Optimize position query some more, do correct locking.
17853         Remove old code to push queue in state change, this is not
17854         needed anymore since preroll blocks on all prerollable items 
17855         now.
17856         Almost implemented as described in design doc.
17857
17858 2006-01-30  Wim Taymans  <wim@fluendo.com>
17859
17860         * tests/check/gst/gstbin.c: (GST_START_TEST):
17861         Wait for refcount to settle down before checking.
17862
17863 2006-01-30  Wim Taymans  <wim@fluendo.com>
17864
17865         * docs/design/part-element-sink.txt:
17866         Pseudo code overview of desired sink behaviour regarding
17867         preroll.
17868
17869 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17870         * win32/vs6/grammar.dsp:
17871           fix some bugs in Release mode for autogenerated files
17872                 
17873 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17874         * win32/common/libgstbase.def:
17875         * win32/common/libgstreamer.def:
17876           export some new symbols: gst_base_src_set_format,
17877           gst_iterator_next, gst_structure_set_valist
17878
17879 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17880
17881         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17882         Set pad functions unconditionally. Fixes #329105.
17883
17884 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17885         * win32/vs8:
17886           add vs8 project files created by Sergey Scobich
17887
17888 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17889
17890         * gst/gstutils.c: (gst_element_unlink_pads):
17891         Don't leak pad references.
17892
17893         * tests/check/elements/fakesink.c: (GST_START_TEST):
17894         * tests/check/generic/sinks.c: (GST_START_TEST):
17895         * tests/check/generic/states.c: (GST_START_TEST):
17896         * tests/check/gst/gstbin.c: (GST_START_TEST):
17897         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17898         * tests/check/gst/gstelement.c: (GST_START_TEST):
17899         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17900         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17901         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17902         Fix a bunch of leaks. Make generic/sinks.c
17903         use a bit less cpu by slowing the buffer rate
17904         between fakesrc and fakesink.
17905         
17906 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17907         * gst/gstcaps.c:
17908         * gst/gstelement.c: (gst_element_send_event):
17909         * gst/gstevent.c:
17910         * gst/gstinfo.c:
17911         * gst/gstiterator.c:
17912         * gst/gstiterator.h:
17913         * gst/gstpad.c: (gst_pad_send_event):
17914         * gst/gststructure.c:
17915         * gst/gsturi.c:
17916         * gst/gstutils.c:
17917         * gst/gstvalue.c:
17918         * libs/gst/base/gstadapter.c:
17919           doc fixes, to link to function, just write gst_cool_function(), don't
17920           prefix with '#'
17921
17922 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17923
17924         * plugins/elements/gsttee.c: (gst_tee_do_push),
17925         (gst_tee_handle_buffer):
17926         Always prefer an actual return value from a src
17927         pad in place of NOT_LINKED. This means we return
17928         WRONG_STATE when all src pads are WRONG_STATE
17929         instead of NOT_LINKED.
17930
17931         Lock when replacing the last message to prevent
17932         racing with the get_property method.
17933
17934         Add debug output
17935
17936 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17937
17938         * tests/check/Makefile.am:
17939         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17940         (main):
17941         Add a very simple check that should have caught the memleak I fixed
17942         last night (if not for the slice allocator hiding it)
17943
17944 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17945
17946         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17947         (gst_bin_remove_func), (gst_bin_handle_message_func),
17948         (bin_query_duration_fold), (bin_query_generic_fold):
17949         Clean up references to the clock provider when disposed or when
17950         handling a clock-lost message from it.
17951
17952         Unref sinks when performing a query via gst_iterator_fold, as the
17953         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17954
17955         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17956         (gst_clock_set_master):
17957         Drop our reference to the master clock, if any, when we are disposed.
17958
17959         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17960         Chain up in dispose. 
17961
17962 2006-01-26  Wim Taymans  <wim@fluendo.com>
17963
17964         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17965         Add some debugging.
17966
17967 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17968
17969         * plugins/elements/gsttee.c: (gst_tee_do_push),
17970         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17971         handles pad being NOT_LINKED or in WRONG_STATE.
17972
17973 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17974
17975         * win32/MANIFEST:
17976           more updating
17977
17978 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17979
17980         * win32/MANIFEST:
17981           remove obsolete entry
17982
17983 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17984
17985         * docs/gst/gstreamer-sections.txt:
17986         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17987         (gst_bin_iterate_sources), (gst_bin_send_event):
17988         * gst/gstbin.h:
17989         * gst/gstelement.c: (gst_element_send_event):
17990         * gst/gstevent.c:
17991         * gst/gstpad.c: (gst_pad_send_event):
17992           added code for downstream events, reviewed docs in gstevent.c
17993
17994 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17995
17996         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17997         We only query position using the clock in the playing state.
17998         Query peer in the other cases.
17999         * win32/common/config.h: Updates.
18000
18001 2006-01-24  Wim Taymans  <wim@fluendo.com>
18002
18003         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18004         A clock entry that is scheduled for the exact time of the
18005         clock is still in time.
18006
18007         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18008         (gst_base_sink_do_sync):
18009         Add some more debug info.
18010
18011 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
18012
18013         * win32/vs7:
18014           Add new vs7 project files and solution.
18015
18016 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
18017
18018         * win32/vs7:
18019           all files removed as they were out-dated.
18020
18021 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18022
18023         * docs/random/release:
18024           update notes
18025         * gst/gstbin.c: (gst_bin_init):
18026         * gst/gstbus.c: (gst_bus_new):
18027         * gst/gstbus.h:
18028         * gst/gstpipeline.c: (gst_pipeline_init):
18029           use gst_bus_new(), improve logging, fix docs
18030         * win32/common/config.h:
18031           update for cvs build
18032
18033 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
18034
18035         * autogen.sh:
18036           up required version of automake to 1.7
18037
18038 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
18039
18040         * win32/common/libgstreamer.def:
18041           export gst_buffer_is_metadata_writable
18042
18043 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
18044
18045         * docs/gst/gstreamer-sections.txt:
18046         * gst/gstevent.h:
18047           Add gst_event_replace() (#327001)
18048
18049 2006-01-20  Wim Taymans  <wim@fluendo.com>
18050
18051         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
18052         Make it actually compile too..
18053
18054 2006-01-20  Wim Taymans  <wim@fluendo.com>
18055
18056         * gst/gstcaps.c:
18057         Clarify behaviour of _is_equal() when passing NULL parameters.
18058
18059         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18060         (gst_pad_set_caps):
18061         Cleanups. Don't unref NULL caps.
18062         When setting the same caps, protect caps of the pad with
18063         proper lock.
18064         Use full functionality of _is_equal() when comparing caps.
18065
18066 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
18067
18068         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
18069         Don't loop infinitely if there are no buffers to present. Partially
18070         fixes #327197, but collectpads is just broken for reusing elements
18071         to do multiple encodes atm.
18072
18073 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
18074
18075         * tools/gst-inspect.c: (print_element_features):
18076         * tools/gst-xmlinspect.c: (main):
18077         URL_HANDLER is not a plugin feature we can search for in
18078         the registry.
18079
18080 2006-01-19  Edward Hervey  <edward@fluendo.com>
18081
18082         * gst/gstelement.c: (gst_element_pads_activate): 
18083         When activating, do src pads first, then sink pads.
18084         When de-activating, do sink pads first, then src pads.
18085
18086 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18087
18088         * docs/gst/gstreamer-sections.txt:
18089         Add gst_index_add_associationv to the docs
18090
18091 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18092
18093         * gst/gstevent.c:
18094           Fix docs typo
18095
18096         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
18097         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
18098           Do some refactoring. Doesn't actually change functionality,
18099           but makes landing the DRAIN event easier later.
18100
18101 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
18102
18103         * docs/pwg/advanced-scheduling.xml:
18104           Update from 0.9.x to 0.10 API and make example a bit
18105           clearer.
18106
18107 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18108
18109         * docs/gst/gstreamer-sections.txt:
18110         Add gst_buffer_(is|make)_metadata_writable methods.
18111
18112 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
18113
18114         * docs/design/part-sparsestreams.txt:
18115         Update sparse streams doc, hopefully for greater clarity
18116
18117 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
18118
18119         * docs/design/part-events.txt:
18120         Remove mention of FILLER events.
18121         Add DRAIN event.
18122
18123         * docs/design/part-sparsestreams.txt:
18124         Write some things about using NEWSEGMENT to keep sparse streams
18125         flowing.
18126
18127 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18128
18129         * gst/gstbin.c: (gst_bin_dispose):
18130           Guard gst_object_unref call against a NULL object (dispose
18131           can theoretically be called multiple times).
18132           
18133 2006-01-18  Wim Taymans  <wim@fluendo.com>
18134
18135         * gst/gstbin.c: (gst_bin_element_set_state):
18136         * gst/gstclock.c: (gst_clock_id_wait):
18137         Added some more debug info.
18138
18139         * libs/gst/base/gstadapter.c:
18140         Added more docs.
18141
18142         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18143         (gst_base_sink_do_sync), (gst_base_sink_chain):
18144         Added some comments.
18145
18146 2006-01-18  Wim Taymans  <wim@fluendo.com>
18147
18148         * tests/check/Makefile.am:
18149         * tests/check/elements/fakesink.c: (chain_async_buffer),
18150         (chain_async), (chain_async_return), (GST_START_TEST),
18151         (fakesink_suite), (main):
18152         Added fakesink test that checks prerolling and clipping
18153         behaviour.
18154
18155         * tests/check/gst/gstutils.c: (GST_START_TEST):
18156         Make check run faster so that buildbots don't timeout.
18157
18158 2006-01-18  Wim Taymans  <wim@fluendo.com>
18159
18160         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18161         (gst_base_sink_do_sync):
18162         Some cleanups.
18163         When the sink finishes blocking on the preroll buffer, it can
18164         immediatly render it instead of rendering when the next buffer
18165         arrives.
18166
18167 2006-01-18  Wim Taymans  <wim@fluendo.com>
18168
18169         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
18170         (gst_base_sink_get_property), (gst_base_sink_do_sync),
18171         (gst_base_sink_chain):
18172         Small cleanups.
18173         GST_ELEMENT_CLOCK and sync are protected with LOCK.
18174         Don't store _last_stop if the buffer is dropped.
18175
18176 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
18177
18178         * plugins/elements/gsttypefindelement.c:
18179         (gst_type_find_element_class_init):
18180           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
18181           object method handler that sets the caps on the pad and we want
18182           that to happen before we emit the signal (fixes e.g. feeding a
18183           plain text file to decodebin).
18184
18185 2006-01-18  Christian Schaller  <Christian@fluendo.com>
18186
18187         * gst/gstplugin.c: Add MPL and Proprietary as license options
18188
18189 2006-01-18  Andy Wingo  <wingo@pobox.com>
18190
18191         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
18192         symbol was exported before, it appears this was just an oversight.
18193         Fixes #168703.
18194         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
18195
18196         * gst/gstindex.c (gst_index_add_associationv): Changed int in
18197         prototype to gint. OK since this prototype was not in the header.
18198
18199 2006-01-17  Andy Wingo  <wingo@pobox.com>
18200
18201         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
18202         registry while we remove plugins.
18203
18204         * tools/gst-inspect.c (print_element_info): Don't unref the
18205         factory arg, that should be the responsibility of whatever code
18206         received the ref. Fixes a double-free when called from
18207         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
18208         (main): Unref the factory if we have one.
18209         (print_element_list): No change -- relies on the
18210         plugin_feature_list_free to free the list of features.
18211
18212 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
18213
18214         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18215         (gst_buffer_make_metadata_writable):
18216         * gst/gstbuffer.h:
18217         * libs/gst/base/gstbasetransform.c:
18218         (gst_base_transform_prepare_output_buf):
18219         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18220         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18221           Replace gst_buffer_(make|is)_metadata_writable patch now
18222           that the release is out.
18223
18224 2006-01-17  Andy Wingo  <wingo@pobox.com>
18225
18226         * gst/gstregistry.c: Reflow design comment. Update so as to speak
18227         in the present tense without reference to versions.
18228
18229         * gst/gstregistry.c (gst_registry_add_plugin)
18230         (gst_registry_remove_plugin, gst_registry_remove_feature)
18231         (gst_registry_find_feature, gst_registry_get_feature_list)
18232         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
18233         (gst_registry_lookup, gst_registry_scan_path)
18234         (_gst_registry_remove_cache_plugins)
18235         (gst_registry_get_feature_list_by_plugin): Add argument
18236         validation.
18237
18238 === release 0.10.2 ===
18239
18240 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
18241
18242         * configure.ac:
18243           releasing 0.10.2, "If man is five"
18244
18245 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18246
18247         * gst/gstbuffer.c:
18248         * gst/gstbuffer.h:
18249         * libs/gst/base/gstbasetransform.c:
18250         (gst_base_transform_prepare_output_buf):
18251         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18252         * tests/check/gst/gstbuffer.c: (gst_test_suite):
18253           Back out patch until after the release.
18254
18255 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18256
18257         * gst/gstminiobject.c:
18258           Spelling fix in docs.
18259         * ChangeLog - remove conflict indicator
18260
18261 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
18262
18263         Reviewed By: Andy Wingo
18264
18265         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18266         (gst_buffer_make_metadata_writable):
18267         * gst/gstbuffer.h:
18268           Add gst_buffer_(is|make)_metadata_writable as analogues of
18269           gst_buffer_(is|make)_writable.
18270
18271         * libs/gst/base/gstbasetransform.c:
18272         (gst_base_transform_prepare_output_buf):
18273         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18274           Use name gst_buffer_(is|make)_metadata_writable functions.
18275
18276         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18277           Test gst_buffer_(is|make)_metadata_writable
18278         
18279           (Closes: #324162)
18280
18281 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
18282
18283         * docs/manual/Makefile.am:
18284           don't do parallel make
18285         * configure.ac:
18286           AC_SUBST HOST_CPU
18287         * win32/common/config.h.in:
18288           add generations for HOST_CPU and GST_MAJORMINOR
18289         * win32/common/config.h:
18290           commit generated result
18291
18292 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
18293
18294         * docs/manual/appendix-integration.xml:
18295           Update GNOME integration section to use gst_init_get_option_group()
18296           instead of the old popt stuff (#322911). Also, GNOME applications
18297           should  now use gconf*sink and gconf*src instead of the old gconf
18298           helper lib we had.
18299
18300 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
18301
18302
18303         * docs/gst/gstreamer-docs.sgml:
18304         * docs/gst/gstreamer-sections.txt:
18305         * docs/libs/gstreamer-libs-sections.txt:
18306           add new API entries to the docs
18307         * libs/gst/controller/Makefile.am:
18308         * libs/gst/controller/gstcontroller.c:
18309         * libs/gst/controller/gstcontroller.h:
18310         * libs/gst/controller/gstcontrollerprivate.h:
18311         * libs/gst/controller/gsthelper.c:
18312         * libs/gst/controller/gstinterpolation.c:
18313           move private structs to private header
18314         * po/README:
18315           gstreamer-0.7 -> gstreamer-0.10
18316         * tests/check/libs/struct_i386.h:
18317           remove private structs
18318
18319 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18320
18321         * plugins/indexers/Makefile.am:
18322           Fixes as part of #317048
18323
18324 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
18325
18326         * plugins/indexers/Makefile.am:
18327           fix #316086 - compilation when mmap is missing
18328
18329 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
18330
18331         * libs/gst/base/gstbasesink.c:
18332           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
18333           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18334         * win32/common/config.h:
18335           added some defines GST_MAJORMINOR and HOST_CPU
18336         * win32/common/libgstbase.def:
18337         * win32/common/libgstreamer.def:
18338           added some exported functions.
18339
18340 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18341
18342         * libs/gst/controller/gstcontroller.c:
18343         (gst_controlled_property_set_interpolation_mode),
18344         (gst_controlled_property_new):
18345         * libs/gst/controller/gstcontroller.h:
18346         * libs/gst/controller/gstinterpolation.c:
18347         (interpolate_none_get_string_value_array):
18348           make G_TYPE_STRING controlable
18349
18350 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
18351
18352         * tools/README:
18353         * tools/gst-feedback.1.in:
18354         * tools/gst-inspect.1.in:
18355         * tools/gst-launch.1.in:
18356         * tools/gst-md5sum.1.in:
18357         * tools/gst-typefind.1.in:
18358         * tools/gst-xmlinspect.1.in:
18359         * tools/gst-xmllaunch.1.in:
18360           cleanup man-pages, remove reference to gst-register, document env-vars
18361
18362 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18363
18364         * gst/gstbuffer.c: (gst_buffer_span):
18365           gst_buffer_span should copy the timestamp of the first buffer
18366           if they were both originally overlapping subbuffers of the 
18367           same parent, using the same logic as the 'slow copy' case.
18368
18369 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18370
18371         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18372           Need to awaken ALL the pads when we pop a buffer, otherwise
18373           collectpads only works when there is 2 input streams.
18374
18375 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18376
18377         * docs/random/ensonic/media-device-daemon.txt:
18378           more ideas (dbus)
18379         * gst/gstbuffer.c:
18380           fix doc example, add clarification
18381         * tools/gst-launch.1.in:
18382           add initial info about GST_PLUGIN_PATH, needs more work
18383
18384 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18385
18386         * docs/manual/basics-bins.xml:
18387         * docs/manual/basics-elements.xml:
18388         * docs/manual/intro-basics.xml:
18389           Some more minor docs additions and updates.
18390
18391 2006-01-11  Wim Taymans  <wim@fluendo.com>
18392
18393         * docs/manual/basics-bins.xml:
18394         * docs/manual/basics-elements.xml:
18395         Some small fixes as pointed out by Ser-ver on IRC.
18396
18397 2006-01-10  Edward Hervey  <edward@fluendo.com>
18398
18399         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18400         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18401         the single-segment mode.
18402
18403 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18404
18405         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18406
18407         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18408         (gst_base_src_perform_seek), (gst_base_src_send_event),
18409         (gst_base_src_set_property), (gst_base_src_get_property),
18410         (gst_base_src_loop), (gst_base_src_start),
18411         (gst_base_src_activate_push):
18412         * libs/gst/base/gstbasesrc.h:
18413           Name (private) union; makes Sun's Forte compiler happy (#324900).
18414
18415 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18416
18417         * README:
18418           gst-register is gone.
18419
18420 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18421
18422         * gst/gstvalue.c: (_gst_value_initialize):
18423           make the G_TYPE_DATE instantiation work if debug is disabled
18424
18425 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18426
18427         * gst/gstmessage.c: (gst_message_parse_tag),
18428         (gst_message_parse_error), (gst_message_parse_warning):
18429           Don't crash when return location for error/warning debug
18430           string is NULL; add fact that return locations can be
18431           NULL to docs where appropriate.
18432
18433 2006-01-05  Wim Taymans  <wim@fluendo.com>
18434
18435         * gst/gstplugin.c: (gst_plugin_load_file):
18436         Replace strdup by g_strdup.
18437
18438 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18439
18440         * docs/pwg/advanced-types.xml:
18441           fix doc borkage
18442
18443 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18444
18445         submitted by: Abel Cheung
18446
18447         * po/LINGUAS:
18448         * po/zh_TW.po:
18449           Added Chinese (traditional) translation
18450
18451 2006-01-04  Wim Taymans  <wim@fluendo.com>
18452
18453         * docs/manual/basics-pads.xml:
18454         * docs/plugins/Makefile.am:
18455         * docs/plugins/gstreamer-plugins-docs.sgml:
18456         * docs/plugins/gstreamer-plugins-sections.txt:
18457         * docs/pwg/advanced-clock.xml:
18458         * docs/pwg/advanced-scheduling.xml:
18459         * docs/pwg/advanced-types.xml:
18460         * plugins/elements/gstfdsink.c:
18461         * plugins/elements/gstfdsrc.c:
18462         * plugins/elements/gstfdsrc.h:
18463         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18464         * plugins/elements/gstidentity.h:
18465         * plugins/elements/gstqueue.h:
18466         * plugins/elements/gsttee.c:
18467         * plugins/elements/gsttee.h:
18468         * plugins/elements/gsttypefindelement.c:
18469         (gst_type_find_element_class_init):
18470         * plugins/elements/gsttypefindelement.h:
18471         Small updates to various docs.
18472         Added core plugins to docs.
18473
18474 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18475
18476         * common/gst.supp:
18477           add a suppression for liboil's uninitialized variable
18478
18479 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18480
18481         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18482
18483         * gst/gstutils.h:
18484           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18485           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18486           compiler switch is being used (#325429).
18487
18488 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18489
18490         * gst/gstbin.c: (gst_bin_query):
18491           Disable duration query caching in bins until it gets
18492           fixed (see #324807).
18493
18494 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18495
18496         * tools/gst-inspect.c: (print_element_properties_info):
18497           Handle properties of POINTER and BOXED type.
18498
18499 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18500
18501         * gst/gst.c: (init_post):
18502           Init tags stuff and some other things before loading
18503           any static plugins (there may be other static plugins
18504           than just the GStreamer ones, and they may want to
18505           register their own tags or formats or whatever, and
18506           preferably without segfaulting).
18507
18508         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18509           Print at least a warning in the debug logs if we drop a
18510           query just because we don't know how to adjust the value
18511           in the particular format.
18512
18513 2005-12-24  David Schleef  <ds@schleef.org>
18514
18515         * tools/gstreamer-completion:
18516           Replacement for gst-complete written in sh and sed.  Only
18517           completes names of features, but that's 90% of what I want
18518           it for.  Properties are not available in registry.xml.  (Maybe
18519           they should be...)
18520
18521 === release 0.10.1 ===
18522
18523 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18524
18525         * configure.ac:
18526           releasing 0.10.1, "Nollaig chridheil"
18527
18528 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18529
18530         * docs/faq/cvs.xml:
18531           Add missing quote, should be make ERROR_CFLAGS="".
18532
18533 2005-12-20  Wim Taymans  <wim@fluendo.com>
18534
18535         * docs/design/part-trickmodes.txt:
18536         More documentation on trickmodes.
18537
18538 2005-12-20  Edward Hervey  <edward@fluendo.com>
18539
18540         * gst/gstcaps.c: (gst_static_caps_get_type):
18541         * gst/gstcaps.h:
18542           API addition: GST_TYPE_STATIC_CAPS
18543         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18544         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18545         * gst/gstpadtemplate.h:
18546           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18547         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18548         bindings.
18549
18550 2005-12-18  Wim Taymans  <wim@fluendo.com>
18551
18552         * libs/gst/base/gstadapter.c:
18553         * libs/gst/base/gstadapter.h:
18554         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18555         (gst_base_sink_get_position):
18556         * libs/gst/base/gstbasesink.h:
18557         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18558         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18559         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18560         (gst_base_src_send_event), (gst_base_src_update_length),
18561         (gst_base_src_get_range), (gst_base_src_loop),
18562         (gst_base_src_start):
18563         * libs/gst/base/gstbasesrc.h:
18564         * libs/gst/base/gstbasetransform.h:
18565         * libs/gst/base/gstcollectpads.h:
18566         * libs/gst/base/gstpushsrc.c:
18567         * libs/gst/base/gstpushsrc.h:
18568         * libs/gst/dataprotocol/dataprotocol.c:
18569         * libs/gst/dataprotocol/dataprotocol.h:
18570         * libs/gst/net/gstnetclientclock.h:
18571         * libs/gst/net/gstnettimeprovider.h:
18572         Documentation updates.
18573
18574 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18575
18576         * docs/manual/basics-helloworld.xml:
18577           Remove superfluous closing bracket in helloworld example.
18578
18579 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18580
18581         * tools/gst-launch.1.in:
18582           Update gst-launch man page; add a section with useful
18583           environment variables. Fixes #323882.
18584
18585 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18586
18587         * gst/gst.c:
18588         * gst/gst_private.h:
18589           change some char* into char[]
18590
18591 2005-12-16  Wim Taymans  <wim@fluendo.com>
18592
18593         * gst/gstregistryxml.c: (load_feature):
18594         Cleanups.
18595         Don't use g_object_unref on GstObjects so that we avoid
18596         leaks on unsafe glibs.
18597
18598 2005-12-16  Wim Taymans  <wim@fluendo.com>
18599
18600         * gst/gstbin.c: (gst_bin_recalc_state):
18601         Small doc updates.
18602
18603 2005-12-16  Wim Taymans  <wim@fluendo.com>
18604
18605         * common/check.mak:
18606         Added make forever target for check.
18607
18608 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18609
18610         * gst/gst.c: (init_post):
18611           make the registry cache file HOST_CPU-dependent
18612
18613 2005-12-16  Andy Wingo  <wingo@pobox.com>
18614
18615         * plugins/elements/gstbufferstore.c
18616         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18617         return value.
18618
18619         * tests/check/gst/gstobject.c
18620         (test_fake_object_name_threaded_unique): Pay attention to
18621         g_list_sort return value.
18622
18623 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18624
18625         * tools/gst-feedback-m.m:
18626           Update for 0.9/0.10 (fixes #323870).
18627
18628 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18629
18630         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18631           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18632           
18633         * tests/check/gst/gstminiobject.c: (my_foo_init),
18634         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18635         (test_value_collection), (gst_mini_object_suite):
18636           Add test to ensure refcounts end up as expected when passing
18637           GstMiniObjects through g_object_get() and g_object_set().
18638
18639 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18640
18641         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18642         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18643         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18644         of collectpads. This version removes a lot of races without
18645         touching API/ABI. Yay !
18646
18647 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18648
18649         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18650           Don't allow activation of a srcpad in pull_range if it has no
18651           getrange function.
18652           Change some debug statements to be a little clearer
18653
18654         * plugins/elements/gsttypefindelement.c:
18655         (gst_type_find_handle_src_query):
18656           Check that we have a peer before executing queries thereupon.
18657
18658         * tests/examples/metadata/read-metadata.c: (message_loop):
18659           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18660           immediately return us any available message with 0 timeout.
18661
18662 2005-12-12  Michael Smith  <msmith@fluendo.com>
18663
18664         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18665           Don't unref factories after calling them.
18666         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18667         * plugins/elements/gsttypefindelement.c:
18668         (gst_type_find_element_chain):
18669           Free lists of factories after using them. Fixing typefinding memory
18670           leaks.
18671
18672 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18673
18674         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18675         (gst_plugin_feature_load):
18676           more meaningful debug output
18677         * configure.ac:
18678         * tests/Makefile.am:
18679         * tests/old/examples/Makefile.am:
18680           make make distcheck happy again
18681
18682 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18683
18684         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18685           Catch the special case where we are operating chain-based,
18686           but the downstream peer pad has no chain function. Emit a
18687           custom error message in this case instead of letting the
18688           core generate one implying that this is some sort of core
18689           bug. It's not, it just means that whatever got plugged
18690           into the pipeline downstream when we announced the type
18691           can only operate pull-based, while our source can only
18692           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18693           Error string has not been marked for translation yet, as
18694           it probably needs some more work first.
18695
18696         (gst_type_find_element_get_best_possibility):
18697           Add helper function to find the best of all available
18698           found possibilities that qualify given the min. threshold.
18699
18700         (gst_type_find_element_handle_event):
18701           Fix the case where we get an EOS while still in TYPEFIND
18702           mode (we want to chose the best of all possible types,
18703           not just the first type that happens to be in our unsorted
18704           list of possible types).
18705
18706         (gst_type_find_element_chain):
18707           Make sure we return GST_FLOW_ERROR when we errored out
18708           in stop_typefinding(); also, don't just find the best of
18709           all found type entries and then use the last examined
18710           type entry, but actually use the best entry.
18711
18712 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18713
18714         * tests/examples/typefind/typefind.c: (type_found):
18715         * tests/examples/xml/runxml.c: (xml_loaded):
18716           More gcc4 fixes and a mem leak fix.
18717
18718 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18719
18720         * tests/examples/xml/createxml.c: (object_saved):
18721           gcc 4 fixes
18722
18723 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18724
18725         * tests/Makefile.am:
18726           enable the examples even more
18727
18728 2005-12-12  Andy Wingo  <wingo@pobox.com>
18729
18730         * libs/gst/net/gstnettimeprovider.c
18731         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18732         (gst_net_time_provider_set_property)
18733         (gst_net_time_provider_get_property):
18734         API addition: Export "active" as a GObject property.
18735         (gst_net_time_provider_thread): Only respond to time queries if
18736         the time provider is active.
18737
18738         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18739         NetTimeProvider, preserving binary compat.
18740
18741 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18742
18743         * tests/examples/controller/audio-example.c: (main):
18744         * tests/examples/launch/Makefile.am:
18745           convert comments again
18746
18747 2005-12-12  Wim Taymans  <wim@fluendo.com>
18748
18749         * libs/gst/base/gstpushsrc.c:
18750         Fix typo.
18751
18752 2005-12-12  Wim Taymans  <wim@fluendo.com>
18753
18754         * docs/libs/gstreamer-libs-sections.txt:
18755         Added new symbol to docs.
18756
18757         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18758         (gst_base_src_init), (gst_base_src_set_format),
18759         (gst_base_src_default_query), (gst_base_src_query),
18760         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18761         (gst_base_src_perform_seek), (gst_base_src_send_event),
18762         (gst_base_src_default_event), (gst_base_src_event_handler),
18763         (gst_base_src_set_property), (gst_base_src_get_property),
18764         (gst_base_src_wait), (gst_base_src_do_sync),
18765         (gst_base_src_update_length), (gst_base_src_get_range),
18766         (gst_base_src_check_get_range), (gst_base_src_loop),
18767         (gst_base_src_default_negotiate), (gst_base_src_start),
18768         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18769         (gst_base_src_change_state):
18770         * libs/gst/base/gstbasesrc.h:
18771         Implement seeking to other formats than _BYTES.
18772         Implement more seeking methods correctly.
18773         Doc updates.
18774         Added query vmethod.
18775         Added do_seek vmethod to make life easier for subclasses
18776         when seeking.
18777         API addition: gst_base_src_set_format()
18778
18779 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18780
18781         * tests/examples/Makefile.am:
18782           added that too
18783
18784 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18785
18786         * configure.ac:
18787         * docs/random/ensonic/media-device-daemon.txt:
18788         * tests/examples/controller/.cvsignore:
18789         * tests/examples/controller/Makefile.am:
18790         * tests/examples/controller/audio-example.c: (main):
18791         * tests/examples/helloworld/.cvsignore:
18792         * tests/examples/helloworld/Makefile.am:
18793         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18794         * tests/examples/launch/.cvsignore:
18795         * tests/examples/launch/Makefile.am:
18796         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18797         * tests/examples/metadata/.cvsignore:
18798         * tests/examples/metadata/Makefile.am:
18799         * tests/examples/metadata/read-metadata.c: (message_loop),
18800         (make_pipeline), (print_tag), (main):
18801         * tests/examples/queue/.cvsignore:
18802         * tests/examples/queue/Makefile.am:
18803         * tests/examples/queue/queue.c: (event_loop), (main):
18804         * tests/examples/typefind/.cvsignore:
18805         * tests/examples/typefind/Makefile.am:
18806         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18807         (main):
18808         * tests/examples/xml/.cvsignore:
18809         * tests/examples/xml/Makefile.am:
18810         * tests/examples/xml/createxml.c: (object_saved), (main):
18811         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18812         * tests/old/examples/Makefile.am:
18813         * tests/old/examples/TODO:
18814         * tests/old/examples/controller/.cvsignore:
18815         * tests/old/examples/controller/Makefile.am:
18816         * tests/old/examples/controller/audio-example.c:
18817         * tests/old/examples/helloworld/.cvsignore:
18818         * tests/old/examples/helloworld/Makefile.am:
18819         * tests/old/examples/helloworld/helloworld.c:
18820         * tests/old/examples/launch/.cvsignore:
18821         * tests/old/examples/launch/Makefile.am:
18822         * tests/old/examples/launch/mp3parselaunch.c:
18823         * tests/old/examples/launch/mp3play:
18824         * tests/old/examples/manual/Makefile.am:
18825         * tests/old/examples/metadata/Makefile.am:
18826         * tests/old/examples/metadata/read-metadata.c:
18827         * tests/old/examples/queue/.cvsignore:
18828         * tests/old/examples/queue/Makefile.am:
18829         * tests/old/examples/queue/queue.c:
18830         * tests/old/examples/typefind/.cvsignore:
18831         * tests/old/examples/typefind/Makefile.am:
18832         * tests/old/examples/typefind/typefind.c:
18833         * tests/old/examples/xml/.cvsignore:
18834         * tests/old/examples/xml/Makefile.am:
18835         * tests/old/examples/xml/createxml.c:
18836         * tests/old/examples/xml/runxml.c:
18837           applied some simple fixing to some examples
18838           re-enabled the working examples
18839
18840 2005-12-12  Wim Taymans  <wim@fluendo.com>
18841
18842         * gst/gstsegment.c: (gst_segment_init),
18843         (gst_segment_set_last_stop), (gst_segment_set_seek),
18844         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18845         (gst_segment_to_running_time):
18846         Added more documentation.
18847         Make sure the last_pos value is updated properly.
18848         Make sure to_stream_time and to_running_time don't
18849         operate on wrong values.
18850
18851         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18852         Update check.
18853
18854 2005-12-12  Michael Smith  <msmith@fluendo.com>
18855
18856         * plugins/elements/gsttypefindelement.c: (free_entry),
18857         (gst_type_find_element_chain):
18858           Now that we're not leaking factories, make sure we keep references
18859           to them while we need them.
18860
18861 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18862
18863         * tests/check/gst/struct_i386.h:
18864           ifdef out the XML structs
18865
18866 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18867
18868         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18869           floor is not needed, F is always positive; this obviates the
18870           need for adding -lm when building without libxml
18871
18872 2005-12-12  Wim Taymans  <wim@fluendo.com>
18873
18874         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18875         Take current playback rate into account when reporting
18876         the position.
18877
18878 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18879
18880         * docs/manual/mime-world.fig:
18881           Let's try this again, this time with a file that is
18882           actually in XFig format.
18883
18884 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18885
18886         * docs/manual/mime-world.fig:
18887           Add audioconvert element to diagram so that it
18888           matches the text and the code (fixes #319526).
18889
18890 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18891
18892         * docs/pwg/building-chainfn.xml:
18893         * docs/pwg/building-pads.xml:
18894         * docs/pwg/building-state.xml:
18895         * docs/pwg/other-source.xml:
18896           Update state change stuff for 0.10 (fixes #322969).
18897
18898 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18899
18900         * docs/manual/advanced-dataaccess.xml:
18901         * docs/manual/appendix-checklist.xml:
18902         * docs/manual/appendix-programs.xml:
18903         * docs/manual/basics-pads.xml:
18904         * docs/manual/highlevel-components.xml:
18905         * docs/manual/manual.xml:
18906           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18907           add converters in front of pipelines; remove curly
18908           brackets for threads stuff, they no longer exist; use
18909           GST_TYPE_FRACTION for framerates; update some pieces of
18910           code to 0.10, but there's plenty more to do.
18911
18912         * docs/manual/appendix-porting.xml:
18913           Expand on asynchroneous state changes; s/0.9/0.10/;
18914           mention disappearance of gst_init_get_popt_table()
18915           (fixes #322916).
18916
18917 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18918
18919         * docs/faq/using.xml:
18920           Spider no longer exists, and neither does gst-launch-ext.
18921           Update examples to use decodebin and playbin and put
18922           converters in front of sinks (fixes #323726).
18923
18924 2005-12-09  Michael Smith  <msmith@fluendo.com>
18925
18926         * plugins/elements/gsttypefindelement.c: (find_peek),
18927         (gst_type_find_element_chain):
18928           Fix leaking element factories in typefinding.
18929           Fix problem where we forgot about a probable type on non-seekable
18930           files, and thus later mis-typefound it.
18931
18932 2005-12-09  Michael Smith  <msmith@fluendo.com>
18933
18934         * common/m4/gst-makecontext.m4:
18935         * common/m4/gst-mcsc.m4:
18936         * configure.ac:
18937         * win32/common/config.h:
18938         * win32/common/config.h.in:
18939           Remove makecontext stuff; not used in 0.10 and causes problems on
18940           HPUX according to bug #322441
18941
18942 2005-12-07  Wim Taymans  <wim@fluendo.com>
18943
18944         * tests/check/Makefile.am:
18945         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18946         (main):
18947         * tests/check/libs/struct_i386.h:
18948         Added ABI check for libs
18949
18950 2005-12-07  Wim Taymans  <wim@fluendo.com>
18951
18952         * tests/check/Makefile.am:
18953         And add the struct_i386.h to dist.
18954
18955 2005-12-07  Wim Taymans  <wim@fluendo.com>
18956
18957         * tests/check/Makefile.am:
18958         * tests/check/gst/.cvsignore:
18959         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18960         (main):
18961         * tests/check/gst/struct_i386.h:
18962         Added check for ABI compatibility.
18963
18964 2005-12-07  Wim Taymans  <wim@fluendo.com>
18965
18966         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18967         (gst_fake_src_get_times), (gst_fake_src_create):
18968         Fix broken sync option, fixes #323259
18969
18970 2005-12-07  Wim Taymans  <wim@fluendo.com>
18971
18972         * gst/gstbuffer.c:
18973         Small docs update.
18974
18975         * gst/gstcaps.c: (gst_caps_is_equal):
18976         Don't assert on NULL <--> X. Fixes #323260
18977
18978         * gst/gstminiobject.c: (gst_mini_object_replace):
18979         If we're doing atomic operations, we might just as well use
18980         the proper way to get an atomic pointer.
18981
18982         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18983         Clean up debugging.
18984
18985 2005-12-07  Michael Smith  <msmith@fluendo.com>
18986
18987         * gst/parse/grammar.y:
18988           Remove handling of { } for threads.
18989
18990 2005-12-06  David Schleef  <ds@schleef.org>
18991
18992         * libs/gst/base/gstbasetransform.c: speling fix.
18993
18994 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18995
18996         * docs/libs/tmpl/gstdataprotocol.sgml:
18997         * docs/random/omega/testing/gstobject.c:
18998         * gst/gst.c:
18999         * gst/gstclock.c:
19000         * gst/gstelement.c:
19001         * gst/gstelementfactory.c:
19002         * gst/gsterror.c:
19003         * gst/gstevent.c:
19004         * gst/gstghostpad.c:
19005         * gst/gstinfo.c:
19006         * gst/gstpadtemplate.c:
19007         * gst/gstregistryxml.c:
19008         * gst/gsttaglist.c:
19009         * gst/gsttagsetter.c:
19010         * gst/gsttypefind.c:
19011         * gst/gstvalue.c:
19012         * libs/gst/base/gstbasesrc.c:
19013         * libs/gst/net/gstnetclientclock.c:
19014         * libs/gst/net/gstnettimeprovider.c:
19015         * plugins/elements/gstfakesrc.c:
19016         * plugins/elements/gstfdsrc.c:
19017         * plugins/elements/gstfilesrc.c:
19018         * plugins/elements/gstidentity.c:
19019         * plugins/elements/gstqueue.c:
19020         * plugins/elements/gsttypefindelement.c:
19021         * plugins/indexers/gstfileindex.c:
19022         * plugins/indexers/gstmemindex.c:
19023         * tests/check/gst/gsttag.c:
19024         * tests/old/examples/cutter/cutter.c:
19025         * tests/old/examples/mixer/mixer.c:
19026         * tests/old/examples/xml/runxml.c: (main):
19027         * tests/old/testsuite/caps/normalisation.c:
19028         * tests/old/testsuite/debug/global.c:
19029         * tests/old/testsuite/parse/parse1.c:
19030         * tools/gst-xmlinspect.c:
19031         * win32/common/dirent.c:
19032           expand tabs
19033
19034 === release 0.10.0 ===
19035
19036 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19037
19038         * configure.ac:
19039           releasing 0.10.0, "Maroilles"
19040
19041 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19042
19043         submitted by: Funda Wang <fundawang@linux.net.cn>
19044
19045         * po/LINGUAS:
19046         * po/zh_CN.po:
19047           added Chinese (Traditional) translation
19048
19049 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19050
19051         * docs/gst/gstreamer-sections.txt:
19052         * docs/libs/tmpl/gstdataprotocol.sgml:
19053         * docs/random/thomasvs/TODO:
19054         * gst/gstutils.c:
19055         * gst/gstutils.h:
19056           fix docs
19057
19058 2005-12-05  Andy Wingo  <wingo@pobox.com>
19059
19060         patch by: Wim Taymans <wim@fluendo.com>
19061
19062         * libs/gst/base/gstbasetransform.c
19063         (gst_base_transform_prepare_output_buf)
19064         (gst_base_transform_buffer_alloc):
19065         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
19066         alloc_buffer_and_set_caps.
19067
19068         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
19069         set_caps on the source pad.
19070         (gst_pad_alloc_buffer_and_set_caps): New function, does what
19071         alloc_buffer used to do. Fixes #322874.
19072
19073         * docs/gst/gstreamer-sections.txt: 
19074         * docs/design/part-negotiation.txt: 
19075         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
19076         changes.
19077
19078 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
19079
19080         patch by: Sebastien Moutte
19081
19082         * win32/MANIFEST:
19083         * win32/common/config.h.in:
19084         * win32/vs6/libgstcontroller.dsp:
19085           win32 build fixes
19086
19087 2005-12-05  Wim Taymans  <wim@fluendo.com>
19088
19089         * gst/gstcaps.c: (gst_caps_is_equal):
19090         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19091         (gst_fake_src_create):
19092         Back out previous code changes, leave doc updates, file bugs 
19093         instead. 
19094
19095 2005-12-05  Wim Taymans  <wim@fluendo.com>
19096
19097         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
19098         (gst_fake_src_get_times), (gst_fake_src_create):
19099         * plugins/elements/gstfakesrc.h:
19100         Fix broken sync code.
19101
19102 2005-12-05  Wim Taymans  <wim@fluendo.com>
19103
19104         * gst/gstcaps.c: (gst_caps_is_equal):
19105         Comparing NULL against !NULL yields different caps, not a
19106         failure.
19107
19108 2005-12-05  Wim Taymans  <wim@fluendo.com>
19109
19110         * gst/gstpipeline.c:
19111         Fix small typo in docs.
19112
19113 2005-12-05  Andy Wingo  <wingo@pobox.com>
19114
19115         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
19116
19117         * gst/gst.c (init_post): remove hard-coded 0.9 location for
19118         registries/plugins with a MAJORMINOR one.
19119         (plugin_desc): Rename library from gstcoreleements to
19120         staticelements. Fixes #323222.
19121
19122 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
19123
19124         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
19125           Change debug category to 'collectpads' from 'collect_pads'
19126           (fixes #323250).
19127
19128 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19129
19130         patch by: Sebastien Moutte
19131
19132         * libs/gst/controller/gstinterpolation.c:
19133           use convert function for uint64/double
19134         * win32/vs6/libgstcontroller.dsp:
19135           link to GLib
19136
19137 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
19138
19139         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
19140         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
19141         * gst/gstutils.h:
19142         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19143           add tests that seem to show that the guint64/gdouble conversions
19144           are correct.
19145
19146 2005-12-02  Wim Taymans  <wim@fluendo.com>
19147
19148         * gst/gstregistry.c: (gst_registry_add_path):
19149         * gst/gstregistry.h:
19150         * gst/gstregistryxml.c:
19151         Fix docs again.
19152
19153 2005-12-02  Wim Taymans  <wim@fluendo.com>
19154
19155         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19156         (gst_util_uint64_scale_int):
19157         Small cleanup.
19158
19159         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19160         Add debug log line.
19161
19162         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
19163         Add FIXME.
19164
19165 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19166
19167         * win32/MANIFEST:
19168         * win32/common/config.h:
19169         * win32/vs6/gstreamer.dsw:
19170         * win32/vs6/libgstcoreelements.dsp:
19171         * win32/vs6/libgstelements.dsp:
19172           renamed core elements plugin
19173
19174 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19175
19176         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
19177         (get_candidates):
19178           do piece-wise major/minor comparison so 0.9 < 0.10
19179           also allow .exe extensions for tools
19180
19181 2005-12-02  Michael Smith  <msmith@fluendo.com>
19182
19183         * gst/gst.c:
19184           Escape a % to make gtkdoc happier; bug 322958.
19185
19186 === release 0.9.7 ===
19187
19188 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19189
19190         * configure.ac:
19191           releasing 0.9.7, "My Dog Has No Nose"
19192
19193 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19194
19195         * common/gst-xmlinspect.py:
19196         * configure.ac:
19197         * docs/libs/tmpl/gstdataprotocol.sgml:
19198         * docs/random/release:
19199         * po/af.po:
19200         * po/az.po:
19201         * po/bg.po:
19202         * po/ca.po:
19203         * po/cs.po:
19204         * po/de.po:
19205         * po/en_GB.po:
19206         * po/fr.po:
19207         * po/it.po:
19208         * po/nb.po:
19209         * po/nl.po:
19210         * po/ru.po:
19211         * po/sq.po:
19212         * po/sr.po:
19213         * po/sv.po:
19214         * po/tr.po:
19215         * po/uk.po:
19216         * po/vi.po:
19217         * win32/common/config.h:
19218         * win32/common/config.h.in:
19219         * win32/vs6/gst_inspect.dsp:
19220         * win32/vs6/gst_launch.dsp:
19221         * win32/vs6/libgstbase.dsp:
19222         * win32/vs6/libgstelements.dsp:
19223         * win32/vs6/libgstreamer.dsp:
19224         * win32/vs7/GStreamer.vcproj:
19225         * win32/vs7/gst-inspect.vcproj:
19226         * win32/vs7/gst-launch.vcproj:
19227         * win32/vs7/libgstbase.vcproj:
19228           bump GST_MAJORMINOR to 0.10
19229           reset libtool version
19230
19231 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19232
19233         * po/LINGUAS:
19234         * po/bg.po:
19235           Added Bulgarian translation by (Alexander Shopov)
19236
19237 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19238
19239         * tests/check/gst/gstplugin.c:
19240           fix test
19241
19242 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19243
19244         * common/gst-xmlinspect.py:
19245         * common/gtk-doc-plugins.mak:
19246         * configure.ac:
19247         * docs/Makefile.am:
19248         * docs/gst/Makefile.am:
19249         * docs/gst/gstreamer-docs.sgml:
19250         * docs/gst/gstreamer-sections.txt:
19251         * docs/gst/gstreamer.types:
19252         * docs/gst/gstreamer.types.in:
19253         * docs/plugins/Makefile.am:
19254         * docs/plugins/gstreamer-plugins-docs.sgml:
19255         * docs/plugins/gstreamer-plugins-sections.txt:
19256         * docs/plugins/gstreamer-plugins.types:
19257         * docs/plugins/inspect.stamp:
19258         * docs/plugins/inspect/plugin-coreelements.xml:
19259         * docs/plugins/inspect/plugin-coreindexers.xml:
19260         * docs/plugins/scanobj-build.stamp:
19261         * gstreamer.spec.in:
19262         * plugins/elements/Makefile.am:
19263         * plugins/elements/gstelements.c:
19264         * plugins/elements/gstfakesink.c:
19265         * plugins/elements/gstfakesrc.c:
19266         * plugins/elements/gstfilesink.c:
19267         * plugins/elements/gstfilesrc.c:
19268         * plugins/elements/gstqueue.c:
19269         * plugins/indexers/Makefile.am:
19270         * plugins/indexers/gstindexers.c:
19271           document core plugins in a separate document just like all the
19272           others
19273           rename these plugins to something starting with core
19274
19275 2005-12-01  Andy Wingo  <wingo@pobox.com>
19276
19277         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19278         padding here before, but it missed the commit.
19279
19280 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19281
19282         * libs/gst/controller/gstinterpolation.c:
19283           whitespace prices have crashed, we should feel free to use some now
19284           use gst_guint64_to_gdouble
19285
19286 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19287
19288         * libs/gst/controller/gstcontroller.c:
19289         * libs/gst/controller/gsthelper.c:
19290         * libs/gst/controller/gstinterpolation.c:
19291         * libs/gst/controller/lib.c:
19292           wrap config.h include
19293
19294 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19295
19296         * docs/gst/gstreamer-sections.txt:
19297           update docs
19298
19299 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
19300
19301         * plugins/elements/gstelements.c:
19302         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19303         (gst_fd_sink__class_init), (gst_fd_sink__init),
19304         (gst_fd_sink__chain), (gst_fd_sink__set_property),
19305         (gst_fd_sink__get_property):
19306         * plugins/elements/gstfdsink.h:
19307         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19308         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19309         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19310         (gst_fd_src_unlock), (gst_fd_src_set_property),
19311         (gst_fd_src_get_property), (gst_fd_src_create),
19312         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19313         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19314         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19315         (gst_fd_src_uri_handler_init):
19316         * plugins/elements/gstfdsrc.h:
19317         * plugins/elements/gstqueue.c: (gst_queue_get_type):
19318           more anal cleanup
19319
19320 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19321
19322         * docs/gst/Makefile.am:
19323         * docs/gst/gstreamer.types.in:
19324         * gst/Makefile.am:
19325           fix the docs build
19326
19327 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19328
19329         * configure.ac:
19330         * gst/Makefile.am:
19331         * gst/gst.c:
19332         * gst/gstplugin.h:
19333         * gst/gstregistry.h:
19334         * tests/benchmarks/complexity.c:
19335         * tests/benchmarks/mass-elements.c:
19336         * tests/check/Makefile.am:
19337         * tools/Makefile.am:
19338         * tools/gst-inspect.c:
19339         * tools/gst-xmlinspect.c:
19340           various fixes to make
19341           --disable-nls --disable-registry --disable-loadsave
19342           --disable-parse --disable-gst-debug
19343           work and get the core .so down to 360444 bytes after stripping
19344
19345 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19346
19347         * Makefile.am:
19348         * configure.ac:
19349           descend into tests
19350         * docs/random/thomasvs/TODO:
19351         * tests/Makefile.am:
19352         * tests/README:
19353           add a README
19354
19355 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19356
19357         * win32/GStreamer.vcproj:
19358         * win32/MANIFEST:
19359         * win32/Makefile:
19360         * win32/Makefile.inspect:
19361         * win32/Makefile.launch:
19362         * win32/Makefile.register:
19363         * win32/README.txt:
19364         * win32/gst-inspect.vcproj:
19365         * win32/gst-launch.vcproj:
19366         * win32/gst-register.vcproj:
19367         * win32/gstelements.vcproj:
19368         * win32/gstgetbits.def:
19369         * win32/gstgetbits.vcproj:
19370         * win32/gstreamer-dbg.def:
19371         * win32/gstreamer.def:
19372         * win32/libgstbase.def:
19373         * win32/libgstbase.vcproj:
19374         * win32/link_oldruntime.c:
19375         * win32/mman.c:
19376         * win32/mman.h:
19377         * win32/mman.inl:
19378         * win32/msvc71.sln:
19379           move even more stuff, win32/ is nice and clean now
19380
19381 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19382
19383         * libs/gst/control/.cvsignore:
19384         * win32/MANIFEST:
19385         * win32/config.h:
19386         * win32/dirent.c:
19387         * win32/dirent.h:
19388         * win32/gstbytestream.def:
19389         * win32/gstbytestream.vcproj:
19390         * win32/gstconfig.h:
19391         * win32/gstenumtypes.c:
19392         * win32/gstenumtypes.h:
19393         * win32/gstoptimalscheduler.vcproj:
19394         * win32/gstversion.h:
19395         * win32/gtchar.h:
19396         * win32/testsuite/bins.vcproj:
19397         * win32/testsuite/bytestream.vcproj:
19398         * win32/testsuite/caps.vcproj:
19399         * win32/testsuite/cleanup.vcproj:
19400         * win32/testsuite/clock.vcproj:
19401         * win32/testsuite/debug.vcproj:
19402         * win32/testsuite/dlopen.vcproj:
19403         * win32/testsuite/dynparams.vcproj:
19404         * win32/testsuite/elements.vcproj:
19405         * win32/testsuite/ghostpads.vcproj:
19406         * win32/testsuite/indexers.vcproj:
19407         * win32/testsuite/negotiation.vcproj:
19408         * win32/testsuite/parse.vcproj:
19409         * win32/testsuite/plugin.vcproj:
19410         * win32/testsuite/refcounting.vcproj:
19411         * win32/testsuite/schedulers.vcproj:
19412         * win32/testsuite/states.vcproj:
19413         * win32/testsuite/tags.vcproj:
19414         * win32/testsuite/threads.vcproj:
19415           remove old win32 stuff that isn't maintained and should be
19416           reorganized
19417
19418 2005-11-30  Andy Wingo  <wingo@pobox.com>
19419
19420         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19421         loading the gst.interfaces python module bork.
19422
19423         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19424         available since GLib 2.2. Fixes #318031.
19425
19426 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19427
19428         * Makefile.am:
19429         * check/.cvsignore:
19430         * check/Makefile.am:
19431         * check/elements/.cvsignore:
19432         * check/elements/fakesrc.c:
19433         * check/elements/fdsrc.c:
19434         * check/elements/identity.c:
19435         * check/generic/.cvsignore:
19436         * check/generic/states.c:
19437         * check/gst-libs/.cvsignore:
19438         * check/gst-libs/controller.c:
19439         * check/gst-libs/gdp.c:
19440         * check/gst/.cvsignore:
19441         * check/gst/capslist.h:
19442         * check/gst/gst.c:
19443         * check/gst/gstbin.c:
19444         * check/gst/gstbuffer.c:
19445         * check/gst/gstbus.c:
19446         * check/gst/gstcaps.c:
19447         * check/gst/gstelement.c:
19448         * check/gst/gstevent.c:
19449         * check/gst/gstghostpad.c:
19450         * check/gst/gstiterator.c:
19451         * check/gst/gstmessage.c:
19452         * check/gst/gstminiobject.c:
19453         * check/gst/gstobject.c:
19454         * check/gst/gstpad.c:
19455         * check/gst/gstpipeline.c:
19456         * check/gst/gstplugin.c:
19457         * check/gst/gstsegment.c:
19458         * check/gst/gststructure.c:
19459         * check/gst/gstsystemclock.c:
19460         * check/gst/gsttag.c:
19461         * check/gst/gstutils.c:
19462         * check/gst/gstvalue.c:
19463         * check/net/.cvsignore:
19464         * check/net/gstnetclientclock.c:
19465         * check/net/gstnettimeprovider.c:
19466         * check/pipelines/.cvsignore:
19467         * check/pipelines/cleanup.c:
19468         * check/pipelines/simple_launch_lines.c:
19469         * check/pipelines/stress.c:
19470         * check/states/.cvsignore:
19471         * check/states/sinks.c:
19472         * configure.ac:
19473         * examples/Makefile.am:
19474         * examples/appreader/.cvsignore:
19475         * examples/appreader/Makefile.am:
19476         * examples/appreader/appreader.c:
19477         * examples/controller/.cvsignore:
19478         * examples/controller/Makefile.am:
19479         * examples/controller/audio-example.c:
19480         * examples/cutter/.cvsignore:
19481         * examples/cutter/Makefile.am:
19482         * examples/cutter/cutter.c:
19483         * examples/cutter/cutter.h:
19484         * examples/events/Makefile.am:
19485         * examples/events/seek.c:
19486         * examples/helloworld/.cvsignore:
19487         * examples/helloworld/Makefile.am:
19488         * examples/helloworld/helloworld.c:
19489         * examples/helloworld2/.cvsignore:
19490         * examples/helloworld2/Makefile.am:
19491         * examples/helloworld2/helloworld2.c:
19492         * examples/launch/.cvsignore:
19493         * examples/launch/Makefile.am:
19494         * examples/launch/mp3parselaunch.c:
19495         * examples/launch/mp3play:
19496         * examples/manual/.cvsignore:
19497         * examples/manual/Makefile.am:
19498         * examples/manual/extract.pl:
19499         * examples/metadata/Makefile.am:
19500         * examples/metadata/read-metadata.c:
19501         * examples/mixer/.cvsignore:
19502         * examples/mixer/Makefile.am:
19503         * examples/mixer/mixer.c:
19504         * examples/mixer/mixer.h:
19505         * examples/pingpong/.cvsignore:
19506         * examples/pingpong/Makefile.am:
19507         * examples/pingpong/pingpong.c:
19508         * examples/plugins/.cvsignore:
19509         * examples/plugins/Makefile.am:
19510         * examples/plugins/example.c:
19511         * examples/plugins/example.h:
19512         * examples/pwg/.cvsignore:
19513         * examples/pwg/Makefile.am:
19514         * examples/pwg/extract.pl:
19515         * examples/queue/.cvsignore:
19516         * examples/queue/Makefile.am:
19517         * examples/queue/queue.c:
19518         * examples/queue2/.cvsignore:
19519         * examples/queue2/Makefile.am:
19520         * examples/queue2/queue2.c:
19521         * examples/queue3/.cvsignore:
19522         * examples/queue3/Makefile.am:
19523         * examples/queue3/queue3.c:
19524         * examples/queue4/.cvsignore:
19525         * examples/queue4/Makefile.am:
19526         * examples/queue4/queue4.c:
19527         * examples/retag/.cvsignore:
19528         * examples/retag/Makefile.am:
19529         * examples/retag/retag.c:
19530         * examples/retag/transcode.c:
19531         * examples/thread/.cvsignore:
19532         * examples/thread/Makefile.am:
19533         * examples/thread/thread.c:
19534         * examples/typefind/.cvsignore:
19535         * examples/typefind/Makefile.am:
19536         * examples/typefind/typefind.c:
19537         * examples/xml/.cvsignore:
19538         * examples/xml/Makefile.am:
19539         * examples/xml/createxml.c:
19540         * examples/xml/runxml.c:
19541         * tests/Makefile.am:
19542         * tests/check/Makefile.am:
19543         * testsuite/.cvsignore:
19544         * testsuite/Makefile.am:
19545         * testsuite/Rules:
19546         * testsuite/caps/.cvsignore:
19547         * testsuite/caps/Makefile.am:
19548         * testsuite/caps/app_fixate.c:
19549         * testsuite/caps/audioscale.c:
19550         * testsuite/caps/caps.c:
19551         * testsuite/caps/caps.h:
19552         * testsuite/caps/caps_strings:
19553         * testsuite/caps/compatibility.c:
19554         * testsuite/caps/deserialize.c:
19555         * testsuite/caps/enumcaps.c:
19556         * testsuite/caps/eratosthenes.c:
19557         * testsuite/caps/filtercaps.c:
19558         * testsuite/caps/fixed.c:
19559         * testsuite/caps/fraction-convert.c:
19560         * testsuite/caps/fraction-multiply-and-zero.c:
19561         * testsuite/caps/intersect2.c:
19562         * testsuite/caps/intersection.c:
19563         * testsuite/caps/normalisation.c:
19564         * testsuite/caps/random.c:
19565         * testsuite/caps/renegotiate.c:
19566         * testsuite/caps/sets.c:
19567         * testsuite/caps/simplify.c:
19568         * testsuite/caps/string-conversions.c:
19569         * testsuite/caps/structure.c:
19570         * testsuite/caps/subtract.c:
19571         * testsuite/caps/union.c:
19572         * testsuite/debug/.cvsignore:
19573         * testsuite/debug/Makefile.am:
19574         * testsuite/debug/category.c:
19575         * testsuite/debug/commandline.c:
19576         * testsuite/debug/global.c:
19577         * testsuite/debug/output.c:
19578         * testsuite/debug/printf_extension.c:
19579         * testsuite/dlopen/.cvsignore:
19580         * testsuite/dlopen/Makefile.am:
19581         * testsuite/dlopen/dlopen_gst.c:
19582         * testsuite/dlopen/loadgst.c:
19583         * testsuite/elements/.cvsignore:
19584         * testsuite/elements/Makefile.am:
19585         * testsuite/elements/gst-inspect-check.in:
19586         * testsuite/elements/struct_i386.h:
19587         * testsuite/elements/struct_size.c:
19588         * testsuite/indexers/.cvsignore:
19589         * testsuite/indexers/Makefile.am:
19590         * testsuite/indexers/cache1.c:
19591         * testsuite/indexers/indexdump.c:
19592         * testsuite/parse/.cvsignore:
19593         * testsuite/parse/Makefile.am:
19594         * testsuite/parse/parse1.c:
19595         * testsuite/parse/parse2.c:
19596         * testsuite/plugin/.cvsignore:
19597         * testsuite/plugin/Makefile.am:
19598         * testsuite/plugin/README:
19599         * testsuite/plugin/dynamic.c:
19600         * testsuite/plugin/linked.c:
19601         * testsuite/plugin/loading.c:
19602         * testsuite/plugin/registry.c:
19603         * testsuite/plugin/static.c:
19604         * testsuite/plugin/static2.c:
19605         * testsuite/plugin/testplugin.c:
19606         * testsuite/plugin/testplugin2.c:
19607         * testsuite/plugin/testplugin2_s.c:
19608         * testsuite/plugin/testplugin_s.c:
19609         * testsuite/refcounting/.cvsignore:
19610         * testsuite/refcounting/Makefile.am:
19611         * testsuite/refcounting/bin.c:
19612         * testsuite/refcounting/element.c:
19613         * testsuite/refcounting/element_pad.c:
19614         * testsuite/refcounting/mainloop.c:
19615         * testsuite/refcounting/mem.c:
19616         * testsuite/refcounting/mem.h:
19617         * testsuite/refcounting/object.c:
19618         * testsuite/refcounting/pad.c:
19619         * testsuite/refcounting/sched.c:
19620         * testsuite/refcounting/thread.c:
19621         * testsuite/states/.cvsignore:
19622         * testsuite/states/Makefile.am:
19623         * testsuite/states/bin.c:
19624         * testsuite/states/locked.c:
19625         * testsuite/states/parent.c:
19626         * testsuite/threads/.cvsignore:
19627         * testsuite/threads/159566.c:
19628         * testsuite/threads/159852.c:
19629         * testsuite/threads/Makefile.am:
19630         * testsuite/threads/queue.c:
19631         * testsuite/threads/signals.c:
19632         * testsuite/threads/staticrec.c:
19633         * testsuite/threads/thread.c:
19634         * testsuite/threads/threadb.c:
19635         * testsuite/threads/threadc.c:
19636         * testsuite/threads/threadd.c:
19637         * testsuite/threads/threade.c:
19638         * testsuite/threads/threadf.c:
19639         * testsuite/threads/threadg.c:
19640         * testsuite/threads/threadh.c:
19641         * testsuite/threads/threadi.c:
19642           move all of these under tests
19643
19644 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19645
19646         * configure.ac:
19647         * tests/Makefile.am:
19648           fix distcheck
19649
19650 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19651
19652         * docs/gst/gstreamer-sections.txt:
19653         * tests/sched/.cvsignore:
19654         * tests/sched/Makefile.am:
19655         * tests/sched/cases/(fs-fs).xml:
19656         * tests/sched/cases/(fs-i-fs).xml:
19657         * tests/sched/cases/(fs-i-i-fs).xml:
19658         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19659         * tests/sched/dynamic-pipeline.c:
19660         * tests/sched/interrupt1.c:
19661         * tests/sched/interrupt2.c:
19662         * tests/sched/interrupt3.c:
19663         * tests/sched/runtestcases:
19664         * tests/sched/runxml.c:
19665         * tests/sched/sched-stress.c:
19666         * tests/sched/sort.c:
19667         * tests/sched/testcases:
19668         * tests/sched/testcases1.tc:
19669         * tests/seeking/.cvsignore:
19670         * tests/seeking/Makefile.am:
19671         * tests/seeking/seeking1.c:
19672         * tests/threadstate/.cvsignore:
19673         * tests/threadstate/Makefile.am:
19674         * tests/threadstate/test1.c:
19675         * tests/threadstate/test2.c:
19676         * tests/threadstate/threadstate1.c:
19677         * tests/threadstate/threadstate2.c:
19678         * tests/threadstate/threadstate3.c:
19679         * tests/threadstate/threadstate4.c:
19680         * tests/threadstate/threadstate5.c:
19681           remove obsolete tests
19682         * configure.ac:
19683         * tests/bench-complexity.scm:
19684         * tests/bench-mass_elements.scm:
19685         * tests/complexity.c:
19686         * tests/complexity.gnuplot:
19687         * tests/instantiate/.cvsignore:
19688         * tests/instantiate/Makefile.am:
19689         * tests/instantiate/caps.c:
19690         * tests/mass_elements.c:
19691         * tests/network-clock-utils.scm:
19692         * tests/network-clock.scm:
19693         * tests/plot-data:
19694         First pass at cleaning up tests/ dir before moving the rest
19695         Combined with CVS surgery
19696
19697 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19698
19699         * po/POTFILES.in:
19700           queue has moved, update
19701
19702 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19703
19704         * docs/gst/gstreamer-sections.txt:
19705           remove double entries from the docs
19706         * gst/gst_private.h:
19707         * gst/gstinfo.c: (_gst_debug_init):
19708           remove the THREAD debug category
19709         * gst/Makefile.am:
19710         * gst/gstqueue.c:
19711         * gst/gstqueue.h:
19712         * docs/gst/gstreamer.types:
19713         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19714         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19715           completely move queue and fix up debugging categories
19716
19717 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19718
19719         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19720           make initialization portable, using LL is not
19721
19722 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19723
19724         * win32/common/gstconfig.h:
19725           add large padding
19726
19727 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19728
19729         * win32/common/libgstreamer.def:
19730           rename symbols; sort base section
19731
19732 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19733
19734         * gst/gstclock.c: (do_linear_regression):
19735           remove crack non-portable handrolled DEBUG macro
19736
19737 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19738
19739         * docs/random/release:
19740           update notes
19741         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19742         (gst_object_flags_get_type), (register_gst_bin_flags),
19743         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19744         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19745         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19746         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19747         (gst_caps_flags_get_type), (register_gst_clock_return),
19748         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19749         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19750         (gst_clock_flags_get_type), (register_gst_state),
19751         (gst_state_get_type), (register_gst_state_change_return),
19752         (gst_state_change_return_get_type), (register_gst_state_change),
19753         (gst_state_change_get_type), (register_gst_element_flags),
19754         (gst_element_flags_get_type), (register_gst_core_error),
19755         (gst_core_error_get_type), (register_gst_library_error),
19756         (gst_library_error_get_type), (register_gst_resource_error),
19757         (gst_resource_error_get_type), (register_gst_stream_error),
19758         (gst_stream_error_get_type), (register_gst_event_type_flags),
19759         (gst_event_type_flags_get_type), (register_gst_event_type),
19760         (gst_event_type_get_type), (register_gst_seek_type),
19761         (gst_seek_type_get_type), (register_gst_seek_flags),
19762         (gst_seek_flags_get_type), (register_gst_format),
19763         (gst_format_get_type), (register_gst_index_certainty),
19764         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19765         (gst_index_entry_type_get_type),
19766         (register_gst_index_lookup_method),
19767         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19768         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19769         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19770         (gst_index_flags_get_type), (register_gst_debug_level),
19771         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19772         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19773         (gst_iterator_result_get_type), (register_gst_iterator_item),
19774         (gst_iterator_item_get_type), (register_gst_message_type),
19775         (gst_message_type_get_type), (register_gst_mini_object_flags),
19776         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19777         (gst_pad_link_return_get_type), (register_gst_flow_return),
19778         (gst_flow_return_get_type), (register_gst_activate_mode),
19779         (gst_activate_mode_get_type), (register_gst_pad_direction),
19780         (gst_pad_direction_get_type), (register_gst_pad_flags),
19781         (gst_pad_flags_get_type), (register_gst_pad_presence),
19782         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19783         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19784         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19785         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19786         (gst_plugin_flags_get_type), (register_gst_rank),
19787         (gst_rank_get_type), (register_gst_query_type),
19788         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19789         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19790         (gst_tag_flag_get_type), (register_gst_task_state),
19791         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19792         (gst_alloc_trace_flags_get_type),
19793         (register_gst_type_find_probability),
19794         (gst_type_find_probability_get_type), (register_gst_uri_type),
19795         (gst_uri_type_get_type), (register_gst_parse_error),
19796         (gst_parse_error_get_type):
19797         * win32/common/gstenumtypes.h:
19798         * win32/common/gstversion.h:
19799           update visual studio generated files
19800
19801 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19802
19803         * win32/vs6/libgstbase.dsp:
19804         * win32/vs6/libgstelements.dsp:
19805           update project files for new locations
19806
19807 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19808
19809         * Makefile.am:
19810           remove some files
19811         * README:
19812           reinstate and update
19813         * DEVEL:
19814         * REQUIREMENTS:
19815           removed
19816         * LICENSE:
19817         * docs/random/LICENSE:
19818           moved to random
19819
19820 2005-11-30  Edward Hervey  <edward@fluendo.com>
19821
19822         * gst/gsttypefind.c: (gst_type_find_register):
19823         * gst/gsttypefind.h:
19824         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19825         (gst_type_find_factory_dispose):
19826         * gst/gsttypefindfactory.h:
19827         Fix memory leak in GstTypeFindFactory.
19828
19829 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19830
19831         * gst/gst.c:
19832         * plugins/elements/Makefile.am:
19833         * plugins/elements/gstelements.c:
19834         * plugins/elements/gstqueue.c:
19835           move queue from core to the elements plugin
19836
19837 2005-11-29  Andy Wingo  <wingo@pobox.com>
19838
19839         * libs/gst/base/gstbasetransform.h: 
19840         * libs/gst/base/gstbasesrc.h: 
19841         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19842
19843         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19844         of pointers by which to pad very extensible base classes (like the
19845         ones in libs/gst/base).
19846
19847 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19848
19849         * docs/gst/gstreamer-docs.sgml:
19850         * docs/gst/gstreamer-sections.txt:
19851         * docs/libs/gstreamer-libs-docs.sgml:
19852         * docs/libs/gstreamer-libs-sections.txt:
19853           moving documentation from core to lib
19854
19855 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19856
19857         * check/Makefile.am:
19858         * configure.ac:
19859         * docs/gst/Makefile.am:
19860         * gst/Makefile.am:
19861         * gst/base/.cvsignore:
19862         * gst/base/Makefile.am:
19863         * gst/base/README:
19864         * gst/base/gstadapter.c:
19865         * gst/base/gstadapter.h:
19866         * gst/base/gstbasesink.c:
19867         * gst/base/gstbasesink.h:
19868         * gst/base/gstbasesrc.c:
19869         * gst/base/gstbasesrc.h:
19870         * gst/base/gstbasetransform.c:
19871         * gst/base/gstbasetransform.h:
19872         * gst/base/gstcollectpads.c:
19873         * gst/base/gstcollectpads.h:
19874         * gst/base/gstpushsrc.c:
19875         * gst/base/gstpushsrc.h:
19876         * gst/base/gsttypefindhelper.c:
19877         * gst/base/gsttypefindhelper.h:
19878         * gst/check/Makefile.am:
19879         * gst/check/gstcheck.c:
19880         * gst/check/gstcheck.h:
19881         * gst/net/Makefile.am:
19882         * gst/net/gstnet.h:
19883         * gst/net/gstnetclientclock.c:
19884         * gst/net/gstnetclientclock.h:
19885         * gst/net/gstnettimepacket.c:
19886         * gst/net/gstnettimepacket.h:
19887         * gst/net/gstnettimeprovider.c:
19888         * gst/net/gstnettimeprovider.h:
19889         * libs/gst/Makefile.am:
19890         * libs/gst/base/Makefile.am:
19891         * libs/gst/base/gstbasetransform.c:
19892         * libs/gst/check/Makefile.am:
19893         * plugins/elements/Makefile.am:
19894         * po/POTFILES.in:
19895           CVS surgery + support to move base, check, and net out of gst
19896           and into libs/gst
19897
19898 2005-11-29  Andy Wingo  <wingo@pobox.com>
19899
19900         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19901
19902         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19903         padding.
19904
19905         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19906
19907         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19908
19909         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19910
19911         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19912         padding; reduces object size by about 30%. We don't expect
19913         anything else to go into gstobject.
19914
19915         * gst/gstminiobject.h (struct _GstMiniObject)
19916         (struct _GstMiniObjectClass): Only one pointer of padding; the
19917         payload is only a pointer and two ints anyway. For the class there
19918         are only two methods as well.
19919         
19920         * gst/gstelement.h (struct _GstElementClass): Removed
19921         the state_changed signal callback, it is not used.
19922
19923 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19924
19925         * docs/gst/gstreamer.types:
19926           fix includes, though they are a little dinky
19927
19928 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19929
19930         * check/Makefile.am:
19931           look in the right place for elements, a lot more chance of
19932           success
19933         * gst/Makefile.am:
19934           remove indexers and elements subdirs
19935         * plugins/Makefile.am:
19936           make indexers conditional
19937
19938 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19939
19940         * Makefile.am:
19941         * configure.ac:
19942         * plugins/elements/Makefile.am:
19943         * plugins/elements/gstcapsfilter.c:
19944         * plugins/elements/gstfilesink.c:
19945         * plugins/elements/gstfilesrc.c:
19946         * plugins/elements/gstidentity.c:
19947         * plugins/indexers/Makefile.am:
19948           do CVS surgery and related build fixery to move elements
19949           and indexers in a new gstreamer/plugins directory, out of the
19950           gst/ directory
19951
19952 2005-11-29  Andy Wingo  <wingo@pobox.com>
19953
19954         * check/Makefile.am:
19955         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19956         * pkgconfig/gstreamer-net.pc.in:
19957         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19958         #322257.
19959
19960 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19961
19962         * tools/Makefile.am:
19963         * tools/gst-complete.1.in:
19964         * tools/gst-complete.c:
19965         * tools/gst-compprep.1.in:
19966         * tools/gst-compprep.c:
19967           removing -compprep and -complete
19968
19969 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19970
19971         * gst/gstevent.c: (gst_event_new_new_segment),
19972         (gst_event_parse_new_segment):
19973         * gst/gstevent.h:
19974           fix #320529 - clean up new_segment API and structure.
19975           Let's hope everyone was using the methods, and not the structure.
19976
19977 2005-11-29  Edward Hervey  <edward@fluendo.com>
19978
19979         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19980         (gst_base_sink_event), (gst_base_sink_do_sync),
19981         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19982         Properly handle non GST_FORMAT_TIME segment
19983         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19984         Properly handle non GST_FORMAT_TIME segment
19985         * gst/gstsegment.c:
19986         This function is valid if the accumulator is 0 and the format
19987         is different from the requested format.
19988         
19989 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19990
19991         * docs/gst/gstreamer-sections.txt:
19992         Add gst_query_new_seeking and gst_query_parse_seeking to the
19993         docs.
19994
19995 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19996
19997         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19998           Treat a pad alloc with new caps the same as if we were not
19999           negotiated, in order to allow a changing upstream output
20000           to produce a new format of data.
20001
20002 2005-11-29  Edward Hervey  <edward@fluendo.com>
20003
20004         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
20005         (gst_base_transform_event), (gst_base_transform_eventfunc):
20006         The event virtual method is now properly implemented, with a default
20007         handler
20008         Sub classes should call the parent_class event method. They should
20009         return FALSE if they had a problem handling the given event, or don't
20010         want GstBaseTransform to send that even downstream
20011         * gst/elements/gstidentity.c: (gst_identity_class_init),
20012         (gst_identity_init), (gst_identity_event),
20013         (gst_identity_transform_ip), (gst_identity_set_property),
20014         (gst_identity_get_property):
20015         * gst/elements/gstidentity.h:
20016         Added the single-segment boolean property.
20017         If set to TRUE, it will output a single segment of data, starting from
20018         0, will eat up all incoming newsegment, and modify the timestamp of the
20019         buffers accordingly
20020
20021 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
20022
20023         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
20024           Don't ref NULL target pad (#322751). Improve docs.
20025
20026 2005-11-29  Michael Smith  <msmith@fluendo.com>
20027
20028         * gst/gstregistryxml.c: (load_plugin):
20029           Don't crash if we failed to load a feature from a plugin. 
20030
20031 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20032
20033         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20034         (GST_START_TEST):
20035           use more check API and less GLib API
20036
20037 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20038
20039         * Makefile.am:
20040           don't run checks if we don't have check
20041         * common/check.mak:
20042           remove the registry when running make torture
20043         * docs/gst/gstreamer-sections.txt:
20044           remove second multiply
20045         * gst/gstqueue.c: (gst_queue_loop):
20046           fix a compile warning when disabling debug
20047
20048 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20049
20050         * gst/gstinfo.h:
20051         Hey! Let's print the pad name if the pointer != NULL instead
20052         of when it == NULL :-)
20053
20054 2005-11-28  Wim Taymans  <wim@fluendo.com>
20055
20056         * check/gst/gstutils.c: (GST_START_TEST):
20057         Updated check, add some scaling accuracy checking code.
20058
20059         * gst/gstutils.c: (gst_util_div128_64),
20060         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
20061         (gst_util_uint64_scale_int):
20062         Fix 6 times faster division code. Optimize for common 
20063         1/1 and less common X/1 cases.
20064
20065 2005-11-28  Wim Taymans  <wim@fluendo.com>
20066
20067         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20068         More checks.
20069
20070         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
20071         (do_linear_regression), (gst_clock_add_observation):
20072         Cleanups.
20073         Release lock when the clock cannot be slaved.
20074         Catch the case where the regression returned an invalid denominator.
20075
20076         * gst/gstutils.c: (gst_util_div128_64_iterate),
20077         (gst_util_div128_64), (gst_util_uint64_scale_int64),
20078         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20079         Add protentially more performant non-iterative 128/64 divide function
20080         that unfortunatly does not work yet.
20081         Shortcut the trivial 0/X = 0 case.
20082         Remove the warnings on overflow.
20083
20084 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20085
20086         * gst/gstplugin.c: (gst_plugin_register_func):
20087           everything causing a plugin not to load should be at least a WARNING
20088
20089 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
20090
20091         * docs/random/ensonic/dparams.txt:
20092           some TODOs for the next dev cycle
20093         * libs/gst/controller/gstcontroller.c:
20094         (gst_controlled_property_set_interpolation_mode),
20095         (gst_controlled_property_new):
20096         * libs/gst/controller/gstcontroller.h:
20097           use base type to assign acccessor functions
20098
20099 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20100
20101         * check/Makefile.am:
20102         Oops, that should have been top_srcdir
20103
20104 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
20105
20106         * check/Makefile.am:
20107         * check/elements/fdsrc.c: (GST_START_TEST):
20108         Use a cmdline define to specify the location of a file to use for
20109         testing, to avoid breaking distcheck.
20110
20111 2005-11-28  Andy Wingo  <wingo@pobox.com>
20112
20113         * gst/gstpad.c (fixate_value): Use array functions for arrays.
20114
20115 2005-11-28  Edward Hervey  <edward@fluendo.com>
20116
20117         * tools/gst-launch.c: (main):
20118         Clarify the output strings, makes it easier to translate.
20119         Fixes #322626
20120
20121 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20122
20123         * gst/Makefile.am:
20124           don't try and build net if we don't even have <sys/socket.h>
20125
20126 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
20127
20128         * check/Makefile.am:
20129         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
20130         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
20131           Add tests for fdsrc seekability
20132
20133         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20134         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
20135         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
20136         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
20137         * gst/elements/gstfdsrc.h:
20138           fdsrc should not be a 'live' source.
20139           Implement seeking on seekable fd's.
20140
20141         * gst/gstquery.c: (gst_query_new_seeking),
20142         (gst_query_parse_seeking):
20143         * gst/gstquery.h:
20144           Implement SEEKING query functions: 
20145             *_new_seeking and *_parse_seeking
20146
20147 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
20148
20149         * gst/gstelement.c: (gst_element_dispose):
20150           don't loop forever
20151
20152         * gst/gstiterator.c:
20153         * gst/gststructure.c:
20154           doc fixes
20155
20156         * libs/gst/controller/gstcontroller.c:
20157         (gst_controlled_property_set_interpolation_mode):
20158         * libs/gst/controller/gstcontroller.h:
20159         * libs/gst/controller/gstinterpolation.c:
20160         (interpolate_none_get_enum_value_array):
20161           support controlling enums
20162
20163 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20164
20165         * gst/gstvalue.c:
20166           Improve documentation for gst_value_union().
20167
20168         * gst/gstvalue.h:
20169           Change return value for union, intersect and subtract functions
20170           from gint to gboolean.
20171
20172 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
20173
20174         * gst/gstvalue.c: (gst_value_serialize_any_list),
20175         (gst_value_transform_any_list_string),
20176         (gst_value_deserialize_list), (gst_value_deserialize_array),
20177         (gst_value_set_int_range), (gst_value_deserialize_int_range),
20178         (gst_value_set_double_range), (gst_value_deserialize_double_range),
20179         (gst_value_set_fraction_range_full),
20180         (gst_value_deserialize_fraction_range),
20181         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
20182         (gst_value_deserialize_boolean),
20183         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
20184         (gst_value_serialize_float), (gst_value_deserialize_float),
20185         (gst_string_wrap), (gst_value_deserialize_string),
20186         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
20187         (gst_value_union_int_range_int_range),
20188         (gst_value_intersect_int_range_int_range),
20189         (gst_value_intersect_double_range_double_range),
20190         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
20191         (gst_value_subtract_int_range_int_range),
20192         (gst_value_subtract_double_double_range),
20193         (gst_value_subtract_double_range_double_range),
20194         (gst_value_deserialize_fraction):
20195         * gst/gstvalue.h:
20196           Use gint, gdouble and gchar in our API instead of int, double and
20197           char (and make usage in gstvalue.c more consistent).
20198
20199 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20200
20201         * check/Makefile.am:
20202         * libs/gst/controller/Makefile.am:
20203         * libs/gst/dataprotocol/Makefile.am:
20204           fix up Makefile.am and remove GST_ENABLE_NEW
20205
20206 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20207
20208         * configure.ac:
20209         * gst/Makefile.am:
20210         * gst/base/Makefile.am:
20211         * gst/check/Makefile.am:
20212         * gst/elements/Makefile.am:
20213         * gst/net/Makefile.am:
20214           update LDFLAGS use some more
20215
20216 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20217
20218         * common/m4/gst-doc.m4:
20219           Fixes #312589
20220
20221 2005-11-26  Edward Hervey  <edward@fluendo.com>
20222
20223         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20224         This shouldn't issue a g_warning since it returns NULL if it
20225         couldn't find the plugin, and all functions using this behave
20226         properly on a NULL return. Switching to a GST_WARNING.
20227
20228 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
20229
20230         * gst/gstbin.c: (gst_bin_handle_message_func):
20231         Don't leak clock messages.
20232
20233 2005-11-25  Wim Taymans  <wim@fluendo.com>
20234
20235         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20236         (gst_util_uint64_scale_int):
20237         Optimisations, remove unneeded vars.
20238
20239 2005-11-25  Wim Taymans  <wim@fluendo.com>
20240
20241         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20242         Added more checks for the high precision uint64 cases.
20243
20244         * gst/gstutils.c: (gst_util_uint64_scale_int64),
20245         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
20246         Implement high precision (guint64 * guint64) / guint64.
20247
20248 2005-11-24  Wim Taymans  <wim@fluendo.com>
20249
20250         * gst/base/gstbasesrc.c: (gst_base_src_query):
20251         Fix wrong percentage query.
20252
20253         * gst/gstutils.c: (gst_util_uint64_scale),
20254         (gst_util_uint64_scale_int):
20255         Add some more common cases that can be handled 
20256         efficiently to _scale.
20257
20258 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20259
20260         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20261         (gst_mini_object_suite):
20262           don't use check calls from threads; check probably isn't
20263           threadsafe and using a lock to make it threadsafe would
20264           defeat the purpose of this check
20265         * gst/check/gstcheck.c:
20266         * gst/check/gstcheck.h:
20267           use GST_DEBUG some more
20268
20269 2005-11-24  Wim Taymans  <wim@fluendo.com>
20270
20271         * gst/gstutils.c: (gst_util_uint64_scale),
20272         (gst_util_uint64_scale_int):
20273         Chain trivial case to _scale_int.
20274
20275 2005-11-24  Wim Taymans  <wim@fluendo.com>
20276
20277         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20278         Added test for scaling.
20279
20280         * gst/gstclock.h:
20281         Small doc fix.
20282
20283         * gst/gstutils.c: (gst_util_uint64_scale_int):
20284         Implemented high precision scaling code.
20285
20286 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
20287
20288         * gst/gstinfo.h:
20289           do not crash on pad==NULL
20290
20291 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20292
20293         Patch by: Stefan Kost
20294
20295         * common/gtk-doc.mak:
20296         * docs/gst/Makefile.am:
20297         * docs/libs/Makefile.am:
20298           Fix distcheck issues for the libraries docs build
20299           Closes #319599.
20300
20301 2005-11-24  Michael Smith <msmith@fluendo.com>
20302
20303         * docs/manual/basics-helloworld.xml:
20304           Fix bug #315027: memory leak in example code in docs.
20305
20306 2005-11-24  Michael Smith <msmith@fluendo.com>
20307
20308         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20309           Unlock the PREROLL_LOCK in a failure case.
20310
20311 2005-11-24  Wim Taymans  <wim@fluendo.com>
20312
20313         * docs/gst/gstreamer-sections.txt:
20314         * gst/base/gstadapter.h:
20315         * gst/base/gstbasesink.h:
20316         * gst/base/gstbasesrc.h:
20317         * gst/base/gstbasetransform.h:
20318         * gst/base/gstpushsrc.h:
20319         * gst/elements/gstfakesink.h:
20320         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20321         * gst/elements/gstfakesrc.h:
20322         * gst/elements/gstfilesink.h:
20323         * gst/elements/gstfilesrc.h:
20324         * gst/gst.c:
20325         * gst/gstbin.c:
20326         * gst/gstbuffer.c: (_gst_buffer_copy):
20327         * gst/gstbus.h:
20328         * gst/gstcaps.c:
20329         * gst/gstchildproxy.c:
20330         * gst/gstclock.c:
20331         * gst/gstelement.c:
20332         * gst/gstelementfactory.c:
20333         * gst/gstelementfactory.h:
20334         * gst/gstevent.c:
20335         * gst/gstghostpad.h:
20336         * gst/gstindex.h:
20337         * gst/gstinterface.h:
20338         * gst/gstminiobject.c:
20339         * gst/gstminiobject.h:
20340         * gst/gstpad.c:
20341         * gst/gstpad.h:
20342         * gst/gstpadtemplate.h:
20343         * gst/gstpipeline.h:
20344         * gst/gstpluginfeature.h:
20345         * gst/gstquery.h:
20346         * gst/gstqueue.h:
20347         * gst/gsttaglist.c:
20348         * gst/gsttaglist.h:
20349         * gst/gsttagsetter.c:
20350         * gst/gsttagsetter.h:
20351         * gst/gsttrace.c:
20352         * gst/gsttrace.h:
20353         * gst/gsttypefind.h:
20354         * gst/gsturi.h:
20355         * gst/gstvalue.c:
20356         * gst/net/gstnetclientclock.c:
20357         * gst/net/gstnetclientclock.h:
20358         * gst/net/gstnettimepacket.c:
20359         * gst/net/gstnettimeprovider.c:
20360         * gst/net/gstnettimeprovider.h:
20361         Doc fixes.
20362
20363 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20364
20365         * configure.ac: back to HEAD
20366
20367 === release 0.9.6 ===
20368
20369 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20370
20371         * configure.ac:
20372           releasing 0.9.6, "Always On Time"
20373
20374 2005-11-23  Wim Taymans  <wim@fluendo.com>
20375
20376         * docs/gst/gstreamer-sections.txt:
20377         * gst/glib-compat.c:
20378         * gst/gsttagsetter.c:
20379         * gst/gstvalue.c:
20380         * gst/net/gstnetclientclock.c:
20381         * gst/net/gstnettimepacket.h:
20382         Doc updates.
20383
20384 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20385
20386         * docs/faq/using.xml:
20387         * docs/libs/tmpl/gstcontrol.sgml:
20388         * docs/manual/advanced-dparams.xml:
20389         * docs/manual/appendix-checklist.xml:
20390         * docs/manual/basics-elements.xml:
20391         * docs/pwg/other-source.xml:
20392         * docs/random/moving-plugins:
20393         * gst/gstpad.c:
20394         * tools/gst-launch.1.in:
20395           remove mentions of sinesrc
20396
20397 2005-11-23  Michael Smith <msmith@fluendo.com>
20398
20399         * docs/gst/gstreamer-sections.txt:
20400           Update for new API and API changes.
20401         * gst/gstobject.h:
20402           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20403         * gst/gstvalue.c:
20404           Documentation typo fix.
20405         * gst/net/gstnettimepacket.c:
20406           Documentation fixes for arguments.
20407
20408 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20409
20410         * gst/gststructure.c: (gst_structure_get_fraction),
20411         (gst_structure_parse_value),
20412         (gst_structure_fixate_field_nearest_fraction):
20413         * gst/gststructure.h:
20414         * gst/gstutils.c: (gst_util_uint64_scale_int):
20415         * gst/gstutils.h:
20416         * scripts/update-funcnames:
20417         API Changes. 
20418         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20419         Make gst_structure_fixate_field_nearest_fraction take a numerator
20420         and denominator argument instead of a GValue
20421         add gst_structure_get_fraction helper function.
20422
20423 2005-11-23  Wim Taymans  <wim@fluendo.com>
20424
20425         * docs/design/part-TODO.txt:
20426         Update TODO.
20427
20428         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20429         * gst/net/gstnetclientclock.h:
20430         Use parent fields for timeout and window_size.
20431
20432 2005-11-23  Andy Wingo  <wingo@pobox.com>
20433
20434         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20435         rate_num/rate_denom change.
20436
20437         * gst/net/gstnetclientclock.c
20438         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20439         OBJECT_LOCK. Don't call add_observation with the lock.
20440
20441         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20442         fraction.
20443         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20444         rate fraction.
20445         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20446         deal with rate as a fraction whose numerator and denominator are
20447         GstClockTime values.
20448         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20449         master; the other fields are protected by the SLAVE_LOCK.
20450         (do_linear_regression): Note that this must be called with the
20451         SLAVE_LOCK.
20452         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20453         OBJECT_LOCK. Call set_calibration instead of touching the
20454         variables directly.
20455         (gst_clock_set_property, gst_clock_get_property): Protect
20456         master/slave parameters with the SLAVE_LOCK.
20457
20458         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20459         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20460         note that all of the instance variables that add_observation and
20461         the set_master functions use are protected by that lock and not
20462         the OBJECT_LOCK.
20463         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20464
20465         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20466         the caller to take the object lock.
20467
20468 2005-11-23  Wim Taymans  <wim@fluendo.com>
20469
20470         * gst/gsterror.c: (_gst_core_errors_init):
20471         * gst/gsterror.h:
20472         Add error for clock stuff.
20473
20474         * gst/gstpipeline.c: (gst_pipeline_change_state),
20475         (gst_pipeline_set_clock):
20476         Post clock error when clock cannot be used in a pipeline.
20477
20478 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20479
20480         * docs/gst/gstreamer-sections.txt:
20481           make two symbols from gstinfo private for the docs
20482         * gst/base/gstcollectpads.h:
20483         * gst/gstutils.c:
20484           fix doc typos, update docs
20485
20486 2005-11-22  Wim Taymans  <wim@fluendo.com>
20487
20488         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20489         (gst_base_sink_wait), (gst_base_sink_do_sync),
20490         (gst_base_sink_handle_event):
20491         * gst/base/gstbasesink.h:
20492         No need to store the clock, the parent element class already
20493         has it.
20494
20495         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20496         Updates for clock_set returning a gboolean
20497
20498         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20499         (gst_clock_id_wait_async), (gst_clock_class_init),
20500         (gst_clock_init), (gst_clock_finalize),
20501         (gst_clock_get_internal_time), (gst_clock_get_time),
20502         (gst_clock_slave_callback), (gst_clock_set_master),
20503         (gst_clock_get_master), (do_linear_regression),
20504         (gst_clock_add_observation), (gst_clock_set_property),
20505         (gst_clock_get_property):
20506         * gst/gstclock.h:
20507         Implement master/slave. When setting a clock as a slave, a
20508         periodic timeout is scheduled to sample master and slave times.
20509         Then the slave clock is recalibrated to match offset and rate
20510         of the master clock.
20511         Update logging a bit.
20512         Add flag so that a clock can state that is cannot be slaved to
20513         another clock.
20514
20515         * gst/gstelement.c: (gst_element_set_clock):
20516         * gst/gstelement.h:
20517         The set clock returns a gboolean for when an element cannot
20518         deal with the selected clock in the pipeline. 
20519
20520         * gst/gstpipeline.c: (gst_pipeline_change_state),
20521         (gst_pipeline_set_clock):
20522         * gst/gstpipeline.h:
20523         Handle the case where the selected clock cannot be set on
20524         the pipeline.
20525
20526         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20527         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20528         (gst_net_client_clock_set_property),
20529         (gst_net_client_clock_get_property),
20530         (gst_net_client_clock_observe_times):
20531         * gst/net/gstnetclientclock.h:
20532         Use regression code in GstClock parent, remove duplicated
20533         functionality.
20534
20535 2005-11-22  Michael Smith <msmith@fluendo.com>
20536
20537         * gst/gstutils.c: (gst_util_clock_time_scale):
20538         * gst/gstutils.h:
20539         * docs/gst/gstreamer-sections.txt:
20540           Rename method to have extra underscore.
20541
20542 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20543
20544         * gst/elements/Makefile.am:
20545         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20546         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20547         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20548         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20549         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20550         * gst/elements/gstfakesrc.h:
20551         * gst/gstqueue.c: (queue_leaky_get_type):
20552           correctly fix GEnumValues so that nick is the short lowercase
20553           dashed tag
20554         * tools/gst-inspect.c: (print_element_properties_info):
20555           also show the nick, since it's useful to use from parse_launch
20556           syntax
20557           Fixes #322139
20558
20559 2005-11-22  Michael Smith <msmith@fluendo.com>
20560
20561         * gst/gstutils.c: (gst_util_clocktime_scale):
20562         * gst/gstutils.h:
20563         * docs/gst/gstreamer-sections.txt:
20564           Add util method for scaling a clocktime by a fraction. Useful 
20565           implementation is left as an exercise for the reader.
20566
20567 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20568
20569         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20570         If needed, allocate storage in the destination value during
20571         collection.
20572
20573 2005-11-22  Edward Hervey  <edward@fluendo.com>
20574
20575         * docs/gst/gstreamer-sections.txt:
20576         * gst/Makefile.am:
20577         * gst/gst.h:
20578         * gst/gsturitype.c:
20579         * gst/gsturitype.h:
20580         * gst/gstutils.c: (gst_util_set_object_arg):
20581         * tools/gst-compprep.c: (main):
20582         * tools/gst-inspect.c: (print_element_properties_info):
20583         Removed GstURI, closes bug #321061
20584
20585 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20586
20587         * check/gst/gststructure.c: (GST_START_TEST):
20588         * gst/gststructure.c: (gst_structure_parse_value):
20589           Oops, broke automatic string type parsing.
20590           Add a test to catch it in future.
20591
20592 2005-11-22  Andy Wingo  <wingo@pobox.com>
20593
20594         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20595         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20596         Actually rename the function implementations. Grr.
20597
20598 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20599
20600         * check/gst/capslist.h:
20601           Comment test cases
20602         * check/gst/gststructure.c: (GST_START_TEST),
20603         (gst_structure_suite):
20604           Test automatic value type detection in gst_structure_from_string.
20605         * gst/gststructure.c: (gst_structure_parse_value):
20606           Add fraction as a type we try and guess automatically in
20607           caps/structure strings.
20608
20609 2005-11-22  Andy Wingo  <wingo@pobox.com>
20610
20611         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20612
20613         * gst/gsttagsetter.h:
20614         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20615         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20616         (gst_tag_setter_add_tag_valist)
20617         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20618         _add_values, _add_valist, and _add_valist_values. Since this is an
20619         interface the function suffixes should be more explicit so
20620         language binding don't end up with element.add_valist ->
20621         gst_tag_setter_add_valist, for example. Fixes #322069.
20622
20623 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20624
20625         * check/gst/gstcaps.c: (GST_START_TEST):
20626           Extend caps string tests to check that a caps to string
20627           conversion is reversible and produces the same caps.
20628
20629         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20630           Output "fraction" as the generic type fraction range, so caps
20631           serialisation and deserialisation works.
20632         * check/gst/capslist.h:
20633         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20634           Support 'MIN' and 'MAX' for deserialising fractions.
20635
20636 2005-11-22  Andy Wingo  <wingo@pobox.com>
20637
20638         * gst/gstevent.h (gst_event_new_new_segment)
20639         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20640         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20641         Renamed from *_newsegment, *_buffersize, *_notarget.
20642
20643         * scripts/update-funcnames: New script, performs the changes
20644         listed above.
20645
20646 2005-11-22  Wim Taymans  <wim@fluendo.com>
20647
20648         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20649         Make sure the GstFlowReturn is returned.
20650
20651         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20652         (gst_bus_add_signal_watch):
20653         * gst/gstbus.h:
20654         add gst_bus_add_signal_watch_full.
20655
20656         * gst/gstplugin.c: (gst_plugin_load_file):
20657         Small style cleanup.
20658
20659 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20660
20661         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20662           Block the fakesrc srcpad when we send an event, to avoid
20663           contention on the stream_lock causing random test failures.
20664
20665 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20666
20667         * check/gst/gstvalue.c: (GST_START_TEST):
20668         * gst/gstvalue.c: (gst_value_fraction_subtract):
20669           Fix subtraction.
20670
20671 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20672
20673         * gst/gst.h:
20674           include "gstchildproxy.h"
20675         * gst/gstchildproxy.h:
20676         * libs/gst/controller/gstcontroller.h:
20677           use G_GNUC_NULL_TERMINATED
20678
20679 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20680
20681         * check/gst/capslist.h:
20682         * check/gst/gstcaps.c: (GST_START_TEST):
20683         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20684         * gst/gststructure.c: (gst_structure_parse_range),
20685         (gst_structure_fixate_field_nearest_fraction):
20686         * gst/gststructure.h:
20687         * gst/gstvalue.c: (gst_value_init_fraction_range),
20688         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20689         (gst_value_collect_fraction_range),
20690         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20691         (gst_value_set_fraction_range_full),
20692         (gst_value_get_fraction_range_min),
20693         (gst_value_get_fraction_range_max),
20694         (gst_value_serialize_fraction_range),
20695         (gst_value_transform_fraction_range_string),
20696         (gst_value_compare_fraction_range),
20697         (gst_value_deserialize_fraction_range),
20698         (gst_value_intersect_fraction_fraction_range),
20699         (gst_value_intersect_fraction_range_fraction_range),
20700         (gst_value_subtract_fraction_fraction_range),
20701         (gst_value_subtract_fraction_range_fraction),
20702         (gst_value_subtract_fraction_range_fraction_range),
20703         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20704         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20705         (gst_value_transform_string_fraction), (_gst_value_initialize):
20706         * gst/gstvalue.h:
20707           Implement fraction ranges and extend GstFraction to support
20708           arithmetic subtraction, as well as deserialization from integer
20709           strings such as "100"
20710           Add a testsuite as for int and double range set operations
20711
20712 2005-11-21  Andy Wingo  <wingo@pobox.com>
20713
20714         * gst/gsttaglist.h: 
20715         * gst/gstcaps.h: 
20716         * gst/gststructure.h: Add glib-compat.h.
20717
20718 2005-11-21  Wim Taymans  <wim@fluendo.com>
20719
20720         * gst/gstbin.c: (gst_bin_change_state_func):
20721         Fix for #321595
20722
20723 2005-11-21  Wim Taymans  <wim@fluendo.com>
20724
20725         * gst/gstsegment.h:
20726         And add a nice define too.
20727
20728 2005-11-21  Wim Taymans  <wim@fluendo.com>
20729
20730         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20731         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20732         (gst_segment_set_duration), (gst_segment_set_last_stop),
20733         (gst_segment_set_seek), (gst_segment_set_newsegment),
20734         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20735         (gst_segment_clip):
20736         * gst/gstsegment.h:
20737         Make binding friendly.
20738
20739 2005-11-21  Andy Wingo  <wingo@pobox.com>
20740
20741         * gst/gsttagsetter.h: 
20742         * gst/gsttaglist.h: 
20743         * gst/gststructure.h: 
20744         * gst/gstcaps.h: 
20745         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20746         #319940.
20747
20748         * gst/gsterror.c (_gst_core_errors_init):
20749         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20750         category.
20751
20752         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20753         (noinst_HEADERS): noinst the -private.
20754
20755 2005-11-21  Michael Smith <msmith@fluendo.com>
20756
20757         * gst/gstplugin.h:
20758         * gst/gstregistry.h:
20759           Remove unimplemented declarations for which we can see no sensible
20760           use.
20761
20762 2005-11-21  Andy Wingo  <wingo@pobox.com>
20763
20764         * gst/gst.h: Include glib-compat.h.
20765
20766         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20767
20768         * gst/glib-compat.c: Include the public and the private header.
20769
20770         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20771
20772         * gst/gstvalue.c: 
20773         * gst/gstpad.c: 
20774         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20775
20776         * check/gst/gstevent.c (create_custom_events): Check that
20777         FLUSH_STOP is serialized.
20778
20779         * check/elements/identity.c (event_func): 
20780         * check/elements/fakesrc.c (event_func): No stream lock, the core
20781         takes it.
20782
20783         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20784         stream lock taking, yay.
20785
20786         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20787         ensure that core takes the stream lock.
20788
20789         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20790         lock name change.
20791
20792         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20793         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20794         it already. For the flush start we do take it though so we get the
20795         right preroll state change messages.
20796
20797         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20798         the stream lock here, the core does it for us.
20799
20800         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20801         GST_STREAM_GET_LOCK.
20802         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20803         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20804         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20805         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20806         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20807         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20808
20809         * gst/gstpad.c: Update for stream lock name change.
20810
20811         * gst/base/gstbasesink.c: Update for preroll lock name change.
20812
20813 2005-11-21  Wim Taymans  <wim@fluendo.com>
20814
20815         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20816         (gst_clock_get_master):
20817         * gst/gstclock.h:
20818         * gst/gstsystemclock.c: (gst_system_clock_init):
20819         Convert Clock flags to object flags.
20820         Added methods to manage master/slave clocks.
20821
20822 2005-11-21  Wim Taymans  <wim@fluendo.com>
20823
20824         * check/gst/gstsegment.c: (GST_START_TEST):
20825         * docs/design/part-TODO.txt:
20826         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20827         (gst_base_sink_event), (gst_base_sink_do_sync),
20828         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20829         (gst_base_sink_query), (gst_base_sink_change_state):
20830         * gst/base/gstbasesink.h:
20831         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20832         (gst_base_src_default_newsegment),
20833         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20834         (gst_base_src_get_range), (gst_base_src_loop),
20835         (gst_base_src_change_state):
20836         * gst/base/gstbasesrc.h:
20837         * gst/base/gstbasetransform.c:
20838         (gst_base_transform_prepare_output_buf),
20839         (gst_base_transform_event), (gst_base_transform_change_state):
20840         * gst/base/gstbasetransform.h:
20841         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20842         (gst_collect_pads_event):
20843         * gst/base/gstcollectpads.h:
20844         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20845         (gst_fake_src_create):
20846         * gst/elements/gstfakesrc.h:
20847         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20848         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20849         (gst_segment_set_last_stop), (gst_segment_set_seek),
20850         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20851         (gst_segment_to_running_time), (gst_segment_clip):
20852         * gst/gstsegment.h:
20853         More segment updates, replace code in plugins with segment
20854         helper functions.
20855
20856 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20857
20858         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20859         Don't ignore sscanf results
20860
20861 2005-11-21  Andy Wingo  <wingo@pobox.com>
20862
20863         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20864
20865         * *.h:
20866         * *.c: Ran scripts/update-macros. Oh yes.
20867
20868         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20869         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20870         GST_GET_LOCK, etc.
20871
20872         * scripts/update-macros: New script. Run it on your files to
20873         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20874         well.
20875
20876 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20877
20878         * docs/gst/Makefile.am:
20879         * docs/gst/gstreamer-docs.sgml:
20880         * docs/gst/gstreamer-sections.txt:
20881         * docs/gst/gstreamer.types:
20882         * gst/gstinfo.h:
20883           more docs fixes, add new api to the docs
20884
20885 2005-11-21  Andy Wingo  <wingo@pobox.com>
20886
20887         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20888         state_broadcast call.
20889
20890         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20891
20892 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20893
20894         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20895         function calls for arrays.
20896
20897 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20898
20899         * docs/random/ensonic/media-device-daemon.txt:
20900           wild idea, can this be done?
20901         * docs/gst/gstreamer-sections.txt:
20902         * gst/gsterror.h:
20903         * gst/gstfilter.c:
20904         * gst/gstfilter.h:
20905         * gst/gstplugin.h:
20906         * gst/gstpluginfeature.c:
20907         * gst/gsttrace.c:
20908         * gst/gstvalue.c:
20909         * gst/gstvalue.h:
20910           doc fixes and additions
20911
20912 2005-11-21  Andy Wingo  <wingo@pobox.com>
20913
20914         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20915         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20916         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20917         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20918         private to the basesrc implementation.
20919
20920         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20921         behalf of event function if necessary. It should no longer be
20922         necessary to take the stream lock in pad's event functions. Fixes
20923         #320299.
20924
20925 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20926         * docs/gst/gstreamer-sections.txt:
20927         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20928         (gst_structure_fixate_field_nearest_double),
20929         (gst_structure_fixate_field_boolean):
20930         * gst/gststructure.h:
20931         * win32/common/libgstreamer.def:
20932         * win32/gstreamer.def:
20933
20934         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20935         (#322027)
20936
20937 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20938
20939         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20940         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20941         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20942         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20943         (gst_fdsrc_uri_handler_init):
20944         * gst/elements/gstfdsrc.h:
20945           Port fd:// URI handler from 0.8 to fdsrc
20946
20947 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20948
20949         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20950         (gst_value_serialize_fourcc):
20951         * gst/gstvalue.h:
20952           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20953           consistent with our other format defines (#320324).
20954
20955 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20956
20957         * gst/gstvalue.c: (gst_value_is_fixed):
20958           Revert previous commit. Value lists are by definition
20959           not fixed, as they are a list of possible values.
20960
20961 2005-11-21  Andy Wingo  <wingo@pobox.com>
20962
20963         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20964         during the stable series if we need it. Fixes #319178.
20965
20966         * gst/gstevent.c (gst_event_new_filler): Removed.
20967
20968         * check/gst/gstevent.c: Update comment about filler events.
20969
20970 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20971
20972         * gst/gstvalue.c: (gst_value_is_fixed):
20973           Should handle both value arrays and value lists.
20974
20975 2005-11-21  Andy Wingo  <wingo@pobox.com>
20976
20977         patch by: Alessandro Dessina <alessandro nnva org>
20978
20979         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20980         functions to access arrays. Fixes #321962.
20981
20982 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20983
20984         * docs/gst/gstreamer.types:
20985           gst_collectpads_get_type => gst_collect_pads_get_type.
20986           
20987         * gst/base/gstbasetransform.c:
20988           Remove unused SIGNAL_HANDOFF enum.
20989
20990 2005-11-21  Andy Wingo  <wingo@pobox.com>
20991
20992         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20993         the event type (upstream, downstream, serialized). Renamed
20994         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20995         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20996         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20997
20998         * gst/gstevent.c: Update for new CUSTOM event names.
20999
21000         * check/gst/gstevent.c: Update check for new CUSTOM event names.
21001
21002         * gst/gstevent.h:
21003         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
21004         bug #319392.
21005
21006 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21007
21008         * docs/gst/gstreamer-sections.txt:
21009         * win32/common/libgstbase.def:
21010         * win32/libgstbase.def:
21011         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
21012         (gst_collect_pads_class_init), (gst_collect_pads_init),
21013         (gst_collect_pads_finalize), (gst_collect_pads_new),
21014         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
21015         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
21016         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
21017         (gst_collect_pads_start), (gst_collect_pads_stop),
21018         (gst_collect_pads_peek), (gst_collect_pads_pop),
21019         (gst_collect_pads_available), (gst_collect_pads_read),
21020         (gst_collect_pads_flush), (gst_collect_pads_event),
21021         (gst_collect_pads_chain):
21022         * gst/base/gstcollectpads.h:
21023           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
21024           unimplemented functions as unimplemented. Add padding to
21025           GstCollectData. (#320766, #320423)
21026
21027 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
21028
21029         * gst/gstmessage.c:
21030           Improve docs for DURATION message (usage of duration parameter)
21031           (#320113)
21032
21033 2005-11-20  Wim Taymans  <wim@fluendo.com>
21034
21035         * check/Makefile.am:
21036         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
21037         (main):
21038         * gst/Makefile.am:
21039         * gst/gst.h:
21040         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
21041         (gst_segment_set_seek), (gst_segment_set_newsegment),
21042         (gst_segment_to_stream_time), (gst_segment_to_running_time),
21043         (gst_segment_clip):
21044         * gst/gstsegment.h:
21045         Added segment helper structure and methods. Not fully implemented
21046         yet.
21047         Added segment check.
21048
21049 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
21050
21051         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
21052           Add a deserialisation test for fractions
21053         * examples/metadata/read-metadata.c: (message_loop),
21054         (make_pipeline), (main):
21055           Fix up metadata reading sample.
21056         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21057           Debug format fix
21058         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21059           Don't try and fixate empty caps
21060         * gst/gst_private.h:
21061           Wrap in G_BEGIN_DECLS/G_END_DECLS
21062         * gst/gstvalue.c: (gst_value_collect_fraction),
21063         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
21064         (gst_value_transform_string_fraction),
21065         (gst_value_compare_fraction):
21066           Add some extra guards to ensure that we don't end up 
21067           with an invalid denominator of 0 in a gstfraction and
21068           that fractions always get reduced.
21069
21070 2005-11-20  Wim Taymans  <wim@fluendo.com>
21071
21072         * docs/gst/gstreamer-sections.txt:
21073         * gst/gstbuffer.h:
21074         * gst/gstelement.c:
21075         * gst/gstformat.c:
21076         * gst/gstformat.h:
21077         * gst/gstindex.h:
21078         * gst/gstquery.c:
21079         * gst/gstquery.h:
21080         * gst/gstvalue.c:
21081         Doc fixes.
21082
21083 2005-11-20  Wim Taymans  <wim@fluendo.com>
21084
21085         * docs/design/part-TODO.txt:
21086         * gst/gstcaps.h:
21087         Make a proper enum of the flag.
21088
21089 2005-11-19  Wim Taymans  <wim@fluendo.com>
21090
21091         * docs/design/part-TODO.txt:
21092         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
21093         (gst_format_to_quark), (gst_format_register):
21094         * gst/gstformat.h:
21095         * gst/gstquery.c: (_gst_query_initialize),
21096         (gst_query_type_get_name), (gst_query_type_to_quark),
21097         (gst_query_type_register):
21098         * gst/gstquery.h:
21099         Add type to quark and type to string conversions.
21100
21101 2005-11-19  Andy Wingo  <wingo@pobox.com>
21102
21103         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
21104         #320097.
21105
21106 2005-11-19  Wim Taymans  <wim@fluendo.com>
21107
21108         * docs/design/part-TODO.txt:
21109         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
21110         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
21111         (gst_bin_handle_message_func):
21112         * gst/gstbin.h:
21113         Make message handling overridable.
21114
21115 2005-11-19  Andy Wingo  <wingo@pobox.com>
21116
21117         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
21118
21119         * gst/gstclock.h:
21120         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
21121         be a GstClockTime.
21122         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
21123         is a GstClockTime. Fixes #321710.
21124
21125         * gst/gstclock.h (GstClock): Remove offset property. Add
21126         internal_calibration and external_calibration. Fix padding. Pad
21127         also by GstClockTime so we don't run into problems.
21128
21129         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
21130         (gst_clock_get_rate_offset): Remove.
21131         (gst_clock_set_time_adjust): Remove. Fixes #321712.
21132
21133         * gst/gstutils.h:
21134         * gst/gstutils.c (g_static_rec_cond_wait)
21135         (g_static_rec_cond_timed_wait): Removed, no longer needed.
21136
21137         * gst/gstbin.c: Remove terrible continue_state prototype.
21138
21139         * gst/gstelement.h (gst_element_continue_state): Make public.
21140
21141         * gst/gstelement.h:
21142         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
21143         by continue_state. Fixes #319389.
21144
21145         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
21146         Really fixes #168438. However I don't see anywhere where the
21147         filter function is called... stupid GStreamer...
21148         
21149         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
21150         don't have a dispose function, so it won't get called when the
21151         object is unreffed, but oh well!
21152
21153         * gst/gstindex.c (gst_index_set_filter_full): New API function,
21154         allows a destroy function to be set so user_data can be freed.
21155         Fixes #168438.
21156         (gst_index_set_filter): Call gst_index_set_filter_full.
21157
21158         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
21159
21160         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
21161         string should produce an error, given the lack of a way to
21162         represent NULL strings. Fixes #165650.
21163         
21164         * gst/gstvalue.h: 
21165         * gst/gstvalue.c (gst_value_array_append_value) 
21166         (gst_value_array_prepend_value, gst_value_array_get_size) 
21167         (gst_value_array_get_value): New API, copied from
21168         gst_value_list_*, only operates on arrays.
21169         (gst_value_list_append_value, gst_value_list_prepend_value) 
21170         (gst_value_list_concat, gst_value_list_get_size) 
21171         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
21172
21173         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
21174         init_list, because it works on both.
21175         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
21176         (gst_value_copy_list_or_array): Renamed from copy_list.
21177         (gst_value_free_list_or_array): Renamed from free_list.
21178         (gst_value_collect_list_or_array): Renamed from collect_list.
21179         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
21180         (gst_value_list_or_array_peek_pointer): Renamed from
21181         list_peek_pointer.
21182         (_gst_value_array_value_table, _gst_value_list_value_table):
21183         Update value table functions.
21184         (gst_value_compare_list_or_array): Renamed from compare_list.
21185
21186         * gsttaglist.h: Whoops, foreach function returns void. Also fix
21187         some constness.
21188
21189         * gst/gsttaglist.c:
21190         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
21191         GstTagList*. Fixes #143472.
21192
21193         * gst/gststructure.h: Clarify what the foreach/map functions can
21194         or can't do to their arguments.
21195
21196 2005-11-18  Wim Taymans  <wim@fluendo.com>
21197
21198         * gst/gstclock.c: (gst_clock_set_calibration),
21199         (gst_clock_get_calibration):
21200         Doc and API fixes.
21201         Calibration can be set with internal time equal to current
21202         internal time too.
21203
21204 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21205
21206         * gst/gsterror.c:
21207         * gst/gsterror.h:
21208           document
21209
21210 2005-11-18  Andy Wingo  <wingo@pobox.com>
21211
21212         * configure.ac: 
21213         * pkgconfig/gstreamer-net.pc.in:
21214         * pkgconfig/gstreamer-net-uninstalled.pc.in:
21215         * pkgconfig/Makefile.am: Add net pkgconfig files.
21216
21217 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
21218
21219         * gst/gstcaps.c:
21220         * gst/gstghostpad.c:
21221         * gst/gsttrace.c:
21222         * gst/gstvalue.c:
21223         * gst/gstvalue.h:
21224           docs fixes
21225
21226 2005-11-18  Andy Wingo  <wingo@pobox.com>
21227
21228         * gst/net/gstnetclientclock.c: Turn off debugging.
21229
21230         * check/net/gstnetclientclock.c (test_functioning): Assert that the
21231         times connverge somewhat. Can't make a real test.
21232
21233         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
21234         integer arithmetic. Return the minimum of the domain, which can be
21235         set as "internal" for gst_clock_set_calibration.
21236         (gst_net_client_clock_observe_times): Call _set_calibration.
21237         (gst_net_client_clock_new): Call _set_calibration instead of
21238         rate_offset.
21239
21240         * check/net/gstnetclientclock.c (test_functioning): Use the right
21241         adjustment api.
21242
21243         * gst/gstclock.h:
21244         * gst/gstclock.c (gst_clock_get_calibration) 
21245         (gst_clock_set_calibration): New functions, obsolete the ones I
21246         added yesterday. Doh. Precision issues mean we have to extrapolate
21247         from a point in the more recent past than 1970.
21248         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
21249         obsolete.
21250         (gst_clock_adjust_unlocked): Use the right calibration data.
21251
21252 2005-11-18  Edward Hervey  <edward@fluendo.com>
21253
21254         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
21255         Also reset the ->current_* values in READY->PAUSED
21256
21257 2005-11-18  Andy Wingo  <wingo@pobox.com>
21258
21259         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21260         Whoops, check the right fd. Also add some debugging.
21261         (gst_net_client_clock_observe_times): Adjust for int64 offset.
21262         (do_linear_regression): Add a crapload of debugging. Subtract off
21263         the minimum values from the input series to discard unneeded bits.
21264         Use only int arithmetic. There is still double arithmetic when
21265         calculating the intercept that needs fixing. Return boolean to
21266         indicate success; FALSE would mean the domain or range is too
21267         great. Still needs fixes.
21268
21269 2005-11-18  Wim Taymans  <wim@fluendo.com>
21270
21271         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21272         For the current position in stream time, we need to subtract
21273         accumulated time.
21274         
21275         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21276         Release lock before calling the callback function of async
21277         entries.
21278
21279 2005-11-18  Andy Wingo  <wingo@pobox.com>
21280
21281         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21282         Port goes all the way to MAXUINT16.
21283
21284         * gst/net/gstnettimeprovider.c: Make the port range the same as
21285         for the kernel: 0 assigns, otherwise ports are less than
21286         MAXUINT16.
21287
21288         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21289         port change.
21290
21291         * check/net/gstnetclientclock.c (test_functioning): Add the start
21292         of another test. 
21293
21294 2005-11-18  Wim Taymans  <wim@fluendo.com>
21295
21296         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21297         (gst_bin_remove_func), (bin_bus_handler):
21298         * gst/gstbin.h:
21299         Removing a clock provider from a bin, triggers a clock lost message
21300         so that a new clock will be selected.
21301         Adding a clock to a bin triggers a clock provider message.
21302         Make sure we reselect a clock when we received a clock lost message.
21303         Keep a reference to the element that provided the clock.
21304
21305 2005-11-18  Andy Wingo  <wingo@pobox.com>
21306
21307         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21308         the clock initially so it produces values around the base time.
21309         (gst_net_client_clock_class_init): Typo fix.
21310         (gst_net_client_clock_thread): Add note on when the socket gets
21311         closed.
21312
21313 2005-11-17  Wim Taymans  <wim@fluendo.com>
21314
21315         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21316         Free remote and local time arrays.
21317
21318 2005-11-17  Wim Taymans  <wim@fluendo.com>
21319
21320         * gst/net/gstnetclientclock.c: (do_linear_regression),
21321         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21322         Fix compilation, uninitialized vars and a forgotten continue.
21323
21324 2005-11-17  Andy Wingo  <wingo@pobox.com>
21325
21326         * check/Makefile.am (check_PROGRAMS): 
21327         * check/net/gstnetclientclock.c: Add a most minimal test for the
21328         net client clock. More to come later.
21329
21330         * gst/net/gstnet.h: 
21331         * gst/net/Makefile.am: Add netclientclock.
21332
21333         * gst/net/gstnetclientclock.h:
21334         * gst/net/gstnetclientclock.c: New files, implement an untested
21335         GstClock that takes its time from a network time provider.
21336         Implements the algorithm in network-clock.scm.
21337
21338         * tests/network-clock.scm (*window-size*): Rename from
21339         *queue-length*.
21340         * tests/network-clock.scm (network-time): 
21341         * tests/network-clock-utils.scm (q-push): Update callers.
21342
21343 2005-11-17  Wim Taymans  <wim@fluendo.com>
21344
21345         * gst/gstbin.c: (gst_bin_provide_clock_func),
21346         (gst_bin_sort_iterator_new):
21347         And unref the child too..
21348
21349 2005-11-17  Wim Taymans  <wim@fluendo.com>
21350
21351         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21352         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21353         Refactor the sort iterator so it can be used while holding the
21354         LOCK too.
21355         Make clock selection select a clock closest to the source.
21356
21357 2005-11-17  Michael Smith <msmith@fluendo.com>
21358
21359         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21360         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21361         * gst/gstclock.h:
21362           Anonymous structs are a gcc (and some other compilers) extension, so
21363           don't use them. Since this is only for ABI-compatibility, and our
21364           API/ABI freeze is over in a few days, this whole thing will only
21365           last a few days, so don't bother trying to think up a meaningful
21366           name for the struct.
21367
21368 2005-11-17  Andy Wingo  <wingo@pobox.com>
21369
21370         * gst/gstclock.h (GstClock): Add rate and offset properties,
21371         preserving ABI stability. Add rate/offset accessors. Will file bug
21372         for the freeze break.
21373
21374         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21375         and offset, trying to keep precision and avoiding
21376         underflow/overflow.
21377         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21378         functions. Make gst_clock_set_time_adjust obsolete.
21379         (gst_clock_set_time_adjust): Note that this function is obsolete.
21380         Will file bug soon.
21381
21382         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21383         greppable by using GST_PADDING-1+1.
21384
21385 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21386
21387         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21388
21389         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21390           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21391
21392         * gst/gstpadtemplate.h:
21393         * gst/gstpluginfeature.h:
21394           Don't use c++ style comments in headers (#321638).
21395
21396 2005-11-16  Andy Wingo  <wingo@pobox.com>
21397
21398         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21399         buffer.
21400
21401         * check/net/gstnettimeprovider.c: Check to see that the time
21402         provider actually provides times. Works, yo!
21403
21404 2005-11-16  Wim Taymans  <wim@fluendo.com>
21405
21406         * check/Makefile.am:
21407         Enable more tests.
21408
21409         * check/elements/fakesrc.c: (GST_START_TEST):
21410         Set element to NULL before disposing it.
21411
21412 2005-11-16  Andy Wingo  <wingo@pobox.com>
21413
21414         * gst/net/Makefile.am:
21415         * gst/net/gstnet.h:
21416         * gst/net/gstnettimeprovider.c: 
21417         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21418         provider, include it from gstnet.h, and add it to the build.
21419
21420         * gst/net/gstnettimepacket.h: 
21421         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21422         sending and receiving.
21423
21424 2005-11-16  Wim Taymans  <wim@fluendo.com>
21425
21426         * check/Makefile.am:
21427         Enable valgrind check.
21428
21429         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21430         (gst_fake_src_alloc_buffer):
21431         Fix memleak.
21432
21433 2005-11-16  Wim Taymans  <wim@fluendo.com>
21434
21435         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21436         Call parent finalize too.
21437
21438 2005-11-16  Wim Taymans  <wim@fluendo.com>
21439
21440         * check/Makefile.am:
21441         Enable valgrind check that should work fine now.
21442
21443         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21444         * gst/gstqueue.c: (gst_queue_init):
21445         Fix memleaks in pad allocation.
21446
21447 2005-11-16  Andy Wingo  <wingo@pobox.com>
21448
21449         * gst/net/Makefile.am:
21450         * gst/net/gstnet.h: New part of core to hold network elements and
21451         objects. Put in core because it exposes API that applications want
21452         to use. The library is named libgstnet-tempname right now because
21453         of the existing libgstnet in gst-plugins-base. Solution is
21454         probably to rename the one in plugins-base; will file a bug for
21455         the freeze break.
21456
21457         * gst/net/gstnettimeprovider.c: 
21458         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21459         get_time call over the network.
21460
21461         * configure.ac: 
21462         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21463
21464         * check/Makefile.am:
21465         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21466         get additions shortly.
21467
21468 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21469
21470         * gst/gstpad.c: (gst_pad_new_from_static_template):
21471         * gst/gstpad.h:
21472           add gst_pad_new_from_static_template functions
21473         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21474         (gst_check_setup_sink_pad):
21475         * gst/elements/gsttee.c: (gst_tee_init):
21476           and use them
21477
21478 2005-11-16  Wim Taymans  <wim@fluendo.com>
21479
21480         * gst/gstpad.c: (gst_pad_pause_task):
21481         Removed warning, it's not really an error either.
21482
21483 2005-11-16  Wim Taymans  <wim@fluendo.com>
21484
21485         * gst/base/gstbasetransform.c:
21486         (gst_base_transform_prepare_output_buf),
21487         (gst_base_transform_event):
21488         Check if the caps are NULL, this can happen if the element
21489         is shutting down and the pad caps are set to NULL.
21490
21491 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21492
21493         * gst/elements/gsttee.c: (gst_tee_init):
21494           fix pad template leak in tee
21495
21496 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21497
21498         * gst/glib-compat.c: (g_value_dup_gst_object):
21499         * gst/glib-compat.h:
21500         * gst/gstpad.c: (gst_pad_set_property):
21501           use gst_object_ref when setting the pad template; this will
21502           trigger the pad template leaks on GLib 2.6 and the slaves
21503
21504 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21505
21506         * gst/glib-compat.c: (gst_flags_get_first_value):
21507         * gst/glib-compat.h:
21508         * gst/gstregistryxml.c:
21509           remove functions copied from GLib 2.6
21510
21511 2005-11-16  Michael Smith <msmith@fluendo.com>
21512
21513         * gst/Makefile.am:
21514           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21515           do, but only breaks with newer valgrind versions. We're not a
21516           valgrind tool, we have no link-time dependencies on libcoregrind.
21517
21518 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21519
21520         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21521           some debug changes
21522         * gst/gstmessage.h:
21523           typo fixes
21524
21525 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21526
21527         * gst/base/gstbasesrc.c: (gst_base_src_init):
21528         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21529         * gst/gstqueue.c: (gst_queue_init):
21530         * gst/gstregistryxml.c: (load_feature):
21531           Revert all these unrefs, they don't even pass make check !
21532
21533 2005-11-15  Johan Dahlin  <johan@gnome.org>
21534
21535         * gst/base/gstbasesrc.c: (gst_base_src_init):
21536         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21537         * gst/gstqueue.c: (gst_queue_init): 
21538         Free pad templates, fixes a couple of leaks.
21539
21540 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21541
21542         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21543
21544         * gst/gstpad.c: (gst_pad_get_property):
21545           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21546           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21547           (#321452)
21548
21549 2005-11-15  Wim Taymans  <wim@fluendo.com>
21550
21551         * gst/gstevent.c:
21552         Small doc update.
21553
21554 2005-11-15  Andy Wingo  <wingo@pobox.com>
21555
21556         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21557
21558         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21559         using GST_CLOCK_TIME_NONE to disable base time management.
21560         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21561         time if it was NONE before.
21562         (gst_pipeline_change_state): Only munge the base time if
21563         stream_time != GST_CLOCK_TIME_NONE.
21564
21565         * check/gst/gstpipeline.c (test_base_time): Punt around the
21566         problem of the probe not being called, because that's not the
21567         issue I'm looking at. Add a check that setting stream_time to NONE
21568         disables base time management.
21569         
21570 2005-11-15  Wim Taymans  <wim@fluendo.com>
21571
21572         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21573         segment_stop == -1 at startup.
21574
21575         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21576         (gst_base_transform_change_state):
21577         Init segment values at start.
21578
21579 2005-11-15  Wim Taymans  <wim@fluendo.com>
21580
21581         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21582         0 segment values are 0 in any format.
21583
21584         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21585         * gst/base/gstbasetransform.h:
21586         Parse newsegment correctly in basetransform
21587
21588         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21589         Sync to clock using updated segment values.
21590
21591 2005-11-15  Andy Wingo  <wingo@pobox.com>
21592
21593         * check/gst/gstpipeline.c (test_base_time): Add check that the
21594         base time and stream time are reset correctly.
21595
21596 2005-11-15  Wim Taymans  <wim@fluendo.com>
21597
21598         * docs/design/part-TODO.txt:
21599         Some more TODO items.
21600
21601 2005-11-15  Andy Wingo  <wingo@pobox.com>
21602
21603         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21604         error if the user selected "no clock" as the clocking method.
21605
21606         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21607         timestamps with live capture.
21608
21609         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21610         is 0 but we are a live source, timestamp the buffers using the
21611         element's clock.
21612
21613 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21614
21615         * docs/gst/gstreamer-sections.txt:
21616         * gst/gsterror.c:
21617         * gst/gstghostpad.c:
21618         * gst/gstobject.h:
21619         * gst/gstxml.c:
21620           more section docs
21621
21622 2005-11-14  Wim Taymans  <wim@fluendo.com>
21623
21624         * common/gst.supp:
21625           add suppressions from Wim's Debian machine
21626
21627 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21628
21629         * common/gst.supp:
21630           add suppressions from Andy's AMD64 Ubuntu machine
21631
21632 2005-11-14  Andy Wingo  <wingo@pobox.com>
21633
21634         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21635         STATE_LOCK not necessary. Fixes #311489.
21636
21637         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21638         #305291.
21639
21640         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21641         this function is not implemented.
21642
21643 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21644
21645         * gst/base/gstbasetransform.c:
21646         (gst_base_transform_prepare_output_buf):
21647         Ref the source pad caps while we need them.
21648         Fixes (#321386)
21649
21650 2005-11-11  Wim Taymans  <wim@fluendo.com>
21651
21652         * docs/gst/gstreamer-sections.txt:
21653         Added some docs for GstCollectData.
21654
21655         * gst/base/gstadapter.c:
21656         Some small code example fix.
21657
21658         * gst/base/gstcollectpads.c:
21659         * gst/base/gstcollectpads.h:
21660         Document some more.
21661
21662 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21663
21664         * configure.ac: back to HEAD
21665
21666 === release 0.9.5 ===
21667
21668 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21669
21670         * configure.ac:
21671           releasing 0.9.5, "Bike Lunch Day"
21672
21673 2005-11-11  Wim Taymans  <wim@fluendo.com>
21674
21675         * gst/gstbuffer.c: (_gst_buffer_copy):
21676         Copy more flags.
21677
21678         * gst/gstcaps.c: (gst_caps_is_equal):
21679         Fix some docs.
21680         Make _is_equal fast in the trivial cases.
21681
21682         * gst/gstminiobject.c:
21683         * gst/gstminiobject.h:
21684         More docs. Spifify .h file.
21685
21686         * gst/gstutils.c:
21687         Small doc update.
21688
21689 2005-11-11  Wim Taymans  <wim@fluendo.com>
21690
21691         * gst/base/gstbasetransform.c:
21692         (gst_base_transform_prepare_output_buf),
21693         (gst_base_transform_handle_buffer):
21694         Small cleanups.
21695         If we're processing a buffer and need to allocate an output
21696         buffer, we cannot accept a format change. If we did get a 
21697         format change, we have to alloc a buffer ourselves of the 
21698         right size.
21699
21700 2005-11-11  Wim Taymans  <wim@fluendo.com>
21701
21702         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21703         While checking the flag for reentrancy in the gstcaps function
21704         is nice to detect recursive invocations, it also makes it 
21705         impossible to call getcaps from multiple threads, which must be
21706         possible. So, checking for recursive calls has to go.
21707
21708 2005-11-11  Michael Smith <msmith@fluendo.com>
21709
21710         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21711           Don't sync on buffers that fall partially outside our current
21712           segment. Prevents an assertion failure/abort playing some files.
21713
21714 2005-11-10  Andy Wingo  <wingo@pobox.com>
21715
21716         * check/gst/gstbin.c (test_message_state_changed_children): Style
21717         fix..
21718
21719         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21720         gst_bus_poll with the signal watch. Ensures that poll and a signal
21721         watch see the same messages.
21722
21723         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21724         a poll and a watch at the same time get the same messages.
21725
21726 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21727
21728         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21729         * gst/gstcaps.c: (gst_caps_intersect):
21730           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21731           and it's not needed.
21732
21733 2005-11-10  Wim Taymans  <wim@fluendo.com>
21734
21735         * docs/design/part-TODO.txt:
21736         Updated todo.
21737
21738 2005-11-10  Wim Taymans  <wim@fluendo.com>
21739
21740         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21741         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21742         (gst_base_src_do_sync), (gst_base_src_get_range):
21743         Implement clock sync in base class.
21744
21745 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21746
21747         patch by: Tim-Philipp Müller <tim at centricular dot net>
21748
21749         * gst/gststructure.c: (gst_structure_parse_field),
21750         (gst_structure_from_string):
21751           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21752           so that gst_parse_launch() can deal with spaces in filtered link
21753           caps (fixes #164479)
21754         * check/gst/capslist.h:
21755         * check/gst/gststructure.c: (GST_START_TEST):
21756           add unit tests for this change
21757
21758 2005-11-10  Wim Taymans  <wim@fluendo.com>
21759
21760         * docs/gst/gstreamer-sections.txt:
21761         * gst/gstelement.c:
21762         * gst/gstelement.h:
21763         Fix docs, move some STATE macros to private.
21764
21765 2005-11-10  Wim Taymans  <wim@fluendo.com>
21766
21767         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21768         Added check for bug #317341
21769
21770         * gst/gstbuffer.c:
21771         * gst/gstbuffer.h:
21772         Some more spiffifying.
21773
21774         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21775         Call peer linkfunction if we are a source pad. Totally fixes
21776         #317341
21777
21778         * gst/gstpad.c:
21779         Update docs, source pads should call the peer linkfunction
21780         so they can atomically perform the pad link.
21781
21782 2005-11-09  Wim Taymans  <wim@fluendo.com>
21783
21784         * gst/gstbuffer.c:
21785         * gst/gstbuffer.h:
21786         Uber-spiffy-spiffify some more.
21787
21788 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21789
21790         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21791         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21792         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21793         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21794         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21795         * gst/gstpad.c: (gst_pad_init):
21796           Use GST_DEBUG_FUNCPTR() more extensively.
21797
21798 2005-11-09  Wim Taymans  <wim@fluendo.com>
21799
21800         * gst/gstobject.c: (gst_object_class_init):
21801         * gst/gstobject.h:
21802         Documentation fixes.
21803
21804 2005-11-09  Edward Hervey  <edward@fluendo.com>
21805
21806         * gst/gsttypefindfactory.c:
21807         Fix docs.
21808         
21809 2005-11-09  Edward Hervey  <edward@fluendo.com>
21810
21811         * gst/base/gsttypefindhelper.c:
21812         * gst/gsttypefind.c:
21813         * gst/gsttypefind.h:
21814         Fix docs.
21815
21816 2005-11-09  Wim Taymans  <wim@fluendo.com>
21817
21818         * gst/gstiterator.c:
21819         Fix revision data.
21820
21821         * gst/gsttask.c:
21822         * gst/gsttask.h:
21823         Fix docs.
21824
21825 2005-11-09  Wim Taymans  <wim@fluendo.com>
21826
21827         * gst/gstevent.h:
21828         * gst/gsturi.h:
21829         Fix docs.
21830
21831 2005-11-09  Wim Taymans  <wim@fluendo.com>
21832
21833         * docs/gst/gstreamer-sections.txt:
21834         Moved the message async delivery private lock and cond
21835         to the private section.
21836
21837         * gst/gstmessage.c:
21838         * gst/gstmessage.h:
21839         Fixed docs.
21840
21841 2005-11-09  Edward Hervey  <edward@fluendo.com>
21842
21843         * docs/gst/gstreamer-sections.txt:
21844         * gst/gsturi.c:
21845         * gst/gsturi.h:
21846         Document GstURIHandler
21847
21848 2005-11-09  Wim Taymans  <wim@fluendo.com>
21849
21850         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21851         (gst_iterator_find_custom):
21852         * gst/gstiterator.h:
21853         Fix iterator docs.
21854
21855 2005-11-09  Wim Taymans  <wim@fluendo.com>
21856
21857         * gst/gstbin.h:
21858         Document another field.
21859
21860         * gst/gststructure.c:
21861         * gst/gststructure.h:
21862         Document.
21863
21864 2005-11-09  Wim Taymans  <wim@fluendo.com>
21865
21866         * gst/gstbin.h:
21867         Documented structs.
21868
21869 2005-11-09  Wim Taymans  <wim@fluendo.com>
21870
21871         * docs/gst/gstreamer-sections.txt:
21872         Added some new macros.
21873
21874         * gst/gstclock.c:
21875         * gst/gstclock.h:
21876         * gst/gstobject.h:
21877         Docs updates.
21878
21879 2005-11-09  Wim Taymans  <wim@fluendo.com>
21880
21881         * docs/design/part-TODO.txt:
21882         Some more items for the TODO
21883
21884         * gst/gstcaps.c:
21885         * gst/gstcaps.h:
21886         Document GstCaps.
21887
21888 2005-11-09  Andy Wingo  <wingo@pobox.com>
21889
21890         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21891         to work on something else now tho...
21892
21893         * gst/base/gstadapter.c: More adapter docs.
21894
21895         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21896         (gst_file_sink_stop): New functions, replace the state change
21897         handler.
21898         (gst_file_sink_class_init): Hook up the start and stop functions.
21899         (gst_file_sink_base_init): Don't set the state change handler any
21900         more. It was a bit ugly too, being set from here...
21901         (gst_file_sink_get_property, gst_file_sink_set_property):
21902         Cleanups...
21903         (gst_file_sink_set_location): More robust check that doesn't call
21904         GST_STATE. Ugggggg.
21905
21906 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21907
21908         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21909           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21910
21911 2005-11-08  Wim Taymans  <wim@fluendo.com>
21912
21913         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21914         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21915         (gst_base_sink_chain), (gst_base_sink_change_state):
21916         * gst/base/gstbasesink.h:
21917         * gst/base/gstbasesrc.h:
21918         * gst/gstelement.h:
21919         * gst/gstevent.h:
21920         Avoid excessive typechecking in macros.
21921
21922         * gst/gstminiobject.c: (gst_mini_object_get_type),
21923         (gst_mini_object_init), (gst_mini_object_new),
21924         (gst_mini_object_free):
21925         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21926         (gst_object_finalize):
21927         Remove cruft code, optimize alloc_trace.
21928
21929 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21930
21931         * docs/faq/gst-uninstalled:
21932           fix up PS1 for systems that try to reset it
21933
21934 2005-11-07  Wim Taymans  <wim@fluendo.com>
21935
21936         * gst/base/gstbasesrc.c: (gst_base_src_init),
21937         (gst_base_src_get_range):
21938         Set the segment_end to -1 initially. Fixed typefind.
21939
21940 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21941
21942         * gst/base/gstadapter.c:
21943           Debug category should be 'adapter', not 'GstAdapter'.
21944           
21945         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21946         (gst_collectpads_class_init), (gst_collectpads_init),
21947         (gst_collectpads_peek), (gst_collectpads_pop),
21948         (gst_collectpads_event), (gst_collectpads_chain):
21949           Add debug category and some debugging output. Use boilerplate
21950           macros. Remove some extraneous words from docs.
21951
21952 2005-11-05  Andy Wingo  <wingo@pobox.com>
21953
21954         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21955         macro.
21956
21957 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21958
21959         * docs/gst/gstreamer-sections.txt:
21960         * gst/gstcaps.h:
21961         * gst/gstinfo.c:
21962         * gst/gstminiobject.h:
21963         * gst/gstobject.h:
21964         * gst/gstutils.h:
21965           more docs added
21966
21967 2005-11-04  Wim Taymans  <wim@fluendo.com>
21968
21969         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21970         Small update to stop at the configured segment_end
21971         position.
21972
21973 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21974
21975         * gst/gstregistry.c:
21976         * gst/gstregistry.h:
21977           added missing docs
21978
21979 2005-11-04  Edward Hervey  <edward@fluendo.com>
21980
21981         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21982         Check if we are doing a segment seek and have arrived at the
21983         end of that segment.
21984
21985 2005-11-04  Wim Taymans  <wim@fluendo.com>
21986
21987         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21988         Don't leak a mutex unlock in case of an error.
21989
21990         * gst/gstbus.h:
21991         Doc fixes.
21992
21993 2005-11-04  Wim Taymans  <wim@fluendo.com>
21994
21995         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21996         (gst_bus_post):
21997         Get the context to wake up only once.
21998
21999 2005-11-03  Wim Taymans  <wim@fluendo.com>
22000
22001         * check/states/sinks.c: (GST_START_TEST):
22002         Uncomment fixed check.
22003
22004         * docs/design/part-TODO.txt:
22005         Updated TODO.
22006
22007         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22008         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22009         (gst_base_sink_get_position):
22010         If we are going to PLAYING, post the right pending state
22011         when we post the intermediate paused message.
22012
22013         * gst/gstelement.c: (gst_element_continue_state),
22014         (gst_element_set_state_func), (gst_element_change_state):
22015         Don't post state changes that were between the same state
22016         and were not ASYNC.
22017
22018 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
22019
22020         * docs/gst/gstreamer-sections.txt:
22021         * gst/gstcaps.h:
22022         * gst/gstinfo.c:
22023         * gst/gstminiobject.h:
22024         * gst/gstobject.h:
22025         * gst/gstutils.h:
22026           more docs and doc style fixes
22027
22028 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
22029
22030         * docs/gst/gstreamer-sections.txt:
22031         * gst/gstelement.c:
22032         * gst/gstminiobject.c:
22033         doc fixes
22034
22035 2005-11-03  Andy Wingo  <wingo@pobox.com>
22036
22037         * check/states/sinks.c (test_livesrc_sink): Add checks that the
22038         state-changed messages actually have the right order and the right
22039         values.
22040
22041 2005-11-03  Wim Taymans  <wim@fluendo.com>
22042
22043         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22044         Added some more checks. Specifically the case where NO_PREROLL
22045         elements are in the pipeline.
22046
22047         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22048         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
22049         (gst_base_sink_get_position):
22050         Post READY->PAUSED state change messages too.
22051         Fix bug where VOID was posted as pending state...
22052
22053         * gst/gstbin.c: (gst_bin_recalc_state):
22054         use _element_continue_state() to continue the state change.
22055
22056         * gst/gstelement.c: (gst_element_continue_state),
22057         (gst_element_commit_state), (gst_element_set_state_func),
22058         (gst_element_change_state), (gst_element_change_state_func):
22059         Lots of state change cleanups, assign the STATE_RETURN in
22060         a new continue_state() function that also propagates the
22061         last return value from a state change to the app.
22062         Update some debug statements with proper category.
22063
22064 2005-11-03  Wim Taymans  <wim@fluendo.com>
22065
22066         * docs/design/part-events.txt:
22067         * docs/design/part-gstpipeline.txt:
22068         * docs/design/part-messages.txt:
22069         * docs/design/part-overview.txt:
22070         * docs/design/part-seeking.txt:
22071         * docs/design/part-states.txt:
22072         * docs/design/part-trickmodes.txt:
22073         * docs/manual/advanced-position.xml:
22074         Small docs updates.
22075
22076         * gst/gstobject.h:
22077         People think !! is ugly, this looks better.
22078
22079         * gst/gstpad.c: (gst_pad_set_blocked_async):
22080         Remove !! since it's fixed elsewhere now.
22081
22082 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22083
22084         * gst/gstminiobject.h:
22085         * gst/gstobject.h:
22086           Add !! to _FLAG_IS_SET macros to make the result boolean.
22087
22088 2005-11-03  Edward Hervey  <edward@fluendo.com>
22089
22090         * gst/gstpad.c: (gst_pad_set_blocked_async):
22091         comparing a flag and a gboolean rarely returns coherent results...
22092         Added two characters (!!) to make that work correctly.
22093         
22094 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22095
22096         * gst/gstbus.c: (gst_bus_class_init):
22097           Fix some typos.
22098           
22099         * gst/gstqueue.c: (gst_queue_loop):
22100           Don't assume a miniobject that isn't a buffer is an
22101           event (it could be that there is a refcounting
22102           problem somewhere and the pointer is stale and
22103           refers to an already destroyed miniobject).
22104
22105 2005-11-03  Julien MOUTTE  <julien@moutte.net>
22106
22107         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
22108
22109 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
22110
22111         * docs/manual/advanced-position.xml:
22112           Update seek example and explanations to current 0.9 API.
22113
22114         * gst/elements/gsttypefindelement.c:
22115         (gst_type_find_element_activate):
22116           Remove FIXME comment now that the found caps
22117           are unreffed.
22118
22119 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22120
22121         * gst/gstregistryxml.c: (load_feature):
22122           Add another GST_STR_NULL instance
22123
22124 2005-11-02  Edward Hervey  <edward@fluendo.com>
22125
22126         * gst/gstpad.c: (handle_pad_block):
22127         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
22128         
22129 2005-11-02  Wim Taymans  <wim@fluendo.com>
22130
22131         * gst/gstbin.c:
22132         Fix typo in docs.
22133
22134         * gst/gstelement.c: (gst_element_commit_state):
22135         Remove unused value.
22136
22137         * gst/gstiterator.c:
22138         Mention that the returned element is reffed in the docs.
22139
22140 2005-11-02  Wim Taymans  <wim@fluendo.com>
22141
22142         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
22143         (gst_pad_push), (gst_pad_push_event):
22144         Unlock blocked pads when they are flushed.
22145
22146 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22147
22148         * docs/README:
22149         * docs/gst/gstreamer-sections.txt:
22150         * gst/gstbin.c:
22151           doc updates
22152         * gst/gstregistry.c: (gst_registry_scan_path_level):
22153           fix for a nasty little missed situation where an installed plug-in
22154           which was in the cache did not get overridden by an uninstalled one
22155           which was earlier in the plugin path because the newly created plugin
22156           for the uninstalled one (not in the registry) didn't get its
22157           ->registered set to TRUE
22158
22159 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22160
22161         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
22162         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
22163         (gst_collectpads_is_active), (gst_collectpads_collect),
22164         (gst_collectpads_collect_range), (gst_collectpads_start),
22165         (gst_collectpads_stop), (gst_collectpads_peek),
22166         (gst_collectpads_pop), (gst_collectpads_available),
22167         (gst_collectpads_read), (gst_collectpads_flush):
22168           Guard public API with assertions.
22169         
22170         * gst/gstpad.c:
22171           Fix docs for gst_pad_set_link_function().
22172
22173 2005-11-02  Johan Dahlin  <johan@gnome.org>
22174
22175         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
22176         Unref found_caps after we used it.
22177
22178 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
22179
22180         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
22181           Don't try to ref NULL.
22182
22183 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22184
22185         * win32/common/config.h.in:
22186           provide a GST_FUNCTION that just gives a string for now
22187
22188 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22189
22190         * win32/common/gstenumtypes.c: (register_gst_object_flags),
22191         (gst_object_flags_get_type), (register_gst_bin_flags),
22192         (gst_bin_flags_get_type), (register_gst_buffer_flag),
22193         (gst_buffer_flag_get_type), (register_gst_bus_flags),
22194         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
22195         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
22196         (gst_clock_return_get_type), (register_gst_clock_entry_type),
22197         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
22198         (gst_clock_flags_get_type), (register_gst_state),
22199         (gst_state_get_type), (register_gst_state_change_return),
22200         (gst_state_change_return_get_type), (register_gst_state_change),
22201         (gst_state_change_get_type), (register_gst_element_flags),
22202         (gst_element_flags_get_type), (register_gst_core_error),
22203         (gst_core_error_get_type), (register_gst_library_error),
22204         (gst_library_error_get_type), (register_gst_resource_error),
22205         (gst_resource_error_get_type), (register_gst_stream_error),
22206         (gst_stream_error_get_type), (register_gst_event_type),
22207         (gst_event_type_get_type), (register_gst_seek_type),
22208         (gst_seek_type_get_type), (register_gst_seek_flags),
22209         (gst_seek_flags_get_type), (register_gst_format),
22210         (gst_format_get_type), (register_gst_index_certainty),
22211         (gst_index_certainty_get_type), (register_gst_index_entry_type),
22212         (gst_index_entry_type_get_type),
22213         (register_gst_index_lookup_method),
22214         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
22215         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
22216         (gst_index_resolver_method_get_type), (register_gst_index_flags),
22217         (gst_index_flags_get_type), (register_gst_debug_level),
22218         (gst_debug_level_get_type), (register_gst_debug_color_flags),
22219         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
22220         (gst_iterator_result_get_type), (register_gst_iterator_item),
22221         (gst_iterator_item_get_type), (register_gst_message_type),
22222         (gst_message_type_get_type), (register_gst_mini_object_flags),
22223         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
22224         (gst_pad_link_return_get_type), (register_gst_flow_return),
22225         (gst_flow_return_get_type), (register_gst_activate_mode),
22226         (gst_activate_mode_get_type), (register_gst_pad_direction),
22227         (gst_pad_direction_get_type), (register_gst_pad_flags),
22228         (gst_pad_flags_get_type), (register_gst_pad_presence),
22229         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
22230         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
22231         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
22232         (gst_plugin_error_get_type), (register_gst_plugin_flags),
22233         (gst_plugin_flags_get_type), (register_gst_rank),
22234         (gst_rank_get_type), (register_gst_query_type),
22235         (gst_query_type_get_type), (register_gst_tag_merge_mode),
22236         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
22237         (gst_tag_flag_get_type), (register_gst_task_state),
22238         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
22239         (gst_alloc_trace_flags_get_type),
22240         (register_gst_type_find_probability),
22241         (gst_type_find_probability_get_type), (register_gst_uri_type),
22242         (gst_uri_type_get_type), (register_gst_parse_error),
22243         (gst_parse_error_get_type):
22244         * win32/common/gstversion.h:
22245           update win32 copies
22246
22247 2005-11-01  Luca Ognibene  <luogni@tin.it>
22248
22249         * gst/gst.c:
22250           fix docs. popt is dead, long live GOption.
22251
22252 2005-10-31  Wim Taymans  <wim@fluendo.com>
22253
22254         * gst/gstbuffer.h:
22255         Small doc fix.
22256
22257 2005-10-31  Andy Wingo  <wingo@pobox.com>
22258
22259         * Boo!
22260
22261         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22262
22263         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22264         need to serialize property notifications on GLib 2.8. GLib 2.6 has
22265         the possibility of deadlocks here if code calling notify() or
22266         set() has a lock that can be taken in another notify handler (ABBA
22267         with class lock and e.g. python GIL state lock).
22268
22269 2005-10-28  Julien MOUTTE  <julien@moutte.net>
22270
22271         * gst/gstbus.c: Doc updates.
22272
22273 2005-10-28  Wim Taymans  <wim@fluendo.com>
22274
22275         * docs/design/part-TODO.txt:
22276         * gst/gstiterator.c:
22277         * gst/gstsystemclock.c:
22278         * gst/gstsystemclock.h:
22279         Doc updates.
22280
22281 2005-10-28  Edward Hervey  <edward@fluendo.com>
22282
22283         * docs/gst/gstreamer-docs.sgml:
22284         * docs/gst/gstreamer-sections.txt:
22285         the GstURIType documentation page is private, it only defines GstURIType
22286         which should be defined in the GstURIHandler page
22287         
22288 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
22289
22290         * gst/gstbin.c: (gst_bin_class_init):
22291         * gst/gstbin.h:
22292         * gst/gstutils.c:
22293         Documentation updates.
22294
22295 2005-10-28  Wim Taymans  <wim@fluendo.com>
22296
22297         * docs/gst/gstreamer-sections.txt:
22298         * gst/gstclock.c:
22299         * gst/gstclock.h:
22300         Documented the clocks.
22301
22302 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
22303
22304         * docs/gst/gstreamer-sections.txt:
22305           move some macros to private sections
22306         * gst/gstminiobject.c:
22307         * gst/gstminiobject.h:
22308           add descriptions provided by ds and some more
22309         * gst/gstpad.h:
22310           mark macro as to be removed
22311
22312 2005-10-28  Wim Taymans  <wim@fluendo.com>
22313
22314         * docs/design/part-TODO.txt:
22315         Add an item to TODO.
22316
22317         * gst/gstiterator.c: (gst_iterator_fold),
22318         (gst_iterator_find_custom):
22319         * gst/gstiterator.h:
22320         Add iterator docs.
22321
22322 2005-10-28  Wim Taymans  <wim@fluendo.com>
22323
22324         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22325         (gst_base_transform_init):
22326         Don't leak class.
22327
22328         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22329         An EOS event marks the queue as completely filled.
22330
22331 2005-10-27  Wim Taymans  <wim@fluendo.com>
22332
22333         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22334         (gst_base_sink_do_sync), (gst_base_sink_get_position):
22335         Some more debugging.
22336
22337         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22338         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22339         (gst_base_transform_event), (gst_base_transform_getrange),
22340         (gst_base_transform_chain):
22341         * gst/base/gstbasetransform.h:
22342         Fix debugging,
22343         Protect transform and concurrent buffer alloc with a new lock.
22344         Try not to break ABI/API.
22345
22346 2005-10-27  Wim Taymans  <wim@fluendo.com>
22347
22348         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22349         (gst_base_src_init), (gst_base_src_query),
22350         (gst_base_src_default_newsegment),
22351         (gst_base_src_configure_segment), (gst_base_src_do_seek),
22352         (gst_base_src_send_event), (gst_base_src_event_handler),
22353         (gst_base_src_pad_get_range), (gst_base_src_loop),
22354         (gst_base_src_unlock), (gst_base_src_default_negotiate),
22355         (gst_base_src_start), (gst_base_src_deactivate),
22356         (gst_base_src_activate_push), (gst_base_src_change_state):
22357         Move some stuff around and cleanup things.
22358
22359 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22360
22361         * gst/base/gstbasesrc.c: (gst_base_src_query):
22362           Add missing break statements.
22363
22364 2005-10-27  Wim Taymans  <wim@fluendo.com>
22365
22366         * check/gst/gstbin.c: (GST_START_TEST):
22367         An extra refcount is taken in basesrc.
22368
22369         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22370         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22371         (gst_base_src_loop):
22372         Small cleanups, check for flushing after being unlocked from the 
22373         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22374         Don't send out EOS when going to READY.
22375
22376 2005-10-27  Wim Taymans  <wim@fluendo.com>
22377
22378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22379         (gst_base_sink_get_position):
22380         Some more debug.
22381
22382         * gst/gstbin.c: (message_check), (bin_replace_message),
22383         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22384         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22385         (bin_query_duration_init), (bin_query_duration_fold),
22386         (bin_query_duration_done), (bin_query_generic_fold),
22387         (gst_bin_query):
22388         * tools/gst-launch.c: (main):
22389         Remove old option.
22390
22391 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22392
22393         * examples/controller/audio-example.c: (main):
22394         * examples/queue/queue.c: (event_loop):
22395         * gst/base/gstbasetransform.h:
22396         * gst/gstelement.c: (gst_element_send_event):
22397         * gst/gstevent.h:
22398         * gst/gstpad.c: (gst_pad_send_event):
22399           fixing examples
22400           fixing docs typos
22401           changing log priority in error situations
22402
22403 2005-10-25  Wim Taymans  <wim@fluendo.com>
22404
22405         * gst/gstbin.c: (message_check), (bin_replace_message),
22406         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22407         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22408         (bin_query_duration_init), (bin_query_duration_fold),
22409         (bin_query_duration_done), (bin_query_generic_fold),
22410         (gst_bin_query):
22411         Some doc and debug updates.
22412         Cache previously requested query DURATION for speed. invalidate
22413         cached duration if element posts a DURATION message.
22414
22415 2005-10-25  Wim Taymans  <wim@fluendo.com>
22416
22417         * docs/design/part-TODO.txt:
22418         Update TODO.
22419
22420         * gst/gstbin.c: (message_check), (bin_replace_message),
22421         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22422         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22423         (bin_query_duration_init), (bin_query_duration_fold),
22424         (bin_query_duration_done), (bin_query_generic_fold),
22425         (gst_bin_query):
22426         Handle SEGMENT_START/DONE messages correctly.
22427         More evolved query algorithm that handles duration queries
22428         correctly.
22429
22430         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22431         (gst_element_get_state_func), (gst_element_abort_state),
22432         (gst_element_commit_state), (gst_element_lost_state):
22433         Some more debugging.
22434
22435         * gst/gstmessage.h:
22436         Added doc.
22437
22438 2005-10-25  Wim Taymans  <wim@fluendo.com>
22439
22440         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22441         Don't use invalid stream_time.
22442
22443         * gst/gstevent.c: (gst_event_new_newsegment):
22444         stream_time in newsegment cannot be undefined.
22445
22446 2005-10-24  Wim Taymans  <wim@fluendo.com>
22447
22448         * gst/gstbus.c:
22449         Doc fix.
22450
22451         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22452         (gst_queue_loop):
22453         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22454
22455 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22456
22457         * docs/libs/tmpl/gstdparam.sgml:
22458         * docs/libs/tmpl/gstdplinint.sgml:
22459         * docs/libs/tmpl/gstdpman.sgml:
22460         * docs/libs/tmpl/gstdpsmooth.sgml:
22461         * docs/libs/tmpl/gstunitconvert.sgml:
22462           these are obsolete
22463
22464 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22465
22466         * configure.ac:
22467           back to HEAD
22468
22469 === release 0.9.4 ===
22470
22471 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22472
22473         * configure.ac:
22474           releasing 0.9.4, "Tyrannosaurus Rex"
22475
22476 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22477
22478         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22479         (gst_file_sink_get_current_offset):
22480           Use fseeko() and ftello() if available. When falling back on
22481           lseek() to get the current offset, fflush() first to make sure
22482           everything is up-to-date and we get the right offset.
22483
22484 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22485
22486         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22487         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22488         * gst/gsterror.c: (_gst_stream_errors_init):
22489         * gst/gsterror.h:
22490         * gst/gstqueue.c: (gst_queue_loop):
22491         * po/POTFILES.in:
22492           remove prematurely added error category and clean up the instances
22493
22494 2005-10-21  Wim Taymans  <wim@fluendo.com>
22495
22496         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22497         (gst_base_sink_get_position), (gst_base_sink_query),
22498         (gst_base_sink_change_state):
22499         Simply set the right flag when going to playing, that's all
22500         we need to do instead of calling a function inside the object
22501         lock (that could take the lock as well and deadlock)
22502
22503 2005-10-21  Wim Taymans  <wim@fluendo.com>
22504
22505         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22506         (gst_base_src_loop):
22507         Don't warn, the peer element knows what to do best when
22508         the seek failed, it might try something else.
22509
22510 2005-10-21  Wim Taymans  <wim@fluendo.com>
22511
22512         * gst/base/gstbasesrc.c: (gst_base_src_init),
22513         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22514         Fix seeking.
22515
22516 2005-10-21  Wim Taymans  <wim@fluendo.com>
22517
22518         * docs/design/part-segments.txt:
22519         More docs.
22520
22521         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22522         Correctly set caps, even on the subbufer.
22523
22524 2005-10-21  Wim Taymans  <wim@fluendo.com>
22525
22526         * docs/gst/gstreamer-docs.sgml:
22527         * docs/gst/gstreamer-sections.txt:
22528         * gst/gstelement.h:
22529         * gst/gstevent.c:
22530         * gst/gstevent.h:
22531         * gst/gstmessage.h:
22532         * gst/gstpad.h:
22533         * gst/gstparse.h:
22534         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22535         * gst/gsttask.h:
22536         * gst/gstutils.c:
22537         * gst/gstutils.h:
22538         And 2% more doc coverage.
22539
22540 2005-10-21  Andy Wingo  <wingo@pobox.com>
22541
22542         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22543         position reporting.
22544
22545 2005-10-20  Wim Taymans  <wim@fluendo.com>
22546
22547         * gst/gsterror.c: (gst_error_get_message):
22548         * gst/gstparse.h:
22549         * gst/gstquery.h:
22550         * gst/gststructure.c:
22551         * gst/gsttrace.c:
22552         * gst/gstutils.c:
22553         More docs.
22554
22555 2005-10-20  Wim Taymans  <wim@fluendo.com>
22556
22557         * gst/gstbuffer.h:
22558         * gst/gstpad.c:
22559         * gst/gstparse.c:
22560         Another 1% more coverage.
22561
22562 2005-10-20  Wim Taymans  <wim@fluendo.com>
22563
22564         * docs/gst/gstreamer-sections.txt:
22565         * gst/gstelement.c: (gst_element_get_state_func),
22566         (gst_element_abort_state), (gst_element_commit_state),
22567         (gst_element_lost_state):
22568         * gst/gstevent.h:
22569         * gst/gstquery.c: (gst_query_set_position),
22570         (gst_query_parse_position), (gst_query_set_duration),
22571         (gst_query_parse_duration), (gst_query_new_convert):
22572         * gst/gstutils.c:
22573         Yay! 1% more docs coverage.
22574
22575 2005-10-20  Wim Taymans  <wim@fluendo.com>
22576
22577         * gst/gstpad.h:
22578         * gst/gstquery.c: (gst_query_set_position),
22579         (gst_query_parse_position), (gst_query_set_duration),
22580         (gst_query_parse_duration), (gst_query_new_convert):
22581         * gst/gstquery.h:
22582         * gst/gstutils.c: (gst_element_query_convert):
22583         * gst/gstutils.h:
22584         Docs and consistency fixes.
22585
22586 2005-10-20  Wim Taymans  <wim@fluendo.com>
22587
22588         * gst/gsttask.c:
22589         * gst/gsttask.h:
22590         More docs.
22591
22592 2005-10-20  Wim Taymans  <wim@fluendo.com>
22593
22594         * gst/gstbin.c: (message_check), (bin_replace_message),
22595         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22596         (update_degree), (gst_bin_sort_iterator_next),
22597         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22598         Reworked the message handling a bit, cache the messages instead of
22599         only the senders. alows us to do more in the future.
22600
22601 2005-10-20  Wim Taymans  <wim@fluendo.com>
22602
22603         * docs/design/part-TODO.txt:
22604         Update TODO
22605
22606         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22607         (gst_base_sink_query):
22608         Don't use clock time to report position when in EOS.
22609
22610 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22611
22612         * tools/gst-inspect.c: (print_interfaces),
22613         (print_element_properties_info), (print_element_info):
22614           Fix interface output with gst-inspect -a; don't print
22615           newlines after double/float properties.
22616
22617 2005-10-20  Wim Taymans  <wim@fluendo.com>
22618
22619         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22620         (gst_base_sink_query):
22621         Speed up current position calculation.
22622
22623         * gst/base/gstbasesrc.c: (gst_base_src_query),
22624         (gst_base_src_default_newsegment):
22625         Correctly set stream position in newsegment.
22626
22627         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22628         (update_degree), (gst_bin_sort_iterator_next),
22629         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22630         * gst/gstmessage.c: (gst_message_new_custom):
22631         Clean up debugging info
22632
22633         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22634         (gst_queue_loop), (gst_queue_handle_src_query):
22635         Pause task faster.
22636
22637 2005-10-19  Wim Taymans  <wim@fluendo.com>
22638
22639         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22640         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22641         Fix query handling again.
22642
22643 2005-10-19  Wim Taymans  <wim@fluendo.com>
22644
22645         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22646         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22647         * gst/base/gstbasesrc.c: (gst_base_src_query):
22648         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22649         * gst/elements/gsttypefindelement.c:
22650         (gst_type_find_handle_src_query), (find_element_get_length),
22651         (gst_type_find_element_activate):
22652         API change fix.
22653
22654         * gst/gstquery.c: (gst_query_new_position),
22655         (gst_query_set_position), (gst_query_parse_position),
22656         (gst_query_new_duration), (gst_query_set_duration),
22657         (gst_query_parse_duration), (gst_query_set_segment),
22658         (gst_query_parse_segment):
22659         * gst/gstquery.h:
22660         Bundling query position/duration is not a good idea since duration
22661         does not change much and we don't want to recalculate it for every
22662         position query, so they are separated again..
22663         Base value in segment query is not needed.
22664
22665         * gst/gstqueue.c: (gst_queue_handle_src_query):
22666         * gst/gstutils.c: (gst_element_query_position),
22667         (gst_element_query_duration), (gst_pad_query_position),
22668         (gst_pad_query_duration):
22669         * gst/gstutils.h:
22670         Updates for query API change.
22671         Added some docs here and there.
22672
22673 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22674
22675         * check/gst/gstbin.c: (GST_START_TEST):
22676         * check/gst/gstghostpad.c: (GST_START_TEST):
22677         * check/pipelines/cleanup.c: (GST_START_TEST):
22678           wait on thread to die so we can check refcount correctly
22679
22680 2005-10-18  Wim Taymans  <wim@fluendo.com>
22681
22682         * check/pipelines/stress.c: (GST_START_TEST):
22683         Make check a little more time consuming.
22684
22685 2005-10-18  Wim Taymans  <wim@fluendo.com>
22686
22687         * check/Makefile.am:
22688         * check/pipelines/stress.c: (GST_START_TEST),
22689         (simple_launch_lines_suite), (main):
22690         Small state change torture test.
22691
22692         * docs/design/part-states.txt:
22693         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22694         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22695         (gst_base_sink_change_state):
22696         Never take state lock from streaming thread, clean up ugly
22697         hacks. Unfortunatly core does not yet support nice ways to
22698         async commit state.
22699         
22700         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22701         (bin_bus_handler):
22702         Start state recalc if a STATE_DIRTY message is posted, but only
22703         on the toplevel bin.
22704
22705         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22706         (gst_element_get_state_func), (gst_element_abort_state),
22707         (gst_element_commit_state), (gst_element_lost_state),
22708         (gst_element_set_state_func), (gst_element_change_state):
22709         * gst/gstelement.h:
22710         State variables are now protected with the LOCK, the state
22711         lock is only used to serialize _set_state().
22712
22713 2005-10-18  Wim Taymans  <wim@fluendo.com>
22714
22715         * check/gst/gstbin.c: (GST_START_TEST):
22716         * check/gst/gstmessage.c: (GST_START_TEST):
22717         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22718         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22719         (bin_bus_handler):
22720         * gst/gstelement.c: (gst_element_abort_state),
22721         (gst_element_commit_state), (gst_element_lost_state):
22722         * gst/gstmessage.c: (gst_message_new_state_changed),
22723         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22724         (gst_message_new_segment_done), (gst_message_new_duration),
22725         (gst_message_parse_state_changed),
22726         (gst_message_parse_segment_start),
22727         (gst_message_parse_segment_done), (gst_message_parse_duration):
22728         * gst/gstmessage.h:
22729         * tools/gst-launch.c: (event_loop):
22730         Seriously, this is better than a previous commit as we only need
22731         to notify the fact that an element changed state in a streaming
22732         thread, marking the state of the parents dirty, hence the 
22733         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22734         message.
22735
22736 2005-10-18  Wim Taymans  <wim@fluendo.com>
22737
22738         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22739         (gst_bin_recalc_func):
22740         * gst/gstelement.c: (gst_element_set_clock),
22741         (gst_element_abort_state), (gst_element_lost_state):
22742         Cleanups, prepare for state change fixes.
22743
22744 2005-10-18  Wim Taymans  <wim@fluendo.com>
22745
22746         * gst/gstbin.h:
22747         * gst/gstelement.c: (gst_element_class_init),
22748         (gst_element_set_state), (gst_element_set_state_func):
22749         * gst/gstelement.h:
22750         Pending ABI changes.
22751         GThreadPool in GstBinClass to monitor async state changes.
22752         state_cookie in GstElement to detect concurrent gst/set state.
22753         set_state is now virtual too in case a very complicated element
22754         has to be constructed.
22755
22756 2005-10-18  Wim Taymans  <wim@fluendo.com>
22757
22758         * check/gst/gstbin.c: (GST_START_TEST):
22759         * check/gst/gstmessage.c: (GST_START_TEST):
22760         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22761         * gst/gstbin.c: (bin_bus_handler):
22762         * gst/gstelement.c: (gst_element_commit_state),
22763         (gst_element_lost_state):
22764         * gst/gstmessage.c: (gst_message_new_state_changed),
22765         (gst_message_new_segment_start), (gst_message_new_segment_done),
22766         (gst_message_new_duration), (gst_message_parse_state_changed),
22767         (gst_message_parse_segment_start),
22768         (gst_message_parse_segment_done), (gst_message_parse_duration):
22769         * gst/gstmessage.h:
22770         * tools/gst-launch.c: (event_loop):
22771         Make messages future proof.
22772         state-change gets a flag if it was a message comming from the
22773         streaming thread.
22774         segment-start/stop can also be specified in other formats.
22775         A message to notify an app that a pipeline changed playback 
22776         duration.
22777         Also fix a GstMessage leak in -launch
22778
22779 2005-10-18  Andy Wingo  <wingo@pobox.com>
22780
22781         * gst/gstelement.c (gst_element_dispose): More helpful message.
22782
22783 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22784
22785         reviewed by: <delete if not using a buddy>
22786
22787         * common/gtk-doc.mak:
22788
22789 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22790
22791         * gst/gstregistry.c: (gst_registry_scan_path_level):
22792           unref a plug-in we get that was already initialized
22793
22794 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22795
22796         * docs/gst/gstreamer-sections.txt:
22797         * docs/libs/gstreamer-libs-sections.txt:
22798         * gst/gstelement.h:
22799           add new api entries
22800           hide internal macro
22801
22802 2005-10-17  Andy Wingo  <wingo@pobox.com>
22803
22804         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22805         cleanup.
22806
22807         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22808
22809         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22810
22811         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22812         (gst_element_get_state_func): Better debug message.
22813         (gst_element_commit_state): s/INFO/DEBUG/.
22814         (gst_element_lost_state, gst_element_change_state): 
22815
22816         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22817         (gst_message_new_custom): s/INFO/LOG/.
22818
22819 2005-10-17  Michael Smith <msmith@fluendo.com>
22820
22821         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22822           Check if end time is valid using end time, not start time.
22823
22824 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22825
22826         * check/gst-libs/controller.c: (GST_START_TEST),
22827         (gst_controller_suite):
22828         * libs/gst/controller/gstcontroller.c:
22829         (gst_controlled_property_set_interpolation_mode):
22830         * libs/gst/controller/gstcontroller.h:
22831         * libs/gst/controller/gstinterpolation.c:
22832         * testsuite/controller/.cvsignore:
22833         * testsuite/controller/Makefile.am:
22834         * testsuite/controller/interpolator.c:
22835           merge controller testsuites
22836           fix broken tests
22837           remove mem-chunk from docs
22838
22839 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22840
22841         * gst/gstmemchunk.c:
22842         * gst/gstmemchunk.h:
22843         * gst/gsttrashstack.c:
22844         * gst/gsttrashstack.h:
22845           out.  get out.  you're fired.  to the Attic !
22846
22847 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22848
22849         * gst/gstcaps.c: (gst_caps_intersect):
22850           fix signedness issues in a (hopefully) correct way
22851         * gst/gstelement.c: (gst_element_pads_activate):
22852           some debugging
22853         * gst/gstobject.c: (gst_object_set_parent):
22854           some debugging
22855
22856 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22857
22858         * gst/gstvalue.h: Fix prototypes.
22859
22860 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22861
22862         * docs/gst/gstreamer-sections.txt:
22863         * gst/gst.c: (gst_version_string):
22864         * gst/gst.h:
22865         * gst/gstversion.h.in:
22866         * win32/common/libgstreamer.def:
22867           add gst_version_string ()
22868
22869 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22870
22871         * configure.ac:
22872           clean up further
22873         * gst/gst.c: (init_post):
22874         * win32/common/config.h.in:
22875           it's PLUGINDIR now
22876         * gst/gstcaps.c: (gst_caps_intersect):
22877           use gint64, the range could be bigger than a guint
22878
22879 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22880
22881         * gst/gstclock.h:
22882           document potential problem in 2038
22883
22884 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22885
22886         * gst/gstcaps.c: (gst_caps_intersect):
22887           Fix guint j diving under 0
22888
22889 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22890
22891         * configure.ac:
22892         * win32/common/config.h:
22893         * win32/common/config.h.in:
22894           check for process.h, declares getpid() on Windows
22895         * gst/gstinfo.c:
22896           include process.h if we have it
22897         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22898         * gst/gstmemchunk.h:
22899           fix signedness issues
22900         * win32/common/libgstreamer.def:
22901           fix get_type's
22902
22903 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22904
22905         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22906         fix. Because of unsigned ints, caps intersection was going nuts and
22907         trying to access structures with G_MAXUINT index. That fixes
22908         videotestsrc ! ffmpegcolorspace ! fakesink
22909         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22910         consistency.
22911
22912 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22913
22914         * configure.ac:
22915           use the gettext macro
22916         * gst/elements/gstelements.c:
22917         * gst/gst.c:
22918         * gst/indexers/gstindexers.c:
22919           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22920         * win32/common/config.h:
22921           updated config.h
22922         * win32/common/config.h.in:
22923           add the template to generate config.h
22924         * win32/common/gstenumtypes.c:
22925         * win32/common/gstversion.h:
22926           updated copies
22927
22928 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22929
22930         * gst/gst.c: (gst_version):
22931         * gst/gstversion.h.in:
22932           add the nano
22933
22934 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22935
22936         * gst/gstevent.h:
22937           Oops, add missing closing bracket.
22938
22939 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22940
22941         * configure.ac:
22942           use common m4's for argument checking
22943
22944 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22945
22946         * docs/gst/gstreamer-sections.txt:
22947         * gst/gstevent.h:
22948           Add GST_EVENT_TYPE_NAME() macro.
22949
22950 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22951
22952         * gst/gstinfo.c:
22953         * gst/gstpluginfeature.c:
22954         * gst/gsttask.c:
22955           privatize more symbols
22956
22957 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22958
22959         * configure.ac:
22960           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22961           everything that uses GStreamer API should have the includes
22962
22963 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22964
22965         * docs/gst/gstreamer-sections.txt:
22966         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22967         * gst/gstvalue.h:
22968           give each value a _get_type, removes the DATA exports
22969
22970 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22971
22972         * gst/gst.c:
22973         * gst/gst.h:
22974           remove _gst_registry_auto_load, not used anymore
22975         * gst/gstbin.c: (gst_bin_get_type):
22976         * gst/gstbin.h:
22977         * gst/gstelement.c: (gst_element_get_type):
22978         * gst/gstelement.h:
22979         * gst/gstobject.c: (gst_object_get_type):
22980         * gst/gstobject.h:
22981         * gst/gstpad.c: (gst_pad_get_type):
22982         * gst/gstpad.h:
22983           make _get_type functions similar, fixes data export from library
22984
22985 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22986
22987         * configure.ac:
22988           correctly make conditionals
22989         * gst/elements/Makefile.am:
22990         * gst/elements/gstelements.c:
22991           fix typo causing fdsrc not to build
22992
22993 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22994
22995         * testsuite/Makefile.am:
22996         * testsuite/bytestream/.cvsignore:
22997         * testsuite/bytestream/Makefile.am:
22998         * testsuite/bytestream/filepadsink.c:
22999         * testsuite/bytestream/gstbstest.c:
23000         * testsuite/bytestream/test1.c:
23001         * testsuite/bytestream/testfile1:
23002         * testsuite/caps/normalisation.c:
23003         * testsuite/caps/random.c: (main):
23004         * testsuite/cleanup/.cvsignore:
23005         * testsuite/cleanup/Makefile.am:
23006         * testsuite/cleanup/cleanup1.c:
23007         * testsuite/cleanup/cleanup2.c:
23008         * testsuite/cleanup/cleanup3.c:
23009         * testsuite/cleanup/cleanup4.c:
23010         * testsuite/cleanup/cleanup5.c:
23011         * testsuite/controller/interpolator.c:
23012         * testsuite/debug/printf_extension.c: (main):
23013         * testsuite/elements/tee.c:
23014         * testsuite/negotiation/.cvsignore:
23015         * testsuite/negotiation/Makefile.am:
23016         * testsuite/negotiation/pad_link.c:
23017         * testsuite/pad/Makefile.am:
23018         * testsuite/pad/chainnopull.c:
23019         * testsuite/pad/getnopush.c:
23020         * testsuite/pad/link.c:
23021         * testsuite/refcounting/sched.c: (create_pipeline):
23022         * testsuite/registry/Makefile.am:
23023         * testsuite/registry/gst-print-formats.c:
23024         * testsuite/schedulers/.cvsignore:
23025         * testsuite/schedulers/142183-2.c:
23026         * testsuite/schedulers/142183.c:
23027         * testsuite/schedulers/143777-2.c:
23028         * testsuite/schedulers/143777.c:
23029         * testsuite/schedulers/147713.c:
23030         * testsuite/schedulers/147819.c:
23031         * testsuite/schedulers/147894-2.c:
23032         * testsuite/schedulers/147894.c:
23033         * testsuite/schedulers/Makefile.am:
23034         * testsuite/schedulers/group_link.c:
23035         * testsuite/schedulers/queue_link.c:
23036         * testsuite/schedulers/relink.c:
23037         * testsuite/schedulers/unlink.c:
23038         * testsuite/schedulers/unref.c:
23039         * testsuite/schedulers/useless_iteration.c:
23040         * testsuite/states/bin.c:
23041           clean out/remove some stuff from the testsuite directories
23042
23043 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23044
23045         * configure.ac:
23046           check for some headers
23047         * gst/elements/Makefile.am:
23048         * gst/elements/gstelements.c:
23049           don't compile fdsrc without sys/socket.h
23050         * gst/indexers/Makefile.am:
23051         * gst/indexers/gstindexers.c: (plugin_init):
23052           don't compile fileindex without mmap
23053
23054 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23055
23056         * configure.ac:
23057           reorganize
23058           clean up
23059           document more
23060           remove cruft
23061         * check/Makefile.am:
23062         * docs/gst/Makefile.am:
23063         * examples/helloworld/Makefile.am:
23064         * gst/Makefile.am:
23065         * gst/base/Makefile.am:
23066         * gst/check/Makefile.am:
23067         * gst/elements/Makefile.am:
23068         * gst/indexers/Makefile.am:
23069         * gst/parse/Makefile.am:
23070         * libs/gst/controller/Makefile.am:
23071         * libs/gst/dataprotocol/Makefile.am:
23072         * examples/helloworld/helloworld.c: (event_loop):
23073           compile fixes, though it's not being compiled currently
23074
23075 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23076
23077         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
23078           Add some simple tests for the new taglist date API.
23079
23080 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23081
23082         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
23083         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
23084           Beautify 'last-message' output: print 'none' for buffer timestamps
23085           and durations if none is set; improve alignment with next messages.
23086
23087 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
23088
23089         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
23090         * gst/gstpluginfeature.h:
23091         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
23092         * gst/gstregistry.h:
23093         * docs/gst/gstreamer-sections.txt:
23094           Add new API to check plugin feature version requirements.
23095
23096         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
23097           Some basic tests for the above.         
23098
23099 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23100
23101         * gst/gststructure.c: (gst_structure_to_string):
23102           guard against NULL printf - happens when for example
23103           a message structure with GstClock gets serialized
23104
23105 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23106
23107         * gst/base/gstcollectpads.c: (gst_collectpads_event):
23108           Fix presumable copy'n'pasto.
23109
23110 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23111
23112         * gst/elements/gstfakesrc.h:
23113         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
23114         * gst/elements/gsttypefindelement.c:
23115           fix some signedness
23116         * gst/elements/gstfilesink.c: (gst_file_sink_render):
23117           I wonder if this could actually write +2GB files before
23118
23119 2005-10-13  Andy Wingo  <wingo@pobox.com>
23120
23121         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
23122         Fix Timmeke Waymans bug.
23123         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
23124         string of the proper length to gst_caps_from_string. There's a
23125         potential for, before this fix, that this could cause someone
23126         connecting over the network to cause a segfault if the payload is
23127         not NUL-terminated.
23128
23129 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23130
23131         * docs/design/draft-push-pull.txt:
23132         * docs/design/part-overview.txt:
23133         * docs/random/TODO-pre-0.9:
23134         * docs/random/old/ChangeLog.gstreamer:
23135         * gst/base/gstpushsrc.c:
23136         * gst/gstclock.c:
23137           fixed typos
23138
23139 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23140
23141         * gst/glib-compat.c: (gst_flags_get_first_value):
23142         * gst/glib-compat.h:
23143         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
23144         (gst_value_compare_double), (gst_value_serialize_flags):
23145           GLib 2.6 g_flags_get_first_value has a bug that triggers an
23146           infinite loop
23147
23148 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23149
23150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23151         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23152           fix up debugging
23153         * tools/gst-launch.c: (event_loop):
23154           print out clock nicely
23155
23156 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
23157
23158         * docs/gst/gstreamer-sections.txt:
23159         * gst/gsttaglist.h:
23160         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
23161         (gst_tag_list_get_date_index):
23162           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
23163           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
23164
23165 2005-10-13  Julien MOUTTE  <julien@moutte.net>
23166
23167         * gst/base/gstcollectpads.c: (gst_collectpads_event),
23168         (gst_collectpads_chain):
23169         * gst/base/gstcollectpads.h: Handle newsegment and store informations
23170         in CollectData.
23171
23172 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
23173
23174         * docs/gst/gstreamer-sections.txt:
23175         * gst/gst.c:
23176         * gst/gsterror.h:
23177         * tools/gst-inspect.c: (main):
23178         * tools/gst-launch.c: (main):
23179         * tools/gst-run.c: (main):
23180         * tools/gst-xmlinspect.c: (main):
23181           fix GOption context leaks
23182           doc fixes
23183
23184 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
23185
23186         * gst/gstbus.c:
23187           use HAVE_UNISTD_H
23188         * win32/common/config.h:
23189           update config
23190         * win32/vs6/grammar.dsp:
23191         * win32/vs6/libgstelements.dsp:
23192         * win32/vs6/libgstreamer.dsp:
23193           update vs6 files
23194
23195 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23196
23197         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23198         * gst/base/gstbasesrc.c: (gst_base_src_query):
23199           fix more guint64<->gdouble conversions
23200
23201 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23202
23203         * Makefile.am:
23204           add win32-update target
23205         * win32/common/gstconfig.h:
23206         * win32/common/gstenumtypes.c:
23207         * win32/common/gstenumtypes.h:
23208         * win32/common/gstversion.h:
23209           add files that visual studio can't generate
23210
23211 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
23212
23213         * Makefile.am:
23214           add a win32-update target
23215         * configure.ac:
23216
23217 2005-10-12  Wim Taymans  <wim@fluendo.com>
23218
23219         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23220         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
23221         * gst/gstelement.c: (gst_element_commit_state),
23222         (gst_element_set_state):
23223         Protect flags with proper lock.
23224         unref provided cached clock in dispose.
23225
23226 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23227
23228         * gst/gst.c:
23229         * gst/gstminiobject.h:
23230         * gst/gstpad.h:
23231         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
23232           removed unused flags from miniobject
23233           doc fixes
23234
23235 2005-10-12  Wim Taymans  <wim@fluendo.com>
23236
23237         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
23238         (gst_file_sink_event), (gst_file_sink_render):
23239         Flush before seeking.
23240
23241 2005-10-12  Andy Wingo  <wingo@pobox.com>
23242
23243         * gst/gst.c (gst_init_check): Ignore unknown options, as has
23244         always been the case.
23245
23246 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
23247
23248         * check/gst/gstbin.c: (GST_START_TEST):
23249         * docs/gst/gstreamer-sections.txt:
23250         * gst/base/gstbasesink.c: (gst_base_sink_init):
23251         * gst/base/gstbasesrc.c: (gst_base_src_init),
23252         (gst_base_src_get_range), (gst_base_src_check_get_range),
23253         (gst_base_src_start), (gst_base_src_stop):
23254         * gst/base/gstbasesrc.h:
23255         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23256         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23257         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23258         (bin_bus_handler):
23259         * gst/gstbin.h:
23260         * gst/gstbuffer.h:
23261         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23262         * gst/gstbus.h:
23263         * gst/gstelement.c: (gst_element_is_locked_state),
23264         (gst_element_set_locked_state), (gst_element_commit_state),
23265         (gst_element_set_state):
23266         * gst/gstelement.h:
23267         * gst/gstindex.c: (gst_index_init):
23268         * gst/gstindex.h:
23269         * gst/gstminiobject.h:
23270         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23271         (gst_object_set_parent):
23272         * gst/gstobject.h:
23273         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23274         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23275         * gst/gstpad.h:
23276         * gst/gstpadtemplate.h:
23277         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23278         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23279         * gst/gstpipeline.h:
23280         * gst/indexers/gstfileindex.c: (gst_file_index_load),
23281         (gst_file_index_commit):
23282         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23283         * testsuite/pad/link.c: (gst_test_src_init),
23284         (gst_test_filter_init), (gst_test_sink_init):
23285         * testsuite/states/locked.c: (main):
23286           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23287           moved bitshift from macro to enum definition
23288
23289 2005-10-12  Wim Taymans  <wim@fluendo.com>
23290
23291         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23292         * gst/elements/gstfilesink.c: (gst_file_sink_event),
23293         (gst_file_sink_render):
23294         Some more debugging info.
23295
23296 2005-10-12  Wim Taymans  <wim@fluendo.com>
23297
23298         * docs/design/part-states.txt:
23299         * tools/gst-launch.c: (main):
23300         Some doc updates.
23301         Revert non-intentional change.
23302
23303 2005-10-12  Wim Taymans  <wim@fluendo.com>
23304
23305         * check/gst/gstbin.c: (GST_START_TEST):
23306         * check/gst/gstelement.c: (GST_START_TEST):
23307         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23308         * check/gst/gstghostpad.c: (GST_START_TEST):
23309         * check/gst/gstpipeline.c: (GST_START_TEST):
23310         * check/pipelines/simple_launch_lines.c: (run_pipeline):
23311         * check/states/sinks.c: (GST_START_TEST):
23312         * gst/elements/gsttypefindelement.c: (stop_typefinding):
23313         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23314         (gst_bin_remove_func), (gst_bin_get_state_func),
23315         (gst_bin_recalc_state), (gst_bin_change_state_func),
23316         (bin_bus_handler):
23317         * gst/gstelement.c: (gst_element_get_state_func),
23318         (gst_element_get_state), (gst_element_abort_state),
23319         (gst_element_commit_state), (gst_element_set_state),
23320         (gst_element_change_state), (gst_element_change_state_func):
23321         * gst/gstelement.h:
23322         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23323         (gst_pipeline_provide_clock_func):
23324         * gst/gstutils.c: (gst_element_link_pads_filtered):
23325         * tools/gst-launch.c: (main):
23326         * tools/gst-typefind.c: (main):
23327         Use GstClockTime in _get_state() instead of GTimeVal.
23328         Remove old code in gstutils.c
23329
23330 2005-10-12  Andy Wingo  <wingo@pobox.com>
23331
23332         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23333         removed.
23334
23335         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23336         there is no task. Shouldn't affect any code, as nothing in our
23337         plugins checks this return value.
23338         (gst_pad_stop_task): Also take the stream lock if the pad has no
23339         task. Docs updated.
23340
23341 2005-10-12  Wim Taymans  <wim@fluendo.com>
23342
23343         * gst/gstpad.c: (pre_activate), (post_activate),
23344         (gst_pad_activate_pull), (gst_pad_activate_push):
23345         Cleanup activation code. Reset old state if
23346         activation failed.
23347
23348 2005-10-12  Wim Taymans  <wim@fluendo.com>
23349
23350         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23351         (gst_base_sink_change_state):
23352         No need to prerol after receiving EOS.
23353
23354         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23355         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23356         * gst/elements/gstidentity.c: (gst_identity_event):
23357         Print events more verbosely.
23358
23359 2005-10-12  Wim Taymans  <wim@fluendo.com>
23360
23361         * check/Makefile.am:
23362         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23363         * check/states/sinks2.c:
23364         Moved sinks2 testcode in sinks check.
23365
23366         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23367         (gst_bin_remove_func), (gst_bin_recalc_state),
23368         (gst_bin_change_state_func), (bin_bus_handler):
23369         Fix potential race condition when _get_state() iterated over an
23370         ASYNC element right before it posted a state completion.
23371
23372         * gst/gstclock.h:
23373         Do proper cast here.
23374
23375         * gst/gstevent.c: (gst_event_new_newsegment),
23376         (gst_event_parse_newsegment):
23377         A playback rate of 0.0 is not allowed.
23378
23379 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23380
23381         * win32/common/config.h:
23382         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23383         (_trewinddir), (_ttelldir), (_tseekdir):
23384         * win32/common/dirent.h:
23385         * win32/common/gtchar.h:
23386         * win32/common/libgstbase.def:
23387         * win32/common/libgstreamer.def:
23388         * win32/vs6/grammar.dsp:
23389         * win32/vs6/gst_inspect.dsp:
23390         * win32/vs6/gst_launch.dsp:
23391         * win32/vs6/gstreamer.dsw:
23392         * win32/vs6/libgstbase.dsp:
23393         * win32/vs6/libgstelements.dsp:
23394         * win32/vs6/libgstreamer.dsp:
23395           Visual Studio 6 project files, and a new common directory.
23396           Phear.
23397
23398 2005-10-11  Wim Taymans  <wim@fluendo.com>
23399
23400         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23401         (gst_base_sink_do_sync), (gst_base_sink_query),
23402         (gst_base_sink_change_state):
23403         * gst/base/gstbasesink.h:
23404         Correctly parse newsegment info.
23405
23406 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23407
23408         * gst/gst.c: (init_post):
23409           split plugin paths correctly
23410
23411 2005-10-11  Wim Taymans  <wim@fluendo.com>
23412
23413         * check/gst/gstevent.c: (GST_START_TEST):
23414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23415         (gst_base_sink_change_state):
23416         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23417         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23418         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23419         * gst/gstevent.c: (gst_event_new_newsegment),
23420         (gst_event_parse_newsegment):
23421         * gst/gstevent.h:
23422         Added extra flag to newsegment for future API freeze.
23423         Updated check and base elements.
23424
23425 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23426
23427         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23428         (gst_collectpads_add_pad), (gst_collectpads_pop),
23429         (gst_collectpads_event), (gst_collectpads_chain):
23430         * gst/base/gstcollectpads.h: Handle EOS correctly.
23431
23432 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23433
23434         * tools/gst-launch.c: (main):
23435           more null protecting
23436
23437 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23438
23439         * gst/gst-i18n-lib.h:
23440           check for ENABLE_NLS, not GETTEXT_PACKAGE
23441         * gst/gstregistry.c: (gst_registry_add_plugin),
23442         (gst_registry_scan_path_level),
23443         (_gst_registry_remove_cache_plugins):
23444           protect possibly NULL strings
23445         * gst/parse/types.h:
23446           config.h already included before
23447         * tools/gst-inspect.c: (main):
23448           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23449           check for ENABLE_NLS, not GETTEXT_PACKAGE
23450         * tools/gst-launch.c: (main):
23451           check for ENABLE_NLS, not GETTEXT_PACKAGE
23452
23453 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23454
23455         * configure.ac:
23456           if we don't have glib, fail before testing 2.8
23457         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23458           fix a leak, should fix plugins-base testsuite
23459
23460 2005-10-11  Andy Wingo  <wingo@pobox.com>
23461
23462         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23463         take the mode we're going to as an arg. Go head and set the mode
23464         and flushing flags now, so that if the activate function starts a
23465         thread all the flags will be in the right state.
23466         (post_activate): Renamed also. Just handle making sure streaming
23467         finishes for the deactivation case, and setting the deactivated
23468         mode.
23469         (gst_pad_set_active): Complain loudly if deactivation fails.
23470         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23471         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23472         remove the terrible hack.
23473
23474 2005-10-11  Wim Taymans  <wim@fluendo.com>
23475
23476         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23477         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23478         (gst_bin_recalc_state), (gst_bin_change_state_func),
23479         (gst_bin_dispose), (bin_bus_handler):
23480         * gst/gstbin.h:
23481         Prepare to make current EOS message queue more generic.
23482         Fix some typos.
23483
23484         * gst/gstevent.c: (gst_event_new_newsegment),
23485         (gst_event_parse_newsegment):
23486         * gst/gstevent.h:
23487         Rename base to stream_time.
23488
23489         * gst/gstmessage.h:
23490         Fix typo in docs.
23491
23492 2005-10-11  Wim Taymans  <wim@fluendo.com>
23493
23494         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23495         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23496         (gst_bin_change_state_func), (bin_bus_handler):
23497         * gst/gstbin.h:
23498         Work on proper clock selection.
23499
23500 2005-10-11  Edward Hervey  <edward@fluendo.com>
23501
23502         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23503         * libs/gst/controller/gstcontroller.h:
23504         Added GList* version of _remove_properties() in order to be able to wrap
23505         it in bindings.
23506
23507 2005-10-11  Wim Taymans  <wim@fluendo.com>
23508
23509         * docs/design/part-states.txt:
23510         Some more docs.
23511
23512         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23513         (gst_bin_change_state_func), (bin_bus_handler):
23514         Doc updates. Don't distribute the same clock over and over again.
23515
23516         * gst/gstclock.c:
23517         * gst/gstclock.h:
23518         Doc updates.
23519
23520         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23521         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23522         (gst_pad_send_event):
23523         * gst/gstpad.h:
23524         Make probe emission threadsafe again.
23525         Register quarks and move _get_name() from utils.
23526         Doc updates.
23527
23528         * gst/gstpipeline.c: (gst_pipeline_class_init),
23529         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23530         Only redistribute the clock of it changed.
23531
23532         * gst/gstsystemclock.h:
23533         Doc updates. 
23534
23535         * gst/gstutils.c:
23536         * gst/gstutils.h:
23537         Moved the _flow_get_name() to GstPad.
23538
23539 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23540
23541         * check/gst-libs/gdp.c: (GST_START_TEST):
23542         * check/gst/gstcaps.c: (GST_START_TEST):
23543         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23544         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23545         (gst_dp_packet_from_caps):
23546           fix more valgrind warnings before turning up the heat
23547
23548 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23549
23550         * gst/parse/grammar.y:
23551           some cleanup before the hacking
23552
23553 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23554
23555         * gst/base/gstbasesrc.c: (gst_base_src_query):
23556           use conversions
23557         * gst/gstutils.c: (gst_guint64_to_gdouble),
23558         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23559         * gst/gstutils.h:
23560           externalize, basesrc uses it
23561           obviously the implementation needs testing
23562
23563 2005-10-10  Wim Taymans  <wim@fluendo.com>
23564
23565         * tests/sched/Makefile.am:
23566         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23567         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23568
23569 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23570
23571         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23572           apparently converting from guint64 to double is not implemented
23573           on MSVC
23574
23575 2005-10-10  Wim Taymans  <wim@fluendo.com>
23576
23577         * check/Makefile.am:
23578         * check/generic/states.c: (GST_START_TEST):
23579         * check/gst/gstbin.c: (GST_START_TEST):
23580         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23581         * check/states/sinks.c: (GST_START_TEST):
23582         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23583         (main):
23584         Check fixes, use API as stated in design docs, remove hacks.
23585
23586         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23587         (gst_base_sink_change_state):
23588         Catch stopping our task while we're shutting down.
23589
23590         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23591         (gst_bin_remove_func), (gst_bin_get_state_func),
23592         (gst_bin_recalc_state), (gst_bin_change_state_func),
23593         (bin_bus_handler):
23594         * gst/gstbin.h:
23595         * gst/gstelement.c: (gst_element_init),
23596         (gst_element_get_state_func), (gst_element_abort_state),
23597         (gst_element_commit_state), (gst_element_lost_state),
23598         (gst_element_set_state), (gst_element_change_state),
23599         (gst_element_change_state_func):
23600         * gst/gstelement.h:
23601         New state change algorithm (see #318116)
23602
23603         * gst/gstpipeline.c: (gst_pipeline_class_init),
23604         (gst_pipeline_init), (gst_pipeline_set_property),
23605         (gst_pipeline_get_property), (do_pipeline_seek),
23606         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23607         * gst/gstpipeline.h:
23608         Remove crude state change hacks.
23609
23610         * gst/gstutils.h:
23611         Remove crude hacks.
23612
23613         * tools/gst-launch.c: (main):
23614         Fixes for state change. Needs some more work to fully use the
23615         new stuff.
23616
23617 2005-10-10  Andy Wingo  <wingo@pobox.com>
23618
23619         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23620
23621         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23622         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23623         issue.
23624
23625 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23626
23627         * gst/gstiterator.c: (gst_iterator_new):
23628           Fix my previous commit: GTypes passed to gst_iterator_new()
23629           can be fundamental types.
23630
23631 2005-10-10  Wim Taymans  <wim@fluendo.com>
23632
23633         * gst/gstelement.c: (gst_element_iterate_pad_list),
23634         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23635         (gst_element_iterate_sink_pads):
23636         Use src/sink pads lists for the respective iterators instead
23637         of filtering.
23638
23639 2005-10-10  Andy Wingo  <wingo@pobox.com>
23640
23641         Merged in popt removal + GOption addition patch from Ronald, bug
23642         #169772.
23643
23644         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23645         GstElement macros around, remove popt-related symbols, add goption
23646         stuff.
23647
23648         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23649         
23650         * docs/gst/Makefile.am:
23651         * docs/libs/Makefile.am: No POPT_CFLAGS.
23652         
23653         * examples/manual/Makefile.am:
23654         * docs/manual/basics-init.xml: Doc updates with an example.
23655         
23656         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23657         (gst_init), (parse_one_option), (parse_goption_arg):
23658         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23659         bit of hand merging and debugging to get the GOption stuff working
23660         tho.
23661         
23662         * tests/Makefile.am:
23663         * tools/Makefile.am:
23664         * tools/gst-inspect.c: (main):
23665         * tools/gst-launch.c: (main):
23666         * tools/gst-run.c: (main):
23667         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23668
23669 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23670
23671         * gst/gstiterator.c: (gst_iterator_new):
23672           Add assertions to make sure passed GType is likely to really
23673           be a GType (as the compiler won't catch it if the size and
23674           GType arguments get mixed up, see #318447).
23675
23676 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23677
23678         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23679
23680         * gst/gstbin.c: (gst_bin_iterate_sorted):
23681           Pass GType and size arguments to gst_iterator_new() in the right
23682           order (maybe we should make _new() take the GType as first argument
23683           just like _new_list()?) (#318447).
23684           
23685
23686 2005-10-10  Wim Taymans  <wim@fluendo.com>
23687
23688         * gst/gstelement.c: (gst_element_finalize):
23689         And free the GStaticRecMutex too
23690
23691 2005-10-10  Andy Wingo  <wingo@pobox.com>
23692
23693         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23694         Allocate and free the mutex properly.
23695
23696         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23697         New macros.
23698         (GstElement): The state_lock is now recursive. Rebuild your
23699         plugins, suckers. Old macros adapted.
23700
23701         * docs/gst/gstreamer-sections.txt: Doc updates.
23702
23703         * gst/gstutils.h:
23704         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23705         (g_static_rec_cond_wait): Ported from state changes patch, while
23706         we wait on bug #317802 to be solved in a well-distributed GLib.
23707
23708         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23709         gst_element_change_state, variable name changes.
23710         (gst_element_change_state): Split out of gst_element_set_state in
23711         preparation for the state change merge. Doesn't pay attention to
23712         the 'transition' argument.
23713         (gst_element_set_state): Updates, hopefully purely cosmetic.
23714         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23715         state change patch.
23716         (gst_element_get_state_func): Renamed from get_state, cosmetic
23717         changes.
23718
23719 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23720
23721         * gst/elements/gstelements.c:
23722         * win32/GStreamer.vcproj:
23723         * win32/config.h:
23724         * win32/dirent.c: (_tseekdir):
23725         * win32/gst-inspect.vcproj:
23726         * win32/gst-launch.vcproj:
23727         * win32/gstconfig.h:
23728         * win32/gstelements.vcproj:
23729         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23730         * win32/gstreamer.def:
23731         * win32/msvc71.sln:
23732           updates for the win32 build (patch from Sebastien Moutte)
23733
23734 2005-10-10  Andy Wingo  <wingo@pobox.com>
23735
23736         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23737         gst_bin_get_state, cleaned up (but no logic changes).
23738         (bin_element_is_sink): Comment updates.
23739         (sink_iterator_filter): Remove needless cast.
23740         (gst_bin_iterate_sinks): Doc update.
23741         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23742         cleaned up (but no logic changes).
23743
23744         * check/states/sinks.c (test_src_sink): Cleanups from the state
23745         change patch.
23746         (test_livesrc_sink): Sync on the state.
23747
23748         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23749         the state change patch.
23750
23751         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23752         change patch.
23753
23754         * check/gst/gstbin.c: Merge in some style fixes and additional
23755         checks from Wim's state change patch.
23756
23757 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23758
23759         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23760         (gst_type_find_helper):
23761           Check whether we have the requested data already in our list of
23762           cached buffers before pulling a new buffer; also make the buffer
23763           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23764
23765 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23766
23767         * gst/gstcaps.c:
23768         * gst/gstevent.c:
23769           doc updates
23770         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23771           don't use long long, it's not portable.  Replacing with
23772           gint64 seems to work; let's hope no skeletons fall out of the closet.
23773
23774 2005-10-10  Andy Wingo  <wingo@pobox.com>
23775
23776         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23777
23778 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23779
23780         * docs/gst/gstreamer-sections.txt:
23781         * gst/gstevent.c:
23782         * gst/gstevent.h:
23783         * gst/gstinfo.c:
23784         * gst/gstinfo.h:
23785         * gst/gstmessage.c: (gst_message_parse_state_changed):
23786         * gst/gstpad.c:
23787         * gst/gstpad.h:
23788           more docs, fix compilation
23789
23790 2005-10-09  Philippe Khalaf <burger@speedy.org>
23791         * gst/gstmessage.c:
23792           Fixed a few forgotten variables on previous commit
23793
23794 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23795
23796         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23797           Fix evil typefind crasher: getrange() might return a short
23798           buffer at the end of a file, but gst_type_find_peek() must
23799           either return the full data as requested or NULL, but
23800           never a short buffer.
23801
23802 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23803
23804         * gst/gstmessage.c: (gst_message_new_state_changed),
23805         (gst_message_parse_state_changed):
23806         * gst/gstmessage.h:
23807           don't use "new", it's a C++ keyword
23808
23809 2005-10-08  Wim Taymans  <wim@fluendo.com>
23810
23811         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23812         * gst/gstelement.c: (gst_element_post_message):
23813         * gst/gstpipeline.c: (gst_pipeline_change_state):
23814         Small docs and debug updates.
23815
23816 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23817
23818         * docs/gst/gstreamer-sections.txt:
23819         * gst/gstelementfactory.c:
23820         * gst/gstevent.c:
23821         * gst/gsttaglist.c:
23822           more docs
23823
23824 2005-10-08  Wim Taymans  <wim@fluendo.com>
23825
23826         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23827         (gst_bin_dispose), (bin_bus_handler):
23828         Fix typos, add comments.
23829         Clear EOS list when going to PAUSED from any direction and do it
23830         in a threadsafe way.
23831         Get base time in a threadsafe way too.
23832         Fix confusing debug in the change_state function.
23833         Various other small cleanups.
23834         
23835         * gst/gstelement.c: (gst_element_post_message):
23836         Fix very verbose bus posting code.
23837
23838         * gst/gstpipeline.c: (gst_pipeline_class_init),
23839         (gst_pipeline_set_property), (gst_pipeline_get_property),
23840         (gst_pipeline_change_state):
23841         Small ARG_ -> PROP_ cleanup
23842
23843 2005-10-08  Wim Taymans  <wim@fluendo.com>
23844
23845         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23846         Do a less CPU demanding EOS check because we can.
23847
23848 2005-10-08  Wim Taymans  <wim@fluendo.com>
23849
23850         * libs/gst/dataprotocol/dataprotocol.c:
23851         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23852         (gst_dp_packet_from_event):
23853         * libs/gst/dataprotocol/dataprotocol.h:
23854         * libs/gst/dataprotocol/dp-private.h:
23855         It's about time we bump the version number.
23856         Since event types don't fit in the guint8 anymore describing
23857         the payload type, make payload type 16 bits wide.
23858
23859 2005-10-08  Wim Taymans  <wim@fluendo.com>
23860
23861         * docs/design/part-TODO.txt:
23862         * docs/design/part-clocks.txt:
23863         * docs/design/part-events.txt:
23864         * docs/design/part-gstbin.txt:
23865         * docs/design/part-gstelement.txt:
23866         * docs/design/part-gstpipeline.txt:
23867         * docs/design/part-live-source.txt:
23868         * docs/design/part-messages.txt:
23869         * docs/design/part-overview.txt:
23870         * docs/design/part-states.txt:
23871         Many doc updates.
23872
23873 2005-10-08  Wim Taymans  <wim@fluendo.com>
23874
23875         * gst/gstevent.c:
23876         * gst/gstevent.h:
23877         Fix event quark registration.
23878         Add some space between events so we can insert them in the
23879         right groups.
23880
23881 2005-10-08  Wim Taymans  <wim@fluendo.com>
23882
23883         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23884         (gst_base_sink_handle_buffer):
23885         Better log message.
23886
23887         * gst/gstbus.h:
23888         * gst/gstelement.h:
23889         More docs.
23890
23891         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23892         (gst_queue_set_property), (gst_queue_get_property):
23893         * gst/gstqueue.h:
23894         Remove old unused properties.
23895
23896 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23897         * docs/gst/gstreamer-sections.txt:
23898         * gst/gstmessage.c:
23899         * gst/gstmessage.h:
23900         * gst/gstminiobject.c:
23901         * gst/gstminiobject.h:
23902         * gst/gstobject.h:
23903         * gst/gstpad.h:
23904         * gst/gstutils.h:
23905           lots of new docs and doc fixes
23906
23907 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23908
23909         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23910         * gst/gstplugin.h:
23911         * gst/gstregistry.c: (gst_registry_lookup_locked),
23912         (gst_registry_scan_path_level):
23913         * gst/gstregistryxml.c: (load_plugin):
23914           Only ever load one plugin for a given plugin basename.
23915           This ensures correct overriding of GST_PLUGIN_PATH over
23916           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23917           system installed plugins.
23918
23919 2005-10-08  Wim Taymans  <wim@fluendo.com>
23920
23921         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23922         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23923         Prepare for doing QOS.
23924
23925 2005-10-08  Wim Taymans  <wim@fluendo.com>
23926
23927         * check/gst/gstbin.c: (GST_START_TEST):
23928         * check/pipelines/cleanup.c: (GST_START_TEST):
23929         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23930         Allow new clock message too.
23931
23932 2005-10-08  Wim Taymans  <wim@fluendo.com>
23933
23934         * gst/gstmessage.c: (gst_message_new_error),
23935         (gst_message_new_warning), (gst_message_new_tag),
23936         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23937         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23938         (gst_message_new_segment_start), (gst_message_new_segment_done),
23939         (gst_message_parse_state_changed),
23940         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23941         (gst_message_parse_new_clock):
23942         * gst/gstmessage.h:
23943         Also carry the clock in question.
23944
23945 2005-10-08  Wim Taymans  <wim@fluendo.com>
23946
23947         * gst/gstmessage.c: (gst_message_new_custom),
23948         (gst_message_new_eos), (gst_message_new_error),
23949         (gst_message_new_warning), (gst_message_new_tag),
23950         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23951         (gst_message_new_new_clock), (gst_message_new_segment_start),
23952         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23953         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23954         * gst/gstmessage.h:
23955         Clean up.
23956         Added clock related messages.
23957
23958         * gst/gstpipeline.c: (gst_pipeline_change_state):
23959         Post message when the clock changed.
23960
23961         * tools/gst-launch.c: (event_loop):
23962         Print new clock.
23963
23964 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23965
23966         * tools/gst-inspect.c: (print_element_properties_info):
23967           Can't pass NULL strings to g_print() on windows.
23968
23969 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23970
23971         * docs/Makefile.am:
23972         * docs/gst/Makefile.am:
23973         * docs/gst/gstreamer-docs.sgml:
23974         * docs/gst/running.xml:
23975         * docs/version.entities.in:
23976           add a chapter on running GStreamer.
23977           document GST_DEBUG and GST_PLUGIN* env vars
23978
23979 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23980
23981         * Makefile.am:
23982           remove include dir
23983         * configure.ac:
23984           remove PLUGINS_BUILDDIR stuff
23985         * gst/gst.c: (init_post):
23986           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23987         * idiottest.mak:
23988           remove, it was condescending and not needed
23989
23990 2005-10-08  Wim Taymans  <wim@fluendo.com>
23991
23992         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23993         (gst_base_sink_handle_object), (gst_base_sink_event),
23994         (gst_base_sink_wait), (gst_base_sink_handle_event),
23995         (gst_base_sink_change_state):
23996         * gst/base/gstbasesink.h:
23997         Repost EOS message while going to PLAYING if still EOS.
23998         Make sure that when receiving a FLUSH_START we don't attempt
23999         to sync on the clock anymore.
24000
24001 2005-10-08  Wim Taymans  <wim@fluendo.com>
24002
24003         * tools/gst-launch.c: (event_loop):
24004         Better message printout.
24005
24006 2005-10-08  Wim Taymans  <wim@fluendo.com>
24007
24008         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
24009         (gst_bin_child_proxy_get_children_count):
24010         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
24011         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
24012         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
24013         (gst_child_proxy_set_valist):
24014         * gst/parse/grammar.y:
24015         Make ChildProxy threadsafe and fix mem leaks.
24016
24017 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24018
24019         * gst/gst.c: (init_post):
24020           debug the GST_PLUGIN_ env vars
24021
24022 2005-10-08  Wim Taymans  <wim@fluendo.com>
24023
24024         * check/gst/gstbin.c: (GST_START_TEST):
24025         * check/gst/gstmessage.c: (GST_START_TEST):
24026         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
24027         * gst/gstelement.c: (gst_element_commit_state),
24028         (gst_element_lost_state):
24029         * gst/gstmessage.c: (gst_message_new_state_changed),
24030         (gst_message_parse_state_changed):
24031         * gst/gstmessage.h:
24032         * tools/gst-launch.c: (event_loop):
24033         Added extra field to STATE_CHANGE message with the pending
24034         state, which will be different from the new state soon.
24035
24036 2005-10-08  Wim Taymans  <wim@fluendo.com>
24037
24038         * gst/gstbus.c: (gst_bus_pop):
24039         * gst/gstclock.c:
24040         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
24041         Small cleanups and doc updates.
24042
24043 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24044
24045         * gst/gst.c: (init_pre):
24046         * gst/gstbin.c: (gst_bin_add_func):
24047           log distributing clocks and base time
24048         * gst/gstregistry.c: (gst_registry_add_plugin),
24049         (gst_registry_scan_path_level), (gst_registry_scan_path):
24050           clean up the debugging output a little
24051         * gst/gstutils.c: (gst_element_state_get_name):
24052           warn about a memleak (I've actually seen this be used, though
24053           it was probably a bug)
24054
24055 2005-10-07  Wim Taymans  <wim@fluendo.com>
24056
24057         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24058         (gst_base_src_init), (gst_base_src_default_newsegment),
24059         (gst_base_src_newsegment), (gst_base_src_do_seek),
24060         (gst_base_src_loop), (gst_base_src_start):
24061         * gst/base/gstbasesrc.h:
24062         Make the newsegment event customizable by subclasses.
24063
24064 2005-10-07  Wim Taymans  <wim@fluendo.com>
24065
24066         * gst/gstevent.c: (gst_event_new_buffersize),
24067         (gst_event_parse_buffersize):
24068         * gst/gstevent.h:
24069         New event for future idea.
24070
24071 2005-10-07  Andy Wingo  <wingo@pobox.com>
24072
24073         * gst/gstelement.c (gst_element_post_message): Doc update.
24074
24075         * docs/gst/gstreamer-sections.txt: Update.
24076
24077         * gst/gstmessage.c (gst_message_new_application): Made into a
24078         function like honest API calls.
24079         (gst_message_new_element): New message type.
24080
24081         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
24082
24083         * check/elements/fakesrc.c (test_no_preroll): New check, checks
24084         that setting a live fakesrc to PAUSED returns NO_PREROLL both
24085         times.
24086
24087         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
24088         NO_PREROLL from gst_element_change_state to fall through.
24089
24090 2005-10-07  Wim Taymans  <wim@fluendo.com>
24091
24092         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
24093         (gst_ghost_pad_do_activate_push):
24094         Activating a ghostpad with no internal pad in push mode
24095         is ok.
24096
24097 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24098
24099         * gst/gstobject.h:
24100           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
24101           Fixes compilation on Windows.
24102
24103 2005-10-07  Michael Smith <msmith@fluendo.com>
24104
24105         * tools/gst-inspect.c:
24106           Print out feature and plugin count at the end when printing out
24107           all features.
24108
24109 2005-10-04  Michael Smith <msmith@fluendo.com>
24110
24111         * gst/gsterror.c: (_gst_stream_errors_init):
24112           Add another error string used in a few existing plugins.
24113
24114         * gst/gstplugin.c:
24115         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
24116         * tools/gst-inspect.c: (print_element_info):
24117           When a feature disappears from a plugin (and the feature exists in
24118           the cached registry file), things went horribly wrong. This isn't a
24119           complete fix, we should actually be removing the 'missing' features
24120           from the features list when we load the actual plugin. That's not
24121           yet implemented. 
24122
24123 2005-10-04  Johan Dahlin  <johan@gnome.org>
24124
24125         * check/gst/gstiterator.c: (GST_START_TEST):
24126         * gst/gstbin.c: (gst_bin_iterate_elements),
24127         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
24128         * gst/gstelement.c: (gst_element_iterate_pads):
24129         * gst/gstformat.c: (gst_format_iterate_definitions):
24130         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
24131         (gst_iterator_new_list), (gst_iterator_filter):
24132         * gst/gstiterator.h:
24133         * gst/gstquery.c: (gst_query_type_iterate_definitions):
24134         Add a GType to GstIterator, update callsites and tests.
24135
24136 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24137
24138         * gst/gstpad.c: (gst_pad_event_default_dispatch):
24139           give events a chance to be handled by event probes when the pad
24140           is not linked
24141
24142 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24143
24144         * gst/gstevent.c: (gst_event_type_get_name),
24145         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
24146         * gst/gstevent.h:
24147           add string representations for event types
24148
24149 2005-10-06  Wim Taymans  <wim@fluendo.com>
24150
24151         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
24152         Don't use NULL pointers.
24153
24154 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24155
24156         * gst/gst_private.h:
24157         * gst/gstbus.c:
24158         * gst/gstelement.c:
24159         * gst/gstinfo.c:
24160         * gst/gstpluginfeature.c:
24161           widen the debug category in output to fit the biggest one we have
24162           add a bus category and use it
24163           play with the colors
24164           fix up some categories
24165
24166 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24167
24168         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
24169           add push activation of sink ghost pads.
24170           Andye, please verify
24171
24172 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24173
24174         * gst/gstutils.c: (gst_element_link_pads):
24175           fix a bug in the case where neither element has a pad
24176         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24177           add a test for that case
24178
24179 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
24180
24181         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
24182           emit have-data before checking for peers.  This allows
24183           for probe handlers to connect elements.  This helps autopluggers.
24184         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
24185         (gst_pad_suite):
24186           add six checks, linked/unlinked with no/true/false probe
24187
24188 2005-10-04  Wim Taymans  <wim@fluendo.com>
24189
24190         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
24191         (gst_fake_sink_event), (gst_fake_sink_preroll),
24192         (gst_fake_sink_render), (gst_fake_sink_change_state):
24193         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
24194         (gst_fake_src_get_property), (gst_fake_src_create),
24195         (gst_fake_src_stop):
24196         * gst/elements/gstidentity.c: (gst_identity_stop):
24197         Protect last_message with lock.
24198
24199 2005-10-04  Edward Hervey  <edward@fluendo.com>
24200
24201         * gst/gstformat.h: 
24202         Added precision in the comments for GST_FORMAT_DEFAULT
24203
24204 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
24205
24206         * tools/gst-launch.c: (main):
24207           Don't try to run erroneous pipelines.
24208
24209 2005-10-04  Julien MOUTTE  <julien@moutte.net>
24210
24211         * gst/gstbus.c: We don't need this header.
24212
24213 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24214
24215         * configure.ac:
24216           back to development
24217
24218 === release 0.9.3 ===
24219
24220 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
24221
24222         * README:
24223         * configure.ac:
24224           Releasing 0.9.3, "Unregistered"
24225
24226 2005-10-03  Andy Wingo  <wingo@pobox.com>
24227
24228         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
24229         whereby calling a pad's activatepush() function can start a thread
24230         that starts to push or pull before the pad gets the FLUSHING flag
24231         unset. Hack around it by holding the stream lock until the flag is
24232         set. Need to replace this with a proper solution. Together with
24233         the ghost pad fixes, this fixes mp3 playing/tagreading.
24234
24235         * docs/design/part-gstghostpad.txt: Add a note about activation of
24236         proxy pads outside of ghost pads.
24237
24238         * gst/gstghostpad.c: Implement the ghost pad activation design.
24239
24240 2005-10-02  Andy Wingo  <wingo@pobox.com>
24241
24242         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
24243         It is volatile, after all.
24244
24245         * docs/design/part-gstghostpad.txt: Flesh out activation with
24246         ghost pads.
24247
24248         * gst/base/gstbasesrc.c (gst_base_src_init): Use
24249         GST_DEBUG_FUNCPTR.
24250
24251 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
24252
24253         * configure.ac:
24254           Fix (unused) AM_CONDITIONAL tests.
24255
24256 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
24257
24258         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24259
24260         * gst/gstutils.c: (gst_pad_query_convert):
24261           Add assertion that makes sure src_val is >=0, just like
24262           gst_query_new_convert() has. (#315895)
24263
24264 2005-09-30  Edward Hervey  <edward@fluendo.com>
24265
24266         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24267         Let's not iterate pads we're not interested in, it avoids getting 
24268         sky-high refcounts on sinkpad.
24269
24270 2005-09-30  Wim Taymans  <wim@fluendo.com>
24271
24272         * gst/gstelement.c: (gst_element_set_state),
24273         (gst_element_change_state):
24274         Small tweak, element in ASYNC remains ASYNC.
24275
24276 2005-09-30  Wim Taymans  <wim@fluendo.com>
24277
24278         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24279         Only error is an error.
24280
24281         * gst/gstbin.c: (gst_bin_change_state):
24282         Better debugging.
24283
24284         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24285         Also call pad_block in pad alloc.
24286
24287         * gst/gstutils.c: (gst_flow_get_name):
24288         Better debugging.
24289
24290 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24291
24292         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24293         (gst_base_src_get_range):
24294           Fix documentation typos. Add some more debug info.
24295
24296 2005-09-29  David Schleef  <ds@schleef.org>
24297
24298         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24299           more end-user friendly.
24300         * tools/gst-inspect.c: (main): Check if command-line argument is
24301           a file and attempt to load that file as a plugin.
24302
24303 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24304
24305         * check/gst/gstbin.c:
24306         * check/states/sinks.c:
24307           fix tests for the new warning
24308         * check/gst/gstpipeline.c:
24309           add a test for pipeline and bus interaction
24310         * gst/gstelement.c:
24311           elements should be NULL if they get disposed; add a warning if not
24312
24313 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24314
24315         * gst/gstobject.c:
24316           for 2.6 refcounting, make debug log more correct by printing
24317           the actual refcounts at the time of swap (Wim)
24318
24319 2005-09-29  Andy Wingo  <wingo@pobox.com>
24320
24321         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24322         removes signal watches previously added via
24323         gst_bus_add_signal_watch.
24324         (gst_bus_add_signal_watch): Don't return the source id, just store
24325         it on the bus if there wasn't an id already.
24326
24327         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24328         add_signal_watch and remove_signal_watch.
24329
24330 2005-09-29  Edward Hervey  <edward@fluendo.com>
24331
24332         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
24333         Better if we actually iterate the list :)
24334
24335 2005-09-29  Wim Taymans  <wim@fluendo.com>
24336
24337         * check/gst/gstbin.c: (GST_START_TEST):
24338         Change for new bus API.
24339
24340         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24341         (send_messages), (GST_START_TEST), (gstbus_suite):
24342         Change for new bus signal API.
24343
24344         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24345         (gst_bus_source_prepare), (gst_bus_source_check),
24346         (gst_bus_create_watch), (gst_bus_add_watch_full),
24347         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24348         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24349         * gst/gstbus.h:
24350         Remove support for multiple GSources operating on different
24351         message types as it is too complex and unneeded when using
24352         signals.
24353         Added support for receiving signals from the bus.
24354
24355 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
24356
24357         * docs/libs/tmpl/gstdataprotocol.sgml:
24358         * docs/manual/advanced-dataaccess.xml:
24359         * gst/elements/gstcapsfilter.c:
24360         * gst/gstutils.c:
24361           rename filter-caps to caps property
24362
24363 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24364
24365         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24366           More robust fraction string parsing.
24367
24368         * docs/pwg/appendix-porting.xml:
24369           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24370
24371 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24372
24373         * gst/gstcaps.c: (gst_caps_do_simplify):
24374           Thou shalt not free a structure and then continue using it
24375           in the next loop iteration.
24376
24377         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24378         (gst_caps_suite):
24379           Add test case for caps simplification.
24380
24381 2005-09-29  Wim Taymans  <wim@fluendo.com>
24382
24383         * check/gst/gstbin.c: (GST_START_TEST):
24384         Oops.
24385
24386 2005-09-29  Wim Taymans  <wim@fluendo.com>
24387
24388         * check/gst/gstbin.c: (GST_START_TEST):
24389         Add bus to bin.
24390
24391         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24392         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24393         (find_element), (gst_bin_sort_iterator_next),
24394         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24395         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24396         (gst_bin_change_state), (gst_bin_dispose):
24397         A bin does not have a bus, it gets the bus from the parent.
24398
24399         * gst/gstelement.c: (gst_element_requires_clock),
24400         (gst_element_provides_clock), (gst_element_is_indexable),
24401         (gst_element_is_locked_state), (gst_element_change_state),
24402         (gst_element_set_bus_func):
24403         Small cleanups.
24404
24405         * gst/gstpipeline.c: (gst_pipeline_class_init),
24406         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24407         The pipeline provides a bus.
24408
24409 2005-09-28  Johan Dahlin  <johan@gnome.org>
24410
24411         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24412         gst_structure_get_enum instead of gst_structure_get_int
24413
24414         * gst/gststructure.c (gst_structure_get_enum): Impl.
24415
24416         * gst/gststructure.h (gst_structure_get_enum): Add
24417
24418         * docs/gst/gstreamer-sections.txt: Ditto
24419
24420         * gst/gstmessage.c (gst_message_new_state_changed): Use
24421         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24422         which does introspection.
24423         Reviewed by Christian Schaller
24424
24425 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24426
24427         * gst/gstinfo.c: (gst_debug_log_default):
24428           don't do dummy g_strdup()s
24429         * libs/gst/controller/gstcontroller.c:
24430         (on_object_controlled_property_changed),
24431         (gst_controlled_property_new), (gst_controller_new_valist),
24432         (gst_controller_new_list),
24433         (gst_controller_remove_properties_valist), (gst_controller_set),
24434         (gst_controller_get), (gst_controller_sync_values),
24435         (gst_controller_get_value_array), (_gst_controller_class_init),
24436         (gst_controller_get_type):
24437         * libs/gst/controller/gstcontroller.h:
24438         * libs/gst/controller/gstinterpolation.c:
24439         (gst_controlled_property_find_timed_value_node):
24440           convert // to /**/ comments
24441
24442 2005-09-28  Wim Taymans  <wim@fluendo.com>
24443
24444         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24445         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24446         (gst_bus_sync_signal_handler):
24447         * gst/gstbus.h:
24448         Added async-message and sync-message signals to the bus.
24449         Added helper BusFunc to emit signals for all posted messages.
24450
24451         * gst/gstmessage.c: (gst_message_type_get_name),
24452         (gst_message_type_to_quark), (gst_message_get_type):
24453         * gst/gstmessage.h:
24454         Register quarks for message names.
24455
24456 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24457
24458         * docs/libs/gstreamer-libs-sections.txt:
24459         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24460         (gst_controller_new_list):
24461         * libs/gst/controller/gstcontroller.h:
24462           added another constructor for language bindings
24463
24464 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24465
24466         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24467           add another check
24468         * gst/gstbus.c:
24469           add some doc
24470         * gst/gstinfo.c: (_gst_debug_init):
24471           slightly more readable color for refcount debugging
24472
24473 2005-09-28  Wim Taymans  <wim@fluendo.com>
24474
24475         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24476         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24477         (find_element), (gst_bin_sort_iterator_next),
24478         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24479         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24480         (gst_bin_change_state), (gst_bin_dispose):
24481         Small doc fixes. get_clock -> provide_clock.
24482
24483         * gst/gstelement.c: (gst_element_class_init),
24484         (gst_element_provides_clock), (gst_element_provide_clock),
24485         (gst_element_get_clock), (gst_element_commit_state),
24486         (gst_element_lost_state):
24487         * gst/gstelement.h:
24488         Make get/set_clock() symetric. Add provide_clock vmethod since
24489         that is actually what this function does.
24490
24491         * gst/gstpipeline.c: (gst_pipeline_class_init),
24492         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24493         (gst_pipeline_get_clock):
24494         get_clock -> provide_clock.
24495
24496 2005-09-28  Andy Wingo  <wingo@pobox.com>
24497
24498         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24499         lieu of real docs...
24500
24501         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24502
24503 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24504
24505         * gst/elements/gstcapsfilter.c:
24506         * gst/elements/gstfakesink.c:
24507         * gst/elements/gstfakesrc.c:
24508         * gst/elements/gstfdsink.c:
24509         * gst/elements/gstfdsrc.c:
24510         * gst/elements/gstfilesink.c:
24511         * gst/elements/gstfilesrc.c:
24512         * gst/elements/gstidentity.c:
24513         * gst/elements/gsttee.c:
24514         * gst/elements/gsttypefindelement.c:
24515           Make element details static.
24516
24517 2005-09-28  Wim Taymans  <wim@fluendo.com>
24518
24519         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24520         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24521         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24522         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24523         (gst_bin_change_state), (gst_bin_dispose):
24524         Some documentation updates.
24525         Clean up dispose handlers.
24526
24527         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24528         * gst/gstpad.c: (gst_pad_dispose):
24529         Clean up dispose handler.
24530
24531         * gst/gstpipeline.c: (gst_pipeline_change_state):
24532         Removed spurious UNLOCK.
24533
24534 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24535
24536         * docs/gst/gstreamer-sections.txt:
24537         * gst/base/gstbasesrc.h:
24538         * gst/gstelement.h:
24539         * gst/gstevent.h:
24540         * gst/gstobject.h:
24541         * gst/gstpad.h:
24542         * gst/gstpipeline.c:
24543         * gst/gstpipeline.h:
24544         * gst/gstutils.h:
24545         * gst/gstxml.h:
24546           added two new functions to the docs
24547                 documents all undocumented GstXXXFlags
24548                 completed some incomplete docs 
24549
24550 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24551
24552         * gst/gstbin.c: (gst_bin_dispose):
24553         * gst/gstelement.c: (gst_element_dispose):
24554           remove now useless and leaky resurrection code in dispose
24555         * gst/base/gstbasesrc.c: (gst_base_src_init):
24556         * gst/gstelementfactory.c: (gst_element_factory_create):
24557         * gst/gstobject.c: (gst_object_set_parent):
24558           add some debugging
24559
24560 2005-09-27  Wim Taymans  <wim@fluendo.com>
24561
24562         * docs/design/part-TODO.txt:
24563         Update TODO.
24564
24565         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24566         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24567         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24568         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24569         (gst_bin_change_state):
24570         * gst/gstelement.h:
24571         Remove element variable, we keep element info in the iterator now.
24572
24573 2005-09-27  Andy Wingo  <wingo@pobox.com>
24574
24575         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24576         values.
24577
24578 2005-09-27  Wim Taymans  <wim@fluendo.com>
24579
24580         * check/gst/gstbin.c: (GST_START_TEST):
24581         Enable check that works now.
24582
24583         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24584         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24585         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24586         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24587         (gst_bin_change_state):
24588         * gst/gstbin.h:
24589         Redid the state change algorithm using a topological sort algo.
24590         Handles all cases correctly.
24591         Exposed iterator for state change order.
24592
24593         * gst/gstelement.h:
24594         Temp storage for state changes. Need to get rid of this soon.
24595
24596 2005-09-27  Wim Taymans  <wim@fluendo.com>
24597
24598         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24599         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24600         (link_fold_func), (gst_pad_proxy_setcaps):
24601         Leak fixes, the fold functions need to unref the passed object and
24602         _get_parent_*() returns ref to parent.
24603
24604 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24605
24606         * check/gst/gstbuffer.c: (test_make_writable):
24607           Plug leak in test case and fix 'make check-valgrind'
24608
24609 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24610
24611         * gst/gstbuffer.c: (gst_subbuffer_init):
24612           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24613           works correctly in all circumstances (we could have just copied
24614           the parent buffer's readonly flag, but conceptually it seems
24615           cleaner to mark all subbuffers as read-only). (based on patch
24616           by Alessandro Decina, #314710).
24617         
24618         * check/gst/gstbuffer.c: (create_read_only_buffer),
24619         (test_make_writable), (test_subbuffer_make_writable),
24620         (gst_test_suite):
24621           Add some tests for gst_buffer_make_writable().
24622
24623 2005-09-27  Wim Taymans  <wim@fluendo.com>
24624
24625         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24626         use gst_object_has_ancestor().
24627
24628         * gst/gstobject.c: (gst_object_has_ancestor):
24629         * gst/gstobject.h:
24630         gst_object_has_ancestor() copied from gstbin.c as it is a
24631         useful function.
24632
24633         * tests/instantiate/create.c: (create_all_elements):
24634         * tests/lat.c: (handoff_src), (handoff_sink):
24635         * tests/sched/runxml.c: (main):
24636         * tests/seeking/seeking1.c: (main):
24637         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24638         (main):
24639         Fix compilation of some tests.
24640
24641 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24642
24643         * gst/gsterror.h:
24644           Remove comment. GST_TYPE_G_ERROR is here to stay,
24645           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24646           (#316961, #300610).
24647
24648 2005-09-26  Wim Taymans  <wim@fluendo.com>
24649
24650         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24651         Added check that shows error in state change order.
24652
24653 2005-09-26  Wim Taymans  <wim@fluendo.com>
24654
24655         * gst/gstbin.c: (gst_bin_change_state):
24656         Make state change function use 3 queues again, we were
24657         adding elements in the wrong order.
24658
24659         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24660         Some debug info,
24661
24662         * gst/gstpad.c: (gst_pad_dispose):
24663         Added some debug info first.
24664
24665 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24666
24667         * docs/design/draft-push-pull.txt:
24668         * docs/design/part-events.txt:
24669         * docs/design/part-overview.txt:
24670         * docs/design/part-scheduling.txt:
24671           Replace all _pull_region() with _pull_range()
24672           
24673 2005-09-26  Andy Wingo  <wingo@pobox.com>
24674
24675         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24676
24677         * check/gst-libs/controller.c: Update for controller api change.
24678
24679         * configure.ac: 
24680         * tests/Makefile.am:
24681         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24682         over by GLib bug 118439.
24683         
24684         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24685         routines to a function.
24686
24687         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24688
24689         * libs/gst/controller/gsthelper.c:
24690         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24691         (gst_object_sync_values): Renamed from sink_values. Ugh.
24692
24693         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24694
24695         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24696         Renamed from controller_key, as it is exported.
24697
24698         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24699
24700 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24701
24702         * gst/Makefile.am:
24703         * gst/gst.h:
24704         * gst/gstpad.h:
24705         * gst/gstpadtemplate.h:
24706         * gst/gstquery.c:
24707         * gst/gstquery.h:
24708         * gst/gstqueryutils.c:
24709         * gst/gstqueryutils.h:
24710           remove queryutils headers after moving the two used functions
24711           to gstquery.  also fixes build problem for gstsiddec
24712
24713 2005-09-26  Michael Smith <msmith@fluendo.com>
24714
24715         * tools/gst-launch.1.in:
24716         Correct documentation in manpage of debug syntax
24717
24718 2005-09-26  Wim Taymans  <wim@fluendo.com>
24719
24720         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24721         (gst_base_src_is_seekable), (gst_base_src_change_state):
24722         Some more debugging info.
24723
24724 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24725
24726         * docs/gst/gstreamer-sections.txt:
24727         * gst/base/gstbasetransform.h:
24728         * gst/gstindex.h:
24729           added more docs
24730
24731 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24732
24733         * docs/gst/.cvsignore:
24734         * docs/gst/tmpl/.cvsignore:
24735         * docs/gst/tmpl/gstpipeline.sgml:
24736         * docs/gst/tmpl/gstplugin.sgml:
24737         * gst/gstpipeline.c:
24738         * gst/gstplugin.c:
24739         * gst/gstplugin.h:
24740           inlined the last two docs files
24741           removed the tmpl directory from cvs (no more conflicts here!)
24742
24743 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24744
24745         * docs/gst/gstreamer-sections.txt:
24746         * docs/gst/tmpl/.cvsignore:
24747         * docs/gst/tmpl/gstpad.sgml:
24748         * docs/gst/tmpl/gstpadtemplate.sgml:
24749         * gst/Makefile.am:
24750         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24751         (gst_pad_finalize), (gst_pad_set_pad_template):
24752         * gst/gstpad.h:
24753         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24754         (gst_pad_template_class_init), (gst_pad_template_init),
24755         (gst_pad_template_dispose), (name_is_valid),
24756         (gst_static_pad_template_get), (gst_pad_template_new),
24757         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24758         (gst_pad_template_pad_created):
24759         * gst/gstpadtemplate.h:
24760           inlined two more docs
24761           factored gstpadtemplate out of gstpad
24762
24763 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24764
24765         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24766         (test_children_state_change_order_semi_sink):
24767           Fix test case: we can't rely on a fixed state change order when
24768           going from READY => PAUSED because the sink might commit its 
24769           new state first when the first buffer created by the source 
24770           reaches the sink before the source has finished its change state.
24771           (Test case still fails at times, see #316856, comment 5 onwards)
24772
24773 2005-09-24  Wim Taymans  <wim@fluendo.com>
24774
24775         * docs/design/part-events.txt:
24776         * docs/design/part-gstbus.txt:
24777         * docs/design/part-gstpipeline.txt:
24778         * docs/design/part-messages.txt:
24779         * docs/design/part-overview.txt:
24780         * docs/design/part-segments.txt:
24781         * gst/gstbin.c:
24782         * gst/gstbuffer.c:
24783         * gst/gstclock.c:
24784         * gst/gstelement.c:
24785         * gst/gstevent.c:
24786         * gst/gstfilter.c:
24787         * gst/gstiterator.c:
24788         Various documentation updates.
24789
24790 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24791
24792         * gst/gstclock.h:
24793           Well, that's embarassing.  Luckily we weren't using
24794           GST_CLOCK_DIFF anywhere.
24795
24796 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24797
24798         * common/gtk-doc.mak:
24799           don't fail on building XML, FC4 slave shows a bunch of doc
24800           missing bits that I don't get
24801         * gst/gstpad.c:
24802         * gst/gstpipeline.c:
24803         * gst/gststructure.c:
24804           some doc updates
24805
24806 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24807
24808         * docs/design/part-gstbin.txt:
24809         * docs/design/part-gstbus.txt:
24810         * gst/gstbus.c:
24811           Add blurb about how the bus goes into flushing mode and
24812           drops all messages when its bin goes from READY into NULL 
24813           state.
24814
24815 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24816
24817         * docs/gst/gstreamer-sections.txt:
24818         * gst/gststructure.c: (gst_structure_get_clock_time):
24819         * gst/gststructure.h:
24820           add a method to get a GstClockTime out of a structure
24821
24822 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24823
24824         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24825         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24826           Added test to check state change order in bins (can still be made
24827           to fail here under heavy disk load; bails out with 'Push on pad
24828           fakesink:sink0, but it was not activated in push mode').
24829
24830         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24831           Fix state change order when there is only a semi sink (#316856)
24832
24833         * gst/gstbus.c: (gst_bus_class_init):
24834           Use _class_peek_parent(), not _class_ref(); fix docs to say
24835           'default main context' instead of 'mainloop' where that is
24836           what's meant.
24837
24838         * gst/gstelement.c: (gst_element_commit_state),
24839         (gst_element_set_state):
24840           Fix typos in debug messages
24841
24842 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24843
24844         * docs/README:
24845         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24846         * gst/gstpluginfeature.c:
24847         * gst/gstutils.c:
24848           various doc updates
24849         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24850           change an assert into an error until it gets fixed properly
24851
24852 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24853
24854         * docs/gst/gstreamer-sections.txt:
24855         * docs/gst/tmpl/.cvsignore:
24856         * docs/gst/tmpl/gstelement.sgml:
24857         * docs/gst/tmpl/gstinfo.sgml:
24858         * docs/gst/tmpl/gstobject.sgml:
24859         * gst/gstelement.c:
24860         * gst/gstelement.h:
24861         * gst/gstinfo.c:
24862         * gst/gstinfo.h:
24863         * gst/gstobject.c: (gst_object_class_init):
24864         * gst/gstobject.h:
24865           inlined 3 more biiiig doc files and added some missing docs on the fly
24866
24867 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24868
24869         * check/gst/.cvsignore:
24870         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24871         * gst/gstregistryxml.c: (load_plugin),
24872         (gst_registry_xml_save_plugin):
24873           put back source in registry.  add checks for find_plugin.
24874         * testsuite/states/bin.c: (assert_state), (empty_bin),
24875         (test_adding_one_element), (main):
24876         * testsuite/states/locked.c: (main):
24877           some compile/run fixes
24878
24879 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24880
24881         * check/gst/gstvalue.c: (GST_START_TEST):
24882           fix leaks in the test itself
24883
24884 2005-09-22  Wim Taymans  <wim@fluendo.com>
24885
24886         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24887         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24888         (gst_base_sink_query):
24889         Prepare for more accurate position reporting and query
24890         handling.
24891
24892         * gst/gstelement.c: (gst_element_send_event),
24893         (gst_element_set_state):
24894         Add some comment.
24895
24896 2005-09-22  Wim Taymans  <wim@fluendo.com>
24897
24898         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24899         (gst_query_parse_segment):
24900         * gst/gstquery.h:
24901         More documentation.
24902         Add segment query for future use.
24903
24904 2005-09-22  Wim Taymans  <wim@fluendo.com>
24905
24906         * gst/gstbin.c: (gst_bin_add_func):
24907         Some more debug info.
24908
24909         * gst/gstelement.c: (gst_element_send_event):
24910         Simplify send_event
24911
24912         * gst/gstelement.h:
24913         Don't know how flags got broken.
24914
24915         * gst/gstquery.h:
24916         Added new query.
24917
24918 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24919
24920         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24921           Add simplistic test suite for GST_TYPE_DATE serialisation and
24922           deserialisation.
24923
24924 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24925
24926         * docs/gst/gstreamer-sections.txt:
24927         * gst/gststructure.c: (gst_structure_set_valist),
24928         (gst_structure_get_date):
24929         * gst/gststructure.h:
24930         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24931         (gst_date_copy), (gst_value_compare_date),
24932         (gst_value_serialize_date), (gst_value_deserialize_date),
24933         (gst_value_transform_date_string),
24934         (gst_value_transform_string_date), (_gst_value_initialize):
24935         * gst/gstvalue.h:
24936           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24937           bunch of utility functions along with a hack that checks that
24938           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24939           is required. Part of the grand scheme in #170777.
24940
24941 2005-09-22  Andy Wingo  <wingo@pobox.com>
24942
24943         * gst/gstconfig.h.in: Psych out gtk-doc.
24944
24945         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24946
24947         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24948
24949         * tools/gst-inspect.c (print_element_list): Plug some
24950         inconsequential leaks.
24951
24952         * gst/gstregistry.c (gst_registry_get_default): Doc.
24953
24954         * check/gst/gstplugin.c: 
24955         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24956         * gst/gstelementfactory.c (gst_element_factory_create): 
24957         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24958         refcount changes.
24959
24960         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24961         (gst_plugin_feature_load): Doc, don't eat refs.
24962
24963         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24964         (gst_plugin_list_free): Doc.
24965         (gst_plugin_load_file): Doc updates.
24966
24967         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24968         accessors returning refcounted objects, return a ref.
24969
24970         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24971         accessor for caps. IDEMPOTENCE. Oh yes.
24972
24973 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24974
24975         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24976
24977         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24978         (_gst_debug_register_funcptr):
24979           Add mutex to serialise access to the hash table with
24980           the function pointer => function name string mapping;
24981           make that hash table static scope (#316809).
24982
24983         * gst/registries/.cvsignore:
24984           Remove left-over file.
24985
24986 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24987
24988         * docs/pwg/appendix-porting.xml:
24989           And something about newsegment events and caps-on-buffers to
24990           the porting guide (feel free to improve).
24991
24992 2005-09-21  Andy Wingo  <wingo@pobox.com>
24993
24994         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24995         data and event probes on the same pad.
24996         (test_buffer_probe_once): Test that removing probes from within
24997         the probe functions works.
24998
24999 2005-09-21  Andy Wingo  <wingo@pobox.com>
25000
25001         * check/gst/gstutils.c: New file.
25002         (test_buffer_probe_n_times): A simple buffer probe test. More to
25003         come, foolios.
25004
25005         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
25006         have-data::buffer, not have-data.
25007         (gst_pad_add_event_probe): Likewise for have-data::event.
25008         (gst_pad_add_data_probe): More docs. The part about 'resolving the
25009         peer' isn't quite right yet though.
25010         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
25011         (gst_pad_remove_data_probe): Change to take the guint handler_id
25012         as their arg, not the function+data, which is more glib-like.
25013
25014         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
25015         the signal emission to indicate if the data is a buffer or an
25016         event.
25017         (gst_pad_get_type): Initialize buffer and event quarks.
25018         (gst_pad_class_init): have-data is now a detailed signal, yes it
25019         is.
25020
25021 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
25022
25023         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25024         * gst/gstutils.c: (gst_util_set_value_from_string),
25025         (gst_util_set_object_arg):
25026           Don't put functional code in g_return_if_fail() or
25027           g_return_val_if_fail() statements, otherwise things will 
25028           break when G_DISABLE_CHECKS is defined during compilation.
25029
25030 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25031
25032         * docs/gst/tmpl/.cvsignore:
25033         * docs/gst/tmpl/gstvalue.sgml:
25034         * gst/gstvalue.c:
25035         * gst/gstvalue.h:
25036           inlied another one and added  some obvious docs
25037
25038 2005-09-21  Wim Taymans  <wim@fluendo.com>
25039
25040         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
25041         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
25042         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
25043         (gst_fdsrc_get_property), (gst_fdsrc_create):
25044         * gst/elements/gstfdsrc.h:
25045         Properly implement fdsrc. Removed signal and timeout,
25046         better implemented somewhere else.
25047
25048 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25049
25050         * docs/gst/tmpl/.cvsignore:
25051         * docs/gst/tmpl/gstimplementsinterface.sgml:
25052         * gst/gstinterface.c:
25053           inlined more docs
25054
25055 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25056
25057         * docs/gst/gstreamer-sections.txt:
25058         * docs/gst/tmpl/.cvsignore:
25059         * docs/gst/tmpl/gstenumtypes.sgml:
25060           remove obsolete doc file
25061
25062 2005-09-21  David Schleef  <ds@schleef.org>
25063
25064         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
25065         little beer, fix a little leak.
25066
25067 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
25068
25069         * docs/gst/gstreamer-docs.sgml:
25070         * docs/gst/gstreamer-sections.txt:
25071         * docs/gst/tmpl/.cvsignore:
25072         * gst/Makefile.am:
25073         * gst/gst.h:
25074         * gst/gstbin.c:
25075         * gst/gstelement.h:
25076         * gst/gstindex.c: (gst_index_class_init):
25077         * gst/gstindex.h:
25078         * gst/gstindexfactory.c: (gst_index_factory_get_type),
25079         (gst_index_factory_class_init), (gst_index_factory_init),
25080         (gst_index_factory_finalize), (gst_index_factory_new),
25081         (gst_index_factory_destroy), (gst_index_factory_find),
25082         (gst_index_factory_create), (gst_index_factory_make):
25083         * gst/gstindexfactory.h:
25084         * gst/gstpluginfeature.c:
25085         * gst/gstpluginfeature.h:
25086         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25087           more docs inlined, splitted gstindex.{c,h}
25088
25089 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25090
25091         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25092           fix a leak
25093
25094 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25095
25096         * gst/elements/gstfilesink.c: (gst_file_sink_init):
25097           Set sync to FALSE by default.
25098
25099 2005-09-20  Wim Taymans  <wim@fluendo.com>
25100
25101         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25102         (gst_base_sink_init):
25103         Make sync property settable from subclass.
25104
25105         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25106         (gst_fake_sink_change_state):
25107         Set sync to FALSE by default.
25108
25109 2005-09-20  Wim Taymans  <wim@fluendo.com>
25110
25111         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
25112         * tools/gst-launch.c: (main):
25113         The timeout handler should have lower priority than the source
25114         so we don't timeout before popping a message with 0 timeout.
25115         Dump error messages after failed state change.
25116
25117 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
25118
25119         * tools/gst-inspect.c: (print_element_properties_info):
25120           Fix two typos.
25121
25122 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25123
25124         * check/gst/gstevent.c:
25125         * gst/elements/gstfakesink.c:
25126         * gst/elements/gstfakesink.h:
25127           remove the sync property from fakesink.
25128           has the side effect of setting sync TRUE
25129           for fakesink, which is a change.  Anyone who knows how
25130           to fix this nicely in a GObject-y way, feel free.
25131
25132 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25133
25134         * docs/gst/gstreamer-docs.sgml:
25135           remove probe refsection
25136
25137 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25138
25139         * check/Makefile.am:
25140           disable valgrinding the controller test again
25141         * docs/gst/gstreamer-sections.txt:
25142           update for api-changes
25143
25144 2005-09-20  Wim Taymans  <wim@fluendo.com>
25145
25146         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
25147         (gst_base_sink_set_property), (gst_base_sink_get_property),
25148         (gst_base_sink_do_sync):
25149         * gst/base/gstbasesink.h:
25150         Added sync property to basesink to disable clock sync.
25151
25152 2005-09-20  Andy Wingo  <wingo@pobox.com>
25153
25154         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
25155         eating the caller's refcount.
25156
25157         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
25158         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
25159         refcount.
25160
25161         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
25162         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
25163         of GLib 2.8 public, so we can know which refcount to check in
25164         tests.
25165
25166         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
25167         (gst_object_init): Only set the gst refcount if we're going ahead
25168         with the refcount hack.
25169
25170 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25171
25172         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25173         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
25174           more leaks plumbed, added more debug-logging
25175         * gst/gstmacros.h:
25176           whitespace fix
25177
25178 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25179
25180         * gst/gstmessage.c:
25181           remove include of gstmemchunk.h
25182
25183 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25184
25185         * gst/gstclock.c: (_gst_clock_id_free):
25186           Commit from the Political Party For More Atomic CVS Commits,
25187           so that people don't waste too much of their day fishing
25188           out obvious leaks out of massive commits.
25189           Oh, and fix a pretty damn obvious leak in the memchunk
25190           removal code.
25191
25192 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
25193
25194         * check/Makefile.am:
25195         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
25196           plug mem-leak, re-add to valgrindable tests
25197
25198 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
25199
25200         * gst/gstplugin.h:
25201           unbreak the build for those who have chronic arthritis
25202           and typing "make check" is just too taxing on the hands
25203
25204 2005-09-20  Andy Wingo  <wingo@pobox.com>
25205
25206         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
25207         really want it out, you should fix plugins at the same time.
25208
25209 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
25210
25211         * configure.ac:
25212         * docs/gst/gstreamer-sections.txt:
25213         * gst/gstobject.c:
25214           added missing symbols to api docs
25215           disable ref-count hack if we have glib >= 2.8
25216
25217 2005-09-19  David Schleef  <ds@schleef.org>
25218
25219         * docs/gst/Makefile.am: Ignore a few more internal headers
25220         * docs/gst/gstreamer-docs.sgml: Remove old sections
25221         * docs/gst/gstreamer-sections.txt: Remove old sections
25222         * docs/gst/tmpl/gstobject.sgml: update
25223         * docs/gst/tmpl/gstplugin.sgml: update
25224         * docs/gst/tmpl/gstpluginfeature.sgml: update
25225         * docs/random/ds/0.9-suggested-changes: update.
25226         * gst/Makefile.am: remove memchunk and trashstack, since they're
25227           not used.
25228         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
25229         * gst/gst.h: don't include some headers
25230         * gst/gstchildproxy.c: add gstmarshal.h
25231         * gst/gstclock.c: Don't use memchunks
25232         * gst/gstminiobject.c: Add some docs
25233         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
25234         * gst/gstobject.h: same
25235         * gst/gstplugin.c: include gstmacros.h
25236         * gst/gstplugin.h: don't include gstmacros.h, since it's private
25237         * gst/gstquery.c: don't use memchunks
25238         * gst/gstregistry.c: rename gst_registry_deinit()
25239         * gst/gstregistry.h: same
25240
25241 2005-09-19  David Schleef  <ds@schleef.org>
25242
25243         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
25244         * docs/libs/gstreamer-libs-sections.txt:
25245         * docs/libs/tmpl/gstgetbits.sgml:
25246         * docs/libs/tmpl/gstputbits.sgml:
25247
25248 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
25249
25250         * win32/gstenumtypes.c:
25251         * win32/gstenumtypes.h:
25252           Update.
25253
25254 2005-09-19  Wim Taymans  <wim@fluendo.com>
25255
25256         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25257         Automatically PAUSE and RESUME a pipeline when a flushing seek
25258         is performed.
25259
25260 2005-09-19  Andy Wingo  <wingo@pobox.com>
25261
25262         * gst/gstregistry.h: Spacing fixen.
25263
25264 2005-09-19  Wim Taymans  <wim@fluendo.com>
25265
25266         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25267         Handle state change failure more correctly.
25268
25269 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25270
25271         * check/Makefile.am:
25272         * check/pipelines/cleanup.c: (run_pipeline):
25273         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25274         (GST_START_TEST):
25275           enable cleanup again after fixing the leak
25276         * docs/README:
25277           some more info on docs
25278
25279 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25280
25281         * check/Makefile.am:
25282           re-enable tests now that leaks are plugged
25283         * check/gst/gst.c:
25284         * check/gst/gstbin.c:
25285         * check/gst/gstpipeline.c:
25286           add some more tests while fixing leaks
25287         * common/check.mak:
25288           make sure binaries are uptodate when valgrinding/gdbing
25289         * gst/gst.c:
25290         * gst/gstelementfactory.c:
25291           remove a ref too many, and add a FIXME for when we get
25292           round to disposing of classes
25293         * gst/gstplugin.c:
25294           fix the refcounting when loading a plugin from a file and
25295           the code pretends that the pointer is the same even though
25296           of course it can change
25297         * gst/gstpluginfeature.c:
25298           unref plugins marked cached (a bit confusing as a name)
25299           as the docs state should be done
25300           various doc additions to explain refcounting
25301         * gst/gstregistry.c:
25302         * gst/gstregistryxml.c:
25303           debugging
25304
25305 2005-09-19  Wim Taymans  <wim@fluendo.com>
25306
25307         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25308         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25309         (send_messages), (GST_START_TEST), (gstbus_suite):
25310         * check/gst/gstpipeline.c: (GST_START_TEST):
25311         * check/pipelines/cleanup.c: (run_pipeline):
25312         * check/pipelines/simple_launch_lines.c: (run_pipeline),
25313         (GST_START_TEST):
25314         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25315         (gst_bus_source_check), (gst_bus_source_dispatch),
25316         (gst_bus_create_watch), (gst_bus_add_watch_full),
25317         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25318         * gst/gstbus.h:
25319         * tools/gst-launch.c: (event_loop):
25320         * tools/gst-md5sum.c: (event_loop):
25321         GstBusHandler -> GstBusFunc, return value has the same meaning as
25322         any other GSource (FALSE == remove source).
25323         _add_watch() and _add_watch_full() now take a MessageType mask to
25324         only handle specific types of messages.
25325         _poll() returns the GstMessage instead of the message type to avoid
25326         race conditions.
25327         _have_pending() takes a MessageType mask now too.
25328         Added testsuite for multiple bus watches.
25329         Fix testsuites and applications for new bus API.
25330
25331 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25332
25333         * check/Makefile.am:
25334           mark a bunch of the tests as to fix until we fix them
25335
25336 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25337
25338         * common/check.mak:
25339           use GST_PLUGIN settings for valgrind tests as well, so we're
25340           valgrinding the correct thing
25341         * gst/gst.c: (init_post):
25342           plug another leak
25343
25344 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25345
25346         * gst/gst.c: (init_post), (gst_deinit):
25347         * gst/gstelementfactory.c: (gst_element_factory_class_init),
25348         (gst_element_factory_finalize), (gst_element_factory_cleanup):
25349         * gst/gstindex.c: (gst_index_factory_class_init),
25350         (gst_index_factory_finalize):
25351         * gst/gstobject.c: (gst_object_dispose):
25352         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25353         (gst_plugin_load_file), (gst_plugin_desc_free):
25354         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25355         (gst_plugin_feature_finalize):
25356         * gst/gstregistry.c: (gst_registry_class_init),
25357         (gst_registry_init), (gst_registry_finalize),
25358         (gst_registry_get_default), (gst_registry_deinit):
25359         * gst/gstregistry.h:
25360         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25361           various cleanups and memleak plugging.  make valgrind is happy now.
25362
25363 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25364
25365         * common/check.mak:
25366           add a check-valgrind target
25367
25368 2005-09-18  David Schleef  <ds@schleef.org>
25369
25370         * tools/gst-inspect.c: Revert the GOption code.
25371
25372 2005-09-17  David Schleef  <ds@schleef.org>
25373
25374         * check/Makefile.am: Fix environment variables.
25375         * check/gst/gstplugin.c: Fix for API changes.
25376         * tools/gst-inspect.c: Fix for API changes.
25377         * tools/gst-xmlinspect.c: Fix for API changes.
25378         * gst/gstelementfactory.c:
25379         * gst/gstplugin.c:
25380         * gst/gstplugin.h:
25381         * gst/gstpluginfeature.c:
25382         * gst/gstpluginfeature.h:
25383         * gst/gstregistry.c:
25384         * gst/gstregistry.h:
25385         * gst/gstregistryxml.c:
25386         * gst/gsttypefind.c:
25387         * gst/gsttypefindfactory.c:
25388         * gst/indexers/gstfileindex.c:
25389         * gst/indexers/gstmemindex.c:
25390         * gst/schedulers/Makefile.am:
25391           Change registry to keep track of both plugins and features,
25392           removing the feature tracking from plugins themselves.
25393
25394 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25395
25396         * check/Makefile.am:
25397         * tools/gst-register.1.in:
25398           remove gst-register
25399
25400 2005-09-15  David Schleef  <ds@schleef.org>
25401
25402         * check/gst/gstplugin.c:
25403         * gst/gstelementfactory.c:
25404         * gst/gstplugin.c:
25405         * gst/gstpluginfeature.c:
25406         * gst/gstregistry.c:
25407           Getting tired of debugging.  Disabled all the unreffing of
25408           plugins and features, which fixes the segfaults, but of
25409           course leaks like crazy.  At least playbin works.
25410
25411 2005-09-15  David Schleef  <ds@schleef.org>
25412
25413         * check/gst/gstplugin.c: (register_check_elements),
25414         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25415         More testing
25416         * gst/elements/gsttypefindelement.c: Fix refcounting.
25417         * gst/gsttypefind.c:
25418         * gst/gsttypefindfactory.c:
25419         * gst/gsttypefindfactory.h:
25420
25421 2005-09-15  David Schleef  <ds@schleef.org>
25422
25423         * gst/gstindex.c: get refcounting correct.
25424         * gst/gstregistry.c: Handle the case where a feature/plugin is
25425           not found.
25426
25427 2005-09-15  David Schleef  <ds@schleef.org>
25428
25429         * check/Makefile.am:
25430         * check/gst/gstplugin.c: Add test
25431         * gst/gstplugin.c: Fix problems noticed by testsuite
25432         * gst/gstplugin.h:
25433         * gst/gstregistry.c: 
25434         * gst/gstregistry.h:
25435
25436 2005-09-15  David Schleef  <ds@schleef.org>
25437
25438         * gst/gstplugin.c: Implement semi-decent recounting and locking
25439           in plugins and plugin features.
25440         * gst/gstplugin.h:
25441         * gst/gstpluginfeature.c:
25442         * gst/gstpluginfeature.h:
25443         * gst/gstregistry.c:
25444
25445 2005-09-15  Michael Smith <msmith@fluendo.com>
25446
25447         * gst/gstregistry.c: (gst_registry_get_feature_list):
25448           Implement this. Makes oggdemux work; decodebin still broken.
25449
25450 2005-09-14  David Schleef  <ds@schleef.org>
25451
25452         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25453           #316076)
25454         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25455         * gst/check/Makefile.am:
25456         * libs/gst/controller/Makefile.am:
25457         * libs/gst/dataprotocol/Makefile.am:
25458
25459 2005-09-14  David Schleef  <ds@schleef.org>
25460
25461         * configure.ac: Remove getbits library.  Nothing uses it, and
25462           it should be in something like liboil if someone did want
25463           to use it.
25464         * libs/gst/Makefile.am:
25465         * libs/gst/getbits/Makefile.am:
25466         * libs/gst/getbits/gbtest.c:
25467         * libs/gst/getbits/getbits.c:
25468         * libs/gst/getbits/getbits.h:
25469         * libs/gst/getbits/gstgetbits_generic.c:
25470         * libs/gst/getbits/gstgetbits_i386.s:
25471         * libs/gst/getbits/gstgetbits_inl.h:
25472
25473 2005-09-14  David Schleef  <ds@schleef.org>
25474
25475         * gst/Makefile.am: Dist glib-compat.h
25476
25477 2005-09-14  David Schleef  <ds@schleef.org>
25478
25479         * configure.ac: Remove gst/registries, since it's no longer used.
25480         * gst/registries/Makefile.am:
25481         * gst/registries/gstlibxmlregistry.c:
25482         * gst/registries/gstlibxmlregistry.h:
25483         * gst/registries/gstxmlregistry.c:
25484         * gst/registries/gstxmlregistry.h:
25485         * gst/registries/registrytest.c:
25486
25487 2005-09-14  David Schleef  <ds@schleef.org>
25488
25489         * gst/glib-compat.h:
25490         * gst/gstregistryxml.c:
25491           Convergence is near.  Seriously.
25492
25493 2005-09-14  David Schleef  <ds@schleef.org>
25494
25495         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25496         * gst/glib-compat.h:
25497           Attempt #4 to appease the buildbots.
25498
25499 2005-09-14  David Schleef  <ds@schleef.org>
25500
25501         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25502           Attempt #3.
25503
25504 2005-09-14  David Schleef  <ds@schleef.org>
25505
25506         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25507         Attempt #2.
25508
25509 2005-09-14  David Schleef  <ds@schleef.org>
25510
25511         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25512           the new functions.
25513
25514 2005-09-14  David Schleef  <ds@schleef.org>
25515
25516         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25517         * gst/glib-compat.h: Add some functions that are in newer versions
25518           of glib than we care to require.
25519         * gst/gstregistryxml.c: Use them.
25520
25521 2005-09-14  David Schleef  <ds@schleef.org>
25522
25523         * po/POTFILES.in: remove gst-register.c
25524
25525 2005-09-14  David Schleef  <ds@schleef.org>
25526
25527         * docs/gst/gstreamer-docs.sgml:
25528         * docs/gst/gstreamer-sections.txt:
25529         * docs/gst/gstreamer.types:
25530         * docs/gst/tmpl/gstelement.sgml:
25531         * docs/gst/tmpl/gstplugin.sgml:
25532         * docs/gst/tmpl/gstpluginfeature.sgml:
25533           Documentation updates for registry changes.
25534
25535 2005-09-14  David Schleef  <ds@schleef.org>
25536
25537         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25538           because we don't require glib-2.8.
25539
25540 2005-09-14  David Schleef  <ds@schleef.org>
25541
25542         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25543           registries directory.
25544
25545 2005-09-14  David Schleef  <ds@schleef.org>
25546
25547         * check/Makefile.am:
25548         * check/generic/states.c:
25549         * gst/Makefile.am:
25550         * gst/gst.c:
25551         * gst/gst.h:
25552         * gst/gst_private.h:
25553         * gst/gstelementfactory.c:
25554         * gst/gstindex.c:
25555         * gst/gstinfo.c:
25556         * gst/gstplugin.c:
25557         * gst/gstplugin.h:
25558         * gst/gstpluginfeature.c:
25559         * gst/gstpluginfeature.h:
25560         * gst/gstregistry.c:
25561         * gst/gstregistry.h:
25562         * gst/gstregistrypool.c: remove
25563         * gst/gstregistrypool.h: remove
25564         * gst/gsttypefind.c:
25565         * gst/gsttypefindfactory.c:
25566         * gst/gsturi.c:
25567         * tools/Makefile.am:
25568         * tools/gst-compprep.c:
25569         * tools/gst-inspect.c:
25570         * tools/gst-register.c: remove
25571         * tools/gst-xmlinspect.c:
25572           Registry rewrite.  Changes registry from being a file created
25573           by a tool into a simple cache file created automatically by 
25574           libgstreamer.  Removed gst-register (because it's no longer
25575           needed).  Remove registry pools, because we only have one
25576           registry implementation (XML).  Fix up other subsystems as
25577           necessary.
25578
25579 2005-09-13  Michael Smith <msmith@fluendo.com>
25580
25581         * gst/gstconfig.h.in:
25582           Don't Use windows linking attributes for MinGW. Fixes #316157
25583
25584 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25585
25586         * gst/gstutils.c: (set_state_async_thread_func),
25587         (gst_element_set_state_async):
25588           Apparently people think it's better if this function doesn't
25589           try to set the state to whatever state was asked for on the first
25590           call to this function for any object.  Seriously.
25591
25592 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25593
25594         * check/gst/gstpipeline.c: (GST_START_TEST):
25595         * docs/gst/gstreamer-sections.txt:
25596         * gst/gstutils.c: (set_state_async_thread_func),
25597         (gst_element_set_state_async):
25598         * gst/gstutils.h:
25599           add a "gst_element_set_state_async" method that
25600           sets the state and starts a thread to make sure the state
25601           change completes as best as it can
25602
25603 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25604
25605         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25606           codify design+behaviour in testsuite after discussion
25607
25608 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25609
25610         * docs/gst/tmpl/gstelement.sgml:
25611         * docs/manual/appendix-quotes.xml:
25612           add a quote
25613         * gst/gstelement.c: (gst_element_set_state):
25614           add some debug
25615
25616 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25617
25618         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25619         (gst_base_transform_prepare_output_buf),
25620         (gst_base_transform_handle_buffer):
25621         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25622         (gst_capsfilter_prepare_buf):
25623           Remove the requirement for sub-classes to call the parent
25624           implementation of prepare_output_buffer with a wrapper function.
25625           
25626         * gst/gsttaglist.h:
25627         * gst/gsttagsetter.h:
25628           Fix #define wrapper
25629
25630 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25631
25632         * docs/gst/gstreamer-sections.txt:
25633           more doc cleanups
25634
25635 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25636
25637         * docs/gst/gstreamer-sections.txt:
25638         * docs/gst/tmpl/gstelement.sgml:
25639         * docs/gst/tmpl/gstplugin.sgml:
25640         * gst/gstminiobject.c:
25641         * gst/gstvalue.h:
25642           docs now stop throwing warnings
25643
25644 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25645
25646         * docs/gst/gstreamer-sections.txt:
25647         * docs/gst/gstreamer.types:
25648         * docs/gst/tmpl/gstpad.sgml:
25649         * docs/gst/tmpl/gsttypes.sgml:
25650         * gst/base/gstadapter.h:
25651         * gst/base/gstbasesink.h:
25652         * gst/base/gstbasesrc.h:
25653         * gst/gstbin.h:
25654         * gst/gstbuffer.h:
25655         * gst/gstbus.h:
25656         * gst/gstcaps.h:
25657         * gst/gstclock.h:
25658         * gst/gstelement.h:
25659         * gst/gstevent.h:
25660         * gst/gstmessage.h:
25661         * gst/gstpad.h:
25662         * gst/gststructure.c:
25663         * gst/registries/gstlibxmlregistry.h:
25664           various documentation fixes
25665
25666 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25667
25668         * docs/gst/gstreamer-sections.txt:
25669         * docs/gst/tmpl/gstvalue.sgml:
25670           rearrange gstvalue section
25671         * gst/gstutils.c: (gst_element_state_get_name):
25672           NONE -> VOID
25673         * gst/gstvalue.c: (_gst_value_initialize):
25674         * gst/gstvalue.h:
25675           doc updates
25676
25677 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25678
25679         * check/gst-libs/controller.c:
25680           Header include fix.
25681         * gst/base/gstbasetransform.c:
25682         (gst_base_transform_default_prepare_buf),
25683         (gst_base_transform_handle_buffer):
25684         * gst/base/gstbasetransform.h:
25685           Some more basetransform changes and fixes to enable sub-classes
25686           that modify buffer metadata only.
25687         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25688         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25689         (gst_capsfilter_prepare_buf):
25690           If the output pad has fixed allowed caps and input buffers 
25691           don't have any, set the fixed caps on outgoing buffers.
25692
25693 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25694         * check/elements/identity.c: (GST_START_TEST):
25695           Make the error a little clearer when the test fails because
25696           identity made a copy of the buffer.
25697         * docs/gst/gstreamer-sections.txt:
25698           New symbols in gstbasetransform.h
25699         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25700         (gst_base_transform_init), (gst_base_transform_transform_size),
25701         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25702         (gst_base_transform_default_prepare_buf),
25703         (gst_base_transform_get_unit_size),
25704         (gst_base_transform_buffer_alloc),
25705         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25706         (gst_base_transform_change_state),
25707         (gst_base_transform_set_passthrough),
25708         (gst_base_transform_set_in_place),
25709         (gst_base_transform_is_in_place):
25710         * gst/base/gstbasetransform.h:
25711           Change BaseTransform to separate in_place operate from same_caps
25712           output. in_place implies that the element can perform the transform
25713           on incoming buffers in-place, even if the caps on the output are
25714           different.
25715           Sub-class elements can now implement special buffer allocation
25716           methods for outgoing buffers if they wish to.
25717           Big documentation addition.
25718         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25719         * gst/elements/gstelements.c:
25720           Changes for basetransform modifications.
25721         * gst/elements/Makefile.am:
25722         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25723           Compile fix. Extra debug output.
25724
25725 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25726
25727         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25728         (gst_pad_suite):
25729           add tests for valid pad naming
25730         * gst/check/gstcheck.c: (gst_check_log_message_func),
25731         (gst_check_log_critical_func):
25732           add ASSERT_WARNING
25733           remove printing of code, it is fragile when the code contains
25734           % and the line number is enough info
25735         * gst/check/gstcheck.h:
25736         * gst/gstpad.c: (gst_pad_template_new):
25737           fix memleaks
25738
25739 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25740
25741         * configure.ac:
25742           say what CHECK flags we use
25743         * docs/libs/gstreamer-libs.types:
25744         * libs/gst/controller/Makefile.am:
25745         * libs/gst/controller/gst-controller.c:
25746         * libs/gst/controller/gst-controller.h:
25747         * libs/gst/controller/gst-helper.c:
25748         * libs/gst/controller/gst-interpolation.c:
25749         * libs/gst/controller/gstcontroller.c:
25750         * libs/gst/controller/gsthelper.c:
25751         * libs/gst/controller/gstinterpolation.c:
25752         * tools/gst-inspect.c: (print_plugin_info):
25753           we don't use dashes in header names
25754
25755 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25756
25757         * check/Makefile.am:
25758         * check/gst/.cvsignore:
25759         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25760         (gst_pipeline_suite), (main):
25761           adding a test for pipelines and state changes
25762         * gst/gstutils.c: (get_state_func):
25763           add some debugging
25764         * gstreamer.spec.in:
25765           fix up spec file
25766
25767 2005-09-08  Michael Smith <msmith@fluendo.com>
25768
25769         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25770         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25771         (gst_file_src_is_seekable), (gst_file_src_get_size),
25772         (gst_file_src_start):
25773         * gst/elements/gstfilesrc.h:
25774           Various fixes for unseekable, unmmapable, and non-normal files, so
25775           that fallback to read() rather than mmap() works.
25776         * gst/gstevent.c: (gst_event_new_newsegment):
25777           Allow newsegment events with segment_start == segment_end, as will
25778           correctly happen if you use filesrc on a zero-size file, for
25779           example.
25780
25781 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25782
25783         * gst/gstplugin.c: (gst_plugin_load_file):
25784           Call g_module_close when we don't load the module
25785
25786         * gst/registries/gstlibxmlregistry.c:
25787         (gst_xml_registry_get_property):
25788           Port leak fix from 0.8
25789
25790 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25791
25792         * docs/gst/gstreamer-docs.sgml:
25793         * docs/gst/tmpl/.cvsignore:
25794         * docs/gst/tmpl/gsttrace.sgml:
25795         * docs/gst/tmpl/gsttrashstack.sgml:
25796         * gst/Makefile.am:
25797         * gst/gst.h:
25798         * gst/gstelement.h:
25799         * gst/gstevent.h:
25800         * gst/gstmessage.c:
25801         * gst/gstmessage.h:
25802         * gst/gsttag.c:
25803         * gst/gsttag.h:
25804         * gst/gsttaginterface.c:
25805         * gst/gsttaginterface.h:
25806         * gst/gsttaglist.c:
25807         * gst/gsttaglist.h:
25808         * gst/gsttagsetter.c:
25809         * gst/gsttagsetter.h:
25810         * gst/gsttrace.c:
25811         * gst/gsttrace.h:
25812         * gst/gsttrashstack.c:
25813           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25814           inlined docs for gsttrace, gsttrashstack
25815
25816 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25817
25818         * gst/Makefile.am:
25819         * gst/elements/gstbufferstore.h:
25820         * gst/elements/gsttypefindelement.c:
25821         * gst/elements/gsttypefindelement.h:
25822         * gst/gst.h:
25823         * gst/gsttypefind.c:
25824         * gst/gsttypefind.h:
25825         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25826         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25827         (gst_type_find_factory_dispose),
25828         (gst_type_find_factory_unload_thyself),
25829         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25830         (gst_type_find_factory_get_caps),
25831         (gst_type_find_factory_get_extensions),
25832         (gst_type_find_factory_call_function):
25833         * gst/gsttypefindfactory.h:
25834         * gst/registries/gstlibxmlregistry.c:
25835         * gst/registries/gstxmlregistry.c:
25836           splitted gsttypefind into gsttypefind, gsttypefindfactory
25837
25838 2005-09-07  Andy Wingo  <wingo@pobox.com>
25839
25840         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25841         condition whereby the pad's task function is entered before the
25842         pad_mode variable was set.
25843
25844 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25845
25846         * gst/gstpad.c: (gst_pad_alloc_buffer):
25847           Catch misbehaving pad_alloc functions that don't
25848           set up caps and do it for them.
25849
25850 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25851
25852         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25853           test for pipe!=NULL
25854         * docs/gst/tmpl/.cvsignore:
25855         * docs/gst/tmpl/gstmemchunk.sgml:
25856         * docs/gst/tmpl/gstparse.sgml:
25857         * docs/gst/tmpl/gsttaglist.sgml:
25858         * docs/gst/tmpl/gsttagsetter.sgml:
25859         * docs/gst/tmpl/gsttypefind.sgml:
25860         * docs/gst/tmpl/gsttypefindfactory.sgml:
25861         * gst/gstmemchunk.c:
25862         * gst/gstparse.c:
25863         * gst/gsttag.c:
25864         * gst/gsttaginterface.c:
25865         * gst/gsttypefind.c:
25866         * gst/gsttypefind.h:
25867           inlined more docs
25868
25869 === release 0.9.2 ===
25870
25871 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25872
25873         * NEWS:
25874         * RELEASE:
25875         * configure.ac:
25876           releasing 0.9.2, "South"
25877
25878 2005-09-05  Andy Wingo  <wingo@pobox.com>
25879
25880         * gst/registries/gstxmlregistry.h:
25881         * gst/registries/gstxmlregistry.c: Um... resurrect...
25882         
25883         * gst/registries/gstxmlregistry.h:
25884         * gst/registries/gstxmlregistry.c: and update to newer API.
25885         Incidentally they should be a bit faster now that they don't have
25886         to parse the caps.
25887         
25888 2005-09-05  Andy Wingo  <wingo@pobox.com>
25889
25890         * gst/registries/gstxmlregistry.h:
25891         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25892         replaced by the libxml registry a while back
25893
25894 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25895
25896         * docs/gst/tmpl/gstplugin.sgml:
25897         * gst/elements/gstelements.c:
25898         * gst/gst.c:
25899         * gst/gstplugin.c: (gst_plugin_register_func),
25900         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25901         (gst_plugin_get_source):
25902         * gst/gstplugin.h:
25903         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25904         (gst_xml_registry_save_plugin):
25905         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25906         (gst_xml_registry_save_plugin):
25907         * tools/gst-inspect.c: (print_plugin_info):
25908           add a "source" plugin description field, to represent the source
25909           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25910           will set it to PACKAGE, which is automake's idea of the name of
25911           the source project.
25912
25913 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25914
25915         * Makefile.am:
25916         * autogen.sh:
25917         * configure.ac:
25918         * docs/Makefile.am:
25919         * docs/faq/Makefile.am:
25920         * docs/gst/tmpl/gstelement.sgml:
25921         * docs/gst/tmpl/gsttypes.sgml:
25922         * docs/htmlinstall.mak:
25923         * docs/manual/Makefile.am:
25924         * docs/pwg/Makefile.am:
25925           reorganize doc build a little
25926           split out docbook and gtk-doc stuff
25927           have two separate --enable's and enable them through autogen
25928           but disable by default in configure (to be similar to other
25929           projects)
25930         * gstreamer.spec.in:
25931           clean up docs install
25932         * po/af.po:
25933         * po/az.po:
25934         * po/ca.po:
25935         * po/cs.po:
25936         * po/de.po:
25937         * po/en_GB.po:
25938         * po/fr.po:
25939         * po/it.po:
25940         * po/nb.po:
25941         * po/nl.po:
25942         * po/ru.po:
25943         * po/sq.po:
25944         * po/sr.po:
25945         * po/sv.po:
25946         * po/tr.po:
25947         * po/uk.po:
25948         * po/vi.po:
25949           translation updates
25950
25951 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25952
25953         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25954           Add comment.
25955           
25956         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25957         (gst_fake_sink_change_state):
25958           Make state change function thread-safe.
25959           
25960         * gst/gstpad.c: (gst_pad_alloc_buffer):
25961           Set offset on generic buffer allocated by fallback.
25962
25963 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25964
25965         * docs/gst/gstreamer-sections.txt:
25966         * docs/gst/tmpl/gstelement.sgml:
25967         * gst/gstpad.c:
25968         * libs/gst/controller/gst-controller.c:
25969         (gst_controlled_property_set_interpolation_mode),
25970         (gst_controlled_property_new),
25971         (gst_controller_find_controlled_property):
25972          run the wingo-magic script against the docs
25973
25974 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25975
25976         * docs/gst/gstreamer-docs.sgml:
25977         * docs/gst/gstreamer-sections.txt:
25978         * docs/gst/tmpl/.cvsignore:
25979         * docs/gst/tmpl/gstelementdetails.sgml:
25980         * docs/gst/tmpl/gstelementfactory.sgml:
25981         * gst/gst.c:
25982         * gst/gstbus.c:
25983         * gst/gstelementfactory.c:
25984         * gst/gstelementfactory.h:
25985           merged elementdetails docs into elementfactory docs
25986           inlined both
25987
25988 2005-09-02  Andy Wingo  <wingo@pobox.com>
25989
25990         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25991         consider this enum an enum and not a flags.
25992
25993 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25994
25995         * docs/gst/gstreamer-docs.sgml:
25996         * docs/gst/tmpl/.cvsignore:
25997         * docs/gst/tmpl/gstghostpad.sgml:
25998         * docs/gst/tmpl/gstiterator.sgml:
25999         * docs/gst/tmpl/gstmacros.sgml:
26000         * docs/gst/tmpl/gstrealpad.sgml:
26001         * docs/gst/tmpl/gstregistry.sgml:
26002         * docs/gst/tmpl/gstregistrypool.sgml:
26003         * docs/gst/tmpl/gststructure.sgml:
26004         * docs/gst/tmpl/gstsystemclock.sgml:
26005         * docs/gst/tmpl/gsttrace.sgml:
26006         * gst/gstghostpad.c:
26007         * gst/gstmacros.h:
26008         * gst/gstmemchunk.c:
26009         * gst/gstmemchunk.h:
26010         * gst/gstqueue.c:
26011         * gst/gstregistry.c:
26012         * gst/gstregistrypool.c:
26013         * gst/gststructure.c:
26014         * gst/gstsystemclock.c:
26015           more docs inlined
26016
26017 2005-09-02  Andy Wingo  <wingo@pobox.com>
26018
26019         * gst/gstelement.h (GstState): Renamed from GstElementState,
26020         changed to be a normal enum instead of flags.
26021         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
26022         munged to be GST_STATE_CHANGE_*.
26023         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
26024         work with the new state representation.
26025         (GstStateChange): New enumeration of possible state transitions.
26026         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
26027         (GstElementClass::change_state): Pass the GstStateChange along as
26028         an argument. Helps language bindings, so they don't have to use
26029         tricky lock-needing macros like GST_STATE_CHANGE ().
26030
26031         * scripts/update-states (file): New script. Run it on a file to
26032         update it for state naming and API changes. Updates files in
26033         place.
26034
26035         * All files updated for the new API.
26036
26037 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26038
26039         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
26040         * gst/gstutils.c: (gst_util_set_value_from_string),
26041         (gst_util_set_object_arg):
26042           fix a bunch of unchecked return values
26043         * tools/gst-complete.c: (main):
26044         * gstreamer.spec.in:
26045           clean up a little
26046
26047 2005-09-01  Wim Taymans  <wim@fluendo.com>
26048
26049         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26050         (gst_base_sink_event), (gst_base_sink_do_sync),
26051         (gst_base_sink_handle_event):
26052         * gst/base/gstbasesink.h:
26053         Handle newsegments more correctly.
26054
26055         * gst/gstbus.c:
26056         Fix docs.
26057
26058         * gst/gstevent.c: (gst_event_new_newsegment):
26059         A newsegment cannot have a start_time of -1
26060
26061 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
26062
26063         * win32/gstenumtypes.c:
26064         * win32/gstenumtypes.h:
26065           Update
26066
26067 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26068
26069         * libs/gst/controller/gst-controller.c:
26070         (gst_controlled_property_set_interpolation_mode),
26071         (gst_controlled_property_new):
26072          fixed boolean again
26073
26074 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
26075
26076         * docs/faq/gst-uninstalled:
26077           add -good
26078         * gst/gstevent.c:
26079         * gst/gstevent.h:
26080           remove wrong docs
26081         * gst/gstutils.c: (gst_element_link_filtered):
26082         * gst/gstutils.h:
26083           add gst_element_link_filtered
26084
26085 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26086
26087         * docs/gst/gstreamer-docs.sgml:
26088         * docs/gst/gstreamer-sections.txt:
26089         * docs/gst/tmpl/.cvsignore:
26090         * docs/gst/tmpl/gsterror.sgml:
26091         * docs/gst/tmpl/gstfilter.sgml:
26092         * docs/gst/tmpl/gsturihandler.sgml:
26093         * docs/gst/tmpl/gsturitype.sgml:
26094         * docs/gst/tmpl/gstutils.sgml:
26095         * docs/gst/tmpl/gstxml.sgml:
26096         * gst/gsterror.c:
26097         * gst/gsterror.h:
26098         * gst/gstfilter.c:
26099         * gst/gsturi.c:
26100         * gst/gsturitype.c:
26101         * gst/gstutils.c:
26102         * gst/gstxml.c:
26103           inlined more docs, fixed double id-ref
26104
26105 2005-08-31  Wim Taymans  <wim@fluendo.com>
26106
26107         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26108         (gst_base_transform_handle_buffer):
26109         Passthrough elements don't need the caps as they don't care.
26110
26111 2005-08-31  Wim Taymans  <wim@fluendo.com>
26112
26113         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
26114         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
26115         Don't leak refcounts on buffers.
26116
26117 2005-08-31  Wim Taymans  <wim@fluendo.com>
26118
26119         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
26120         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
26121         (gst_base_transform_chain), (gst_base_transform_change_state):
26122         * gst/base/gstbasetransform.h:
26123         Handle the case where we are not negotiated more gracefully.
26124
26125 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
26126
26127         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
26128         (gst_file_src_map_region):
26129           Set READONLY flag on mmap'ed buffers, otherwise
26130           gst_buffer_make_writable() won't work properly (#314708).
26131
26132 2005-08-31  Wim Taymans  <wim@fluendo.com>
26133
26134         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
26135         passthrough elements can even do inplace on non writable
26136         buffers (as they don't touch them).
26137
26138 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
26139
26140         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26141         (gst_test_mono_source_set_property),
26142         (gst_test_mono_source_class_init), (GST_START_TEST),
26143         (gst_controller_suite):
26144           more tests (hehe I have the most)
26145         * gst/gstbus.c:
26146           describe popping messages whenusing mulltiple sources
26147         * libs/gst/controller/gst-controller.c:
26148         (gst_controlled_property_set_interpolation_mode),
26149         (gst_controlled_property_new):
26150         * libs/gst/controller/gst-controller.h:
26151         * libs/gst/controller/gst-interpolation.c:
26152           implement boolean properties
26153
26154 2005-08-31  Wim Taymans  <wim@fluendo.com>
26155
26156         * gst/gstminiobject.c: (gst_mini_object_ref):
26157         Cannot assert that the refcount has to be positive
26158         since a disposed object can be resurrected.
26159
26160 2005-08-31  Wim Taymans  <wim@fluendo.com>
26161
26162         * gst/gstpad.c: (gst_pad_init):
26163         Revert change, need to first fix badly behaving 
26164         apps.
26165
26166 2005-08-30  Wim Taymans  <wim@fluendo.com>
26167
26168         * check/elements/fakesrc.c: (setup_fakesrc):
26169         * check/elements/identity.c: (setup_identity):
26170         Activate pads before using them.
26171
26172 2005-08-30  Wim Taymans  <wim@fluendo.com>
26173
26174         * gst/base/gstadapter.c: (gst_adapter_flush):
26175         Flushing out 0 bytes is ok for this function.
26176
26177         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26178         no newsegment gives a warning and sets the start/stop to 
26179         invalid.
26180
26181         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
26182         (gst_base_transform_set_passthrough):
26183         Some debug info.
26184
26185         * gst/gstminiobject.c: (gst_mini_object_ref):
26186         Check refcount here too.
26187
26188         * gst/gstpad.c: (gst_pad_init):
26189         Pads are initially flushing and refusing data.
26190
26191         * gst/gstutils.c: (gst_element_link_pads_filtered):
26192         When adding a capsfilter element make sure it has the
26193         same state as the parent bin.
26194
26195 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26196
26197         * docs/gst/tmpl/.cvsignore:
26198         * docs/gst/tmpl/gstformat.sgml:
26199         * docs/gst/tmpl/gstversion.sgml:
26200         * gst/gstbus.h:
26201         * gst/gstformat.c:
26202         * gst/gstformat.h:
26203         * gst/gstversion.h.in:
26204           more docs and two more inlined
26205
26206 2005-08-30  Wim Taymans  <wim@fluendo.com>
26207
26208         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
26209         Don't sync to clock.
26210
26211 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26212
26213         * docs/gst/gstreamer-sections.txt:
26214           ultral33t func10ns deserve to appear in the docs actually
26215         * docs/gst/tmpl/.cvsignore:
26216         * docs/gst/tmpl/gstcompat.sgml:
26217         * docs/gst/tmpl/gstconfig.sgml:
26218         * gst/check/gstcheck.c:
26219         * gst/gstcompat.h:
26220         * gst/gstconfig.h.in:
26221           inlined more docs
26222
26223 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26224
26225         * docs/gst/tmpl/.cvsignore:
26226         * docs/gst/tmpl/gstquery.sgml:
26227         * docs/gst/tmpl/gstutils.sgml:
26228         * gst/gstquery.c:
26229         * gst/gstquery.h:
26230           inlined and extended docs
26231
26232 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
26233
26234         * check/gst-libs/controller.c: (GST_START_TEST),
26235         (gst_controller_suite):
26236           more tests
26237         * docs/gst/tmpl/gstutils.sgml:
26238         * docs/libs/gstreamer-libs-sections.txt:
26239         * docs/libs/tmpl/gstdataprotocol.sgml:
26240           include path fixes
26241         * examples/controller/audio-example.c: (main):
26242           controller example works now
26243         * gst/gstclock.h:
26244           doc fixes
26245         * tools/gst-inspect.c: (print_element_properties_info):
26246           show param spec flags
26247
26248 2005-08-29  Andy Wingo  <wingo@pobox.com>
26249
26250         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
26251
26252 2005-08-28  Andy Wingo  <wingo@pobox.com>
26253
26254         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
26255         as having two arguments instead of just one. Allows superclasses
26256         to access information on subclasses -- see the terrible for() loop
26257         in gtype.c:g_type_create_instance for the reason why. All callers
26258         changed.
26259
26260 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26261
26262         * docs/design/part-messages.txt:
26263           update info
26264         * docs/gst/tmpl/.cvsignore:
26265         * docs/gst/tmpl/gstcaps.sgml:
26266         * docs/gst/tmpl/gstclock.sgml:
26267         * gst/gstbus.c:
26268         * gst/gstcaps.c:
26269         * gst/gstcaps.h:
26270         * gst/gstclock.c:
26271         * gst/gstclock.h:
26272         * gst/gstmessage.c:
26273           added descriptions for bus and message
26274           inline caps and clock docs
26275
26276 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26277
26278         * gst/gstmessage.c:
26279         * gst/gstmessage.h:
26280           doc fixes
26281
26282 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
26283
26284         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26285           fix div-by-zero
26286
26287 2005-08-26  Andy Wingo  <wingo@pobox.com>
26288
26289         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26290         element_set_state's return val.
26291         (test_2_elements): Add test that's been disabled for months.
26292
26293         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26294         can-activate-pull properties.
26295
26296         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26297         can-activate-pull properties. Implement is_seekable so fakesrc can
26298         operate in pull mode.
26299
26300         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26301         properties.
26302         (gst_base_sink_activate, gst_base_sink_activate_pull)
26303         (gst_base_sink_activate_push): Make activation mode choosing work.
26304         Cleanups.
26305         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26306         is right. Make pull mode work. Post an eos before pausing in pull
26307         mode.
26308         (gst_base_sink_change_state): Pay attention to the core's
26309         change_state() return val.
26310         
26311         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26312         has-getrange properties. Cleanups.
26313         
26314         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26315         has_getrange and replace with can_activate_pull and
26316         can_activate_push.
26317
26318         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26319         locking comments. Remove has_loop, has_chain and replace with
26320         can_activate_pull and can_activate_push.
26321
26322 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
26323
26324         * configure.ac:
26325         * examples/Makefile.am:
26326         * examples/metadata/Makefile.am:
26327         * examples/metadata/read-metadata.c: (message_loop),
26328         (have_pad_handler), (make_pipeline), (print_tag), (main):
26329           Add metadata reading example that loops over a list of filenames,
26330           dumping any tags found.
26331
26332         * gst/gstbus.c: (gst_bus_dispose):
26333         * gst/gstelement.c: (gst_element_dispose):
26334           Release a few potentially-held references in dispose.
26335
26336 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26337
26338         * docs/gst/tmpl/gstminiobject.sgml:
26339           do *not* add tmpl/*.sgml files to CVS!
26340
26341 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26342
26343         * libs/gst/bytestream/.cvsignore:
26344         * libs/gst/bytestream/Makefile.am:
26345         * libs/gst/bytestream/adapter.c:
26346         * libs/gst/bytestream/adapter.h:
26347         * libs/gst/bytestream/bytestream.c:
26348         * libs/gst/bytestream/bytestream.h:
26349         * libs/gst/bytestream/filepad.c:
26350         * libs/gst/bytestream/filepad.h:
26351           removing obsolete files
26352
26353 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26354
26355         * docs/gst/gstreamer-docs.sgml:
26356         * docs/libs/gstreamer-libs-docs.sgml:
26357           disabed additional index entries again, as this makes docs-gen just
26358           slow and they aren't useful yet
26359         * docs/libs/gstreamer-libs-sections.txt:
26360           little -section.txt cleanup for libs
26361
26362 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26363
26364         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26365         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26366           fix up some debugging
26367         (gst_base_transform_get_unit_size),
26368         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26369         (gst_base_transform_handle_buffer):
26370         * gst/base/gstbasetransform.h:
26371           handle and store timed NEWSEGMENT events so that subclasses that
26372           calculate time by counting samples have a segment_start time they
26373           need to add to their timestamps - see audioresample
26374
26375 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26376
26377         * gst/gstbin.h:
26378           removed ';' from the end of macro defs
26379         * docs/gst/gstreamer-docs.sgml:
26380         * docs/gst/gstreamer-sections.txt:
26381         * docs/gst/tmpl/.cvsignore:
26382         * gst/gstbus.h:
26383         * gst/gstelement.c: (gst_element_class_init),
26384         (gst_element_set_state), (activate_pads),
26385         (gst_element_save_thyself):
26386         * gst/gstevent.c: (gst_event_new_newsegment):
26387         * gst/gstevent.h:
26388         * gst/gstiterator.c:
26389         * gst/gstiterator.h:
26390         * gst/gstpad.c:
26391         * gst/gstprobe.h:
26392         * gst/gstutils.c: (gst_pad_query_convert):
26393         * gst/gstutils.h:
26394           fixed parameter name mismatches between source, header and docs
26395           added some more docs, resolved the last batch of unused elements in
26396           docs (now someone needs to doc them)
26397
26398 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26399
26400         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26401         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26402           don't walk through the plugins backwards.  Where is all this
26403           reversed logic coming from ?
26404
26405 2005-08-25  Wim Taymans  <wim@fluendo.com>
26406
26407         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26408         (gst_base_transform_transform_size),
26409         (gst_base_transform_configure_caps),
26410         (gst_base_transform_get_unit_size),
26411         (gst_base_transform_buffer_alloc),
26412         (gst_base_transform_change_state):
26413         * gst/base/gstbasetransform.h:
26414         Cache caps unit_size.
26415         Make sure we cannot negotiate up and downstream at the
26416         same time.
26417
26418 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26419
26420         * gst/gst.c: (init_pre), (init_post):
26421           register the installed plugin path after the env var
26422         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26423         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26424           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26425           directories, so the tests can prefer uninstalled over installed
26426
26427 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26428
26429         * gst/base/gstbasetransform.h:
26430           comment
26431         * gst/gstpad.c:
26432           add to docs
26433
26434 2005-08-25  Wim Taymans  <wim@fluendo.com>
26435
26436         * gst/gstbin.c: (bin_bus_handler):
26437         Be a bit more conservative about the posted message.
26438         
26439         * gst/gstbus.c: (gst_bus_post):
26440         Some cleanups, warn wrong return values.
26441
26442 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26443
26444         * check/gst/gstbin.c: (GST_START_TEST):
26445         * gst/gstbin.c: (bin_bus_handler):
26446         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26447         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26448         (gst_message_new_warning), (gst_message_new_tag),
26449         (gst_message_new_state_changed), (gst_message_new_segment_start),
26450         (gst_message_new_segment_done), (gst_message_new_custom):
26451         * gst/gstmessage.h:
26452         * tools/gst-launch.c: (event_loop):
26453         * tools/gst-md5sum.c: (event_loop):
26454           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26455
26456 2005-08-25  Wim Taymans  <wim@fluendo.com>
26457
26458         * check/generic/states.c: (GST_START_TEST):
26459         Cleanup can be done at the end.
26460
26461         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26462         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26463         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26464         Oh boy.. Thanks for finding this, Thomas. 
26465
26466 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26467
26468         * docs/gst/gstreamer.types:
26469           added missing types
26470
26471 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26472
26473         * docs/gst/gstreamer-docs.sgml:
26474         * docs/gst/gstreamer-sections.txt:
26475         * docs/gst/tmpl/.cvsignore:
26476         * gst/gstbin.c:
26477         * gst/gstiterator.c:
26478         * gst/gstutils.c:
26479         * gst/registries/gstxmlregistry.h:
26480           added missing classes and symbols (123 more to go)
26481           removed removed symbols from section file
26482           fixed many doc-comments
26483
26484 2005-08-24  Wim Taymans  <wim@fluendo.com>
26485
26486         * check/generic/states.c: (GST_START_TEST):
26487         Make sure all tasks are stopped.
26488
26489         * check/gst/gstbin.c: (GST_START_TEST):
26490         Unref after usage for proper valgrinding.
26491
26492         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26493         Really wait for the task to stop before destroying the
26494         mutex.
26495
26496         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26497         (gst_queue_src_activate_push):
26498         Small cleanups. Don't stop the task when we did not start
26499         it.
26500
26501         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26502         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26503         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26504         (gst_task_join):
26505         * gst/gsttask.h:
26506         Protect the stream lock with the object lock.
26507         Disallow setting the stream lock when running.
26508         Add cleanup_all to wait for the threadpool to finish.
26509         Remove code to autoallocate a mutex if none was provided.
26510         Add _join() to wait for a task to stop.
26511         Protect the thread pool with a global lock.
26512
26513 2005-08-24  Wim Taymans  <wim@fluendo.com>
26514
26515         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26516         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26517         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26518         * gst/base/gstbasesink.h:
26519         Handle newsegment events correctly.
26520         Drop buffers out of the segment range.
26521
26522 2005-08-22  Andy Wingo  <wingo@pobox.com>
26523
26524         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26525         macro, implements an interface and gstimplementsinterface for a
26526         new type.
26527
26528 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26529
26530         * check/Makefile.am:
26531         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26532           add a test that does a bunch of state changes on elements
26533           needs some fixing for valgrind
26534         * check/states/sinks.c: (gst_object_suite):
26535           whitespace
26536         * gst/gstcaps.h:
26537           add prototype for gst_caps_is_equal_fixed
26538         * gst/gstplugin.c:
26539         * gst/gstregistrypool.c:
26540           doc fixes
26541
26542 2005-08-24  Andy Wingo  <wingo@pobox.com>
26543
26544         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26545         convert a negative value. Doesn't make much sense. Mostly this is
26546         here to force callers to ensure -1 maps to -1.
26547
26548 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26549
26550         * docs/pwg/advanced-types.xml:
26551           Well done to Michael for catching my deliberate introduction
26552           of this spelling mistake. 
26553         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26554         * gst/gstelement.h:
26555           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26556           unlink pads before removing the element from the bin.
26557
26558 2005-08-24  Andy Wingo  <wingo@pobox.com>
26559
26560         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26561         the same thing as GST_DEBUG=*:4.
26562         (parse_debug_level, parse_debug_category): New helper parsers.
26563
26564 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26565
26566         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26567         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26568         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26569         (gst_base_transform_buffer_alloc),
26570         (gst_base_transform_handle_buffer):
26571           use gboolean return values and pointers to size so we can use the
26572           full GST_BUFFER_SIZE range (guint) for buffer sizes
26573           use GstPadDirection for transform_caps
26574         * gst/base/gstbasetransform.h:
26575           rename get_size to get_unit_size since that's what it is
26576         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26577           use GstPadDirection for transform_caps
26578         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26579         * gst/gstutils.h:
26580           cleanup and debugging
26581
26582 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26583
26584         * gst/gstelement.c: (gst_element_class_init),
26585         (gst_element_set_state), (activate_pads),
26586         (gst_element_save_thyself):
26587         * tools/gst-compprep.c: (main):
26588         * tools/gst-inspect.c: (print_element_properties_info):
26589         * tools/gst-xmlinspect.c: (print_element_properties):
26590           Fixed long standing mem-leak
26591
26592 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26593
26594         * check/gst/gstbin.c: (GST_START_TEST):
26595         * gst/gstbin.c: (bin_bus_handler):
26596         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26597         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26598         (gst_message_new_warning), (gst_message_new_tag),
26599         (gst_message_new_state_changed), (gst_message_new_segment_start),
26600         (gst_message_new_segment_done), (gst_message_new_custom):
26601         * gst/gstmessage.h:
26602         * tools/gst-launch.c: (event_loop):
26603         * tools/gst-md5sum.c: (event_loop):
26604           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26605           that applications can sensibly post custom messages with references
26606           to their own objects.
26607
26608 2005-08-24  Andy Wingo  <wingo@pobox.com>
26609
26610         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26611         already.
26612
26613 2005-08-24  Wim Taymans  <wim@fluendo.com>
26614
26615         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26616         (gst_base_transform_transform_caps),
26617         (gst_base_transform_transform_size),
26618         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26619         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26620         (gst_base_transform_handle_buffer):
26621         * gst/base/gstbasetransform.h:
26622         Many fixes and new features added by Thomas. Can now also do
26623         transforms with variable sizes and a custom fixate_caps function.
26624
26625 2005-08-24  Wim Taymans  <wim@fluendo.com>
26626
26627         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26628         Some debugging.
26629
26630         * gst/gstclock.h:
26631         Cast to ClockTime before formatting to time.
26632
26633         * gst/gstutils.h:
26634         Cleanups.
26635
26636 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26637
26638         * check/gst-libs/controller.c: (GST_START_TEST),
26639         (gst_controller_suite):
26640         * docs/gst/tmpl/gstcaps.sgml:
26641         * docs/gst/tmpl/gstghostpad.sgml:
26642         * docs/gst/tmpl/gstquery.sgml:
26643         * docs/gst/tmpl/gstutils.sgml:
26644         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26645         (gst_object_sink_values), (gst_object_get_value_arrays),
26646         (gst_object_get_value_array):
26647           gracefully handle helper method calls to objects that are not beeing
26648           controlled, added test case for that          
26649
26650 2005-08-23  Wim Taymans  <wim@fluendo.com>
26651
26652         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26653         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26654         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26655         (gst_event_parse_qos), (gst_event_new_seek),
26656         (gst_event_parse_seek):
26657         * gst/gstevent.h:
26658         Some more debugging output and doc cleanups.
26659
26660         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26661         Fix possible deadlock.
26662
26663 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26664
26665         * docs/gst/gstreamer-docs.sgml:
26666         * docs/gst/gstreamer-sections.txt:
26667         * docs/gst/gstreamer.types:
26668         * docs/gst/tmpl/.cvsignore:
26669         * gst/gstbin.h:
26670         * gst/gstbus.c:
26671         * gst/gstelement.c:
26672         * gst/gstevent.h:
26673           added 100 symbols from gstreamer-unused.txt to the right sections
26674           fixed more broken comments
26675           added GstBus to docs
26676
26677 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26678
26679         * docs/gst/gstreamer-sections.txt:
26680         * docs/gst/tmpl/.cvsignore:
26681         * docs/gst/tmpl/gstbin.sgml:
26682         * docs/gst/tmpl/gstbuffer.sgml:
26683         * gst/base/gstbasesrc.c:
26684         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26685         * gst/gstbuffer.c:
26686         * gst/gstbuffer.h:
26687         * tools/gst-launch.1.in:
26688           inlined more doc comments, added missing comments and fixed comments
26689           fixed typos
26690
26691 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26692
26693         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26694           some debugging
26695         * gst/gstcaps.h:
26696           whitespace fixes
26697         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26698           more debugging
26699         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26700         * gst/gststructure.h:
26701           add a fixate function for booleans; add a FIXME that these func
26702           names should probably be gst_structure_fixate_*
26703
26704 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26705
26706         * docs/gst/gstreamer-docs.sgml:
26707         * docs/gst/gstreamer-sections.txt:
26708         * gst/Makefile.am:
26709         * gst/gstbin.c: (gst_bin_get_type),
26710         (gst_bin_child_proxy_get_child_by_index),
26711         (gst_bin_child_proxy_get_children_count),
26712         (gst_bin_child_proxy_init):
26713         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26714         (gst_child_proxy_get_child_by_index),
26715         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26716         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26717         (gst_child_proxy_get), (gst_child_proxy_set_property),
26718         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26719         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26720         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26721         * gst/gstchildproxy.h:
26722         * gst/parse/grammar.y:
26723         * tools/gst-inspect.c: (print_interfaces),
26724         (print_element_properties_info), (print_element_info):
26725           ported gstchildproxy over from 0.8
26726           ported gst-inspect fixes and enhancements over from 0.8
26727
26728 2005-08-22  Wim Taymans  <wim@fluendo.com>
26729
26730         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26731         (gst_base_transform_handle_buffer):
26732         Also call the transform function if we have ANY caps.
26733
26734         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26735         Fix debug info.
26736
26737 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26738
26739         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26740           Don't pretend to handle seek events if the source is not seekable
26741
26742 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26743
26744         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26745           Remove extra parameter to debug output
26746
26747         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26748         (gst_base_src_do_seek), (gst_base_src_activate_push):
26749           Fix seek event handling.
26750
26751         * gst/gstpipeline.c: (gst_pipeline_change_state):
26752         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26753         (gst_queue_src_activate_push):
26754           Don't start the src pad task on FLUSH_STOP if the pad
26755           isn't linked.
26756           Debug changes.
26757
26758 2005-08-22  Wim Taymans  <wim@fluendo.com>
26759
26760         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26761         Added check for gst_static_caps_get() refcounting.
26762
26763 2005-08-22  Wim Taymans  <wim@fluendo.com>
26764
26765         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26766         Make _static_caps_get() refcounting sane.
26767         
26768         * gst/gstelement.c: (gst_element_set_state):
26769         Add g_return_val_if_fail() to protect against segfaults.
26770
26771 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26772
26773         * docs/gst/tmpl/gstevent.sgml:
26774         * gst/gstevent.c:
26775         * gst/gstevent.h:
26776           inlined remaining docs, added missing doc comments
26777
26778 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26779
26780         * check/gst/gstbin.c: (GST_START_TEST):
26781           since we don't know when preroll is done, use refcount range
26782           check for the sink
26783         * gst/check/gstcheck.h:
26784           add macro for checking refcount range
26785
26786 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26787
26788         * check/Makefile.am:
26789           clean up environment for when registry gets built versus
26790           when actual tests are run; valgrind seems to not report
26791           leaks if GST_PLUGIN_PATH is set to some specific values
26792         * check/gst/gstbin.c: (GST_START_TEST):
26793           add more refcounting checks; maybe this exposes a
26794           preroll lock bug ?
26795         * common/check.mak:
26796         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26797         * gst/check/gstcheck.h:
26798         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26799         (gst_bin_change_state):
26800         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26801           add/fix debugging/whitespace
26802
26803 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26804
26805         * check/gst/gstevent.c: (event_probe), (test_event),
26806         (GST_START_TEST):
26807          Er, don't call gst_bin_watch_for_state_change you idiot.
26808
26809 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26810
26811         * check/Makefile.am:
26812           Use CHECK_CFLAGS and CHECK_LIBS
26813         * check/gst/gstevent.c: (event_probe), (test_event),
26814         (GST_START_TEST):
26815           Don't leak events.
26816         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26817         (gst_base_src_start), (gst_base_src_stop),
26818         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26819         (gst_base_src_change_state):
26820           Sprinkle gst_base_src_stop liberally around error paths to fix
26821           problems reusing a source after failed state changes.
26822         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26823         (helper_find_suggest), (gst_type_find_helper):
26824           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26825         * gst/gstevent.h:
26826         * docs/gst/tmpl/gstevent.sgml:
26827           Migrate part of the docs from the SGML file. Wait for ensonic to
26828           tell me how I did it wrong ;)
26829         * tools/gst-typefind.c: (main):
26830           Extra robustness to state changes between files.
26831
26832 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26833
26834         * check/Makefile.am:
26835           don't valgrind the controller test - it's leaking - Stefan, HELP
26836         * gst/check/gstcheck.c: (gst_check_message_error),
26837         (gst_check_chain_func), (gst_check_setup_element),
26838         (gst_check_teardown_element), (gst_check_setup_src_pad),
26839         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26840         (gst_check_teardown_sink_pad):
26841         * gst/check/gstcheck.h:
26842           add a bunch of methods to set up elements, and src and sink pads
26843         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26844         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26845         (GST_START_TEST):
26846           use them
26847         * gst/gstmessage.c:
26848         * gst/gsttag.h:
26849           whitespace/doc fixes
26850
26851 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26852
26853         * gst/gstelement.h:
26854           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26855           be handled by the application and not always printed as well
26856
26857 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26858
26859         * check/Makefile.am:
26860           set GST_TOOLS_DIR
26861         * gst/check/gstcheck.c: (gst_check_message_error):
26862         * gst/check/gstcheck.h:
26863           add a fail_unless_equals_int
26864           add fail_unless for error messages
26865
26866 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26867
26868         * check/Makefile.am:
26869         * check/gst.supp:
26870         * common/Makefile.am:
26871         * common/check.mak:
26872         * common/gst.supp:
26873           factor out some of the common stuff so we can use it
26874
26875 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26876
26877         * check/Makefile.am:
26878         * check/gst/gstiterator.c: (GST_START_TEST):
26879         * check/gst/gstsystemclock.c: (GST_START_TEST),
26880         (gst_systemclock_suite):
26881         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26882         * gst/gstclock.c:
26883           valgrind more tests
26884
26885 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26886
26887         * check/elements/.cvsignore:
26888         * check/elements/gstfakesrc.c:
26889           rename to name of element
26890         * check/elements/identity.c: (chain_func), (event_func),
26891         (setup_identity), (cleanup_identity), (GST_START_TEST),
26892         (identity_suite), (main):
26893           add a test for identity
26894         * check/Makefile.am:
26895         * pkgconfig/Makefile.am:
26896         * pkgconfig/gstreamer-check.pc.in:
26897         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26898         * gst/check:
26899         * gst/Makefile.am:
26900         * configure.ac:
26901           move the check stuff to a library that gets installed
26902         * check/gst-libs/controller.c: (GST_START_TEST):
26903         * check/gst-libs/gdp.c:
26904         * check/gst/gst.c: (GST_START_TEST):
26905         * check/gst/gstbin.c:
26906         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26907         * check/gst/gstbus.c:
26908         * check/gst/gstcaps.c: (GST_START_TEST):
26909         * check/gst/gstelement.c:
26910         * check/gst/gstghostpad.c:
26911         * check/gst/gstiterator.c:
26912         * check/gst/gstmessage.c:
26913         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26914         * check/gst/gstobject.c:
26915         * check/gst/gstpad.c: (GST_START_TEST):
26916         * check/gst/gststructure.c: (GST_START_TEST):
26917         * check/gst/gstsystemclock.c: (GST_START_TEST),
26918         (gst_systemclock_suite):
26919         * check/gst/gsttag.c: (gst_tag_suite):
26920         * check/gst/gstvalue.c:
26921         * check/pipelines/cleanup.c:
26922         * check/pipelines/simple_launch_lines.c:
26923         * check/states/sinks.c:
26924           change include statement
26925
26926         * docs/gst/gstreamer-sections.txt:
26927         * docs/gst/tmpl/gstpad.sgml:
26928           document more pad stuff
26929         * gst/gstminiobject.c: (gst_mini_object_ref),
26930         (gst_mini_object_unref):
26931           debug refcounting
26932
26933 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26934
26935         * docs/gst/tmpl/gst.sgml:
26936         * gst/gst.c:
26937           eliminate another tmpl file, fix spelling in the long-description
26938
26939 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26940
26941         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26942         (test_event), (timediff), (gstevents_suite):
26943           Should fix build on 64-bit arch's
26944
26945 2005-08-18  Andy Wingo  <wingo@pobox.com>
26946
26947         Make sure that when a pipeline goes to PLAYING, that data has
26948         actually hit the sink.
26949
26950         * check/states/sinks.c (test_sink): A sink that doesn't get any
26951         data shouldn't return SUCCESS for going to either PLAYING or
26952         PAUSED. Test also the return values on the way back down.
26953
26954         * gst/gstelement.c (gst_element_set_state): When changing the
26955         state of an element currently changing state asynchronously, go to
26956         lost-state after commiting the pending state. Makes future calls
26957         to get_state continue to return ASYNC.
26958
26959         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26960         ASYNC when going to PLAYING if we still don't have preroll, as can
26961         happen with live sources.
26962
26963 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26964
26965         * docs/pwg/advanced-types.xml:
26966           Hack long paragraph into 2 chunks as a workaround for buggy
26967           jadetex version in sid and breezy that loops infinitely and
26968           eats all RAM.
26969
26970 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26971
26972         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26973         (test_event), (timediff), (gstevents_suite):
26974           Provide more error margin in clock measurements to allow for 
26975           g_get_current_time inaccuracies.
26976
26977 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26978
26979         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26980         (test_event), (timediff), (gstevents_suite):
26981            Fix error message output so I might be able to tell why the
26982            test works here but fails on the build farm.
26983
26984 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26985
26986         * check/Makefile.am:
26987         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26988         (test_event), (timediff), (gstevents_suite), (main):
26989           I wrote a test!
26990
26991         * docs/design/part-seeking.txt:
26992           Spelling correction
26993
26994         * docs/gst/tmpl/gstevent.sgml:
26995         * docs/gst/tmpl/gstfakesrc.sgml:
26996           Docs updates.
26997
26998         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26999           Treat a buffer-without-newsegment the same as a receiving 
27000           a newsegment not in time format, and disable syncing to the clock
27001           with a warning.
27002
27003         * gst/gstbus.c: (gst_bus_set_sync_handler):
27004           Assert if anyone tries to replace the existing sync_handler for bus, 
27005           as only the owner should be setting it.
27006
27007         * gst/gstevent.h:
27008           Have a fixed set of custom event enums with events identified by
27009           their structure name (as in 0.8), rather than a free-for-all
27010           allowing collisions between enum values from different plugins.
27011
27012         * gst/gstpad.c: (gst_pad_class_init):
27013           Docs change.
27014           
27015         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27016           Handle out-of-band downstream events from the sending thread.
27017
27018 2005-08-17  Andy Wingo  <wingo@pobox.com>
27019
27020         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
27021         play-timeout==0 to mean no timeout at all. In that case, don't
27022         bother with a get_state or a warning, just return directly, even
27023         if it's ASYNC.
27024
27025         * gst/base/gstbasetransform.c: Debug changes.
27026
27027         * gst/gstutils.h:
27028         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
27029         ensure bins post state change messages. A bit of a hack but I can't
27030         think of a way to avoid it.
27031
27032         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
27033
27034 2005-08-16  Andy Wingo  <wingo@pobox.com>
27035
27036         * gst/base/gstadapter.h:
27037         * gst/base/gstadapter.c (gst_adapter_take): New function, like
27038         peek() but you own the data. Not terribly efficient atm.
27039
27040 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27041
27042         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
27043         (gst_element_found_tags):
27044         * gst/gstutils.h:
27045           Add two utility functions for tag handling.
27046
27047 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27048
27049         * docs/manual/advanced-dataaccess.xml:
27050         * docs/manual/basics-helloworld.xml:
27051           Fix docs to use _bin_add() before _link(), which fixes the examples
27052           with recent core versions (reported by Madhan Raj M
27053           <raj_madan@rediffmail.com>, #313199).
27054
27055 2005-08-16  Wim Taymans  <wim@fluendo.com>
27056
27057         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27058         Added subtract checks.
27059
27060         * docs/design/part-events.txt:
27061         Some more docs about newsegment
27062
27063         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
27064         Fix FIXME
27065
27066         * gst/gstcaps.c: (gst_caps_to_string):
27067         Add comments, cleanups.
27068         
27069         * gst/gstelement.c: (gst_element_save_thyself):
27070         cleanups
27071         
27072         * gst/gstvalue.c: (gst_value_collect_int_range),
27073         (gst_string_unwrap), (gst_value_union_int_int_range),
27074         (gst_value_union_int_range_int_range),
27075         (gst_value_intersect_int_int_range),
27076         (gst_value_intersect_int_range_int_range),
27077         (gst_value_intersect_double_double_range),
27078         (gst_value_intersect_double_range_double_range),
27079         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
27080         (gst_value_subtract_int_range_int),
27081         (gst_value_subtract_double_range_double),
27082         (gst_value_subtract_double_range_double_range),
27083         (gst_value_subtract_from_list), (gst_value_subtract_list),
27084         (gst_value_can_compare), (gst_value_compare_fraction):
27085         Cleanups, add comments, remove unneeded asserts.
27086
27087 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27088
27089         * tools/gst-launch.c: (event_loop):
27090           don't convert NULL structures to strings
27091
27092 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
27093
27094         * docs/gst/gstreamer-sections.txt:
27095           made some defines private
27096         * docs/gst/tmpl/gstconfig.sgml:
27097         * docs/gst/tmpl/gstqueue.sgml:
27098         * docs/gst/tmpl/gsttaglist.sgml:
27099         * docs/gst/tmpl/gsttypes.sgml:
27100         * docs/gst/tmpl/gstutils.sgml:
27101         * docs/pwg/appendix-porting.xml:
27102         * gst/base/gstbasesink.h:
27103         * gst/base/gstbasesrc.c:
27104         * gst/base/gstbasesrc.h:
27105         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
27106         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
27107         * gst/gstelement.c: (gst_element_class_init):
27108         * gst/gstpad.c: (gst_pad_class_init):
27109         * gst/gstqueue.c: (gst_queue_class_init):
27110         * gst/gstxml.c: (gst_xml_class_init):
27111           documented all undocumented signal inline
27112         * libs/gst/controller/gst-controller.h:
27113           added padding
27114
27115 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27116
27117         * docs/pwg/appendix-porting.xml:
27118           Document _set_link_function -> _set_setcaps_function.
27119
27120 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
27121
27122         * check/Makefile.am:
27123           add a .check target for running the check
27124         * check/gst-libs/controller.c: (GST_START_TEST):
27125           cosmetic fixups
27126         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27127           complete checks for gstbuffer; would be nice if I could get the
27128           gcov stuff to work so I can see if I actually completed gstbuffer.c
27129         * check/gstcheck.h:
27130           add ASSERT_BUFFER_REFCOUNT
27131
27132 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
27133
27134         * docs/gst/gstreamer-sections.txt:
27135         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
27136         * gst/gsttag.h:
27137           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
27138           spew out a warning if a tag that is already registered
27139           is re-registered, unless it is re-registered with a 
27140           different type (#308438).
27141
27142 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
27143
27144         * docs/pwg/appendix-porting.xml:
27145         * docs/pwg/building-state.xml:
27146           Add some paragraphs about state changes in 0.9 to the PWG
27147           and the porting guide, in particular about the new meaning
27148           of GST_STATE_PAUSED and how to write state change functions
27149           with concurrent access by multiple threads in mind.
27150
27151 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
27152
27153         * docs/gst/gstreamer-docs.sgml:
27154         * docs/libs/gstreamer-libs-docs.sgml:
27155           added deprecation and since indexes
27156         * libs/gst/controller/gst-controller.c:
27157         * libs/gst/controller/gst-helper.c:
27158           added since tags
27159
27160
27161 2005-08-11  Wim Taymans  <wim@fluendo.com>
27162
27163         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
27164         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
27165         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
27166         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
27167         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
27168         (gst_ghost_pad_set_target):
27169         Actually implement (re)setting the target on a ghostpad
27170         as described in the docs.
27171
27172 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27173
27174         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
27175           Check whether GST_DEBUG_NO_COLOR environment variable is
27176           set and disable coloured debug output if that is the case.
27177
27178 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
27179
27180         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27181         (gst_type_find_helper):
27182           The memory returned by gst_type_find_peek() needs to
27183           stay valid until the end of a typefind function, and
27184           typefind functions may keep results from different 
27185           offsets around, so we can't just unref the buffer from
27186           the previous _peek(), but have to save all buffers 
27187           returned by _peek() until typefinding is done and only
27188           free them then.
27189
27190 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
27191
27192         * docs/gst/gstreamer-sections.txt:
27193         * gst/gstutils.h:
27194           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
27195
27196 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27197
27198         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
27199           Fix a pretty good memleak.
27200
27201 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27202
27203         * gst/gstiterator.h:
27204           Fix wrong include and 'make distcheck'.
27205
27206 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27207
27208         * gst/gstbin.c: (bin_bus_handler):
27209           Use gst_element_post_message() instead.
27210
27211 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
27212
27213         * gst/base/gstadapter.h:
27214         * gst/base/gstbasesink.h:
27215         * gst/base/gstbasesrc.h:
27216         * gst/base/gstbasetransform.h:
27217         * gst/base/gstcollectpads.h:
27218         * gst/base/gstpushsrc.h:
27219         * gst/gstiterator.h:
27220           Add padding to our base elements' class and instance structs and
27221           to GstIterator (you will need to rebuild all plugins and apps!)
27222
27223 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27224
27225         * gst/gstbin.c: (bin_bus_handler):
27226           Make default message forwarding from child->bus to bin->bus
27227           threadsafe and make it not emit warnings if the parent has no bus.
27228
27229 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27230
27231         * gst/gstelement.c: (activate_pads):
27232           On paused->ready, set pad->caps to NULL, as is the documented
27233           behaviour in this state change. Fixes playback of series of
27234           media files when visualization is enabled in Totem.
27235
27236 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27237
27238         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
27239           Allow NULL as filter-caps (which means "any").
27240
27241 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27242
27243         * docs/libs/gstreamer-libs-sections.txt:
27244         * libs/gst/controller/gst-controller.c:
27245         * libs/gst/controller/gst-controller.h:
27246         * libs/gst/controller/gst-helper.c:
27247           adding more entries to the docs and fix small doc-bugs
27248
27249 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27250
27251         * docs/gst/gstreamer-docs.sgml:
27252         * docs/gst/gstreamer-sections.txt:
27253         * docs/gst/gstreamer.types:
27254         * docs/gst/tmpl/gstbasesink.sgml:
27255         * docs/gst/tmpl/gstbasesrc.sgml:
27256         * docs/gst/tmpl/gstbasetransform.sgml:
27257         * docs/gst/tmpl/gstfakesrc.sgml:
27258         * gst/base/gstcollectpads.c:
27259         * gst/base/gstcollectpads.h:
27260         * libs/gst/controller/gst-controller.c:
27261         * libs/gst/controller/gst-controller.h:
27262         * libs/gst/controller/gst-helper.c:
27263         * libs/gst/controller/gst-interpolation.c:
27264         * libs/gst/controller/lib.c:
27265           added long/short desc for controller docs
27266           added collectpads base class docs
27267           added correct includes to base-class docs
27268
27269 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
27270
27271         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27272         (gst_test_mono_source_set_property),
27273         (gst_test_mono_source_class_init), (GST_START_TEST),
27274         (gst_controller_suite):
27275         * docs/gst/gstreamer-docs.sgml:
27276         * docs/gst/gstreamer-sections.txt:
27277         * docs/gst/gstreamer.types:
27278         * docs/libs/gstreamer-libs-docs.sgml:
27279         * docs/libs/gstreamer-libs-sections.txt:
27280         * gst/base/gstadapter.c:
27281         * libs/gst/controller/gst-controller.c:
27282         (gst_controlled_property_new), (gst_controlled_property_free),
27283         (gst_controller_new_valist),
27284         (gst_controller_remove_properties_valist),
27285         (gst_controller_sink_values), (_gst_controller_finalize):
27286         * libs/gst/controller/gst-controller.h:
27287         * libs/gst/controller/gst-helper.c:
27288         (gst_object_control_properties), (gst_object_uncontrol_properties),
27289         (gst_object_get_controller), (gst_object_set_controller),
27290         (gst_object_sink_values), (gst_object_get_value_arrays),
27291         (gst_object_get_value_array):
27292           more tests (and fixes) for the controller
27293           more docs for the controller
27294           integrated companies docs for the adapter 
27295
27296 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
27297
27298         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27299         (GST_START_TEST), (fakesrc_suite):
27300           add tests for sizetype
27301
27302 2005-08-04  Andy Wingo  <wingo@pobox.com>
27303
27304         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27305         fixes buffer_alloc proxying among other things.
27306
27307         * gst/base/gstbasetransform.c:
27308         * gst/base/gstbasetransform.h:
27309         Revert patch to gstbasetransform from 7-28 removing
27310         delay_configure.
27311
27312         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27313         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27314         Semantics changed, should return not the size of the output buffer
27315         but the byte size of a buffer with a given caps.
27316
27317         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27318         debug object.
27319         (gst_base_transform_configure_caps): Don't set out_size here: (in,
27320         out) are not the pad caps until setcaps finishes.
27321         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27322         not-in-place case as well. Deal with changing from in-place to
27323         not-in-place within calling pad_alloc_buffer. Still a bit
27324         concerned about the overhead here...
27325
27326 2005-08-03  Andy Wingo  <wingo@pobox.com>
27327
27328         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27329         fixating is an error.
27330
27331 2005-08-04  Edward Hervey  <edward@fluendo.com>
27332
27333         * gst/base/gstadapter.h: 
27334         Added gst_adapter_get_type() to the header
27335
27336 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27337
27338         * check/Makefile.am:
27339         * check/gst-libs/controller.c:
27340         * libs/gst/controller/gst-controller.c:
27341         (gst_controller_new_valist):
27342           added check test suite for the controller
27343         * gst/base/gstpushsrc.c:
27344           fixed a doc typo
27345
27346 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27347
27348         * docs/gst/Makefile.am:
27349         * docs/gst/gstreamer-docs.sgml:
27350         * docs/gst/gstreamer-sections.txt:
27351         * docs/gst/gstreamer.types:
27352         * docs/gst/tmpl/gstfakesrc.sgml:
27353         * gst/base/README:
27354         * gst/base/gstbasesink.c:
27355         * gst/base/gstbasesink.h:
27356         * gst/base/gstbasesrc.c:
27357         * gst/base/gstbasesrc.h:
27358         * gst/base/gstbasetransform.c:
27359         * gst/base/gstpushsrc.c:
27360         * gst/base/gstpushsrc.h:
27361           add short/long description docs to base classes
27362           add pushsrc to the docs
27363           remove consolidated doc fragments
27364
27365 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27366
27367         * configure.ac:
27368         * docs/libs/Makefile.am:
27369         * docs/libs/gstreamer-libs-docs.sgml:
27370         * docs/libs/gstreamer-libs-sections.txt:
27371         * docs/libs/gstreamer-libs.types:
27372         * examples/Makefile.am:
27373         * examples/controller/.cvsignore:
27374         * examples/controller/Makefile.am:
27375         * examples/controller/audio-example.c: (main):
27376         * libs/gst/Makefile.am:
27377         * libs/gst/controller/.cvsignore:
27378         * libs/gst/controller/Makefile.am:
27379         * libs/gst/controller/gst-controller.c:
27380         (on_object_controlled_property_changed), (gst_timed_value_compare),
27381         (gst_timed_value_find),
27382         (gst_controlled_property_set_interpolation_mode),
27383         (gst_controlled_property_new), (gst_controlled_property_free),
27384         (gst_controller_find_controlled_property),
27385         (gst_controller_new_valist), (gst_controller_new),
27386         (gst_controller_remove_properties_valist),
27387         (gst_controller_remove_properties), (gst_controller_set),
27388         (gst_controller_set_from_list), (gst_controller_unset),
27389         (gst_controller_get), (gst_controller_get_all),
27390         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27391         (gst_controller_get_value_array),
27392         (gst_controller_set_interpolation_mode),
27393         (_gst_controller_finalize), (_gst_controller_init),
27394         (_gst_controller_class_init), (gst_controller_get_type):
27395         * libs/gst/controller/gst-controller.h:
27396         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27397         (g_object_uncontrol_properties), (g_object_get_controller),
27398         (g_object_set_controller), (g_object_sink_values),
27399         (g_object_get_value_arrays), (g_object_get_value_array):
27400         * libs/gst/controller/gst-interpolation.c:
27401         (gst_controlled_property_find_timed_value_node),
27402         (interpolate_none_get), (interpolate_trigger_get),
27403         (interpolate_trigger_get_value_array):
27404         * libs/gst/controller/lib.c: (gst_controller_init):
27405         * pkgconfig/Makefile.am:
27406         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27407         * pkgconfig/gstreamer-control.pc.in:
27408         * testsuite/Makefile.am:
27409         * testsuite/controller/.cvsignore:
27410         * testsuite/controller/Makefile.am:
27411         * testsuite/controller/interpolator.c: (main):
27412           added controller code
27413           removed dparam pc files
27414
27415 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27416         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27417         (gst_collectpads_stop):
27418           Broadcast the condition when shutting down, to make sure we wake all
27419           threads up. Shut down pads on finalize, for safety.
27420
27421 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27422         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27423         (gst_base_transform_handle_buffer),
27424         (gst_base_transform_change_state):
27425           Handle PAUSED->READY->PAUSED transition after negotiation
27426           occurred already.
27427         * gst/gstmessage.c: (gst_message_init):
27428           Extra piece of debug for new messages.
27429
27430 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27431
27432         * configure.ac:
27433         * docs/gst/tmpl/gstbasesrc.sgml:
27434         * docs/gst/tmpl/gstelement.sgml:
27435         * docs/gst/tmpl/gstevent.sgml:
27436         * docs/gst/tmpl/gstfakesrc.sgml:
27437         * docs/gst/tmpl/gstformat.sgml:
27438         * docs/gst/tmpl/gstghostpad.sgml:
27439         * docs/gst/tmpl/gstpad.sgml:
27440         * docs/gst/tmpl/gstquery.sgml:
27441         * docs/gst/tmpl/gststructure.sgml:
27442         * docs/gst/tmpl/gsttaglist.sgml:
27443         * docs/gst/tmpl/gstvalue.sgml:
27444         * docs/libs/gstreamer-libs-docs.sgml:
27445         * docs/libs/gstreamer-libs-sections.txt:
27446         * docs/libs/gstreamer-libs.types:
27447         * libs/gst/Makefile.am:
27448         * libs/gst/control/.cvsignore:
27449         * libs/gst/control/Makefile.am:
27450         * libs/gst/control/control.c:
27451         * libs/gst/control/control.h:
27452         * libs/gst/control/dparam.c:
27453         * libs/gst/control/dparam.h:
27454         * libs/gst/control/dparam_smooth.c:
27455         * libs/gst/control/dparam_smooth.h:
27456         * libs/gst/control/dparamcommon.h:
27457         * libs/gst/control/dparammanager.c:
27458         * libs/gst/control/dparammanager.h:
27459         * libs/gst/control/dplinearinterp.c:
27460         * libs/gst/control/dplinearinterp.h:
27461         * libs/gst/control/unitconvert.c:
27462         * libs/gst/control/unitconvert.h:
27463         * testsuite/Makefile.am:
27464         * testsuite/dynparams/.cvsignore:
27465         * testsuite/dynparams/Makefile.am:
27466         * testsuite/dynparams/dparamstest.c:
27467         * tools/Makefile.am:
27468         * tools/gst-inspect.c: (print_element_info), (main):
27469         * tools/gst-xmlinspect.c: (print_element_info), (main):
27470           deactivate and remove dparams (libgstcontrol)
27471
27472 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27473
27474         * gst/elements/gsttypefindelement.c:
27475         (gst_type_find_element_have_type), (gst_type_find_element_init),
27476         (stop_typefinding), (gst_type_find_element_handle_event),
27477         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27478         * gst/elements/gsttypefindelement.h:
27479           Set caps on all outgoing buffers, not just the first one.
27480
27481 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27482
27483         * gst/elements/gsttypefindelement.c:
27484         (gst_type_find_element_have_type),
27485         (gst_type_find_element_check_set_buffer_caps),
27486         (gst_type_find_element_init), (stop_typefinding),
27487         (gst_type_find_element_handle_event),
27488         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27489         * gst/elements/gsttypefindelement.h:
27490           Set caps on first outgoing buffer when we've found the type.
27491
27492 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27493
27494         * docs/gst/gstreamer-docs.sgml:
27495         * docs/gst/gstreamer-sections.txt:
27496         * docs/gst/tmpl/gstscheduler.sgml:
27497         * docs/gst/tmpl/gstschedulerfactory.sgml:
27498           Remove some old cruft from docs.
27499
27500 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27501
27502         * gst/gstpad.h:
27503           Fix inline docs for GstPadLinkReturn.
27504           
27505         * gst/gststructure.c: (gst_structure_has_name):
27506         * gst/gststructure.h:
27507         * docs/gst/gstreamer-sections.txt:
27508           New API: gst_structure_has_name().
27509
27510 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27511
27512         * configure.ac:
27513           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27514           and _LARGEFILE_SOURCE in config.h as required. Do not 
27515           export those flags in our .pc files any longer (#142209).
27516
27517           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27518
27519         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27520         (gst_file_sink_do_seek), (gst_file_sink_event),
27521         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27522           Redo seek/tell calls with large file support in mind; add some
27523           debugging messages; add log message that tells us when large
27524           file support is unavailable or not enabled for some reason.
27525
27526         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27527           Add log message that tells us when large file support 
27528           is unavailable or not enabled for some reason.
27529
27530 2005-07-29  Wim Taymans  <wim@fluendo.com>
27531
27532         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27533         Added test for removing an element with ghostpad from a bin.
27534         Fixed test as current implementation does the right thing.
27535
27536         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27537         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27538         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27539         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27540         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27541         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27542         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27543         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27544         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27545         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27546         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27547         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27548         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27549         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27550         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27551         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27552         * gst/gstghostpad.h:
27553         Clean up ghostpads, remove properties for internal stuff.
27554         Make threadsafe.
27555         Fix refcounting.
27556         Prepare for switching targets, not all use cases work yet.
27557
27558 2005-07-29  Wim Taymans  <wim@fluendo.com>
27559
27560         * docs/design/part-gstghostpad.txt:
27561         Small update.
27562
27563         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27564         (gst_bin_remove_func):
27565         Unlinking pads while holding the bin LOCK is not a good
27566         idea.
27567
27568         * gst/gstpad.c: (gst_pad_class_init),
27569         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27570         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27571         No prob setting template after creating the pad.
27572
27573 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27574
27575         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27576         (gst_bus_peek), (gst_bus_source_dispatch),
27577         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27578         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27579           gst_bus_poll may be called from other threads. Handle
27580           this nicely by not making poll_data disappear off the
27581           stack once gst_bus_poll returns.
27582           gst_bus_peek now increments the refcount on the returned
27583           message.
27584
27585 2005-07-29  Wim Taymans  <wim@fluendo.com>
27586
27587         * docs/design/part-gstghostpad.txt:
27588         Overview of current GhostPad datastructures and use
27589         cases for changing the target.
27590
27591 2005-07-28  Wim Taymans  <wim@fluendo.com>
27592
27593         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27594         Added checks for hierarchy consistency whan adding linked
27595         elements to bins.
27596
27597         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27598         Added check to test element scheduling without bin/pipeline.
27599
27600         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27601         First add elements to bin, then link.
27602         
27603         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27604         (gst_bin_remove_func):
27605         Unlink pads from elements added/removed from bin to maintain
27606         hierarchy consistency.
27607
27608 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27609
27610         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27611         (gst_base_transform_handle_buffer):
27612         * gst/base/gstbasetransform.h:
27613           Remove broken delay_configure (fixes renegotiation of software
27614           scaling pipelines); remove some leftover printf()s.
27615
27616 2005-07-28  Wim Taymans  <wim@fluendo.com>
27617
27618         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27619         Added some more tests for wrong hierarchy
27620
27621         * docs/design/part-overview.txt:
27622         Some updates.
27623
27624         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27625         Cleanups.
27626
27627         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27628         (gst_element_dispose):
27629         Some more cleanups.
27630
27631         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27632         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27633         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27634         (gst_pad_set_caps), (gst_pad_send_event):
27635         Check for correct hierarchy when linking pads. Moving to
27636         strict requirement for ghostpads when linking elements in
27637         different bins.
27638
27639         * gst/gstpad.h:
27640         Clean ups. Added WRONG_HIERARCHY return value.
27641
27642 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27643
27644         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27645           Better debug if no transform is possible.
27646
27647 2005-07-27  Wim Taymans  <wim@fluendo.com>
27648
27649         * docs/random/wtay/network-transp:
27650         Some old doc I had.
27651
27652 2005-07-27  Wim Taymans  <wim@fluendo.com>
27653
27654         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27655         (gst_dp_event_from_packet):
27656         Fix serialization of seek events.
27657
27658 2005-07-27  Wim Taymans  <wim@fluendo.com>
27659
27660         * check/gst-libs/gdp.c: (GST_START_TEST):
27661         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27662         Fix compilation and fix event serialization.
27663
27664 2005-07-27  Wim Taymans  <wim@fluendo.com>
27665
27666         * CHANGES-0.9:
27667         * docs/design/part-TODO.txt:
27668         * docs/design/part-events.txt:
27669         Some docs updates
27670
27671         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27672         (gst_base_sink_event), (gst_base_sink_do_sync),
27673         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27674         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27675         (gst_base_src_do_seek), (gst_base_src_event_handler),
27676         (gst_base_src_loop):
27677         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27678         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27679         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27680         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27681         (gst_base_transform_set_passthrough),
27682         (gst_base_transform_is_passthrough):
27683         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27684         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27685         Event updates.
27686
27687         * gst/gstbuffer.h:
27688         Use faster casts.
27689
27690         * gst/gstelement.c: (gst_element_seek):
27691         * gst/gstelement.h:
27692         Update gst_element_seek.
27693
27694         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27695         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27696         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27697         (gst_event_new_eos), (gst_event_new_newsegment),
27698         (gst_event_parse_newsegment), (gst_event_new_tag),
27699         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27700         (gst_event_parse_qos), (gst_event_new_seek),
27701         (gst_event_parse_seek), (gst_event_new_navigation):
27702         * gst/gstevent.h:
27703         Make GstEvent use GstStructure. Add parsing code, make sure the
27704         API is sufficiently generic.
27705         Mark possible directions of events and serialization.
27706
27707         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27708         (_gst_message_copy), (gst_message_new_segment_start),
27709         (gst_message_new_segment_done), (gst_message_new_custom),
27710         (gst_message_parse_segment_start),
27711         (gst_message_parse_segment_done):
27712         Small cleanups.
27713
27714         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27715         (gst_pad_set_caps), (gst_pad_send_event):
27716         Update for new events. 
27717         Catch events sent in wrong directions.
27718
27719         * gst/gstqueue.c: (gst_queue_link_src),
27720         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27721         (gst_queue_handle_src_query):
27722         Event updates.
27723
27724         * gst/gsttag.c:
27725         * gst/gsttag.h:
27726         Remove event code from this file.
27727
27728         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27729         (gst_dp_event_from_packet):
27730         Event updates.
27731
27732 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27733
27734         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27735         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27736         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27737           Make debugging actually useful.
27738
27739 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27740
27741         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27742         (gst_pad_fixate_caps):
27743           Implement default fixation once again, so that gst_pad_fixate()
27744           actually does anything at all. This probably needs to be some
27745           sort of a last resort, and use profile-based fixation first, but
27746           since that doesn't exist yet, this is the best we have. Fixes
27747           visualization in Totem.
27748
27749 2005-07-22  Wim Taymans  <wim@fluendo.com>
27750
27751         * docs/design/part-events.txt:
27752         Small update.
27753
27754         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27755         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27756         (gst_base_sink_activate_pull):
27757         Some more comments.
27758
27759         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27760         (gst_fake_src_create):
27761         Fix handoff marshall.
27762
27763         * gst/elements/gstidentity.c: (gst_identity_class_init),
27764         (gst_identity_transform_ip):
27765         We're a real inplace element.
27766
27767         * gst/gstbus.c: (gst_bus_post):
27768         Added some comments.
27769
27770         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27771         * tests/muxing/case1.c: (main):
27772         * tests/sched/dynamic-pipeline.c: (main):
27773         * tests/sched/interrupt1.c: (main):
27774         * tests/sched/interrupt2.c: (main):
27775         * tests/sched/interrupt3.c: (main):
27776         * tests/sched/runxml.c: (main):
27777         * tests/sched/sched-stress.c: (main):
27778         * tests/seeking/seeking1.c: (event_received), (main):
27779         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27780         (main):
27781         * tests/threadstate/threadstate3.c: (main):
27782         * tests/threadstate/threadstate4.c: (main):
27783         * tests/threadstate/threadstate5.c: (main):
27784         Fix the tests.
27785
27786 2005-07-21  Wim Taymans  <wim@fluendo.com>
27787
27788         * docs/design/part-seeking.txt:
27789         Some small additions.
27790
27791         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27792         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27793         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27794         * gst/base/gstbasesink.h:
27795         discont values are gint64, handle the math correctly.
27796
27797         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27798         Make the basesrc report error if the source pad is not linked.
27799
27800         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27801         (gst_queue_loop), (gst_queue_handle_src_query),
27802         (gst_queue_src_activate_push):
27803         Make queue collect data even if the srcpad is not linked.
27804         Start pushing out data as soon as it is linked.
27805
27806         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27807         * gst/gstutils.h:
27808         Added gst_flow_get_name() to ease error reporting.
27809
27810 2005-07-20  Wim Taymans  <wim@fluendo.com>
27811
27812         * gst/gstmessage.c: (gst_message_new_segment_start),
27813         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27814         (gst_message_parse_segment_done):
27815         * gst/gstmessage.h:
27816         Added a bunch of messages for advanced seeking.
27817
27818         * gst/parse/grammar.y:
27819         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27820         (gst_dpman_state_changed):
27821         Fix some new-pad -> pad-added signals
27822
27823 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27824
27825         * docs/manual/appendix-porting.xml:
27826         * docs/pwg/appendix-porting.xml:
27827           Document new-pad/state-change signal renames and the FixedList
27828           type rename.
27829
27830 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27831
27832         * docs/manual/advanced-autoplugging.xml:
27833         * docs/manual/basics-helloworld.xml:
27834         * docs/manual/basics-pads.xml:
27835         * docs/random/ds/0.9-suggested-changes:
27836         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27837         * gst/gstelement.h:
27838         * gst/gstevent.h:
27839         * gst/gstformat.h:
27840         * gst/gstquery.h:
27841         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27842         (gst_structure_parse_array), (gst_structure_parse_value):
27843         * gst/gstvalue.c: (gst_type_is_fixed),
27844         (gst_value_list_prepend_value), (gst_value_list_append_value),
27845         (gst_value_list_get_size), (gst_value_list_get_value),
27846         (gst_value_transform_array_string), (gst_value_serialize_array),
27847         (gst_value_deserialize_array), (gst_value_intersect_array),
27848         (gst_value_is_fixed), (_gst_value_initialize):
27849         * gst/gstvalue.h:
27850           GstElement::new-pad -> pad-added, GstElement::state-change ->
27851           state-changed, GstValueFixedList -> GstValueArray, add format and
27852           flags as their own arguments in gst_element_seek() (should improve
27853           "bindeability"), remove function generators since they don't work
27854           under a whole bunch of compilers (they were deprecated already
27855           anyway).
27856
27857 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27858
27859         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27860         (_gst_debug_register_funcptr):
27861         * gst/gstinfo.h:
27862           Fix illegal cast on some platforms (#309253).
27863
27864 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27865
27866         * gst/gstmessage.c: (gst_message_new_custom):
27867         * gst/gstmessage.h:
27868           Add _new_custom, make _new_application a macro to _new_custom.
27869
27870 2005-07-20  Wim Taymans  <wim@fluendo.com>
27871
27872         * gst/base/gstbasesrc.c: (gst_base_src_init),
27873         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27874         * gst/base/gstbasesrc.h:
27875         Add a gboolean to decide when to push out a discont.
27876
27877         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27878         (gst_queue_loop), (gst_queue_handle_src_query),
27879         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27880         (gst_queue_set_property), (gst_queue_get_property):
27881         Some cleanups.
27882
27883         * tests/threadstate/threadstate1.c: (main):
27884         Make a thread test compile and run... very silly..
27885
27886
27887 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27888
27889         * docs/manual/appendix-porting.xml:
27890           Mention removal of libgstgconf-0.9.la and existence of gconf
27891           elements.
27892
27893 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27894
27895         * docs/pwg/advanced-clock.xml:
27896         * docs/pwg/appendix-porting.xml:
27897         * docs/pwg/intro-preface.xml:
27898         * docs/pwg/other-base.xml:
27899         * docs/pwg/other-manager.xml:
27900         * docs/pwg/other-nton.xml:
27901         * docs/pwg/other-ntoone.xml:
27902         * docs/pwg/other-oneton.xml:
27903         * docs/pwg/pwg.xml:
27904           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27905           demuxer), remove n-to-n (was never written), fix some code examples
27906           and links and update the porting section to include all this.
27907
27908 2005-07-19  Wim Taymans  <wim@fluendo.com>
27909
27910         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27911         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27912         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27913         (gst_queue_src_activate_push), (gst_queue_change_state),
27914         (gst_queue_get_property):
27915         * gst/gstqueue.h:
27916         Propagate GstFlowReturn more intelligently upstream and output
27917         an ERROR/EOS when streaming stopped due to fatal error.
27918
27919 2005-07-19  Wim Taymans  <wim@fluendo.com>
27920
27921         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27922         Don't block forever for the state change to complete, the
27923         pipeline already did with a sensible timeout.
27924
27925 2005-07-19  Wim Taymans  <wim@fluendo.com>
27926
27927         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27928         Make sure we never call the create function is we
27929         got deactivated.
27930
27931 2005-07-19  Andy Wingo  <wingo@pobox.com>
27932
27933         * gst/parse/parse.l: Attempt to solve bug #172815.
27934
27935 2005-07-19  Wim Taymans  <wim@fluendo.com>
27936
27937         * docs/design/part-clocks.txt:
27938         * docs/design/part-events.txt:
27939         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27940         Small docs updates.
27941         Only update the seeking values when we are not
27942         busy streaming.
27943
27944 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27945
27946         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27947           Oops, ignore the result of gst_pad_push_event here.
27948
27949 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27950
27951         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27952         (gst_base_src_activate_push):
27953           Send discont event from the loop function, as pads
27954           aren't activated yet in the activate_push handler.
27955
27956         * gst/gstbin.c: (bin_bus_handler):
27957           Don't leak element name.
27958
27959 2005-07-18  Andy Wingo  <wingo@pobox.com>
27960
27961         * configure.ac: Use AS_LIBTOOL_TAGS.
27962
27963 2005-07-18  Wim Taymans  <wim@fluendo.com>
27964
27965         * docs/gst/gstreamer.types:
27966         Remove deleted types.
27967
27968 2005-07-18  Wim Taymans  <wim@fluendo.com>
27969
27970         * check/elements/gstfakesrc.c: (GST_START_TEST):
27971         * configure.ac:
27972         * gst/Makefile.am:
27973         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27974         (init_popt_callback):
27975         * gst/gst.h:
27976         * gst/gst_private.h:
27977         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27978         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27979         * gst/gstbin.h:
27980         * gst/gstbus.h:
27981         * gst/gstconfig.h.in:
27982         * gst/gstelement.c: (gst_element_class_init),
27983         (gst_element_set_base_time), (gst_element_get_base_time),
27984         (iterator_fold_with_resync), (gst_element_change_state),
27985         (gst_element_dispose), (gst_element_get_bus):
27986         * gst/gstelement.h:
27987         * gst/gstelementfactory.h:
27988         * gst/gsterror.c: (_gst_core_errors_init):
27989         * gst/gsterror.h:
27990         * gst/gstevent.h:
27991         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27992         * gst/gstindex.c:
27993         * gst/gstinfo.c: (_gst_debug_init):
27994         * gst/gstmessage.c: (_gst_message_copy):
27995         * gst/gstmessage.h:
27996         * gst/gstminiobject.h:
27997         * gst/gstobject.c:
27998         * gst/gstobject.h:
27999         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28000         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
28001         * gst/gstpad.h:
28002         * gst/gstparse.h:
28003         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28004         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28005         (gst_pipeline_get_last_stream_time):
28006         * gst/gstpipeline.h:
28007         * gst/gstpluginfeature.h:
28008         * gst/gstquery.h:
28009         * gst/gstscheduler.c:
28010         * gst/gstscheduler.h:
28011         * gst/gststructure.h:
28012         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
28013         (gst_task_finalize), (gst_task_func), (gst_task_create),
28014         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
28015         (gst_task_stop), (gst_task_pause):
28016         * gst/gsttask.h:
28017         * gst/gsttypefind.h:
28018         * gst/gsttypes.h:
28019         * gst/registries/gstlibxmlregistry.c: (load_feature),
28020         (gst_xml_registry_load), (gst_xml_registry_save_feature):
28021         * gst/registries/gstxmlregistry.c:
28022         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
28023         * gst/schedulers/threadscheduler.c:
28024         * libs/gst/control/dparammanager.h:
28025         * tools/gst-inspect.c: (print_element_list),
28026         (print_plugin_features), (print_element_features):
28027         * tools/gst-xmlinspect.c: (print_element_list),
28028         (print_plugin_info), (main):
28029         Removed plugable schedulers.
28030         Removed Scheduler/Manager from elements.
28031         Removed gsttypes.h, rearranged includes.
28032         Removed dependency pad<->element, element<>pipeline, and
28033         various others,  fix includes.
28034         implement gst_pad_get_parent() with gst_object_get_parent()
28035         Make GstTask sefcontained.
28036         Fix _get_state() on GstBin, it did not return ASYNC with a 0
28037         timeout.
28038         Fix endless loop in iterator_fold_with_resync.
28039
28040
28041 2005-07-18  Wim Taymans  <wim@fluendo.com>
28042
28043         * gst/Makefile.am:
28044         * gst/gstarch.h:
28045         Remove old file.
28046
28047 2005-07-18  Wim Taymans  <wim@fluendo.com>
28048
28049         * gst/Makefile.am:
28050         No more cothreads.h
28051
28052 2005-07-18  Wim Taymans  <wim@fluendo.com>
28053
28054         * gst/cothreads.c:
28055         * gst/cothreads.h:
28056         Let's remove these.
28057
28058 2005-07-18  Wim Taymans  <wim@fluendo.com>
28059
28060         * docs/design/part-dynamic.txt:
28061         * docs/design/part-events.txt:
28062         * docs/design/part-seeking.txt:
28063         Some more docs in the works.
28064
28065         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
28066         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
28067         (gst_base_transform_setcaps), (gst_base_transform_get_size),
28068         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
28069         (gst_base_transform_handle_buffer),
28070         (gst_base_transform_sink_activate_push),
28071         (gst_base_transform_src_activate_pull),
28072         (gst_base_transform_set_passthrough),
28073         (gst_base_transform_is_passthrough):
28074         Refcounting fixes.
28075
28076         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
28077         Cleanups.
28078
28079         * gst/gstevent.c: (gst_event_finalize):
28080         Set SRC to NULL.
28081
28082         * gst/gstutils.c: (gst_element_unlink),
28083         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
28084         (gst_pad_proxy_setcaps):
28085         * gst/gstutils.h:
28086         Add _get_parent_element() to get a pads parent as an element.
28087
28088 2005-07-18  Wim Taymans  <wim@fluendo.com>
28089
28090         * check/gst/gstbin.c: (GST_START_TEST):
28091         Remove bogus test.
28092
28093 2005-07-18  Wim Taymans  <wim@fluendo.com>
28094
28095         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28096         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28097         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28098         (gst_base_sink_event), (gst_base_sink_do_sync),
28099         (gst_base_sink_chain), (gst_base_sink_loop),
28100         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
28101         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
28102         Refcounting fixes.
28103         Fix logic for returning ASYNC when not prerolled.
28104
28105 2005-07-18  Wim Taymans  <wim@fluendo.com>
28106
28107         * gst/gstqueue.c: (gst_queue_handle_sink_event):
28108         Fix nasty refcount bug.
28109
28110 2005-07-16 Philippe Khalaf <burger@speedy.org>
28111
28112         * gst/elements/gstfdsrc.c:
28113         * gst/elements/gstfdsrc.h:
28114         * gst/elements/gstelements.c:
28115         * gst/elements/Makefile.am:
28116         Ported fdsrc to 0.9.
28117
28118 2005-07-16  Wim Taymans  <wim@fluendo.com>
28119
28120         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28121         (gst_base_sink_do_sync):
28122         Fix compile error.
28123
28124 2005-07-16  Wim Taymans  <wim@fluendo.com>
28125
28126         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28127         (gst_base_sink_event), (gst_base_sink_get_times),
28128         (gst_base_sink_do_sync), (gst_base_sink_change_state):
28129         * gst/base/gstbasesink.h:
28130         Store and use discont values when syncing buffers as described
28131         in design docs.
28132         
28133         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
28134         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
28135         (gst_base_src_activate_push):
28136         Push discont event when starting.
28137
28138         * gst/elements/gstidentity.c: (gst_identity_transform):
28139         Small cleanups.
28140
28141         * gst/gstbin.c: (gst_bin_change_state):
28142         Small cleanups in base_time  distribution.
28143
28144         * gst/gstelement.c: (gst_element_set_base_time),
28145         (gst_element_get_base_time), (gst_element_change_state):
28146         * gst/gstelement.h:
28147         Added methods for the base_time of the element.
28148         Some MT fixes.
28149
28150         * gst/gstpipeline.c: (gst_pipeline_send_event),
28151         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
28152         (gst_pipeline_get_last_stream_time):
28153         * gst/gstpipeline.h:
28154         MT fixes.
28155         Handle seeking as described in design doc, remove stream_time
28156         hack.
28157         Cleanups clock and stream_time selection code. Added accessors
28158         for the stream_time.
28159         
28160
28161 2005-07-16  Andy Wingo  <wingo@pobox.com>
28162
28163         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
28164         (#305291).
28165
28166 2005-07-16  Wim Taymans  <wim@fluendo.com>
28167
28168         * check/gst/gstbin.c: (GST_START_TEST):
28169         Make elements silent as the deep_notify refs the
28170         parent, which might make the test fail.
28171
28172         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
28173         Don't hold the lock for too long.
28174
28175 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
28176
28177         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
28178           Don't unref the caps we passed to gst_caps_make_writable() after
28179           passing them. gst_caps_make_writable() will do that for us.
28180
28181 2005-07-15  Andy Wingo  <wingo@pobox.com>
28182
28183         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
28184         (#157311).
28185
28186         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
28187         own marshalling function for the handoff signal. Properly type the
28188         buffer as a buffer. Fixes some warnings. Should do a more general
28189         solution.
28190         (gst_identity_class_init): Plug into the right marshaller.
28191
28192 2005-07-15  Wim Taymans  <wim@fluendo.com>
28193
28194         * docs/design/part-TODO.txt:
28195         * docs/design/part-clocks.txt:
28196         * docs/design/part-element-sink.txt:
28197         * docs/design/part-events.txt:
28198         * docs/design/part-gstpipeline.txt:
28199         Updated docs, mostly DISCONT related.
28200
28201 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
28202
28203         * docs/pwg/building-pads.xml:
28204           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
28205
28206 2005-07-15  Andy Wingo  <wingo@pobox.com>
28207
28208         * tools/gst-typefind.c: Update, add copyright block.
28209
28210         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
28211         Normalize and truncate caps before fixation.
28212
28213         * gst/gstcaps.h:
28214         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
28215         discards all but the first structure from its argument.
28216
28217 2005-07-15  Wim Taymans  <wim@fluendo.com>
28218
28219         * gst/base/gstbasetransform.c: (gst_base_transform_init),
28220         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
28221         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
28222         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
28223         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
28224         (gst_base_transform_chain), (gst_base_transform_change_state),
28225         (gst_base_transform_set_passthrough),
28226         (gst_base_transform_is_passthrough):
28227         * gst/base/gstbasetransform.h:
28228         Make passthrough work using the bufferpools.
28229         Changed API a bit, subclasses have to write into a buffer
28230         provided by the base class.
28231         More debug info in nego functions.
28232         
28233         * gst/elements/gstidentity.c: (gst_identity_init),
28234         (gst_identity_transform):
28235         Port to new base class.
28236
28237 2005-07-15  Wim Taymans  <wim@fluendo.com>
28238
28239         * gst/gstmessage.c: (gst_message_new_state_changed):
28240         * tools/gst-launch.c: (event_loop), (main):
28241         Totally dump messages in -launch with the -m option.
28242         Fix message name for State messages,
28243
28244 2005-07-14  Wim Taymans  <wim@fluendo.com>
28245
28246         * gst/base/gstbasesrc.c: (gst_base_src_loop):
28247         Post error messages on errors.
28248
28249 2005-07-14  Wim Taymans  <wim@fluendo.com>
28250
28251         * gst/gstcaps.c: (gst_caps_do_simplify):
28252         Remove debug info.
28253
28254         * gst/gsterror.h:
28255         Define error for stream stopped.
28256
28257         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28258         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28259         Do proper return values.
28260
28261         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28262         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28263         (gst_pad_get_range):
28264         Better return values.
28265
28266         * gst/gstpad.h:
28267         Reorganise return values, add macro to check for fatal errors.
28268
28269         * gst/gstqueue.c: (gst_queue_chain):
28270         Return proper GstFlowReturn values,
28271
28272 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
28273
28274         * docs/gst/gstreamer-sections.txt:
28275         * docs/gst/gstreamer.types:
28276         * docs/gst/tmpl/gst.sgml:
28277         * docs/gst/tmpl/gstbasesink.sgml:
28278         * docs/gst/tmpl/gstbasesrc.sgml:
28279         * docs/gst/tmpl/gstbasetransform.sgml:
28280         * docs/gst/tmpl/gstbin.sgml:
28281         * docs/gst/tmpl/gstbuffer.sgml:
28282         * docs/gst/tmpl/gstcaps.sgml:
28283         * docs/gst/tmpl/gstclock.sgml:
28284         * docs/gst/tmpl/gstcompat.sgml:
28285         * docs/gst/tmpl/gstconfig.sgml:
28286         * docs/gst/tmpl/gstelement.sgml:
28287         * docs/gst/tmpl/gstelementdetails.sgml:
28288         * docs/gst/tmpl/gstelementfactory.sgml:
28289         * docs/gst/tmpl/gstenumtypes.sgml:
28290         * docs/gst/tmpl/gsterror.sgml:
28291         * docs/gst/tmpl/gstevent.sgml:
28292         * docs/gst/tmpl/gstfakesink.sgml:
28293         * docs/gst/tmpl/gstfakesrc.sgml:
28294         * docs/gst/tmpl/gstfilesink.sgml:
28295         * docs/gst/tmpl/gstfilesrc.sgml:
28296         * docs/gst/tmpl/gstfilter.sgml:
28297         * docs/gst/tmpl/gstformat.sgml:
28298         * docs/gst/tmpl/gstghostpad.sgml:
28299         * docs/gst/tmpl/gstimplementsinterface.sgml:
28300         * docs/gst/tmpl/gstindex.sgml:
28301         * docs/gst/tmpl/gstindexfactory.sgml:
28302         * docs/gst/tmpl/gstinfo.sgml:
28303         * docs/gst/tmpl/gstiterator.sgml:
28304         * docs/gst/tmpl/gstmacros.sgml:
28305         * docs/gst/tmpl/gstmemchunk.sgml:
28306         * docs/gst/tmpl/gstminiobject.sgml:
28307         * docs/gst/tmpl/gstobject.sgml:
28308         * docs/gst/tmpl/gstpad.sgml:
28309         * docs/gst/tmpl/gstpadtemplate.sgml:
28310         * docs/gst/tmpl/gstparse.sgml:
28311         * docs/gst/tmpl/gstpipeline.sgml:
28312         * docs/gst/tmpl/gstplugin.sgml:
28313         * docs/gst/tmpl/gstpluginfeature.sgml:
28314         * docs/gst/tmpl/gstquery.sgml:
28315         * docs/gst/tmpl/gstqueue.sgml:
28316         * docs/gst/tmpl/gstregistry.sgml:
28317         * docs/gst/tmpl/gstregistrypool.sgml:
28318         * docs/gst/tmpl/gstscheduler.sgml:
28319         * docs/gst/tmpl/gstschedulerfactory.sgml:
28320         * docs/gst/tmpl/gststructure.sgml:
28321         * docs/gst/tmpl/gstsystemclock.sgml:
28322         * docs/gst/tmpl/gsttaglist.sgml:
28323         * docs/gst/tmpl/gsttagsetter.sgml:
28324         * docs/gst/tmpl/gsttrace.sgml:
28325         * docs/gst/tmpl/gsttrashstack.sgml:
28326         * docs/gst/tmpl/gsttypefind.sgml:
28327         * docs/gst/tmpl/gsttypefindfactory.sgml:
28328         * docs/gst/tmpl/gsttypes.sgml:
28329         * docs/gst/tmpl/gsturihandler.sgml:
28330         * docs/gst/tmpl/gsturitype.sgml:
28331         * docs/gst/tmpl/gstutils.sgml:
28332         * docs/gst/tmpl/gstvalue.sgml:
28333         * docs/gst/tmpl/gstversion.sgml:
28334         * docs/gst/tmpl/gstxml.sgml:
28335         * docs/libs/tmpl/gstcontrol.sgml:
28336         * docs/libs/tmpl/gstdataprotocol.sgml:
28337         * docs/libs/tmpl/gstdparam.sgml:
28338         * docs/libs/tmpl/gstdplinint.sgml:
28339         * docs/libs/tmpl/gstdpman.sgml:
28340         * docs/libs/tmpl/gstdpsmooth.sgml:
28341         * docs/libs/tmpl/gstgetbits.sgml:
28342         * docs/libs/tmpl/gstunitconvert.sgml:
28343         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28344         (gst_push_src_base_init), (gst_push_src_class_init),
28345         (gst_push_src_init), (gst_push_src_create):
28346         * gst/base/gstpushsrc.h:
28347         * gst/elements/gstelements.c:
28348         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28349         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28350         (gst_fake_sink_init), (gst_fake_sink_set_property),
28351         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28352         (gst_fake_sink_event), (gst_fake_sink_preroll),
28353         (gst_fake_sink_render), (gst_fake_sink_change_state):
28354         * gst/elements/gstfakesink.h:
28355         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28356         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28357         (gst_fake_src_base_init), (gst_fake_src_class_init),
28358         (gst_fake_src_init), (gst_fake_src_event_handler),
28359         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28360         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28361         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28362         (gst_fake_src_create_buffer), (gst_fake_src_create),
28363         (gst_fake_src_start), (gst_fake_src_stop):
28364         * gst/elements/gstfakesrc.h:
28365         * gst/elements/gstfilesink.c: (_do_init),
28366         (gst_file_sink_base_init), (gst_file_sink_class_init),
28367         (gst_file_sink_init), (gst_file_sink_dispose),
28368         (gst_file_sink_set_location), (gst_file_sink_set_property),
28369         (gst_file_sink_get_property), (gst_file_sink_open_file),
28370         (gst_file_sink_close_file), (gst_file_sink_query),
28371         (gst_file_sink_event), (gst_file_sink_render),
28372         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28373         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28374         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28375         * gst/elements/gstfilesink.h:
28376         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28377         (gst_file_src_class_init), (gst_file_src_init),
28378         (gst_file_src_finalize), (gst_file_src_set_location),
28379         (gst_file_src_set_property), (gst_file_src_get_property),
28380         (gst_file_src_map_region), (gst_file_src_map_small_region),
28381         (gst_file_src_create_mmap), (gst_file_src_create_read),
28382         (gst_file_src_create), (gst_file_src_is_seekable),
28383         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28384         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28385         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28386         (gst_file_src_uri_handler_init):
28387         * gst/elements/gstfilesrc.h:
28388           more autistic cleanliness in functions/names/defines
28389
28390 2005-07-13  Andy Wingo  <wingo@pobox.com>
28391
28392         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28393         source couldn't negotiate.
28394
28395         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28396         connections again.
28397
28398         * gst/gstutils.h:
28399         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28400         function. I am channeling Hades. Put your boots on suckers!!!
28401
28402 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28403
28404         * testsuite/caps/Makefile.am:
28405         * testsuite/caps/value_compare.c:
28406         * testsuite/caps/value_intersect.c:
28407         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28408           move two testsuite apps over to the check dir
28409
28410 2005-07-12  Wim Taymans  <wim@fluendo.com>
28411
28412         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28413         Added more debug info in the negotiate process.
28414
28415         * gst/gstmessage.h:
28416         Prepare for segment playback.
28417
28418         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28419         Better debugging.
28420
28421         * gst/gstutils.c:
28422         Some more docs.
28423
28424         * tools/gst-launch.c: (main):
28425         NULL pipeline on errors.
28426
28427 2005-07-12  Andy Wingo  <wingo@pobox.com>
28428
28429         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28430         not it comes from a malloc region. Make sure our copy gets freed.
28431
28432 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28433
28434         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28435         * check/gst/gstmessage.c: (GST_START_TEST):
28436         * check/gst/gststructure.c: (GST_START_TEST),
28437         (gst_structure_suite), (main):
28438           more testing
28439         * gst/gstelement.c: (gst_element_message_full):
28440           clean up GError and debug string now that they get copied
28441         * gst/gstmessage.c: (gst_message_new_error),
28442         (gst_message_new_warning), (gst_message_parse_error),
28443         (gst_message_parse_warning):
28444           use GST_TYPE_G_ERROR for structure_new, and take copies of
28445           arguments, so that we don't mess up refcounting
28446
28447 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28448
28449         * check/Makefile.am:
28450           add per-test valgrind targets
28451         * check/gst-libs/gdp.c: (GST_START_TEST),
28452         (gst_data_protocol_suite), (main):
28453           clean up
28454
28455 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28456
28457         * check/Makefile.am:
28458           instate more valgrindable tests
28459         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28460         (GST_START_TEST), (fakesrc_suite):
28461         * check/gst/gstpad.c: (GST_START_TEST):
28462         * check/gst/gststructure.c: (GST_START_TEST):
28463           fix test leaks
28464         * docs/gst/tmpl/gstminiobject.sgml:
28465         * gst/gstpad.c: (gst_pad_finalize):
28466           fix the static mutex leak
28467
28468 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28469
28470         * check/Makefile.am:
28471           add two more tests for valgrinding
28472         * check/gst/gstvalue.c: (GST_START_TEST):
28473           test refcount of deserialized buffer, found a leak
28474         * docs/gst/gstreamer-docs.sgml:
28475         * docs/gst/gstreamer-sections.txt:
28476         * docs/gst/gstreamer.types:
28477         * docs/gst/tmpl/gstminiobject.sgml:
28478           add miniobject to docs
28479         * gst/gstminiobject.c:
28480           add some docs
28481         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28482         (gst_string_unwrap):
28483           fix a hard-to-find invalid write for one of the tests
28484           fix a leak for deserialized buffers
28485
28486 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28487
28488         * docs/pwg/advanced-events.xml:
28489         * docs/pwg/advanced-request.xml:
28490         * docs/pwg/advanced-scheduling.xml:
28491         * docs/pwg/appendix-porting.xml:
28492         * docs/pwg/building-boiler.xml:
28493         * docs/pwg/intro-preface.xml:
28494         * docs/pwg/other-ntoone.xml:
28495           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28496           of example code and explanation for pad activation, loop() and
28497           getrange() functions and a bit more. Remove old comments pointing
28498           to loop-functions.
28499         * examples/pwg/Makefile.am:
28500           Add loop/getrange examples.
28501
28502 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28503
28504         * configure.ac:
28505           check for valgrind binary + some fixes
28506         * check/gst.supp:
28507           valgrind suppressions for the tests
28508         * check/Makefile.am:
28509           add a valgrind: target that valgrinds the unit tests
28510         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28511         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28512         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28513         * check/gst/gstghostpad.c:
28514           added some cleanup
28515         * check/gst/gstdata.c:
28516           removed
28517         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28518         (thread_unref), (gst_mini_object_suite), (main):
28519           added
28520         * gst/gst.c: (gst_deinit):
28521         * gst/gst.h:
28522           add a method to clean up.
28523         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28524         (gst_system_clock_obtain):
28525           allow for disposing the system clock.
28526         * tools/gst-launch.c: (main):
28527           deinit
28528
28529 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28530
28531         * docs/gst/tmpl/gstbasesrc.sgml:
28532         * docs/gst/tmpl/gstfakesrc.sgml:
28533         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28534         (gst_base_src_init), (gst_base_src_set_property),
28535         (gst_base_src_get_property), (gst_base_src_get_range),
28536         (gst_base_src_start):
28537         * gst/base/gstbasesrc.h:
28538           add num-buffers property
28539         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28540         (gst_fakesrc_init), (gst_fakesrc_set_property),
28541         (gst_fakesrc_get_property), (gst_fakesrc_create),
28542         (gst_fakesrc_start):
28543           remove num-buffers property
28544
28545 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28546
28547         * docs/gst/gstreamer-sections.txt:
28548         * docs/gst/tmpl/gstbasesink.sgml:
28549         * docs/gst/tmpl/gstbasesrc.sgml:
28550         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28551         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28552         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28553         (gst_base_sink_set_property), (gst_base_sink_get_property),
28554         (gst_base_sink_handle_object), (gst_base_sink_event),
28555         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28556         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28557         (gst_base_sink_loop), (gst_base_sink_deactivate),
28558         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28559         (gst_base_sink_change_state):
28560         * gst/base/gstbasesink.h:
28561         * gst/base/gstbasesrc.h:
28562         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28563         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28564         (gst_filesink_init):
28565           more macro splitting
28566
28567 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28568
28569         * gst/gstelement.c: (gst_element_get_bus):
28570           add debug
28571         * tools/gst-launch.c: (check_intr), (event_loop):
28572           fix bus leaks
28573
28574 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28575
28576         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28577           fix a caps leak
28578
28579 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28580
28581         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28582         (gst_base_src_finalize):
28583           add finalize method and clean up properly
28584         * gst/gstpipeline.c: (gst_pipeline_dispose):
28585           add debug
28586
28587 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28588
28589         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28590         (gst_bin_suite):
28591           add more things to check
28592         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28593         * gst/gstelement.c:
28594           more debug
28595
28596 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28597
28598         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28599         (GST_START_TEST), (fakesrc_suite):
28600         * check/gst-libs/gdp.c: (GST_START_TEST):
28601         * check/gst/gst.c: (GST_START_TEST):
28602         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28603         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28604         * check/gst/gstbus.c: (GST_START_TEST):
28605         * check/gst/gstcaps.c: (GST_START_TEST):
28606         * check/gst/gstdata.c: (GST_START_TEST):
28607         * check/gst/gstelement.c: (GST_START_TEST):
28608         * check/gst/gstghostpad.c: (GST_START_TEST):
28609         * check/gst/gstiterator.c: (GST_START_TEST):
28610         * check/gst/gstmessage.c: (GST_START_TEST):
28611         * check/gst/gstobject.c: (GST_START_TEST):
28612         * check/gst/gstpad.c: (GST_START_TEST):
28613         * check/gst/gststructure.c: (GST_START_TEST):
28614         * check/gst/gstsystemclock.c: (GST_START_TEST),
28615         (gst_systemclock_suite):
28616         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28617         * check/gst/gstvalue.c: (GST_START_TEST):
28618         * check/pipelines/cleanup.c: (GST_START_TEST):
28619         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28620         * check/states/sinks.c: (GST_START_TEST):
28621         * check/gstcheck.c: (gst_check_init):
28622         * check/gstcheck.h:
28623           add debugging category
28624           use GST_START_TEST now, so we add a debug line
28625
28626 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28627
28628         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28629           add test for state change message on a bin
28630         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28631           add another test
28632         * gst/gstbin.c: (gst_bin_init):
28633         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28634         * gst/gstelement.c: (gst_element_post_message),
28635         (gst_element_set_state):
28636         * gst/gstelementfactory.c: (gst_element_factory_create):
28637         * gst/gstmessage.c: (gst_message_new):
28638         * gst/gstscheduler.c:
28639           various debugging additions and cleanups
28640
28641 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28642
28643         * check/Makefile.am:
28644         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28645         (main):
28646           adding tests for elements
28647         * gst/gstelement.c: (gst_element_dispose):
28648
28649 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28650
28651         * gst/registries/gstlibxmlregistry.c: (load_feature):
28652           plug more leaks.  A simple gst_init() now is leakfree, yay.
28653
28654 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28655
28656         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28657         (gst_xml_registry_load):
28658           plug another memleak
28659
28660 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28661
28662         * configure.ac:
28663           use GST_SET_ERROR_CFLAGS
28664         * docs/faq/cvs.xml:
28665           change to ERROR_CFLAGS
28666
28667 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28668
28669         * configure.ac:
28670           make GST_ERROR_CFLAGS overridable and re-enable Werror
28671         * docs/faq/cvs.xml:
28672           add a note about error CFLAGS
28673         * docs/gst/tmpl/gstfakesrc.sgml:
28674         * gst/elements/gstfakesrc.c:
28675           comment out some unused code
28676         * gst/gst.c: (split_and_iterate):
28677         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28678         (load_feature):
28679           plug some memleaks
28680
28681 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28682
28683         * common/Makefile.am:
28684         * common/gtk-doc.mak:
28685         * docs/gst/Makefile.am:
28686           factor out gtk-doc.mak
28687
28688 2005-07-07  Wim Taymans  <wim@fluendo.com>
28689
28690         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28691         (gst_thread_scheduler_dispose):
28692         Unlock the STREAM_LOCK completely.
28693
28694 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28695
28696         * check/Makefile.am:
28697         * check/elements/.cvsignore:
28698         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28699         (START_TEST), (fakesrc_suite), (main):
28700         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28701         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28702         (gst_fakesrc_create), (gst_fakesrc_start):
28703         * gst/elements/gstfakesrc.h:
28704           adding a first element test
28705
28706 2005-07-07  Andy Wingo  <wingo@pobox.com>
28707
28708         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28709         debug message.
28710
28711 2005-07-07  Wim Taymans  <wim@fluendo.com>
28712
28713         * gst/gstquery.c:
28714         * gst/gstquery.h:
28715         Remove old types
28716
28717 2005-07-07  Wim Taymans  <wim@fluendo.com>
28718
28719         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28720         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28721         Allow subclasses to implement their own negotiation.
28722
28723 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28724
28725         * docs/design/part-gstbin.txt:
28726         * docs/design/part-gstpipeline.txt:
28727           Update design notes to reflect the movement of
28728           responsibility for bus handling from GstPipeline to
28729           GstBin
28730
28731 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28732
28733         * configure.ac:
28734           Remove unnecessary queue2/3/4 examples.
28735
28736 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28737
28738         * examples/Makefile.am:
28739         * examples/helloworld/helloworld.c: (event_loop), (main):
28740         * examples/queue/queue.c: (event_loop), (main):
28741         * examples/queue2/queue2.c: (main):
28742           Update a couple of the examples to work again.
28743
28744         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28745         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28746          Spelling corrections and extra debug.
28747         
28748         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28749         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28750         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28751         * gst/gstbin.h:
28752         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28753         (gst_pipeline_change_state):
28754         * gst/gstpipeline.h:
28755           Move the bus handler for children to the GstBin, and create a
28756           separate bus for receiving messages from children to the one the
28757           bus sends 'upwards' on.
28758
28759 2005-07-06  Wim Taymans  <wim@fluendo.com>
28760
28761         * gst/base/README:
28762         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28763         (gst_base_sink_handle_object), (gst_base_sink_loop),
28764         (gst_base_sink_change_state):
28765         * gst/base/gstbasesink.h:
28766         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28767         (gst_base_src_init), (gst_base_src_setcaps),
28768         (gst_base_src_getcaps), (gst_base_src_loop),
28769         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28770         (gst_base_src_start), (gst_base_src_change_state):
28771         * gst/base/gstbasesrc.h:
28772         Make basesrc negotiate.
28773         Handle the case where preroll fails in basesink.
28774         Update README.
28775
28776 2005-07-06  Wim Taymans  <wim@fluendo.com>
28777
28778         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28779         Implement the fixate function.
28780         Clean up acceptcaps.
28781
28782 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28783
28784         * docs/pwg/building-filterfactory.xml:
28785         * docs/pwg/pwg.xml:
28786           Remove never-written filter-factory chapter; I'll add the various
28787           base classes to part 4 ("other element types") later on.
28788
28789 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28790
28791         * docs/pwg/advanced-negotiation.xml:
28792         * docs/pwg/building-boiler.xml:
28793         * docs/pwg/building-pads.xml:
28794         * docs/pwg/pwg.xml:
28795         * examples/pwg/Makefile.am:
28796           Add a chapter on caps negotiation, simplify the original code
28797           samples a bit w.r.t. caps negotiation, add link to the advanced
28798           section. Add a bunch of examples showing different use cases of
28799           different types of caps negotiation. Upstream renegotiation isn't
28800           fully documented yet since nobody knows how that works.
28801
28802 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28803
28804         * check/gst/gstpad.c:
28805         * check/gstcheck.c:
28806         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28807           if pad has no parent, return NULL as list of internal links
28808
28809 2005-07-05  Andy Wingo  <wingo@pobox.com>
28810
28811         * gst/elements/gstfilesrc.c:
28812         * gst/elements/gstfakesrc.c: 
28813         * gst/base/gstpushsrc.c:
28814         * gst/base/gstbasesrc.h: 
28815         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28816         
28817 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28818
28819         * Makefile.am:
28820           better report generation target (lcov needs a patch)
28821
28822 2005-07-05  Andy Wingo  <wingo@pobox.com>
28823
28824         * gst/elements, testsuite: Null if we got it...
28825
28826 2005-07-05  Wim Taymans  <wim@fluendo.com>
28827
28828         * configure.ac:
28829         * libs/gst/dataprotocol/Makefile.am:
28830         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28831         * libs/gst/dataprotocol/dataprotocol.h:
28832         * pkgconfig/Makefile.am:
28833         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28834         * pkgconfig/gstreamer-dataprotocol.pc.in:
28835         Ported dataprotol to 0.9. 
28836         Added pkgconfig files.
28837
28838 2005-07-05  Andy Wingo  <wingo@pobox.com>
28839
28840         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28841         Default to returning TRUE for the case when tranform_caps returns
28842         a fixed caps, like for identity or volume.
28843
28844         * check/gst/gstbus.c (pound_bus_with_messages): 
28845         * check/gst/gstmessage.c (START_TEST): 
28846         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28847         message API change.
28848
28849         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28850         logic weaks here: always run transform_caps, trying passthrough
28851         operation only if the original caps intersects with the transform.
28852
28853         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28854         source and sink caps.
28855
28856         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28857         Intersect the peer caps with the pad template before going into
28858         transform_caps.
28859         (gst_base_transform_transform_caps): More debugging.
28860
28861         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28862         src argument.
28863
28864 2005-07-04  Edward Hervey  <edward@fluendo.com>
28865
28866         * gst/gstutils.c:
28867         * gst/gstutils.h:
28868         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28869         in bindings.
28870
28871 2005-07-04  Andy Wingo  <wingo@pobox.com>
28872
28873         * check/gst/gstpad.c: Only set explicit caps on pads.
28874
28875 2005-07-01  Andy Wingo  <wingo@pobox.com>
28876
28877         * tests/network-clock.scm: Commentary update.
28878
28879         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28880         Didn't really make sense, not implementable with basetransform,
28881         etc.
28882         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28883         attempt at implementing the sync property, needs an unlock method.
28884
28885         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28886         New func, by default returns the same caps (the identity
28887         transformation).
28888         (gst_base_transform_getcaps): Uses transform_caps to return
28889         something sensible.
28890         (gst_base_transform_setcaps): Complicated logic to get caps on
28891         both pads, even if they are different, and to call set_caps once
28892         for every time both pads get their caps set.
28893         (gst_base_transform_handle_buffer): Give the ref to the transform
28894         function. Allows in-place modification of the buffer.
28895
28896         * gst/base/gstbasetransform.h (transform_caps): New class method.
28897         Given caps on one side, what can I do on the other.
28898         (set_caps): Take two caps, one for each side of the element.
28899
28900         * gst/gstpad.h:
28901         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28902         caps in place. This is safe because we can check the mutability of
28903         the caps, and a good idea because fixate functions are just called
28904         as a matter of last resort. (Not actually implemented.)
28905         (gst_pad_set_caps): If the caps we're setting is actually the same
28906         as the existing pad caps, just update the pointer without calling
28907         setcaps. Assert that caps is either NULL or fixed, as per the
28908         docs.
28909
28910         * gst/gstghostpad.c: Update for fixate changes.
28911
28912 2005-07-02  Andy Wingo  <wingo@pobox.com>
28913
28914         * gst/gstcaps.c:
28915         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28916         two refcounts makes it immutable, which is enough. Doc more.
28917
28918 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28919
28920         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28921           Put the mini_object into GValue as a mini_object,
28922           not a gpointer, since that's how we declared
28923           the signal.
28924
28925 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28926
28927         * examples/pwg/Makefile.am:
28928           Fix buildbot again.
28929
28930 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28931
28932         * docs/pwg/building-testapp.xml:
28933           Add extra check.
28934         * examples/pwg/Makefile.am:
28935           Fix buildbot.
28936
28937 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28938
28939         * configure.ac:
28940         * examples/Makefile.am:
28941         * examples/pwg/Makefile.am:
28942         * examples/pwg/extract.pl:
28943           Enable building the PWG examples.
28944         * docs/pwg/advanced-interfaces.xml:
28945           Add URI interface stub.
28946         * docs/pwg/advanced-types.xml:
28947         * docs/pwg/other-autoplugger.xml:
28948         * docs/pwg/appendix-porting.xml:
28949         * docs/pwg/pwg.xml:
28950           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28951         * docs/pwg/building-boiler.xml:
28952         * docs/pwg/building-chainfn.xml:
28953         * docs/pwg/building-pads.xml:
28954         * docs/pwg/building-props.xml:
28955         * docs/pwg/building-state.xml:
28956         * docs/pwg/building-testapp.xml:
28957           Update the building-*.xml parts for 0.9 changes. All examples
28958           code blocks compile in examples/pwg/*.
28959
28960 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28961
28962         * docs/manual/advanced-autoplugging.xml:
28963         * docs/manual/appendix-checklist.xml:
28964         * docs/manual/appendix-integration.xml:
28965         * docs/manual/highlevel-components.xml:
28966           Fix playbin/decodebin examples, update docs a bit, mention bus
28967           instead of signals in various places, mention kmplayer and
28968           kaffeine since they have a working GStreamer backend in the KDE
28969           section.
28970
28971 2005-06-30  Wim Taymans  <wim@fluendo.com>
28972
28973         * CHANGES-0.9:
28974         * docs/design/draft-ghostpads.txt:
28975         * docs/design/draft-push-pull.txt:
28976         * docs/design/draft-query.txt:
28977         * docs/design/part-TODO.txt:
28978         * docs/design/part-query.txt:
28979         Added CHANGES-0.9 doc, updated status of other docs.
28980         
28981         * gst/gstquery.h:
28982         Remove "hmm" macro
28983
28984 2005-06-30  Wim Taymans  <wim@fluendo.com>
28985
28986         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28987         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28988         (gst_base_sink_change_state):
28989         * gst/base/gstbasesink.h:
28990         Some tweaks, only EOS and a buffer complete a preroll.
28991
28992 2005-06-30  Andy Wingo  <wingo@pobox.com>
28993
28994         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28995         activate_push down to the internal pad as well.
28996
28997 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28998
28999         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29000
29001         * gst/gsttaginterface.c:
29002           Some documentation fixes (#307394 and #307397).
29003
29004 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
29005
29006         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29007
29008         * gst/gstvalue.c: (gst_value_intersect_list):
29009           Fix memleak (#309125).
29010
29011 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29012
29013         * docs/manual/advanced-dataaccess.xml:
29014           Fix fakesrc example to compile; doesn't work, bug somewhere...?
29015         * docs/manual/basics-pads.xml:
29016           Add reference for filtered caps to above chapter.
29017
29018 2005-06-30  Wim Taymans  <wim@fluendo.com>
29019
29020         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
29021         (gst_bin_change_state):
29022         Probes are gone.
29023         Lame attempt at making the state change function a bit
29024         more readable.
29025
29026 2005-06-30  Wim Taymans  <wim@fluendo.com>
29027
29028         * docs/design/part-clocks.txt:
29029         * docs/design/part-element-sink.txt:
29030         * docs/design/part-events.txt:
29031         * docs/design/part-preroll.txt:
29032         * docs/design/part-states.txt:
29033         Some more tweeks and additions to the docs.
29034
29035 2005-06-30  Wim Taymans  <wim@fluendo.com>
29036
29037         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29038         (default_have_data), (gst_pad_class_init), (gst_pad_init),
29039         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29040         (gst_pad_check_pull_range), (gst_pad_get_range),
29041         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
29042         * gst/gstpad.h:
29043         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
29044         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29045         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29046         (gst_pad_remove_buffer_probe):
29047         Removed atomic operations, use existing LOCK.
29048         Move exception handling out of main code path.
29049
29050 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29051
29052         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29053         (silly_return_true_function), (gst_pad_class_init),
29054         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
29055         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
29056         (gst_pad_send_event):
29057           Fix accumulator, add default value by using _emitv() instead
29058           of _emit() for signal emission.
29059
29060 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29061
29062         * docs/manual/advanced-dataaccess.xml:
29063         * examples/manual/Makefile.am:
29064           Add probe example.
29065         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
29066           Make work (??).
29067
29068 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
29069
29070         * gst/elements/gstfilesink.c: (gst_filesink_render):
29071           Simplify code so that we don't have to handle short
29072           writes and return GST_FLOW_ERROR if an error occured.
29073
29074 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29075
29076         * docs/gst/gstreamer-docs.sgml:
29077           Remove probes more.
29078
29079 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29080
29081         * docs/gst/gstreamer-sections.txt:
29082         * docs/gst/tmpl/gstpad.sgml:
29083         * docs/gst/tmpl/gstprobe.sgml:
29084         * gst/Makefile.am:
29085         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
29086         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
29087         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29088         (gst_pad_push_event), (gst_pad_send_event):
29089         * gst/gstpad.h:
29090         * gst/gstutils.c: (gst_pad_add_data_probe),
29091         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
29092         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
29093         (gst_pad_remove_buffer_probe):
29094         * gst/gstutils.h:
29095           Remove old probes, add new g-signal-based probes and some utility
29096           functions.
29097
29098 2005-06-29  Edward Hervey  <edward@fluendo.com>
29099
29100         * gst/gstelementfactory.c:
29101         * gst/gstutils.h:
29102         * gst/gstutils.c:
29103         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
29104         the definition to the header file.
29105
29106 2005-06-29  Andy Wingo  <wingo@pobox.com>
29107
29108         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
29109         plugins from the source directory.
29110
29111 2005-06-29  Wim Taymans  <wim@fluendo.com>
29112
29113         * docs/gst/tmpl/gstbuffer.sgml:
29114         * docs/gst/tmpl/gstclock.sgml:
29115         Some fixings for blantently wrong text.
29116
29117 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29118
29119         * check/Makefile.am:
29120         * gst/gst.c: (add_path_func), (init_pre):
29121         * gst/gstregistry.c: (gst_registry_add_path):
29122           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
29123           only scan the GST_PLUGIN_PATH locations, and not add
29124           system locations
29125
29126 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
29127
29128         * docs/gst/gstreamer-sections.txt:
29129         * docs/gst/tmpl/gstbasesrc.sgml:
29130         * gst/gstelement.c:
29131         * gst/gstelement.h:
29132         * gst/gstevent.c:
29133         * gst/gstutils.c:
29134           doc fixes
29135
29136 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29137
29138         * docs/manual/advanced-autoplugging.xml:
29139           Fix autoplugging example.
29140
29141 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29142
29143         * docs/manual/advanced-autoplugging.xml:
29144         * docs/manual/mime-world.fig:
29145           Try to get autoplugging working, fix type detection. Fix text
29146           in hello-world image.
29147
29148 2005-06-29  Wim Taymans  <wim@fluendo.com>
29149
29150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
29151         (gst_base_sink_change_state):
29152         Small debug line.
29153
29154         * gst/gstclock.h:
29155         map SIGNAL and BROADCAST to the right function.
29156
29157         * gst/gstobject.h:
29158         Remove redundant braces.
29159
29160         * gst/gstpad.c: (gst_pad_set_caps):
29161         Don't call setcaps function when reseting caps to NULL.
29162
29163         * gst/gstsystemclock.c: (gst_system_clock_dispose),
29164         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
29165         (gst_system_clock_id_unschedule):
29166         Use BROADCAST as this is what we do.
29167
29168 2005-06-29  Wim Taymans  <wim@fluendo.com>
29169
29170         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
29171         We are actually prerolling before commiting the state
29172         change. 
29173
29174 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29175
29176         * docs/manual/advanced-clocks.xml:
29177         * docs/manual/advanced-interfaces.xml:
29178         * docs/manual/advanced-metadata.xml:
29179         * docs/manual/advanced-position.xml:
29180         * docs/manual/advanced-schedulers.xml:
29181         * docs/manual/advanced-threads.xml:
29182         * docs/manual/appendix-porting.xml:
29183         * docs/manual/basics-bins.xml:
29184         * docs/manual/basics-bus.xml:
29185         * docs/manual/basics-elements.xml:
29186         * docs/manual/basics-helloworld.xml:
29187         * docs/manual/basics-pads.xml:
29188         * docs/manual/highlevel-components.xml:
29189         * docs/manual/manual.xml:
29190         * docs/manual/thread.fig:
29191           Update (until threads/scheduling) Application Development Manual;
29192           remove GstThread, add GstBus, add simple porting checklist, add
29193           documentation for tag writing, clocks, make all examples until this
29194           part compile and run.
29195         * examples/manual/Makefile.am:
29196           Update from changes to Application Development Manual; add bus
29197           example, remove thread example.
29198
29199 2005-06-28  Wim Taymans  <wim@fluendo.com>
29200
29201         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
29202         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
29203         (gst_bus_source_dispatch):
29204         Add debugging messages.
29205         Make internal methods static.
29206         Handle the case where the bus is flushed in the handler.
29207         
29208         * gst/gstelement.c: (gst_element_get_bus):
29209         Fix refcount in _get_bus();
29210
29211         * gst/gstpipeline.c: (gst_pipeline_change_state),
29212         (gst_pipeline_get_clock_func):
29213         Clock refcounting fixes.
29214         Handle the case where preroll timed out more gracefully.
29215         
29216         * gst/gstsystemclock.c: (gst_system_clock_dispose):
29217         Clean up the internal thread in dispose. This is needed
29218         for subclasses that actually get disposed.
29219         
29220         * gst/schedulers/threadscheduler.c:
29221         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
29222         (gst_thread_scheduler_dispose):
29223         Free thread pool in dispose.
29224
29225 2005-06-28  Andy Wingo  <wingo@pobox.com>
29226
29227         * tests/network-clock-utils.scm (debug, print-event): New utils.
29228
29229         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
29230         (*packet-loss*): Unified loss probability.
29231         (network-time): Report out-of-band events.
29232
29233         * tests/plot-data: Add support for out-of-band events. Hack it
29234         into this script instead of passing it down the pipe; should fix
29235         this later.
29236
29237 2005-06-28  Wim Taymans  <wim@fluendo.com>
29238
29239         * docs/gst/gstreamer.types:
29240         * docs/gst/tmpl/gstbasesrc.sgml:
29241         * docs/gst/tmpl/gstpad.sgml:
29242         Docs fixes.
29243
29244 2005-06-28  Wim Taymans  <wim@fluendo.com>
29245
29246         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29247         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
29248         (gst_proxy_pad_do_fixatecaps):
29249         Correctly proxy the check_pull_range function.
29250
29251 2005-06-28  Andy Wingo  <wingo@pobox.com>
29252
29253         * tests/network-clock.scm: Removed need for slib.
29254         
29255 2005-06-28  Wim Taymans  <wim@fluendo.com>
29256
29257         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29258         (gst_basesink_preroll_queue_flush):
29259         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29260         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29261         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29262         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29263         (gst_proxy_pad_set_property):
29264         * gst/gstpad.c:
29265         * gst/gstpad.h:
29266         * gst/gstqueue.c: (gst_queue_init):
29267         The deprecated pad loop function is removed now.
29268
29269 2005-06-28  Andy Wingo  <wingo@pobox.com>
29270
29271         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29272         New parameters, simulate network packet loss.
29273
29274         * tests/network-clock-utils.scm: Initialize the RNG.
29275
29276 2005-06-28  Wim Taymans  <wim@fluendo.com>
29277
29278         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29279         (gst_basesink_event), (gst_basesink_deactivate):
29280         Flushing the preroll queue always needs to unlock the waiters.
29281
29282 2005-06-28  Edward Hervey  <edward@fluendo.com>
29283
29284         * gst/gstpipeline.c: (gst_pipeline_send_event): 
29285         Wheen a seek was successful on a pipeline, set the stream_time to the
29286         seek offset in order to have a synchronized stream_time.
29287
29288 2005-06-28  Wim Taymans  <wim@fluendo.com>
29289
29290         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29291         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29292         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29293         (gst_proxy_pad_do_fixatecaps):
29294         Call wrapper function instead of just calling the function
29295         pointers. This takes care of any locking and whatmore.
29296
29297 2005-06-28  Wim Taymans  <wim@fluendo.com>
29298
29299         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29300         (gst_pad_pull_range):
29301         * gst/gstpad.h:
29302         CONNECTED -> LINKED.
29303
29304 2005-06-28  Andy Wingo  <wingo@pobox.com>
29305
29306         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29307         source-munging commit!!!
29308
29309         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
29310         (gst_object_sink): Take gpointer arguments, not GstObject --
29311         avoids casts. Like GLib.
29312
29313         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29314         activate.
29315
29316 2005-06-27  Andy Wingo  <wingo@pobox.com>
29317
29318         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29319         remaining buffer.
29320
29321         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29322         returns a sorted copy of the trace list.
29323         (gst_alloc_trace_print_live): New API, only prints traces with
29324         live objects. Sort the list.
29325         (gst_alloc_trace_print_all): Sort the list.
29326         (gst_alloc_trace_print): Align columns.
29327
29328         * gst/elements/gstttypefindelement.c:
29329         * gst/elements/gsttee.c:
29330         * gst/base/gstbasesrc.c:
29331         * gst/base/gstbasesink.c:
29332         * gst/base/gstbasetransform.c:
29333         * gst/gstqueue.c: Adapt for pad activation changes.
29334
29335         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29336         sched.
29337         (gst_pipeline_dispose): Drop ref on sched.
29338
29339         * gst/gstpad.c (gst_pad_init): Set the default activate func.
29340         (gst_pad_activate_default): Push mode by default.
29341         (pre_activate_switch, post_activate_switch): New stubs, things to
29342         do before and after switching activation modes on pads.
29343         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29344         the pad's activate function to choose which mode to activate.
29345         Shortcut on deactivation and call the right function directly.
29346         (gst_pad_activate_pull): New API, (de)activates a pad in pull
29347         mode.
29348         (gst_pad_activate_push): New API, same for push mode.
29349         (gst_pad_set_activate_function) 
29350         (gst_pad_set_activatepull_function) 
29351         (gst_pad_set_activatepush_function): Setters for new API.
29352
29353         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29354         Trace all miniobjects.
29355         (gst_mini_object_make_writable): Unref the arg if we copy, like
29356         gst_caps_make_writable.
29357
29358         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29359
29360         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29361         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29362         Adapt for new pad API.
29363
29364         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29365
29366         * gst/gstelement.h:
29367         * gst/gstelement.c (gst_element_iterate_src_pads) 
29368         (gst_element_iterate_sink_pads): New API functions.
29369         
29370         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29371         should fold into gstiterator.c in some form.
29372         (gst_element_pads_activate): Simplified via use of fold and
29373         delegation of decisions to gstpad->activate.
29374
29375         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29376         help in debugging.
29377
29378         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29379         class once in init, like gstmessage. Didn't run into this issue
29380         but it seems correct. Don't initialize a trace, gstminiobject does
29381         that.
29382
29383         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29384         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29385         to the bus.
29386         (assert_live_count): New util function, uses alloc traces to check
29387         cleanup.
29388
29389         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29390         To be modified when unlink drops the internal pad.
29391
29392 2005-06-27  Wim Taymans  <wim@fluendo.com>
29393
29394         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29395         (gst_bin_change_state):
29396         Cleanup the get_state() function a little, make sure it
29397         iterates the same set of elements.
29398         Added stub iterate_state_order().
29399
29400 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29401
29402         * docs/gst/gstreamer-docs.sgml:
29403         * docs/gst/gstreamer-sections.txt:
29404         * docs/gst/gstreamer.types:
29405         * docs/gst/tmpl/gstbasesink.sgml:
29406         * docs/gst/tmpl/gstbasesrc.sgml:
29407         * docs/gst/tmpl/gstbasetransform.sgml:
29408         * docs/gst/tmpl/gstelement.sgml:
29409         * docs/gst/tmpl/gstiterator.sgml:
29410         * gst/base/gstbasesrc.c:
29411         * gst/base/gstbasesrc.h:
29412         * gst/base/gstbasetransform.h:
29413         * gst/gstelement.c:
29414         * gst/gstiterator.h:
29415           adding basetransform and iterator docs
29416
29417 2005-06-27  Andy Wingo  <wingo@pobox.com>
29418
29419         * docs/design/part-activation.txt: Notes on how activation should
29420         work -- not quite implemented yet.
29421
29422 2005-06-25  Wim Taymans  <wim@fluendo.com>
29423
29424         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29425         At least get the chain function correct, needs more
29426         fixing.
29427
29428 2005-06-25  Wim Taymans  <wim@fluendo.com>
29429
29430         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29431         (gst_basesink_handle_object), (gst_basesink_event),
29432         (gst_basesink_do_sync), (gst_basesink_handle_event),
29433         (gst_basesink_change_state):
29434         * gst/gsttask.h:
29435         Right, two problems here: ghostpads don't take locks and
29436         glib _rec_mutex_lock_full() with depth==0 still locks.
29437         Catch illegal locking and g_warn them.
29438
29439 2005-06-25  Wim Taymans  <wim@fluendo.com>
29440
29441         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29442         Have to check for completion now...
29443
29444 2005-06-25  Wim Taymans  <wim@fluendo.com>
29445
29446         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29447         (gst_basesink_handle_object), (gst_basesink_event),
29448         (gst_basesink_do_sync), (gst_basesink_handle_event),
29449         (gst_basesink_change_state):
29450         * gst/gstpad.h:
29451         Unlock STREAM_LOCK whatever the recursion was.
29452
29453 2005-06-25  Wim Taymans  <wim@fluendo.com>
29454
29455         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29456         (gst_basesink_preroll_queue_empty),
29457         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29458         (gst_basesink_event), (gst_basesink_do_sync),
29459         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29460         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29461         (gst_basesink_change_state):
29462         Reworked the base sink, handle event and buffer serialisation
29463         correctly and removed possible deadlock.
29464         Handle EOS correctly.
29465
29466 2005-06-25  Wim Taymans  <wim@fluendo.com>
29467
29468         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29469         (gst_pipeline_change_state):
29470         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29471         Allow elements to post EOS in the state change function.
29472         Fix up -launch, make it exit the poll loop when the
29473         pipeline actually changed state.
29474         Fix up warning parsing in -launch.
29475
29476 2005-06-25  Wim Taymans  <wim@fluendo.com>
29477
29478         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29479         (gst_tee_sink_activate):
29480         Core takes STREAM_LOCK for us now.
29481
29482 2005-06-25  Wim Taymans  <wim@fluendo.com>
29483
29484         * gst/gstelement.c: (gst_element_get_state_func),
29485         (gst_element_set_state):
29486         * gst/gstelement.h:
29487         * gst/gstmessage.c: (gst_message_parse_error),
29488         (gst_message_parse_warning):
29489         Keep track of current target state while performing a state
29490         change so that subclasses can do something interesting.
29491         Fix parsing of warning/error messages when GError is NULL.
29492
29493 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29494
29495         * docs/gst/Makefile.am:
29496         * docs/gst/gstreamer-docs.sgml:
29497         * docs/gst/gstreamer-sections.txt:
29498         * docs/gst/gstreamer.types:
29499         * docs/gst/tmpl/gstbasesink.sgml:
29500         * docs/gst/tmpl/gstbasesrc.sgml:
29501         * docs/gst/tmpl/gstbin.sgml:
29502         * docs/gst/tmpl/gstcompat.sgml:
29503         * docs/gst/tmpl/gstfakesink.sgml:
29504         * docs/gst/tmpl/gstfakesrc.sgml:
29505         * docs/gst/tmpl/gstfilesink.sgml:
29506         * docs/gst/tmpl/gstfilesrc.sgml:
29507         * docs/gst/tmpl/gstindex.sgml:
29508         * docs/manual/appendix-quotes.xml:
29509         * gst/base/gstbasesrc.h:
29510         * gst/elements/gstfakesrc.h:
29511         * gst/gstmessage.h:
29512           start pulling in base classes and elements in our docs
29513
29514 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29515
29516         * docs/gst/Makefile.am:
29517         * docs/libs/Makefile.am:
29518           fixed make distcheck with gtk-doc 1.3
29519
29520 2005-06-23  Wim Taymans  <wim@fluendo.com>
29521
29522         * gst/gstelement.c: (gst_element_get_state_func),
29523         (gst_element_set_state), (gst_element_change_state):
29524         When the state did not change, also report NO_PREROLL
29525         when it matters.
29526
29527 2005-06-23  Wim Taymans  <wim@fluendo.com>
29528
29529         * gst/gstpad.c: (gst_pad_event_default):
29530         * gst/gstqueue.c: (gst_queue_loop):
29531         No unsafe task pausing please.
29532
29533 2005-06-23  Wim Taymans  <wim@fluendo.com>
29534
29535         * gst/schedulers/threadscheduler.c:
29536         (gst_thread_scheduler_task_start),
29537         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29538         Ref the task before pushing it on the threadpool. This
29539         makes sure that we have a ref when the threadfunction is
29540         actually called.
29541
29542 2005-06-23  Andy Wingo  <wingo@pobox.com>
29543
29544         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29545         offset is greater than the file's size.
29546
29547         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29548         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29549         * gst/gstobject.c (gst_object_class_init): Make the class lock
29550         recursive. Wim won't let me drop deep_notify. Decodebin works
29551         again, whoopdy doo.
29552
29553         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29554         internal pad, and hacks accordingly. Doesn't do it on the target
29555         pad because we change its caps. Probably catches all cases of
29556         interest tho.
29557         (gst_ghost_pad_set_property): Connect to notify::caps as
29558         appropritate.
29559
29560         * tests/network-clock.scm (plot-simulation): Pipe data to the
29561         elite python skript.
29562
29563         * tests/network-clock-utils.scm (define-parameter): New macro,
29564         defines a parameter that can be set via the command line.
29565         (set-parameter!, parse-parameter-arguments): Command line args
29566         parser.
29567
29568         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29569         stdin.
29570
29571 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29572
29573         * gst/elements/gsttypefindelement.c:
29574         (gst_type_find_element_handle_event):
29575           Don't restart typefinding on a discont.
29576         * gst/gstelement.c: (gst_element_set_state):
29577           Debug spelling fix.
29578         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29579           Allow changing mode of an active pad.
29580           Debug output fixes.
29581         * gst/registries/gstlibxmlregistry.c: (load_feature):
29582           Don't cast a static pad template to a normal pad template.
29583
29584 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29585
29586         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29587         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29588           remove gst_strtoll completely, since it didn't actually do
29589           anything more than what g_ascii_strtoull already does.
29590           check for range errors when deserializing
29591           do a cast for the unsigned cases; but further fixing needs
29592           a decision on what the interpretation of "(int)" and
29593           deserialization should be for values that fall outside the
29594           type's boundaries (ie, refuse, or interpret as casting)
29595
29596 2005-06-23  Wim Taymans  <wim@fluendo.com>
29597
29598         * check/Makefile.am:
29599         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29600         * docs/design/part-live-source.txt:
29601         * docs/design/part-states.txt:
29602         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29603         (gst_basesrc_set_live), (gst_basesrc_is_live),
29604         (gst_basesrc_get_range), (gst_basesrc_activate),
29605         (gst_basesrc_change_state):
29606         * gst/base/gstbasesrc.h:
29607         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29608         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29609         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29610         * gst/gstelement.c: (gst_element_get_state_func),
29611         (gst_element_set_state):
29612         * gst/gstelement.h:
29613         * gst/gsttypes.h:
29614         * tools/gst-launch.c: (event_loop), (main):
29615         Added support for live sources and other elements that
29616         cannot do preroll.
29617         Updated design docs, added live-source design doc.
29618         Implemented live source functionality in basesrc
29619         Fix error condition in _bin_get_state()
29620         Implement live source handling in -launch.
29621         Added check for live sources.
29622         Fixed case in GstBin where elements were changed state
29623         multiple times.
29624
29625
29626 2005-06-23  Andy Wingo  <wingo@pobox.com>
29627
29628         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29629         borken refcounting.
29630
29631         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29632         gst_caps_replace takes care of this for us.
29633
29634         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29635         gst_pad_set_caps on the target, not just its setcaps() function.
29636
29637         * tests/network-clock.scm: 
29638         * tests/network-clock-utils.scm: A network clock simulator.
29639         Something of an algorithmic testbed before doing something in C.
29640
29641 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29642
29643         * check/Makefile.am:
29644         * check/gst/capslist.h:
29645           copy over from 0.8, and add two with bitmasks specified with
29646           (int) 0xFF...
29647         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29648           add test to parse everything from capslist.h
29649         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29650         (main):
29651           add test for structure deserialization
29652         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29653           add tests for deserialization of strings to int types
29654         * gst/gststructure.c: (gst_structure_nth_field_name):
29655         * gst/gststructure.h:
29656           add a way to get the name of a field referenced by index
29657         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29658           instead of checking if the resulting long long lies between
29659           min and max, we check if the long long would fit into
29660           a number of bytes for the final type.
29661           This fixes cases where a string represents 2^32 - 1, which
29662           when cast to int would be the (valid) -1, but is bigger than
29663           G_MAXINT
29664
29665 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29666
29667         * gst/parse/grammar.y:
29668           add a log line for type deserialization
29669
29670 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29671
29672         * check/gst/gstvalue.c: (START_TEST):
29673         * gst/gstvalue.c: (gst_value_deserialize):
29674           return long long, not int, so gint64 deserialization actually
29675           works.  Is there any flag that makes the compiler check this ?
29676           Fixes #308559
29677
29678 2005-06-22  Wim Taymans  <wim@fluendo.com>
29679
29680         * gst/gstbuffer.h:
29681         Added convenience macros for setting buffers in GValue.
29682
29683 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29684
29685         * check/gst/.cvsignore:
29686         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29687           add a test deserializing int64, and comment part out because
29688           it fails, yay !
29689
29690 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29691
29692         * check/Makefile.am:
29693         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29694         * testsuite/Makefile.am:
29695         * testsuite/caps/Makefile.am:
29696         * testsuite/caps/value_serialize.c:
29697         * testsuite/test_gst_init.c:
29698           move a value_serialize test over
29699
29700 2005-06-20  Wim Taymans  <wim@fluendo.com>
29701
29702         * gst/gstpad.c:
29703         Small doc updates.
29704         
29705         * gst/gstvalue.c: (gst_value_compare_buffer),
29706         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29707         (gst_value_compare_flags), (gst_value_serialize_flags),
29708         (gst_value_deserialize_flags), (_gst_value_initialize):
29709         Fix serialisation of buffers, they are not boxed types anymore
29710
29711 2005-06-20  Wim Taymans  <wim@fluendo.com>
29712
29713         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29714         Testcase to show error in buffer-on-caps serialisation.
29715
29716 2005-06-20  Andy Wingo  <wingo@pobox.com>
29717
29718         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29719         will be adding to later.
29720
29721         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29722         if its socks fill with rocks.
29723         (gst_system_clock_obtain): Set the name on object construction.
29724         Avoid double-checked locking.
29725
29726 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29727
29728         * gst/gsturi.c: (gst_element_make_from_uri):
29729           Fix potential endless loop.
29730
29731 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29732
29733         * check/Makefile.am:
29734           add gsttag
29735         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29736         (main):
29737           move over from testsuite dir and clean up
29738         * configure.ac:
29739         * gst/gsttag.c:
29740         * testsuite/Makefile.am:
29741         * testsuite/tags/.cvsignore:
29742         * testsuite/tags/Makefile.am:
29743         * testsuite/tags/merge.c:
29744           remove testsuite/tags
29745
29746 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29747
29748         * docs/gst/gstreamer-sections.txt:
29749         * docs/gst/tmpl/gstenumtypes.sgml:
29750         * win32/gstenumtypes.c:
29751           clean up documentation build a little
29752
29753 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29754
29755         * check/gstcheck.h:
29756           add macros for checking refcounts on objects and caps
29757         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29758           add some more unit tests
29759         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29760         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29761           fix leaked refcounts (I hope :)) so unittest works
29762         * gst/gstpad.h:
29763           whitespace removal
29764
29765 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29766
29767         * configure.ac: back to HEAD
29768
29769 === release 0.9.1 ===
29770
29771 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29772
29773         * NEWS:
29774         * RELEASE:
29775           updated
29776
29777 2005-06-17  Andy Wingo  <wingo@pobox.com>
29778
29779         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29780         assert; it's always possible that the pad gets deactivated in
29781         between the checks in gstpad.c and the implementation. Rely on
29782         finish_preroll() to return a FLUSHING or similar instead of on the
29783         assert.
29784         
29785         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29786         clock and post an EOS message if we come out of finish_preroll in
29787         the playing state.
29788
29789 2005-06-16  David Schleef  <ds@schleef.org>
29790
29791         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29792         (gst_capsfilter_set_property): Allow NULL as possible value
29793         for filter_caps property, indicating GST_CAPS_ANY.
29794
29795 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29796
29797         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29798           fix debug output
29799         * gst/schedulers/Makefile.am:
29800           use libgst prefix
29801         * gstreamer.spec.in:
29802           fix spec for it
29803
29804 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29805
29806         * gstreamer.spec.in:
29807           clean up
29808
29809 2005-06-08  Andy Wingo  <wingo@pobox.com>
29810
29811         * gst/gstutils.c: RPAD fixes all around.
29812         (gst_element_link_pads): Refcounting fixes.
29813
29814         * tools/gst-inspect.c:
29815         * tools/gst-xmlinspect.c:
29816         * parse/grammar.y:
29817         * gst/base/gsttypefindhelper.c:
29818         * gst/base/gstbasesink.c:
29819         * gst/gstqueue.c: RPAD fixes.
29820
29821         * gst/gstghostpad.h:
29822         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29823         pads. The tricky thing is they provide both source and sink
29824         interfaces, since they proxy the internal pad for the external
29825         pad, and vice versa. Implement with lower-level ProxyPad objects,
29826         with the interior proxy pad as a child of the exterior ghost pad.
29827         Should write a doc on this.
29828         
29829         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29830         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29831         gst_object API.
29832         
29833         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29834         pads are real pads. No ghost pads in this file. Not documenting
29835         the myriad s/RPAD/PAD/ and REALIZE fixes.
29836         (gst_pad_class_init): Add properties for "direction" and
29837         "template". Both are construct-only, so they can't change during
29838         the life of the pad. Fixes properly deriving from GstPad.
29839         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29840         derived objects, just set properties when creating the objects via
29841         g_object_new.
29842         (gst_pad_get_parent): Implement as a function, return NULL if the
29843         parent is not an element.
29844         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29845         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29846         
29847         * gst/gstobject.c (gst_object_class_init): Make name a construct
29848         property. Don't set it in the object init.
29849
29850         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29851         with UNKNOWN direction.
29852         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29853         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29854         (gst_element_remove_pad): Remove ghost-pad special cases.
29855         (gst_element_pads_activate): Remove rpad cruft.
29856
29857         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29858         catch the pad's-parent-not-an-element case.
29859
29860         * gst/gst.h: Include gstghostpad.h.
29861
29862         * gst/gst.c (init_post): No more real, ghost pads.
29863
29864         * gst/Makefile.am: Add gstghostpad.[ch].
29865
29866         * check/Makefile.am:
29867         * check/gst/gstbin.c:
29868         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29869         into a bin creates ghost pads, and that the refcounts are right.
29870         Partly moved from gstbin.c.
29871
29872 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29873
29874         * check/gst-libs/.cvsignore:
29875         * check/gst/.cvsignore:
29876         * check/pipelines/.cvsignore:
29877           ignore more
29878         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29879         (START_TEST), (cleanup_suite), (main):
29880           add some tests related to cleanup after running pipelines
29881
29882 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29883
29884         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29885           add a testsuite for GstBuffer
29886
29887 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29888
29889         * gst/gstminiobject.h:
29890           add defines for accessing the refcount
29891
29892 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29893
29894         * Makefile.am: added support for html unit test coverage reports
29895
29896 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29897
29898         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29899           Free existing caps if the capsfilter changes. Add a FIXME about
29900           setting those caps on the pads.
29901
29902         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29903           Before adding a ghost pad to a parent bin, check that there isn't
29904           already one for the element on the bin. Prevents infinite recursion
29905           when using decodebin in parse pipelines. Andy says he'll rewrite the
29906           way this works anyway, so ignore the hack.
29907
29908 2005-06-02  Andy Wingo  <wingo@pobox.com>
29909
29910         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29911         file size, pass it on to the type find helper.
29912
29913         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29914         segment_start and segment_end properly according to the seek
29915         method. Segment_end is still a bit flaky because offset can be
29916         negative for CUR and END cases, but it takes -1 as an "unset"
29917         value.
29918
29919 2005-06-02  Wim Taymans  <wim@fluendo.com>
29920
29921         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29922         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29923         (gst_basesink_activate):
29924         * gst/base/gstbasesink.h:
29925         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29926         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29927         (gst_pad_query), (gst_pad_start_task):
29928         * gst/gstpad.h:
29929         * gst/gstqueue.c: (gst_queue_bufferalloc),
29930         (gst_queue_handle_sink_event), (gst_queue_chain):
29931         Bufferalloc: return GstFlowReturn to more accuratly report
29932         why allocation failed.
29933
29934 2005-06-02  Wim Taymans  <wim@fluendo.com>
29935
29936         * gst/gstpipeline.c: (gst_pipeline_send_event):
29937         Take snapshot of state without blocking.
29938
29939 2005-06-02  Wim Taymans  <wim@fluendo.com>
29940
29941         * docs/design/part-TODO.txt:
29942         * docs/design/part-caps.txt:
29943         * docs/design/part-clocks.txt:
29944         * docs/design/part-negotiation.txt:
29945         * docs/design/part-preroll.txt:
29946         Small doc updates 
29947
29948 2005-05-30  Wim Taymans  <wim@fluendo.com>
29949
29950         * gst/elements/gstidentity.c: (gst_identity_event),
29951         (gst_identity_transform), (gst_identity_get_property):
29952         Protect last_message property as it is accessed from
29953         multiple threads.
29954
29955 2005-05-30  Wim Taymans  <wim@fluendo.com>
29956
29957         * gst/gstelement.c: (gst_element_init),
29958         (gst_element_pads_activate), (gst_element_change_state):
29959         Slicker pad activation code.
29960
29961 2005-05-30  Wim Taymans  <wim@fluendo.com>
29962
29963         * gst/Makefile.am:
29964         * gst/gstelement.h:
29965         * gst/gstelementfactory.h:
29966         * gst/gsttypes.h:
29967         Move elementfactory methods to separate .h file.
29968
29969 2005-05-30  Wim Taymans  <wim@fluendo.com>
29970
29971         * docs/design/part-overview.txt:
29972         * gst/gstsystemclock.h:
29973         Small typo fixes, doc updates.
29974
29975 2005-05-30  Wim Taymans  <wim@fluendo.com>
29976
29977         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29978         (init_popt_callback):
29979         Remove cpu-opt flag.
29980
29981 2005-05-30  Wim Taymans  <wim@fluendo.com>
29982
29983         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29984         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29985         * gst/gstbuffer.h:
29986         Avoid typechecking in places where not needed.
29987         Added accessor for malloc_data.
29988
29989 2005-05-30  Wim Taymans  <wim@fluendo.com>
29990
29991         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29992         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29993         (gst_pad_configure_sink), (gst_pad_configure_src),
29994         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29995         (gst_pad_start_task):
29996         Propagate errors from _set_caps() in configure_src/sink
29997         functions instead of returning TRUE.
29998         FLUSH events can travel up and downstream
29999
30000
30001 2005-05-30  Wim Taymans  <wim@fluendo.com>
30002
30003         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30004         (gst_basesink_activate):
30005         Handle EOS in preroll.
30006
30007 2005-05-30  Wim Taymans  <wim@fluendo.com>
30008
30009         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30010         (gst_queue_loop), (gst_queue_handle_src_event):
30011         Remove old pieces of code
30012         Flushing the queue in an upstream event is a very bad idea.
30013
30014 2005-05-26  Andy Wingo  <wingo@pobox.com>
30015
30016         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
30017         gst_value_set_mini_object so as to add a ref on the object (which
30018         will be removed when the value is unset).
30019
30020         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
30021         arg type in ::handoff.
30022
30023         * gst/gstelement.c (gst_element_change_state): Also deactivate
30024         pads in READY->NULL, just in case the element didn't make it to
30025         PAUSED. Wingo tested, Wim approved.
30026
30027 2005-05-26  Wim Taymans  <wim@fluendo.com>
30028
30029         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30030         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
30031         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
30032         A flushing pad cannot be used to alloc_buffer from.
30033
30034 2005-05-26  Wim Taymans  <wim@fluendo.com>
30035
30036         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
30037         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
30038         (gst_bus_source_dispatch), (gst_bus_source_finalize),
30039         (gst_bus_create_watch), (gst_bus_add_watch_full):
30040         * gst/gstbus.h:
30041         Implement a real GSource and use g_main_context_wakeup() to
30042         signal new messages instead of the socketpair.
30043
30044 2005-05-25  Wim Taymans  <wim@fluendo.com>
30045
30046         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
30047         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
30048         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30049         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30050         (gst_pad_send_event), (gst_pad_start_task):
30051         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
30052         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
30053         (gst_queue_sink_activate), (gst_queue_src_activate),
30054         (gst_queue_change_state):
30055         * gst/gstqueue.h:
30056         Fix state changes for non sinks. We now change sinks, then elements
30057         with unconnected srcpads, then the rest.
30058         More efficient queue unlocking in flush and state changes.
30059         Set the pad activate mode even if it does not have an activate
30060         function.
30061
30062 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30063
30064         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
30065           Don't go in pull mode for non-seekable sources.
30066         * gst/elements/gsttypefindelement.h:
30067         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30068         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
30069         (free_entry), (stop_typefinding),
30070         (gst_type_find_element_handle_event), (find_peek),
30071         (gst_type_find_element_chain), (do_pull_typefind),
30072         (gst_type_find_element_change_state):
30073           Allow typefinding (w/o seeking) in push-mode, simplified version
30074           of what was in 0.8.
30075         * gst/gstutils.c: (gst_buffer_join):
30076         * gst/gstutils.h:
30077           gst_buffer_join() from 0.8.
30078
30079 2005-05-25  Wim Taymans  <wim@fluendo.com>
30080
30081         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
30082         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
30083         (gst_pad_send_event), (gst_pad_start_task):
30084         Disable attempt at mode switching until it is figured out.
30085
30086 2005-05-25  Wim Taymans  <wim@fluendo.com>
30087
30088         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
30089         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
30090         (gst_basesink_finish_preroll), (gst_basesink_chain),
30091         (gst_basesink_loop), (gst_basesink_activate),
30092         (gst_basesink_change_state):
30093         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
30094         (gst_basesrc_get_range), (gst_basesrc_loop),
30095         (gst_basesrc_activate):
30096         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30097         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
30098         (gst_real_pad_init), (gst_real_pad_set_property),
30099         (gst_real_pad_get_property), (gst_pad_set_active),
30100         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
30101         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
30102         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
30103         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
30104         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30105         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
30106         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
30107         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
30108         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
30109         (gst_pad_stop_task):
30110         * gst/gstpad.h:
30111         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
30112         (gst_queue_loop), (gst_queue_src_activate):
30113         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
30114         (gst_task_get_state):
30115         * gst/gsttask.h:
30116         * gst/schedulers/threadscheduler.c:
30117         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
30118         Implement gst_pad_pause/start/stop_task(), take STREAM lock
30119         in task function.
30120         Remove ACTIVE pad flag, use FLUSHING everywhere
30121         Added _pad_chain(), _pad_get_range() to call chain/getrange 
30122         functions.
30123         Add locks around IS_FLUSHING when reading.
30124         Take STREAM lock in chain(), get_range() functions so plugins
30125         don't need to take it anymore.
30126         
30127
30128
30129 2005-05-25  Wim Taymans  <wim@fluendo.com>
30130
30131         * tools/gst-launch.c: (event_loop):
30132         Unref message after using its contents instead of
30133         before.
30134
30135 2005-05-24  Wim Taymans  <wim@fluendo.com>
30136
30137         * docs/design/draft-ghostpads.txt:
30138         * docs/design/draft-push-pull.txt:
30139         * docs/design/draft-query.txt:
30140         * docs/design/part-overview.txt:
30141         Docs updates, added general overview doc.
30142
30143 2005-05-21  David Schleef  <ds@schleef.org>
30144
30145         * docs/gst/tmpl/old/GstBin.sgml:
30146         * docs/gst/tmpl/old/GstBuffer.sgml:
30147         * docs/gst/tmpl/old/GstCaps.sgml:
30148         * docs/gst/tmpl/old/GstClock.sgml:
30149         * docs/gst/tmpl/old/GstCompat.sgml:
30150         * docs/gst/tmpl/old/GstData.sgml:
30151         * docs/gst/tmpl/old/GstElement.sgml:
30152         * docs/gst/tmpl/old/GstEvent.sgml:
30153         * docs/gst/tmpl/old/GstIndex.sgml:
30154         * docs/gst/tmpl/old/GstStructure.sgml:
30155         * docs/gst/tmpl/old/GstTag.sgml:
30156         * docs/gst/tmpl/old/cothreads.sgml:
30157         * docs/gst/tmpl/old/cothreads_compat.sgml:
30158         * docs/gst/tmpl/old/gettext.sgml:
30159         * docs/gst/tmpl/old/gobject2gtk.sgml:
30160         * docs/gst/tmpl/old/grammar.tab.sgml:
30161         * docs/gst/tmpl/old/gst-i18n-app.sgml:
30162         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
30163         * docs/gst/tmpl/old/gst_private.sgml:
30164         * docs/gst/tmpl/old/gstaggregator.sgml:
30165         * docs/gst/tmpl/old/gstarch.sgml:
30166         * docs/gst/tmpl/old/gstatomic_impl.sgml:
30167         * docs/gst/tmpl/old/gstbufferstore.sgml:
30168         * docs/gst/tmpl/old/gstdata_private.sgml:
30169         * docs/gst/tmpl/old/gstdisksink.sgml:
30170         * docs/gst/tmpl/old/gstdisksrc.sgml:
30171         * docs/gst/tmpl/old/gstelementfactory.sgml:
30172         * docs/gst/tmpl/old/gstextratypes.sgml:
30173         * docs/gst/tmpl/old/gstfakesink.sgml:
30174         * docs/gst/tmpl/old/gstfakesrc.sgml:
30175         * docs/gst/tmpl/old/gstfdsink.sgml:
30176         * docs/gst/tmpl/old/gstfdsrc.sgml:
30177         * docs/gst/tmpl/old/gstfilesink.sgml:
30178         * docs/gst/tmpl/old/gstfilesrc.sgml:
30179         * docs/gst/tmpl/old/gsthttpsrc.sgml:
30180         * docs/gst/tmpl/old/gstidentity.sgml:
30181         * docs/gst/tmpl/old/gstindexfactory.sgml:
30182         * docs/gst/tmpl/old/gstmarshal.sgml:
30183         * docs/gst/tmpl/old/gstmd5sink.sgml:
30184         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
30185         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
30186         * docs/gst/tmpl/old/gstpadtemplate.sgml:
30187         * docs/gst/tmpl/old/gstpipefilter.sgml:
30188         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
30189         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
30190         * docs/gst/tmpl/old/gstshaper.sgml:
30191         * docs/gst/tmpl/old/gstspider.sgml:
30192         * docs/gst/tmpl/old/gstspideridentity.sgml:
30193         * docs/gst/tmpl/old/gststatistics.sgml:
30194         * docs/gst/tmpl/old/gsttee.sgml:
30195         * docs/gst/tmpl/old/gsttimecache.sgml:
30196         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
30197         * docs/gst/tmpl/old/gstxmlregistry.sgml:
30198         * docs/gst/tmpl/old/gthread-cothreads.sgml:
30199         * docs/gst/tmpl/old/types.sgml:
30200           I didn't intend to add these or check them in.
30201
30202 2005-05-19  David Schleef  <ds@schleef.org>
30203
30204         * configure.ac: Use -no-common everywhere.  In a sane world, it
30205           would be the default in libtool, because without it, you can't
30206           build DLLs on Windows.
30207         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
30208         * docs/gst/gstreamer-sections.txt:
30209         * docs/gst/tmpl/gstcpu.sgml:
30210         * docs/gst/tmpl/gstdata.sgml:
30211         * docs/gst/tmpl/gstthread.sgml:
30212
30213 2005-05-19  David Schleef  <ds@schleef.org>
30214
30215         * gst/gstminiobject.c: (gst_value_set_mini_object),
30216         (gst_value_take_mini_object), (gst_value_get_mini_object):
30217         * gst/gstminiobject.h: Add GValue set/get functions.
30218
30219 2005-05-19  Wim Taymans  <wim@fluendo.com>
30220
30221         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
30222         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
30223         (gst_subbuffer_init), (gst_buffer_is_span_fast):
30224         * gst/gstbuffer.h:
30225         * gst/gstbus.c: (gst_bus_post):
30226         * gst/gstelement.c: (gst_element_get_random_pad):
30227         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
30228         Make subbufer unref the parent in finalize.
30229         some more debugging info.
30230
30231
30232 2005-05-19  Wim Taymans  <wim@fluendo.com>
30233
30234         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30235         (gst_basesink_init), (gst_basesink_finalize),
30236         (gst_basesink_activate), (gst_basesink_change_state):
30237         Don't free preroll queue too early.
30238
30239 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30240
30241         * gst/Makefile.am:
30242         * gst/ROADMAP:
30243           Hi, I'm outdated. Please shoot me.
30244
30245 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30246
30247         * gst/gstpipeline.c: (gst_pipeline_send_event):
30248           Do not access variables after they have been deleted.
30249
30250 2005-05-19  Wim Taymans  <wim@fluendo.com>
30251
30252         * tools/gst-inspect.c: (print_plugin_features):
30253         A plugin feature does unfortunatly not use the
30254         object name yet...
30255
30256 2005-05-18  Wim Taymans  <wim@fluendo.com>
30257
30258         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30259         Port _span() functions to new subbuffers.
30260
30261 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30262
30263         * gst/gstbin.c: (gst_bin_add_func):
30264           Fix clock settery in bins when adding kids after the clock has
30265           been selected.
30266
30267 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30268
30269         * gst/elements/gstidentity.c: (gst_identity_class_init):
30270           Workaround until signals support GstMiniObject.
30271
30272 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
30273
30274         * gst/gstbuffer.c:
30275         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30276
30277 2005-05-18  Wim Taymans  <wim@fluendo.com>
30278
30279         * gst/base/Makefile.am:
30280         * gst/base/gstadapter.c: (gst_adapter_base_init),
30281         (gst_adapter_class_init), (gst_adapter_init),
30282         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30283         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30284         (gst_adapter_flush), (gst_adapter_available),
30285         (gst_adapter_available_fast):
30286         * gst/base/gstadapter.h:
30287         Ported and added adapter to the base classes.
30288
30289 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30290
30291         * gst/gst.c:
30292         * gst/gstmessage.c:
30293           Make sure the class is reffed/unreffed once before threads can be
30294           used.  Fixes #304551.
30295
30296 2005-05-17  Wim Taymans  <wim@fluendo.com>
30297
30298         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30299         (gst_basesink_chain_unlocked), (gst_basesink_activate):
30300         * gst/gstminiobject.c: (gst_mini_object_get_type),
30301         (gst_mini_object_free):
30302         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30303         (gst_pad_push), (gst_pad_push_event):
30304         * gst/gstqueue.c: (gst_queue_change_state):
30305         Don't queue buffers in basesink when we are flushing.
30306         Unref buffer when flushing in basesink.
30307         Flush queue when going to READY
30308         Unref buffer when _push() returns an error.
30309         Don't free MiniObject instance when refcount is incremented
30310         in _finalize() so that we can recover objects.
30311
30312 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
30313
30314         * docs/manual/advanced-schedulers.xml:
30315         * docs/manual/appendix-checklist.xml:
30316         * docs/pwg/advanced-clock.xml:
30317         * docs/pwg/advanced-interfaces.xml:
30318         * docs/pwg/advanced-request.xml:
30319         * docs/pwg/advanced-types.xml:
30320         * docs/pwg/intro-preface.xml:
30321         * examples/plugins/example.c: (gst_example_get_type),
30322         (gst_example_class_init), (gst_example_chain),
30323         (gst_example_set_property), (gst_example_get_property),
30324         (gst_example_change_state), (plugin_init):
30325         * examples/plugins/example.h:
30326           small doc fixes
30327
30328 2005-05-17  Wim Taymans  <wim@fluendo.com>
30329
30330         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30331         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30332         * gst/gstqueue.c: (gst_queue_change_state):
30333         Clear queue when going to READY.
30334         Remove IN_SETCAPS flag too.
30335
30336 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
30337
30338         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30339           Remove implicit cast from gboolean to GstElementStateReturn;
30340           make sure we still return failure in paused => ready case if
30341           the parent class fails to change state and our own stop 
30342           vfunc succeeds.
30343
30344 2005-05-17  Wim Taymans  <wim@fluendo.com>
30345
30346         * tools/gst-launch.c: (event_loop):
30347         Message was unreffed too soon.
30348
30349 2005-05-16  Andy Wingo  <wingo@pobox.com>
30350
30351         * gst/gstbin.c (sink_iterator_filter): Err... um...
30352
30353         * check/gst/gstbin.c (test_ghost_pads): New test for the
30354         ghosting-if-elements-not-in-same-bin behavior.
30355
30356 2005-05-16  David Schleef  <ds@schleef.org>
30357
30358         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30359         accessing refcount directly.
30360
30361 2005-05-15  David Schleef  <ds@schleef.org>
30362
30363         * check/Makefile.am: remove GstData checks
30364         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30365         * gst/Makefile.am: add miniobject, remove data
30366         * gst/gst.h: add miniobject, remove data
30367         * gst/gstdata.c: remove
30368         * gst/gstdata.h: remove
30369         * gst/gstdata_private.h: remove
30370         * gst/gsttypes.h: remove GstEvent and GstMessage
30371         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30372         * gst/gstmarshal.list: change BOXED -> OBJECT
30373
30374         Implement GstMiniObject.
30375         * gst/gstminiobject.c:
30376         * gst/gstminiobject.h:
30377
30378         Modify to be subclasses of GstMiniObject.
30379         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30380         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30381         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30382         (gst_subbuffer_get_type), (gst_subbuffer_init),
30383         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30384         (gst_buffer_span):
30385         * gst/gstbuffer.h:
30386         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30387         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30388         (_gst_event_copy), (gst_event_new):
30389         * gst/gstevent.h:
30390         * gst/gstmessage.c: (_gst_message_initialize),
30391         (gst_message_get_type), (gst_message_class_init),
30392         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30393         (gst_message_new), (gst_message_new_error),
30394         (gst_message_new_warning), (gst_message_new_tag),
30395         (gst_message_new_state_changed), (gst_message_new_application):
30396         * gst/gstmessage.h:
30397         * gst/gstprobe.c: (gst_probe_perform),
30398         (gst_probe_dispatcher_dispatch):
30399         * gst/gstprobe.h:
30400         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30401         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30402         (_gst_query_copy), (gst_query_new):
30403
30404         Update elements for GstData -> GstMiniObject changes
30405         * gst/gstquery.h:
30406         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30407         (gst_queue_chain), (gst_queue_loop):
30408         * gst/elements/gstbufferstore.c:
30409         (gst_buffer_store_add_buffer_func),
30410         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30411         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30412         (gst_fakesink_render):
30413         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30414         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30415         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30416         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30417         (gst_filesrc_create_read):
30418         * gst/elements/gstidentity.c: (gst_identity_class_init):
30419         * gst/elements/gsttypefindelement.c:
30420         (gst_type_find_element_src_event), (free_entry_buffers),
30421         (gst_type_find_element_handle_event):
30422         * libs/gst/dataprotocol/dataprotocol.c:
30423         (gst_dp_header_from_buffer):
30424         * libs/gst/dataprotocol/dataprotocol.h:
30425         * libs/gst/dataprotocol/dp-private.h:
30426
30427 2005-05-15  David Schleef  <ds@schleef.org>
30428
30429         * gst/elements/gstelements.c: Don't include headers that were
30430         just removed.
30431
30432 2005-05-15  David Schleef  <ds@schleef.org>
30433
30434         * gst/elements/Makefile.am: Remove some elements that don't
30435         need to be in the core (or even exist at all).
30436         * gst/elements/gstaggregator.c:
30437         * gst/elements/gstaggregator.h:
30438         * gst/elements/gstmd5sink.c:
30439         * gst/elements/gstmd5sink.h:
30440         * gst/elements/gstmultifilesrc.c:
30441         * gst/elements/gstmultifilesrc.h:
30442         * gst/elements/gstpipefilter.c:
30443         * gst/elements/gstpipefilter.h:
30444         * gst/elements/gstshaper.c:
30445         * gst/elements/gstshaper.h:
30446         * gst/elements/gststatistics.c:
30447         * gst/elements/gststatistics.h:
30448         * po/POTFILES.in: Remove above files.
30449
30450 2005-05-14  Andy Wingo  <wingo@pobox.com>
30451
30452         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30453         so as to get the refs right.
30454         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30455         unreffing objects that don't pass the filter.
30456
30457         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30458         gst_element_set_bus.
30459         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30460         normal cases, this will destroy the bus.
30461
30462         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30463         object.
30464
30465         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30466         has no sinks.
30467
30468 2005-05-13  Andy Wingo  <wingo@pobox.com>
30469
30470         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30471         gst_pad_link, call pad_link_maybe_ghosting,
30472         (pad_link_maybe_ghosting): Links pads, making sure that the
30473         elements being linked are in the same bin.
30474         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30475         Helpers for pad_link_maybe_ghosting.
30476
30477 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30478
30479         * configure.ac:
30480           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30481
30482 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30483
30484         * docs/design/part-element-source.txt:
30485           Mention GstPushSrc
30486
30487 2005-05-12  Wim Taymans  <wim@fluendo.com>
30488
30489         * gst/base/gstbasesink.c: (gst_basesink_init),
30490         (gst_basesink_activate):
30491         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30492         (gst_basesrc_is_seekable):
30493         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30494         (bin_element_is_sink), (gst_bin_change_state):
30495         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30496         * gst/gstelement.h:
30497         Identify sinks by their flag to avoid overly complicated
30498         checks (fow now).
30499         Do state changes even for elements not reachable from the
30500         sinks.
30501         BaseSink is a sink now :)
30502         Some more debugging info in the basesrc.
30503
30504
30505 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30506
30507         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30508           Implement _query on a bin, similar to _send_event.
30509
30510 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30511
30512         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30513           Discont event offset format should be GST_FORMAT_BYTES,
30514           not GST_FORMAT_TIME.
30515
30516 2005-05-12  Wim Taymans  <wim@fluendo.com>
30517
30518         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30519         Same fix as Ronald's but without the signal. 
30520
30521 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30522
30523         * gst/gstutils.c: (gst_element_query_position):
30524           No, an element is not a pad.
30525
30526 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30527
30528         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30529         (gst_bin_get_state):
30530           If a child is removed from a bin while we remove the child from
30531           the bin and while we're retrieving its state, signal this to the
30532           get_state function so we abort the wait (instead of waiting for
30533           a timeout) and can immediately re-iterate over all other elements.
30534
30535 2005-05-12  Wim Taymans  <wim@fluendo.com>
30536
30537         * gst/base/Makefile.am:
30538         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30539         (gst_basesrc_start):
30540         * gst/base/gstbasesrc.h:
30541         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30542         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30543         (gst_pushsrc_init), (gst_pushsrc_create):
30544         * gst/base/gstpushsrc.h:
30545         Added is_seekable to BaseSrc
30546         Added simple PushSrc.
30547
30548 2005-05-11  Wim Taymans  <wim@fluendo.com>
30549
30550         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30551         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30552         (gst_element_link_pads), (gst_element_query_position),
30553         (gst_element_query_convert), (intersect_caps_func),
30554         (gst_pad_query_position), (gst_pad_query_convert):
30555         Fix refcounting in utils function.
30556         No point in trying to activate a pad when it's added, it could
30557         be added from the state change function and then we deadlock, the
30558         element has to decide what to do.
30559
30560 2005-05-10  Andy Wingo  <wingo@pobox.com>
30561
30562         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30563         *all* the arguments.
30564
30565         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30566         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30567         lock (according to the docs -- if this is wrong change the docs).
30568
30569         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30570         flush messages in the NULL state.
30571
30572         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30573         message immediately and return.
30574         (gst_bus_set_flushing): New function. If a bus is flushing, it
30575         flushes out any queued messages and immediately unrefs new
30576         messages. This is so when an element goes to NULL, all of the
30577         unhandled messages coming from it can be freed, and their
30578         references to the element dropped. In other words: message source
30579         ref considered harmful :P
30580
30581         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30582         we're finished with it.
30583
30584         * gst/gstmessage.c (gst_message_new_state_changed): 
30585
30586 2005-05-10  Wim Taymans  <wim@fluendo.com>
30587
30588         * gst/gstvalue.c: (gst_value_compare_flags),
30589         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30590         (_gst_value_initialize):
30591         Added flags serialize/deserialize/compare code.
30592
30593 2005-05-09  Andy Wingo  <wingo@pobox.com>
30594
30595         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30596         Intersect the peer's caps with our caps.
30597
30598 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30599
30600         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30601         * gst/elements/gsttypefindelement.c: (find_peek):
30602           Handle negative offsets better. Fixes decodebin.
30603
30604 2005-05-09  Wim Taymans  <wim@fluendo.com>
30605
30606         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30607         (gst_base_transform_event):
30608         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30609         Implement accept_caps.
30610         Fix silly lock/unlock mismatch in base class.
30611
30612 2005-05-09  Wim Taymans  <wim@fluendo.com>
30613
30614         * docs/design/draft-push-pull.txt:
30615         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30616         * gst/elements/gstfilesink.c: (gst_filesink_init),
30617         (gst_filesink_query):
30618         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30619         (gst_type_find_handle_src_query), (find_element_get_length):
30620         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30621         * gst/gstelement.h:
30622         * gst/gstmessage.c:
30623         * gst/gstmessage.h:
30624         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30625         (gst_real_pad_get_caps_unlocked),
30626         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30627         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30628         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30629         (gst_real_pad_dispose), (gst_real_pad_finalize),
30630         (gst_pad_load_and_link), (gst_pad_save_thyself),
30631         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30632         (gst_pad_check_pull_range), (gst_pad_pull_range),
30633         (gst_pad_template_get_type), (gst_pad_template_class_init),
30634         (gst_pad_template_init), (gst_pad_template_dispose),
30635         (name_is_valid), (gst_static_pad_template_get),
30636         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30637         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30638         (gst_pad_get_element_private), (gst_pad_start_task),
30639         (gst_pad_pause_task), (gst_pad_stop_task),
30640         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30641         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30642         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30643         (gst_ghost_pad_new):
30644         * gst/gstpad.h:
30645         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30646         (gst_query_new_position), (gst_query_set_position),
30647         (gst_query_parse_position), (gst_query_new_convert),
30648         (gst_query_set_convert), (gst_query_parse_convert):
30649         * gst/gstquery.h:
30650         * gst/gstqueryutils.c:
30651         * gst/gstqueryutils.h:
30652         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30653         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30654         (gst_queue_handle_src_query):
30655         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30656         (gst_element_query_position), (gst_element_query_convert),
30657         (intersect_caps_func), (gst_pad_query_position),
30658         (gst_pad_query_convert):
30659         * gst/gstutils.h:
30660         * tools/gst-inspect.c: (print_pad_info):
30661         * tools/gst-xmlinspect.c: (print_element_info):
30662         Remove old query functions. Ported old code.
30663         Added position/convert helper functions to gstutils.
30664         Reordered gstpad.c code, grouping relevant things.
30665         Remove gst_message_new(), always need to speficy a specific
30666         message.
30667
30668
30669 2005-05-09  Andy Wingo  <wingo@pobox.com>
30670
30671         * gst/gstiterator.h: Add some includes.
30672
30673         * gst/gstqueryutils.h: Include more headers.
30674
30675         * gst/gstpad.h:
30676         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30677         some uses of gst_pad_query.
30678
30679         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30680         NULL out parameters.
30681         (gst_query_new_position): New proc, allocates a new position
30682         query.
30683
30684         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30685         gstqueryutils.c to the build.
30686
30687         * gst/gststructure.c (gst_structure_set_valist): Implement with
30688         the generic G_VALUE_COLLECT.
30689         
30690 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30691
30692         * gst/Makefile.am: (gst_headers):
30693         Added gstqueryutils.h to the list of headers to install, that was
30694         a 'nachty' move wingo :)
30695
30696 2005-05-06  Andy Wingo  <wingo@pobox.com>
30697
30698         * gst/gstquery.h
30699         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30700         GstData, init a memchunk.
30701         (standard_definitions): Add a few query types, deprecate a few.
30702         (gst_query_get_type): New proc.
30703         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30704         implementation.
30705         (gst_query_new_application, gst_query_get_structure): New public
30706         procs.
30707
30708         * docs/design/draft-query.txt: Removed LINKS from the query types,
30709         because all the rest can be dispatched to other pads -- seemed
30710         ugly to have a query that couldn't be dispatched. internal_links
30711         is fine as a pad method.
30712
30713         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30714         in gstpad.c, but maintain binary compatibility for the moment.
30715         Will fix before 0.9 is out.
30716
30717         * gst/gstqueryutils.c: 
30718         * gst/gstqueryutils.h: New files, implement 3 methods for each
30719         query type: parse_query, parse_response, and set. Probably need an
30720         allocator as well.
30721
30722         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30723
30724         * gst/elements/gstfilesink.c (gst_filesink_query2):
30725         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30726         query_types, and formats methods.
30727
30728         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30729         (gst_pad_set_query2_function): New functions.
30730         (gst_real_pad_init): Set query2_default as the default query2
30731         function. Basically just dispatches to internally linked pads.
30732
30733         Needs review!
30734         
30735         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30736         without using the atomic operations. Only one thread can possibly
30737         be accessing the data at this point. Changed so as to avoid
30738         gst_atomic operations.
30739
30740 2005-05-06  Wim Taymans  <wim@fluendo.com>
30741
30742         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30743         Also set caps if we use the fallback buffer alloc.
30744
30745 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30746
30747         * docs/gst/Makefile.am:
30748         * docs/gst/gstreamer-docs.sgml:
30749         * docs/gst/gstreamer-sections.txt:
30750         * docs/gst/tmpl/gstatomic.sgml:
30751         * docs/gst/tmpl/gstmemchunk.sgml:
30752         * testsuite/elements/struct_i386.h:
30753         * win32/GStreamer.vcproj:
30754         * win32/Makefile:
30755           Purge GstAtomic stuff from docs and win32 makefiles as well
30756
30757 2005-05-06  Wim Taymans  <wim@fluendo.com>
30758
30759         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30760         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30761         * gst/gstpad.c: (gst_pad_peer_get_caps):
30762         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30763         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30764         (gst_queue_src_activate), (gst_queue_change_state):
30765         * gst/gstqueue.h:
30766         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30767         (intersect_caps_func):
30768         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30769         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30770         Some fixes for the peer_get_caps() change.
30771
30772 2005-05-06  Wim Taymans  <wim@fluendo.com>
30773
30774         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30775         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30776         (gst_basesink_activate):
30777         Actually do something with error codes returned from the push
30778         functions.
30779
30780 2005-05-06  Wim Taymans  <wim@fluendo.com>
30781
30782         * docs/design/part-element-sink.txt:
30783         * docs/design/part-element-source.txt:
30784         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30785         (gst_basesink_event), (gst_basesink_activate):
30786         * gst/base/gstbasesink.h:
30787         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30788         (gst_basesrc_activate):
30789         * gst/base/gstbasesrc.h:
30790         * gst/gstelement.c: (gst_element_pads_activate):
30791         Some more documentation.
30792         Fixed scheduling decision in _pads_activate().
30793
30794 2005-05-05  Andy Wingo  <wingo@pobox.com>
30795
30796         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30797         the test suite.
30798
30799 2005-05-05  Wim Taymans  <wim@fluendo.com>
30800
30801         * gst/base/Makefile.am:
30802         * gst/base/gstbasesink.h:
30803         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30804         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30805         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30806         (gst_collectpads_class_init), (gst_collectpads_init),
30807         (gst_collectpads_finalize), (gst_collectpads_new),
30808         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30809         (find_pad), (gst_collectpads_remove_pad),
30810         (gst_collectpads_is_active), (gst_collectpads_collect),
30811         (gst_collectpads_collect_range), (gst_collectpads_start),
30812         (gst_collectpads_stop), (gst_collectpads_peek),
30813         (gst_collectpads_pop), (gst_collectpads_available),
30814         (gst_collectpads_read), (gst_collectpads_flush),
30815         (gst_collectpads_chain):
30816         * gst/base/gstcollectpads.h:
30817         * gst/elements/Makefile.am:
30818         * gst/elements/gstelements.c:
30819         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30820         (gst_fakesink_get_times), (gst_fakesink_event),
30821         (gst_fakesink_preroll), (gst_fakesink_render):
30822         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30823         (gst_filesink_init), (gst_filesink_set_location),
30824         (gst_filesink_open_file), (gst_filesink_close_file),
30825         (gst_filesink_pad_query), (gst_filesink_event),
30826         (gst_filesink_render), (gst_filesink_change_state):
30827         * gst/elements/gstfilesink.h:
30828         Added object to help in making collect pad based elements.
30829         Ported filesink.
30830         Make event function in sink baseclass return gboolean.
30831
30832 2005-05-05  Wim Taymans  <wim@fluendo.com>
30833
30834         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30835         (gst_bin_get_by_name):
30836         * gst/gstbuffer.h:
30837         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30838         (gst_clock_finalize):
30839         * gst/gstdata.c: (gst_data_replace):
30840         * gst/gstdata.h:
30841         * gst/gstelement.c: (gst_element_request_pad),
30842         (gst_element_pads_activate):
30843         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30844         (gst_object_unref):
30845         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30846         (gst_pad_set_checkgetrange_function),
30847         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30848         (gst_pad_check_pull_range), (gst_pad_pull_range),
30849         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30850         (gst_pad_pause_task), (gst_pad_stop_task):
30851         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30852         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30853         Fix name lookup in GstBin.
30854         Added _data_replace() function and _buffer_replace()
30855         Use finalize method to clean up clock.
30856         Fix refcounting on request pads.
30857         Fix pad schedule mode error.
30858         Some more object refcounting debug info,
30859
30860
30861 2005-05-04  Andy Wingo <wingo@pobox.com>
30862
30863         * check/Makefile.am:
30864         * docs/gst/tmpl/gstatomic.sgml:
30865         * docs/gst/tmpl/gstplugin.sgml:
30866         * gst/base/gstbasesink.c: (gst_basesink_activate):
30867         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30868         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30869         (gst_basesrc_query), (gst_basesrc_set_property),
30870         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30871         (gst_basesrc_activate):
30872         * gst/base/gstbasesrc.h:
30873         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30874         (gst_base_transform_src_activate):
30875         * gst/elements/gstelements.c:
30876         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30877         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30878         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30879         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30880         (gst_type_find_element_checkgetrange),
30881         (gst_type_find_element_activate):
30882         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30883         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30884         (gst_caps_load_thyself):
30885         * gst/gstelement.c: (gst_element_pads_activate),
30886         (gst_element_save_thyself), (gst_element_restore_thyself):
30887         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30888         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30889         * gst/gstpad.h:
30890         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30891         (gst_xml_parse_file), (gst_xml_parse_memory),
30892         (gst_xml_get_element), (gst_xml_make_element):
30893         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30894         (_file_index_id_save_xml), (gst_file_index_commit):
30895         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30896         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30897         (load_paths):
30898         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30899         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30900         * tools/gst-complete.c: (main):
30901         * tools/gst-compprep.c: (main):
30902         * tools/gst-inspect.c: (print_element_properties_info):
30903         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30904         * tools/gst-xmlinspect.c: (print_element_properties):
30905         GCC 4 fixen.
30906         
30907 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30908
30909         * gst/gstplugin.c: (gst_plugin_check_module),
30910         (gst_plugin_check_file), (gst_plugin_load_file):
30911             apply patch from #172526 to make register work on MacOSX
30912
30913 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30914
30915         * docs/gst/tmpl/gstconfig.sgml:
30916         * gst/gstconfig.h.in:
30917           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30918         * testsuite/debug/printf_extension.c: (main):
30919           Do not use GST_PTR_FORMAT on pointers to types with
30920           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30921         * testsuite/elements/property.h:
30922           use correct printf format
30923
30924 2005-05-02  Wim Taymans  <wim@fluendo.com>
30925
30926         * docs/design/draft-push-pull.txt:
30927         * docs/design/draft-query.txt:
30928         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30929         (gst_basesrc_start):
30930         Added draft for new query API.
30931         Added draft for better selecting scheduling methods.
30932         Make basesrc ignore length if the subclass does not support
30933         it.
30934
30935 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30936
30937         * gst/Makefile.am:
30938           possible fixes for automake-1.5 - _LIBADD is reserved
30939
30940 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30941
30942         * docs/faq/Makefile.am:
30943         * docs/manual/Makefile.am:
30944         * docs/manuals.mak:
30945         * docs/pwg/Makefile.am:
30946         * gst/Makefile.am:
30947           possible fixes for automake-1.5
30948
30949 2005-04-28  Wim Taymans  <wim@fluendo.com>
30950
30951         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30952         (gst_basesink_pad_getcaps), (gst_basesink_init),
30953         (gst_basesink_do_sync):
30954         * gst/gstclock.c: (gst_clock_entry_new):
30955         * gst/gstevent.c: (gst_event_discont_get_value):
30956         * gst/gstpipeline.c: (pipeline_bus_handler),
30957         (gst_pipeline_change_state):
30958         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30959         Better debugging of clocking info.
30960         Allow NULL values when getting discont values.
30961
30962 2005-04-27  Wim Taymans  <wim@fluendo.com>
30963
30964         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30965         * check/gst/gstpad.c: (gst_pad_suite):
30966         Increase timeout for checks.
30967
30968 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30969
30970         * check/Makefile.am:
30971           fix the broken rule for cleanup.  Apparently this rule is
30972           only needed on FC2, so maybe this warrants further autotool
30973           inspection.
30974
30975 2005-04-26  Wim Taymans  <wim@fluendo.com>
30976
30977         * gst/gsttrashstack.h:
30978         Ooohh. a nasty one! After having a failed pop() from the stack,
30979         it's possible that the stack is empty. In that case, don't
30980         follow the NULL pointer.
30981
30982 2005-04-25  Wim Taymans  <wim@fluendo.com>
30983
30984         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30985         (gst_pad_set_checkgetrange_function),
30986         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30987         (gst_pad_check_pull_range), (gst_pad_pull_range),
30988         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30989         (gst_pad_pause_task), (gst_pad_stop_task):
30990         * gst/gstplugin.c: (gst_plugin_load):
30991         * gst/gstplugin.h:
30992         Remove gst_library_load as it does more harm than good with
30993         the new g_module flags.
30994         Revert bogus caps template check in pad linking, pad caps
30995         are important when linking not the template, which is more
30996         general than the current caps.
30997
30998 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30999
31000         * gst/autoplug/.cvsignore:
31001         * gst/autoplug/Makefile.am:
31002         * gst/autoplug/gstsearchfuncs.c:
31003         * gst/autoplug/gstsearchfuncs.h:
31004         * gst/autoplug/gstspider.c:
31005         * gst/autoplug/gstspider.h:
31006         * gst/autoplug/gstspideridentity.c:
31007         * gst/autoplug/gstspideridentity.h:
31008         * gst/autoplug/spidertest.c:
31009           Die, spider, die.
31010
31011 2005-04-25  Wim Taymans  <wim@fluendo.com>
31012
31013         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31014         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31015         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
31016         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
31017         * gst/gstpad.h:
31018         Added stubs for unimplemented functions. 
31019
31020 2005-04-24  David Schleef  <ds@schleef.org>
31021
31022         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
31023         please fix.
31024
31025 2005-04-24  David Schleef  <ds@schleef.org>
31026
31027         Convert everything from GstAtomicInt to g_atomic_int_*, and
31028         remove gstatomic.
31029         * gst/Makefile.am:
31030         * gst/gstatomic.c:
31031         * gst/gstatomic.h:
31032         * gst/gstatomic_impl.h:
31033         * gst/gstbuffer.c:
31034         * gst/gstcaps.c:
31035         * gst/gstcaps.h:
31036         * gst/gstclock.c:
31037         * gst/gstclock.h:
31038         * gst/gstdata.c:
31039         * gst/gstdata.h:
31040         * gst/gstdata_private.h:
31041         * gst/gstevent.c:
31042         * gst/gstinfo.c:
31043         * gst/gstinfo.h:
31044         * gst/gstmessage.c:
31045         * gst/gstobject.c:
31046         * gst/gstobject.h:
31047         * gst/gststructure.c:
31048         * gst/gststructure.h:
31049         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
31050         * gst/gstutils.h:
31051
31052 2005-04-24  David Schleef  <ds@schleef.org>
31053
31054         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
31055         make the regressions tests work.  Remove some code that is no
31056         longer true.
31057         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
31058         Disable warning for pads without templates.
31059
31060 2005-04-24  David Schleef  <ds@schleef.org>
31061
31062         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
31063         functions that handle filtered links.
31064         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
31065         removed functions.
31066         * gst/gstutils.c: Fix/remove utility functions that handle
31067         filtered caps.
31068         * gst/gstutils.h:
31069         * gst/gstvalue.c: Add serialization/deserialization of caps
31070         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
31071         requires fixing so that the filter caps notation creates
31072         a capsfilter element and sets the filter_caps property.  I
31073         think everyone probably wants to keep the shorthand notation.
31074         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
31075         * docs/gst/tmpl/gstpad.sgml:
31076
31077         * gst/elements/gstelements.c: Register capsfilter element.
31078         * gst/Makefile.am: fix spacing
31079         * docs/random/ds/0.9-suggested-changes: random
31080
31081 2005-04-23  David Schleef  <ds@schleef.org>
31082
31083         * gst/elements/Makefile.am:
31084         * gst/elements/gstcapsfilter.c: New element that acts like an
31085         identity, but filters caps.  Will eventually replace filtered
31086         caps in pad linking.
31087         * gst/gstutils.c: (gst_element_create_all_pads): New function
31088         to create all the ALWAYS pads that are registered with an
31089         element class.  This functionality should eventually be
31090         merged in with GstElement initialization.
31091         * gst/gstutils.h:
31092         * testsuite/trigger/README: part of trigger test code that should
31093         have been checked in a long time ago.
31094
31095 2005-04-23  David Schleef  <ds@schleef.org>
31096
31097         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
31098         needed with new versions of libtool (nobody will confirm this),
31099         and hard to carry around.
31100         * gst/autoplug/Makefile.am:
31101         * gst/base/Makefile.am:
31102         * gst/elements/Makefile.am:
31103         * gst/indexers/Makefile.am:
31104         * gst/schedulers/Makefile.am:
31105         * libs/gst/bytestream/Makefile.am:
31106         * libs/gst/control/Makefile.am:
31107         * libs/gst/dataprotocol/Makefile.am:
31108         * libs/gst/getbits/Makefile.am:
31109
31110 2005-04-21  Wim Taymans  <wim@fluendo.com>
31111
31112         * docs/design/draft-push-pull.txt:
31113         * docs/design/part-MT-refcounting.txt:
31114         * docs/design/part-TODO.txt:
31115         * docs/design/part-caps.txt:
31116         * docs/design/part-events.txt:
31117         * docs/design/part-gstbus.txt:
31118         * docs/design/part-gstpipeline.txt:
31119         * docs/design/part-messages.txt:
31120         * docs/design/part-push-pull.txt:
31121         * docs/design/part-query.txt:
31122         Some more docs.
31123
31124 2005-04-21  Wim Taymans  <wim@fluendo.com>
31125
31126         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
31127         (gst_message_new), (gst_message_new_error),
31128         (gst_message_new_warning), (gst_message_new_tag),
31129         (gst_message_new_state_changed), (gst_message_new_application),
31130         (gst_message_get_structure):
31131         * gst/gstmessage.h:
31132         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31133         (gst_structure_copy_conditional):
31134         Use parent refcount in GstMessage to ensure GstStructure
31135         consistency.
31136         Cleaned up headers a bit.
31137         
31138
31139 2005-04-20  Wim Taymans  <wim@fluendo.com>
31140
31141         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31142         (gst_basesink_pad_getcaps), (gst_basesink_init),
31143         (gst_basesink_chain_unlocked):
31144         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
31145         (gst_type_find_helper):
31146         * gst/elements/gsttypefindelement.c:
31147         (gst_type_find_element_have_type), (gst_type_find_element_init),
31148         (stop_typefinding), (gst_type_find_element_handle_event),
31149         (find_suggest), (gst_type_find_element_chain),
31150         (gst_type_find_element_checkgetrange),
31151         (gst_type_find_element_getrange), (do_typefind),
31152         (gst_type_find_element_activate):
31153         * gst/gstbuffer.c: (_gst_buffer_sub_free),
31154         (gst_buffer_default_free), (gst_buffer_default_copy),
31155         (gst_buffer_set_caps):
31156         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
31157         (gst_caps_replace):
31158         * gst/gstmessage.c: (gst_message_new),
31159         (gst_message_new_state_changed):
31160         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31161         (gst_pad_set_checkgetrange_function),
31162         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
31163         (gst_pad_set_caps), (gst_pad_check_pull_range),
31164         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
31165         * gst/gstpad.h:
31166         * gst/gsttypefind.c: (gst_type_find_register):
31167         Make gst_caps_replace() work like other _replace() functions.
31168         Use _caps_replace() where possible.
31169         Make sure _message_new() initialises its field.
31170         Add gst_static_pad_template_get_caps()
31171
31172
31173 2005-04-18  Andy Wingo  <wingo@pobox.com>
31174
31175         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
31176         on the peer, not the pad. I think that was a typo. Pass an extra
31177         arg to see if random access is possible. Activate the pads as
31178         PULL_RANGE if possible.
31179
31180         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
31181
31182         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
31183         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
31184         to PROP_....
31185
31186 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31187
31188         * docs/faq/using.xml:
31189           Add note on gstreamer-properties (#154996).
31190
31191 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31192
31193         * docs/random/bbb/optional-properties:
31194           Some analysis on optional properties.
31195
31196 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31197
31198         * docs/gst/tmpl/gstelementfactory.sgml:
31199         * gst/gstelement.h:
31200         * gst/gstelementfactory.c: (gst_element_factory_init),
31201         (gst_element_factory_cleanup), (gst_element_register),
31202         (__gst_element_factory_add_static_pad_template),
31203         (gst_element_factory_get_static_pad_templates),
31204         (gst_element_factory_can_src_caps),
31205         (gst_element_factory_can_sink_caps):
31206         * gst/registries/Makefile.am:
31207         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
31208         (gst_xml_registry_class_init), (gst_xml_registry_init),
31209         (gst_xml_registry_new), (gst_xml_registry_set_property),
31210         (gst_xml_registry_get_property), (get_time), (make_dir),
31211         (gst_xml_registry_get_perms_func),
31212         (plugin_times_older_than_recurse), (plugin_times_older_than),
31213         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
31214         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
31215         (add_to_char_array), (read_string), (read_uint), (read_enum),
31216         (load_pad_template), (load_feature), (load_plugin), (load_paths),
31217         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
31218         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
31219         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
31220         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
31221         (gst_xml_registry_rebuild):
31222         * gst/registries/gstlibxmlregistry.h:
31223         * tools/gst-compprep.c: (main):
31224         * tools/gst-inspect.c: (print_pad_templates_info):
31225         * tools/gst-xmlinspect.c: (print_element_info):
31226           Use libxml2 for registry parsing, use staticpadtemplates in
31227           elementfactories. Makes gst_init() +/- 10x faster.
31228
31229 2005-04-12  Wim Taymans  <wim@fluendo.com>
31230
31231         * gst/base/Makefile.am:
31232         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31233         (gst_basesink_pad_getcaps), (gst_basesink_init),
31234         (gst_basesink_event), (gst_basesink_change_state):
31235         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31236         (gst_basesrc_init), (gst_basesrc_query),
31237         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31238         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31239         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31240         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31241         (gst_basesrc_stop), (gst_basesrc_activate),
31242         (gst_basesrc_change_state):
31243         * gst/base/gsttypefindhelper.c: (helper_find_peek),
31244         (helper_find_suggest), (gst_type_find_helper):
31245         * gst/base/gsttypefindhelper.h:
31246         * gst/elements/Makefile.am:
31247         * gst/elements/gstelements.c:
31248         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
31249         (gst_fakesink_get_times), (gst_fakesink_event),
31250         (gst_fakesink_preroll), (gst_fakesink_render):
31251         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31252         (gst_fakesrc_init), (gst_fakesrc_event_handler),
31253         (gst_fakesrc_get_property), (gst_fakesrc_create),
31254         (gst_fakesrc_start), (gst_fakesrc_stop):
31255         * gst/elements/gstfakesrc.h:
31256         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31257         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31258         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31259         (gst_filesrc_create_read), (gst_filesrc_create),
31260         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31261         (gst_filesrc_start):
31262         * gst/elements/gsttypefindelement.c:
31263         (gst_type_find_element_have_type), (gst_type_find_element_init),
31264         (start_typefinding), (stop_typefinding), (push_buffer_store),
31265         (gst_type_find_element_handle_event),
31266         (gst_type_find_element_chain),
31267         (gst_type_find_element_checkgetrange),
31268         (gst_type_find_element_getrange), (do_typefind),
31269         (gst_type_find_element_activate),
31270         (gst_type_find_element_change_state):
31271         * gst/elements/gsttypefindelement.h:
31272         * gst/gstpipeline.c: (pipeline_bus_handler):
31273         Added typefind helper.
31274         Small preroll fix in the base sink.
31275         Disable typefind code in basesrc.
31276         Crude port of typefindelement.
31277         Fakesrc cleanups.
31278
31279
31280 2005-04-11  Wim Taymans  <wim@fluendo.com>
31281
31282         * check/gst/gstbus.c: (gstbus_suite):
31283         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31284         * check/gstcheck.h:
31285           Fix up the timeout so that the test does not fail.
31286
31287 2005-04-06  Wim Taymans  <wim@fluendo.com>
31288
31289         * gst/base/README:
31290         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31291         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31292         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31293         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31294         (gst_basesrc_check_get_range), (gst_basesrc_loop),
31295         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31296         (gst_basesrc_stop), (gst_basesrc_activate),
31297         (gst_basesrc_change_state), (basesrc_find_peek),
31298         (basesrc_find_suggest), (gst_basesrc_type_find):
31299         * gst/base/gstbasesrc.h:
31300         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31301         (gst_filesrc_class_init), (gst_filesrc_init),
31302         (gst_filesrc_finalize), (gst_filesrc_set_location),
31303         (gst_filesrc_set_property), (gst_filesrc_get_property),
31304         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31305         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31306         (gst_filesrc_create_read), (gst_filesrc_create),
31307         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31308         * gst/elements/gstfilesrc.h:
31309         * gst/gstelement.c: (gst_element_get_state_func),
31310         (gst_element_lost_state), (gst_element_pads_activate):
31311         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31312         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31313         (gst_pad_pull_range):
31314         * gst/gstpad.h:
31315         More work on the generic source base class, implement seeking,
31316         query.
31317         Make filesrc extend the base source class.
31318         Added gst_pad_set_checkgetrange_function to GstPad.
31319
31320 2005-04-06  Andy Wingo  <wingo@pobox.com>
31321
31322         * pkgconfig/gstreamer-base.pc.in:
31323         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31324
31325         * pkgconfig/Makefile.am:
31326         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31327
31328 2005-04-04  Wim Taymans  <wim@fluendo.com>
31329
31330         * gst/base/Makefile.am:
31331         * gst/base/README:
31332         * gst/base/gstbasesink.c: (gst_basesink_base_init),
31333         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31334         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31335         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31336         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31337         (gst_basesrc_base_init), (gst_basesrc_class_init),
31338         (gst_basesrc_init), (gst_basesrc_get_formats),
31339         (gst_basesrc_get_query_types), (gst_basesrc_query),
31340         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31341         (gst_basesrc_set_property), (gst_basesrc_get_property),
31342         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31343         (gst_basesrc_loop), (gst_basesrc_activate),
31344         (gst_basesrc_change_state):
31345         * gst/base/gstbasesrc.h:
31346         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31347         (gst_fakesrc_class_init), (gst_fakesrc_init),
31348         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31349         (gst_fakesrc_get_property), (gst_fakesrc_create):
31350         * gst/elements/gstfakesrc.h:
31351         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31352         (gst_filesrc_open_file), (gst_filesrc_loop),
31353         (gst_filesrc_activate), (filesrc_find_peek),
31354         (gst_filesrc_type_find):
31355         Made base source class, make fakesrc extend it.
31356         Add comments to basesink class.
31357         Some filesrc cleanup.
31358
31359 2005-03-31  David Schleef  <ds@schleef.org>
31360
31361         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31362         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31363         expected to link against libgstreamer.
31364         * gst/base/Makefile.am: link against libgstreamer
31365         * gst/elements/Makefile.am: same
31366
31367 2005-03-31  Andy Wingo  <wingo@pobox.com>
31368
31369         * tests/instantiate/Makefile.am:
31370         * tests/instantiate/caps.c: Add test to test speed of caps copy
31371         and free.
31372
31373         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31374         GMemChunk to be fair.
31375
31376         * gst/gsttrashstack.h: Remove warning about using the fallback
31377         trash stack implementation, it's still faster than malloc.
31378
31379 2005-03-30  Andy Wingo  <wingo@pobox.com>
31380
31381         * tests/complexity.c: Add a copyright.
31382
31383 2005-03-31  Wim Taymans  <wim@fluendo.com>
31384
31385         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31386         (gst_base_transform_class_init), (gst_base_transform_init),
31387         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31388         (gst_base_transform_get_property),
31389         (gst_base_transform_sink_activate),
31390         (gst_base_transform_src_activate),
31391         (gst_base_transform_change_state):
31392         * gst/base/gstbasetransform.h:
31393         * gst/elements/gstidentity.c: (gst_identity_class_init),
31394         (gst_identity_event), (gst_identity_check_perfect),
31395         (gst_identity_transform), (gst_identity_start),
31396         (gst_identity_stop):
31397         Added start/stop methods to transform base class so subclasses 
31398         don't need to deal with state changes even.
31399
31400 2005-03-31  Wim Taymans  <wim@fluendo.com>
31401
31402         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31403         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31404         * gst/gstevent.h:
31405         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31406         (gst_pad_pull_range):
31407         Added rate to the discont event to prepare for variable speed
31408         and reverse playback.
31409
31410 2005-03-29  David Schleef  <ds@schleef.org>
31411
31412         * configure.ac:
31413         * testsuite/trigger/Makefile.am:
31414         * testsuite/trigger/trigger.c: A little example program to show
31415         how trigger-based elements can work.
31416
31417 2005-03-29  Wim Taymans  <wim@fluendo.com>
31418
31419         * gst/base/Makefile.am:
31420         * gst/base/README:
31421         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31422         (gst_basesink_base_init), (gst_basesink_class_init),
31423         (gst_basesink_pad_getcaps), (gst_basesink_init),
31424         (gst_basesink_activate), (gst_basesink_change_state):
31425         * gst/base/gstbasesink.h:
31426         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31427         (gst_base_transform_base_init), (gst_base_transform_finalize),
31428         (gst_base_transform_class_init), (gst_base_transform_init),
31429         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31430         (gst_base_transform_event), (gst_base_transform_getrange),
31431         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31432         (gst_base_transform_set_property),
31433         (gst_base_transform_get_property),
31434         (gst_base_transform_sink_activate),
31435         (gst_base_transform_src_activate),
31436         (gst_base_transform_change_state):
31437         * gst/base/gstbasetransform.h:
31438         * gst/elements/gstidentity.c: (gst_identity_finalize),
31439         (gst_identity_class_init), (gst_identity_init),
31440         (gst_identity_event), (gst_identity_check_perfect),
31441         (gst_identity_transform), (gst_identity_set_property),
31442         (gst_identity_get_property), (gst_identity_change_state):
31443         * gst/elements/gstidentity.h:
31444         * gst/gstelement.c: (gst_element_get_state_func),
31445         (gst_element_lost_state), (gst_element_pads_activate):
31446         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31447         (gst_pad_check_pull_range), (gst_pad_pull_range):
31448         * gst/gstpad.h:
31449         Simplify pad activation.
31450         Added function to check if pull_range can be performed.
31451         Error out when pulling inactive or flushing pads.
31452         Removed const from refcounted types as it does not make sense.
31453         Simplify pad templates in basesink
31454         Added base class for simple 1-to-1 transforms.
31455         Make identity subclass the base transform.
31456
31457 2005-03-29  Andy Wingo  <wingo@pobox.com>
31458
31459         * docs/libs/gstreamer-libs-overrides.txt: 
31460         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31461         really don't understand what's going on, but like whatever. I want
31462         green buildbot!
31463
31464         * docs/gst/Makefile.am:
31465         * docs/libs/Makefile.am: Dist the overrides files.
31466
31467         * check/Makefile.am (clean-local): Remove .libs directories.
31468
31469         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31470         elements to EXTRA_DIST, so po/ files are happy.
31471
31472         * po/POTFILES.in: Er, remove it here.
31473
31474         * po/POTFILES: Remove gstspider.c.
31475
31476         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31477
31478         * docs/libs/gstreamer-libs-docs.sgml: 
31479         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31480         bytestream.
31481
31482         * tests/complexity.c (main): Set the length of the preroll queue
31483         on the sinks to prevent a lockup.
31484
31485         * libs/gst/dataprotocol/Makefile.am: 
31486         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31487         the same as the one in check/gst-libs/gdp.c.
31488
31489         * po/, docs/gst/: Commit automatic changes to docs and po files.
31490
31491         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31492         the versioned libgstbase.
31493
31494         * check/Makefile.am: Depend on an unversioned gst-register, seems
31495         to make autoconf happier.
31496
31497         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31498
31499 2005-03-28  Wim Taymans  <wim@fluendo.com>
31500
31501         * configure.ac:
31502         * docs/design/part-gstelement.txt:
31503         * docs/design/part-negotiation.txt:
31504         * docs/design/part-preroll.txt:
31505         * docs/design/part-scheduling.txt:
31506         * docs/design/part-states.txt:
31507         * gst/Makefile.am:
31508         * gst/base/Makefile.am:
31509         * gst/base/README:
31510         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31511         (gst_basesink_base_init), (gst_basesink_class_init),
31512         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31513         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31514         (gst_basesink_set_pad_functions),
31515         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31516         (gst_basesink_set_property), (gst_basesink_get_property),
31517         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31518         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31519         (gst_basesink_preroll_queue_push),
31520         (gst_basesink_preroll_queue_empty),
31521         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31522         (gst_basesink_event), (gst_basesink_get_times),
31523         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31524         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31525         (gst_basesink_loop), (gst_basesink_activate),
31526         (gst_basesink_change_state):
31527         * gst/base/gstbasesink.h:
31528         * gst/elements/Makefile.am:
31529         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31530         (gst_fakesink_class_init), (gst_fakesink_init),
31531         (gst_fakesink_set_property), (gst_fakesink_get_property),
31532         (gst_fakesink_get_times), (gst_fakesink_event),
31533         (gst_fakesink_preroll), (gst_fakesink_render),
31534         (gst_fakesink_change_state):
31535         * gst/elements/gstfakesink.h:
31536         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31537         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31538         * gst/gstelement.c: (gst_element_add_pad),
31539         (gst_element_get_state_func), (gst_element_abort_state),
31540         (gst_element_commit_state), (gst_element_lost_state),
31541         (gst_element_set_state), (gst_element_pads_activate):
31542         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31543         * gst/gstpipeline.c: (gst_pipeline_send_event),
31544         (gst_pipeline_change_state):
31545         Added state change code.
31546         Added/updated docs.
31547         Added sink base class, make fakesink extend the base class.
31548         Small cleanups in GstPipeline.
31549
31550 2005-03-26  David Schleef  <ds@schleef.org>
31551
31552         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31553         is broken and should be implemented in a different library.
31554         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31555         * gst/gst.h: remove gstcpu.h
31556         * gst/gstcpu.c: remove
31557         * gst/gstcpu.h: remove
31558         * gst/Makefile.am.future: Remove this file.  It's ancient.
31559
31560 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31561
31562         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31563         (gst_bin_send_event):
31564           Add default event/set_manager handlers. The set_manager handler
31565           takes care that the manager is distributed over kids that were
31566           already in the bin before the manager was set. The event handler
31567           is a utility virtual function that sends the event over all sinks,
31568           so that gst_element_send_event (bin, event); has the expected
31569           behaviour.
31570         * gst/gstpad.c: (gst_pad_event_default):
31571           Re-install default event handling for discontinuities, so that
31572           seeking works without requiring hacks in applications or extra
31573           code in sinks.
31574         * gst/gstpipeline.c: (gst_pipeline_class_init),
31575         (gst_pipeline_send_event):
31576           Half hack, half utility: set a pipeline to PAUSED for seek events,
31577           since that is the only way we can guarantee a/v sync. Means that
31578           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31579           and it "just works".
31580
31581 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31582
31583         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31584           Lock/unlock mismatch.
31585
31586 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31587
31588         * docs/faq/gst-uninstalled:
31589           add gst-plugins-base
31590         * docs/gst/Makefile.am:
31591           don't error out until docs are fixed
31592         * docs/gst/gstreamer.types:
31593           remove thread
31594
31595 2005-03-22  Wim Taymans  <wim@fluendo.com>
31596
31597         * check/Makefile.am:
31598         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31599         * gst/gststructure.c: (gst_structure_set_valist),
31600         (gst_structure_copy_conditional):
31601         Activated more tests.
31602         Added message test.
31603         Added G_TYPE_POINTER to GstStructure.
31604         
31605
31606 2005-03-22  Wim Taymans  <wim@fluendo.com>
31607
31608         * docs/design/part-TODO.txt:
31609         * docs/design/part-events.txt:
31610         * docs/design/part-gstbin.txt:
31611         * docs/design/part-gstbus.txt:
31612         * docs/design/part-gstpipeline.txt:
31613         * docs/design/part-messages.txt:
31614         * gst/gstbus.c:
31615         * gst/gstmessage.c:
31616         Docs updates
31617
31618 2005-03-21  Wim Taymans  <wim@fluendo.com>
31619
31620         * gst/gstbus.c: (gst_bus_post):
31621         Fix copy-and-paste error.
31622
31623 2005-03-21  Wim Taymans  <wim@fluendo.com>
31624
31625         * check/Makefile.am:
31626         * gst/Makefile.am:
31627         * gst/elements/Makefile.am:
31628         * gst/elements/gstelements.c:
31629         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31630         (gst_fakesink_event), (gst_fakesink_chain):
31631         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31632         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31633         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31634         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31635         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31636         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31637         (gst_fakesrc_loop), (gst_fakesrc_activate),
31638         (gst_fakesrc_change_state):
31639         * gst/elements/gstfakesrc.h:
31640         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31641         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31642         (gst_filesrc_open_file), (gst_filesrc_loop),
31643         (gst_filesrc_activate), (gst_filesrc_change_state),
31644         (filesrc_find_peek), (filesrc_find_suggest),
31645         (gst_filesrc_type_find):
31646         * gst/elements/gstidentity.c: (gst_identity_finalize),
31647         (gst_identity_class_init), (gst_identity_init),
31648         (gst_identity_proxy_getcaps), (identity_queue_push),
31649         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31650         (gst_identity_getrange), (gst_identity_chain),
31651         (gst_identity_sink_loop), (gst_identity_src_loop),
31652         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31653         (gst_identity_set_property), (gst_identity_get_property),
31654         (gst_identity_change_state):
31655         * gst/elements/gstidentity.h:
31656         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31657         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31658         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31659         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31660         (gst_tee_sink_activate):
31661         * gst/elements/gsttee.h:
31662         * gst/gst.c: (gst_register_core_elements), (init_post):
31663         * gst/gst.h:
31664         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31665         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31666         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31667         (gst_bin_change_state):
31668         * gst/gstbin.h:
31669         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31670         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31671         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31672         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31673         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31674         (bus_watch_callback), (bus_watch_destroy),
31675         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31676         (poll_timeout), (gst_bus_poll):
31677         * gst/gstbus.h:
31678         * gst/gstcaps.h:
31679         * gst/gstdata.h:
31680         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31681         (gst_element_post_message), (gst_element_message_full),
31682         (gst_element_get_state_func), (gst_element_get_state),
31683         (gst_element_abort_state), (gst_element_commit_state),
31684         (gst_element_lost_state), (gst_element_set_state),
31685         (gst_element_pads_activate), (gst_element_change_state),
31686         (gst_element_dispose), (gst_element_set_manager_func),
31687         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31688         (gst_element_set_manager), (gst_element_get_manager),
31689         (gst_element_set_bus), (gst_element_get_bus),
31690         (gst_element_set_scheduler), (gst_element_get_scheduler):
31691         * gst/gstelement.h:
31692         * gst/gstevent.c: (gst_event_new_segment_seek),
31693         (gst_event_new_flush):
31694         * gst/gstevent.h:
31695         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31696         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31697         (gst_message_new_eos), (gst_message_new_error),
31698         (gst_message_new_warning), (gst_message_new_tag),
31699         (gst_message_new_state_changed), (gst_message_new_application),
31700         (gst_message_get_structure), (gst_message_parse_tag),
31701         (gst_message_parse_state_changed), (gst_message_parse_error),
31702         (gst_message_parse_warning):
31703         * gst/gstmessage.h:
31704         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31705         (gst_real_pad_set_property), (gst_pad_set_active),
31706         (gst_pad_is_active), (gst_pad_set_blocked_async),
31707         (gst_pad_set_blocked), (gst_pad_is_blocked),
31708         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31709         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31710         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31711         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31712         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31713         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31714         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31715         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31716         (gst_pad_set_caps), (gst_pad_configure_sink),
31717         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31718         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31719         (gst_real_pad_dispose), (gst_real_pad_finalize),
31720         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31721         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31722         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31723         * gst/gstpad.h:
31724         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31725         (pipeline_bus_handler), (gst_pipeline_change_state),
31726         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31727         * gst/gstpipeline.h:
31728         * gst/gstprobe.h:
31729         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31730         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31731         (gst_queue_link_src), (gst_queue_bufferalloc),
31732         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31733         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31734         (gst_queue_loop), (gst_queue_handle_src_event),
31735         (gst_queue_handle_src_query), (gst_queue_src_activate),
31736         (gst_queue_change_state):
31737         * gst/gstqueue.h:
31738         * gst/gstscheduler.c: (gst_scheduler_init),
31739         (gst_scheduler_dispose), (gst_scheduler_create_task),
31740         (gst_scheduler_factory_create):
31741         * gst/gstscheduler.h:
31742         * gst/gststructure.c: (gst_structure_get_type),
31743         (gst_structure_copy_conditional):
31744         * gst/gststructure.h:
31745         * gst/gsttaginterface.h:
31746         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31747         (gst_task_init), (gst_task_dispose), (gst_task_create),
31748         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31749         (gst_task_pause):
31750         * gst/gsttask.h:
31751         * gst/gstthread.c:
31752         * gst/gstthread.h:
31753         * gst/gsttypes.h:
31754         * gst/schedulers/Makefile.am:
31755         * gst/schedulers/cothreads_compat.h:
31756         * gst/schedulers/entryscheduler.c:
31757         * gst/schedulers/faircothreads.c:
31758         * gst/schedulers/faircothreads.h:
31759         * gst/schedulers/fairscheduler.c:
31760         * gst/schedulers/gstbasicscheduler.c:
31761         * gst/schedulers/gstoptimalscheduler.c:
31762         * gst/schedulers/gthread-cothreads.h:
31763         * gst/schedulers/threadscheduler.c:
31764         (gst_thread_scheduler_task_get_type),
31765         (gst_thread_scheduler_task_class_init),
31766         (gst_thread_scheduler_task_init),
31767         (gst_thread_scheduler_task_start),
31768         (gst_thread_scheduler_task_stop),
31769         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31770         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31771         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31772         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31773         (plugin_init):
31774         * libs/gst/Makefile.am:
31775         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31776         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31777         (gst_file_pad_parent_set):
31778         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31779         (gst_dp_event_from_packet):
31780         * tests/complexity.c: (main):
31781         * tests/mass_elements.c: (main):
31782         * testsuite/states/locked.c: (message_received), (main):
31783         * testsuite/states/parent.c: (main):
31784         * tools/gst-inspect.c: (print_element_flag_info),
31785         (print_implementation_info), (print_pad_info):
31786         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31787         (main):
31788         * tools/gst-md5sum.c: (event_loop), (main):
31789         * tools/gst-typefind.c: (main):
31790         * tools/gst-xmlinspect.c: (print_element_info):
31791         Next big merge.
31792         Added GstBus for mainloop integration.
31793         Added GstMessage for sending notifications on the bus.
31794         Added GstTask as an abstraction for pipeline entry points.
31795         Removed GstThread.
31796         Removed Schedulers.
31797         Simplified GstQueue for multithreaded core.
31798         Made _link threadsafe, removed old capsnego.
31799         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31800         Added pad blocking functions.
31801         Reworked scheduling functions in GstPad to prepare for
31802         scheduling updates soon.
31803         Moved events out of data stream.
31804         Simplified GstEvent types.
31805         Added return values to push/pull.
31806         Removed clocking from GstElement.
31807         Added prototypes for state change function for next merge.
31808         Removed iterate from bins and state change management.
31809         Fixed some elements, disabled others for now.
31810         Fixed -inspect and -launch.
31811         Added check for GstBus.
31812
31813 2005-03-10  Wim Taymans  <wim@fluendo.com>
31814
31815         * docs/design/part-MT-refcounting.txt:
31816         * docs/design/part-clocks.txt:
31817         * docs/design/part-gstelement.txt:
31818         * docs/design/part-gstobject.txt:
31819         * docs/design/part-standards.txt:
31820         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31821         (gst_bin_remove_func), (gst_bin_remove):
31822         * gst/gstbin.h:
31823         * gst/gstbuffer.c:
31824         * gst/gstcaps.h:
31825         * testsuite/clock/clock1.c: (main):
31826         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31827         (main):
31828         * testsuite/dlopen/loadgst.c: (do_test):
31829         * testsuite/refcounting/bin.c: (add_remove_test1),
31830         (add_remove_test2), (main):
31831         * testsuite/refcounting/element.c: (main):
31832         * testsuite/refcounting/element_pad.c: (main):
31833         * testsuite/refcounting/pad.c: (main):
31834         * tools/gst-launch.c: (sigint_handler_sighandler):
31835         * tools/gst-typefind.c: (main):
31836         Doc updates.
31837         Added doc about clock.
31838         removed gst_bin_iterate_recurse_up(), marked methods
31839         for removal.
31840         Fix more testsuites.
31841
31842 2005-03-09  Wim Taymans  <wim@fluendo.com>
31843
31844         * gst/gstpad.c: (gst_pad_get_direction),
31845         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31846         (gst_pad_collect_valist):
31847         * testsuite/bins/interface.c: (main):
31848         * testsuite/caps/audioscale.c: (test_caps):
31849         * testsuite/caps/caps.c: (test1), (test2), (test3):
31850         * testsuite/caps/deserialize.c: (main):
31851         * testsuite/caps/enumcaps.c: (main):
31852         * testsuite/caps/filtercaps.c: (main):
31853         * testsuite/caps/intersect2.c: (main):
31854         * testsuite/caps/random.c: (main):
31855         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31856         * testsuite/caps/sets.c: (check_caps):
31857         * testsuite/caps/simplify.c: (check_caps), (main):
31858         * testsuite/caps/subtract.c: (check_caps):
31859         Fix _pad_get_direction wrt ghostpads.
31860         Fix caps testsuite.
31861
31862 2005-03-09  Wim Taymans  <wim@fluendo.com>
31863
31864         * check/Makefile.am:
31865         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31866         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31867         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31868         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31869         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31870         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31871         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31872         (bin_element_is_sink), (gst_bin_iterate_sinks),
31873         (gst_bin_iterate_all_by_interface):
31874         * gst/gstbin.h:
31875         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31876         (gst_element_change_state), (gst_element_dispose),
31877         (gst_element_finalize), (gst_element_set_loop_function):
31878         * gst/gstelement.h:
31879         * gst/gstiterator.c: (find_custom_fold_func):
31880         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31881         (gst_pad_collectv), (gst_pad_collect_valist),
31882         (gst_pad_template_new):
31883         * gst/gstpipeline.c: (gst_pipeline_class_init),
31884         (gst_pipeline_dispose), (gst_pipeline_set_property),
31885         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31886         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31887         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31888         * gst/gstutils.h:
31889         * gst/schedulers/entryscheduler.c:
31890         * gst/schedulers/gstbasicscheduler.c:
31891         (gst_basic_scheduler_cothreaded_chain),
31892         (gst_basic_scheduler_chain_add_element):
31893         * testsuite/bins/interface.c: (main):
31894         Added GstBin test.
31895         Added GstSystemClock test.
31896         Implemented clock distribution code in GstBin.
31897         Implemented iterate sinks method for future use.
31898         Rearranged gstelement.h
31899         Fix GstIterator comparison bug.
31900         Moved some code to GstPipeline, mostly clocking related.
31901
31902 2005-03-09  Wim Taymans  <wim@fluendo.com>
31903
31904         * configure.ac:
31905         * gst/gst_private.h:
31906         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31907         (gst_bin_remove_func), (gst_bin_remove),
31908         (gst_bin_get_by_name_recurse_up):
31909         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31910         (gst_clock_id_compare_func), (gst_clock_id_wait),
31911         (gst_clock_id_wait_async), (gst_clock_init),
31912         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31913         * gst/gstelement.h:
31914         * gst/gstinfo.c: (_gst_debug_init):
31915         * gst/gstobject.h:
31916         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31917         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31918         * gst/gstpad.h:
31919         Bump version number, we're now 0.9.0
31920         Add future debugging category.
31921         Fix NULL _unref() in _get_by_name_recurse_up
31922         Rearrange gstpad.h.
31923         Update some docs.
31924
31925 2005-03-08  Wim Taymans  <wim@fluendo.com>
31926
31927         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31928         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31929         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31930         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31931         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31932         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31933         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31934         * gst/elements/gstidentity.c: (gst_identity_class_init):
31935         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31936         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31937         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31938         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31939         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31940         (gst_tee_link):
31941         * gst/gstelement.c: (gst_element_class_init),
31942         (gst_element_base_class_init), (gst_element_init),
31943         (gst_element_get_random_pad), (gst_element_wait_state_change),
31944         (gst_element_change_state), (gst_element_dispose),
31945         (gst_element_finalize), (gst_element_set_loop_function):
31946         * gst/gstelement.h:
31947         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31948         * gst/gstthread.c: (gst_thread_class_init),
31949         (gst_thread_release_children_locks), (gst_thread_change_state):
31950         * gst/schedulers/gstbasicscheduler.c:
31951         (gst_basic_scheduler_loopfunc_wrapper),
31952         (gst_basic_scheduler_chain_wrapper),
31953         (gst_basic_scheduler_src_wrapper),
31954         (gst_basic_scheduler_remove_element):
31955         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31956         Remove threadsafe properties. Fix elements because GObject
31957         complains when installing a property before declaring a
31958         set/get_property handler.
31959         Rearrange gstelement.h file, use STATE macros for state locks.
31960         Free mutexes in the finalize method instead of dispose.
31961
31962 2005-03-08  Wim Taymans  <wim@fluendo.com>
31963
31964         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31965         * gst/gstthread.c: (gst_thread_release_children_locks):
31966         Added parentage check.
31967         Fix build og GstThread again.
31968
31969 2005-03-08  Wim Taymans  <wim@fluendo.com>
31970
31971         * docs/design/part-MT-refcounting.txt:
31972         * docs/design/part-conventions.txt:
31973         * docs/design/part-gstobject.txt:
31974         * docs/design/part-relations.txt:
31975         * docs/design/part-standards.txt:
31976         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31977         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31978         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31979         (gst_bin_iterate_all_by_interface):
31980         * gst/gstbuffer.h:
31981         * gst/gstclock.h:
31982         * gst/gstelement.c: (gst_element_class_init),
31983         (gst_element_change_state), (gst_element_set_loop_function):
31984         * gst/gstelement.h:
31985         * gst/gstiterator.c:
31986         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31987         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31988         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31989         (gst_object_set_parent), (gst_object_unparent),
31990         (gst_object_check_uniqueness):
31991         * gst/gstobject.h:
31992         Docs updates, clean up some headers.
31993
31994 2005-03-07  Wim Taymans  <wim@fluendo.com>
31995
31996         * check/.cvsignore:
31997         * check/Makefile.am:
31998         * check/gst-libs/.cvsignore:
31999         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
32000         * check/gst/.cvsignore:
32001         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
32002         (START_TEST), (gstbus_suite), (main):
32003         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
32004         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
32005         (gst_data_suite), (main):
32006         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
32007         (add_fold_func), (gstiterator_suite), (main):
32008         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
32009         (thread_name_object), (thread_name_object_default),
32010         (gst_object_name_compare), (gst_object_suite), (main):
32011         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
32012         (gst_pad_suite), (main):
32013         * check/gstcheck.c: (gst_check_log_message_func),
32014         (gst_check_log_critical_func), (gst_check_init):
32015         * check/gstcheck.h:
32016         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
32017         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
32018         Added checks.
32019
32020 2005-03-07  Wim Taymans  <wim@fluendo.com>
32021
32022         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
32023         (gst_list_iterator_next), (gst_list_iterator_resync),
32024         (gst_list_iterator_free), (gst_iterator_new_list),
32025         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
32026         (gst_iterator_free), (gst_iterator_push), (filter_next),
32027         (filter_resync), (filter_uninit), (filter_free),
32028         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
32029         (gst_iterator_foreach), (find_custom_fold_func),
32030         (gst_iterator_find_custom):
32031         * gst/gstiterator.h:
32032         Added missing files.
32033
32034 2005-03-07  Wim Taymans  <wim@fluendo.com>
32035
32036         * Makefile.am:
32037         * configure.ac:
32038         * docs/design/part-MT-refcounting.txt:
32039         * docs/design/part-conventions.txt:
32040         * docs/design/part-gstobject.txt:
32041         * docs/design/part-relations.txt:
32042         * examples/mixer/mixer.c: (main):
32043         * examples/thread/thread.c: (eos), (main):
32044         * gst/Makefile.am:
32045         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
32046         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
32047         (gst_spider_plug_from_srcpad):
32048         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
32049         (gst_spider_identity_change_state),
32050         (gst_spider_identity_sink_loop_type_finding):
32051         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
32052         * gst/elements/gstidentity.c: (gst_identity_init):
32053         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
32054         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
32055         * gst/elements/gsttypefindelement.c: (free_entry):
32056         * gst/gst.c:
32057         * gst/gst.h:
32058         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
32059         (gst_bin_set_clock_func), (gst_bin_auto_clock),
32060         (gst_bin_set_index), (gst_bin_set_element_sched),
32061         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
32062         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
32063         (gst_bin_iterate_elements), (iterate_child_recurse),
32064         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
32065         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
32066         (compare_interface), (gst_bin_get_by_interface),
32067         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
32068         * gst/gstbin.h:
32069         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
32070         (gst_buffer_default_free), (gst_buffer_default_copy),
32071         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
32072         (gst_buffer_create_sub):
32073         * gst/gstbuffer.h:
32074         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
32075         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
32076         (gst_caps_unref), (gst_static_caps_get),
32077         (gst_caps_remove_and_get_structure), (gst_caps_append),
32078         (gst_caps_append_structure), (gst_caps_remove_structure),
32079         (gst_caps_copy_nth), (gst_caps_set_simple),
32080         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
32081         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
32082         (gst_caps_structure_intersect_field), (gst_caps_intersect),
32083         (gst_caps_structure_subtract_field), (gst_caps_subtract),
32084         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
32085         (gst_caps_structure_figure_out_union),
32086         (gst_caps_switch_structures), (gst_caps_do_simplify),
32087         (gst_caps_replace), (gst_caps_from_string),
32088         (gst_caps_copy_conditional):
32089         * gst/gstcaps.h:
32090         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
32091         (_gst_clock_id_free), (gst_clock_id_unref),
32092         (gst_clock_id_compare_func), (gst_clock_id_wait),
32093         (gst_clock_id_wait_async), (gst_clock_class_init),
32094         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
32095         (gst_clock_get_time), (gst_clock_set_time_adjust),
32096         (gst_clock_set_property), (gst_clock_get_property):
32097         * gst/gstclock.h:
32098         * gst/gstcompat.h:
32099         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
32100         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
32101         * gst/gstdata.h:
32102         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
32103         (gst_element_requires_clock), (gst_element_provides_clock),
32104         (gst_element_set_clock), (gst_element_clock_wait),
32105         (gst_element_wait), (gst_element_set_time_delay),
32106         (gst_element_is_indexable), (gst_element_add_pad),
32107         (gst_element_add_ghost_pad), (gst_element_remove_pad),
32108         (pad_compare_name), (gst_element_get_static_pad),
32109         (gst_element_request_pad), (gst_element_get_request_pad),
32110         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
32111         (gst_element_class_get_pad_template_list),
32112         (gst_element_class_get_pad_template), (gst_element_error_func),
32113         (gst_element_get_random_pad), (gst_element_get_event_masks),
32114         (gst_element_send_event), (gst_element_seek),
32115         (gst_element_get_query_types), (gst_element_query),
32116         (gst_element_get_formats), (gst_element_convert),
32117         (gst_element_is_locked_state), (gst_element_set_locked_state),
32118         (gst_element_sync_state_with_parent), (gst_element_change_state),
32119         (gst_element_finalize), (gst_element_yield),
32120         (gst_element_interrupt), (gst_element_set_scheduler),
32121         (gst_element_get_scheduler), (gst_element_set_loop_function):
32122         * gst/gstelement.h:
32123         * gst/gstevent.h:
32124         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
32125         (gst_format_get_by_nick), (gst_format_get_details),
32126         (gst_format_iterate_definitions):
32127         * gst/gstformat.h:
32128         * gst/gstindex.c: (gst_index_gtype_resolver):
32129         * gst/gstinfo.c:
32130         * gst/gstinfo.h:
32131         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
32132         (gst_mem_chunk_free):
32133         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
32134         (gst_object_ref), (gst_object_unref), (gst_object_sink),
32135         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
32136         (gst_object_dispatch_properties_changed),
32137         (gst_object_set_name_default), (gst_object_set_name),
32138         (gst_object_get_name), (gst_object_set_name_prefix),
32139         (gst_object_get_name_prefix), (gst_object_set_parent),
32140         (gst_object_get_parent), (gst_object_unparent),
32141         (gst_object_check_uniqueness), (gst_object_save_thyself),
32142         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
32143         (gst_object_set_property), (gst_object_get_property),
32144         (gst_object_get_path_string):
32145         * gst/gstobject.h:
32146         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
32147         (gst_real_pad_init), (gst_real_pad_get_property),
32148         (gst_pad_custom_new), (gst_pad_get_direction),
32149         (gst_pad_set_active), (gst_pad_is_active),
32150         (gst_pad_set_event_function), (gst_pad_is_linked),
32151         (gst_pad_link_free), (gst_pad_link_intersect),
32152         (gst_pad_link_fixate), (gst_pad_set_caps),
32153         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
32154         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
32155         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
32156         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
32157         (gst_pad_get_caps), (gst_pad_peer_get_caps),
32158         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
32159         (gst_pad_realize), (gst_pad_get_allowed_caps),
32160         (gst_real_pad_dispose), (gst_real_pad_finalize),
32161         (gst_pad_collectv), (gst_pad_collect_valist),
32162         (gst_pad_template_dispose), (gst_pad_template_new),
32163         (gst_pad_get_internal_links):
32164         * gst/gstpad.h:
32165         * gst/gstpipeline.c: (gst_pipeline_dispose),
32166         (gst_pipeline_change_state):
32167         * gst/gstpipeline.h:
32168         * gst/gstplugin.c:
32169         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
32170         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
32171         * gst/gstpluginfeature.h:
32172         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
32173         * gst/gstquery.c: (_gst_query_type_initialize),
32174         (gst_query_type_register), (gst_query_type_get_by_nick),
32175         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
32176         * gst/gstquery.h:
32177         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
32178         * gst/gstscheduler.c: (gst_scheduler_add_element),
32179         (gst_scheduler_factory_create):
32180         * gst/gststructure.c: (gst_structure_set_parent_refcount),
32181         (gst_structure_free), (gst_structure_set_name),
32182         (gst_structure_id_set_value), (gst_structure_set_value),
32183         (gst_structure_set_valist), (gst_structure_remove_field),
32184         (gst_structure_remove_fields),
32185         (gst_structure_remove_fields_valist),
32186         (gst_structure_remove_all_fields), (gst_structure_foreach),
32187         (gst_structure_map_in_place),
32188         (gst_caps_structure_fixate_field_nearest_int),
32189         (gst_caps_structure_fixate_field_nearest_double):
32190         * gst/gststructure.h:
32191         * gst/gstsystemclock.c: (gst_system_clock_class_init),
32192         (gst_system_clock_init), (gst_system_clock_dispose),
32193         (gst_system_clock_async_thread),
32194         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
32195         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
32196         * gst/gstsystemclock.h:
32197         * gst/gsttag.c: (gst_tag_list_add_value_internal),
32198         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
32199         * gst/gsttaginterface.c:
32200         * gst/gstthread.c: (gst_thread_dispose),
32201         (gst_thread_release_children_locks), (gst_thread_change_state),
32202         (gst_thread_main_loop):
32203         * gst/gsttrashstack.h:
32204         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
32205         * gst/gsttypes.h:
32206         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
32207         (gst_element_request_pad), (gst_element_get_pad_from_template),
32208         (gst_element_request_compatible_pad),
32209         (gst_element_get_compatible_pad_filtered),
32210         (gst_element_get_compatible_pad), (gst_element_state_get_name),
32211         (gst_element_link_pads_filtered), (gst_element_link_filtered),
32212         (gst_element_link_many), (gst_element_link),
32213         (gst_element_link_pads), (gst_element_unlink_pads),
32214         (gst_element_unlink_many), (gst_element_unlink),
32215         (gst_pad_can_link_filtered), (gst_pad_can_link),
32216         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
32217         (gst_object_default_error), (gst_bin_add_many),
32218         (gst_bin_remove_many), (gst_element_populate_std_props),
32219         (gst_element_class_install_std_props), (gst_buffer_merge),
32220         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
32221         (link_fold_func), (gst_pad_proxy_setcaps):
32222         * gst/gstutils.h:
32223         * gst/gstvalue.c: (gst_value_deserialize_string):
32224         * gst/parse/grammar.y:
32225         * gst/schedulers/gstbasicscheduler.c:
32226         (gst_basic_scheduler_cothreaded_chain),
32227         (gst_basic_scheduler_chain_recursive_add),
32228         (gst_basic_scheduler_pad_link):
32229         * gst/schedulers/gstoptimalscheduler.c:
32230         (get_group_schedule_function),
32231         (gst_opt_scheduler_state_transition),
32232         (gst_opt_scheduler_add_element), (element_get_reachables_func):
32233         * libs/gst/bytestream/bytestream.c:
32234         * libs/gst/dataprotocol/dataprotocol.c:
32235         (gst_dp_header_from_buffer):
32236         * po/nb.po:
32237         * po/ru.po:
32238         * tests/threadstate/threadstate2.c: (eos):
32239         * tools/gst-compprep.c: (main):
32240         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
32241         (print_pad_info), (print_children_info):
32242         * tools/gst-launch.c: (idle_func), (main):
32243         * tools/gst-md5sum.c: (idle_func), (main):
32244         * tools/gst-xmlinspect.c: (print_element_info):
32245         First THREADED backport attempt, focusing on adding locks and
32246         making sure the API is threadsafe. Needs more work. More docs
32247         follow this week.
32248
32249 2005-02-24  Andy Wingo  <wingo@pobox.com>
32250
32251         * tests/bench-complexity.scm:
32252         * tests/complexity.gnuplot: New files, good for running complexity
32253         benchmarks.
32254
32255         * tests/Makefile.am:
32256         * tests/complexity.c: New test, sets up N elements, at each level
32257         teeing into M streams per element. Eeeenteresting.
32258
32259         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32260         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32261         running bench-mass_elements.scm.
32262
32263         * tests/bench-mass_elements.scm: New script, runs mass_elements
32264         for various numbers of identities, outputting the results to a
32265         file. Requires guile 1.6. Just for testing.
32266
32267 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
32268
32269         * gst/schedulers/fairscheduler.c:
32270           compile with debug disabled
32271
32272 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
32273
32274         * configure.ac:
32275           hunting season on 0.9 is now OPEN