.cvsignore: Ignore more.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * .cvsignore:
4           Ignore more.
5
6 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
7
8         * Makefile.am:
9         * configure.ac:
10         * gst-element-check.m4:
11         * gst-element-check.m4.in:
12           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13           instead of the unversioned gst-inspect (#324176, #168659).
14
15 2006-07-06  Wim Taymans  <wim@fluendo.com>
16
17         * gst/gstmessage.h:
18         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
19         warnings.
20
21 2006-07-06  Wim Taymans  <wim@fluendo.com>
22
23         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
24         (gst_base_src_wait), (gst_base_src_update_length),
25         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
26         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
27         (gst_base_src_loop), (gst_base_src_start),
28         (gst_base_src_activate_pull):
29         Update docs.
30         blocksize == 0 now means the default blocksize when working in push
31         based mode.
32         Remove some pointless asserts in _wait function.
33         Fix offset/length calculations and EOS handling. We can now pull 0
34         bytes as well, which is allowed.
35         use _check_get_range() to decide if we can operate in _pull based
36         mode.
37         Fix refcounting leak when check_get_range function was not 
38         implemented.
39         API GstBaseSrc::blocksize range can be 0 too now (default)
40
41         * tests/check/elements/filesrc.c: (GST_START_TEST),
42         (filesrc_suite):
43         Added check to test _get_range() behaviour.
44
45 2006-07-06  Wim Taymans  <wim@fluendo.com>
46
47         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
48         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
49         (gst_pad_pull_range):
50         * gst/gstpad.h:
51         Lots of comments and docs added to the pad functions.
52         Flesh out the expected behaviour of the get_range() functions.
53
54 2006-07-06  Wim Taymans  <wim@fluendo.com>
55
56         * gst/gstbus.h:
57         * gst/gstclock.h:
58         * gst/gstevent.h:
59         * gst/gstiterator.h:
60         * gst/gstpad.h:
61         * gst/gstplugin.h:
62         * gst/gsttask.h:
63         Remove comma at end of enumerator list. 
64
65 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
66
67         * win32/common/libgstbase.def:
68         * win32/common/libgstdataprotocol.def:
69         * win32/common/libsgtreamer.def:
70         Add new exported functions.
71
72 2006-07-05  Wim Taymans  <wim@fluendo.com>
73
74         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
75         Add some more docs here and there.
76
77 2006-07-05  Wim Taymans  <wim@fluendo.com>
78
79         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
80         (gst_base_sink_loop), (gst_base_sink_get_position):
81         When operating in pull mode update the offset so that we
82         read sequentially.
83
84 2006-07-05  Wim Taymans  <wim@fluendo.com>
85
86         * gst/gstregistryxml.c: (read_string):
87         Avoid strdup. (will happen in libxml, but hey!)
88
89         * gst/gsturi.c:
90         Add some more docs.
91
92 2006-07-05  Wim Taymans  <wim@fluendo.com>
93
94         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
95         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
96         (gst_buffer_suite):
97         No point in checking if the size of the subbuffer > 0, the
98         code handles it correclty as demonstrated by unit test.
99         Also add a unit test for the zero sized _new_and_alloc and
100         _copy. Fixes #346663.
101
102 2006-07-05  Wim Taymans  <wim@fluendo.com>
103
104         * libs/gst/base/gstbasetransform.c:
105         (gst_base_transform_prepare_output_buffer),
106         (gst_base_transform_buffer_alloc),
107         (gst_base_transform_handle_buffer):
108         Make sure the buffer we pass to transform_ip has a refcount of
109         1 and thus is writable. Fixes #343196
110
111 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
112
113         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
114         (gst_file_src_init), (gst_file_src_set_property),
115         (gst_file_src_get_property), (gst_file_src_map_region):
116         * plugins/elements/gstfilesrc.h:
117         Add "sequential" property, off by default, to use madvise and hint
118         to the kernel that sequential access is desired.
119         Touch all retrieved pages by default to ensure they are pulled
120         into memory. (Closes #345720)
121
122 2006-07-03  Wim Taymans  <wim@fluendo.com>
123
124         * docs/design/part-block.txt:
125         * docs/design/part-dynamic.txt:
126         Small docs updates.
127
128 2006-07-03  Wim Taymans  <wim@fluendo.com>
129
130         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
131         (gst_caps_unref), (gst_static_caps_get),
132         (gst_caps_append_structure):
133         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
134         Use GSlice when the glib we build against is >= 2.10
135
136 2006-07-03  Wim Taymans  <wim@fluendo.com>
137
138         * gst/gstelement.c: (gst_element_pads_activate):
139         Small cleanup in pad activation code.
140
141 2006-07-03  Wim Taymans  <wim@fluendo.com>
142
143         Patch by: Peter Kjellerstedt <pkj at axis dot com>
144
145         * gst/gst-i18n-app.h:
146         * gst/gst-i18n-lib.h:
147         * tools/gst-inspect.c: (print_signal_info):
148         The attached patch will make the inclusion of gettext.h unconditional in
149         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
150         libintl.h in tools/gst-inspect.c.
151         This allows use of --disable-nls again and fixes #344642.
152
153 2006-07-03  Edward Hervey  <edward@fluendo.com>
154
155         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
156         Implement pad blocking on events according to part-block.txt.
157         More comments on behaviour.
158         * tests/check/gst/gstevent.c: (test_event):
159         Send event to peer pad of blocked pad (else it will block).
160
161 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
162
163         * libs/gst/check/gstcheck.c: (gst_check_message_error),
164         (gst_check_run_suite):
165           if we get the wrong message, give us the types as string
166         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
167           Fix a translatable
168         * tests/check/elements/filesrc.c: (GST_START_TEST):
169           add a test for trying to open a non-existing file
170
171 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
172
173         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
174           add a test for adding self
175
176 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
177
178         * libs/gst/check/gstcheck.h:
179           add some assert_ as alias for fail_unless_*
180         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
181           increase test coverage
182
183 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
184
185         * Makefile.am:
186           include lcov.mak for lcov coverage generation
187         * tools/Makefile.am:
188           add to CLEANFILES
189
190 2006-07-02  Edward Hervey  <edward@fluendo.com>
191
192         * tests/check/elements/.cvsignore:
193         moaping
194
195 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
196
197         * configure.ac:
198           don't set CFLAGS and friends for gcov, done from GST_GCOV now
199         * tests/check/Makefile.am:
200           clean up gcov files
201
202 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
203
204         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
205           remove gst_caps_simplify; it was not declared and not used
206           and deprecated in 0.8
207
208 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
209
210         * docs/faq/gst-uninstalled:
211           don't put empty paths on PYTHONPATH
212         * docs/gst/gstreamer-sections.txt:
213           remove some symbols that are not there
214
215 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
216
217         * gst/gstcaps.c: (gst_caps_compare_structures):
218           whitespace fixes
219         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
220         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
221           add more tests
222
223 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
224
225         * libs/gst/dataprotocol/Makefile.am:
226           build dataprotocol test by linking to the lib, instead of
227           compiling the source, so we get coverage
228         * tests/check/Makefile.am:
229         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
230         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
231           add a test for filesrc
232
233 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
234
235         * tests/check/gst/gststructure.c: (GST_START_TEST),
236         (gst_structure_suite):
237           Push coverage from 59.04% to 70.00%
238
239 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
240
241         * tests/check/Makefile.am:
242           gst-inspect every element; this makes sure that we also get
243           coverage on element's get/set functions
244
245 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
246
247         * configure.ac:
248           set CFLAGS and friends to -O0 if gcov is being used
249           add GCOV LIBS
250         * gst/Makefile.am:
251         * libs/gst/base/Makefile.am:
252         * libs/gst/check/Makefile.am:
253         * libs/gst/controller/Makefile.am:
254         * libs/gst/dataprotocol/Makefile.am:
255         * libs/gst/net/Makefile.am:
256         * plugins/elements/Makefile.am:
257         * plugins/indexers/Makefile.am:
258           add makefile rules to generate gcov data and clean up
259         * tests/check/Makefile.am:
260           add a coverage target that generates an html overview
261           of coverage data
262
263 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
264
265         * tests/check/elements/fakesink.c:
266         * tests/check/elements/fakesrc.c:
267         * tests/check/elements/fdsrc.c:
268         * tests/check/elements/identity.c:
269         * tests/check/generic/sinks.c: (gst_sinks_suite):
270         * tests/check/generic/states.c:
271         * tests/check/gst/gst.c:
272         * tests/check/gst/gstabi.c:
273         * tests/check/gst/gstbin.c:
274         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
275         * tests/check/gst/gstbus.c: (gst_bus_suite):
276         * tests/check/gst/gstcaps.c: (GST_START_TEST):
277         * tests/check/gst/gstelement.c:
278         * tests/check/gst/gstevent.c: (gst_event_suite):
279         * tests/check/gst/gstghostpad.c:
280         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
281         * tests/check/gst/gstmessage.c: (gst_message_suite):
282         * tests/check/gst/gstminiobject.c:
283         * tests/check/gst/gstobject.c:
284         * tests/check/gst/gstpad.c:
285         * tests/check/gst/gstpipeline.c:
286         * tests/check/gst/gstplugin.c:
287         * tests/check/gst/gstquery.c: (gst_query_suite):
288         * tests/check/gst/gstsegment.c: (gst_segment_suite):
289         * tests/check/gst/gststructure.c:
290         * tests/check/gst/gstsystemclock.c:
291         * tests/check/gst/gsttag.c:
292         * tests/check/gst/gsttask.c: (gst_task_suite):
293         * tests/check/gst/gstutils.c:
294         * tests/check/gst/gstvalue.c:
295         * tests/check/libs/adapter.c:
296         * tests/check/libs/basesrc.c:
297         * tests/check/libs/collectpads.c:
298         * tests/check/libs/controller.c:
299         * tests/check/libs/gdp.c: (gst_dp_suite):
300         * tests/check/libs/gstnetclientclock.c:
301         * tests/check/libs/gstnettimeprovider.c:
302         * tests/check/libs/libsabi.c: (libsabi_suite):
303         * tests/check/libs/typefindhelper.c:
304         * tests/check/pipelines/cleanup.c:
305         * tests/check/pipelines/parse-launch.c:
306         * tests/check/pipelines/simple-launch-lines.c:
307         * tests/check/pipelines/stress.c: (stress_suite):
308           use the new macro
309
310 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
311
312         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
313         * libs/gst/check/gstcheck.h:
314           create a macro and function so that the simple unit test
315           case can be just one macro to create main()
316
317 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
318
319         * gst/gstbin.c: (gst_bin_restore_thyself):
320         * gst/gstxml.c: (gst_xml_make_element):
321           Fix deserialisation from XML. Set parent manually
322           instead of using gst_bin_add(), since gst_bin_add()
323           will unlink all pads of the element being added.
324           Fixes #341667.
325
326 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
327
328         Patch by: Peter Kjellerstedt <pkj at axis com>
329
330         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
331           Fix missing g_strdup() and double free when using the
332           --gst-plugin-load command line option (#346097).
333
334 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
335
336         * gst/gstinfo.c:
337           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
338
339         * libs/gst/net/gstnetclientclock.c:
340         * libs/gst/net/gstnettimeprovider.c:
341           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
342
343 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
344
345         * docs/manual/advanced-dataaccess.xml:
346           Fix buffer probe example compilation in
347           ADM (#345708).
348         
349 2006-06-22  Edward Hervey  <edward@fluendo.com>
350
351         * gst/gstelement.c: (gst_element_pads_activate):
352         We need to deactivate src pads first and then sink pads.
353         The reason is the src pads might be blocking while holding the streaming
354         lock, so we need to deactivate them first so that deactivating the sink
355         pads doesn't block (since it will require the streaming lock).
356
357 2006-06-22  Wim Taymans  <wim@fluendo.com>
358
359         * libs/gst/base/gstbasetransform.c:
360         (gst_base_transform_buffer_alloc):
361         Forgot to remove two unneeded unrefs.
362         Simplify a check _is_equal allready checks the obvious case.
363
364 2006-06-22  Wim Taymans  <wim@fluendo.com>
365
366         * docs/design/part-block.txt:
367         Some docs about what pad_block should do.
368
369 2006-06-22  Wim Taymans  <wim@fluendo.com>
370
371         * gst/gstcaps.c: (gst_caps_replace):
372         Fix crasher when passed NULL. Doc clarification.
373         Optimize for the trivial case.
374
375         * gst/gstpipeline.c: (gst_pipeline_change_state):
376         Small cleanups.
377
378         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
379         Small documentation cleanup.
380
381         * libs/gst/base/gstbasetransform.c:
382         (gst_base_transform_buffer_alloc):
383         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
384         is what we need and it avoids a whole lot of redundant 
385         refcount operations.
386
387 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
388
389         Patch by: Philip Jägenstedt  <philip at lysator liu se>
390
391         * docs/manual/advanced-dataaccess.xml:
392           Fix 'Embedding static elements' section to use
393           GST_PLUGIN_DEFINE_STATIC (#345607).
394
395 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
396
397         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
398           Attempt to 'fix' spuriously failing test case: it seems like the
399           timeout of half a second is simply too small when the system is under
400           load otherwise, and the timeout doesn't really seem to serve any
401           particular purpose here. Give the pipeline a few seconds to preroll
402           first, and then give it another half a second to go from PAUSED to
403           PLAYING and marshal the message into the main thread.
404
405 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
406
407         * tools/gst-feedback-m.m:
408           Don't only use unversioned tools, try versioned tools as well
409           (#345086).
410
411 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
412
413         * gst/gstbus.c: (gst_bus_class_init):
414           Fix some typos, make docs more explicit.
415
416 2006-06-20  Wim Taymans  <wim@fluendo.com>
417
418         * tests/check/gst/gstghostpad.c: (block_callback),
419         (GST_START_TEST), (gst_ghost_pad_suite):
420         Added some more ghostpad tests, mainly blocking
421         and probes.
422
423 2006-06-16  Wim Taymans  <wim@fluendo.com>
424
425         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
426         (gst_file_sink_close_file), (gst_file_sink_do_seek),
427         (gst_file_sink_event), (gst_file_sink_render):
428         * plugins/elements/gstfilesink.h:
429         Check if we can seek in the file instead of assuming
430         we always can. Post an error when we are asked to seek in a
431         non-seekable file (like a fifo). Fixes #343312.
432         Some cleanups.
433
434 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
435
436         * tools/gst-launch.1.in:
437           Un-garble (fourcc) bit in filtered caps section.
438
439 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
440
441         * docs/manual/advanced-autoplugging.xml:
442         * docs/manual/basics-helloworld.xml:
443         * docs/manual/highlevel-components.xml:
444           Don't leak bus reference in sample code.
445
446 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
447
448         * autogen.sh:
449           Add default for new --enable-plugin-docs switch.
450
451         * configure.ac:
452           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
453           Fixes #344039.
454
455         * docs/Makefile.am:
456           Use new ENABLE_PLUGIN_DOCS conditional.
457
458 2006-06-14  Wim Taymans  <wim@fluendo.com>
459
460         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
461         Make it clear with a FIXME and a real define what the #if 0
462         previously disabled.
463
464 2006-06-14  Wim Taymans  <wim@fluendo.com>
465
466         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
467         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
468         * libs/gst/base/gstbasetransform.c:
469         (gst_base_transform_sink_eventfunc):
470         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
471         Don't randomly and silently reset a segment when the format 
472         changes as this is a bug somewhere upstream. Fixes #330379.
473
474 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
475
476         Patch by: Wouter Paesen  <wouter at kangaroot net>
477
478         * libs/gst/controller/gstcontroller.c:
479         (gst_controlled_property_new):
480           Fix controlling of float properties (#344849).
481
482         * tests/check/libs/controller.c:
483         (gst_test_mono_source_get_property),
484         (gst_test_mono_source_set_property),
485         (gst_test_mono_source_class_init), (GST_START_TEST):
486           While we're at it, add some float stuff to unit test.
487
488 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * docs/README:
491         * docs/images/gdp-header.svg:
492           add a gdp image
493         * docs/libs/Makefile.am:
494         * docs/libs/gdp-header.png:
495         * libs/gst/dataprotocol/dataprotocol.c:
496           add it to the API docs
497         * docs/manual/intro-motivation.xml:
498           fix typo
499
500 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
501
502         * gst/gst.c: (scan_and_update_registry), (init_post):
503           If the fork()'ed child process can't write the updated registry cache
504           file to disk for some reason, make it exit with a failure exit code,
505           so that the parent can then re-scan the plugins itself and update the
506           registry structures in memory and work with that (rather than failing
507           when creating elements because seemingly no plugins are available).
508           Refactor registry scanning code into separate function for this and
509           also separate fork() and non-fork() code paths. Fixes #344748.
510
511 2006-06-13  Wim Taymans  <wim@fluendo.com>
512
513         * docs/manual/advanced-dataaccess.xml:
514         Fix wrong PluginDesc. Fixes #344755.
515
516 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
517
518         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
519           Fix silly bug that prevented us from creating
520           ~/.gstreamer-0.10 and writing the registry in one
521           go (the first call to g_mkstemp() would overwrite the
522           placeholder in the template string, so the second call
523           to g_mkstemp() after creating the missing directory
524           would then error out with 'invalid argument').
525
526 2006-06-13  Edward Hervey  <edward@fluendo.com>
527
528         * gst/gst.c: (init_post):
529         Free string.
530
531 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
532
533         * gst/glib-compat-private.h:
534         * gst/glib-compat.c:
535         * gst/glib-compat.h:
536         * gst/gstvalue.c: (gst_value_serialize_flags):
537           remove GLib 2.6 compatibility code
538
539 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
540
541         * gst/parse/Makefile.am:
542           Fix build with 'make -j N' even more (#340016).
543
544 2006-06-12  Wim Taymans  <wim@fluendo.com>
545
546         * docs/gst/gstreamer-sections.txt:
547         Fix docs.
548
549 2006-06-12  Wim Taymans  <wim@fluendo.com>
550
551         * gst/gstsegment.c: (gst_segment_set_duration),
552         (gst_segment_set_last_stop), (gst_segment_set_seek),
553         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
554         (gst_segment_to_running_time), (gst_segment_clip):
555         Use G_UNLIKELY to help the compiler a bit.
556
557 2006-06-12  Wim Taymans  <wim@fluendo.com>
558
559         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
560
561         * gst/gstevent.c: (gst_event_get_type):
562         * gst/gstmessage.c:
563         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
564         (gst_pad_push):
565         constify quark registration strings. Fixes #344115
566         Avoid unneeded type checking is _pad_push() by internally
567         calling gst_pad_chain_unchecked().
568
569 2006-06-12  Wim Taymans  <wim@fluendo.com>
570
571         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
572         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
573         (gst_subbuffer_finalize), (gst_buffer_create_sub),
574         (gst_buffer_is_span_fast), (gst_buffer_span):
575         Init _type for consistency.
576         Use _FLAGS macro to avoid type check.
577         Avoid unneeded type checks in subbufer code.
578
579 2006-06-12  Wim Taymans  <wim@fluendo.com>
580
581         * gst/gst.c: (gst_debug_help):
582         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
583         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
584         (gst_plugin_feature_list_free):
585         * gst/gstregistry.c: (gst_registry_add_plugin),
586         (gst_registry_add_feature), (gst_registry_plugin_filter),
587         (gst_registry_feature_filter), (gst_registry_find_plugin),
588         (gst_registry_find_feature), (gst_registry_get_plugin_list),
589         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
590         * gst/gstregistryxml.c: (load_feature),
591         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
592         * gst/gstminiobject.c: (gst_mini_object_unref),
593         (gst_mini_object_replace), (gst_value_mini_object_free),
594         (gst_value_mini_object_copy):
595         Use _CAST macros to avoid unneeded type checking.
596         Added some more G_UNLIKELY.
597
598 2006-06-12  Wim Taymans  <wim@fluendo.com>
599
600         * gst/gstbuffer.h:
601         Avoid unneeded type checking.
602         API: GST_BUFFER_IS_DISCONT
603
604         * gst/gstminiobject.h:
605         Avoid type check in flag accessor.
606
607         * gst/gstelementfactory.h:
608         * gst/gstplugin.h:
609         * gst/gstpluginfeature.h:
610         Add _CAST macros.
611         API: GST_ELEMENT_FACTORY_CAST
612         API: GST_PLUGIN_CAST
613         API: GST_PLUGIN_FEATURE_CAST
614
615 2006-06-12  Wim Taymans  <wim@fluendo.com>
616
617         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
618         (gst_object_unref):
619         Add G_UNLIKELY in type registration.
620         Avoid type check in _ref/_unref since that is also
621         done in glib.
622
623 2006-06-12  Wim Taymans  <wim@fluendo.com>
624
625         * gst/gsterror.c: (gst_g_error_get_type):
626         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
627         (gst_static_pad_template_get_type):
628         * gst/gsttaglist.c: (gst_tag_list_get_type):
629         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
630         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
631         * gst/gsturi.c: (gst_uri_handler_get_type):
632         * gst/gstvalue.c: (gst_date_get_type):
633         * gst/gstxml.c: (gst_xml_get_type):
634         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
635         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
636         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
637         Add G_UNLIKELY in type registration.
638
639 2006-06-12  Wim Taymans  <wim@fluendo.com>
640
641         * tools/gst-inspect.c: (print_signal_info):
642         Properly print enum values.
643
644 2006-06-12  Wim Taymans  <wim@fluendo.com>
645
646         * gst/gstinfo.c: (gst_debug_set_active),
647         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
648         * gst/gstinfo.h:
649         Add some G_[UN]LIKELY.
650         Maintain __gst_debug_min to avoid formatting the arguments of
651         debug messages that will be dropped anyway to avoid a lot of 
652         overhead from the debugging system.
653
654 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
655
656         * po/POTFILES.in:
657         * po/POTFILES.skip:
658           add missing files containing translatable strings, tell intltool about
659           one exception
660
661 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
662
663         * tests/check/libs/.cvsignore:
664         add test-binary to ignore list
665
666 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
667
668         * docs/libs/gstreamer-libs-docs.sgml:
669         reorder (put dp into a chapter) and indent
670
671 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
672
673         * configure.ac:
674           back to HEAD
675
676 === release 0.10.8 ===
677
678 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
679
680         * configure.ac:
681           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
682
683 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
684
685         * gst/gst.c: (init_post):
686           move pid declaration to declaration block
687
688 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
689
690         * gst/gst.c: (init_post):
691           use _exit() instead of exit() in our forked child; this ensures
692           that none of the registered exit handlers from whatever is using
693           GStreamer get executed.  This fixes gnome-mixer-applet failing
694           to load, because ORBit would shut down.
695           Spotted by: Edward Hervey  <edward@fluendo.com>
696           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
697           Fixes #344474
698
699 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
700
701         * configure.ac:
702           back to TRUNK
703
704 === release 0.10.7 ===
705
706 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
707
708         * configure.ac:
709           releasing 0.10.7, "Soepeke, ik zie ou"
710
711 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
712
713         * configure.ac:
714         * po/af.po:
715         * po/az.po:
716         * po/bg.po:
717         * po/ca.po:
718         * po/cs.po:
719         * po/de.po:
720         * po/en_GB.po:
721         * po/fr.po:
722         * po/it.po:
723         * po/nb.po:
724         * po/nl.po:
725         * po/ru.po:
726         * po/sq.po:
727         * po/sr.po:
728         * po/sv.po:
729         * po/tr.po:
730         * po/uk.po:
731         * po/vi.po:
732         * po/zh_CN.po:
733         * po/zh_TW.po:
734         * win32/common/config.h:
735           0.10.6.2 prerelease
736
737 2006-06-07  Wim Taymans  <wim@fluendo.com>
738
739         * gst/gstindex.c: (gst_index_gtype_resolver):
740         * tools/gst-xmlinspect.c: (print_plugin_info):
741         Fix leak spotted by coverity checker. Fixes #343827
742         Fix another other leak found by paolo borelli.
743
744 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
745
746         * libs/gst/dataprotocol/dataprotocol.c:
747         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
748         (gst_dp_version_get_type), (gst_dp_init),
749         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
750         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
751         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
752         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
753         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
754         (gst_dp_packetizer_free):
755         * libs/gst/dataprotocol/dataprotocol.h:
756           API: add a GstDPPacketizer object, and create/free functions
757           API: add GstDPVersion enum
758           Add 1.0 event function that uses the string serialization
759           Serialize more useful buffer flags
760           Fixes #343988
761
762 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
763
764         * tests/check/Makefile.am:
765         * tests/check/gst/gstabi.c:
766         * tests/check/gst/struct_ppc64.h:
767         * tests/check/libs/libsabi.c:
768         * tests/check/libs/struct_ppc64.h:
769           add ppc64 structure sizes
770
771 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
772
773         * tests/check/Makefile.am:
774         * tests/check/gst/gstabi.c:
775         * tests/check/gst/struct_x86_64.h:
776         * tests/check/libs/libsabi.c:
777         * tests/check/libs/struct_x86_64.h:
778           generate and add structure size lists for x86_64
779
780 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
781
782         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
783         * libs/gst/check/gstcheck.h:
784           factor out the method from tests that checks size of structures,
785           and add code to generate the header containing these sizes
786         * tests/check/gst/gstabi.c: (GST_START_TEST):
787         * tests/check/gst/struct_i386.h:
788         * tests/check/libs/libsabi.c: (GST_START_TEST):
789         * tests/check/libs/struct_i386.h:
790           use it
791
792 2006-06-06  Michael Smith  <msmith@fluendo.com>
793
794         * gst/gstsegment.h:
795           Don't use c++-style comments, fixes #343929
796
797 2006-06-05  Edward Hervey  <edward@fluendo.com>
798
799         * gst/gst.c:
800         plugin_paths is not used if we build without registry support.
801
802         * gst/gstsegment.c: (gst_segment_copy): 
803         _copy() was always returning NULL...
804
805 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
806
807         * libs/gst/dataprotocol/dataprotocol.c:
808         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
809         (gst_dp_packet_from_event):
810           factor out CRC code
811
812 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
813
814         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
815           make sure we unset caps
816
817 2006-06-02  Michael Smith  <msmith@fluendo.com>
818
819         * libs/gst/check/gstcheck.c: (gst_check_init),
820         (gst_check_chain_func):
821         * libs/gst/check/gstcheck.h:
822           Add a cond/mutex to the check support lib, signal this whenever we
823           add to the buffers list. This will allow tests to not busy-wait on
824           the buffer-list.
825
826 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
827
828         * libs/gst/dataprotocol/dataprotocol.c:
829         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
830         (gst_dp_packet_from_event):
831           factor out some common header init code
832
833 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
834
835         * docs/libs/gstreamer-libs-sections.txt:
836         * docs/libs/tmpl/gstdataprotocol.sgml:
837         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
838         * libs/gst/dataprotocol/dataprotocol.h:
839           API: make gst_dp_crc() public
840
841 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
842
843         * plugins/indexers/gstindexers.c: (plugin_init):
844         conditionally register fileindexer (fixes #343598)
845
846 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
847
848         * gst/gsttagsetter.h:
849         Can't cast ifaces to a class
850
851         * libs/gst/net/gstnetclientclock.h:
852         * libs/gst/net/gstnettimeprovider.h:
853         * plugins/elements/gstfakesink.h:
854         * plugins/elements/gstfakesrc.h:
855         * plugins/elements/gstfdsink.h:
856         * plugins/elements/gstfdsrc.h:
857         * plugins/elements/gstfilesink.h:
858         * plugins/elements/gstfilesrc.h:
859         * plugins/elements/gstidentity.h:
860         * plugins/elements/gstqueue.h:
861         * plugins/elements/gsttee.h:
862         * plugins/indexers/gstfileindex.c:
863         * plugins/indexers/gstmemindex.c:
864         * tests/old/examples/plugins/example.h:
865         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
866
867 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
868
869         * libs/gst/dataprotocol/dataprotocol.c:
870         (gst_dp_header_from_buffer):
871           make sure we zero the whole ABI-compatible area
872
873 2006-06-01  Wim Taymans  <wim@fluendo.com>
874
875         Patch by: Alessandro Decina <alessandro at nnva dot org>
876
877         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
878         Make sure the EOS flag is cleared from pads after a flush
879         or stop. Fixes #343538.
880
881         * tests/check/libs/collectpads.c: (GST_START_TEST),
882         (gst_collect_pads_suite):
883         Added test for collectpads reusage after EOS.
884
885 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
886
887         * gst/gst.c:
888          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
889         * win32/common/libgstbase.def:
890          export gst_collect_pads_set_flushing
891         * win32/common/libgstreamer.def:
892          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
893          gst_value_fraction_multiply
894         * win32/vs6/gst_inspect.dsp:
895          add a link to intl.lib
896
897 2006-05-30  Wim Taymans  <wim@fluendo.com>
898
899         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
900         (gst_collect_pads_chain):
901         Handle the case where a pad is removed from the collection
902         that could cause the other pads to become collectable.
903
904 2006-05-30  Wim Taymans  <wim@fluendo.com>
905
906         * gst/gstelement.c:
907         Clarify the use of _release_request_pad() and
908         _get_request_pad() a bit better.
909
910         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
911         (gst_adapter_take_buffer):
912         Fix some doc and comment typos.
913
914 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
915
916         * docs/gst/gstreamer-sections.txt:
917         * docs/libs/gstreamer-libs-sections.txt:
918           add declared symbols
919
920 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
921
922         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
923         Add debug that can be enabled using a #define at the top of the file,
924         for dumping stats about how late/early we were when waking up from
925         waiting on the clock.
926
927 2006-05-30  Wim Taymans  <wim@fluendo.com>
928
929         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
930         When rebuilding the pad list, don't leak the previous list.
931
932 2006-05-30  Wim Taymans  <wim@fluendo.com>
933
934         Patch by: Lutz Mueller <lutz at topfrose dot de>
935
936         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
937         (gst_base_src_get_query_types), (gst_base_src_update_length):
938         Publish supported query types.
939         Update last_stop field in get_range mode so the position
940         query works. Fixes #342321.
941
942 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
943
944         * docs/gst/gstreamer-sections.txt:
945         * gst/gsttaglist.c: (_gst_tag_initialize):
946         * gst/gsttaglist.h:
947           API: add GST_TAG_PREVIEW_IMAGE (#343341).
948
949 2006-05-30  Wim Taymans  <wim@fluendo.com>
950
951         Patch by: Alessandro Decina <alessandro at nnva dot org>
952
953         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
954         Unlock mutex when removing an unknown pad.
955         Fixes #343334.
956
957         * tests/check/Makefile.am:
958         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
959         (push_event), (setup), (teardown), (GST_START_TEST),
960         (gst_collect_pads_suite), (main):
961         Added collecpads check, disabled for now as check crashes for
962         some reason.
963
964 2006-05-29  Wim Taymans  <wim@fluendo.com>
965
966         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
967         Don't leak pads lists.
968
969 2006-05-29  Wim Taymans  <wim@fluendo.com>
970
971         * docs/libs/gstreamer-libs-sections.txt:
972         * libs/gst/base/gstcollectpads.c:
973         (gst_collect_pads_set_flushing_unlocked),
974         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
975         (gst_collect_pads_stop):
976         * libs/gst/base/gstcollectpads.h:
977         API: gst_collect_pads_set_flushing()
978         Added api to set the pads to flushing, useful for seeking
979         code in elements using collectpads.
980         Clear segment when receiving a flush.
981
982 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
983
984         * gst/gst.c: (add_path_func), (init_post):
985           Don't scan registry paths passed via --gst-plugin-path immediately
986           (will crash, because absolutely nothing is set up and no types are
987           registered etc.); do this later in init_post(). Fixes #343057.
988
989 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
990
991         * gst/gst.c: (init_post):
992           if we have fork, fork while reading/rebuilding the registry
993           so the parent doesn't take the hit of having all plugins loaded
994           in memory.  Fixes #342777.
995         * configure.ac:
996           Check if we have fork()
997         * win32/common/config.h.in:
998           no fork() on win32
999
1000 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1001
1002         * plugins/elements/gstelements.c:
1003         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1004         (gst_file_src_init), (gst_file_src_set_property),
1005         (gst_file_src_get_property), (gst_file_src_start):
1006         * plugins/elements/gstfilesrc.h:
1007           API: GstFileSrc::use-mmap
1008
1009         Add a use-mmap property to enable easier testing of all code paths.
1010         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1011         in the absence of gnomevfssrc. (Closes #340501)
1012
1013 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1014
1015         * tools/gst-inspect.c:
1016         Add missing include, removes warning of ngettext not being defined on
1017         some arches.
1018
1019 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1020
1021         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1022         Handle NULL input and output pointers silently as a failed conversion,
1023         rather than g_warnings.
1024
1025 2006-05-25  Wim Taymans  <wim@fluendo.com>
1026
1027         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1028         Initialize variable before using. Fixes #342820.
1029
1030 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1031
1032         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1033           Fix off-by-one bug that would only allow peeks of N-1 bytes
1034           from the start even if the buffer to typefind on contains
1035           in fact N bytes of data (makes vorbis typefinding from a
1036           vorbis identification header buffer work).
1037
1038         * tests/check/Makefile.am:
1039         * tests/check/libs/.cvsignore:
1040         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1041         (gst_typefindhelper_suite), (main), (foobar_typefind),
1042         (plugin_init):
1043           Add very basic unit test for gst_type_find_helper_for_buffer()
1044           that checks for the problem fixed above.
1045
1046 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1047
1048         * tools/gst-inspect.c: (print_interfaces),
1049         (print_element_properties_info), (print_element_list), (main):
1050           add more translatable strings
1051
1052 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1053
1054         Patch by: Julien Moutte  <julien at moutte net>
1055
1056         * docs/gst/gstreamer-sections.txt:
1057           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1058           
1059         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1060         (gst_fake_sink_preroll):
1061         * plugins/elements/gstfakesink.h:
1062           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1063
1064 2006-05-23  Wim Taymans  <wim@fluendo.com>
1065
1066         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1067         * gst/gstpad.h:
1068         Added _CUSTOM error and success GstFlowReturn that can be
1069         used be elements internally. 
1070         Added macro to check for SUCCESS flowreturns.
1071         API: GST_FLOW_CUSTOM_SUCCESS
1072         API: GST_FLOW_CUSTOM_ERROR
1073         API: GST_FLOW_IS_SUCCESS
1074
1075         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1076         Added check for GstFlowReturn sanity.
1077
1078 2006-05-23  Wim Taymans  <wim@fluendo.com>
1079
1080         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1081
1082         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1083         (gst_collect_pads_event):
1084         clear/reset segment info in FLUSH_STOP.
1085         Fixes #336929.
1086
1087 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1088
1089         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1090         (gst_collect_pads_check_collected):
1091         Flush queued buffer on _stop(), fixes playing again (#342454)
1092
1093 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1094
1095         * tests/check/gst/gststructure.c: (GST_START_TEST),
1096         (gst_structure_suite):
1097           add a test for a complete structure
1098
1099 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1100
1101         * docs/faq/developing.xml:
1102         * docs/faq/faq.xml:
1103         * docs/faq/troubleshooting.xml:
1104         * docs/faq/using.xml:
1105           Some minor FAQ updates that won't change the fact that
1106           our FAQ is badly structured, full of information hardly
1107           anyone new to GStreamer needs to know and lacking lots
1108           of information people constantly ask for.
1109           
1110 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1111
1112         * gst/gstpad.c: (gst_pad_set_caps):
1113           Short-circuit gst_pad_set_caps if setting the existing
1114           caps pointer again, and avoid printing debug and 
1115           reffing/unreffing the caps.
1116
1117         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1118           There's actually no need to set the caps before pushing -
1119           the acceptcaps method will handle it anyway.
1120
1121 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1122
1123         * docs/gst/gstreamer-sections.txt:
1124         * win32/common/libgstreamer.def:
1125         * gst/gstutils.c: (gst_element_seek_simple):
1126         * gst/gstutils.h:
1127           API: add gst_element_seek_simple() (#342238).
1128
1129 2006-05-18  Edward Hervey  <edward@fluendo.com>
1130
1131         * gst/gsttypefind.c: (gst_type_find_get_type):
1132         * gst/gsttypefind.h:
1133         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1134         registered for GstTypeFind pointers. This allows wrapping the structure
1135         in bindings (i.e. gst-python).
1136
1137 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1138
1139         * gst/gsttagsetter.c:
1140           Docs additions and fixes (see #339918).
1141
1142 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1143
1144         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1145         The caps intersection algorithm can produce multiple copies of the
1146         caps. Until that is fixed, we need to simplify the result to be
1147         sure whether the allowed caps are fixed or not.
1148
1149         * plugins/elements/gstqueue.c: (gst_queue_init),
1150         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1151         (gst_queue_push_one):
1152         Proxied buffer alloc should not set the caps on the source pad.
1153         When pushing buffers, we always accept the caps change that triggers.
1154         This prevents negotiation errors caused by caps changing mid-stream 
1155         and then being refused on our source pad (because upstream is now
1156         refusing those caps).
1157
1158 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1159
1160         * tests/examples/helloworld/helloworld.c: (main):
1161           Must plug audioconvert and audioresample between decoder
1162           and audio sink.
1163
1164 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1165
1166         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1167         (load_feature), (load_plugin):
1168         Allow empty strings for some of the plugin fields so we don't 
1169         drop valid plugin entries that were written out correctly
1170         (Fixes #341479)
1171
1172 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1173         
1174         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1175           Use g_remove and g_rename instead of remove and rename that don't 
1176           handle utf8 characters. rename was failing for users who had specific
1177           characters in their name then the registry was built at each 
1178           gstreamer init.
1179         * win32/vs6/gst_inspect.dsp:
1180         * win32/vs6/gst_launch.dsp:
1181         * win32/vs6/libgstbase.dsp:
1182         * win32/vs6/libgstcoreelements.dsp:
1183         * win32/vs6/libgstreamer.dsp:
1184           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1185           build of libgstreamer and clean unused libraries in projects link 
1186           settings.
1187
1188 2006-05-17  Edward Hervey  <edward@fluendo.com>
1189
1190         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1191         The queue is not responsible for pushing an EOS when receiving a fatal
1192         flow error. It's up to the real element driving the pipeline to do that.
1193
1194 2006-05-16  Edward Hervey  <edward@fluendo.com>
1195
1196         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1197         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1198         buffer returned a fatal error. It should just send an EOS and stop
1199         its task.
1200         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1201         when pushing buffers on the queue and will be able to handle the event.
1202
1203 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1204
1205         * docs/manual/basics-bins.xml:
1206         * docs/manual/basics-init.xml:
1207           Fix typos and minor errors in sample code (#341856).
1208
1209 2006-05-16  Wim Taymans  <wim@fluendo.com>
1210
1211         * docs/design/part-qos.txt:
1212         Fix indexes in formulas to make more sense.
1213
1214 2006-05-15  Wim Taymans  <wim@fluendo.com>
1215
1216         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1217         Don't report POSITION based on clock time if sync is
1218         disabled in a sink.
1219
1220 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1221
1222         * gst/gstobject.h:
1223           Add cast to make compiler happy - refcount variable was a gint
1224           in GstObject but is a guint in GObject and g_atomic_int_get()
1225           wants a gint *.
1226
1227 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1228
1229         * gst/parse/Makefile.am:
1230           chain commands using &&, which also makes parallel make work
1231
1232 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1233
1234         * docs/gst/gstreamer-sections.txt:
1235         * gst/gstevent.c:
1236         * gst/gstevent.h:
1237         * gst/gstmessage.h:
1238           Minor docs fixes.
1239
1240 === release 0.10.6 ===
1241
1242 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1243
1244         * configure.ac:
1245           releasing 0.10.6, "Take the cannoli"
1246
1247 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1248
1249         * tools/gst-launch.c: (print_tag):
1250           Fix use of uninitialized variable in the hypothetical
1251           case that some broken plugin creates a GST_TAG_IMAGE
1252           tag containing a NULL buffer (#341667).
1253
1254 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1255
1256         * tools/gst-launch.c: (print_tag):
1257           Print something more intelligible for image tags when
1258           using the -t switch (#341556).
1259
1260 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1261
1262         * Makefile.am:
1263           updates for win32
1264         * configure.ac:
1265           define GST_MAJORMINOR so we have it available in win32/common/config.h
1266           Possibly remove it from our Makefile.am files later
1267         * win32/common/config.h:
1268         * win32/common/config.h.in:
1269           added GST_MAJORMINOR
1270         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1271         * win32/common/gstversion.h:
1272           updated
1273
1274 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1275
1276         * win32/MANIFEST:
1277           Update win32 files listing.
1278         * win32/common/gstversion.h:
1279           Add GST_MAJORMINOR definition.
1280         * win32/common/libgstreamer.def:
1281           Add new exported functions.
1282           
1283 2006-05-12  Michael Smith  <msmith@fluendo.com>
1284
1285         * gst/gstplugin.c: (gst_plugin_load_file):
1286           If an so file has no plugin entry point, unload the module.
1287
1288 2006-05-11  Wim Taymans  <wim@fluendo.com>
1289
1290         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1291         (gst_queue_set_property):
1292         Don't forget to signal the _chain or _loop function 
1293         when the queue size or thresholds change since that might
1294         cause them to make progres again.
1295
1296 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1297
1298         * gst/gstclock.c: (gst_clock_class_init):
1299         * gst/gstindex.c: (gst_index_class_init):
1300         * gst/gstobject.c: (gst_object_class_init):
1301         * gst/gstpad.c: (gst_pad_class_init):
1302         * gst/gstpipeline.c: (gst_pipeline_class_init):
1303         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1304         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1305         * libs/gst/base/gstbasetransform.c:
1306         (gst_base_transform_class_init):
1307         * libs/gst/net/gstnetclientclock.c:
1308         (gst_net_client_clock_class_init):
1309         * libs/gst/net/gstnettimeprovider.c:
1310         (gst_net_time_provider_class_init):
1311         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1312         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1313         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1314         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1315         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1316         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1317         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1318         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1319         * plugins/elements/gsttee.c: (gst_tee_class_init):
1320         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1321         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1322           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1323
1324 2006-05-11  Wim Taymans  <wim@fluendo.com>
1325
1326         * gst/gstbuffer.c: (_gst_buffer_initialize):
1327         Register subbufer along with the buffer type so that
1328         it does not accidentally gets registered from N
1329         different streaming threads in a non threadsafe way.
1330
1331 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1332
1333         * gst/gstbuffer.h:
1334         * gst/gstevent.h:
1335         * gst/gstmessage.h:
1336           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1337           gst_event_ref() and gst_message_ref() functions again
1338           (ugly hack, please do fix if there's a better way besides
1339           overrides.txt, which doesn't seem to work).
1340
1341 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1342
1343         * libs/gst/check/gstcheck.h:
1344           add an assert for setting state to avoid lots of repetitive code
1345           in the future
1346
1347 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1348
1349         * gst/gstvalue.c: (gst_value_serialize_flags):
1350           fix a leak if no flags are set
1351         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1352           fix leak in tests
1353
1354 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1355
1356         * docs/manual/basics-pads.xml:
1357           Expand a bit on caps and filtered links and update
1358           examples that were still using the no longer existing
1359           gst_pad_link_filtered() (#338206).
1360
1361 2006-05-10  Wim Taymans  <wim@fluendo.com>
1362
1363         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1364         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1365         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1366         (gst_collect_pads_stop):
1367         * libs/gst/base/gstcollectpads.h:
1368         No need to call _stop in _finalize.
1369         Iterate the main pad list in _finalize.
1370         Added some more debug.
1371         Free lists and data in the right order.
1372         Also free data whem doing _remove_pad when stopped for
1373         backward compatibility protect ::started with PAD_LOCK as
1374         well.
1375
1376 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1377
1378         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1379         (gst_structure_parse_value):
1380           add some comments
1381           rename a method so that it actually says what it does better
1382
1383 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1384
1385         * gst/gstevent.c: (_gst_event_initialize):
1386         * gst/gstformat.c: (_gst_format_initialize):
1387           make sure some essential types used by events are registered
1388           as part of gst_init()
1389         * gst/gstvalue.c: (gst_value_serialize_flags):
1390           if no flags are set, serialize them to a value that represents NONE
1391           so that deserializing them works
1392         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1393           add tests for serialization and deserialization of flags
1394
1395 2006-05-10  Wim Taymans  <wim@fluendo.com>
1396
1397         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1398         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1399         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1400         (gst_collect_pads_event), (gst_collect_pads_chain):
1401         Update docs.
1402         Better debug info.
1403         Catch and return errors from the collect function
1404         Refuse data on eos pads.
1405
1406 2006-05-10  Edward Hervey  <edward@fluendo.com>
1407
1408         * gst/gstinterface.h:
1409         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1410         GInterface type checking.
1411         They were previously using non-defined macros.
1412
1413 2006-05-09  Wim Taymans  <wim@fluendo.com>
1414
1415         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1416         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1417         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1418         (gst_collect_pads_start), (gst_collect_pads_stop),
1419         (gst_collect_pads_peek), (gst_collect_pads_pop),
1420         (gst_collect_pads_available), (gst_collect_pads_read),
1421         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1422         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1423         (gst_collect_pads_chain):
1424         * libs/gst/base/gstcollectpads.h:
1425         Clean up the mess that is collectpads, add comments and
1426         FIXMEs where needed.
1427         Maintain a separate pad list so we can add pads while
1428         collecting the other ones. For this we need a new separate 
1429         lock (see comics).
1430         Fix memory leak in finalize.
1431         Refactor some weird code to set/unset pad flushing flags, mark
1432         with comments.
1433         Don't crash in _available, _read, _flush when we're EOS.
1434
1435         * tests/check/libs/.cvsignore:
1436         Ignore adapter check binary.
1437
1438 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1439
1440         * gst/gstindex.c: (gst_index_resolver_get_type):
1441         * plugins/elements/gstfakesink.c:
1442         (gst_fake_sink_state_error_get_type):
1443         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1444         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1445         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1446           Const-ify GEnumValue arrays.
1447
1448 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1449
1450         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1451           Add test case for flags + gst_buffer_make_metadata_writable().
1452
1453 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1454
1455         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1456           gst_buffer_make_metadata_writable() should maintain the
1457           buffer flags (those that make sense at least) (see #340859).
1458
1459 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1460
1461         * tools/gst-inspect.c:
1462         * tools/gst-launch.c:
1463         * tools/gst-typefind.c:
1464         * tools/gst-xmlinspect.c:
1465         * tools/tools.h:
1466           Fix up includes: need to include stdlib.h in tools.h for exit().
1467
1468 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1469
1470         * gst/gsttaglist.c: (_gst_tag_initialize):
1471         * gst/gsttaglist.h:
1472           API: add GST_TAG_IMAGE tag (#340721).
1473
1474 2006-05-08  Wim Taymans  <wim@fluendo.com>
1475
1476         * gst/gstquery.c:
1477         Added some docs for the segment query.
1478
1479 2006-05-08  Wim Taymans  <wim@fluendo.com>
1480
1481         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1482         (gst_base_src_loop), (gst_base_src_change_state):
1483         Always push non-flushing serialized events in the streaming 
1484         thread.
1485
1486 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1487
1488         * gst/gsterror.c: (_gst_stream_errors_init):
1489           Add a missing error string.
1490
1491 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1492
1493         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1494         Add applied_rate to the debug
1495
1496         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1497         Copy applied_rate into the outgoing NEWSEGMENT event
1498
1499 2006-05-08  Wim Taymans  <wim@fluendo.com>
1500
1501         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1502
1503         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1504         (gst_base_sink_change_state):
1505         call ::unlock before taking the PREROLL_LOCK so we can safely
1506         handle elements that lock in ::render.
1507         Fixes #340174.
1508
1509 2006-05-08  Edward Hervey  <edward@fluendo.com>
1510
1511         * autogen.sh: (CONFIGURE_DEF_OPT): 
1512         Darwin's libtoolize is in fact called glibtoolize.
1513         Adding glibtoolize to the list of accepted names for libtoolize.
1514
1515 2006-05-08  Wim Taymans  <wim@fluendo.com>
1516
1517         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1518         Unify error handling, don't post an error message
1519         when a push() returns EOS but perform our normal EOS
1520         handling code. Fixes #340772.
1521
1522 2006-05-08  Wim Taymans  <wim@fluendo.com>
1523
1524         * docs/design/part-overview.txt:
1525         Make upsteam/downstream concepts more clear.
1526         Give an example of serialized/non-serialized events.
1527
1528         * docs/design/part-events.txt:
1529         * docs/design/part-streams.txt:
1530         Mention applied_rate.
1531
1532         * docs/design/part-trickmodes.txt:
1533         Mention applied rate, flesh out some more use cases.
1534
1535         * gst/gstevent.c: (gst_event_new_new_segment),
1536         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1537         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1538         (gst_event_parse_tag), (gst_event_new_buffer_size),
1539         (gst_event_parse_buffer_size), (gst_event_new_qos),
1540         (gst_event_parse_qos), (gst_event_parse_seek),
1541         (gst_event_new_navigation):
1542         * gst/gstevent.h:
1543         Add applied_rate field to NEWSEGMENT event.
1544         API: gst_event_new_new_segment_full()
1545         API: gst_event_parse_new_segment_full()
1546
1547         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1548         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1549         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1550         * gst/gstsegment.h:
1551         Add applied_rate to GstSegment structure.
1552         Make calculation of stream_time and running_time more correct
1553         wrt rate/applied_rate.
1554         Add some more docs.
1555         API: GstSegment::applied_rate field
1556         API: gst_segment_set_newsegment_full();
1557
1558         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1559         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1560         * libs/gst/base/gstbasetransform.c:
1561         (gst_base_transform_sink_eventfunc),
1562         (gst_base_transform_handle_buffer):
1563         Parse and use applied_rate in the GstSegment field.
1564
1565         * tests/check/gst/gstevent.c: (GST_START_TEST):
1566         Add check for applied_rate field.
1567
1568         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1569         (gstsegments_suite):
1570         Add more checks for various GstSegment operations.
1571
1572 2006-05-08  Wim Taymans  <wim@fluendo.com>
1573
1574         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1575         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1576         (gst_base_sink_get_position), (gst_base_sink_change_state):
1577         Store the sync time of the buffer end position separatly in a
1578         new variable eos_rtime so we can properly sync the EOS event.
1579         Fixes #340697.
1580         Fix the docs for gst_base_sink_set_qos_enabled().
1581         Don't set segment start to invalid value when we receive a 
1582         non TIME newsegment.
1583         get closer to handling position reporting for negative rates 
1584         correctly.
1585
1586 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1587
1588         * gst/gstcaps.c:
1589         Docs about how to print caps for debug purposes.
1590
1591         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1592         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1593
1594 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1595
1596         * gst/gstelement.c:
1597           use full enum names and preprend a '%' in docs strings to make recent 
1598           gtk-doc turn that into a link
1599
1600 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1601
1602         * docs/manual/basics-bins.xml:
1603         * docs/manual/basics-bus.xml:
1604         * docs/manual/basics-pads.xml:
1605           Some typo fixes, some additions, some clarifications. 
1606
1607 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1608
1609         * tools/gst-inspect.c: (main):
1610         * tools/gst-launch.c: (main):
1611         * tools/gst-run.c: (main):
1612         * tools/gst-typefind.c: (main):
1613         * tools/gst-xmlinspect.c: (main):
1614           Use the string passed to g_option_context_new() for
1615           what it's intended for - the program name is already
1616           printed elsewhere.
1617
1618 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1619
1620         * tools/Makefile.am:
1621         * tools/gst-inspect.c: (main):
1622         * tools/gst-launch.c: (main):
1623         * tools/gst-xmlinspect.c: (main):
1624         * tools/tools.h:
1625           Add back --version command line option (#340460).
1626
1627         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1628           Add --version option and use GOption for argument parsing; refactor a
1629           bit; accept directories as arguments and recurse into them; lastly,
1630           print a decent error message when things go wrong.
1631
1632 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1633
1634         * docs/manual/basics-bins.xml:
1635         Don't mention GstThread (#340611)
1636         * docs/manual/basics-elements.xml:
1637         Update link to GObject tutorial (#340607)
1638         
1639 2006-05-05  Wim Taymans  <wim@fluendo.com>
1640
1641         * gst/gstbuffer.h:
1642         * gst/gstminiobject.c:
1643         Add note about refcounting and miniobject/buffer writeability
1644         to docs. Fixes #340604
1645
1646         * gst/gstelementfactory.h:
1647         Added some explanation about @klass.
1648
1649 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1650
1651         * docs/manual/intro-motivation.xml:
1652         * docs/manual/manual.xml:
1653         Avoid CORBA & Bonobo references (#340598)
1654
1655 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1656
1657         * docs/manual/basics-bus.xml:
1658         * docs/manual/basics-pads.xml:
1659         Fix up some inaccuracies and omissions (#340609)
1660         
1661 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1662
1663         * gst/gstghostpad.c:
1664           Small typo in docs (#340625)
1665
1666 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1667
1668         * gst/parse/Makefile.am:
1669           Make 'make -j' proof (see #340698).
1670
1671 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1672
1673         * configure.ac:
1674           Require GLib-2.8 here as well.
1675
1676 2006-05-05  Wim Taymans  <wim@fluendo.com>
1677
1678         * gst/glib-compat.c:
1679         * gst/gst.c: (init_pre):
1680         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1681         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1682         (gst_object_dispatch_properties_changed):
1683         * gst/gstobject.h:
1684         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1685         * gst/gststructure.c: (gst_structure_set_valist):
1686         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1687         Remove pre glib2.8 compatibility, fixes #340508
1688
1689 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1690
1691         * gst/gsttaglist.h:
1692           Mention type of tags in doc blurbs.
1693
1694 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1695
1696         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1697         (gst_pad_configure_src), (gst_pad_push):
1698         Restore acceptcaps checking behaviour now that good plugins have
1699         been released.
1700
1701 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1702
1703         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1704
1705         * gst/gst.c:
1706         * gst/gstbus.c:
1707         * gst/gstclock.c:
1708         * gst/gstevent.c:
1709         * gst/gstformat.c:
1710         * gst/gstmessage.c:
1711         * gst/gstparse.c:
1712         * gst/gstquery.c:
1713         * gst/gstutils.c:
1714         * gst/parse/Makefile.am:
1715         * libs/gst/base/gstadapter.c:
1716         * libs/gst/base/gstbasesrc.c:
1717         * libs/gst/base/gstpushsrc.c:
1718         * libs/gst/base/gsttypefindhelper.c:
1719         * plugins/elements/gstfakesrc.c:
1720         * plugins/elements/gstidentity.c:
1721           Make sure gstprivate.h and/or config.h are
1722           always included first, otherwise some of our
1723           defines (like _FILE_OFFSET_BITS) might be
1724           redefined in the system headers. Fixes build
1725           on opensolaris (#340016).
1726
1727 2006-05-04  Wim Taymans  <wim@fluendo.com>
1728
1729         * docs/libs/gstreamer-libs-sections.txt:
1730         API: addition: gst_adapter_take_buffer()
1731         
1732         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1733         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1734         (gst_adapter_available_fast):
1735         * libs/gst/base/gstadapter.h:
1736         Prepare for optimizing the hell out of this hugely inefficient
1737         piece of code. 
1738         Added gst_adapter_take_buffer() so we can at least start thinking
1739         about subbuffering and merging.
1740         Added some comments.
1741
1742         * tests/check/Makefile.am:
1743         * tests/check/libs/adapter.c: (GST_START_TEST),
1744         (gst_adapter_suite), (main):
1745         Added GstAdapter check.
1746
1747 2006-05-04  Wim Taymans  <wim@fluendo.com>
1748
1749         * docs/design/part-overview.txt:
1750         Fix some typos, add blurb about buffer flags.
1751
1752 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1753
1754         * docs/libs/gstreamer-libs-sections.txt:
1755           make sure GstBaseTransformClass shows up in the docs
1756         * libs/gst/base/gstbasetransform.c:
1757         * libs/gst/base/gstbasetransform.h:
1758           move docs so gtk-doc picks it up now
1759
1760 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1761
1762         * docs/libs/gstreamer-libs-sections.txt:
1763           add missing symbols to docs
1764
1765 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1766
1767         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1768           back out the newsegment handling change, see #340060 for ongoing
1769           discussion
1770
1771 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1772
1773         * tools/gst-run.c: (get_candidates), (main):
1774           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1775           work); fix typo in error message. Fixes #340079.
1776
1777 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1778
1779         * common/Makefile.am:
1780         * docs/Makefile.am:
1781         * docs/faq/Makefile.am:
1782         * docs/gst/Makefile.am:
1783         * docs/libs/Makefile.am:
1784         * docs/manual/Makefile.am:
1785         * docs/plugins/Makefile.am:
1786         * docs/pwg/Makefile.am:
1787         * docs/slides/Makefile.am:
1788         * docs/upload.mak:
1789         * common/upload.mak:
1790           move upload.mak to common
1791
1792 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1793
1794         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1795           add more asserts on refcounts
1796           do more cleanup at end of tests
1797           fix test leaks showing in FC5
1798
1799 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1800
1801         * plugins/elements/gsttypefindelement.c:
1802         (gst_type_find_element_handle_event):
1803         reverted wrong change and reflowed code to avoid others falling into
1804         this trap
1805
1806 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1807
1808         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1809           fix changelog entry about last collectpads change,
1810           add notes about proper fix
1811
1812 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1813
1814         * gst/gst.c:
1815         * gst/gstregistry.c: (gst_registry_scan_path_level),
1816         (gst_registry_scan_path):
1817         * gst/gstregistry.h:
1818           only write out registry if it has changed, fixes #338339
1819
1820 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1821
1822         * gst/gstbin.c:
1823         * gst/gstpipeline.c:
1824         * plugins/elements/gstcapsfilter.c:
1825         * plugins/elements/gstfakesink.c:
1826         * plugins/elements/gstfakesrc.c:
1827         * plugins/elements/gstfdsink.c:
1828         * plugins/elements/gstfdsrc.c:
1829         * plugins/elements/gstfilesink.c:
1830         * plugins/elements/gstfilesrc.c:
1831         * plugins/elements/gstidentity.c:
1832         * plugins/elements/gstqueue.c:
1833         * plugins/elements/gsttee.c:
1834         * plugins/elements/gsttypefindelement.c:
1835         (gst_type_find_element_handle_event):
1836           make GstElementDetails const
1837
1838 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1839
1840         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1841         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1842         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1843           more detailed debug and formatting cleanup,
1844           forward newsegments to src-pad (so that e.g. adder not eats them)
1845
1846 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1847
1848         * gst/gstutils.c: (gst_element_link_pads):
1849           cleanup double code
1850
1851 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1852
1853         * libs/gst/controller/gstcontroller.c:
1854         (gst_controller_sync_values):
1855           some little tuning
1856         * tests/check/libs/controller.c: (GST_START_TEST),
1857         (gst_controller_suite):
1858           a new test for live value handling
1859
1860 2006-04-28  Wim Taymans  <wim@fluendo.com>
1861
1862         * gst/gstutils.c: (push_and_ref):
1863         Added some more docs.
1864         Fix refcount issue whith gst_element_found_tags() helper 
1865         function. Fixes #338335
1866
1867         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1868         Added testsuite for gst_element_found_tags().
1869
1870 2006-04-28  Michael Smith  <msmith@fluendo.com>
1871
1872         * gst/gstvalue.c: (gst_value_serialize_flags):
1873           Avoid NULL dereference when trying to serialize flags containing
1874           invalid values.
1875
1876 2006-04-28  Michael Smith  <msmith@fluendo.com>
1877
1878         * plugins/elements/gsttypefindelement.c:
1879         (gst_type_find_element_handle_event):
1880           If we get EOS before any data is accumulated, don't use
1881           uninitialised local variables.
1882
1883 2006-04-28  Michael Smith  <msmith@fluendo.com>
1884
1885         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1886         (gst_dp_event_from_packet):
1887           Fixes in reading/writing events over GDP (not currently used?) - 
1888           dereferencing NULL events for unknown/invalid event types, memory
1889           leak, and change g_warning to GST_WARNING.
1890
1891 2006-04-28  Wim Taymans  <wim@fluendo.com>
1892
1893         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1894         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1895         (gst_base_sink_get_position), (gst_base_sink_change_state):
1896         When frame dropping is enabled, we should not ignore frames
1897         without a duration.
1898         Update some documentation.
1899
1900 2006-04-28  Wim Taymans  <wim@fluendo.com>
1901
1902         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1903         (gst_base_src_send_event), (gst_base_src_change_state):
1904         Documentation updates.
1905
1906 2006-04-28  Wim Taymans  <wim@fluendo.com>
1907
1908         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1909         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1910         handle EAGAIN, EINTR and short writes correctly. Also clean
1911         up some error cases, avoid a deadlock on bad file descriptors and
1912         use GST_DEBUG_OBJECT.
1913         Fixes #339843
1914
1915 2006-04-28  Wim Taymans  <wim@fluendo.com>
1916
1917         * gst/gstvalue.c: (gst_value_serialize_buffer),
1918         (gst_value_deserialize_buffer):
1919         Don't try to serialize a GValue with a NULL buffer. 
1920         Fixes #339821.
1921
1922         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1923         Added check for serialisation of NULL buffers.
1924
1925 2006-04-28  Wim Taymans  <wim@fluendo.com>
1926
1927         * gst/gstminiobject.c: (gst_value_take_mini_object):
1928         Taking a NULL miniobject is valid, fix the case where
1929         we try to unref the NULL miniobject.
1930
1931 2006-04-28  Wim Taymans  <wim@fluendo.com>
1932
1933         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1934
1935         * gst/gstbin.c: (gst_bin_handle_message_func):
1936         Update docs.
1937         Don't leak bin refcount when a state recalc is
1938         in progress and we delay another one #339808.
1939
1940 2006-04-28  Wim Taymans  <wim@fluendo.com>
1941
1942         * docs/design/part-TODO.txt:
1943         Mention QoS as an ongoing work item.
1944
1945         * docs/design/part-buffering.txt:
1946         New doc about buffering that needs to be fleshed out
1947         at some point.
1948
1949         * docs/design/part-qos.txt:
1950         More QoS policy for decoders/demuxers/transforms
1951
1952         * docs/design/part-trickmodes.txt:
1953         Small update.
1954
1955 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1956
1957         * configure.ac:
1958           back to HEAD
1959
1960 === release 0.10.5 ===
1961
1962 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1963
1964         * configure.ac:
1965           releasing 0.10.5, "Fogo"
1966
1967 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1968
1969         patch by: Wim Taymans
1970
1971         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1972         (gst_pad_configure_src), (gst_pad_push):
1973         * gst/gstpipeline.c: (gst_pipeline_init):
1974           Fix internal data flow errors.  Fixes #338711.
1975
1976 2006-04-12  Wim Taymans  <wim@fluendo.com>
1977
1978         * tests/check/gst/gstelement.c: (GST_START_TEST):
1979         Don't leak the factory.
1980
1981 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1982
1983         * configure.ac:
1984         * win32/common/config.h:
1985           prerelease
1986
1987 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1988
1989         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1990         (gst_controller_unset_all):
1991           Free allocated GstTimedValues when freeing list nodes.
1992           Should fix leaks 'make check-valgrind' complains about.
1993
1994         * win32/common/libgstcontroller.def:
1995           Add gst_controller_unset_all.
1996
1997 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1998
1999         * docs/libs/gstreamer-libs-sections.txt:
2000         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2001         (gst_controller_unset_all):
2002         * libs/gst/controller/gstcontroller.h:
2003         API: Added new method gst_controller_unset_all()
2004         fixed gst_controller_unset()
2005         * tests/check/libs/controller.c: (GST_START_TEST),
2006         (gst_controller_suite):
2007         Added two testcases for new and fixed method
2008
2009 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2010
2011         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2012           MSG_DONTWAIT is not defined on Cygwin, so work
2013           around that (fixes #317048).
2014           
2015 2006-04-11  Wim Taymans  <wim@fluendo.com>
2016
2017         * gst/gstelementfactory.c: (gst_element_register),
2018         (gst_element_factory_create), (gst_element_factory_make):
2019         Some cleanups.
2020         Fixed a FIXME.
2021         Updated docs (Fixes #131079)
2022
2023         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2024         Small cleanups.
2025
2026         * tests/check/gst/gstelement.c: (GST_START_TEST),
2027         (gst_element_suite):
2028         Added testcase for elementfactory class field.
2029
2030 2006-04-10  Wim Taymans  <wim@fluendo.com>
2031
2032         * gst/gstsegment.c:
2033         Added some more docs.
2034
2035         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2036         (gst_base_sink_reset_qos):
2037         Calculate more accurate rate values.
2038
2039 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2040
2041         * gst/gst_private.h:
2042           add a new #ifdef to use __declspec(dllimport) only for
2043           other modules and not for gstreamer core
2044         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2045           use gst_guint64_to_gdouble for conversion
2046         * win32/common/libgstreamer.def:
2047           add new exported functions
2048         * win32/vs6/gst_inspect.dsp:
2049         * win32/vs6/gst_launch.dsp:
2050         * win32/vs6/libgstbase.dsp:
2051         * win32/vs6/libgstcontroller.dsp:
2052         * win32/vs6/libgstcoreelements.dsp:
2053         * win32/vs6/libgstdataprotocol.dsp:
2054         * win32/vs6/libgstnet.dsp:
2055           update project files
2056
2057 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2058
2059         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2060         * gst/gstclock.c: (gst_clock_class_init):
2061         * gst/gstelement.c: (gst_element_class_init):
2062         * gst/gstindex.c: (gst_index_class_init):
2063         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2064         * gst/gstobject.c: (gst_object_class_init),
2065         (gst_signal_object_class_init):
2066         * gst/gstpad.c: (gst_pad_class_init):
2067         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2068         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2069         * gst/gstregistry.c: (gst_registry_class_init):
2070         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2071         * gst/gsttask.c: (gst_task_class_init):
2072         * gst/gstxml.c: (gst_xml_class_init):
2073         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2074         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2075         (gst_base_src_loop):
2076         * libs/gst/controller/gstcontroller.c:/
2077         (_gst_controller_class_init):
2078         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2079         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2080         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2081         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2082         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2083         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2084
2085 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2086
2087         * gst/gstpad.c: (gst_pad_link):
2088           Must set peer pads before calling the link function, otherwise
2089           a task started from a link function might get a flow-not-linked
2090           result when trying to push because the other thread where the
2091           linking happens hasn't had a chance to set the peers yet. This
2092           might happen for example when a queue gets linked to a downstream
2093           element, as queue starts a streaming task when its source pad
2094           gets linked. Happens in real life when playing back flac/musepack
2095           files in playbin (#332390).
2096           
2097 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2098
2099         * gst/gstindex.h:
2100         * gst/gstxml.h:
2101         * libs/gst/base/gstadapter.h:
2102         * libs/gst/base/gstbasesink.h:
2103         * libs/gst/base/gstbasesrc.h:
2104         * libs/gst/base/gstbasetransform.h:
2105         * libs/gst/base/gstcollectpads.h:
2106         * libs/gst/base/gstpushsrc.h:
2107         Fix broken GObject macros
2108
2109 2006-04-07  Wim Taymans  <wim@fluendo.com>
2110
2111         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2112         Initialize start and stop times, thanks valgrind.
2113
2114 2006-04-07  Wim Taymans  <wim@fluendo.com>
2115
2116         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2117         Be a bit nicer to badly behaving upstream elements that expect
2118         us to deal with non TIME segments and timestamps (such as fakesrc
2119         in the testsuite).
2120
2121 2006-04-07  Wim Taymans  <wim@fluendo.com>
2122
2123         * gst/gstbus.c:
2124         Small documentation clarification about the signal watch.
2125
2126         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2127         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2128         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2129         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2130         (gst_base_sink_get_position_last),
2131         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2132         Convert and store timestamps in stream time and running time, the
2133         raw timestamps are not usefull, also document this better.
2134         Use different window sizes for good and bad QoS observations so
2135         we react to badness a little quicker.
2136         Keep track of the amount of rendered and dropped buffers.
2137         Send QoS timestamps in running time.
2138
2139         * libs/gst/base/gstbasetransform.c:
2140         (gst_base_transform_sink_eventfunc),
2141         (gst_base_transform_handle_buffer):
2142         Compare QoS timestamps against running time.
2143
2144 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2145
2146         * gst/gstpad.c:
2147           Typo fixes in docs.
2148
2149 2006-04-06  Michael Smith  <msmith@fluendo.com>
2150
2151         * gst/gstpad.c: (gst_pad_set_property):
2152           Use g_value_get_object() instead of g_value_dup_gst_object(),
2153           to avoid double-reffing the pad template (which we then sink,
2154           so this worked previously if (and only if) the pad template
2155           was floating.
2156
2157         * gst/gstpadtemplate.c: (gst_pad_template_init),
2158         (gst_pad_template_pad_created):
2159           Never return floating references to pad templates, create
2160           them as initially-sunken.
2161
2162           Document an extra function (and make this stop sinking our
2163           pad template, since that is now guaranteed to do nothing,
2164           since we created it sunken).
2165
2166         * gst/gstghostpad.c:
2167           Fix docs typo.
2168
2169 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2170
2171         * gst/gstinfo.c: (__gst_in_valgrind):
2172           Add some newlines.
2173
2174         * plugins/elements/gsttypefindelement.c:
2175         (gst_type_find_element_chain):
2176           Don't leak buffer caps.
2177
2178 2006-04-06  Michael Smith  <msmith@fluendo.com>
2179
2180         * gst/parse/grammar.y:
2181           Fix a leak in parse-launch for any source-or-sink named element 
2182           references used.
2183
2184         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2185           Unref the pipeline if it exists after we've failed parsing.
2186
2187 2006-04-05  Michael Smith  <msmith@fluendo.com>
2188
2189         * gst/gstpipeline.c: (gst_pipeline_init):
2190           When we create a pipeline bus, initially create it in flushing mode.
2191           Fixes leaks in at least one test, and makes a new pipeline work the
2192           same as one that has gone to READY and then back to NULL.
2193
2194         * gst/gstelement.c:
2195           Typo fix in docs.
2196
2197 2006-04-05  Michael Smith  <msmith@fluendo.com>
2198
2199         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2200           Unref a pad we reffed.
2201         * tests/check/gst/gstutils.c: (GST_START_TEST):
2202           Unref bins
2203
2204 2006-04-05  Michael Smith  <msmith@fluendo.com>
2205
2206         * gst/gstquery.c: (gst_query_set_formats),
2207         (gst_query_set_formatsv):
2208           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2209
2210 2006-04-05  Michael Smith  <msmith@fluendo.com>
2211
2212         * tests/check/generic/sinks.c: (GST_START_TEST):
2213           Fix a variety of memleaks in sinks check, which are only sometimes 
2214           shown by running the tests under valgrind (weird?).
2215
2216 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2217
2218         * docs/version.entities.in:
2219           Fix the substituted entity name after thomas' changes on the
2220           weekend.
2221
2222 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2223
2224         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2225         VALGRIND_PRINTF
2226         
2227 2006-04-05  Andy Wingo  <wingo@pobox.com>
2228
2229         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2230
2231         * libs/gst/base/gstbasetransform.c
2232         (gst_base_transform_sink_eventfunc): When resetting our segment on
2233         FLUSH_STOP, also update the flag saying we haven't seen a
2234         newsegment.
2235
2236 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2237
2238         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2239
2240         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2241         (gst_plugin_check_license):
2242           minor clean-ups: G_DEFINE_TYPE already takes care of the
2243           parent_class stuff, no need to do it twice. Mark array of
2244           license strings as constant. (#337103)
2245           
2246 2006-04-04  Michael Smith  <msmith@fluendo.com>
2247
2248         * tools/gst-inspect.c: (print_element_list):
2249           Free the right plugin list; fixes a memory leak.
2250
2251 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2252
2253         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2254
2255         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2256           Don't error out on empty buffers (#336945).
2257           
2258 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2259
2260         * docs/libs/gstreamer-libs-sections.txt:
2261         * gst/gsttaglist.c:
2262         * libs/gst/base/gstbasesink.c:
2263         * libs/gst/base/gstbasesink.h:
2264         * libs/gst/base/gstbasesrc.c:
2265         * libs/gst/base/gstbasesrc.h:
2266           Documentation updates. Make BaseSink and BaseSrc docs contain the
2267           class structure so that people can actually see the prototypes for
2268           virtual functions they're supposed to be overriding.
2269
2270 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2271
2272         * plugins/elements/gsttypefindelement.c:
2273         (gst_type_find_element_chain):
2274           More debug info; when skipping typefinding, send cached
2275           events in all cases.
2276
2277 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2278
2279         * configure.ac:
2280           use new AS_VERSION and AS_NANO macros
2281         * gst/gst-i18n-lib.h:
2282         * gst/gst.c:
2283         * gst/gsterror.c:
2284         * gst/gstversion.h.in:
2285         * win32/common/config.h:
2286         * win32/common/config.h.in:
2287           update accordingly
2288
2289 2006-03-31  Michael Smith  <msmith@fluendo.com>
2290
2291         * plugins/elements/gsttypefindelement.c:
2292         (gst_type_find_element_chain):
2293           Do not typefind content if the buffers already have caps.
2294           Neccesary for icydemux (#333657), and the right thing to do anyway.
2295
2296 2006-03-30  Wim Taymans  <wim@fluendo.com>
2297
2298         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2299         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2300         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2301         (gst_base_sink_record_qos_observation),
2302         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2303         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2304         (gst_base_sink_change_state):
2305         More QoS measurements as described in the design doc.
2306         Get rid of ringbuffer with observations, running average is
2307         more simple and equally good.
2308         Calculates valid proportion now.
2309         Added beginning of flood measurement.
2310
2311 2006-03-29  Wim Taymans  <wim@fluendo.com>
2312
2313         * docs/design/part-qos.txt:
2314         * gst/gstclock.c:
2315         Small documentation updates and additions.
2316
2317 2006-03-29  Wim Taymans  <wim@fluendo.com>
2318
2319         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2320         (gst_base_src_send_event), (gst_base_src_loop),
2321         (gst_base_src_change_state):
2322         Perform the EOS logic when we reach the segment stop position.
2323         Fix compilation on gcc4.1
2324
2325 2006-03-29  Wim Taymans  <wim@fluendo.com>
2326
2327         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2328
2329         * plugins/elements/gstqueue.c: (gst_queue_init),
2330         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2331         (gst_queue_set_property):
2332         * plugins/elements/gstqueue.h:
2333         In queue, when EOS is received, if minimum threshold > max_size -
2334         current_level, there is chance that queue blocks forever in conditional
2335         item del wait. This is because the queue is not emptied completely due
2336         to minimum threshold.  Here is another approach. Instead of setting
2337         cur_levels to max in EOS, just zero all minimum threshold levels. This
2338         should make sure that queue gives out all data. When going to READY
2339         (stop) state, just reset the original minimum threshold levels.
2340         Fixes #336336.
2341
2342 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2343
2344         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2345         (gst_type_find_element_handle_event),
2346         (gst_type_find_element_send_cached_events),
2347         (gst_type_find_element_change_state):
2348         * plugins/elements/gsttypefindelement.h:
2349           When typefinding is done in push mode, we should cache
2350           events we receive during typefinding instead of just
2351           dropping them (e.g. newsegment, custom events from
2352           dvdreadsrc etc.) and then send them out once we've
2353           determined the type of the stream (and decodebin
2354           has had a chance to plug in a decoder/demuxer).
2355           
2356 2006-03-27  Wim Taymans  <wim@fluendo.com>
2357
2358         * docs/design/part-qos.txt:
2359         First QoS ideas.
2360
2361 2006-03-27  Wim Taymans  <wim@fluendo.com>
2362
2363         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2364
2365         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2366         (gst_base_src_send_event), (gst_base_src_change_state):
2367         Handle element seek correctly when we are streaming.
2368         Fixes #326998.
2369
2370 2006-03-24  Michael Smith  <msmith@fluendo.com>
2371
2372         * docs/faq/gst-uninstalled:
2373           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2374           allow you to correctly run intalled applications built against old 
2375           core, using plugins that require updated core (e.g. running
2376           installed totem against a full uninstalled gstreamer stack)
2377
2378 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2379
2380         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2381         more debug details
2382
2383 2006-03-24  Wim Taymans  <wim@fluendo.com>
2384
2385         * docs/gst/gstreamer-sections.txt:
2386         Rearrange the order of the methods so that related methods
2387         are grouped together in sections.
2388
2389 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2390
2391         * gst/gstelement.c:
2392           Little clarification in the docs
2393
2394 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2395
2396         * docs/README:
2397         formatting fix
2398         * plugins/elements/gstidentity.c:
2399         * plugins/elements/gstqueue.c:
2400         * plugins/elements/gsttee.c:
2401         * plugins/elements/gsttypefindelement.c:
2402         GST_ELEMENT_DETAILS formatting
2403
2404 2006-03-24  Wim Taymans  <wim@fluendo.com>
2405
2406         * libs/gst/base/gstbasesink.h:
2407         Only add fields, not insert or we break ABI.
2408
2409 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2410
2411         * win32/common/libgstbase.def:
2412         * win32/common/libgstreamer.def:
2413           Update, add recently added functions.
2414
2415 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2416
2417         * docs/gst/gstreamer-sections.txt:
2418         * gst/gstutils.c: (gst_pad_query_peer_position),
2419         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2420         * gst/gstutils.h:
2421           API: add some new utility functions:
2422            - gst_pad_query_peer_position()
2423            - gst_pad_query_peer_duration()
2424            - gst_pad_query_peer_convert()
2425           
2426 2006-03-23  Wim Taymans  <wim@fluendo.com>
2427
2428         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2429         (gst_base_sink_init), (gst_base_sink_finalize),
2430         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2431         (gst_base_sink_set_property), (gst_base_sink_get_property),
2432         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2433         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2434         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2435         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2436         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2437         (gst_base_sink_preroll_object), (gst_base_sink_event),
2438         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2439         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2440         (gst_base_sink_query), (gst_base_sink_change_state):
2441         Decouple max-lateness and the fact that QoS messages are generated
2442         with a new property (qos).
2443         added API: GstBaseSink::async_play()
2444         Add vmethod so subclasses can be notified of ASYNC playing
2445         state changes.
2446         Collect timestamp start and stop to report better current
2447         position in EOS/PLAYING/PAUSED/READY/NULL.
2448         Refactor QoS/frame dropping and other measurements.
2449         API: GstBaseSrc::qos
2450         Fixes #326311
2451
2452         * libs/gst/base/gstbasesink.h:
2453         Added Private struct.
2454         API: gst_base_sink_set_qos_enabled()
2455         API: gst_base_sink_is_qos_enabled()
2456
2457 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2458
2459         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2460           If compiling against GLib-2.8 or newer, try to read the
2461           registry file using GMappedFile first before falling back
2462           to fopen() + fread() (#332151).
2463
2464 2006-03-22  Wim Taymans  <wim@fluendo.com>
2465
2466         * gst/gstinfo.c: (gst_debug_set_active),
2467         (gst_debug_category_set_threshold):
2468         Disable debugging unless explicitly activated.
2469         Fixes #335480.
2470
2471 2006-03-22  Wim Taymans  <wim@fluendo.com>
2472
2473         * gst/gstelement.c: (gst_element_set_locked_state),
2474         (gst_element_dispose):
2475         Cleanup the error case.
2476
2477         * gst/gstobject.c: (gst_object_dispose):
2478         print a critical when some object was disposed with
2479         a parent, also revive the object since it might
2480         crash the parent.
2481
2482 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2483
2484         * tools/gst-launch.1.in:
2485           Fix another typo.
2486
2487 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2488
2489         * configure.ac:
2490         * tests/check/Makefile.am:
2491           disable some tests when we don't have a registry
2492         * tests/check/gst/gstutils.c: (gst_utils_suite):
2493           don't build the part that needs parsing
2494
2495 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2496
2497         * gst/Makefile.am
2498         * tests/examples/Makefile.am:
2499           fix --disable-parse build
2500
2501 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2502
2503         * tools/gst-feedback.1.in:
2504           Fix typo: s/feeback/feedback/ (#133494).
2505
2506 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2507
2508         * tools/Makefile.am:
2509         * tools/gst-launch.1.in:
2510           Add FILES section and correct entry about GST_REGISTRY_PATH
2511           environment variable (#133495; #133494).
2512
2513 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2514
2515         * tools/Makefile.am:
2516         * tools/gst-md5sum.1.in:
2517         * tools/gst-md5sum.c:
2518           Remove gst-md5sum and man page (the md5sink element
2519           required was removed ages ago)
2520
2521 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2522
2523         * gst/gststructure.c: (gst_structure_id_set_value):
2524           Make sure that string fields in structures/taglists
2525           contain valid UTF-8 - we don't want to pass rubbish to
2526           applications because of a buggy plugin (cp. #334167).
2527
2528 2006-03-21  Edward Hervey  <edward@fluendo.com>
2529
2530         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2531         (gst_bin_handle_message_func):
2532         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2533         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2534         (gst_element_set_bus_func):
2535         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2536         * gst/gstminiobject.c: (gst_value_set_mini_object),
2537         (gst_value_take_mini_object):
2538         * gst/gstpad.c: (gst_pad_set_pad_template):
2539         * gst/gstpipeline.c: (gst_pipeline_dispose),
2540         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2541         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2542         (gst_collect_pads_chain):
2543         * libs/gst/net/gstnettimeprovider.c:
2544         (gst_net_time_provider_set_property):
2545         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2546         It's in fact all issues with gst_*object_replace().
2547
2548 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2549
2550         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2551         
2552         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2553         * pkgconfig/gstreamer-check.pc.in:
2554           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2555
2556 2006-03-21  Edward Hervey  <edward@fluendo.com>
2557
2558         * gst/gstbuffer.h:
2559         * gst/gstevent.h:
2560         * gst/gstmessage.h:
2561         gst_[buffer|event|message]_ref() macros are replaced by a static
2562         inline functions because gcc-4.1 will about if the return value
2563         isn't used.
2564         * tests/check/gst/gstevent.c: (event_probe):
2565         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2566
2567 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2568
2569         * gst/gstutils.h:
2570         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2571         the type' case. (Closes: #335195 for now). In the future, when we
2572         depend on GLib 2.10, we could also intern the type name using
2573         g_intern_static_string()
2574
2575 2006-03-20  Wim Taymans  <wim@fluendo.com>
2576
2577         * gst/gstbin.c: (gst_bin_handle_message_func),
2578         (bin_query_max_init), (bin_query_position_fold),
2579         (bin_query_position_done), (gst_bin_query):
2580         Position query should also take max of all streams.
2581
2582 2006-03-20  Wim Taymans  <wim@fluendo.com>
2583
2584         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2585         (gst_fake_src_finalize):
2586         Fix leaks in fakesrc.
2587
2588         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2589         Fix leaks in the testcase.
2590
2591 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2592
2593         * gst/gst_private.h:
2594           add win32 specific import decoration(__declspec(dllimport)) 
2595           for all extern GstDebugCategory * variables
2596         * win32/common/libgstbase.def:
2597         * win32/common/libgstcontroller.def:
2598         * win32/common/libgstreamer.def:
2599           Add some exports, remove empty lines
2600         * win32/common/libgstdataprotocol.def:
2601         * win32/common/libgstdataprotocol.dsp:
2602         * win32/common/libgstnet.def:
2603         * win32/common/libgstnet.dsp:
2604           new project files and exportation files added
2605         
2606 2006-03-19  Wim Taymans  <wim@fluendo.com>
2607
2608         * tests/check/libs/basesrc.c: (eos_event_counter):
2609         Use proper return value for probe.
2610
2611 2006-03-17  Wim Taymans  <wim@fluendo.com>
2612
2613         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2614         (gst_pad_push):
2615         Don't leak buffers, caps and pads on negotiation errors.
2616
2617 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2618
2619         * docs/faq/cvs.xml:
2620         * docs/faq/dependencies.xml:
2621         * docs/faq/developing.xml:
2622         * docs/faq/faq.xml:
2623         * docs/faq/general.xml:
2624         * docs/faq/getting.xml:
2625         * docs/faq/legal.xml:
2626         * docs/faq/troubleshooting.xml:
2627         * docs/faq/using.xml:
2628         Faq review and update.
2629
2630 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2631
2632         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2633         (gst_pad_push):
2634         Don't pound the cpu to pieces by checking get_caps when accept_caps
2635         is called with the same caps as the pad already has.
2636         Use GST_DEBUG_OBJECT when outputting caps change information.
2637
2638 2006-03-15  Wim Taymans  <wim@fluendo.com>
2639
2640         * gst/gstclock.c: (gst_clock_class_init):
2641         Fix docs.
2642
2643 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2644
2645         * gst/gstbuffer.h:
2646         Documentation fix.
2647
2648         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2649         (gst_pad_accept_caps), (gst_pad_configure_sink),
2650         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2651         Make the default acceptcaps behaviour be to check the requested 
2652         caps against the gst_pad_get_caps output. 
2653
2654         Ensure that gst_pad_accept_caps is used to check caps when a pad
2655         doesn't have a setcaps function, so that pads automatically refuse 
2656         caps that they don't allow in their pad template. (Fixes #332986)
2657
2658         When a buffer with attached caps is pushed, ensure that the source 
2659         pad receives those caps even if the element didn't call
2660         gst_pad_set_caps first.
2661
2662 2006-03-15  Wim Taymans  <wim@fluendo.com>
2663
2664         * libs/gst/base/gstadapter.c:
2665         Add some docs.
2666
2667 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2668
2669         * win32/common/libgstbase.def:
2670         * win32/common/libgstcontroller.def:
2671         * win32/common/libgstreamer.def:
2672           Add a whole bunch of missing functions (#334434).
2673
2674 2006-03-14  Wim Taymans  <wim@fluendo.com>
2675
2676         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2677         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2678         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2679         Better debug info when we receive a segment event.
2680         Reorganize a bit so we can pass the get_times() results around.
2681         Use the segment format when calculating the running time.
2682         Don't do QoS is sync is disabled or we have no clock or the
2683         element does not want us to sync to the clock.
2684         Don't drop buffers if QoS is disabled for now.
2685
2686 2006-03-14  Wim Taymans  <wim@fluendo.com>
2687
2688         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2689         Marked the stats property as unimplemented so people don't get
2690         wild ideas.
2691         Add debug message when regression goes wrong.
2692         Added some more docs.
2693
2694 2006-03-14  Wim Taymans  <wim@fluendo.com>
2695
2696         * gst/gstsegment.c: (gst_segment_to_stream_time):
2697         Return correct return type in case of errors.
2698
2699 2006-03-14  Wim Taymans  <wim@fluendo.com>
2700
2701         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2702           Don't segfault on invalid formats.
2703
2704 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2705
2706         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2707           Can't use gst_segment_to_running_time() when the segment
2708           is not in GST_TIME_FORMAT (like with filesink, for example).
2709           Stops flac encoding pipelines from spewing critical warnings
2710           at EOS (#331248).
2711           
2712 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2713
2714         * gst/gstpipeline.c: (gst_pipeline_class_init):
2715           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2716
2717         * plugins/elements/gsttypefindelement.c:
2718         (gst_type_find_element_handle_event):
2719           Don't try to typefind empty streams.
2720
2721 2006-03-14  Wim Taymans  <wim@fluendo.com>
2722
2723         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2724         (gst_base_sink_do_qos):
2725         Separate QoS calculation.
2726         Only drop buffers when lateness is bigger than the 
2727         duration of the buffer.
2728
2729 2006-03-13  Wim Taymans  <wim@fluendo.com>
2730
2731         * gst/gstpipeline.c: (gst_pipeline_set_property),
2732         (gst_pipeline_get_property), (do_pipeline_seek),
2733         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2734         (gst_pipeline_get_delay):
2735         Don't deadlock when reading properties.
2736
2737 2006-03-13  Wim Taymans  <wim@fluendo.com>
2738
2739         * libs/gst/base/gstbasetransform.c:
2740         (gst_base_transform_class_init), (gst_base_transform_init),
2741         (gst_base_transform_sink_event),
2742         (gst_base_transform_sink_eventfunc),
2743         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2744         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2745         (gst_base_transform_set_property),
2746         (gst_base_transform_get_property),
2747         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2748         (gst_base_transform_set_qos_enabled),
2749         (gst_base_transform_is_qos_enabled):
2750         * libs/gst/base/gstbasetransform.h:
2751         Make basetransform virtual method for src events too.
2752         Handle QOS in basetransform.
2753         API: gst_base_transform_update_qos()
2754         API: gst_base_transform_set_qos_enabled()
2755         API: gst_base_transform_is_qos_enabled()
2756
2757 2006-03-13  Wim Taymans  <wim@fluendo.com>
2758
2759         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2760         (gst_base_sink_do_sync):
2761         Small cleanups.
2762         Use QOS debug category.
2763
2764 2006-03-13  Wim Taymans  <wim@fluendo.com>
2765
2766         * plugins/elements/gstqueue.c:
2767         Very small doc update.
2768
2769 2006-03-13  Wim Taymans  <wim@fluendo.com>
2770
2771         * gst/gst_private.h:
2772         * gst/gstinfo.c: (_gst_debug_init):
2773         Added QOS debug category
2774
2775 2006-03-13  Wim Taymans  <wim@fluendo.com>
2776
2777         * docs/gst/gstreamer-sections.txt:
2778         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2779         * gst/gstbin.h:
2780         * gst/gstbus.c: (gst_bus_class_init):
2781         * gst/gstbus.h:
2782         * gst/gstclock.c:
2783         * gst/gstelement.c: (gst_element_set_locked_state):
2784         * gst/gstsegment.c:
2785         Documentation updates.
2786
2787         * gst/gstpipeline.c: (gst_pipeline_get_type),
2788         (gst_pipeline_class_init), (gst_pipeline_init),
2789         (gst_pipeline_dispose), (gst_pipeline_set_property),
2790         (gst_pipeline_get_property), (do_pipeline_seek),
2791         (gst_pipeline_send_event), (gst_pipeline_change_state),
2792         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2793         (gst_pipeline_get_delay):
2794         * gst/gstpipeline.h:
2795         Added methods for setting the delay.
2796         API: gst_pipeline_set_delay()
2797         API: gst_pipeline_get_delay()
2798         Add pipeline debug category
2799         Various cleanups.
2800         Updated docs.
2801         Don't reset stream time when seek failed.
2802
2803 2006-03-13  Wim Taymans  <wim@fluendo.com>
2804
2805         * docs/design/draft-klass.txt:
2806         * docs/design/part-clocks.txt:
2807         * docs/design/part-events.txt:
2808         * docs/design/part-gstbin.txt:
2809         * docs/design/part-gstpipeline.txt:
2810         * docs/design/part-messages.txt:
2811         * docs/design/part-negotiation.txt:
2812         * docs/design/part-overview.txt:
2813         * docs/design/part-preroll.txt:
2814         * docs/design/part-seeking.txt:
2815         * docs/design/part-states.txt:
2816         * docs/design/part-streams.txt:
2817         Documentation updates.
2818
2819 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2820
2821         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2822         us to leak strings...
2823
2824 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2825
2826         * libs/gst/net/gstnettimeprovider.c:
2827           fix docs
2828         * win32/common/config.h:
2829           update
2830
2831 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2832
2833         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2834
2835         * configure.ac:
2836           Don't check for libgnomeui (leftover from old examples
2837           that aren't built or disted any longer) (#334303).
2838           
2839 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2840
2841         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2842         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2843           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2844           there's no space left on the device.
2845
2846 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2847
2848         * gst/gstclock.h:
2849           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2850           to cast the input to GstClockTime before comparing with
2851           another GstClockTime value.
2852
2853 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2854
2855         * configure.ac:
2856           back to trunk
2857
2858 === release 0.10.4 ===
2859
2860 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2861
2862         * configure.ac:
2863           releasing 0.10.4, "Light"
2864
2865 2006-03-10  Michael Smith  <msmith@fluendo.com>
2866
2867         * libs/gst/dataprotocol/dataprotocol.c:
2868           Fix docs for dataprocotol to not get the return types completely
2869           wrong for a few functions.
2870
2871 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2872
2873         * docs/gst/gstreamer-sections.txt:
2874         * gst/gstpipeline.c: (gst_pipeline_class_init),
2875         (gst_pipeline_init), (gst_pipeline_set_property),
2876         (gst_pipeline_get_property), (gst_pipeline_change_state),
2877         (gst_pipeline_set_auto_flush_bus),
2878         (gst_pipeline_get_auto_flush_bus):
2879         * gst/gstpipeline.h:
2880           Add new API: gst_pipeline_set_auto_flush_bus() and
2881           gst_pipeline_get_auto_flush_bus() to disable automatic
2882           flushing of the pipeline's GstBus when going from READY
2883           to NULL state (#332045).
2884
2885 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2886
2887         * docs/gst/gstreamer-sections.txt:
2888         * gst/gsturi.c: (gst_uri_has_protocol):
2889         * gst/gsturi.h:
2890            Add new API: gst_uri_has_protocol() (#333779).
2891
2892 2006-03-09  Wim Taymans  <wim@fluendo.com>
2893
2894         * gst/gstclock.c: (gst_clock_entry_new),
2895         (gst_clock_id_compare_func), (gst_clock_id_wait),
2896         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2897         (gst_clock_init), (gst_clock_get_internal_time),
2898         (gst_clock_set_master), (do_linear_regression),
2899         (gst_clock_add_observation), (gst_clock_set_property):
2900         * gst/gstclock.h:
2901         Review docs.
2902         Small cleanups.
2903         Fix a possible segfault when the window-size is made smaller.
2904         Calculate jitter before performing the clock wait. Ideally
2905         the clock implementation should calculate jitter but we need
2906         API breakage for that.
2907
2908         * gst/gstsystemclock.c: (gst_system_clock_init):
2909         Docs review.
2910         
2911         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2912         Remove leftover else
2913
2914         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2915         (gst_systemclock_suite):
2916         Added check to test GST_CLOCK_DIFF.
2917
2918 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2919
2920         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2921         (gst_type_find_helper_get_range):
2922           If we are provided with the size, we should implement
2923           GstTypeFind::get_length, so that typefind functions who
2924           want to can actually peek at the middle of a file.
2925
2926 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2927
2928         * docs/manual/advanced-dataaccess.xml:
2929           Add some very very basic error checking.
2930
2931         * docs/pwg/appendix-checklist.xml:
2932           Some updates to the list of things to check when writing an element.
2933
2934 2006-03-08  Wim Taymans  <wim@fluendo.com>
2935
2936         * docs/design/part-element-transform.txt:
2937         Added some docs about the design of tranform elements.
2938
2939         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2940         (gst_base_src_loop), (gst_base_src_change_state):
2941         Mark buffers with the DISCONT flag.
2942
2943 2006-03-08  Michael Smith  <msmith@fluendo.com>
2944
2945         * gst/gstregistry.h:
2946         * gst/gstregistryxml.c: (gst_registry_save),
2947         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2948         (gst_registry_xml_save_pad_template),
2949         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2950         (gst_registry_xml_write_cache):
2951           Rewrite registry-saving to avoid race conditions and check for
2952           failed writes.
2953
2954 2006-03-08  Wim Taymans  <wim@fluendo.com>
2955
2956         * libs/gst/base/gstbasetransform.c:
2957         (gst_base_transform_transform_caps),
2958         (gst_base_transform_transform_size),
2959         (gst_base_transform_prepare_output_buffer),
2960         (gst_base_transform_get_unit_size),
2961         (gst_base_transform_buffer_alloc),
2962         (gst_base_transform_handle_buffer),
2963         (gst_base_transform_change_state):
2964         Cleanups, separate normal flow from errors, add sensible
2965         DEBUG lines.
2966         Don't try to renegotiate when allocating an output buffer.
2967         Also copy DISCONT buffer flag when copying a buffer.
2968         Reset the transform after we finish streaming, not during.
2969
2970 2006-03-08  Wim Taymans  <wim@fluendo.com>
2971
2972         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2973         Use last buffer timestamp in qos message.
2974
2975 2006-03-07  Wim Taymans  <wim@fluendo.com>
2976
2977         Patch by: Christophe Fergeau
2978
2979         * docs/pwg/advanced-tagging.xml:
2980         * docs/pwg/building-pads.xml:
2981           fixes #333416
2982
2983 2006-03-07  Wim Taymans  <wim@fluendo.com>
2984
2985         * docs/libs/gstreamer-libs-sections.txt:
2986         Added basesink new methods.
2987
2988         * gst/gstevent.c:
2989         * gst/gstevent.h:
2990         Docs updates. Flesh out the QoS docs.
2991
2992         * libs/gst/base/gstadapter.c:
2993         Small doc clarification about ownership and flushing.
2994
2995         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2996         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2997         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2998         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2999         * libs/gst/base/gstbasesink.h:
3000         API additions: 
3001         Added new methods to allow subclass to control max-lateness 
3002         and sync.
3003         Generate very basic QoS events based on last sync observation.
3004         Updated docs, fix typo, added some QoS blurb.
3005
3006         * libs/gst/base/gstbasesrc.c:
3007         Remove obsolete _get_state() calls from docs.
3008
3009 2006-03-07  Wim Taymans  <wim@fluendo.com>
3010
3011         * docs/libs/gstreamer-libs-sections.txt:
3012         * libs/gst/base/gstbasetransform.h:
3013         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3014         Fix docs for GstBaseSrc.
3015
3016 2006-03-07  Wim Taymans  <wim@fluendo.com>
3017
3018         * docs/gst/gstreamer-sections.txt:
3019         * gst/gstbuffer.h:
3020         * gst/gstvalue.c:
3021         * libs/gst/base/gstbasetransform.h:
3022         Small documentation fixes.
3023
3024 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3025
3026         * gst/gstvalue.c:
3027           Document thread-unsafety of gst_value_register_foo_func()
3028           when used at the same time as gst_value_foo() (#322628).
3029
3030 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3031
3032         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3033         (gst_push_src_check_get_range):
3034           Push sources don't support pull mode by default.
3035
3036 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3037
3038         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3039         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3040         (gst_base_src_default_check_get_range):
3041         * libs/gst/base/gstbasesrc.h:
3042           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3043           provide default implementation, and rename
3044           gst_base_src_check_get_range() to
3045           gst_base_src_pad_check_get_range() for clarity.
3046
3047 2006-03-06  Wim Taymans  <wim@fluendo.com>
3048
3049         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3050         Make property overridable.
3051
3052 2006-03-06  Wim Taymans  <wim@fluendo.com>
3053
3054         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3055         (gst_base_sink_init), (gst_base_sink_set_property),
3056         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3057         * libs/gst/base/gstbasesink.h:
3058         API addition: Make max-lateness a property.
3059
3060 2006-03-06  Wim Taymans  <wim@fluendo.com>
3061
3062         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3063         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3064         Don't ever draw a frame that is >10ms late.
3065
3066 2006-03-06  Michael Smith  <msmith@fluendo.com>
3067
3068         * gst/gstmessage.c: (_gst_message_copy):
3069           When copying a message, set the parent_refcount of the enclosed
3070           structure to point at the copy, not the original message.
3071
3072 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3073
3074         Patch by: Christophe Fergeau
3075
3076         * gst/gstutils.h:
3077           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3078           usable in c++ code (#333417)
3079
3080 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3081
3082         * gst/gstclock.h:
3083           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3084
3085 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3086
3087         * libs/gst/base/gstbasetransform.c:
3088         (gst_base_transform_transform_caps):
3089           Make sure caps are writable before passing them to
3090           gst_caps_append().
3091
3092 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3093
3094         * gst/gsterror.h:
3095           Fix some minor docs errors.
3096
3097 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3098
3099           Patch by: Ross Burton <ross at burtonini dot com>
3100
3101         * gst/gsterror.c: (_gst_resource_errors_init):
3102         * gst/gsterror.h:
3103           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3104
3105 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3106
3107         * gst/gst.c:
3108         Add a check and output a g_warning when GStreamer is built
3109         against GLib 2.6 but running against 2.8 or higher, and vice 
3110         versa. (Closes: #323542)
3111
3112 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3113
3114         * gst/parse/parse.l:
3115           Commit patch for parse_launch syntax from #331255. Removes 
3116           support for quoted strings and mimetypes when writing filtered 
3117           caps. See the bug report for more details - I'm pretty sure this
3118           obscure feature is not in use by _anyone_ anywhere.
3119
3120           With this simple change, the size of the gstreamer.so here 
3121           drops from 2193KB to 1565KB.
3122
3123 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3124
3125         * plugins/elements/gsttypefindelement.h:
3126         * plugins/elements/gsttypefindelement.c:
3127         (gst_type_find_element_src_event), (start_typefinding),
3128         (stop_typefinding), (gst_type_find_element_handle_event),
3129         (gst_type_find_element_chain),
3130         (gst_type_find_element_chain_do_typefinding):
3131           Use gst_type_find_helper_for_buffer() for chain-based
3132           typefinding.
3133
3134 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3135
3136         * plugins/elements/gsttypefindelement.c:
3137         (gst_type_find_element_class_init),
3138         (gst_type_find_element_set_property),
3139         (gst_type_find_element_get_property):
3140           Deprecate "maximum" property (not only was it only taken into
3141           account for typefinding in push-mode anyway, it also was never
3142           actually possible to set it in the first place because the
3143           property was registered with the numeric property ID for the
3144           "minimum" property). Register "maximum" property correctly,
3145           for the sake of future copy'n'pasters. Remove some cruft
3146           from property get/set functions.
3147
3148 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3149
3150         * plugins/elements/gsttypefindelement.c:
3151         (gst_type_find_element_activate):
3152           Use gst_type_find_helper_get_range() here, so we
3153           can honour the "minimum" property and also emit
3154           the signal with the correct probability of the found caps.
3155
3156 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3157
3158         * docs/libs/gstreamer-libs-sections.txt:
3159         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3160         (helper_find_suggest), (gst_type_find_helper_get_range),
3161         (gst_type_find_helper):
3162         * libs/gst/base/gsttypefindhelper.h:
3163           New API: gst_type_find_helper_get_range() (#333042).
3164
3165 2006-03-02  Michael Smith  <msmith@fluendo.com>
3166
3167         * gst/gstregistryxml.c: (load_feature):
3168           Asserting on a failure to read part of the registry is Not Cool.
3169           Just log a warning and return NULL (which is already handled)
3170
3171 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3172
3173         * win32/common/libgstbase.def:
3174           added export of gst_type_find_helper_for_buffer
3175         * win32/common/libgstbase.def:
3176           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3177           gst_ghost_pad_get_target
3178
3179 2006-02-28  Wim Taymans  <wim@fluendo.com>
3180
3181         * docs/design/draft-klass.txt:
3182         We use Filter now.
3183         Added Connector to mark elements that are only used to
3184         allow pipeline connections.
3185         Moved Debug to extra feature since most of them are 
3186         functionally something else.
3187
3188 2006-02-28  Wim Taymans  <wim@fluendo.com>
3189
3190         * docs/design/draft-klass.txt:
3191         Some updates and clarifications.
3192
3193 2006-02-28  Wim Taymans  <wim@fluendo.com>
3194
3195         * docs/design/draft-klass.txt:
3196         Proposal for klass field values.
3197
3198         * docs/design/part-streams.txt:
3199         Start of a doc describing stream anatomy.
3200
3201 2006-02-28  Wim Taymans  <wim@fluendo.com>
3202
3203         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3204         Help the compiler a bit with type registration.
3205         Use existing forward cod path instead of duplicating it when 
3206         handling a message.
3207         
3208         * gst/gstbus.c: (gst_bus_get_type):
3209         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3210         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3211         * gst/gstclock.c: (gst_clock_get_type):
3212         * gst/gstelement.c: (gst_element_get_type),
3213         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3214         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3215         * gst/gstminiobject.c: (gst_mini_object_get_type):
3216         * gst/gstpad.c: (gst_pad_get_type):
3217         * gst/gstsegment.c: (gst_segment_get_type):
3218         * gst/gststructure.c: (gst_structure_get_type):
3219         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3220         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3221         * gst/gstvalue.c:
3222         Help compiler with type registration.
3223
3224         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3225         Small doc update.
3226
3227 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3228
3229         * plugins/elements/gsttypefindelement.c:
3230         (gst_type_find_element_handle_event):
3231           When we get an EOS event and have not found a type yet
3232           (most likely because we had not yet accumulated
3233           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3234           type given the data we have so far. Fixes typefinding
3235           for very short streams again, most notably quicktime
3236           redirections as used on Apple's trailer site (#331701).
3237
3238 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3239
3240         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3241         (gst_type_find_helper):
3242           Try typefinding factories with the highest rank first.
3243
3244 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3245
3246         * docs/libs/gstreamer-libs-docs.sgml:
3247         * docs/libs/gstreamer-libs-sections.txt:
3248         * libs/gst/base/gsttypefindhelper.c:
3249           Add section for typefind helper and add documentation
3250           for the old and the new function.
3251
3252 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3253
3254         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3255         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3256         (gst_type_find_helper_for_buffer):
3257         * libs/gst/base/gsttypefindhelper.h:
3258           New API: gst_type_find_helper_for_buffer() (#332723).
3259           
3260 2006-02-27  Michael Smith  <msmith@fluendo.com>
3261
3262         Patch by: Loïc Minier
3263
3264         * configure.ac:
3265         * docs/Makefile.am:
3266         * docs/slides/Makefile.am:
3267           prevent CVS directories getting disted.
3268
3269 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3272           Use the REFCOUNTING category for caps refcounting.
3273           
3274 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3275
3276         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3277           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3278
3279 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3280
3281         * plugins/elements/gsttypefindelement.c:
3282         (gst_type_find_element_activate):
3283           Use gst_pad_check_pull_range() before _activate_pull()
3284           to avoid unnecessary open/close (see #331690).
3285
3286 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3287
3288         * gst/gstutils.c:
3289           Docs enhancement: make it crystal clear what the
3290           gst_pad_add_*_probe() callbacks should look like.
3291
3292 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3293
3294         * libs/gst/base/gstbasesrc.c:
3295           Document how applications can stop recording from
3296           live sources (see #330996).
3297
3298 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3299
3300         * tests/check/Makefile.am:
3301         * tests/check/libs/basesrc.c: (eos_event_counter),
3302         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3303         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3304         (gst_basesrc_suite), (main):
3305           ... and add some tests for the base source EOS stuff.
3306
3307 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3308
3309         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3310           Test case originally showed the problem fixed below,
3311           but was then amended. Add checks back at the place
3312           where they used to be.
3313
3314 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3315
3316         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3317         (gst_base_src_init), (gst_base_src_loop),
3318         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3319         (gst_base_src_change_state):
3320         * libs/gst/base/gstbasesrc.h:
3321           Don't unconditionally send EOS when going from PAUSED to
3322           READY state, esp. make sure we don't send two EOS events
3323           in some cases (e.g. one when reaching EOS and one when
3324           going from PAUSED to READY). Also, we don't want to send
3325           EOS events when operating in pull mode. However, we do
3326           want to send an EOS event when shutting down a live
3327           source explicitly, for example (fixes #330996).
3328           
3329 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3330
3331         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3332           Update src->read_position after a seek when not using mmap.
3333           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3334
3335 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3336
3337         * gst/Makefile.am:
3338         * gst/gstparse.h:
3339         * gst/gstutils.c:
3340         * gst/gstutils.h:
3341         Make things work with --disable-parse as they do with 
3342         --disable-load-save - the symbols involved disappear, but the
3343         header is still installed and GST_DISABLE_PARSE is included via
3344         gstconfig.h
3345
3346 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3347
3348         * libs/gst/base/gstbasetransform.c:
3349         (gst_base_transform_change_state): Fix a stupid bug. I was 
3350         sure I compiled that.
3351
3352 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3353
3354         * gst/gstpad.c: (gst_pad_set_blocked_async):
3355         * gst/gstutils.c: (gst_pad_add_data_probe),
3356         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3357         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3358         (gst_pad_remove_buffer_probe): Make those function act on the
3359         ghostpad target when it's a ghostpad. (Closes #331727)
3360
3361 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3362
3363         * libs/gst/base/gstbasetransform.c:
3364         (gst_base_transform_change_state): Make basetransform reusable.
3365         (Closes #331898)
3366
3367 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3368
3369         * docs/random/release:
3370         Move the current documentation of how to do a release to the top
3371         of the file.
3372
3373         * gst/gstbin.c: (gst_bin_class_init),
3374         (gst_bin_handle_message_func):
3375         Allow multiple state-recalculation threads. (Closes #328873)
3376
3377 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3378
3379         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3380         * gst/gstpad.c: (gst_pad_set_event_function),
3381         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3382         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3383         2 strings. You can't use the STR_NULL macro on that.
3384
3385 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3386
3387         * gst/gstpad.c: (gst_pad_set_event_function),
3388         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3389         (gst_pad_set_getcaps_function)
3390         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3391           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3392           So now, we can use --gst-debug-level=5 on Windows
3393         * win32/common/libgstcontroller.def:
3394           Added export of gst_controller_init
3395         * win32/vs6/libgstcontroller.dsp:
3396           Fixed Release post build configuration
3397
3398 2006-02-17  Wim Taymans  <wim@fluendo.com>
3399
3400         * tests/check/gst/gstquery.c: (GST_START_TEST):
3401         Added another check.
3402
3403 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3404
3405         * plugins/elements/gsttypefindelement.c: (find_peek):
3406           We can do peeks at non-zero offsets, as long as they
3407           fall within the buffer we have.
3408
3409 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3410
3411         * tests/check/Makefile.am:
3412         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3413         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3414         (parse_suite), (main):
3415           Add testsuite for parse launch syntax
3416
3417 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3418
3419         * plugins/elements/gsttypefindelement.c:
3420         (gst_type_find_element_chain):
3421           When typefinding is unsuccessful in the chain function, don't
3422           error out immediately. Only error out with NO_CAPS_FOUND if
3423           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3424           otherwise simply wait for more data so we can try typefinding
3425           again with more data later. Also, don't attempt to typefind
3426           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3427           this should improve typefinding from network sources where the
3428           size of the first buffer can be somewhat random.
3429
3430 2006-02-14  Wim Taymans  <wim@fluendo.com>
3431
3432         * docs/gst/gstreamer-sections.txt:
3433         * gst/gstpadtemplate.c:
3434         * gst/gstpadtemplate.h:
3435         Fix padtemplate docs, fixes #328805.
3436
3437 2006-02-14  Wim Taymans  <wim@fluendo.com>
3438
3439         * tools/gst-launch.c: (main):
3440         NO_PREROLL is not an ERROR so don't send confusing messages
3441         to the user.
3442
3443 2006-02-14  Wim Taymans  <wim@fluendo.com>
3444
3445         Patch by: Torsten Schoenfeld
3446
3447         * gst/gstregistry.c: (gst_registry_get_default),
3448         (_gst_registry_cleanup):
3449         Protect default registry with lock and ref/sink it.
3450         Fixes #324818
3451
3452 2006-02-14  Wim Taymans  <wim@fluendo.com>
3453
3454         * gst/gstbuffer.c:
3455         * gst/gstquery.c: (gst_query_list_add_format),
3456         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3457         (gst_query_parse_formats_nth):
3458         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3459         Docs fixes.
3460
3461 2006-02-14  Wim Taymans  <wim@fluendo.com>
3462
3463         * docs/gst/gstreamer-sections.txt:
3464         Reworked query docs.
3465
3466         * gst/gstquery.c: (gst_query_new_formats),
3467         (gst_query_list_add_format), (gst_query_set_formats),
3468         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3469         (gst_query_parse_formats_nth):
3470         * gst/gstquery.h:
3471         Flesh out formats query, added some new methods.
3472         Fix part of #324398.
3473
3474         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3475         Added query creation tests.
3476
3477 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3478
3479         * gst/gstpad.c: (fixate_value):
3480         Add a default fixation for fraction lists.
3481
3482 2006-02-13  Wim Taymans  <wim@fluendo.com>
3483
3484         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3485         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3486         (gst_task_join):
3487         * gst/gsttask.h:
3488         Detect and warn for obvious deadlocks. fixes #320340
3489         Fix error case where lock was not released.
3490
3491         * tests/check/Makefile.am:
3492         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3493         (task_func), (gst_element_suite), (main):
3494         Add task check.
3495
3496 2006-02-13  Wim Taymans  <wim@fluendo.com>
3497
3498         * docs/gst/gstreamer-sections.txt:
3499         * gst/gstbus.c:
3500         Add new functions to docs.
3501
3502 2006-02-13  Wim Taymans  <wim@fluendo.com>
3503
3504         * docs/design/part-TODO.txt:
3505         Updated TODO list, basesrc supports seeking to non-bytes
3506         formats.
3507
3508         * docs/design/part-element-sink.txt:
3509         Update docs.
3510
3511         * gst/gstbin.c: (bin_replace_message),
3512         (gst_bin_handle_message_func):
3513         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3514         * gst/gstevent.c: (gst_event_finalize):
3515         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3516         (gst_pad_send_event):
3517         Use shiny new _TYPE_NAME macros.
3518
3519         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3520         Move debug statement up.
3521
3522         * gst/gstelement.c: (gst_element_set_locked_state):
3523         Add some debugging.
3524
3525 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3526
3527         * docs/gst/gstreamer-sections.txt:
3528         * gst/gstmessage.h:
3529         * gst/gstquery.h:
3530           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3531           macros (#330906). Also, document the already existing
3532           GST_QUERY_TYPE macro.
3533
3534 2006-02-13  Wim Taymans  <wim@fluendo.com>
3535
3536         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3537         (event_probe), (GST_START_TEST):
3538         Only events up to the pipeline EOS are counted, there are
3539         some more when going to NULL currently which we don't care
3540         about for now.
3541
3542 2006-02-13  Wim Taymans  <wim@fluendo.com>
3543
3544         * gst/gstpad.c: (gst_pad_send_event):
3545         Correctly check flushing and emit probes. fixes #330125
3546
3547 2006-02-10  Andy Wingo  <wingo@pobox.com>
3548
3549         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3550         structure.
3551         (gst_bus_init): Cache the location of the private data in the
3552         instance structure.
3553         (gst_bus_enable_sync_message_emission) 
3554         (gst_bus_disable_sync_message_emission): Implement new public
3555         functions.
3556         (gst_bus_post): Emit the sync-message signal if the user asked for
3557         it. Fixes #330684.
3558
3559         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3560         location of the bus-private structure.
3561         (gst_bus_enable_sync_message_emission)
3562         (gst_bus_disable_sync_message_emission): API addition
3563
3564 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3565
3566         Patch by: Vincent Torri
3567
3568         * docs/pwg/building-boiler.xml:
3569         PWG patch from #326800
3570
3571 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3572
3573         * configure.ac:
3574         * docs/Makefile.am:
3575         * docs/design/Makefile.am:
3576           Dist design docs.
3577
3578 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3579
3580         * configure.ac:
3581           back to CVS
3582
3583 === release 0.10.3 ===
3584
3585 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3586
3587         * configure.ac:
3588           releasing 0.10.3, "Like a virgin"
3589
3590 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3591
3592         * configure.ac:
3593           2nd prerelease of 0.10.3
3594           Bump libtool versioning.
3595
3596 2006-02-07  Andy Wingo  <wingo@pobox.com>
3597
3598         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3599         update last_stop if we're in TIME format and the timestamp is
3600         valid.
3601
3602         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3603         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3604         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3605         If we get a new newsegment with a different format, adapt
3606         accordingly.
3607
3608         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3609         of 0. Not a problem, really.
3610
3611         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3612         warn if sync=true.
3613
3614 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3615
3616         * configure.ac:
3617           Prelease of 0.10.3
3618
3619 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3620
3621         * win32/vs7:
3622           project files updated to the default vs7 configuration
3623         * win32/common/libgstbase.def:
3624         * win32/common/libgstreamer.def:
3625           added new symbols,
3626           removed empty lines,
3627           sorted all exported symbols alphabetically
3628         * win32/common/dirent.c:
3629         * win32/common/dirent.h:
3630         * win32/common/gchar.h:
3631           use windows line end.
3632           
3633 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3634
3635         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3636           Send EOS event when stopping.
3637
3638 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3639
3640         * docs/README:
3641           Tell folks what to do if the plugin-foobar.xml file
3642           hasn't been generated for a newly-added plugin.
3643
3644 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3645
3646         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3647         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3648         (gst_collect_pads_start), (gst_collect_pads_stop),
3649         (gst_collect_pads_event): Collectpads now holds a reference
3650         to the GstPad that was added. Indeed we don't want to look
3651         at pads that might just go away with no warning...
3652
3653 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3654
3655         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3656         (gst_collect_pads_start), (gst_collect_pads_stop),
3657         (gst_collect_pads_event), (gst_collect_pads_chain):
3658         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3659         Mark Nauwelaerts's patch on bug #328491.
3660
3661 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3662
3663         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3664         (gst_utils_suite):
3665           Add some simple tests for gst_parse_bin_from_description() and
3666           gst_bin_find_unconnected_pad() (#329069).
3667
3668 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3669
3670         * tools/gst-launch.c: (event_loop), (main):
3671           Catch errors during preroll (#320084).
3672
3673 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3674
3675         * plugins/elements/gsttypefindelement.c:
3676         (gst_type_find_element_activate):
3677           Post TYPE_NOT_FOUND error message when typefinding
3678           is unsuccessful in the activate function as well.
3679
3680 2006-02-02  Wim Taymans  <wim@fluendo.com>
3681
3682         * docs/design/part-element-sink.txt:
3683         Updated doc.
3684
3685 2006-02-02  Wim Taymans  <wim@fluendo.com>
3686
3687         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3688         (gst_base_sink_render_object),
3689         (gst_base_sink_queue_object_unlocked):
3690         Only keep track of prerollable items when we are 
3691         prerolling.
3692         Before rendering after preroll, always check if we
3693         have queued items.
3694         Added some more debugging.
3695
3696 2006-02-02  Wim Taymans  <wim@fluendo.com>
3697
3698         * gst/gstelement.c: (gst_element_continue_state),
3699         (gst_element_set_state_func), (gst_element_change_state):
3700         Fixed #326576, been running this for quite some time with
3701         no regressions at all.
3702
3703 2006-02-02  Wim Taymans  <wim@fluendo.com>
3704
3705         * common/gst.supp:
3706         Added more suppressions
3707
3708 2006-02-02  Wim Taymans  <wim@fluendo.com>
3709
3710         * docs/design/part-element-sink.txt:
3711         Updated document.
3712
3713         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3714         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3715         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3716         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3717         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3718         (gst_base_sink_preroll_object),
3719         (gst_base_sink_queue_object_unlocked),
3720         (gst_base_sink_queue_object), (gst_base_sink_event),
3721         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3722         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3723         (gst_base_sink_get_position), (gst_base_sink_change_state):
3724         * libs/gst/base/gstbasesink.h:
3725         Totally refactored matching the design doc.
3726         Use two segments, one to clip incomming buffers and another to
3727         perform sync.
3728         Handle queueing correctly, bypass the queue when playing.
3729         Make EOS cancelable.
3730         Handle errors correctly when operating in pull based mode.
3731
3732         * tests/check/elements/fakesink.c: (GST_START_TEST),
3733         (fakesink_suite):
3734         Added new check for sinks.
3735
3736 2006-02-02  Wim Taymans  <wim@fluendo.com>
3737
3738         * gst/gstsegment.c: (gst_segment_clip):
3739         No reason to refuse to clip when start == -1
3740
3741 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3742
3743         * docs/README:
3744         * docs/manual/intro-basics.xml:
3745         * docs/manual/intro-preface.xml:
3746         * docs/manual/manual.xml:
3747         * docs/pwg/advanced-dparams.xml:
3748         * docs/pwg/intro-basics.xml:
3749         * docs/pwg/intro-preface.xml:
3750         * docs/pwg/pwg.xml:
3751           describe dparams (controller) for plugins
3752           unify docs a little more
3753
3754 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3755
3756         * docs/gst/gstreamer-sections.txt:
3757         * gst/gstutils.c: (element_find_unconnected_pad),
3758         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3759         * gst/gstutils.h:
3760           Add new API: gst_parse_bin_from_description() and
3761           gst_bin_find_unconnected_pad() (#329069).
3762
3763 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3764
3765         * docs/manual/README:
3766           uncover a nasty detail of the docs build
3767
3768 2006-01-31  Wim Taymans  <wim@fluendo.com>
3769
3770         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3771         Don't cache duration messages if we're not going to use or
3772         free them.
3773
3774 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3775
3776         * docs/manual/advanced-dparams.xml:
3777         * docs/pwg/advanced-dparams.xml:
3778           more dparam docs
3779         * gst/gstindex.c:
3780           fix docs
3781         * libs/gst/controller/lib.c: (gst_controller_init):
3782           init just once
3783
3784 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3785
3786         * gst/gstelement.c: (gst_element_message_full):
3787           also show file/line/func if no additional debug was given
3788
3789 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3790         
3791         * win32/vs7/grammar.vcproj:
3792           activate copy of autogenerated files for Release mode
3793
3794 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3795         
3796         * win32/common/libgstreamer.def:
3797           export gst_value_compare
3798
3799 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3800
3801         * plugins/elements/Makefile.am:
3802         * plugins/elements/gstelements.c:
3803         * plugins/elements/gstfdsink.c: (_do_init),
3804         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3805         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3806         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3807         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3808         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3809         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3810         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3811         * plugins/elements/gstfdsink.h:
3812         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3813
3814 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3815
3816         * docs/manual/advanced-dparams.xml:
3817           describe controller
3818         * docs/manual/advanced-position.xml:
3819         * docs/manual/basics-init.xml:
3820         * docs/manual/manual.xml:
3821         * docs/manual/titlepage.xml:
3822         * docs/pwg/pwg.xml:
3823         * docs/pwg/titlepage.xml:
3824           cleanup xml (more to come)
3825         * libs/gst/controller/gstcontroller.c:
3826           fix typo
3827
3828 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3829         
3830         * win32/vs6/grammar.dsp:
3831           add autogen of gstmarshal.c,h for Release mode
3832                 
3833 2006-01-30  Wim Taymans  <wim@fluendo.com>
3834
3835         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3836         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3837         (gst_base_sink_handle_object), (gst_base_sink_event),
3838         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3839         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3840         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3841         (gst_base_sink_deactivate), (gst_base_sink_activate),
3842         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3843         (gst_base_sink_query), (gst_base_sink_change_state):
3844         Basesink cleanups, remove some old code.
3845         Handle the case where a subclass can preroll in the render
3846         method (mostly audiosinks).
3847         Handle more events.
3848         Remove some locks around variables that are now protected
3849         with the PREROLL_LOCK (clock_id, flushing, ..).
3850         Optimize position query some more, do correct locking.
3851         Remove old code to push queue in state change, this is not
3852         needed anymore since preroll blocks on all prerollable items 
3853         now.
3854         Almost implemented as described in design doc.
3855
3856 2006-01-30  Wim Taymans  <wim@fluendo.com>
3857
3858         * tests/check/gst/gstbin.c: (GST_START_TEST):
3859         Wait for refcount to settle down before checking.
3860
3861 2006-01-30  Wim Taymans  <wim@fluendo.com>
3862
3863         * docs/design/part-element-sink.txt:
3864         Pseudo code overview of desired sink behaviour regarding
3865         preroll.
3866
3867 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3868         * win32/vs6/grammar.dsp:
3869           fix some bugs in Release mode for autogenerated files
3870                 
3871 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3872         * win32/common/libgstbase.def:
3873         * win32/common/libgstreamer.def:
3874           export some new symbols: gst_base_src_set_format,
3875           gst_iterator_next, gst_structure_set_valist
3876
3877 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3878
3879         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3880         Set pad functions unconditionally. Fixes #329105.
3881
3882 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3883         * win32/vs8:
3884           add vs8 project files created by Sergey Scobich
3885
3886 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3887
3888         * gst/gstutils.c: (gst_element_unlink_pads):
3889         Don't leak pad references.
3890
3891         * tests/check/elements/fakesink.c: (GST_START_TEST):
3892         * tests/check/generic/sinks.c: (GST_START_TEST):
3893         * tests/check/generic/states.c: (GST_START_TEST):
3894         * tests/check/gst/gstbin.c: (GST_START_TEST):
3895         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3896         * tests/check/gst/gstelement.c: (GST_START_TEST):
3897         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3898         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3899         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3900         Fix a bunch of leaks. Make generic/sinks.c
3901         use a bit less cpu by slowing the buffer rate
3902         between fakesrc and fakesink.
3903         
3904 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3905         * gst/gstcaps.c:
3906         * gst/gstelement.c: (gst_element_send_event):
3907         * gst/gstevent.c:
3908         * gst/gstinfo.c:
3909         * gst/gstiterator.c:
3910         * gst/gstiterator.h:
3911         * gst/gstpad.c: (gst_pad_send_event):
3912         * gst/gststructure.c:
3913         * gst/gsturi.c:
3914         * gst/gstutils.c:
3915         * gst/gstvalue.c:
3916         * libs/gst/base/gstadapter.c:
3917           doc fixes, to link to function, just write gst_cool_function(), don't
3918           prefix with '#'
3919
3920 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3921
3922         * plugins/elements/gsttee.c: (gst_tee_do_push),
3923         (gst_tee_handle_buffer):
3924         Always prefer an actual return value from a src
3925         pad in place of NOT_LINKED. This means we return
3926         WRONG_STATE when all src pads are WRONG_STATE
3927         instead of NOT_LINKED.
3928
3929         Lock when replacing the last message to prevent
3930         racing with the get_property method.
3931
3932         Add debug output
3933
3934 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3935
3936         * tests/check/Makefile.am:
3937         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3938         (main):
3939         Add a very simple check that should have caught the memleak I fixed
3940         last night (if not for the slice allocator hiding it)
3941
3942 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3943
3944         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3945         (gst_bin_remove_func), (gst_bin_handle_message_func),
3946         (bin_query_duration_fold), (bin_query_generic_fold):
3947         Clean up references to the clock provider when disposed or when
3948         handling a clock-lost message from it.
3949
3950         Unref sinks when performing a query via gst_iterator_fold, as the
3951         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3952
3953         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3954         (gst_clock_set_master):
3955         Drop our reference to the master clock, if any, when we are disposed.
3956
3957         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3958         Chain up in dispose. 
3959
3960 2006-01-26  Wim Taymans  <wim@fluendo.com>
3961
3962         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3963         Add some debugging.
3964
3965 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3966
3967         * plugins/elements/gsttee.c: (gst_tee_do_push),
3968         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3969         handles pad being NOT_LINKED or in WRONG_STATE.
3970
3971 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3972
3973         * win32/MANIFEST:
3974           more updating
3975
3976 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3977
3978         * win32/MANIFEST:
3979           remove obsolete entry
3980
3981 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3982
3983         * docs/gst/gstreamer-sections.txt:
3984         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3985         (gst_bin_iterate_sources), (gst_bin_send_event):
3986         * gst/gstbin.h:
3987         * gst/gstelement.c: (gst_element_send_event):
3988         * gst/gstevent.c:
3989         * gst/gstpad.c: (gst_pad_send_event):
3990           added code for downstream events, reviewed docs in gstevent.c
3991
3992 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3993
3994         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3995         We only query position using the clock in the playing state.
3996         Query peer in the other cases.
3997         * win32/common/config.h: Updates.
3998
3999 2006-01-24  Wim Taymans  <wim@fluendo.com>
4000
4001         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4002         A clock entry that is scheduled for the exact time of the
4003         clock is still in time.
4004
4005         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4006         (gst_base_sink_do_sync):
4007         Add some more debug info.
4008
4009 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4010
4011         * win32/vs7:
4012           Add new vs7 project files and solution.
4013
4014 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4015
4016         * win32/vs7:
4017           all files removed as they were out-dated.
4018
4019 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4020
4021         * docs/random/release:
4022           update notes
4023         * gst/gstbin.c: (gst_bin_init):
4024         * gst/gstbus.c: (gst_bus_new):
4025         * gst/gstbus.h:
4026         * gst/gstpipeline.c: (gst_pipeline_init):
4027           use gst_bus_new(), improve logging, fix docs
4028         * win32/common/config.h:
4029           update for cvs build
4030
4031 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4032
4033         * autogen.sh:
4034           up required version of automake to 1.7
4035
4036 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4037
4038         * win32/common/libgstreamer.def:
4039           export gst_buffer_is_metadata_writable
4040
4041 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4042
4043         * docs/gst/gstreamer-sections.txt:
4044         * gst/gstevent.h:
4045           Add gst_event_replace() (#327001)
4046
4047 2006-01-20  Wim Taymans  <wim@fluendo.com>
4048
4049         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4050         Make it actually compile too..
4051
4052 2006-01-20  Wim Taymans  <wim@fluendo.com>
4053
4054         * gst/gstcaps.c:
4055         Clarify behaviour of _is_equal() when passing NULL parameters.
4056
4057         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4058         (gst_pad_set_caps):
4059         Cleanups. Don't unref NULL caps.
4060         When setting the same caps, protect caps of the pad with
4061         proper lock.
4062         Use full functionality of _is_equal() when comparing caps.
4063
4064 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4065
4066         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4067         Don't loop infinitely if there are no buffers to present. Partially
4068         fixes #327197, but collectpads is just broken for reusing elements
4069         to do multiple encodes atm.
4070
4071 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4072
4073         * tools/gst-inspect.c: (print_element_features):
4074         * tools/gst-xmlinspect.c: (main):
4075         URL_HANDLER is not a plugin feature we can search for in
4076         the registry.
4077
4078 2006-01-19  Edward Hervey  <edward@fluendo.com>
4079
4080         * gst/gstelement.c: (gst_element_pads_activate): 
4081         When activating, do src pads first, then sink pads.
4082         When de-activating, do sink pads first, then src pads.
4083
4084 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4085
4086         * docs/gst/gstreamer-sections.txt:
4087         Add gst_index_add_associationv to the docs
4088
4089 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4090
4091         * gst/gstevent.c:
4092           Fix docs typo
4093
4094         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4095         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4096           Do some refactoring. Doesn't actually change functionality,
4097           but makes landing the DRAIN event easier later.
4098
4099 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4100
4101         * docs/pwg/advanced-scheduling.xml:
4102           Update from 0.9.x to 0.10 API and make example a bit
4103           clearer.
4104
4105 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4106
4107         * docs/gst/gstreamer-sections.txt:
4108         Add gst_buffer_(is|make)_metadata_writable methods.
4109
4110 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4111
4112         * docs/design/part-sparsestreams.txt:
4113         Update sparse streams doc, hopefully for greater clarity
4114
4115 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4116
4117         * docs/design/part-events.txt:
4118         Remove mention of FILLER events.
4119         Add DRAIN event.
4120
4121         * docs/design/part-sparsestreams.txt:
4122         Write some things about using NEWSEGMENT to keep sparse streams
4123         flowing.
4124
4125 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4126
4127         * gst/gstbin.c: (gst_bin_dispose):
4128           Guard gst_object_unref call against a NULL object (dispose
4129           can theoretically be called multiple times).
4130           
4131 2006-01-18  Wim Taymans  <wim@fluendo.com>
4132
4133         * gst/gstbin.c: (gst_bin_element_set_state):
4134         * gst/gstclock.c: (gst_clock_id_wait):
4135         Added some more debug info.
4136
4137         * libs/gst/base/gstadapter.c:
4138         Added more docs.
4139
4140         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4141         (gst_base_sink_do_sync), (gst_base_sink_chain):
4142         Added some comments.
4143
4144 2006-01-18  Wim Taymans  <wim@fluendo.com>
4145
4146         * tests/check/Makefile.am:
4147         * tests/check/elements/fakesink.c: (chain_async_buffer),
4148         (chain_async), (chain_async_return), (GST_START_TEST),
4149         (fakesink_suite), (main):
4150         Added fakesink test that checks prerolling and clipping
4151         behaviour.
4152
4153         * tests/check/gst/gstutils.c: (GST_START_TEST):
4154         Make check run faster so that buildbots don't timeout.
4155
4156 2006-01-18  Wim Taymans  <wim@fluendo.com>
4157
4158         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4159         (gst_base_sink_do_sync):
4160         Some cleanups.
4161         When the sink finishes blocking on the preroll buffer, it can
4162         immediatly render it instead of rendering when the next buffer
4163         arrives.
4164
4165 2006-01-18  Wim Taymans  <wim@fluendo.com>
4166
4167         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4168         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4169         (gst_base_sink_chain):
4170         Small cleanups.
4171         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4172         Don't store _last_stop if the buffer is dropped.
4173
4174 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4175
4176         * plugins/elements/gsttypefindelement.c:
4177         (gst_type_find_element_class_init):
4178           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4179           object method handler that sets the caps on the pad and we want
4180           that to happen before we emit the signal (fixes e.g. feeding a
4181           plain text file to decodebin).
4182
4183 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4184
4185         * gst/gstplugin.c: Add MPL and Proprietary as license options
4186
4187 2006-01-18  Andy Wingo  <wingo@pobox.com>
4188
4189         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4190         symbol was exported before, it appears this was just an oversight.
4191         Fixes #168703.
4192         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4193
4194         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4195         prototype to gint. OK since this prototype was not in the header.
4196
4197 2006-01-17  Andy Wingo  <wingo@pobox.com>
4198
4199         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4200         registry while we remove plugins.
4201
4202         * tools/gst-inspect.c (print_element_info): Don't unref the
4203         factory arg, that should be the responsibility of whatever code
4204         received the ref. Fixes a double-free when called from
4205         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4206         (main): Unref the factory if we have one.
4207         (print_element_list): No change -- relies on the
4208         plugin_feature_list_free to free the list of features.
4209
4210 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4211
4212         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4213         (gst_buffer_make_metadata_writable):
4214         * gst/gstbuffer.h:
4215         * libs/gst/base/gstbasetransform.c:
4216         (gst_base_transform_prepare_output_buf):
4217         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4218         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4219           Replace gst_buffer_(make|is)_metadata_writable patch now
4220           that the release is out.
4221
4222 2006-01-17  Andy Wingo  <wingo@pobox.com>
4223
4224         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4225         in the present tense without reference to versions.
4226
4227         * gst/gstregistry.c (gst_registry_add_plugin)
4228         (gst_registry_remove_plugin, gst_registry_remove_feature)
4229         (gst_registry_find_feature, gst_registry_get_feature_list)
4230         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4231         (gst_registry_lookup, gst_registry_scan_path)
4232         (_gst_registry_remove_cache_plugins)
4233         (gst_registry_get_feature_list_by_plugin): Add argument
4234         validation.
4235
4236 === release 0.10.2 ===
4237
4238 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4239
4240         * configure.ac:
4241           releasing 0.10.2, "If man is five"
4242
4243 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4244
4245         * gst/gstbuffer.c:
4246         * gst/gstbuffer.h:
4247         * libs/gst/base/gstbasetransform.c:
4248         (gst_base_transform_prepare_output_buf):
4249         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4250         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4251           Back out patch until after the release.
4252
4253 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4254
4255         * gst/gstminiobject.c:
4256           Spelling fix in docs.
4257         * ChangeLog - remove conflict indicator
4258
4259 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4260
4261         Reviewed By: Andy Wingo
4262
4263         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4264         (gst_buffer_make_metadata_writable):
4265         * gst/gstbuffer.h:
4266           Add gst_buffer_(is|make)_metadata_writable as analogues of
4267           gst_buffer_(is|make)_writable.
4268
4269         * libs/gst/base/gstbasetransform.c:
4270         (gst_base_transform_prepare_output_buf):
4271         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4272           Use name gst_buffer_(is|make)_metadata_writable functions.
4273
4274         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4275           Test gst_buffer_(is|make)_metadata_writable
4276         
4277           (Closes: #324162)
4278
4279 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4280
4281         * docs/manual/Makefile.am:
4282           don't do parallel make
4283         * configure.ac:
4284           AC_SUBST HOST_CPU
4285         * win32/common/config.h.in:
4286           add generations for HOST_CPU and GST_MAJORMINOR
4287         * win32/common/config.h:
4288           commit generated result
4289
4290 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4291
4292         * docs/manual/appendix-integration.xml:
4293           Update GNOME integration section to use gst_init_get_option_group()
4294           instead of the old popt stuff (#322911). Also, GNOME applications
4295           should  now use gconf*sink and gconf*src instead of the old gconf
4296           helper lib we had.
4297
4298 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4299
4300
4301         * docs/gst/gstreamer-docs.sgml:
4302         * docs/gst/gstreamer-sections.txt:
4303         * docs/libs/gstreamer-libs-sections.txt:
4304           add new API entries to the docs
4305         * libs/gst/controller/Makefile.am:
4306         * libs/gst/controller/gstcontroller.c:
4307         * libs/gst/controller/gstcontroller.h:
4308         * libs/gst/controller/gstcontrollerprivate.h:
4309         * libs/gst/controller/gsthelper.c:
4310         * libs/gst/controller/gstinterpolation.c:
4311           move private structs to private header
4312         * po/README:
4313           gstreamer-0.7 -> gstreamer-0.10
4314         * tests/check/libs/struct_i386.h:
4315           remove private structs
4316
4317 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4318
4319         * plugins/indexers/Makefile.am:
4320           Fixes as part of #317048
4321
4322 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4323
4324         * plugins/indexers/Makefile.am:
4325           fix #316086 - compilation when mmap is missing
4326
4327 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4328
4329         * libs/gst/base/gstbasesink.c:
4330           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4331           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4332         * win32/common/config.h:
4333           added some defines GST_MAJORMINOR and HOST_CPU
4334         * win32/common/libgstbase.def:
4335         * win32/common/libgstreamer.def:
4336           added some exported functions.
4337
4338 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4339
4340         * libs/gst/controller/gstcontroller.c:
4341         (gst_controlled_property_set_interpolation_mode),
4342         (gst_controlled_property_new):
4343         * libs/gst/controller/gstcontroller.h:
4344         * libs/gst/controller/gstinterpolation.c:
4345         (interpolate_none_get_string_value_array):
4346           make G_TYPE_STRING controlable
4347
4348 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4349
4350         * tools/README:
4351         * tools/gst-feedback.1.in:
4352         * tools/gst-inspect.1.in:
4353         * tools/gst-launch.1.in:
4354         * tools/gst-md5sum.1.in:
4355         * tools/gst-typefind.1.in:
4356         * tools/gst-xmlinspect.1.in:
4357         * tools/gst-xmllaunch.1.in:
4358           cleanup man-pages, remove reference to gst-register, document env-vars
4359
4360 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4361
4362         * gst/gstbuffer.c: (gst_buffer_span):
4363           gst_buffer_span should copy the timestamp of the first buffer
4364           if they were both originally overlapping subbuffers of the 
4365           same parent, using the same logic as the 'slow copy' case.
4366
4367 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4368
4369         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4370           Need to awaken ALL the pads when we pop a buffer, otherwise
4371           collectpads only works when there is 2 input streams.
4372
4373 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4374
4375         * docs/random/ensonic/media-device-daemon.txt:
4376           more ideas (dbus)
4377         * gst/gstbuffer.c:
4378           fix doc example, add clarification
4379         * tools/gst-launch.1.in:
4380           add initial info about GST_PLUGIN_PATH, needs more work
4381
4382 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4383
4384         * docs/manual/basics-bins.xml:
4385         * docs/manual/basics-elements.xml:
4386         * docs/manual/intro-basics.xml:
4387           Some more minor docs additions and updates.
4388
4389 2006-01-11  Wim Taymans  <wim@fluendo.com>
4390
4391         * docs/manual/basics-bins.xml:
4392         * docs/manual/basics-elements.xml:
4393         Some small fixes as pointed out by Ser-ver on IRC.
4394
4395 2006-01-10  Edward Hervey  <edward@fluendo.com>
4396
4397         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4398         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4399         the single-segment mode.
4400
4401 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4402
4403         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4404
4405         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4406         (gst_base_src_perform_seek), (gst_base_src_send_event),
4407         (gst_base_src_set_property), (gst_base_src_get_property),
4408         (gst_base_src_loop), (gst_base_src_start),
4409         (gst_base_src_activate_push):
4410         * libs/gst/base/gstbasesrc.h:
4411           Name (private) union; makes Sun's Forte compiler happy (#324900).
4412
4413 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4414
4415         * README:
4416           gst-register is gone.
4417
4418 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4419
4420         * gst/gstvalue.c: (_gst_value_initialize):
4421           make the G_TYPE_DATE instantiation work if debug is disabled
4422
4423 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4424
4425         * gst/gstmessage.c: (gst_message_parse_tag),
4426         (gst_message_parse_error), (gst_message_parse_warning):
4427           Don't crash when return location for error/warning debug
4428           string is NULL; add fact that return locations can be
4429           NULL to docs where appropriate.
4430
4431 2006-01-05  Wim Taymans  <wim@fluendo.com>
4432
4433         * gst/gstplugin.c: (gst_plugin_load_file):
4434         Replace strdup by g_strdup.
4435
4436 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4437
4438         * docs/pwg/advanced-types.xml:
4439           fix doc borkage
4440
4441 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4442
4443         submitted by: Abel Cheung
4444
4445         * po/LINGUAS:
4446         * po/zh_TW.po:
4447           Added Chinese (traditional) translation
4448
4449 2006-01-04  Wim Taymans  <wim@fluendo.com>
4450
4451         * docs/manual/basics-pads.xml:
4452         * docs/plugins/Makefile.am:
4453         * docs/plugins/gstreamer-plugins-docs.sgml:
4454         * docs/plugins/gstreamer-plugins-sections.txt:
4455         * docs/pwg/advanced-clock.xml:
4456         * docs/pwg/advanced-scheduling.xml:
4457         * docs/pwg/advanced-types.xml:
4458         * plugins/elements/gstfdsink.c:
4459         * plugins/elements/gstfdsrc.c:
4460         * plugins/elements/gstfdsrc.h:
4461         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4462         * plugins/elements/gstidentity.h:
4463         * plugins/elements/gstqueue.h:
4464         * plugins/elements/gsttee.c:
4465         * plugins/elements/gsttee.h:
4466         * plugins/elements/gsttypefindelement.c:
4467         (gst_type_find_element_class_init):
4468         * plugins/elements/gsttypefindelement.h:
4469         Small updates to various docs.
4470         Added core plugins to docs.
4471
4472 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4473
4474         * common/gst.supp:
4475           add a suppression for liboil's uninitialized variable
4476
4477 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4478
4479         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4480
4481         * gst/gstutils.h:
4482           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4483           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4484           compiler switch is being used (#325429).
4485
4486 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4487
4488         * gst/gstbin.c: (gst_bin_query):
4489           Disable duration query caching in bins until it gets
4490           fixed (see #324807).
4491
4492 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4493
4494         * tools/gst-inspect.c: (print_element_properties_info):
4495           Handle properties of POINTER and BOXED type.
4496
4497 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4498
4499         * gst/gst.c: (init_post):
4500           Init tags stuff and some other things before loading
4501           any static plugins (there may be other static plugins
4502           than just the GStreamer ones, and they may want to
4503           register their own tags or formats or whatever, and
4504           preferably without segfaulting).
4505
4506         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4507           Print at least a warning in the debug logs if we drop a
4508           query just because we don't know how to adjust the value
4509           in the particular format.
4510
4511 2005-12-24  David Schleef  <ds@schleef.org>
4512
4513         * tools/gstreamer-completion:
4514           Replacement for gst-complete written in sh and sed.  Only
4515           completes names of features, but that's 90% of what I want
4516           it for.  Properties are not available in registry.xml.  (Maybe
4517           they should be...)
4518
4519 === release 0.10.1 ===
4520
4521 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4522
4523         * configure.ac:
4524           releasing 0.10.1, "Nollaig chridheil"
4525
4526 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4527
4528         * docs/faq/cvs.xml:
4529           Add missing quote, should be make ERROR_CFLAGS="".
4530
4531 2005-12-20  Wim Taymans  <wim@fluendo.com>
4532
4533         * docs/design/part-trickmodes.txt:
4534         More documentation on trickmodes.
4535
4536 2005-12-20  Edward Hervey  <edward@fluendo.com>
4537
4538         * gst/gstcaps.c: (gst_static_caps_get_type):
4539         * gst/gstcaps.h:
4540           API addition: GST_TYPE_STATIC_CAPS
4541         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4542         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4543         * gst/gstpadtemplate.h:
4544           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4545         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4546         bindings.
4547
4548 2005-12-18  Wim Taymans  <wim@fluendo.com>
4549
4550         * libs/gst/base/gstadapter.c:
4551         * libs/gst/base/gstadapter.h:
4552         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4553         (gst_base_sink_get_position):
4554         * libs/gst/base/gstbasesink.h:
4555         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4556         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4557         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4558         (gst_base_src_send_event), (gst_base_src_update_length),
4559         (gst_base_src_get_range), (gst_base_src_loop),
4560         (gst_base_src_start):
4561         * libs/gst/base/gstbasesrc.h:
4562         * libs/gst/base/gstbasetransform.h:
4563         * libs/gst/base/gstcollectpads.h:
4564         * libs/gst/base/gstpushsrc.c:
4565         * libs/gst/base/gstpushsrc.h:
4566         * libs/gst/dataprotocol/dataprotocol.c:
4567         * libs/gst/dataprotocol/dataprotocol.h:
4568         * libs/gst/net/gstnetclientclock.h:
4569         * libs/gst/net/gstnettimeprovider.h:
4570         Documentation updates.
4571
4572 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4573
4574         * docs/manual/basics-helloworld.xml:
4575           Remove superfluous closing bracket in helloworld example.
4576
4577 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4578
4579         * tools/gst-launch.1.in:
4580           Update gst-launch man page; add a section with useful
4581           environment variables. Fixes #323882.
4582
4583 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4584
4585         * gst/gst.c:
4586         * gst/gst_private.h:
4587           change some char* into char[]
4588
4589 2005-12-16  Wim Taymans  <wim@fluendo.com>
4590
4591         * gst/gstregistryxml.c: (load_feature):
4592         Cleanups.
4593         Don't use g_object_unref on GstObjects so that we avoid
4594         leaks on unsafe glibs.
4595
4596 2005-12-16  Wim Taymans  <wim@fluendo.com>
4597
4598         * gst/gstbin.c: (gst_bin_recalc_state):
4599         Small doc updates.
4600
4601 2005-12-16  Wim Taymans  <wim@fluendo.com>
4602
4603         * common/check.mak:
4604         Added make forever target for check.
4605
4606 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4607
4608         * gst/gst.c: (init_post):
4609           make the registry cache file HOST_CPU-dependent
4610
4611 2005-12-16  Andy Wingo  <wingo@pobox.com>
4612
4613         * plugins/elements/gstbufferstore.c
4614         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4615         return value.
4616
4617         * tests/check/gst/gstobject.c
4618         (test_fake_object_name_threaded_unique): Pay attention to
4619         g_list_sort return value.
4620
4621 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4622
4623         * tools/gst-feedback-m.m:
4624           Update for 0.9/0.10 (fixes #323870).
4625
4626 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4627
4628         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4629           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4630           
4631         * tests/check/gst/gstminiobject.c: (my_foo_init),
4632         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4633         (test_value_collection), (gst_mini_object_suite):
4634           Add test to ensure refcounts end up as expected when passing
4635           GstMiniObjects through g_object_get() and g_object_set().
4636
4637 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4638
4639         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4640         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4641         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4642         of collectpads. This version removes a lot of races without
4643         touching API/ABI. Yay !
4644
4645 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4646
4647         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4648           Don't allow activation of a srcpad in pull_range if it has no
4649           getrange function.
4650           Change some debug statements to be a little clearer
4651
4652         * plugins/elements/gsttypefindelement.c:
4653         (gst_type_find_handle_src_query):
4654           Check that we have a peer before executing queries thereupon.
4655
4656         * tests/examples/metadata/read-metadata.c: (message_loop):
4657           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4658           immediately return us any available message with 0 timeout.
4659
4660 2005-12-12  Michael Smith  <msmith@fluendo.com>
4661
4662         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4663           Don't unref factories after calling them.
4664         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4665         * plugins/elements/gsttypefindelement.c:
4666         (gst_type_find_element_chain):
4667           Free lists of factories after using them. Fixing typefinding memory
4668           leaks.
4669
4670 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4671
4672         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4673         (gst_plugin_feature_load):
4674           more meaningful debug output
4675         * configure.ac:
4676         * tests/Makefile.am:
4677         * tests/old/examples/Makefile.am:
4678           make make distcheck happy again
4679
4680 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4681
4682         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4683           Catch the special case where we are operating chain-based,
4684           but the downstream peer pad has no chain function. Emit a
4685           custom error message in this case instead of letting the
4686           core generate one implying that this is some sort of core
4687           bug. It's not, it just means that whatever got plugged
4688           into the pipeline downstream when we announced the type
4689           can only operate pull-based, while our source can only
4690           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4691           Error string has not been marked for translation yet, as
4692           it probably needs some more work first.
4693
4694         (gst_type_find_element_get_best_possibility):
4695           Add helper function to find the best of all available
4696           found possibilities that qualify given the min. threshold.
4697
4698         (gst_type_find_element_handle_event):
4699           Fix the case where we get an EOS while still in TYPEFIND
4700           mode (we want to chose the best of all possible types,
4701           not just the first type that happens to be in our unsorted
4702           list of possible types).
4703
4704         (gst_type_find_element_chain):
4705           Make sure we return GST_FLOW_ERROR when we errored out
4706           in stop_typefinding(); also, don't just find the best of
4707           all found type entries and then use the last examined
4708           type entry, but actually use the best entry.
4709
4710 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4711
4712         * tests/examples/typefind/typefind.c: (type_found):
4713         * tests/examples/xml/runxml.c: (xml_loaded):
4714           More gcc4 fixes and a mem leak fix.
4715
4716 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4717
4718         * tests/examples/xml/createxml.c: (object_saved):
4719           gcc 4 fixes
4720
4721 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4722
4723         * tests/Makefile.am:
4724           enable the examples even more
4725
4726 2005-12-12  Andy Wingo  <wingo@pobox.com>
4727
4728         * libs/gst/net/gstnettimeprovider.c
4729         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4730         (gst_net_time_provider_set_property)
4731         (gst_net_time_provider_get_property):
4732         API addition: Export "active" as a GObject property.
4733         (gst_net_time_provider_thread): Only respond to time queries if
4734         the time provider is active.
4735
4736         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4737         NetTimeProvider, preserving binary compat.
4738
4739 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4740
4741         * tests/examples/controller/audio-example.c: (main):
4742         * tests/examples/launch/Makefile.am:
4743           convert comments again
4744
4745 2005-12-12  Wim Taymans  <wim@fluendo.com>
4746
4747         * libs/gst/base/gstpushsrc.c:
4748         Fix typo.
4749
4750 2005-12-12  Wim Taymans  <wim@fluendo.com>
4751
4752         * docs/libs/gstreamer-libs-sections.txt:
4753         Added new symbol to docs.
4754
4755         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4756         (gst_base_src_init), (gst_base_src_set_format),
4757         (gst_base_src_default_query), (gst_base_src_query),
4758         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4759         (gst_base_src_perform_seek), (gst_base_src_send_event),
4760         (gst_base_src_default_event), (gst_base_src_event_handler),
4761         (gst_base_src_set_property), (gst_base_src_get_property),
4762         (gst_base_src_wait), (gst_base_src_do_sync),
4763         (gst_base_src_update_length), (gst_base_src_get_range),
4764         (gst_base_src_check_get_range), (gst_base_src_loop),
4765         (gst_base_src_default_negotiate), (gst_base_src_start),
4766         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4767         (gst_base_src_change_state):
4768         * libs/gst/base/gstbasesrc.h:
4769         Implement seeking to other formats than _BYTES.
4770         Implement more seeking methods correctly.
4771         Doc updates.
4772         Added query vmethod.
4773         Added do_seek vmethod to make life easier for subclasses
4774         when seeking.
4775         API addition: gst_base_src_set_format()
4776
4777 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4778
4779         * tests/examples/Makefile.am:
4780           added that too
4781
4782 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4783
4784         * configure.ac:
4785         * docs/random/ensonic/media-device-daemon.txt:
4786         * tests/examples/controller/.cvsignore:
4787         * tests/examples/controller/Makefile.am:
4788         * tests/examples/controller/audio-example.c: (main):
4789         * tests/examples/helloworld/.cvsignore:
4790         * tests/examples/helloworld/Makefile.am:
4791         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4792         * tests/examples/launch/.cvsignore:
4793         * tests/examples/launch/Makefile.am:
4794         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4795         * tests/examples/metadata/.cvsignore:
4796         * tests/examples/metadata/Makefile.am:
4797         * tests/examples/metadata/read-metadata.c: (message_loop),
4798         (make_pipeline), (print_tag), (main):
4799         * tests/examples/queue/.cvsignore:
4800         * tests/examples/queue/Makefile.am:
4801         * tests/examples/queue/queue.c: (event_loop), (main):
4802         * tests/examples/typefind/.cvsignore:
4803         * tests/examples/typefind/Makefile.am:
4804         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4805         (main):
4806         * tests/examples/xml/.cvsignore:
4807         * tests/examples/xml/Makefile.am:
4808         * tests/examples/xml/createxml.c: (object_saved), (main):
4809         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4810         * tests/old/examples/Makefile.am:
4811         * tests/old/examples/TODO:
4812         * tests/old/examples/controller/.cvsignore:
4813         * tests/old/examples/controller/Makefile.am:
4814         * tests/old/examples/controller/audio-example.c:
4815         * tests/old/examples/helloworld/.cvsignore:
4816         * tests/old/examples/helloworld/Makefile.am:
4817         * tests/old/examples/helloworld/helloworld.c:
4818         * tests/old/examples/launch/.cvsignore:
4819         * tests/old/examples/launch/Makefile.am:
4820         * tests/old/examples/launch/mp3parselaunch.c:
4821         * tests/old/examples/launch/mp3play:
4822         * tests/old/examples/manual/Makefile.am:
4823         * tests/old/examples/metadata/Makefile.am:
4824         * tests/old/examples/metadata/read-metadata.c:
4825         * tests/old/examples/queue/.cvsignore:
4826         * tests/old/examples/queue/Makefile.am:
4827         * tests/old/examples/queue/queue.c:
4828         * tests/old/examples/typefind/.cvsignore:
4829         * tests/old/examples/typefind/Makefile.am:
4830         * tests/old/examples/typefind/typefind.c:
4831         * tests/old/examples/xml/.cvsignore:
4832         * tests/old/examples/xml/Makefile.am:
4833         * tests/old/examples/xml/createxml.c:
4834         * tests/old/examples/xml/runxml.c:
4835           applied some simple fixing to some examples
4836           re-enabled the working examples
4837
4838 2005-12-12  Wim Taymans  <wim@fluendo.com>
4839
4840         * gst/gstsegment.c: (gst_segment_init),
4841         (gst_segment_set_last_stop), (gst_segment_set_seek),
4842         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4843         (gst_segment_to_running_time):
4844         Added more documentation.
4845         Make sure the last_pos value is updated properly.
4846         Make sure to_stream_time and to_running_time don't
4847         operate on wrong values.
4848
4849         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4850         Update check.
4851
4852 2005-12-12  Michael Smith  <msmith@fluendo.com>
4853
4854         * plugins/elements/gsttypefindelement.c: (free_entry),
4855         (gst_type_find_element_chain):
4856           Now that we're not leaking factories, make sure we keep references
4857           to them while we need them.
4858
4859 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4860
4861         * tests/check/gst/struct_i386.h:
4862           ifdef out the XML structs
4863
4864 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4865
4866         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4867           floor is not needed, F is always positive; this obviates the
4868           need for adding -lm when building without libxml
4869
4870 2005-12-12  Wim Taymans  <wim@fluendo.com>
4871
4872         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4873         Take current playback rate into account when reporting
4874         the position.
4875
4876 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4877
4878         * docs/manual/mime-world.fig:
4879           Let's try this again, this time with a file that is
4880           actually in XFig format.
4881
4882 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4883
4884         * docs/manual/mime-world.fig:
4885           Add audioconvert element to diagram so that it
4886           matches the text and the code (fixes #319526).
4887
4888 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4889
4890         * docs/pwg/building-chainfn.xml:
4891         * docs/pwg/building-pads.xml:
4892         * docs/pwg/building-state.xml:
4893         * docs/pwg/other-source.xml:
4894           Update state change stuff for 0.10 (fixes #322969).
4895
4896 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4897
4898         * docs/manual/advanced-dataaccess.xml:
4899         * docs/manual/appendix-checklist.xml:
4900         * docs/manual/appendix-programs.xml:
4901         * docs/manual/basics-pads.xml:
4902         * docs/manual/highlevel-components.xml:
4903         * docs/manual/manual.xml:
4904           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4905           add converters in front of pipelines; remove curly
4906           brackets for threads stuff, they no longer exist; use
4907           GST_TYPE_FRACTION for framerates; update some pieces of
4908           code to 0.10, but there's plenty more to do.
4909
4910         * docs/manual/appendix-porting.xml:
4911           Expand on asynchroneous state changes; s/0.9/0.10/;
4912           mention disappearance of gst_init_get_popt_table()
4913           (fixes #322916).
4914
4915 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4916
4917         * docs/faq/using.xml:
4918           Spider no longer exists, and neither does gst-launch-ext.
4919           Update examples to use decodebin and playbin and put
4920           converters in front of sinks (fixes #323726).
4921
4922 2005-12-09  Michael Smith  <msmith@fluendo.com>
4923
4924         * plugins/elements/gsttypefindelement.c: (find_peek),
4925         (gst_type_find_element_chain):
4926           Fix leaking element factories in typefinding.
4927           Fix problem where we forgot about a probable type on non-seekable
4928           files, and thus later mis-typefound it.
4929
4930 2005-12-09  Michael Smith  <msmith@fluendo.com>
4931
4932         * common/m4/gst-makecontext.m4:
4933         * common/m4/gst-mcsc.m4:
4934         * configure.ac:
4935         * win32/common/config.h:
4936         * win32/common/config.h.in:
4937           Remove makecontext stuff; not used in 0.10 and causes problems on
4938           HPUX according to bug #322441
4939
4940 2005-12-07  Wim Taymans  <wim@fluendo.com>
4941
4942         * tests/check/Makefile.am:
4943         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4944         (main):
4945         * tests/check/libs/struct_i386.h:
4946         Added ABI check for libs
4947
4948 2005-12-07  Wim Taymans  <wim@fluendo.com>
4949
4950         * tests/check/Makefile.am:
4951         And add the struct_i386.h to dist.
4952
4953 2005-12-07  Wim Taymans  <wim@fluendo.com>
4954
4955         * tests/check/Makefile.am:
4956         * tests/check/gst/.cvsignore:
4957         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4958         (main):
4959         * tests/check/gst/struct_i386.h:
4960         Added check for ABI compatibility.
4961
4962 2005-12-07  Wim Taymans  <wim@fluendo.com>
4963
4964         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4965         (gst_fake_src_get_times), (gst_fake_src_create):
4966         Fix broken sync option, fixes #323259
4967
4968 2005-12-07  Wim Taymans  <wim@fluendo.com>
4969
4970         * gst/gstbuffer.c:
4971         Small docs update.
4972
4973         * gst/gstcaps.c: (gst_caps_is_equal):
4974         Don't assert on NULL <--> X. Fixes #323260
4975
4976         * gst/gstminiobject.c: (gst_mini_object_replace):
4977         If we're doing atomic operations, we might just as well use
4978         the proper way to get an atomic pointer.
4979
4980         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4981         Clean up debugging.
4982
4983 2005-12-07  Michael Smith  <msmith@fluendo.com>
4984
4985         * gst/parse/grammar.y:
4986           Remove handling of { } for threads.
4987
4988 2005-12-06  David Schleef  <ds@schleef.org>
4989
4990         * libs/gst/base/gstbasetransform.c: speling fix.
4991
4992 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4993
4994         * docs/libs/tmpl/gstdataprotocol.sgml:
4995         * docs/random/omega/testing/gstobject.c:
4996         * gst/gst.c:
4997         * gst/gstclock.c:
4998         * gst/gstelement.c:
4999         * gst/gstelementfactory.c:
5000         * gst/gsterror.c:
5001         * gst/gstevent.c:
5002         * gst/gstghostpad.c:
5003         * gst/gstinfo.c:
5004         * gst/gstpadtemplate.c:
5005         * gst/gstregistryxml.c:
5006         * gst/gsttaglist.c:
5007         * gst/gsttagsetter.c:
5008         * gst/gsttypefind.c:
5009         * gst/gstvalue.c:
5010         * libs/gst/base/gstbasesrc.c:
5011         * libs/gst/net/gstnetclientclock.c:
5012         * libs/gst/net/gstnettimeprovider.c:
5013         * plugins/elements/gstfakesrc.c:
5014         * plugins/elements/gstfdsrc.c:
5015         * plugins/elements/gstfilesrc.c:
5016         * plugins/elements/gstidentity.c:
5017         * plugins/elements/gstqueue.c:
5018         * plugins/elements/gsttypefindelement.c:
5019         * plugins/indexers/gstfileindex.c:
5020         * plugins/indexers/gstmemindex.c:
5021         * tests/check/gst/gsttag.c:
5022         * tests/old/examples/cutter/cutter.c:
5023         * tests/old/examples/mixer/mixer.c:
5024         * tests/old/examples/xml/runxml.c: (main):
5025         * tests/old/testsuite/caps/normalisation.c:
5026         * tests/old/testsuite/debug/global.c:
5027         * tests/old/testsuite/parse/parse1.c:
5028         * tools/gst-xmlinspect.c:
5029         * win32/common/dirent.c:
5030           expand tabs
5031
5032 === release 0.10.0 ===
5033
5034 2005-12-05   <thomas (at) apestaart (dot) org>
5035
5036         * configure.ac:
5037           releasing 0.10.0, "Maroilles"
5038
5039 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5040
5041         submitted by: Funda Wang <fundawang@linux.net.cn>
5042
5043         * po/LINGUAS:
5044         * po/zh_CN.po:
5045           added Chinese (Traditional) translation
5046
5047 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5048
5049         * docs/gst/gstreamer-sections.txt:
5050         * docs/libs/tmpl/gstdataprotocol.sgml:
5051         * docs/random/thomasvs/TODO:
5052         * gst/gstutils.c:
5053         * gst/gstutils.h:
5054           fix docs
5055
5056 2005-12-05  Andy Wingo  <wingo@pobox.com>
5057
5058         patch by: Wim Taymans <wim@fluendo.com>
5059
5060         * libs/gst/base/gstbasetransform.c
5061         (gst_base_transform_prepare_output_buf)
5062         (gst_base_transform_buffer_alloc):
5063         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5064         alloc_buffer_and_set_caps.
5065
5066         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5067         set_caps on the source pad.
5068         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5069         alloc_buffer used to do. Fixes #322874.
5070
5071         * docs/gst/gstreamer-sections.txt: 
5072         * docs/design/part-negotiation.txt: 
5073         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5074         changes.
5075
5076 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5077
5078         patch by: Sebastien Moutte
5079
5080         * win32/MANIFEST:
5081         * win32/common/config.h.in:
5082         * win32/vs6/libgstcontroller.dsp:
5083           win32 build fixes
5084
5085 2005-12-05  Wim Taymans  <wim@fluendo.com>
5086
5087         * gst/gstcaps.c: (gst_caps_is_equal):
5088         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5089         (gst_fake_src_create):
5090         Back out previous code changes, leave doc updates, file bugs 
5091         instead. 
5092
5093 2005-12-05  Wim Taymans  <wim@fluendo.com>
5094
5095         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5096         (gst_fake_src_get_times), (gst_fake_src_create):
5097         * plugins/elements/gstfakesrc.h:
5098         Fix broken sync code.
5099
5100 2005-12-05  Wim Taymans  <wim@fluendo.com>
5101
5102         * gst/gstcaps.c: (gst_caps_is_equal):
5103         Comparing NULL against !NULL yields different caps, not a
5104         failure.
5105
5106 2005-12-05  Wim Taymans  <wim@fluendo.com>
5107
5108         * gst/gstpipeline.c:
5109         Fix small typo in docs.
5110
5111 2005-12-05  Andy Wingo  <wingo@pobox.com>
5112
5113         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5114
5115         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5116         registries/plugins with a MAJORMINOR one.
5117         (plugin_desc): Rename library from gstcoreleements to
5118         staticelements. Fixes #323222.
5119
5120 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5121
5122         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5123           Change debug category to 'collectpads' from 'collect_pads'
5124           (fixes #323250).
5125
5126 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5127
5128         patch by: Sebastien Moutte
5129
5130         * libs/gst/controller/gstinterpolation.c:
5131           use convert function for uint64/double
5132         * win32/vs6/libgstcontroller.dsp:
5133           link to GLib
5134
5135 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5136
5137         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5138         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5139         * gst/gstutils.h:
5140         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5141           add tests that seem to show that the guint64/gdouble conversions
5142           are correct.
5143
5144 2005-12-02  Wim Taymans  <wim@fluendo.com>
5145
5146         * gst/gstregistry.c: (gst_registry_add_path):
5147         * gst/gstregistry.h:
5148         * gst/gstregistryxml.c:
5149         Fix docs again.
5150
5151 2005-12-02  Wim Taymans  <wim@fluendo.com>
5152
5153         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5154         (gst_util_uint64_scale_int):
5155         Small cleanup.
5156
5157         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5158         Add debug log line.
5159
5160         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5161         Add FIXME.
5162
5163 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5164
5165         * win32/MANIFEST:
5166         * win32/common/config.h:
5167         * win32/vs6/gstreamer.dsw:
5168         * win32/vs6/libgstcoreelements.dsp:
5169         * win32/vs6/libgstelements.dsp:
5170           renamed core elements plugin
5171
5172 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5173
5174         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5175         (get_candidates):
5176           do piece-wise major/minor comparison so 0.9 < 0.10
5177           also allow .exe extensions for tools
5178
5179 2005-12-02  Michael Smith  <msmith@fluendo.com>
5180
5181         * gst/gst.c:
5182           Escape a % to make gtkdoc happier; bug 322958.
5183
5184 === release 0.9.7 ===
5185
5186 2005-12-01   <thomas (at) apestaart (dot) org>
5187
5188         * configure.ac:
5189           releasing 0.9.7, "My Dog Has No Nose"
5190
5191 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5192
5193         * common/gst-xmlinspect.py:
5194         * configure.ac:
5195         * docs/libs/tmpl/gstdataprotocol.sgml:
5196         * docs/random/release:
5197         * po/af.po:
5198         * po/az.po:
5199         * po/bg.po:
5200         * po/ca.po:
5201         * po/cs.po:
5202         * po/de.po:
5203         * po/en_GB.po:
5204         * po/fr.po:
5205         * po/it.po:
5206         * po/nb.po:
5207         * po/nl.po:
5208         * po/ru.po:
5209         * po/sq.po:
5210         * po/sr.po:
5211         * po/sv.po:
5212         * po/tr.po:
5213         * po/uk.po:
5214         * po/vi.po:
5215         * win32/common/config.h:
5216         * win32/common/config.h.in:
5217         * win32/vs6/gst_inspect.dsp:
5218         * win32/vs6/gst_launch.dsp:
5219         * win32/vs6/libgstbase.dsp:
5220         * win32/vs6/libgstelements.dsp:
5221         * win32/vs6/libgstreamer.dsp:
5222         * win32/vs7/GStreamer.vcproj:
5223         * win32/vs7/gst-inspect.vcproj:
5224         * win32/vs7/gst-launch.vcproj:
5225         * win32/vs7/libgstbase.vcproj:
5226           bump GST_MAJORMINOR to 0.10
5227           reset libtool version
5228
5229 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5230
5231         * po/LINGUAS:
5232         * po/bg.po:
5233           Added Bulgarian translation by (Alexander Shopov)
5234
5235 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5236
5237         * tests/check/gst/gstplugin.c:
5238           fix test
5239
5240 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5241
5242         * common/gst-xmlinspect.py:
5243         * common/gtk-doc-plugins.mak:
5244         * configure.ac:
5245         * docs/Makefile.am:
5246         * docs/gst/Makefile.am:
5247         * docs/gst/gstreamer-docs.sgml:
5248         * docs/gst/gstreamer-sections.txt:
5249         * docs/gst/gstreamer.types:
5250         * docs/gst/gstreamer.types.in:
5251         * docs/plugins/Makefile.am:
5252         * docs/plugins/gstreamer-plugins-docs.sgml:
5253         * docs/plugins/gstreamer-plugins-sections.txt:
5254         * docs/plugins/gstreamer-plugins.types:
5255         * docs/plugins/inspect.stamp:
5256         * docs/plugins/inspect/plugin-coreelements.xml:
5257         * docs/plugins/inspect/plugin-coreindexers.xml:
5258         * docs/plugins/scanobj-build.stamp:
5259         * gstreamer.spec.in:
5260         * plugins/elements/Makefile.am:
5261         * plugins/elements/gstelements.c:
5262         * plugins/elements/gstfakesink.c:
5263         * plugins/elements/gstfakesrc.c:
5264         * plugins/elements/gstfilesink.c:
5265         * plugins/elements/gstfilesrc.c:
5266         * plugins/elements/gstqueue.c:
5267         * plugins/indexers/Makefile.am:
5268         * plugins/indexers/gstindexers.c:
5269           document core plugins in a separate document just like all the
5270           others
5271           rename these plugins to something starting with core
5272
5273 2005-12-01  Andy Wingo  <wingo@pobox.com>
5274
5275         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5276         padding here before, but it missed the commit.
5277
5278 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5279
5280         * libs/gst/controller/gstinterpolation.c:
5281           whitespace prices have crashed, we should feel free to use some now
5282           use gst_guint64_to_gdouble
5283
5284 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5285
5286         * libs/gst/controller/gstcontroller.c:
5287         * libs/gst/controller/gsthelper.c:
5288         * libs/gst/controller/gstinterpolation.c:
5289         * libs/gst/controller/lib.c:
5290           wrap config.h include
5291
5292 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5293
5294         * docs/gst/gstreamer-sections.txt:
5295           update docs
5296
5297 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5298
5299         * plugins/elements/gstelements.c:
5300         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5301         (gst_fd_sink__class_init), (gst_fd_sink__init),
5302         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5303         (gst_fd_sink__get_property):
5304         * plugins/elements/gstfdsink.h:
5305         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5306         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5307         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5308         (gst_fd_src_unlock), (gst_fd_src_set_property),
5309         (gst_fd_src_get_property), (gst_fd_src_create),
5310         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5311         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5312         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5313         (gst_fd_src_uri_handler_init):
5314         * plugins/elements/gstfdsrc.h:
5315         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5316           more anal cleanup
5317
5318 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5319
5320         * docs/gst/Makefile.am:
5321         * docs/gst/gstreamer.types.in:
5322         * gst/Makefile.am:
5323           fix the docs build
5324
5325 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5326
5327         * configure.ac:
5328         * gst/Makefile.am:
5329         * gst/gst.c:
5330         * gst/gstplugin.h:
5331         * gst/gstregistry.h:
5332         * tests/benchmarks/complexity.c:
5333         * tests/benchmarks/mass-elements.c:
5334         * tests/check/Makefile.am:
5335         * tools/Makefile.am:
5336         * tools/gst-inspect.c:
5337         * tools/gst-xmlinspect.c:
5338           various fixes to make
5339           --disable-nls --disable-registry --disable-loadsave
5340           --disable-parse --disable-gst-debug
5341           work and get the core .so down to 360444 bytes after stripping
5342
5343 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5344
5345         * Makefile.am:
5346         * configure.ac:
5347           descend into tests
5348         * docs/random/thomasvs/TODO:
5349         * tests/Makefile.am:
5350         * tests/README:
5351           add a README
5352
5353 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5354
5355         * win32/GStreamer.vcproj:
5356         * win32/MANIFEST:
5357         * win32/Makefile:
5358         * win32/Makefile.inspect:
5359         * win32/Makefile.launch:
5360         * win32/Makefile.register:
5361         * win32/README.txt:
5362         * win32/gst-inspect.vcproj:
5363         * win32/gst-launch.vcproj:
5364         * win32/gst-register.vcproj:
5365         * win32/gstelements.vcproj:
5366         * win32/gstgetbits.def:
5367         * win32/gstgetbits.vcproj:
5368         * win32/gstreamer-dbg.def:
5369         * win32/gstreamer.def:
5370         * win32/libgstbase.def:
5371         * win32/libgstbase.vcproj:
5372         * win32/link_oldruntime.c:
5373         * win32/mman.c:
5374         * win32/mman.h:
5375         * win32/mman.inl:
5376         * win32/msvc71.sln:
5377           move even more stuff, win32/ is nice and clean now
5378
5379 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5380
5381         * libs/gst/control/.cvsignore:
5382         * win32/MANIFEST:
5383         * win32/config.h:
5384         * win32/dirent.c:
5385         * win32/dirent.h:
5386         * win32/gstbytestream.def:
5387         * win32/gstbytestream.vcproj:
5388         * win32/gstconfig.h:
5389         * win32/gstenumtypes.c:
5390         * win32/gstenumtypes.h:
5391         * win32/gstoptimalscheduler.vcproj:
5392         * win32/gstversion.h:
5393         * win32/gtchar.h:
5394         * win32/testsuite/bins.vcproj:
5395         * win32/testsuite/bytestream.vcproj:
5396         * win32/testsuite/caps.vcproj:
5397         * win32/testsuite/cleanup.vcproj:
5398         * win32/testsuite/clock.vcproj:
5399         * win32/testsuite/debug.vcproj:
5400         * win32/testsuite/dlopen.vcproj:
5401         * win32/testsuite/dynparams.vcproj:
5402         * win32/testsuite/elements.vcproj:
5403         * win32/testsuite/ghostpads.vcproj:
5404         * win32/testsuite/indexers.vcproj:
5405         * win32/testsuite/negotiation.vcproj:
5406         * win32/testsuite/parse.vcproj:
5407         * win32/testsuite/plugin.vcproj:
5408         * win32/testsuite/refcounting.vcproj:
5409         * win32/testsuite/schedulers.vcproj:
5410         * win32/testsuite/states.vcproj:
5411         * win32/testsuite/tags.vcproj:
5412         * win32/testsuite/threads.vcproj:
5413           remove old win32 stuff that isn't maintained and should be
5414           reorganized
5415
5416 2005-11-30  Andy Wingo  <wingo@pobox.com>
5417
5418         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5419         loading the gst.interfaces python module bork.
5420
5421         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5422         available since GLib 2.2. Fixes #318031.
5423
5424 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5425
5426         * Makefile.am:
5427         * check/.cvsignore:
5428         * check/Makefile.am:
5429         * check/elements/.cvsignore:
5430         * check/elements/fakesrc.c:
5431         * check/elements/fdsrc.c:
5432         * check/elements/identity.c:
5433         * check/generic/.cvsignore:
5434         * check/generic/states.c:
5435         * check/gst-libs/.cvsignore:
5436         * check/gst-libs/controller.c:
5437         * check/gst-libs/gdp.c:
5438         * check/gst/.cvsignore:
5439         * check/gst/capslist.h:
5440         * check/gst/gst.c:
5441         * check/gst/gstbin.c:
5442         * check/gst/gstbuffer.c:
5443         * check/gst/gstbus.c:
5444         * check/gst/gstcaps.c:
5445         * check/gst/gstelement.c:
5446         * check/gst/gstevent.c:
5447         * check/gst/gstghostpad.c:
5448         * check/gst/gstiterator.c:
5449         * check/gst/gstmessage.c:
5450         * check/gst/gstminiobject.c:
5451         * check/gst/gstobject.c:
5452         * check/gst/gstpad.c:
5453         * check/gst/gstpipeline.c:
5454         * check/gst/gstplugin.c:
5455         * check/gst/gstsegment.c:
5456         * check/gst/gststructure.c:
5457         * check/gst/gstsystemclock.c:
5458         * check/gst/gsttag.c:
5459         * check/gst/gstutils.c:
5460         * check/gst/gstvalue.c:
5461         * check/net/.cvsignore:
5462         * check/net/gstnetclientclock.c:
5463         * check/net/gstnettimeprovider.c:
5464         * check/pipelines/.cvsignore:
5465         * check/pipelines/cleanup.c:
5466         * check/pipelines/simple_launch_lines.c:
5467         * check/pipelines/stress.c:
5468         * check/states/.cvsignore:
5469         * check/states/sinks.c:
5470         * configure.ac:
5471         * examples/Makefile.am:
5472         * examples/appreader/.cvsignore:
5473         * examples/appreader/Makefile.am:
5474         * examples/appreader/appreader.c:
5475         * examples/controller/.cvsignore:
5476         * examples/controller/Makefile.am:
5477         * examples/controller/audio-example.c:
5478         * examples/cutter/.cvsignore:
5479         * examples/cutter/Makefile.am:
5480         * examples/cutter/cutter.c:
5481         * examples/cutter/cutter.h:
5482         * examples/events/Makefile.am:
5483         * examples/events/seek.c:
5484         * examples/helloworld/.cvsignore:
5485         * examples/helloworld/Makefile.am:
5486         * examples/helloworld/helloworld.c:
5487         * examples/helloworld2/.cvsignore:
5488         * examples/helloworld2/Makefile.am:
5489         * examples/helloworld2/helloworld2.c:
5490         * examples/launch/.cvsignore:
5491         * examples/launch/Makefile.am:
5492         * examples/launch/mp3parselaunch.c:
5493         * examples/launch/mp3play:
5494         * examples/manual/.cvsignore:
5495         * examples/manual/Makefile.am:
5496         * examples/manual/extract.pl:
5497         * examples/metadata/Makefile.am:
5498         * examples/metadata/read-metadata.c:
5499         * examples/mixer/.cvsignore:
5500         * examples/mixer/Makefile.am:
5501         * examples/mixer/mixer.c:
5502         * examples/mixer/mixer.h:
5503         * examples/pingpong/.cvsignore:
5504         * examples/pingpong/Makefile.am:
5505         * examples/pingpong/pingpong.c:
5506         * examples/plugins/.cvsignore:
5507         * examples/plugins/Makefile.am:
5508         * examples/plugins/example.c:
5509         * examples/plugins/example.h:
5510         * examples/pwg/.cvsignore:
5511         * examples/pwg/Makefile.am:
5512         * examples/pwg/extract.pl:
5513         * examples/queue/.cvsignore:
5514         * examples/queue/Makefile.am:
5515         * examples/queue/queue.c:
5516         * examples/queue2/.cvsignore:
5517         * examples/queue2/Makefile.am:
5518         * examples/queue2/queue2.c:
5519         * examples/queue3/.cvsignore:
5520         * examples/queue3/Makefile.am:
5521         * examples/queue3/queue3.c:
5522         * examples/queue4/.cvsignore:
5523         * examples/queue4/Makefile.am:
5524         * examples/queue4/queue4.c:
5525         * examples/retag/.cvsignore:
5526         * examples/retag/Makefile.am:
5527         * examples/retag/retag.c:
5528         * examples/retag/transcode.c:
5529         * examples/thread/.cvsignore:
5530         * examples/thread/Makefile.am:
5531         * examples/thread/thread.c:
5532         * examples/typefind/.cvsignore:
5533         * examples/typefind/Makefile.am:
5534         * examples/typefind/typefind.c:
5535         * examples/xml/.cvsignore:
5536         * examples/xml/Makefile.am:
5537         * examples/xml/createxml.c:
5538         * examples/xml/runxml.c:
5539         * tests/Makefile.am:
5540         * tests/check/Makefile.am:
5541         * testsuite/.cvsignore:
5542         * testsuite/Makefile.am:
5543         * testsuite/Rules:
5544         * testsuite/caps/.cvsignore:
5545         * testsuite/caps/Makefile.am:
5546         * testsuite/caps/app_fixate.c:
5547         * testsuite/caps/audioscale.c:
5548         * testsuite/caps/caps.c:
5549         * testsuite/caps/caps.h:
5550         * testsuite/caps/caps_strings:
5551         * testsuite/caps/compatibility.c:
5552         * testsuite/caps/deserialize.c:
5553         * testsuite/caps/enumcaps.c:
5554         * testsuite/caps/eratosthenes.c:
5555         * testsuite/caps/filtercaps.c:
5556         * testsuite/caps/fixed.c:
5557         * testsuite/caps/fraction-convert.c:
5558         * testsuite/caps/fraction-multiply-and-zero.c:
5559         * testsuite/caps/intersect2.c:
5560         * testsuite/caps/intersection.c:
5561         * testsuite/caps/normalisation.c:
5562         * testsuite/caps/random.c:
5563         * testsuite/caps/renegotiate.c:
5564         * testsuite/caps/sets.c:
5565         * testsuite/caps/simplify.c:
5566         * testsuite/caps/string-conversions.c:
5567         * testsuite/caps/structure.c:
5568         * testsuite/caps/subtract.c:
5569         * testsuite/caps/union.c:
5570         * testsuite/debug/.cvsignore:
5571         * testsuite/debug/Makefile.am:
5572         * testsuite/debug/category.c:
5573         * testsuite/debug/commandline.c:
5574         * testsuite/debug/global.c:
5575         * testsuite/debug/output.c:
5576         * testsuite/debug/printf_extension.c:
5577         * testsuite/dlopen/.cvsignore:
5578         * testsuite/dlopen/Makefile.am:
5579         * testsuite/dlopen/dlopen_gst.c:
5580         * testsuite/dlopen/loadgst.c:
5581         * testsuite/elements/.cvsignore:
5582         * testsuite/elements/Makefile.am:
5583         * testsuite/elements/gst-inspect-check.in:
5584         * testsuite/elements/struct_i386.h:
5585         * testsuite/elements/struct_size.c:
5586         * testsuite/indexers/.cvsignore:
5587         * testsuite/indexers/Makefile.am:
5588         * testsuite/indexers/cache1.c:
5589         * testsuite/indexers/indexdump.c:
5590         * testsuite/parse/.cvsignore:
5591         * testsuite/parse/Makefile.am:
5592         * testsuite/parse/parse1.c:
5593         * testsuite/parse/parse2.c:
5594         * testsuite/plugin/.cvsignore:
5595         * testsuite/plugin/Makefile.am:
5596         * testsuite/plugin/README:
5597         * testsuite/plugin/dynamic.c:
5598         * testsuite/plugin/linked.c:
5599         * testsuite/plugin/loading.c:
5600         * testsuite/plugin/registry.c:
5601         * testsuite/plugin/static.c:
5602         * testsuite/plugin/static2.c:
5603         * testsuite/plugin/testplugin.c:
5604         * testsuite/plugin/testplugin2.c:
5605         * testsuite/plugin/testplugin2_s.c:
5606         * testsuite/plugin/testplugin_s.c:
5607         * testsuite/refcounting/.cvsignore:
5608         * testsuite/refcounting/Makefile.am:
5609         * testsuite/refcounting/bin.c:
5610         * testsuite/refcounting/element.c:
5611         * testsuite/refcounting/element_pad.c:
5612         * testsuite/refcounting/mainloop.c:
5613         * testsuite/refcounting/mem.c:
5614         * testsuite/refcounting/mem.h:
5615         * testsuite/refcounting/object.c:
5616         * testsuite/refcounting/pad.c:
5617         * testsuite/refcounting/sched.c:
5618         * testsuite/refcounting/thread.c:
5619         * testsuite/states/.cvsignore:
5620         * testsuite/states/Makefile.am:
5621         * testsuite/states/bin.c:
5622         * testsuite/states/locked.c:
5623         * testsuite/states/parent.c:
5624         * testsuite/threads/.cvsignore:
5625         * testsuite/threads/159566.c:
5626         * testsuite/threads/159852.c:
5627         * testsuite/threads/Makefile.am:
5628         * testsuite/threads/queue.c:
5629         * testsuite/threads/signals.c:
5630         * testsuite/threads/staticrec.c:
5631         * testsuite/threads/thread.c:
5632         * testsuite/threads/threadb.c:
5633         * testsuite/threads/threadc.c:
5634         * testsuite/threads/threadd.c:
5635         * testsuite/threads/threade.c:
5636         * testsuite/threads/threadf.c:
5637         * testsuite/threads/threadg.c:
5638         * testsuite/threads/threadh.c:
5639         * testsuite/threads/threadi.c:
5640           move all of these under tests
5641
5642 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * configure.ac:
5645         * tests/Makefile.am:
5646           fix distcheck
5647
5648 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5649
5650         * docs/gst/gstreamer-sections.txt:
5651         * tests/sched/.cvsignore:
5652         * tests/sched/Makefile.am:
5653         * tests/sched/cases/(fs-fs).xml:
5654         * tests/sched/cases/(fs-i-fs).xml:
5655         * tests/sched/cases/(fs-i-i-fs).xml:
5656         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5657         * tests/sched/dynamic-pipeline.c:
5658         * tests/sched/interrupt1.c:
5659         * tests/sched/interrupt2.c:
5660         * tests/sched/interrupt3.c:
5661         * tests/sched/runtestcases:
5662         * tests/sched/runxml.c:
5663         * tests/sched/sched-stress.c:
5664         * tests/sched/sort.c:
5665         * tests/sched/testcases:
5666         * tests/sched/testcases1.tc:
5667         * tests/seeking/.cvsignore:
5668         * tests/seeking/Makefile.am:
5669         * tests/seeking/seeking1.c:
5670         * tests/threadstate/.cvsignore:
5671         * tests/threadstate/Makefile.am:
5672         * tests/threadstate/test1.c:
5673         * tests/threadstate/test2.c:
5674         * tests/threadstate/threadstate1.c:
5675         * tests/threadstate/threadstate2.c:
5676         * tests/threadstate/threadstate3.c:
5677         * tests/threadstate/threadstate4.c:
5678         * tests/threadstate/threadstate5.c:
5679           remove obsolete tests
5680         * configure.ac:
5681         * tests/bench-complexity.scm:
5682         * tests/bench-mass_elements.scm:
5683         * tests/complexity.c:
5684         * tests/complexity.gnuplot:
5685         * tests/instantiate/.cvsignore:
5686         * tests/instantiate/Makefile.am:
5687         * tests/instantiate/caps.c:
5688         * tests/mass_elements.c:
5689         * tests/network-clock-utils.scm:
5690         * tests/network-clock.scm:
5691         * tests/plot-data:
5692         First pass at cleaning up tests/ dir before moving the rest
5693         Combined with CVS surgery
5694
5695 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5696
5697         * po/POTFILES.in:
5698           queue has moved, update
5699
5700 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5701
5702         * docs/gst/gstreamer-sections.txt:
5703           remove double entries from the docs
5704         * gst/gst_private.h:
5705         * gst/gstinfo.c: (_gst_debug_init):
5706           remove the THREAD debug category
5707         * gst/Makefile.am:
5708         * gst/gstqueue.c:
5709         * gst/gstqueue.h:
5710         * docs/gst/gstreamer.types:
5711         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5712         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5713           completely move queue and fix up debugging categories
5714
5715 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5716
5717         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5718           make initialization portable, using LL is not
5719
5720 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5721
5722         * win32/common/gstconfig.h:
5723           add large padding
5724
5725 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5726
5727         * win32/common/libgstreamer.def:
5728           rename symbols; sort base section
5729
5730 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         * gst/gstclock.c: (do_linear_regression):
5733           remove crack non-portable handrolled DEBUG macro
5734
5735 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5736
5737         * docs/random/release:
5738           update notes
5739         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5740         (gst_object_flags_get_type), (register_gst_bin_flags),
5741         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5742         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5743         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5744         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5745         (gst_caps_flags_get_type), (register_gst_clock_return),
5746         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5747         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5748         (gst_clock_flags_get_type), (register_gst_state),
5749         (gst_state_get_type), (register_gst_state_change_return),
5750         (gst_state_change_return_get_type), (register_gst_state_change),
5751         (gst_state_change_get_type), (register_gst_element_flags),
5752         (gst_element_flags_get_type), (register_gst_core_error),
5753         (gst_core_error_get_type), (register_gst_library_error),
5754         (gst_library_error_get_type), (register_gst_resource_error),
5755         (gst_resource_error_get_type), (register_gst_stream_error),
5756         (gst_stream_error_get_type), (register_gst_event_type_flags),
5757         (gst_event_type_flags_get_type), (register_gst_event_type),
5758         (gst_event_type_get_type), (register_gst_seek_type),
5759         (gst_seek_type_get_type), (register_gst_seek_flags),
5760         (gst_seek_flags_get_type), (register_gst_format),
5761         (gst_format_get_type), (register_gst_index_certainty),
5762         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5763         (gst_index_entry_type_get_type),
5764         (register_gst_index_lookup_method),
5765         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5766         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5767         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5768         (gst_index_flags_get_type), (register_gst_debug_level),
5769         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5770         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5771         (gst_iterator_result_get_type), (register_gst_iterator_item),
5772         (gst_iterator_item_get_type), (register_gst_message_type),
5773         (gst_message_type_get_type), (register_gst_mini_object_flags),
5774         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5775         (gst_pad_link_return_get_type), (register_gst_flow_return),
5776         (gst_flow_return_get_type), (register_gst_activate_mode),
5777         (gst_activate_mode_get_type), (register_gst_pad_direction),
5778         (gst_pad_direction_get_type), (register_gst_pad_flags),
5779         (gst_pad_flags_get_type), (register_gst_pad_presence),
5780         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5781         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5782         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5783         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5784         (gst_plugin_flags_get_type), (register_gst_rank),
5785         (gst_rank_get_type), (register_gst_query_type),
5786         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5787         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5788         (gst_tag_flag_get_type), (register_gst_task_state),
5789         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5790         (gst_alloc_trace_flags_get_type),
5791         (register_gst_type_find_probability),
5792         (gst_type_find_probability_get_type), (register_gst_uri_type),
5793         (gst_uri_type_get_type), (register_gst_parse_error),
5794         (gst_parse_error_get_type):
5795         * win32/common/gstenumtypes.h:
5796         * win32/common/gstversion.h:
5797           update visual studio generated files
5798
5799 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5800
5801         * win32/vs6/libgstbase.dsp:
5802         * win32/vs6/libgstelements.dsp:
5803           update project files for new locations
5804
5805 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5806
5807         * Makefile.am:
5808           remove some files
5809         * README:
5810           reinstate and update
5811         * DEVEL:
5812         * REQUIREMENTS:
5813           removed
5814         * LICENSE:
5815         * docs/random/LICENSE:
5816           moved to random
5817
5818 2005-11-30  Edward Hervey  <edward@fluendo.com>
5819
5820         * gst/gsttypefind.c: (gst_type_find_register):
5821         * gst/gsttypefind.h:
5822         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5823         (gst_type_find_factory_dispose):
5824         * gst/gsttypefindfactory.h:
5825         Fix memory leak in GstTypeFindFactory.
5826
5827 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5828
5829         * gst/gst.c:
5830         * plugins/elements/Makefile.am:
5831         * plugins/elements/gstelements.c:
5832         * plugins/elements/gstqueue.c:
5833           move queue from core to the elements plugin
5834
5835 2005-11-29  Andy Wingo  <wingo@pobox.com>
5836
5837         * libs/gst/base/gstbasetransform.h: 
5838         * libs/gst/base/gstbasesrc.h: 
5839         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5840
5841         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5842         of pointers by which to pad very extensible base classes (like the
5843         ones in libs/gst/base).
5844
5845 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5846
5847         * docs/gst/gstreamer-docs.sgml:
5848         * docs/gst/gstreamer-sections.txt:
5849         * docs/libs/gstreamer-libs-docs.sgml:
5850         * docs/libs/gstreamer-libs-sections.txt:
5851           moving documentation from core to lib
5852
5853 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5854
5855         * check/Makefile.am:
5856         * configure.ac:
5857         * docs/gst/Makefile.am:
5858         * gst/Makefile.am:
5859         * gst/base/.cvsignore:
5860         * gst/base/Makefile.am:
5861         * gst/base/README:
5862         * gst/base/gstadapter.c:
5863         * gst/base/gstadapter.h:
5864         * gst/base/gstbasesink.c:
5865         * gst/base/gstbasesink.h:
5866         * gst/base/gstbasesrc.c:
5867         * gst/base/gstbasesrc.h:
5868         * gst/base/gstbasetransform.c:
5869         * gst/base/gstbasetransform.h:
5870         * gst/base/gstcollectpads.c:
5871         * gst/base/gstcollectpads.h:
5872         * gst/base/gstpushsrc.c:
5873         * gst/base/gstpushsrc.h:
5874         * gst/base/gsttypefindhelper.c:
5875         * gst/base/gsttypefindhelper.h:
5876         * gst/check/Makefile.am:
5877         * gst/check/gstcheck.c:
5878         * gst/check/gstcheck.h:
5879         * gst/net/Makefile.am:
5880         * gst/net/gstnet.h:
5881         * gst/net/gstnetclientclock.c:
5882         * gst/net/gstnetclientclock.h:
5883         * gst/net/gstnettimepacket.c:
5884         * gst/net/gstnettimepacket.h:
5885         * gst/net/gstnettimeprovider.c:
5886         * gst/net/gstnettimeprovider.h:
5887         * libs/gst/Makefile.am:
5888         * libs/gst/base/Makefile.am:
5889         * libs/gst/base/gstbasetransform.c:
5890         * libs/gst/check/Makefile.am:
5891         * plugins/elements/Makefile.am:
5892         * po/POTFILES.in:
5893           CVS surgery + support to move base, check, and net out of gst
5894           and into libs/gst
5895
5896 2005-11-29  Andy Wingo  <wingo@pobox.com>
5897
5898         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5899
5900         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5901         padding.
5902
5903         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5904
5905         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5906
5907         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5908
5909         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5910         padding; reduces object size by about 30%. We don't expect
5911         anything else to go into gstobject.
5912
5913         * gst/gstminiobject.h (struct _GstMiniObject)
5914         (struct _GstMiniObjectClass): Only one pointer of padding; the
5915         payload is only a pointer and two ints anyway. For the class there
5916         are only two methods as well.
5917         
5918         * gst/gstelement.h (struct _GstElementClass): Removed
5919         the state_changed signal callback, it is not used.
5920
5921 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5922
5923         * docs/gst/gstreamer.types:
5924           fix includes, though they are a little dinky
5925
5926 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5927
5928         * check/Makefile.am:
5929           look in the right place for elements, a lot more chance of
5930           success
5931         * gst/Makefile.am:
5932           remove indexers and elements subdirs
5933         * plugins/Makefile.am:
5934           make indexers conditional
5935
5936 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5937
5938         * Makefile.am:
5939         * configure.ac:
5940         * plugins/elements/Makefile.am:
5941         * plugins/elements/gstcapsfilter.c:
5942         * plugins/elements/gstfilesink.c:
5943         * plugins/elements/gstfilesrc.c:
5944         * plugins/elements/gstidentity.c:
5945         * plugins/indexers/Makefile.am:
5946           do CVS surgery and related build fixery to move elements
5947           and indexers in a new gstreamer/plugins directory, out of the
5948           gst/ directory
5949
5950 2005-11-29  Andy Wingo  <wingo@pobox.com>
5951
5952         * check/Makefile.am:
5953         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5954         * pkgconfig/gstreamer-net.pc.in:
5955         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5956         #322257.
5957
5958 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5959
5960         * tools/Makefile.am:
5961         * tools/gst-complete.1.in:
5962         * tools/gst-complete.c:
5963         * tools/gst-compprep.1.in:
5964         * tools/gst-compprep.c:
5965           removing -compprep and -complete
5966
5967 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5968
5969         * gst/gstevent.c: (gst_event_new_new_segment),
5970         (gst_event_parse_new_segment):
5971         * gst/gstevent.h:
5972           fix #320529 - clean up new_segment API and structure.
5973           Let's hope everyone was using the methods, and not the structure.
5974
5975 2005-11-29  Edward Hervey  <edward@fluendo.com>
5976
5977         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5978         (gst_base_sink_event), (gst_base_sink_do_sync),
5979         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5980         Properly handle non GST_FORMAT_TIME segment
5981         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5982         Properly handle non GST_FORMAT_TIME segment
5983         * gst/gstsegment.c:
5984         This function is valid if the accumulator is 0 and the format
5985         is different from the requested format.
5986         
5987 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5988
5989         * docs/gst/gstreamer-sections.txt:
5990         Add gst_query_new_seeking and gst_query_parse_seeking to the
5991         docs.
5992
5993 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5994
5995         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5996           Treat a pad alloc with new caps the same as if we were not
5997           negotiated, in order to allow a changing upstream output
5998           to produce a new format of data.
5999
6000 2005-11-29  Edward Hervey  <edward@fluendo.com>
6001
6002         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6003         (gst_base_transform_event), (gst_base_transform_eventfunc):
6004         The event virtual method is now properly implemented, with a default
6005         handler
6006         Sub classes should call the parent_class event method. They should
6007         return FALSE if they had a problem handling the given event, or don't
6008         want GstBaseTransform to send that even downstream
6009         * gst/elements/gstidentity.c: (gst_identity_class_init),
6010         (gst_identity_init), (gst_identity_event),
6011         (gst_identity_transform_ip), (gst_identity_set_property),
6012         (gst_identity_get_property):
6013         * gst/elements/gstidentity.h:
6014         Added the single-segment boolean property.
6015         If set to TRUE, it will output a single segment of data, starting from
6016         0, will eat up all incoming newsegment, and modify the timestamp of the
6017         buffers accordingly
6018
6019 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6020
6021         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6022           Don't ref NULL target pad (#322751). Improve docs.
6023
6024 2005-11-29  Michael Smith  <msmith@fluendo.com>
6025
6026         * gst/gstregistryxml.c: (load_plugin):
6027           Don't crash if we failed to load a feature from a plugin. 
6028
6029 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6030
6031         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6032         (GST_START_TEST):
6033           use more check API and less GLib API
6034
6035 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6036
6037         * Makefile.am:
6038           don't run checks if we don't have check
6039         * common/check.mak:
6040           remove the registry when running make torture
6041         * docs/gst/gstreamer-sections.txt:
6042           remove second multiply
6043         * gst/gstqueue.c: (gst_queue_loop):
6044           fix a compile warning when disabling debug
6045
6046 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6047
6048         * gst/gstinfo.h:
6049         Hey! Let's print the pad name if the pointer != NULL instead
6050         of when it == NULL :-)
6051
6052 2005-11-28  Wim Taymans  <wim@fluendo.com>
6053
6054         * check/gst/gstutils.c: (GST_START_TEST):
6055         Updated check, add some scaling accuracy checking code.
6056
6057         * gst/gstutils.c: (gst_util_div128_64),
6058         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6059         (gst_util_uint64_scale_int):
6060         Fix 6 times faster division code. Optimize for common 
6061         1/1 and less common X/1 cases.
6062
6063 2005-11-28  Wim Taymans  <wim@fluendo.com>
6064
6065         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6066         More checks.
6067
6068         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6069         (do_linear_regression), (gst_clock_add_observation):
6070         Cleanups.
6071         Release lock when the clock cannot be slaved.
6072         Catch the case where the regression returned an invalid denominator.
6073
6074         * gst/gstutils.c: (gst_util_div128_64_iterate),
6075         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6076         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6077         Add protentially more performant non-iterative 128/64 divide function
6078         that unfortunatly does not work yet.
6079         Shortcut the trivial 0/X = 0 case.
6080         Remove the warnings on overflow.
6081
6082 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6083
6084         * gst/gstplugin.c: (gst_plugin_register_func):
6085           everything causing a plugin not to load should be at least a WARNING
6086
6087 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6088
6089         * docs/random/ensonic/dparams.txt:
6090           some TODOs for the next dev cycle
6091         * libs/gst/controller/gstcontroller.c:
6092         (gst_controlled_property_set_interpolation_mode),
6093         (gst_controlled_property_new):
6094         * libs/gst/controller/gstcontroller.h:
6095           use base type to assign acccessor functions
6096
6097 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6098
6099         * check/Makefile.am:
6100         Oops, that should have been top_srcdir
6101
6102 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6103
6104         * check/Makefile.am:
6105         * check/elements/fdsrc.c: (GST_START_TEST):
6106         Use a cmdline define to specify the location of a file to use for
6107         testing, to avoid breaking distcheck.
6108
6109 2005-11-28  Andy Wingo  <wingo@pobox.com>
6110
6111         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6112
6113 2005-11-28  Edward Hervey  <edward@fluendo.com>
6114
6115         * tools/gst-launch.c: (main):
6116         Clarify the output strings, makes it easier to translate.
6117         Fixes #322626
6118
6119 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6120
6121         * gst/Makefile.am:
6122           don't try and build net if we don't even have <sys/socket.h>
6123
6124 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6125
6126         * check/Makefile.am:
6127         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6128         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6129           Add tests for fdsrc seekability
6130
6131         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6132         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6133         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6134         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6135         * gst/elements/gstfdsrc.h:
6136           fdsrc should not be a 'live' source.
6137           Implement seeking on seekable fd's.
6138
6139         * gst/gstquery.c: (gst_query_new_seeking),
6140         (gst_query_parse_seeking):
6141         * gst/gstquery.h:
6142           Implement SEEKING query functions: 
6143             *_new_seeking and *_parse_seeking
6144
6145 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6146
6147         * gst/gstelement.c: (gst_element_dispose):
6148           don't loop forever
6149
6150         * gst/gstiterator.c:
6151         * gst/gststructure.c:
6152           doc fixes
6153
6154         * libs/gst/controller/gstcontroller.c:
6155         (gst_controlled_property_set_interpolation_mode):
6156         * libs/gst/controller/gstcontroller.h:
6157         * libs/gst/controller/gstinterpolation.c:
6158         (interpolate_none_get_enum_value_array):
6159           support controlling enums
6160
6161 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6162
6163         * gst/gstvalue.c:
6164           Improve documentation for gst_value_union().
6165
6166         * gst/gstvalue.h:
6167           Change return value for union, intersect and subtract functions
6168           from gint to gboolean.
6169
6170 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6171
6172         * gst/gstvalue.c: (gst_value_serialize_any_list),
6173         (gst_value_transform_any_list_string),
6174         (gst_value_deserialize_list), (gst_value_deserialize_array),
6175         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6176         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6177         (gst_value_set_fraction_range_full),
6178         (gst_value_deserialize_fraction_range),
6179         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6180         (gst_value_deserialize_boolean),
6181         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6182         (gst_value_serialize_float), (gst_value_deserialize_float),
6183         (gst_string_wrap), (gst_value_deserialize_string),
6184         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6185         (gst_value_union_int_range_int_range),
6186         (gst_value_intersect_int_range_int_range),
6187         (gst_value_intersect_double_range_double_range),
6188         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6189         (gst_value_subtract_int_range_int_range),
6190         (gst_value_subtract_double_double_range),
6191         (gst_value_subtract_double_range_double_range),
6192         (gst_value_deserialize_fraction):
6193         * gst/gstvalue.h:
6194           Use gint, gdouble and gchar in our API instead of int, double and
6195           char (and make usage in gstvalue.c more consistent).
6196
6197 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6198
6199         * check/Makefile.am:
6200         * libs/gst/controller/Makefile.am:
6201         * libs/gst/dataprotocol/Makefile.am:
6202           fix up Makefile.am and remove GST_ENABLE_NEW
6203
6204 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6205
6206         * configure.ac:
6207         * gst/Makefile.am:
6208         * gst/base/Makefile.am:
6209         * gst/check/Makefile.am:
6210         * gst/elements/Makefile.am:
6211         * gst/net/Makefile.am:
6212           update LDFLAGS use some more
6213
6214 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6215
6216         * common/m4/gst-doc.m4:
6217           Fixes #312589
6218
6219 2005-11-26  Edward Hervey  <edward@fluendo.com>
6220
6221         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6222         This shouldn't issue a g_warning since it returns NULL if it
6223         couldn't find the plugin, and all functions using this behave
6224         properly on a NULL return. Switching to a GST_WARNING.
6225
6226 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6227
6228         * gst/gstbin.c: (gst_bin_handle_message_func):
6229         Don't leak clock messages.
6230
6231 2005-11-25  Wim Taymans  <wim@fluendo.com>
6232
6233         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6234         (gst_util_uint64_scale_int):
6235         Optimisations, remove unneeded vars.
6236
6237 2005-11-25  Wim Taymans  <wim@fluendo.com>
6238
6239         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6240         Added more checks for the high precision uint64 cases.
6241
6242         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6243         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6244         Implement high precision (guint64 * guint64) / guint64.
6245
6246 2005-11-24  Wim Taymans  <wim@fluendo.com>
6247
6248         * gst/base/gstbasesrc.c: (gst_base_src_query):
6249         Fix wrong percentage query.
6250
6251         * gst/gstutils.c: (gst_util_uint64_scale),
6252         (gst_util_uint64_scale_int):
6253         Add some more common cases that can be handled 
6254         efficiently to _scale.
6255
6256 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6257
6258         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6259         (gst_mini_object_suite):
6260           don't use check calls from threads; check probably isn't
6261           threadsafe and using a lock to make it threadsafe would
6262           defeat the purpose of this check
6263         * gst/check/gstcheck.c:
6264         * gst/check/gstcheck.h:
6265           use GST_DEBUG some more
6266
6267 2005-11-24  Wim Taymans  <wim@fluendo.com>
6268
6269         * gst/gstutils.c: (gst_util_uint64_scale),
6270         (gst_util_uint64_scale_int):
6271         Chain trivial case to _scale_int.
6272
6273 2005-11-24  Wim Taymans  <wim@fluendo.com>
6274
6275         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6276         Added test for scaling.
6277
6278         * gst/gstclock.h:
6279         Small doc fix.
6280
6281         * gst/gstutils.c: (gst_util_uint64_scale_int):
6282         Implemented high precision scaling code.
6283
6284 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6285
6286         * gst/gstinfo.h:
6287           do not crash on pad==NULL
6288
6289 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6290
6291         Patch by: Stefan Kost
6292
6293         * common/gtk-doc.mak:
6294         * docs/gst/Makefile.am:
6295         * docs/libs/Makefile.am:
6296           Fix distcheck issues for the libraries docs build
6297           Closes #319599.
6298
6299 2005-11-24  Michael Smith <msmith@fluendo.com>
6300
6301         * docs/manual/basics-helloworld.xml:
6302           Fix bug #315027: memory leak in example code in docs.
6303
6304 2005-11-24  Michael Smith <msmith@fluendo.com>
6305
6306         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6307           Unlock the PREROLL_LOCK in a failure case.
6308
6309 2005-11-24  Wim Taymans  <wim@fluendo.com>
6310
6311         * docs/gst/gstreamer-sections.txt:
6312         * gst/base/gstadapter.h:
6313         * gst/base/gstbasesink.h:
6314         * gst/base/gstbasesrc.h:
6315         * gst/base/gstbasetransform.h:
6316         * gst/base/gstpushsrc.h:
6317         * gst/elements/gstfakesink.h:
6318         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6319         * gst/elements/gstfakesrc.h:
6320         * gst/elements/gstfilesink.h:
6321         * gst/elements/gstfilesrc.h:
6322         * gst/gst.c:
6323         * gst/gstbin.c:
6324         * gst/gstbuffer.c: (_gst_buffer_copy):
6325         * gst/gstbus.h:
6326         * gst/gstcaps.c:
6327         * gst/gstchildproxy.c:
6328         * gst/gstclock.c:
6329         * gst/gstelement.c:
6330         * gst/gstelementfactory.c:
6331         * gst/gstelementfactory.h:
6332         * gst/gstevent.c:
6333         * gst/gstghostpad.h:
6334         * gst/gstindex.h:
6335         * gst/gstinterface.h:
6336         * gst/gstminiobject.c:
6337         * gst/gstminiobject.h:
6338         * gst/gstpad.c:
6339         * gst/gstpad.h:
6340         * gst/gstpadtemplate.h:
6341         * gst/gstpipeline.h:
6342         * gst/gstpluginfeature.h:
6343         * gst/gstquery.h:
6344         * gst/gstqueue.h:
6345         * gst/gsttaglist.c:
6346         * gst/gsttaglist.h:
6347         * gst/gsttagsetter.c:
6348         * gst/gsttagsetter.h:
6349         * gst/gsttrace.c:
6350         * gst/gsttrace.h:
6351         * gst/gsttypefind.h:
6352         * gst/gsturi.h:
6353         * gst/gstvalue.c:
6354         * gst/net/gstnetclientclock.c:
6355         * gst/net/gstnetclientclock.h:
6356         * gst/net/gstnettimepacket.c:
6357         * gst/net/gstnettimeprovider.c:
6358         * gst/net/gstnettimeprovider.h:
6359         Doc fixes.
6360
6361 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6362
6363         * configure.ac: back to HEAD
6364
6365 === release 0.9.6 ===
6366
6367 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6368
6369         * configure.ac:
6370           releasing 0.9.6, "Always On Time"
6371
6372 2005-11-23  Wim Taymans  <wim@fluendo.com>
6373
6374         * docs/gst/gstreamer-sections.txt:
6375         * gst/glib-compat.c:
6376         * gst/gsttagsetter.c:
6377         * gst/gstvalue.c:
6378         * gst/net/gstnetclientclock.c:
6379         * gst/net/gstnettimepacket.h:
6380         Doc updates.
6381
6382 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6383
6384         * docs/faq/using.xml:
6385         * docs/libs/tmpl/gstcontrol.sgml:
6386         * docs/manual/advanced-dparams.xml:
6387         * docs/manual/appendix-checklist.xml:
6388         * docs/manual/basics-elements.xml:
6389         * docs/pwg/other-source.xml:
6390         * docs/random/moving-plugins:
6391         * gst/gstpad.c:
6392         * tools/gst-launch.1.in:
6393           remove mentions of sinesrc
6394
6395 2005-11-23  Michael Smith <msmith@fluendo.com>
6396
6397         * docs/gst/gstreamer-sections.txt:
6398           Update for new API and API changes.
6399         * gst/gstobject.h:
6400           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6401         * gst/gstvalue.c:
6402           Documentation typo fix.
6403         * gst/net/gstnettimepacket.c:
6404           Documentation fixes for arguments.
6405
6406 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6407
6408         * gst/gststructure.c: (gst_structure_get_fraction),
6409         (gst_structure_parse_value),
6410         (gst_structure_fixate_field_nearest_fraction):
6411         * gst/gststructure.h:
6412         * gst/gstutils.c: (gst_util_uint64_scale_int):
6413         * gst/gstutils.h:
6414         * scripts/update-funcnames:
6415         API Changes. 
6416         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6417         Make gst_structure_fixate_field_nearest_fraction take a numerator
6418         and denominator argument instead of a GValue
6419         add gst_structure_get_fraction helper function.
6420
6421 2005-11-23  Wim Taymans  <wim@fluendo.com>
6422
6423         * docs/design/part-TODO.txt:
6424         Update TODO.
6425
6426         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6427         * gst/net/gstnetclientclock.h:
6428         Use parent fields for timeout and window_size.
6429
6430 2005-11-23  Andy Wingo  <wingo@pobox.com>
6431
6432         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6433         rate_num/rate_denom change.
6434
6435         * gst/net/gstnetclientclock.c
6436         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6437         OBJECT_LOCK. Don't call add_observation with the lock.
6438
6439         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6440         fraction.
6441         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6442         rate fraction.
6443         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6444         deal with rate as a fraction whose numerator and denominator are
6445         GstClockTime values.
6446         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6447         master; the other fields are protected by the SLAVE_LOCK.
6448         (do_linear_regression): Note that this must be called with the
6449         SLAVE_LOCK.
6450         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6451         OBJECT_LOCK. Call set_calibration instead of touching the
6452         variables directly.
6453         (gst_clock_set_property, gst_clock_get_property): Protect
6454         master/slave parameters with the SLAVE_LOCK.
6455
6456         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6457         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6458         note that all of the instance variables that add_observation and
6459         the set_master functions use are protected by that lock and not
6460         the OBJECT_LOCK.
6461         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6462
6463         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6464         the caller to take the object lock.
6465
6466 2005-11-23  Wim Taymans  <wim@fluendo.com>
6467
6468         * gst/gsterror.c: (_gst_core_errors_init):
6469         * gst/gsterror.h:
6470         Add error for clock stuff.
6471
6472         * gst/gstpipeline.c: (gst_pipeline_change_state),
6473         (gst_pipeline_set_clock):
6474         Post clock error when clock cannot be used in a pipeline.
6475
6476 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6477
6478         * docs/gst/gstreamer-sections.txt:
6479           make two symbols from gstinfo private for the docs
6480         * gst/base/gstcollectpads.h:
6481         * gst/gstutils.c:
6482           fix doc typos, update docs
6483
6484 2005-11-22  Wim Taymans  <wim@fluendo.com>
6485
6486         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6487         (gst_base_sink_wait), (gst_base_sink_do_sync),
6488         (gst_base_sink_handle_event):
6489         * gst/base/gstbasesink.h:
6490         No need to store the clock, the parent element class already
6491         has it.
6492
6493         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6494         Updates for clock_set returning a gboolean
6495
6496         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6497         (gst_clock_id_wait_async), (gst_clock_class_init),
6498         (gst_clock_init), (gst_clock_finalize),
6499         (gst_clock_get_internal_time), (gst_clock_get_time),
6500         (gst_clock_slave_callback), (gst_clock_set_master),
6501         (gst_clock_get_master), (do_linear_regression),
6502         (gst_clock_add_observation), (gst_clock_set_property),
6503         (gst_clock_get_property):
6504         * gst/gstclock.h:
6505         Implement master/slave. When setting a clock as a slave, a
6506         periodic timeout is scheduled to sample master and slave times.
6507         Then the slave clock is recalibrated to match offset and rate
6508         of the master clock.
6509         Update logging a bit.
6510         Add flag so that a clock can state that is cannot be slaved to
6511         another clock.
6512
6513         * gst/gstelement.c: (gst_element_set_clock):
6514         * gst/gstelement.h:
6515         The set clock returns a gboolean for when an element cannot
6516         deal with the selected clock in the pipeline. 
6517
6518         * gst/gstpipeline.c: (gst_pipeline_change_state),
6519         (gst_pipeline_set_clock):
6520         * gst/gstpipeline.h:
6521         Handle the case where the selected clock cannot be set on
6522         the pipeline.
6523
6524         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6525         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6526         (gst_net_client_clock_set_property),
6527         (gst_net_client_clock_get_property),
6528         (gst_net_client_clock_observe_times):
6529         * gst/net/gstnetclientclock.h:
6530         Use regression code in GstClock parent, remove duplicated
6531         functionality.
6532
6533 2005-11-22  Michael Smith <msmith@fluendo.com>
6534
6535         * gst/gstutils.c: (gst_util_clock_time_scale):
6536         * gst/gstutils.h:
6537         * docs/gst/gstreamer-sections.txt:
6538           Rename method to have extra underscore.
6539
6540 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6541
6542         * gst/elements/Makefile.am:
6543         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6544         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6545         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6546         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6547         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6548         * gst/elements/gstfakesrc.h:
6549         * gst/gstqueue.c: (queue_leaky_get_type):
6550           correctly fix GEnumValues so that nick is the short lowercase
6551           dashed tag
6552         * tools/gst-inspect.c: (print_element_properties_info):
6553           also show the nick, since it's useful to use from parse_launch
6554           syntax
6555           Fixes #322139
6556
6557 2005-11-22  Michael Smith <msmith@fluendo.com>
6558
6559         * gst/gstutils.c: (gst_util_clocktime_scale):
6560         * gst/gstutils.h:
6561         * docs/gst/gstreamer-sections.txt:
6562           Add util method for scaling a clocktime by a fraction. Useful 
6563           implementation is left as an exercise for the reader.
6564
6565 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6566
6567         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6568         If needed, allocate storage in the destination value during
6569         collection.
6570
6571 2005-11-22  Edward Hervey  <edward@fluendo.com>
6572
6573         * docs/gst/gstreamer-sections.txt:
6574         * gst/Makefile.am:
6575         * gst/gst.h:
6576         * gst/gsturitype.c:
6577         * gst/gsturitype.h:
6578         * gst/gstutils.c: (gst_util_set_object_arg):
6579         * tools/gst-compprep.c: (main):
6580         * tools/gst-inspect.c: (print_element_properties_info):
6581         Removed GstURI, closes bug #321061
6582
6583 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6584
6585         * check/gst/gststructure.c: (GST_START_TEST):
6586         * gst/gststructure.c: (gst_structure_parse_value):
6587           Oops, broke automatic string type parsing.
6588           Add a test to catch it in future.
6589
6590 2005-11-22  Andy Wingo  <wingo@pobox.com>
6591
6592         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6593         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6594         Actually rename the function implementations. Grr.
6595
6596 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6597
6598         * check/gst/capslist.h:
6599           Comment test cases
6600         * check/gst/gststructure.c: (GST_START_TEST),
6601         (gst_structure_suite):
6602           Test automatic value type detection in gst_structure_from_string.
6603         * gst/gststructure.c: (gst_structure_parse_value):
6604           Add fraction as a type we try and guess automatically in
6605           caps/structure strings.
6606
6607 2005-11-22  Andy Wingo  <wingo@pobox.com>
6608
6609         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6610
6611         * gst/gsttagsetter.h:
6612         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6613         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6614         (gst_tag_setter_add_tag_valist)
6615         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6616         _add_values, _add_valist, and _add_valist_values. Since this is an
6617         interface the function suffixes should be more explicit so
6618         language binding don't end up with element.add_valist ->
6619         gst_tag_setter_add_valist, for example. Fixes #322069.
6620
6621 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6622
6623         * check/gst/gstcaps.c: (GST_START_TEST):
6624           Extend caps string tests to check that a caps to string
6625           conversion is reversible and produces the same caps.
6626
6627         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6628           Output "fraction" as the generic type fraction range, so caps
6629           serialisation and deserialisation works.
6630         * check/gst/capslist.h:
6631         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6632           Support 'MIN' and 'MAX' for deserialising fractions.
6633
6634 2005-11-22  Andy Wingo  <wingo@pobox.com>
6635
6636         * gst/gstevent.h (gst_event_new_new_segment)
6637         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6638         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6639         Renamed from *_newsegment, *_buffersize, *_notarget.
6640
6641         * scripts/update-funcnames: New script, performs the changes
6642         listed above.
6643
6644 2005-11-22  Wim Taymans  <wim@fluendo.com>
6645
6646         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6647         Make sure the GstFlowReturn is returned.
6648
6649         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6650         (gst_bus_add_signal_watch):
6651         * gst/gstbus.h:
6652         add gst_bus_add_signal_watch_full.
6653
6654         * gst/gstplugin.c: (gst_plugin_load_file):
6655         Small style cleanup.
6656
6657 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6658
6659         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6660           Block the fakesrc srcpad when we send an event, to avoid
6661           contention on the stream_lock causing random test failures.
6662
6663 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6664
6665         * check/gst/gstvalue.c: (GST_START_TEST):
6666         * gst/gstvalue.c: (gst_value_fraction_subtract):
6667           Fix subtraction.
6668
6669 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6670
6671         * gst/gst.h:
6672           include "gstchildproxy.h"
6673         * gst/gstchildproxy.h:
6674         * libs/gst/controller/gstcontroller.h:
6675           use G_GNUC_NULL_TERMINATED
6676
6677 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6678
6679         * check/gst/capslist.h:
6680         * check/gst/gstcaps.c: (GST_START_TEST):
6681         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6682         * gst/gststructure.c: (gst_structure_parse_range),
6683         (gst_structure_fixate_field_nearest_fraction):
6684         * gst/gststructure.h:
6685         * gst/gstvalue.c: (gst_value_init_fraction_range),
6686         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6687         (gst_value_collect_fraction_range),
6688         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6689         (gst_value_set_fraction_range_full),
6690         (gst_value_get_fraction_range_min),
6691         (gst_value_get_fraction_range_max),
6692         (gst_value_serialize_fraction_range),
6693         (gst_value_transform_fraction_range_string),
6694         (gst_value_compare_fraction_range),
6695         (gst_value_deserialize_fraction_range),
6696         (gst_value_intersect_fraction_fraction_range),
6697         (gst_value_intersect_fraction_range_fraction_range),
6698         (gst_value_subtract_fraction_fraction_range),
6699         (gst_value_subtract_fraction_range_fraction),
6700         (gst_value_subtract_fraction_range_fraction_range),
6701         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6702         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6703         (gst_value_transform_string_fraction), (_gst_value_initialize):
6704         * gst/gstvalue.h:
6705           Implement fraction ranges and extend GstFraction to support
6706           arithmetic subtraction, as well as deserialization from integer
6707           strings such as "100"
6708           Add a testsuite as for int and double range set operations
6709
6710 2005-11-21  Andy Wingo  <wingo@pobox.com>
6711
6712         * gst/gsttaglist.h: 
6713         * gst/gstcaps.h: 
6714         * gst/gststructure.h: Add glib-compat.h.
6715
6716 2005-11-21  Wim Taymans  <wim@fluendo.com>
6717
6718         * gst/gstbin.c: (gst_bin_change_state_func):
6719         Fix for #321595
6720
6721 2005-11-21  Wim Taymans  <wim@fluendo.com>
6722
6723         * gst/gstsegment.h:
6724         And add a nice define too.
6725
6726 2005-11-21  Wim Taymans  <wim@fluendo.com>
6727
6728         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6729         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6730         (gst_segment_set_duration), (gst_segment_set_last_stop),
6731         (gst_segment_set_seek), (gst_segment_set_newsegment),
6732         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6733         (gst_segment_clip):
6734         * gst/gstsegment.h:
6735         Make binding friendly.
6736
6737 2005-11-21  Andy Wingo  <wingo@pobox.com>
6738
6739         * gst/gsttagsetter.h: 
6740         * gst/gsttaglist.h: 
6741         * gst/gststructure.h: 
6742         * gst/gstcaps.h: 
6743         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6744         #319940.
6745
6746         * gst/gsterror.c (_gst_core_errors_init):
6747         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6748         category.
6749
6750         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6751         (noinst_HEADERS): noinst the -private.
6752
6753 2005-11-21  Michael Smith <msmith@fluendo.com>
6754
6755         * gst/gstplugin.h:
6756         * gst/gstregistry.h:
6757           Remove unimplemented declarations for which we can see no sensible
6758           use.
6759
6760 2005-11-21  Andy Wingo  <wingo@pobox.com>
6761
6762         * gst/gst.h: Include glib-compat.h.
6763
6764         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6765
6766         * gst/glib-compat.c: Include the public and the private header.
6767
6768         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6769
6770         * gst/gstvalue.c: 
6771         * gst/gstpad.c: 
6772         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6773
6774         * check/gst/gstevent.c (create_custom_events): Check that
6775         FLUSH_STOP is serialized.
6776
6777         * check/elements/identity.c (event_func): 
6778         * check/elements/fakesrc.c (event_func): No stream lock, the core
6779         takes it.
6780
6781         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6782         stream lock taking, yay.
6783
6784         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6785         ensure that core takes the stream lock.
6786
6787         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6788         lock name change.
6789
6790         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6791         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6792         it already. For the flush start we do take it though so we get the
6793         right preroll state change messages.
6794
6795         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6796         the stream lock here, the core does it for us.
6797
6798         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6799         GST_STREAM_GET_LOCK.
6800         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6801         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6802         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6803         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6804         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6805         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6806
6807         * gst/gstpad.c: Update for stream lock name change.
6808
6809         * gst/base/gstbasesink.c: Update for preroll lock name change.
6810
6811 2005-11-21  Wim Taymans  <wim@fluendo.com>
6812
6813         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6814         (gst_clock_get_master):
6815         * gst/gstclock.h:
6816         * gst/gstsystemclock.c: (gst_system_clock_init):
6817         Convert Clock flags to object flags.
6818         Added methods to manage master/slave clocks.
6819
6820 2005-11-21  Wim Taymans  <wim@fluendo.com>
6821
6822         * check/gst/gstsegment.c: (GST_START_TEST):
6823         * docs/design/part-TODO.txt:
6824         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6825         (gst_base_sink_event), (gst_base_sink_do_sync),
6826         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6827         (gst_base_sink_query), (gst_base_sink_change_state):
6828         * gst/base/gstbasesink.h:
6829         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6830         (gst_base_src_default_newsegment),
6831         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6832         (gst_base_src_get_range), (gst_base_src_loop),
6833         (gst_base_src_change_state):
6834         * gst/base/gstbasesrc.h:
6835         * gst/base/gstbasetransform.c:
6836         (gst_base_transform_prepare_output_buf),
6837         (gst_base_transform_event), (gst_base_transform_change_state):
6838         * gst/base/gstbasetransform.h:
6839         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6840         (gst_collect_pads_event):
6841         * gst/base/gstcollectpads.h:
6842         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6843         (gst_fake_src_create):
6844         * gst/elements/gstfakesrc.h:
6845         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6846         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6847         (gst_segment_set_last_stop), (gst_segment_set_seek),
6848         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6849         (gst_segment_to_running_time), (gst_segment_clip):
6850         * gst/gstsegment.h:
6851         More segment updates, replace code in plugins with segment
6852         helper functions.
6853
6854 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6855
6856         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6857         Don't ignore sscanf results
6858
6859 2005-11-21  Andy Wingo  <wingo@pobox.com>
6860
6861         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6862
6863         * *.h:
6864         * *.c: Ran scripts/update-macros. Oh yes.
6865
6866         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6867         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6868         GST_GET_LOCK, etc.
6869
6870         * scripts/update-macros: New script. Run it on your files to
6871         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6872         well.
6873
6874 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6875
6876         * docs/gst/Makefile.am:
6877         * docs/gst/gstreamer-docs.sgml:
6878         * docs/gst/gstreamer-sections.txt:
6879         * docs/gst/gstreamer.types:
6880         * gst/gstinfo.h:
6881           more docs fixes, add new api to the docs
6882
6883 2005-11-21  Andy Wingo  <wingo@pobox.com>
6884
6885         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6886         state_broadcast call.
6887
6888         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6889
6890 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6891
6892         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6893         function calls for arrays.
6894
6895 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6896
6897         * docs/random/ensonic/media-device-daemon.txt:
6898           wild idea, can this be done?
6899         * docs/gst/gstreamer-sections.txt:
6900         * gst/gsterror.h:
6901         * gst/gstfilter.c:
6902         * gst/gstfilter.h:
6903         * gst/gstplugin.h:
6904         * gst/gstpluginfeature.c:
6905         * gst/gsttrace.c:
6906         * gst/gstvalue.c:
6907         * gst/gstvalue.h:
6908           doc fixes and additions
6909
6910 2005-11-21  Andy Wingo  <wingo@pobox.com>
6911
6912         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6913         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6914         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6915         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6916         private to the basesrc implementation.
6917
6918         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6919         behalf of event function if necessary. It should no longer be
6920         necessary to take the stream lock in pad's event functions. Fixes
6921         #320299.
6922
6923 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6924         * docs/gst/gstreamer-sections.txt:
6925         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6926         (gst_structure_fixate_field_nearest_double),
6927         (gst_structure_fixate_field_boolean):
6928         * gst/gststructure.h:
6929         * win32/common/libgstreamer.def:
6930         * win32/gstreamer.def:
6931
6932         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6933         (#322027)
6934
6935 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6936
6937         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6938         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6939         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6940         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6941         (gst_fdsrc_uri_handler_init):
6942         * gst/elements/gstfdsrc.h:
6943           Port fd:// URI handler from 0.8 to fdsrc
6944
6945 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6946
6947         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6948         (gst_value_serialize_fourcc):
6949         * gst/gstvalue.h:
6950           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6951           consistent with our other format defines (#320324).
6952
6953 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6954
6955         * gst/gstvalue.c: (gst_value_is_fixed):
6956           Revert previous commit. Value lists are by definition
6957           not fixed, as they are a list of possible values.
6958
6959 2005-11-21  Andy Wingo  <wingo@pobox.com>
6960
6961         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6962         during the stable series if we need it. Fixes #319178.
6963
6964         * gst/gstevent.c (gst_event_new_filler): Removed.
6965
6966         * check/gst/gstevent.c: Update comment about filler events.
6967
6968 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6969
6970         * gst/gstvalue.c: (gst_value_is_fixed):
6971           Should handle both value arrays and value lists.
6972
6973 2005-11-21  Andy Wingo  <wingo@pobox.com>
6974
6975         patch by: Alessandro Dessina <alessandro nnva org>
6976
6977         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6978         functions to access arrays. Fixes #321962.
6979
6980 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6981
6982         * docs/gst/gstreamer.types:
6983           gst_collectpads_get_type => gst_collect_pads_get_type.
6984           
6985         * gst/base/gstbasetransform.c:
6986           Remove unused SIGNAL_HANDOFF enum.
6987
6988 2005-11-21  Andy Wingo  <wingo@pobox.com>
6989
6990         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6991         the event type (upstream, downstream, serialized). Renamed
6992         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6993         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6994         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6995
6996         * gst/gstevent.c: Update for new CUSTOM event names.
6997
6998         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6999
7000         * gst/gstevent.h:
7001         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7002         bug #319392.
7003
7004 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7005
7006         * docs/gst/gstreamer-sections.txt:
7007         * win32/common/libgstbase.def:
7008         * win32/libgstbase.def:
7009         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7010         (gst_collect_pads_class_init), (gst_collect_pads_init),
7011         (gst_collect_pads_finalize), (gst_collect_pads_new),
7012         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7013         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7014         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7015         (gst_collect_pads_start), (gst_collect_pads_stop),
7016         (gst_collect_pads_peek), (gst_collect_pads_pop),
7017         (gst_collect_pads_available), (gst_collect_pads_read),
7018         (gst_collect_pads_flush), (gst_collect_pads_event),
7019         (gst_collect_pads_chain):
7020         * gst/base/gstcollectpads.h:
7021           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7022           unimplemented functions as unimplemented. Add padding to
7023           GstCollectData. (#320766, #320423)
7024
7025 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7026
7027         * gst/gstmessage.c:
7028           Improve docs for DURATION message (usage of duration parameter)
7029           (#320113)
7030
7031 2005-11-20  Wim Taymans  <wim@fluendo.com>
7032
7033         * check/Makefile.am:
7034         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7035         (main):
7036         * gst/Makefile.am:
7037         * gst/gst.h:
7038         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7039         (gst_segment_set_seek), (gst_segment_set_newsegment),
7040         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7041         (gst_segment_clip):
7042         * gst/gstsegment.h:
7043         Added segment helper structure and methods. Not fully implemented
7044         yet.
7045         Added segment check.
7046
7047 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7048
7049         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7050           Add a deserialisation test for fractions
7051         * examples/metadata/read-metadata.c: (message_loop),
7052         (make_pipeline), (main):
7053           Fix up metadata reading sample.
7054         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7055           Debug format fix
7056         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7057           Don't try and fixate empty caps
7058         * gst/gst_private.h:
7059           Wrap in G_BEGIN_DECLS/G_END_DECLS
7060         * gst/gstvalue.c: (gst_value_collect_fraction),
7061         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7062         (gst_value_transform_string_fraction),
7063         (gst_value_compare_fraction):
7064           Add some extra guards to ensure that we don't end up 
7065           with an invalid denominator of 0 in a gstfraction and
7066           that fractions always get reduced.
7067
7068 2005-11-20  Wim Taymans  <wim@fluendo.com>
7069
7070         * docs/gst/gstreamer-sections.txt:
7071         * gst/gstbuffer.h:
7072         * gst/gstelement.c:
7073         * gst/gstformat.c:
7074         * gst/gstformat.h:
7075         * gst/gstindex.h:
7076         * gst/gstquery.c:
7077         * gst/gstquery.h:
7078         * gst/gstvalue.c:
7079         Doc fixes.
7080
7081 2005-11-20  Wim Taymans  <wim@fluendo.com>
7082
7083         * docs/design/part-TODO.txt:
7084         * gst/gstcaps.h:
7085         Make a proper enum of the flag.
7086
7087 2005-11-19  Wim Taymans  <wim@fluendo.com>
7088
7089         * docs/design/part-TODO.txt:
7090         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7091         (gst_format_to_quark), (gst_format_register):
7092         * gst/gstformat.h:
7093         * gst/gstquery.c: (_gst_query_initialize),
7094         (gst_query_type_get_name), (gst_query_type_to_quark),
7095         (gst_query_type_register):
7096         * gst/gstquery.h:
7097         Add type to quark and type to string conversions.
7098
7099 2005-11-19  Andy Wingo  <wingo@pobox.com>
7100
7101         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7102         #320097.
7103
7104 2005-11-19  Wim Taymans  <wim@fluendo.com>
7105
7106         * docs/design/part-TODO.txt:
7107         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7108         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7109         (gst_bin_handle_message_func):
7110         * gst/gstbin.h:
7111         Make message handling overridable.
7112
7113 2005-11-19  Andy Wingo  <wingo@pobox.com>
7114
7115         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7116
7117         * gst/gstclock.h:
7118         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7119         be a GstClockTime.
7120         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7121         is a GstClockTime. Fixes #321710.
7122
7123         * gst/gstclock.h (GstClock): Remove offset property. Add
7124         internal_calibration and external_calibration. Fix padding. Pad
7125         also by GstClockTime so we don't run into problems.
7126
7127         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7128         (gst_clock_get_rate_offset): Remove.
7129         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7130
7131         * gst/gstutils.h:
7132         * gst/gstutils.c (g_static_rec_cond_wait)
7133         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7134
7135         * gst/gstbin.c: Remove terrible continue_state prototype.
7136
7137         * gst/gstelement.h (gst_element_continue_state): Make public.
7138
7139         * gst/gstelement.h:
7140         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7141         by continue_state. Fixes #319389.
7142
7143         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7144         Really fixes #168438. However I don't see anywhere where the
7145         filter function is called... stupid GStreamer...
7146         
7147         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7148         don't have a dispose function, so it won't get called when the
7149         object is unreffed, but oh well!
7150
7151         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7152         allows a destroy function to be set so user_data can be freed.
7153         Fixes #168438.
7154         (gst_index_set_filter): Call gst_index_set_filter_full.
7155
7156         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7157
7158         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7159         string should produce an error, given the lack of a way to
7160         represent NULL strings. Fixes #165650.
7161         
7162         * gst/gstvalue.h: 
7163         * gst/gstvalue.c (gst_value_array_append_value) 
7164         (gst_value_array_prepend_value, gst_value_array_get_size) 
7165         (gst_value_array_get_value): New API, copied from
7166         gst_value_list_*, only operates on arrays.
7167         (gst_value_list_append_value, gst_value_list_prepend_value) 
7168         (gst_value_list_concat, gst_value_list_get_size) 
7169         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7170
7171         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7172         init_list, because it works on both.
7173         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7174         (gst_value_copy_list_or_array): Renamed from copy_list.
7175         (gst_value_free_list_or_array): Renamed from free_list.
7176         (gst_value_collect_list_or_array): Renamed from collect_list.
7177         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7178         (gst_value_list_or_array_peek_pointer): Renamed from
7179         list_peek_pointer.
7180         (_gst_value_array_value_table, _gst_value_list_value_table):
7181         Update value table functions.
7182         (gst_value_compare_list_or_array): Renamed from compare_list.
7183
7184         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7185         some constness.
7186
7187         * gst/gsttaglist.c:
7188         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7189         GstTagList*. Fixes #143472.
7190
7191         * gst/gststructure.h: Clarify what the foreach/map functions can
7192         or can't do to their arguments.
7193
7194 2005-11-18  Wim Taymans  <wim@fluendo.com>
7195
7196         * gst/gstclock.c: (gst_clock_set_calibration),
7197         (gst_clock_get_calibration):
7198         Doc and API fixes.
7199         Calibration can be set with internal time equal to current
7200         internal time too.
7201
7202 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7203
7204         * gst/gsterror.c:
7205         * gst/gsterror.h:
7206           document
7207
7208 2005-11-18  Andy Wingo  <wingo@pobox.com>
7209
7210         * configure.ac: 
7211         * pkgconfig/gstreamer-net.pc.in:
7212         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7213         * pkgconfig/Makefile.am: Add net pkgconfig files.
7214
7215 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7216
7217         * gst/gstcaps.c:
7218         * gst/gstghostpad.c:
7219         * gst/gsttrace.c:
7220         * gst/gstvalue.c:
7221         * gst/gstvalue.h:
7222           docs fixes
7223
7224 2005-11-18  Andy Wingo  <wingo@pobox.com>
7225
7226         * gst/net/gstnetclientclock.c: Turn off debugging.
7227
7228         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7229         times connverge somewhat. Can't make a real test.
7230
7231         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7232         integer arithmetic. Return the minimum of the domain, which can be
7233         set as "internal" for gst_clock_set_calibration.
7234         (gst_net_client_clock_observe_times): Call _set_calibration.
7235         (gst_net_client_clock_new): Call _set_calibration instead of
7236         rate_offset.
7237
7238         * check/net/gstnetclientclock.c (test_functioning): Use the right
7239         adjustment api.
7240
7241         * gst/gstclock.h:
7242         * gst/gstclock.c (gst_clock_get_calibration) 
7243         (gst_clock_set_calibration): New functions, obsolete the ones I
7244         added yesterday. Doh. Precision issues mean we have to extrapolate
7245         from a point in the more recent past than 1970.
7246         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7247         obsolete.
7248         (gst_clock_adjust_unlocked): Use the right calibration data.
7249
7250 2005-11-18  Edward Hervey  <edward@fluendo.com>
7251
7252         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7253         Also reset the ->current_* values in READY->PAUSED
7254
7255 2005-11-18  Andy Wingo  <wingo@pobox.com>
7256
7257         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7258         Whoops, check the right fd. Also add some debugging.
7259         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7260         (do_linear_regression): Add a crapload of debugging. Subtract off
7261         the minimum values from the input series to discard unneeded bits.
7262         Use only int arithmetic. There is still double arithmetic when
7263         calculating the intercept that needs fixing. Return boolean to
7264         indicate success; FALSE would mean the domain or range is too
7265         great. Still needs fixes.
7266
7267 2005-11-18  Wim Taymans  <wim@fluendo.com>
7268
7269         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7270         For the current position in stream time, we need to subtract
7271         accumulated time.
7272         
7273         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7274         Release lock before calling the callback function of async
7275         entries.
7276
7277 2005-11-18  Andy Wingo  <wingo@pobox.com>
7278
7279         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7280         Port goes all the way to MAXUINT16.
7281
7282         * gst/net/gstnettimeprovider.c: Make the port range the same as
7283         for the kernel: 0 assigns, otherwise ports are less than
7284         MAXUINT16.
7285
7286         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7287         port change.
7288
7289         * check/net/gstnetclientclock.c (test_functioning): Add the start
7290         of another test. 
7291
7292 2005-11-18  Wim Taymans  <wim@fluendo.com>
7293
7294         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7295         (gst_bin_remove_func), (bin_bus_handler):
7296         * gst/gstbin.h:
7297         Removing a clock provider from a bin, triggers a clock lost message
7298         so that a new clock will be selected.
7299         Adding a clock to a bin triggers a clock provider message.
7300         Make sure we reselect a clock when we received a clock lost message.
7301         Keep a reference to the element that provided the clock.
7302
7303 2005-11-18  Andy Wingo  <wingo@pobox.com>
7304
7305         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7306         the clock initially so it produces values around the base time.
7307         (gst_net_client_clock_class_init): Typo fix.
7308         (gst_net_client_clock_thread): Add note on when the socket gets
7309         closed.
7310
7311 2005-11-17  Wim Taymans  <wim@fluendo.com>
7312
7313         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7314         Free remote and local time arrays.
7315
7316 2005-11-17  Wim Taymans  <wim@fluendo.com>
7317
7318         * gst/net/gstnetclientclock.c: (do_linear_regression),
7319         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7320         Fix compilation, uninitialized vars and a forgotten continue.
7321
7322 2005-11-17  Andy Wingo  <wingo@pobox.com>
7323
7324         * check/Makefile.am (check_PROGRAMS): 
7325         * check/net/gstnetclientclock.c: Add a most minimal test for the
7326         net client clock. More to come later.
7327
7328         * gst/net/gstnet.h: 
7329         * gst/net/Makefile.am: Add netclientclock.
7330
7331         * gst/net/gstnetclientclock.h:
7332         * gst/net/gstnetclientclock.c: New files, implement an untested
7333         GstClock that takes its time from a network time provider.
7334         Implements the algorithm in network-clock.scm.
7335
7336         * tests/network-clock.scm (*window-size*): Rename from
7337         *queue-length*.
7338         * tests/network-clock.scm (network-time): 
7339         * tests/network-clock-utils.scm (q-push): Update callers.
7340
7341 2005-11-17  Wim Taymans  <wim@fluendo.com>
7342
7343         * gst/gstbin.c: (gst_bin_provide_clock_func),
7344         (gst_bin_sort_iterator_new):
7345         And unref the child too..
7346
7347 2005-11-17  Wim Taymans  <wim@fluendo.com>
7348
7349         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7350         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7351         Refactor the sort iterator so it can be used while holding the
7352         LOCK too.
7353         Make clock selection select a clock closest to the source.
7354
7355 2005-11-17  Michael Smith <msmith@fluendo.com>
7356
7357         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7358         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7359         * gst/gstclock.h:
7360           Anonymous structs are a gcc (and some other compilers) extension, so
7361           don't use them. Since this is only for ABI-compatibility, and our
7362           API/ABI freeze is over in a few days, this whole thing will only
7363           last a few days, so don't bother trying to think up a meaningful
7364           name for the struct.
7365
7366 2005-11-17  Andy Wingo  <wingo@pobox.com>
7367
7368         * gst/gstclock.h (GstClock): Add rate and offset properties,
7369         preserving ABI stability. Add rate/offset accessors. Will file bug
7370         for the freeze break.
7371
7372         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7373         and offset, trying to keep precision and avoiding
7374         underflow/overflow.
7375         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7376         functions. Make gst_clock_set_time_adjust obsolete.
7377         (gst_clock_set_time_adjust): Note that this function is obsolete.
7378         Will file bug soon.
7379
7380         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7381         greppable by using GST_PADDING-1+1.
7382
7383 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7384
7385         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7386
7387         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7388           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7389
7390         * gst/gstpadtemplate.h:
7391         * gst/gstpluginfeature.h:
7392           Don't use c++ style comments in headers (#321638).
7393
7394 2005-11-16  Andy Wingo  <wingo@pobox.com>
7395
7396         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7397         buffer.
7398
7399         * check/net/gstnettimeprovider.c: Check to see that the time
7400         provider actually provides times. Works, yo!
7401
7402 2005-11-16  Wim Taymans  <wim@fluendo.com>
7403
7404         * check/Makefile.am:
7405         Enable more tests.
7406
7407         * check/elements/fakesrc.c: (GST_START_TEST):
7408         Set element to NULL before disposing it.
7409
7410 2005-11-16  Andy Wingo  <wingo@pobox.com>
7411
7412         * gst/net/Makefile.am:
7413         * gst/net/gstnet.h:
7414         * gst/net/gstnettimeprovider.c: 
7415         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7416         provider, include it from gstnet.h, and add it to the build.
7417
7418         * gst/net/gstnettimepacket.h: 
7419         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7420         sending and receiving.
7421
7422 2005-11-16  Wim Taymans  <wim@fluendo.com>
7423
7424         * check/Makefile.am:
7425         Enable valgrind check.
7426
7427         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7428         (gst_fake_src_alloc_buffer):
7429         Fix memleak.
7430
7431 2005-11-16  Wim Taymans  <wim@fluendo.com>
7432
7433         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7434         Call parent finalize too.
7435
7436 2005-11-16  Wim Taymans  <wim@fluendo.com>
7437
7438         * check/Makefile.am:
7439         Enable valgrind check that should work fine now.
7440
7441         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7442         * gst/gstqueue.c: (gst_queue_init):
7443         Fix memleaks in pad allocation.
7444
7445 2005-11-16  Andy Wingo  <wingo@pobox.com>
7446
7447         * gst/net/Makefile.am:
7448         * gst/net/gstnet.h: New part of core to hold network elements and
7449         objects. Put in core because it exposes API that applications want
7450         to use. The library is named libgstnet-tempname right now because
7451         of the existing libgstnet in gst-plugins-base. Solution is
7452         probably to rename the one in plugins-base; will file a bug for
7453         the freeze break.
7454
7455         * gst/net/gstnettimeprovider.c: 
7456         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7457         get_time call over the network.
7458
7459         * configure.ac: 
7460         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7461
7462         * check/Makefile.am:
7463         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7464         get additions shortly.
7465
7466 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7467
7468         * gst/gstpad.c: (gst_pad_new_from_static_template):
7469         * gst/gstpad.h:
7470           add gst_pad_new_from_static_template functions
7471         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7472         (gst_check_setup_sink_pad):
7473         * gst/elements/gsttee.c: (gst_tee_init):
7474           and use them
7475
7476 2005-11-16  Wim Taymans  <wim@fluendo.com>
7477
7478         * gst/gstpad.c: (gst_pad_pause_task):
7479         Removed warning, it's not really an error either.
7480
7481 2005-11-16  Wim Taymans  <wim@fluendo.com>
7482
7483         * gst/base/gstbasetransform.c:
7484         (gst_base_transform_prepare_output_buf),
7485         (gst_base_transform_event):
7486         Check if the caps are NULL, this can happen if the element
7487         is shutting down and the pad caps are set to NULL.
7488
7489 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7490
7491         * gst/elements/gsttee.c: (gst_tee_init):
7492           fix pad template leak in tee
7493
7494 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7495
7496         * gst/glib-compat.c: (g_value_dup_gst_object):
7497         * gst/glib-compat.h:
7498         * gst/gstpad.c: (gst_pad_set_property):
7499           use gst_object_ref when setting the pad template; this will
7500           trigger the pad template leaks on GLib 2.6 and the slaves
7501
7502 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7503
7504         * gst/glib-compat.c: (gst_flags_get_first_value):
7505         * gst/glib-compat.h:
7506         * gst/gstregistryxml.c:
7507           remove functions copied from GLib 2.6
7508
7509 2005-11-16  Michael Smith <msmith@fluendo.com>
7510
7511         * gst/Makefile.am:
7512           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7513           do, but only breaks with newer valgrind versions. We're not a
7514           valgrind tool, we have no link-time dependencies on libcoregrind.
7515
7516 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7517
7518         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7519           some debug changes
7520         * gst/gstmessage.h:
7521           typo fixes
7522
7523 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7524
7525         * gst/base/gstbasesrc.c: (gst_base_src_init):
7526         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7527         * gst/gstqueue.c: (gst_queue_init):
7528         * gst/gstregistryxml.c: (load_feature):
7529           Revert all these unrefs, they don't even pass make check !
7530
7531 2005-11-15  Johan Dahlin  <johan@gnome.org>
7532
7533         * gst/base/gstbasesrc.c: (gst_base_src_init):
7534         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7535         * gst/gstqueue.c: (gst_queue_init): 
7536         Free pad templates, fixes a couple of leaks.
7537
7538 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7539
7540         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7541
7542         * gst/gstpad.c: (gst_pad_get_property):
7543           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7544           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7545           (#321452)
7546
7547 2005-11-15  Wim Taymans  <wim@fluendo.com>
7548
7549         * gst/gstevent.c:
7550         Small doc update.
7551
7552 2005-11-15  Andy Wingo  <wingo@pobox.com>
7553
7554         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7555
7556         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7557         using GST_CLOCK_TIME_NONE to disable base time management.
7558         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7559         time if it was NONE before.
7560         (gst_pipeline_change_state): Only munge the base time if
7561         stream_time != GST_CLOCK_TIME_NONE.
7562
7563         * check/gst/gstpipeline.c (test_base_time): Punt around the
7564         problem of the probe not being called, because that's not the
7565         issue I'm looking at. Add a check that setting stream_time to NONE
7566         disables base time management.
7567         
7568 2005-11-15  Wim Taymans  <wim@fluendo.com>
7569
7570         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7571         segment_stop == -1 at startup.
7572
7573         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7574         (gst_base_transform_change_state):
7575         Init segment values at start.
7576
7577 2005-11-15  Wim Taymans  <wim@fluendo.com>
7578
7579         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7580         0 segment values are 0 in any format.
7581
7582         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7583         * gst/base/gstbasetransform.h:
7584         Parse newsegment correctly in basetransform
7585
7586         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7587         Sync to clock using updated segment values.
7588
7589 2005-11-15  Andy Wingo  <wingo@pobox.com>
7590
7591         * check/gst/gstpipeline.c (test_base_time): Add check that the
7592         base time and stream time are reset correctly.
7593
7594 2005-11-15  Wim Taymans  <wim@fluendo.com>
7595
7596         * docs/design/part-TODO.txt:
7597         Some more TODO items.
7598
7599 2005-11-15  Andy Wingo  <wingo@pobox.com>
7600
7601         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7602         error if the user selected "no clock" as the clocking method.
7603
7604         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7605         timestamps with live capture.
7606
7607         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7608         is 0 but we are a live source, timestamp the buffers using the
7609         element's clock.
7610
7611 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7612
7613         * docs/gst/gstreamer-sections.txt:
7614         * gst/gsterror.c:
7615         * gst/gstghostpad.c:
7616         * gst/gstobject.h:
7617         * gst/gstxml.c:
7618           more section docs
7619
7620 2005-11-14  Wim Taymans  <wim@fluendo.com>
7621
7622         * common/gst.supp:
7623           add suppressions from Wim's Debian machine
7624
7625 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7626
7627         * common/gst.supp:
7628           add suppressions from Andy's AMD64 Ubuntu machine
7629
7630 2005-11-14  Andy Wingo  <wingo@pobox.com>
7631
7632         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7633         STATE_LOCK not necessary. Fixes #311489.
7634
7635         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7636         #305291.
7637
7638         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7639         this function is not implemented.
7640
7641 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7642
7643         * gst/base/gstbasetransform.c:
7644         (gst_base_transform_prepare_output_buf):
7645         Ref the source pad caps while we need them.
7646         Fixes (#321386)
7647
7648 2005-11-11  Wim Taymans  <wim@fluendo.com>
7649
7650         * docs/gst/gstreamer-sections.txt:
7651         Added some docs for GstCollectData.
7652
7653         * gst/base/gstadapter.c:
7654         Some small code example fix.
7655
7656         * gst/base/gstcollectpads.c:
7657         * gst/base/gstcollectpads.h:
7658         Document some more.
7659
7660 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7661
7662         * configure.ac: back to HEAD
7663
7664 === release 0.9.5 ===
7665
7666 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7667
7668         * configure.ac:
7669           releasing 0.9.5, "Bike Lunch Day"
7670
7671 2005-11-11  Wim Taymans  <wim@fluendo.com>
7672
7673         * gst/gstbuffer.c: (_gst_buffer_copy):
7674         Copy more flags.
7675
7676         * gst/gstcaps.c: (gst_caps_is_equal):
7677         Fix some docs.
7678         Make _is_equal fast in the trivial cases.
7679
7680         * gst/gstminiobject.c:
7681         * gst/gstminiobject.h:
7682         More docs. Spifify .h file.
7683
7684         * gst/gstutils.c:
7685         Small doc update.
7686
7687 2005-11-11  Wim Taymans  <wim@fluendo.com>
7688
7689         * gst/base/gstbasetransform.c:
7690         (gst_base_transform_prepare_output_buf),
7691         (gst_base_transform_handle_buffer):
7692         Small cleanups.
7693         If we're processing a buffer and need to allocate an output
7694         buffer, we cannot accept a format change. If we did get a 
7695         format change, we have to alloc a buffer ourselves of the 
7696         right size.
7697
7698 2005-11-11  Wim Taymans  <wim@fluendo.com>
7699
7700         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7701         While checking the flag for reentrancy in the gstcaps function
7702         is nice to detect recursive invocations, it also makes it 
7703         impossible to call getcaps from multiple threads, which must be
7704         possible. So, checking for recursive calls has to go.
7705
7706 2005-11-11  Michael Smith <msmith@fluendo.com>
7707
7708         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7709           Don't sync on buffers that fall partially outside our current
7710           segment. Prevents an assertion failure/abort playing some files.
7711
7712 2005-11-10  Andy Wingo  <wingo@pobox.com>
7713
7714         * check/gst/gstbin.c (test_message_state_changed_children): Style
7715         fix..
7716
7717         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7718         gst_bus_poll with the signal watch. Ensures that poll and a signal
7719         watch see the same messages.
7720
7721         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7722         a poll and a watch at the same time get the same messages.
7723
7724 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7727         * gst/gstcaps.c: (gst_caps_intersect):
7728           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7729           and it's not needed.
7730
7731 2005-11-10  Wim Taymans  <wim@fluendo.com>
7732
7733         * docs/design/part-TODO.txt:
7734         Updated todo.
7735
7736 2005-11-10  Wim Taymans  <wim@fluendo.com>
7737
7738         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7739         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7740         (gst_base_src_do_sync), (gst_base_src_get_range):
7741         Implement clock sync in base class.
7742
7743 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7744
7745         patch by: Tim-Philipp Müller <tim at centricular dot net>
7746
7747         * gst/gststructure.c: (gst_structure_parse_field),
7748         (gst_structure_from_string):
7749           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7750           so that gst_parse_launch() can deal with spaces in filtered link
7751           caps (fixes #164479)
7752         * check/gst/capslist.h:
7753         * check/gst/gststructure.c: (GST_START_TEST):
7754           add unit tests for this change
7755
7756 2005-11-10  Wim Taymans  <wim@fluendo.com>
7757
7758         * docs/gst/gstreamer-sections.txt:
7759         * gst/gstelement.c:
7760         * gst/gstelement.h:
7761         Fix docs, move some STATE macros to private.
7762
7763 2005-11-10  Wim Taymans  <wim@fluendo.com>
7764
7765         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7766         Added check for bug #317341
7767
7768         * gst/gstbuffer.c:
7769         * gst/gstbuffer.h:
7770         Some more spiffifying.
7771
7772         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7773         Call peer linkfunction if we are a source pad. Totally fixes
7774         #317341
7775
7776         * gst/gstpad.c:
7777         Update docs, source pads should call the peer linkfunction
7778         so they can atomically perform the pad link.
7779
7780 2005-11-09  Wim Taymans  <wim@fluendo.com>
7781
7782         * gst/gstbuffer.c:
7783         * gst/gstbuffer.h:
7784         Uber-spiffy-spiffify some more.
7785
7786 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7787
7788         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7789         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7790         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7791         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7792         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7793         * gst/gstpad.c: (gst_pad_init):
7794           Use GST_DEBUG_FUNCPTR() more extensively.
7795
7796 2005-11-09  Wim Taymans  <wim@fluendo.com>
7797
7798         * gst/gstobject.c: (gst_object_class_init):
7799         * gst/gstobject.h:
7800         Documentation fixes.
7801
7802 2005-11-09  Edward Hervey  <edward@fluendo.com>
7803
7804         * gst/gsttypefindfactory.c:
7805         Fix docs.
7806         
7807 2005-11-09  Edward Hervey  <edward@fluendo.com>
7808
7809         * gst/base/gsttypefindhelper.c:
7810         * gst/gsttypefind.c:
7811         * gst/gsttypefind.h:
7812         Fix docs.
7813
7814 2005-11-09  Wim Taymans  <wim@fluendo.com>
7815
7816         * gst/gstiterator.c:
7817         Fix revision data.
7818
7819         * gst/gsttask.c:
7820         * gst/gsttask.h:
7821         Fix docs.
7822
7823 2005-11-09  Wim Taymans  <wim@fluendo.com>
7824
7825         * gst/gstevent.h:
7826         * gst/gsturi.h:
7827         Fix docs.
7828
7829 2005-11-09  Wim Taymans  <wim@fluendo.com>
7830
7831         * docs/gst/gstreamer-sections.txt:
7832         Moved the message async delivery private lock and cond
7833         to the private section.
7834
7835         * gst/gstmessage.c:
7836         * gst/gstmessage.h:
7837         Fixed docs.
7838
7839 2005-11-09  Edward Hervey  <edward@fluendo.com>
7840
7841         * docs/gst/gstreamer-sections.txt:
7842         * gst/gsturi.c:
7843         * gst/gsturi.h:
7844         Document GstURIHandler
7845
7846 2005-11-09  Wim Taymans  <wim@fluendo.com>
7847
7848         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7849         (gst_iterator_find_custom):
7850         * gst/gstiterator.h:
7851         Fix iterator docs.
7852
7853 2005-11-09  Wim Taymans  <wim@fluendo.com>
7854
7855         * gst/gstbin.h:
7856         Document another field.
7857
7858         * gst/gststructure.c:
7859         * gst/gststructure.h:
7860         Document.
7861
7862 2005-11-09  Wim Taymans  <wim@fluendo.com>
7863
7864         * gst/gstbin.h:
7865         Documented structs.
7866
7867 2005-11-09  Wim Taymans  <wim@fluendo.com>
7868
7869         * docs/gst/gstreamer-sections.txt:
7870         Added some new macros.
7871
7872         * gst/gstclock.c:
7873         * gst/gstclock.h:
7874         * gst/gstobject.h:
7875         Docs updates.
7876
7877 2005-11-09  Wim Taymans  <wim@fluendo.com>
7878
7879         * docs/design/part-TODO.txt:
7880         Some more items for the TODO
7881
7882         * gst/gstcaps.c:
7883         * gst/gstcaps.h:
7884         Document GstCaps.
7885
7886 2005-11-09  Andy Wingo  <wingo@pobox.com>
7887
7888         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7889         to work on something else now tho...
7890
7891         * gst/base/gstadapter.c: More adapter docs.
7892
7893         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7894         (gst_file_sink_stop): New functions, replace the state change
7895         handler.
7896         (gst_file_sink_class_init): Hook up the start and stop functions.
7897         (gst_file_sink_base_init): Don't set the state change handler any
7898         more. It was a bit ugly too, being set from here...
7899         (gst_file_sink_get_property, gst_file_sink_set_property):
7900         Cleanups...
7901         (gst_file_sink_set_location): More robust check that doesn't call
7902         GST_STATE. Ugggggg.
7903
7904 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7905
7906         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7907           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7908
7909 2005-11-08  Wim Taymans  <wim@fluendo.com>
7910
7911         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7912         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7913         (gst_base_sink_chain), (gst_base_sink_change_state):
7914         * gst/base/gstbasesink.h:
7915         * gst/base/gstbasesrc.h:
7916         * gst/gstelement.h:
7917         * gst/gstevent.h:
7918         Avoid excessive typechecking in macros.
7919
7920         * gst/gstminiobject.c: (gst_mini_object_get_type),
7921         (gst_mini_object_init), (gst_mini_object_new),
7922         (gst_mini_object_free):
7923         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7924         (gst_object_finalize):
7925         Remove cruft code, optimize alloc_trace.
7926
7927 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7928
7929         * docs/faq/gst-uninstalled:
7930           fix up PS1 for systems that try to reset it
7931
7932 2005-11-07  Wim Taymans  <wim@fluendo.com>
7933
7934         * gst/base/gstbasesrc.c: (gst_base_src_init),
7935         (gst_base_src_get_range):
7936         Set the segment_end to -1 initially. Fixed typefind.
7937
7938 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7939
7940         * gst/base/gstadapter.c:
7941           Debug category should be 'adapter', not 'GstAdapter'.
7942           
7943         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7944         (gst_collectpads_class_init), (gst_collectpads_init),
7945         (gst_collectpads_peek), (gst_collectpads_pop),
7946         (gst_collectpads_event), (gst_collectpads_chain):
7947           Add debug category and some debugging output. Use boilerplate
7948           macros. Remove some extraneous words from docs.
7949
7950 2005-11-05  Andy Wingo  <wingo@pobox.com>
7951
7952         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7953         macro.
7954
7955 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7956
7957         * docs/gst/gstreamer-sections.txt:
7958         * gst/gstcaps.h:
7959         * gst/gstinfo.c:
7960         * gst/gstminiobject.h:
7961         * gst/gstobject.h:
7962         * gst/gstutils.h:
7963           more docs added
7964
7965 2005-11-04  Wim Taymans  <wim@fluendo.com>
7966
7967         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7968         Small update to stop at the configured segment_end
7969         position.
7970
7971 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7972
7973         * gst/gstregistry.c:
7974         * gst/gstregistry.h:
7975           added missing docs
7976
7977 2005-11-04  Edward Hervey  <edward@fluendo.com>
7978
7979         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7980         Check if we are doing a segment seek and have arrived at the
7981         end of that segment.
7982
7983 2005-11-04  Wim Taymans  <wim@fluendo.com>
7984
7985         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7986         Don't leak a mutex unlock in case of an error.
7987
7988         * gst/gstbus.h:
7989         Doc fixes.
7990
7991 2005-11-04  Wim Taymans  <wim@fluendo.com>
7992
7993         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7994         (gst_bus_post):
7995         Get the context to wake up only once.
7996
7997 2005-11-03  Wim Taymans  <wim@fluendo.com>
7998
7999         * check/states/sinks.c: (GST_START_TEST):
8000         Uncomment fixed check.
8001
8002         * docs/design/part-TODO.txt:
8003         Updated TODO.
8004
8005         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8006         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8007         (gst_base_sink_get_position):
8008         If we are going to PLAYING, post the right pending state
8009         when we post the intermediate paused message.
8010
8011         * gst/gstelement.c: (gst_element_continue_state),
8012         (gst_element_set_state_func), (gst_element_change_state):
8013         Don't post state changes that were between the same state
8014         and were not ASYNC.
8015
8016 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8017
8018         * docs/gst/gstreamer-sections.txt:
8019         * gst/gstcaps.h:
8020         * gst/gstinfo.c:
8021         * gst/gstminiobject.h:
8022         * gst/gstobject.h:
8023         * gst/gstutils.h:
8024           more docs and doc style fixes
8025
8026 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8027
8028         * docs/gst/gstreamer-sections.txt:
8029         * gst/gstelement.c:
8030         * gst/gstminiobject.c:
8031         doc fixes
8032
8033 2005-11-03  Andy Wingo  <wingo@pobox.com>
8034
8035         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8036         state-changed messages actually have the right order and the right
8037         values.
8038
8039 2005-11-03  Wim Taymans  <wim@fluendo.com>
8040
8041         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8042         Added some more checks. Specifically the case where NO_PREROLL
8043         elements are in the pipeline.
8044
8045         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8046         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8047         (gst_base_sink_get_position):
8048         Post READY->PAUSED state change messages too.
8049         Fix bug where VOID was posted as pending state...
8050
8051         * gst/gstbin.c: (gst_bin_recalc_state):
8052         use _element_continue_state() to continue the state change.
8053
8054         * gst/gstelement.c: (gst_element_continue_state),
8055         (gst_element_commit_state), (gst_element_set_state_func),
8056         (gst_element_change_state), (gst_element_change_state_func):
8057         Lots of state change cleanups, assign the STATE_RETURN in
8058         a new continue_state() function that also propagates the
8059         last return value from a state change to the app.
8060         Update some debug statements with proper category.
8061
8062 2005-11-03  Wim Taymans  <wim@fluendo.com>
8063
8064         * docs/design/part-events.txt:
8065         * docs/design/part-gstpipeline.txt:
8066         * docs/design/part-messages.txt:
8067         * docs/design/part-overview.txt:
8068         * docs/design/part-seeking.txt:
8069         * docs/design/part-states.txt:
8070         * docs/design/part-trickmodes.txt:
8071         * docs/manual/advanced-position.xml:
8072         Small docs updates.
8073
8074         * gst/gstobject.h:
8075         People think !! is ugly, this looks better.
8076
8077         * gst/gstpad.c: (gst_pad_set_blocked_async):
8078         Remove !! since it's fixed elsewhere now.
8079
8080 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8081
8082         * gst/gstminiobject.h:
8083         * gst/gstobject.h:
8084           Add !! to _FLAG_IS_SET macros to make the result boolean.
8085
8086 2005-11-03  Edward Hervey  <edward@fluendo.com>
8087
8088         * gst/gstpad.c: (gst_pad_set_blocked_async):
8089         comparing a flag and a gboolean rarely returns coherent results...
8090         Added two characters (!!) to make that work correctly.
8091         
8092 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8093
8094         * gst/gstbus.c: (gst_bus_class_init):
8095           Fix some typos.
8096           
8097         * gst/gstqueue.c: (gst_queue_loop):
8098           Don't assume a miniobject that isn't a buffer is an
8099           event (it could be that there is a refcounting
8100           problem somewhere and the pointer is stale and
8101           refers to an already destroyed miniobject).
8102
8103 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8104
8105         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8106
8107 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8108
8109         * docs/manual/advanced-position.xml:
8110           Update seek example and explanations to current 0.9 API.
8111
8112         * gst/elements/gsttypefindelement.c:
8113         (gst_type_find_element_activate):
8114           Remove FIXME comment now that the found caps
8115           are unreffed.
8116
8117 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8118
8119         * gst/gstregistryxml.c: (load_feature):
8120           Add another GST_STR_NULL instance
8121
8122 2005-11-02  Edward Hervey  <edward@fluendo.com>
8123
8124         * gst/gstpad.c: (handle_pad_block):
8125         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8126         
8127 2005-11-02  Wim Taymans  <wim@fluendo.com>
8128
8129         * gst/gstbin.c:
8130         Fix typo in docs.
8131
8132         * gst/gstelement.c: (gst_element_commit_state):
8133         Remove unused value.
8134
8135         * gst/gstiterator.c:
8136         Mention that the returned element is reffed in the docs.
8137
8138 2005-11-02  Wim Taymans  <wim@fluendo.com>
8139
8140         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8141         (gst_pad_push), (gst_pad_push_event):
8142         Unlock blocked pads when they are flushed.
8143
8144 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8145
8146         * docs/README:
8147         * docs/gst/gstreamer-sections.txt:
8148         * gst/gstbin.c:
8149           doc updates
8150         * gst/gstregistry.c: (gst_registry_scan_path_level):
8151           fix for a nasty little missed situation where an installed plug-in
8152           which was in the cache did not get overridden by an uninstalled one
8153           which was earlier in the plugin path because the newly created plugin
8154           for the uninstalled one (not in the registry) didn't get its
8155           ->registered set to TRUE
8156
8157 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8158
8159         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8160         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8161         (gst_collectpads_is_active), (gst_collectpads_collect),
8162         (gst_collectpads_collect_range), (gst_collectpads_start),
8163         (gst_collectpads_stop), (gst_collectpads_peek),
8164         (gst_collectpads_pop), (gst_collectpads_available),
8165         (gst_collectpads_read), (gst_collectpads_flush):
8166           Guard public API with assertions.
8167         
8168         * gst/gstpad.c:
8169           Fix docs for gst_pad_set_link_function().
8170
8171 2005-11-02  Johan Dahlin  <johan@gnome.org>
8172
8173         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8174         Unref found_caps after we used it.
8175
8176 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8177
8178         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8179           Don't try to ref NULL.
8180
8181 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8182
8183         * win32/common/config.h.in:
8184           provide a GST_FUNCTION that just gives a string for now
8185
8186 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8187
8188         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8189         (gst_object_flags_get_type), (register_gst_bin_flags),
8190         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8191         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8192         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8193         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8194         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8195         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8196         (gst_clock_flags_get_type), (register_gst_state),
8197         (gst_state_get_type), (register_gst_state_change_return),
8198         (gst_state_change_return_get_type), (register_gst_state_change),
8199         (gst_state_change_get_type), (register_gst_element_flags),
8200         (gst_element_flags_get_type), (register_gst_core_error),
8201         (gst_core_error_get_type), (register_gst_library_error),
8202         (gst_library_error_get_type), (register_gst_resource_error),
8203         (gst_resource_error_get_type), (register_gst_stream_error),
8204         (gst_stream_error_get_type), (register_gst_event_type),
8205         (gst_event_type_get_type), (register_gst_seek_type),
8206         (gst_seek_type_get_type), (register_gst_seek_flags),
8207         (gst_seek_flags_get_type), (register_gst_format),
8208         (gst_format_get_type), (register_gst_index_certainty),
8209         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8210         (gst_index_entry_type_get_type),
8211         (register_gst_index_lookup_method),
8212         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8213         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8214         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8215         (gst_index_flags_get_type), (register_gst_debug_level),
8216         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8217         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8218         (gst_iterator_result_get_type), (register_gst_iterator_item),
8219         (gst_iterator_item_get_type), (register_gst_message_type),
8220         (gst_message_type_get_type), (register_gst_mini_object_flags),
8221         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8222         (gst_pad_link_return_get_type), (register_gst_flow_return),
8223         (gst_flow_return_get_type), (register_gst_activate_mode),
8224         (gst_activate_mode_get_type), (register_gst_pad_direction),
8225         (gst_pad_direction_get_type), (register_gst_pad_flags),
8226         (gst_pad_flags_get_type), (register_gst_pad_presence),
8227         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8228         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8229         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8230         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8231         (gst_plugin_flags_get_type), (register_gst_rank),
8232         (gst_rank_get_type), (register_gst_query_type),
8233         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8234         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8235         (gst_tag_flag_get_type), (register_gst_task_state),
8236         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8237         (gst_alloc_trace_flags_get_type),
8238         (register_gst_type_find_probability),
8239         (gst_type_find_probability_get_type), (register_gst_uri_type),
8240         (gst_uri_type_get_type), (register_gst_parse_error),
8241         (gst_parse_error_get_type):
8242         * win32/common/gstversion.h:
8243           update win32 copies
8244
8245 2005-11-01  Luca Ognibene  <luogni@tin.it>
8246
8247         * gst/gst.c:
8248           fix docs. popt is dead, long live GOption.
8249
8250 2005-10-31  Wim Taymans  <wim@fluendo.com>
8251
8252         * gst/gstbuffer.h:
8253         Small doc fix.
8254
8255 2005-10-31  Andy Wingo  <wingo@pobox.com>
8256
8257         * Boo!
8258
8259         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8260
8261         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8262         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8263         the possibility of deadlocks here if code calling notify() or
8264         set() has a lock that can be taken in another notify handler (ABBA
8265         with class lock and e.g. python GIL state lock).
8266
8267 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8268
8269         * gst/gstbus.c: Doc updates.
8270
8271 2005-10-28  Wim Taymans  <wim@fluendo.com>
8272
8273         * docs/design/part-TODO.txt:
8274         * gst/gstiterator.c:
8275         * gst/gstsystemclock.c:
8276         * gst/gstsystemclock.h:
8277         Doc updates.
8278
8279 2005-10-28  Edward Hervey  <edward@fluendo.com>
8280
8281         * docs/gst/gstreamer-docs.sgml:
8282         * docs/gst/gstreamer-sections.txt:
8283         the GstURIType documentation page is private, it only defines GstURIType
8284         which should be defined in the GstURIHandler page
8285         
8286 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8287
8288         * gst/gstbin.c: (gst_bin_class_init):
8289         * gst/gstbin.h:
8290         * gst/gstutils.c:
8291         Documentation updates.
8292
8293 2005-10-28  Wim Taymans  <wim@fluendo.com>
8294
8295         * docs/gst/gstreamer-sections.txt:
8296         * gst/gstclock.c:
8297         * gst/gstclock.h:
8298         Documented the clocks.
8299
8300 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8301
8302         * docs/gst/gstreamer-sections.txt:
8303           move some macros to private sections
8304         * gst/gstminiobject.c:
8305         * gst/gstminiobject.h:
8306           add descriptions provided by ds and some more
8307         * gst/gstpad.h:
8308           mark macro as to be removed
8309
8310 2005-10-28  Wim Taymans  <wim@fluendo.com>
8311
8312         * docs/design/part-TODO.txt:
8313         Add an item to TODO.
8314
8315         * gst/gstiterator.c: (gst_iterator_fold),
8316         (gst_iterator_find_custom):
8317         * gst/gstiterator.h:
8318         Add iterator docs.
8319
8320 2005-10-28  Wim Taymans  <wim@fluendo.com>
8321
8322         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8323         (gst_base_transform_init):
8324         Don't leak class.
8325
8326         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8327         An EOS event marks the queue as completely filled.
8328
8329 2005-10-27  Wim Taymans  <wim@fluendo.com>
8330
8331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8332         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8333         Some more debugging.
8334
8335         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8336         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8337         (gst_base_transform_event), (gst_base_transform_getrange),
8338         (gst_base_transform_chain):
8339         * gst/base/gstbasetransform.h:
8340         Fix debugging,
8341         Protect transform and concurrent buffer alloc with a new lock.
8342         Try not to break ABI/API.
8343
8344 2005-10-27  Wim Taymans  <wim@fluendo.com>
8345
8346         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8347         (gst_base_src_init), (gst_base_src_query),
8348         (gst_base_src_default_newsegment),
8349         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8350         (gst_base_src_send_event), (gst_base_src_event_handler),
8351         (gst_base_src_pad_get_range), (gst_base_src_loop),
8352         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8353         (gst_base_src_start), (gst_base_src_deactivate),
8354         (gst_base_src_activate_push), (gst_base_src_change_state):
8355         Move some stuff around and cleanup things.
8356
8357 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8358
8359         * gst/base/gstbasesrc.c: (gst_base_src_query):
8360           Add missing break statements.
8361
8362 2005-10-27  Wim Taymans  <wim@fluendo.com>
8363
8364         * check/gst/gstbin.c: (GST_START_TEST):
8365         An extra refcount is taken in basesrc.
8366
8367         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8368         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8369         (gst_base_src_loop):
8370         Small cleanups, check for flushing after being unlocked from the 
8371         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8372         Don't send out EOS when going to READY.
8373
8374 2005-10-27  Wim Taymans  <wim@fluendo.com>
8375
8376         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8377         (gst_base_sink_get_position):
8378         Some more debug.
8379
8380         * gst/gstbin.c: (message_check), (bin_replace_message),
8381         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8382         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8383         (bin_query_duration_init), (bin_query_duration_fold),
8384         (bin_query_duration_done), (bin_query_generic_fold),
8385         (gst_bin_query):
8386         * tools/gst-launch.c: (main):
8387         Remove old option.
8388
8389 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8390
8391         * examples/controller/audio-example.c: (main):
8392         * examples/queue/queue.c: (event_loop):
8393         * gst/base/gstbasetransform.h:
8394         * gst/gstelement.c: (gst_element_send_event):
8395         * gst/gstevent.h:
8396         * gst/gstpad.c: (gst_pad_send_event):
8397           fixing examples
8398           fixing docs typos
8399           changing log priority in error situations
8400
8401 2005-10-25  Wim Taymans  <wim@fluendo.com>
8402
8403         * gst/gstbin.c: (message_check), (bin_replace_message),
8404         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8405         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8406         (bin_query_duration_init), (bin_query_duration_fold),
8407         (bin_query_duration_done), (bin_query_generic_fold),
8408         (gst_bin_query):
8409         Some doc and debug updates.
8410         Cache previously requested query DURATION for speed. invalidate
8411         cached duration if element posts a DURATION message.
8412
8413 2005-10-25  Wim Taymans  <wim@fluendo.com>
8414
8415         * docs/design/part-TODO.txt:
8416         Update TODO.
8417
8418         * gst/gstbin.c: (message_check), (bin_replace_message),
8419         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8420         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8421         (bin_query_duration_init), (bin_query_duration_fold),
8422         (bin_query_duration_done), (bin_query_generic_fold),
8423         (gst_bin_query):
8424         Handle SEGMENT_START/DONE messages correctly.
8425         More evolved query algorithm that handles duration queries
8426         correctly.
8427
8428         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8429         (gst_element_get_state_func), (gst_element_abort_state),
8430         (gst_element_commit_state), (gst_element_lost_state):
8431         Some more debugging.
8432
8433         * gst/gstmessage.h:
8434         Added doc.
8435
8436 2005-10-25  Wim Taymans  <wim@fluendo.com>
8437
8438         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8439         Don't use invalid stream_time.
8440
8441         * gst/gstevent.c: (gst_event_new_newsegment):
8442         stream_time in newsegment cannot be undefined.
8443
8444 2005-10-24  Wim Taymans  <wim@fluendo.com>
8445
8446         * gst/gstbus.c:
8447         Doc fix.
8448
8449         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8450         (gst_queue_loop):
8451         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8452
8453 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8454
8455         * docs/libs/tmpl/gstdparam.sgml:
8456         * docs/libs/tmpl/gstdplinint.sgml:
8457         * docs/libs/tmpl/gstdpman.sgml:
8458         * docs/libs/tmpl/gstdpsmooth.sgml:
8459         * docs/libs/tmpl/gstunitconvert.sgml:
8460           these are obsolete
8461
8462 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8463
8464         * configure.ac:
8465           back to HEAD
8466
8467 === release 0.9.4 ===
8468
8469 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8470
8471         * configure.ac:
8472           releasing 0.9.4, "Tyrannosaurus Rex"
8473
8474 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8475
8476         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8477         (gst_file_sink_get_current_offset):
8478           Use fseeko() and ftello() if available. When falling back on
8479           lseek() to get the current offset, fflush() first to make sure
8480           everything is up-to-date and we get the right offset.
8481
8482 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8483
8484         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8485         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8486         * gst/gsterror.c: (_gst_stream_errors_init):
8487         * gst/gsterror.h:
8488         * gst/gstqueue.c: (gst_queue_loop):
8489         * po/POTFILES.in:
8490           remove prematurely added error category and clean up the instances
8491
8492 2005-10-21  Wim Taymans  <wim@fluendo.com>
8493
8494         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8495         (gst_base_sink_get_position), (gst_base_sink_query),
8496         (gst_base_sink_change_state):
8497         Simply set the right flag when going to playing, that's all
8498         we need to do instead of calling a function inside the object
8499         lock (that could take the lock as well and deadlock)
8500
8501 2005-10-21  Wim Taymans  <wim@fluendo.com>
8502
8503         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8504         (gst_base_src_loop):
8505         Don't warn, the peer element knows what to do best when
8506         the seek failed, it might try something else.
8507
8508 2005-10-21  Wim Taymans  <wim@fluendo.com>
8509
8510         * gst/base/gstbasesrc.c: (gst_base_src_init),
8511         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8512         Fix seeking.
8513
8514 2005-10-21  Wim Taymans  <wim@fluendo.com>
8515
8516         * docs/design/part-segments.txt:
8517         More docs.
8518
8519         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8520         Correctly set caps, even on the subbufer.
8521
8522 2005-10-21  Wim Taymans  <wim@fluendo.com>
8523
8524         * docs/gst/gstreamer-docs.sgml:
8525         * docs/gst/gstreamer-sections.txt:
8526         * gst/gstelement.h:
8527         * gst/gstevent.c:
8528         * gst/gstevent.h:
8529         * gst/gstmessage.h:
8530         * gst/gstpad.h:
8531         * gst/gstparse.h:
8532         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8533         * gst/gsttask.h:
8534         * gst/gstutils.c:
8535         * gst/gstutils.h:
8536         And 2% more doc coverage.
8537
8538 2005-10-21  Andy Wingo  <wingo@pobox.com>
8539
8540         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8541         position reporting.
8542
8543 2005-10-20  Wim Taymans  <wim@fluendo.com>
8544
8545         * gst/gsterror.c: (gst_error_get_message):
8546         * gst/gstparse.h:
8547         * gst/gstquery.h:
8548         * gst/gststructure.c:
8549         * gst/gsttrace.c:
8550         * gst/gstutils.c:
8551         More docs.
8552
8553 2005-10-20  Wim Taymans  <wim@fluendo.com>
8554
8555         * gst/gstbuffer.h:
8556         * gst/gstpad.c:
8557         * gst/gstparse.c:
8558         Another 1% more coverage.
8559
8560 2005-10-20  Wim Taymans  <wim@fluendo.com>
8561
8562         * docs/gst/gstreamer-sections.txt:
8563         * gst/gstelement.c: (gst_element_get_state_func),
8564         (gst_element_abort_state), (gst_element_commit_state),
8565         (gst_element_lost_state):
8566         * gst/gstevent.h:
8567         * gst/gstquery.c: (gst_query_set_position),
8568         (gst_query_parse_position), (gst_query_set_duration),
8569         (gst_query_parse_duration), (gst_query_new_convert):
8570         * gst/gstutils.c:
8571         Yay! 1% more docs coverage.
8572
8573 2005-10-20  Wim Taymans  <wim@fluendo.com>
8574
8575         * gst/gstpad.h:
8576         * gst/gstquery.c: (gst_query_set_position),
8577         (gst_query_parse_position), (gst_query_set_duration),
8578         (gst_query_parse_duration), (gst_query_new_convert):
8579         * gst/gstquery.h:
8580         * gst/gstutils.c: (gst_element_query_convert):
8581         * gst/gstutils.h:
8582         Docs and consistency fixes.
8583
8584 2005-10-20  Wim Taymans  <wim@fluendo.com>
8585
8586         * gst/gsttask.c:
8587         * gst/gsttask.h:
8588         More docs.
8589
8590 2005-10-20  Wim Taymans  <wim@fluendo.com>
8591
8592         * gst/gstbin.c: (message_check), (bin_replace_message),
8593         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8594         (update_degree), (gst_bin_sort_iterator_next),
8595         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8596         Reworked the message handling a bit, cache the messages instead of
8597         only the senders. alows us to do more in the future.
8598
8599 2005-10-20  Wim Taymans  <wim@fluendo.com>
8600
8601         * docs/design/part-TODO.txt:
8602         Update TODO
8603
8604         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8605         (gst_base_sink_query):
8606         Don't use clock time to report position when in EOS.
8607
8608 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8609
8610         * tools/gst-inspect.c: (print_interfaces),
8611         (print_element_properties_info), (print_element_info):
8612           Fix interface output with gst-inspect -a; don't print
8613           newlines after double/float properties.
8614
8615 2005-10-20  Wim Taymans  <wim@fluendo.com>
8616
8617         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8618         (gst_base_sink_query):
8619         Speed up current position calculation.
8620
8621         * gst/base/gstbasesrc.c: (gst_base_src_query),
8622         (gst_base_src_default_newsegment):
8623         Correctly set stream position in newsegment.
8624
8625         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8626         (update_degree), (gst_bin_sort_iterator_next),
8627         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8628         * gst/gstmessage.c: (gst_message_new_custom):
8629         Clean up debugging info
8630
8631         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8632         (gst_queue_loop), (gst_queue_handle_src_query):
8633         Pause task faster.
8634
8635 2005-10-19  Wim Taymans  <wim@fluendo.com>
8636
8637         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8638         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8639         Fix query handling again.
8640
8641 2005-10-19  Wim Taymans  <wim@fluendo.com>
8642
8643         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8644         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8645         * gst/base/gstbasesrc.c: (gst_base_src_query):
8646         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8647         * gst/elements/gsttypefindelement.c:
8648         (gst_type_find_handle_src_query), (find_element_get_length),
8649         (gst_type_find_element_activate):
8650         API change fix.
8651
8652         * gst/gstquery.c: (gst_query_new_position),
8653         (gst_query_set_position), (gst_query_parse_position),
8654         (gst_query_new_duration), (gst_query_set_duration),
8655         (gst_query_parse_duration), (gst_query_set_segment),
8656         (gst_query_parse_segment):
8657         * gst/gstquery.h:
8658         Bundling query position/duration is not a good idea since duration
8659         does not change much and we don't want to recalculate it for every
8660         position query, so they are separated again..
8661         Base value in segment query is not needed.
8662
8663         * gst/gstqueue.c: (gst_queue_handle_src_query):
8664         * gst/gstutils.c: (gst_element_query_position),
8665         (gst_element_query_duration), (gst_pad_query_position),
8666         (gst_pad_query_duration):
8667         * gst/gstutils.h:
8668         Updates for query API change.
8669         Added some docs here and there.
8670
8671 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8672
8673         * check/gst/gstbin.c: (GST_START_TEST):
8674         * check/gst/gstghostpad.c: (GST_START_TEST):
8675         * check/pipelines/cleanup.c: (GST_START_TEST):
8676           wait on thread to die so we can check refcount correctly
8677
8678 2005-10-18  Wim Taymans  <wim@fluendo.com>
8679
8680         * check/pipelines/stress.c: (GST_START_TEST):
8681         Make check a little more time consuming.
8682
8683 2005-10-18  Wim Taymans  <wim@fluendo.com>
8684
8685         * check/Makefile.am:
8686         * check/pipelines/stress.c: (GST_START_TEST),
8687         (simple_launch_lines_suite), (main):
8688         Small state change torture test.
8689
8690         * docs/design/part-states.txt:
8691         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8692         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8693         (gst_base_sink_change_state):
8694         Never take state lock from streaming thread, clean up ugly
8695         hacks. Unfortunatly core does not yet support nice ways to
8696         async commit state.
8697         
8698         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8699         (bin_bus_handler):
8700         Start state recalc if a STATE_DIRTY message is posted, but only
8701         on the toplevel bin.
8702
8703         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8704         (gst_element_get_state_func), (gst_element_abort_state),
8705         (gst_element_commit_state), (gst_element_lost_state),
8706         (gst_element_set_state_func), (gst_element_change_state):
8707         * gst/gstelement.h:
8708         State variables are now protected with the LOCK, the state
8709         lock is only used to serialize _set_state().
8710
8711 2005-10-18  Wim Taymans  <wim@fluendo.com>
8712
8713         * check/gst/gstbin.c: (GST_START_TEST):
8714         * check/gst/gstmessage.c: (GST_START_TEST):
8715         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8716         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8717         (bin_bus_handler):
8718         * gst/gstelement.c: (gst_element_abort_state),
8719         (gst_element_commit_state), (gst_element_lost_state):
8720         * gst/gstmessage.c: (gst_message_new_state_changed),
8721         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8722         (gst_message_new_segment_done), (gst_message_new_duration),
8723         (gst_message_parse_state_changed),
8724         (gst_message_parse_segment_start),
8725         (gst_message_parse_segment_done), (gst_message_parse_duration):
8726         * gst/gstmessage.h:
8727         * tools/gst-launch.c: (event_loop):
8728         Seriously, this is better than a previous commit as we only need
8729         to notify the fact that an element changed state in a streaming
8730         thread, marking the state of the parents dirty, hence the 
8731         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8732         message.
8733
8734 2005-10-18  Wim Taymans  <wim@fluendo.com>
8735
8736         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8737         (gst_bin_recalc_func):
8738         * gst/gstelement.c: (gst_element_set_clock),
8739         (gst_element_abort_state), (gst_element_lost_state):
8740         Cleanups, prepare for state change fixes.
8741
8742 2005-10-18  Wim Taymans  <wim@fluendo.com>
8743
8744         * gst/gstbin.h:
8745         * gst/gstelement.c: (gst_element_class_init),
8746         (gst_element_set_state), (gst_element_set_state_func):
8747         * gst/gstelement.h:
8748         Pending ABI changes.
8749         GThreadPool in GstBinClass to monitor async state changes.
8750         state_cookie in GstElement to detect concurrent gst/set state.
8751         set_state is now virtual too in case a very complicated element
8752         has to be constructed.
8753
8754 2005-10-18  Wim Taymans  <wim@fluendo.com>
8755
8756         * check/gst/gstbin.c: (GST_START_TEST):
8757         * check/gst/gstmessage.c: (GST_START_TEST):
8758         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8759         * gst/gstbin.c: (bin_bus_handler):
8760         * gst/gstelement.c: (gst_element_commit_state),
8761         (gst_element_lost_state):
8762         * gst/gstmessage.c: (gst_message_new_state_changed),
8763         (gst_message_new_segment_start), (gst_message_new_segment_done),
8764         (gst_message_new_duration), (gst_message_parse_state_changed),
8765         (gst_message_parse_segment_start),
8766         (gst_message_parse_segment_done), (gst_message_parse_duration):
8767         * gst/gstmessage.h:
8768         * tools/gst-launch.c: (event_loop):
8769         Make messages future proof.
8770         state-change gets a flag if it was a message comming from the
8771         streaming thread.
8772         segment-start/stop can also be specified in other formats.
8773         A message to notify an app that a pipeline changed playback 
8774         duration.
8775         Also fix a GstMessage leak in -launch
8776
8777 2005-10-18  Andy Wingo  <wingo@pobox.com>
8778
8779         * gst/gstelement.c (gst_element_dispose): More helpful message.
8780
8781 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8782
8783         reviewed by: <delete if not using a buddy>
8784
8785         * common/gtk-doc.mak:
8786
8787 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8788
8789         * gst/gstregistry.c: (gst_registry_scan_path_level):
8790           unref a plug-in we get that was already initialized
8791
8792 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8793
8794         * docs/gst/gstreamer-sections.txt:
8795         * docs/libs/gstreamer-libs-sections.txt:
8796         * gst/gstelement.h:
8797           add new api entries
8798           hide internal macro
8799
8800 2005-10-17  Andy Wingo  <wingo@pobox.com>
8801
8802         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8803         cleanup.
8804
8805         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8806
8807         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8808
8809         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8810         (gst_element_get_state_func): Better debug message.
8811         (gst_element_commit_state): s/INFO/DEBUG/.
8812         (gst_element_lost_state, gst_element_change_state): 
8813
8814         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8815         (gst_message_new_custom): s/INFO/LOG/.
8816
8817 2005-10-17  Michael Smith <msmith@fluendo.com>
8818
8819         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8820           Check if end time is valid using end time, not start time.
8821
8822 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8823
8824         * check/gst-libs/controller.c: (GST_START_TEST),
8825         (gst_controller_suite):
8826         * libs/gst/controller/gstcontroller.c:
8827         (gst_controlled_property_set_interpolation_mode):
8828         * libs/gst/controller/gstcontroller.h:
8829         * libs/gst/controller/gstinterpolation.c:
8830         * testsuite/controller/.cvsignore:
8831         * testsuite/controller/Makefile.am:
8832         * testsuite/controller/interpolator.c:
8833           merge controller testsuites
8834           fix broken tests
8835           remove mem-chunk from docs
8836
8837 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8838
8839         * gst/gstmemchunk.c:
8840         * gst/gstmemchunk.h:
8841         * gst/gsttrashstack.c:
8842         * gst/gsttrashstack.h:
8843           out.  get out.  you're fired.  to the Attic !
8844
8845 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8846
8847         * gst/gstcaps.c: (gst_caps_intersect):
8848           fix signedness issues in a (hopefully) correct way
8849         * gst/gstelement.c: (gst_element_pads_activate):
8850           some debugging
8851         * gst/gstobject.c: (gst_object_set_parent):
8852           some debugging
8853
8854 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8855
8856         * gst/gstvalue.h: Fix prototypes.
8857
8858 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8859
8860         * docs/gst/gstreamer-sections.txt:
8861         * gst/gst.c: (gst_version_string):
8862         * gst/gst.h:
8863         * gst/gstversion.h.in:
8864         * win32/common/libgstreamer.def:
8865           add gst_version_string ()
8866
8867 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8868
8869         * configure.ac:
8870           clean up further
8871         * gst/gst.c: (init_post):
8872         * win32/common/config.h.in:
8873           it's PLUGINDIR now
8874         * gst/gstcaps.c: (gst_caps_intersect):
8875           use gint64, the range could be bigger than a guint
8876
8877 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8878
8879         * gst/gstclock.h:
8880           document potential problem in 2038
8881
8882 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8883
8884         * gst/gstcaps.c: (gst_caps_intersect):
8885           Fix guint j diving under 0
8886
8887 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8888
8889         * configure.ac:
8890         * win32/common/config.h:
8891         * win32/common/config.h.in:
8892           check for process.h, declares getpid() on Windows
8893         * gst/gstinfo.c:
8894           include process.h if we have it
8895         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8896         * gst/gstmemchunk.h:
8897           fix signedness issues
8898         * win32/common/libgstreamer.def:
8899           fix get_type's
8900
8901 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8902
8903         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8904         fix. Because of unsigned ints, caps intersection was going nuts and
8905         trying to access structures with G_MAXUINT index. That fixes
8906         videotestsrc ! ffmpegcolorspace ! fakesink
8907         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8908         consistency.
8909
8910 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8911
8912         * configure.ac:
8913           use the gettext macro
8914         * gst/elements/gstelements.c:
8915         * gst/gst.c:
8916         * gst/indexers/gstindexers.c:
8917           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8918         * win32/common/config.h:
8919           updated config.h
8920         * win32/common/config.h.in:
8921           add the template to generate config.h
8922         * win32/common/gstenumtypes.c:
8923         * win32/common/gstversion.h:
8924           updated copies
8925
8926 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8927
8928         * gst/gst.c: (gst_version):
8929         * gst/gstversion.h.in:
8930           add the nano
8931
8932 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8933
8934         * gst/gstevent.h:
8935           Oops, add missing closing bracket.
8936
8937 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8938
8939         * configure.ac:
8940           use common m4's for argument checking
8941
8942 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8943
8944         * docs/gst/gstreamer-sections.txt:
8945         * gst/gstevent.h:
8946           Add GST_EVENT_TYPE_NAME() macro.
8947
8948 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8949
8950         * gst/gstinfo.c:
8951         * gst/gstpluginfeature.c:
8952         * gst/gsttask.c:
8953           privatize more symbols
8954
8955 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8956
8957         * configure.ac:
8958           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8959           everything that uses GStreamer API should have the includes
8960
8961 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8962
8963         * docs/gst/gstreamer-sections.txt:
8964         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8965         * gst/gstvalue.h:
8966           give each value a _get_type, removes the DATA exports
8967
8968 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8969
8970         * gst/gst.c:
8971         * gst/gst.h:
8972           remove _gst_registry_auto_load, not used anymore
8973         * gst/gstbin.c: (gst_bin_get_type):
8974         * gst/gstbin.h:
8975         * gst/gstelement.c: (gst_element_get_type):
8976         * gst/gstelement.h:
8977         * gst/gstobject.c: (gst_object_get_type):
8978         * gst/gstobject.h:
8979         * gst/gstpad.c: (gst_pad_get_type):
8980         * gst/gstpad.h:
8981           make _get_type functions similar, fixes data export from library
8982
8983 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8984
8985         * configure.ac:
8986           correctly make conditionals
8987         * gst/elements/Makefile.am:
8988         * gst/elements/gstelements.c:
8989           fix typo causing fdsrc not to build
8990
8991 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8992
8993         * testsuite/Makefile.am:
8994         * testsuite/bytestream/.cvsignore:
8995         * testsuite/bytestream/Makefile.am:
8996         * testsuite/bytestream/filepadsink.c:
8997         * testsuite/bytestream/gstbstest.c:
8998         * testsuite/bytestream/test1.c:
8999         * testsuite/bytestream/testfile1:
9000         * testsuite/caps/normalisation.c:
9001         * testsuite/caps/random.c: (main):
9002         * testsuite/cleanup/.cvsignore:
9003         * testsuite/cleanup/Makefile.am:
9004         * testsuite/cleanup/cleanup1.c:
9005         * testsuite/cleanup/cleanup2.c:
9006         * testsuite/cleanup/cleanup3.c:
9007         * testsuite/cleanup/cleanup4.c:
9008         * testsuite/cleanup/cleanup5.c:
9009         * testsuite/controller/interpolator.c:
9010         * testsuite/debug/printf_extension.c: (main):
9011         * testsuite/elements/tee.c:
9012         * testsuite/negotiation/.cvsignore:
9013         * testsuite/negotiation/Makefile.am:
9014         * testsuite/negotiation/pad_link.c:
9015         * testsuite/pad/Makefile.am:
9016         * testsuite/pad/chainnopull.c:
9017         * testsuite/pad/getnopush.c:
9018         * testsuite/pad/link.c:
9019         * testsuite/refcounting/sched.c: (create_pipeline):
9020         * testsuite/registry/Makefile.am:
9021         * testsuite/registry/gst-print-formats.c:
9022         * testsuite/schedulers/.cvsignore:
9023         * testsuite/schedulers/142183-2.c:
9024         * testsuite/schedulers/142183.c:
9025         * testsuite/schedulers/143777-2.c:
9026         * testsuite/schedulers/143777.c:
9027         * testsuite/schedulers/147713.c:
9028         * testsuite/schedulers/147819.c:
9029         * testsuite/schedulers/147894-2.c:
9030         * testsuite/schedulers/147894.c:
9031         * testsuite/schedulers/Makefile.am:
9032         * testsuite/schedulers/group_link.c:
9033         * testsuite/schedulers/queue_link.c:
9034         * testsuite/schedulers/relink.c:
9035         * testsuite/schedulers/unlink.c:
9036         * testsuite/schedulers/unref.c:
9037         * testsuite/schedulers/useless_iteration.c:
9038         * testsuite/states/bin.c:
9039           clean out/remove some stuff from the testsuite directories
9040
9041 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9042
9043         * configure.ac:
9044           check for some headers
9045         * gst/elements/Makefile.am:
9046         * gst/elements/gstelements.c:
9047           don't compile fdsrc without sys/socket.h
9048         * gst/indexers/Makefile.am:
9049         * gst/indexers/gstindexers.c: (plugin_init):
9050           don't compile fileindex without mmap
9051
9052 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9053
9054         * configure.ac:
9055           reorganize
9056           clean up
9057           document more
9058           remove cruft
9059         * check/Makefile.am:
9060         * docs/gst/Makefile.am:
9061         * examples/helloworld/Makefile.am:
9062         * gst/Makefile.am:
9063         * gst/base/Makefile.am:
9064         * gst/check/Makefile.am:
9065         * gst/elements/Makefile.am:
9066         * gst/indexers/Makefile.am:
9067         * gst/parse/Makefile.am:
9068         * libs/gst/controller/Makefile.am:
9069         * libs/gst/dataprotocol/Makefile.am:
9070         * examples/helloworld/helloworld.c: (event_loop):
9071           compile fixes, though it's not being compiled currently
9072
9073 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9074
9075         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9076           Add some simple tests for the new taglist date API.
9077
9078 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9079
9080         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9081         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9082           Beautify 'last-message' output: print 'none' for buffer timestamps
9083           and durations if none is set; improve alignment with next messages.
9084
9085 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9086
9087         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9088         * gst/gstpluginfeature.h:
9089         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9090         * gst/gstregistry.h:
9091         * docs/gst/gstreamer-sections.txt:
9092           Add new API to check plugin feature version requirements.
9093
9094         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9095           Some basic tests for the above.         
9096
9097 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9098
9099         * gst/gststructure.c: (gst_structure_to_string):
9100           guard against NULL printf - happens when for example
9101           a message structure with GstClock gets serialized
9102
9103 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9104
9105         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9106           Fix presumable copy'n'pasto.
9107
9108 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9109
9110         * gst/elements/gstfakesrc.h:
9111         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9112         * gst/elements/gsttypefindelement.c:
9113           fix some signedness
9114         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9115           I wonder if this could actually write +2GB files before
9116
9117 2005-10-13  Andy Wingo  <wingo@pobox.com>
9118
9119         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9120         Fix Timmeke Waymans bug.
9121         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9122         string of the proper length to gst_caps_from_string. There's a
9123         potential for, before this fix, that this could cause someone
9124         connecting over the network to cause a segfault if the payload is
9125         not NUL-terminated.
9126
9127 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9128
9129         * docs/design/draft-push-pull.txt:
9130         * docs/design/part-overview.txt:
9131         * docs/random/TODO-pre-0.9:
9132         * docs/random/old/ChangeLog.gstreamer:
9133         * gst/base/gstpushsrc.c:
9134         * gst/gstclock.c:
9135           fixed typos
9136
9137 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9138
9139         * gst/glib-compat.c: (gst_flags_get_first_value):
9140         * gst/glib-compat.h:
9141         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9142         (gst_value_compare_double), (gst_value_serialize_flags):
9143           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9144           infinite loop
9145
9146 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9147
9148         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9149         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9150           fix up debugging
9151         * tools/gst-launch.c: (event_loop):
9152           print out clock nicely
9153
9154 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9155
9156         * docs/gst/gstreamer-sections.txt:
9157         * gst/gsttaglist.h:
9158         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9159         (gst_tag_list_get_date_index):
9160           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9161           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9162
9163 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9164
9165         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9166         (gst_collectpads_chain):
9167         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9168         in CollectData.
9169
9170 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9171
9172         * docs/gst/gstreamer-sections.txt:
9173         * gst/gst.c:
9174         * gst/gsterror.h:
9175         * tools/gst-inspect.c: (main):
9176         * tools/gst-launch.c: (main):
9177         * tools/gst-run.c: (main):
9178         * tools/gst-xmlinspect.c: (main):
9179           fix GOption context leaks
9180           doc fixes
9181
9182 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9183
9184         * gst/gstbus.c:
9185           use HAVE_UNISTD_H
9186         * win32/common/config.h:
9187           update config
9188         * win32/vs6/grammar.dsp:
9189         * win32/vs6/libgstelements.dsp:
9190         * win32/vs6/libgstreamer.dsp:
9191           update vs6 files
9192
9193 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9194
9195         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9196         * gst/base/gstbasesrc.c: (gst_base_src_query):
9197           fix more guint64<->gdouble conversions
9198
9199 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9200
9201         * Makefile.am:
9202           add win32-update target
9203         * win32/common/gstconfig.h:
9204         * win32/common/gstenumtypes.c:
9205         * win32/common/gstenumtypes.h:
9206         * win32/common/gstversion.h:
9207           add files that visual studio can't generate
9208
9209 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9210
9211         * Makefile.am:
9212           add a win32-update target
9213         * configure.ac:
9214
9215 2005-10-12  Wim Taymans  <wim@fluendo.com>
9216
9217         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9218         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9219         * gst/gstelement.c: (gst_element_commit_state),
9220         (gst_element_set_state):
9221         Protect flags with proper lock.
9222         unref provided cached clock in dispose.
9223
9224 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9225
9226         * gst/gst.c:
9227         * gst/gstminiobject.h:
9228         * gst/gstpad.h:
9229         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9230           removed unused flags from miniobject
9231           doc fixes
9232
9233 2005-10-12  Wim Taymans  <wim@fluendo.com>
9234
9235         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9236         (gst_file_sink_event), (gst_file_sink_render):
9237         Flush before seeking.
9238
9239 2005-10-12  Andy Wingo  <wingo@pobox.com>
9240
9241         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9242         always been the case.
9243
9244 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9245
9246         * check/gst/gstbin.c: (GST_START_TEST):
9247         * docs/gst/gstreamer-sections.txt:
9248         * gst/base/gstbasesink.c: (gst_base_sink_init):
9249         * gst/base/gstbasesrc.c: (gst_base_src_init),
9250         (gst_base_src_get_range), (gst_base_src_check_get_range),
9251         (gst_base_src_start), (gst_base_src_stop):
9252         * gst/base/gstbasesrc.h:
9253         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9254         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9255         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9256         (bin_bus_handler):
9257         * gst/gstbin.h:
9258         * gst/gstbuffer.h:
9259         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9260         * gst/gstbus.h:
9261         * gst/gstelement.c: (gst_element_is_locked_state),
9262         (gst_element_set_locked_state), (gst_element_commit_state),
9263         (gst_element_set_state):
9264         * gst/gstelement.h:
9265         * gst/gstindex.c: (gst_index_init):
9266         * gst/gstindex.h:
9267         * gst/gstminiobject.h:
9268         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9269         (gst_object_set_parent):
9270         * gst/gstobject.h:
9271         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9272         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9273         * gst/gstpad.h:
9274         * gst/gstpadtemplate.h:
9275         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9276         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9277         * gst/gstpipeline.h:
9278         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9279         (gst_file_index_commit):
9280         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9281         * testsuite/pad/link.c: (gst_test_src_init),
9282         (gst_test_filter_init), (gst_test_sink_init):
9283         * testsuite/states/locked.c: (main):
9284           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9285           moved bitshift from macro to enum definition
9286
9287 2005-10-12  Wim Taymans  <wim@fluendo.com>
9288
9289         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9290         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9291         (gst_file_sink_render):
9292         Some more debugging info.
9293
9294 2005-10-12  Wim Taymans  <wim@fluendo.com>
9295
9296         * docs/design/part-states.txt:
9297         * tools/gst-launch.c: (main):
9298         Some doc updates.
9299         Revert non-intentional change.
9300
9301 2005-10-12  Wim Taymans  <wim@fluendo.com>
9302
9303         * check/gst/gstbin.c: (GST_START_TEST):
9304         * check/gst/gstelement.c: (GST_START_TEST):
9305         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9306         * check/gst/gstghostpad.c: (GST_START_TEST):
9307         * check/gst/gstpipeline.c: (GST_START_TEST):
9308         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9309         * check/states/sinks.c: (GST_START_TEST):
9310         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9311         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9312         (gst_bin_remove_func), (gst_bin_get_state_func),
9313         (gst_bin_recalc_state), (gst_bin_change_state_func),
9314         (bin_bus_handler):
9315         * gst/gstelement.c: (gst_element_get_state_func),
9316         (gst_element_get_state), (gst_element_abort_state),
9317         (gst_element_commit_state), (gst_element_set_state),
9318         (gst_element_change_state), (gst_element_change_state_func):
9319         * gst/gstelement.h:
9320         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9321         (gst_pipeline_provide_clock_func):
9322         * gst/gstutils.c: (gst_element_link_pads_filtered):
9323         * tools/gst-launch.c: (main):
9324         * tools/gst-typefind.c: (main):
9325         Use GstClockTime in _get_state() instead of GTimeVal.
9326         Remove old code in gstutils.c
9327
9328 2005-10-12  Andy Wingo  <wingo@pobox.com>
9329
9330         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9331         removed.
9332
9333         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9334         there is no task. Shouldn't affect any code, as nothing in our
9335         plugins checks this return value.
9336         (gst_pad_stop_task): Also take the stream lock if the pad has no
9337         task. Docs updated.
9338
9339 2005-10-12  Wim Taymans  <wim@fluendo.com>
9340
9341         * gst/gstpad.c: (pre_activate), (post_activate),
9342         (gst_pad_activate_pull), (gst_pad_activate_push):
9343         Cleanup activation code. Reset old state if
9344         activation failed.
9345
9346 2005-10-12  Wim Taymans  <wim@fluendo.com>
9347
9348         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9349         (gst_base_sink_change_state):
9350         No need to prerol after receiving EOS.
9351
9352         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9353         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9354         * gst/elements/gstidentity.c: (gst_identity_event):
9355         Print events more verbosely.
9356
9357 2005-10-12  Wim Taymans  <wim@fluendo.com>
9358
9359         * check/Makefile.am:
9360         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9361         * check/states/sinks2.c:
9362         Moved sinks2 testcode in sinks check.
9363
9364         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9365         (gst_bin_remove_func), (gst_bin_recalc_state),
9366         (gst_bin_change_state_func), (bin_bus_handler):
9367         Fix potential race condition when _get_state() iterated over an
9368         ASYNC element right before it posted a state completion.
9369
9370         * gst/gstclock.h:
9371         Do proper cast here.
9372
9373         * gst/gstevent.c: (gst_event_new_newsegment),
9374         (gst_event_parse_newsegment):
9375         A playback rate of 0.0 is not allowed.
9376
9377 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9378
9379         * win32/common/config.h:
9380         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9381         (_trewinddir), (_ttelldir), (_tseekdir):
9382         * win32/common/dirent.h:
9383         * win32/common/gtchar.h:
9384         * win32/common/libgstbase.def:
9385         * win32/common/libgstreamer.def:
9386         * win32/vs6/grammar.dsp:
9387         * win32/vs6/gst_inspect.dsp:
9388         * win32/vs6/gst_launch.dsp:
9389         * win32/vs6/gstreamer.dsw:
9390         * win32/vs6/libgstbase.dsp:
9391         * win32/vs6/libgstelements.dsp:
9392         * win32/vs6/libgstreamer.dsp:
9393           Visual Studio 6 project files, and a new common directory.
9394           Phear.
9395
9396 2005-10-11  Wim Taymans  <wim@fluendo.com>
9397
9398         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9399         (gst_base_sink_do_sync), (gst_base_sink_query),
9400         (gst_base_sink_change_state):
9401         * gst/base/gstbasesink.h:
9402         Correctly parse newsegment info.
9403
9404 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9405
9406         * gst/gst.c: (init_post):
9407           split plugin paths correctly
9408
9409 2005-10-11  Wim Taymans  <wim@fluendo.com>
9410
9411         * check/gst/gstevent.c: (GST_START_TEST):
9412         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9413         (gst_base_sink_change_state):
9414         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9415         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9416         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9417         * gst/gstevent.c: (gst_event_new_newsegment),
9418         (gst_event_parse_newsegment):
9419         * gst/gstevent.h:
9420         Added extra flag to newsegment for future API freeze.
9421         Updated check and base elements.
9422
9423 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9424
9425         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9426         (gst_collectpads_add_pad), (gst_collectpads_pop),
9427         (gst_collectpads_event), (gst_collectpads_chain):
9428         * gst/base/gstcollectpads.h: Handle EOS correctly.
9429
9430 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9431
9432         * tools/gst-launch.c: (main):
9433           more null protecting
9434
9435 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9436
9437         * gst/gst-i18n-lib.h:
9438           check for ENABLE_NLS, not GETTEXT_PACKAGE
9439         * gst/gstregistry.c: (gst_registry_add_plugin),
9440         (gst_registry_scan_path_level),
9441         (_gst_registry_remove_cache_plugins):
9442           protect possibly NULL strings
9443         * gst/parse/types.h:
9444           config.h already included before
9445         * tools/gst-inspect.c: (main):
9446           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9447           check for ENABLE_NLS, not GETTEXT_PACKAGE
9448         * tools/gst-launch.c: (main):
9449           check for ENABLE_NLS, not GETTEXT_PACKAGE
9450
9451 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9452
9453         * configure.ac:
9454           if we don't have glib, fail before testing 2.8
9455         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9456           fix a leak, should fix plugins-base testsuite
9457
9458 2005-10-11  Andy Wingo  <wingo@pobox.com>
9459
9460         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9461         take the mode we're going to as an arg. Go head and set the mode
9462         and flushing flags now, so that if the activate function starts a
9463         thread all the flags will be in the right state.
9464         (post_activate): Renamed also. Just handle making sure streaming
9465         finishes for the deactivation case, and setting the deactivated
9466         mode.
9467         (gst_pad_set_active): Complain loudly if deactivation fails.
9468         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9469         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9470         remove the terrible hack.
9471
9472 2005-10-11  Wim Taymans  <wim@fluendo.com>
9473
9474         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9475         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9476         (gst_bin_recalc_state), (gst_bin_change_state_func),
9477         (gst_bin_dispose), (bin_bus_handler):
9478         * gst/gstbin.h:
9479         Prepare to make current EOS message queue more generic.
9480         Fix some typos.
9481
9482         * gst/gstevent.c: (gst_event_new_newsegment),
9483         (gst_event_parse_newsegment):
9484         * gst/gstevent.h:
9485         Rename base to stream_time.
9486
9487         * gst/gstmessage.h:
9488         Fix typo in docs.
9489
9490 2005-10-11  Wim Taymans  <wim@fluendo.com>
9491
9492         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9493         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9494         (gst_bin_change_state_func), (bin_bus_handler):
9495         * gst/gstbin.h:
9496         Work on proper clock selection.
9497
9498 2005-10-11  Edward Hervey  <edward@fluendo.com>
9499
9500         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9501         * libs/gst/controller/gstcontroller.h:
9502         Added GList* version of _remove_properties() in order to be able to wrap
9503         it in bindings.
9504
9505 2005-10-11  Wim Taymans  <wim@fluendo.com>
9506
9507         * docs/design/part-states.txt:
9508         Some more docs.
9509
9510         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9511         (gst_bin_change_state_func), (bin_bus_handler):
9512         Doc updates. Don't distribute the same clock over and over again.
9513
9514         * gst/gstclock.c:
9515         * gst/gstclock.h:
9516         Doc updates.
9517
9518         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9519         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9520         (gst_pad_send_event):
9521         * gst/gstpad.h:
9522         Make probe emission threadsafe again.
9523         Register quarks and move _get_name() from utils.
9524         Doc updates.
9525
9526         * gst/gstpipeline.c: (gst_pipeline_class_init),
9527         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9528         Only redistribute the clock of it changed.
9529
9530         * gst/gstsystemclock.h:
9531         Doc updates. 
9532
9533         * gst/gstutils.c:
9534         * gst/gstutils.h:
9535         Moved the _flow_get_name() to GstPad.
9536
9537 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9538
9539         * check/gst-libs/gdp.c: (GST_START_TEST):
9540         * check/gst/gstcaps.c: (GST_START_TEST):
9541         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9542         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9543         (gst_dp_packet_from_caps):
9544           fix more valgrind warnings before turning up the heat
9545
9546 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9547
9548         * gst/parse/grammar.y:
9549           some cleanup before the hacking
9550
9551 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9552
9553         * gst/base/gstbasesrc.c: (gst_base_src_query):
9554           use conversions
9555         * gst/gstutils.c: (gst_guint64_to_gdouble),
9556         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9557         * gst/gstutils.h:
9558           externalize, basesrc uses it
9559           obviously the implementation needs testing
9560
9561 2005-10-10  Wim Taymans  <wim@fluendo.com>
9562
9563         * tests/sched/Makefile.am:
9564         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9565         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9566
9567 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9568
9569         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9570           apparently converting from guint64 to double is not implemented
9571           on MSVC
9572
9573 2005-10-10  Wim Taymans  <wim@fluendo.com>
9574
9575         * check/Makefile.am:
9576         * check/generic/states.c: (GST_START_TEST):
9577         * check/gst/gstbin.c: (GST_START_TEST):
9578         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9579         * check/states/sinks.c: (GST_START_TEST):
9580         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9581         (main):
9582         Check fixes, use API as stated in design docs, remove hacks.
9583
9584         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9585         (gst_base_sink_change_state):
9586         Catch stopping our task while we're shutting down.
9587
9588         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9589         (gst_bin_remove_func), (gst_bin_get_state_func),
9590         (gst_bin_recalc_state), (gst_bin_change_state_func),
9591         (bin_bus_handler):
9592         * gst/gstbin.h:
9593         * gst/gstelement.c: (gst_element_init),
9594         (gst_element_get_state_func), (gst_element_abort_state),
9595         (gst_element_commit_state), (gst_element_lost_state),
9596         (gst_element_set_state), (gst_element_change_state),
9597         (gst_element_change_state_func):
9598         * gst/gstelement.h:
9599         New state change algorithm (see #318116)
9600
9601         * gst/gstpipeline.c: (gst_pipeline_class_init),
9602         (gst_pipeline_init), (gst_pipeline_set_property),
9603         (gst_pipeline_get_property), (do_pipeline_seek),
9604         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9605         * gst/gstpipeline.h:
9606         Remove crude state change hacks.
9607
9608         * gst/gstutils.h:
9609         Remove crude hacks.
9610
9611         * tools/gst-launch.c: (main):
9612         Fixes for state change. Needs some more work to fully use the
9613         new stuff.
9614
9615 2005-10-10  Andy Wingo  <wingo@pobox.com>
9616
9617         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9618
9619         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9620         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9621         issue.
9622
9623 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9624
9625         * gst/gstiterator.c: (gst_iterator_new):
9626           Fix my previous commit: GTypes passed to gst_iterator_new()
9627           can be fundamental types.
9628
9629 2005-10-10  Wim Taymans  <wim@fluendo.com>
9630
9631         * gst/gstelement.c: (gst_element_iterate_pad_list),
9632         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9633         (gst_element_iterate_sink_pads):
9634         Use src/sink pads lists for the respective iterators instead
9635         of filtering.
9636
9637 2005-10-10  Andy Wingo  <wingo@pobox.com>
9638
9639         Merged in popt removal + GOption addition patch from Ronald, bug
9640         #169772.
9641
9642         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9643         GstElement macros around, remove popt-related symbols, add goption
9644         stuff.
9645
9646         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9647         
9648         * docs/gst/Makefile.am:
9649         * docs/libs/Makefile.am: No POPT_CFLAGS.
9650         
9651         * examples/manual/Makefile.am:
9652         * docs/manual/basics-init.xml: Doc updates with an example.
9653         
9654         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9655         (gst_init), (parse_one_option), (parse_goption_arg):
9656         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9657         bit of hand merging and debugging to get the GOption stuff working
9658         tho.
9659         
9660         * tests/Makefile.am:
9661         * tools/Makefile.am:
9662         * tools/gst-inspect.c: (main):
9663         * tools/gst-launch.c: (main):
9664         * tools/gst-run.c: (main):
9665         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9666
9667 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9668
9669         * gst/gstiterator.c: (gst_iterator_new):
9670           Add assertions to make sure passed GType is likely to really
9671           be a GType (as the compiler won't catch it if the size and
9672           GType arguments get mixed up, see #318447).
9673
9674 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9675
9676         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9677
9678         * gst/gstbin.c: (gst_bin_iterate_sorted):
9679           Pass GType and size arguments to gst_iterator_new() in the right
9680           order (maybe we should make _new() take the GType as first argument
9681           just like _new_list()?) (#318447).
9682           
9683
9684 2005-10-10  Wim Taymans  <wim@fluendo.com>
9685
9686         * gst/gstelement.c: (gst_element_finalize):
9687         And free the GStaticRecMutex too
9688
9689 2005-10-10  Andy Wingo  <wingo@pobox.com>
9690
9691         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9692         Allocate and free the mutex properly.
9693
9694         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9695         New macros.
9696         (GstElement): The state_lock is now recursive. Rebuild your
9697         plugins, suckers. Old macros adapted.
9698
9699         * docs/gst/gstreamer-sections.txt: Doc updates.
9700
9701         * gst/gstutils.h:
9702         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9703         (g_static_rec_cond_wait): Ported from state changes patch, while
9704         we wait on bug #317802 to be solved in a well-distributed GLib.
9705
9706         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9707         gst_element_change_state, variable name changes.
9708         (gst_element_change_state): Split out of gst_element_set_state in
9709         preparation for the state change merge. Doesn't pay attention to
9710         the 'transition' argument.
9711         (gst_element_set_state): Updates, hopefully purely cosmetic.
9712         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9713         state change patch.
9714         (gst_element_get_state_func): Renamed from get_state, cosmetic
9715         changes.
9716
9717 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9718
9719         * gst/elements/gstelements.c:
9720         * win32/GStreamer.vcproj:
9721         * win32/config.h:
9722         * win32/dirent.c: (_tseekdir):
9723         * win32/gst-inspect.vcproj:
9724         * win32/gst-launch.vcproj:
9725         * win32/gstconfig.h:
9726         * win32/gstelements.vcproj:
9727         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9728         * win32/gstreamer.def:
9729         * win32/msvc71.sln:
9730           updates for the win32 build (patch from Sebastien Moutte)
9731
9732 2005-10-10  Andy Wingo  <wingo@pobox.com>
9733
9734         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9735         gst_bin_get_state, cleaned up (but no logic changes).
9736         (bin_element_is_sink): Comment updates.
9737         (sink_iterator_filter): Remove needless cast.
9738         (gst_bin_iterate_sinks): Doc update.
9739         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9740         cleaned up (but no logic changes).
9741
9742         * check/states/sinks.c (test_src_sink): Cleanups from the state
9743         change patch.
9744         (test_livesrc_sink): Sync on the state.
9745
9746         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9747         the state change patch.
9748
9749         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9750         change patch.
9751
9752         * check/gst/gstbin.c: Merge in some style fixes and additional
9753         checks from Wim's state change patch.
9754
9755 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9756
9757         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9758         (gst_type_find_helper):
9759           Check whether we have the requested data already in our list of
9760           cached buffers before pulling a new buffer; also make the buffer
9761           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9762
9763 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9764
9765         * gst/gstcaps.c:
9766         * gst/gstevent.c:
9767           doc updates
9768         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9769           don't use long long, it's not portable.  Replacing with
9770           gint64 seems to work; let's hope no skeletons fall out of the closet.
9771
9772 2005-10-10  Andy Wingo  <wingo@pobox.com>
9773
9774         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9775
9776 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9777
9778         * docs/gst/gstreamer-sections.txt:
9779         * gst/gstevent.c:
9780         * gst/gstevent.h:
9781         * gst/gstinfo.c:
9782         * gst/gstinfo.h:
9783         * gst/gstmessage.c: (gst_message_parse_state_changed):
9784         * gst/gstpad.c:
9785         * gst/gstpad.h:
9786           more docs, fix compilation
9787
9788 2005-10-09  Philippe Khalaf <burger@speedy.org>
9789         * gst/gstmessage.c:
9790           Fixed a few forgotten variables on previous commit
9791
9792 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9793
9794         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9795           Fix evil typefind crasher: getrange() might return a short
9796           buffer at the end of a file, but gst_type_find_peek() must
9797           either return the full data as requested or NULL, but
9798           never a short buffer.
9799
9800 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * gst/gstmessage.c: (gst_message_new_state_changed),
9803         (gst_message_parse_state_changed):
9804         * gst/gstmessage.h:
9805           don't use "new", it's a C++ keyword
9806
9807 2005-10-08  Wim Taymans  <wim@fluendo.com>
9808
9809         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9810         * gst/gstelement.c: (gst_element_post_message):
9811         * gst/gstpipeline.c: (gst_pipeline_change_state):
9812         Small docs and debug updates.
9813
9814 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9815
9816         * docs/gst/gstreamer-sections.txt:
9817         * gst/gstelementfactory.c:
9818         * gst/gstevent.c:
9819         * gst/gsttaglist.c:
9820           more docs
9821
9822 2005-10-08  Wim Taymans  <wim@fluendo.com>
9823
9824         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9825         (gst_bin_dispose), (bin_bus_handler):
9826         Fix typos, add comments.
9827         Clear EOS list when going to PAUSED from any direction and do it
9828         in a threadsafe way.
9829         Get base time in a threadsafe way too.
9830         Fix confusing debug in the change_state function.
9831         Various other small cleanups.
9832         
9833         * gst/gstelement.c: (gst_element_post_message):
9834         Fix very verbose bus posting code.
9835
9836         * gst/gstpipeline.c: (gst_pipeline_class_init),
9837         (gst_pipeline_set_property), (gst_pipeline_get_property),
9838         (gst_pipeline_change_state):
9839         Small ARG_ -> PROP_ cleanup
9840
9841 2005-10-08  Wim Taymans  <wim@fluendo.com>
9842
9843         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9844         Do a less CPU demanding EOS check because we can.
9845
9846 2005-10-08  Wim Taymans  <wim@fluendo.com>
9847
9848         * libs/gst/dataprotocol/dataprotocol.c:
9849         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9850         (gst_dp_packet_from_event):
9851         * libs/gst/dataprotocol/dataprotocol.h:
9852         * libs/gst/dataprotocol/dp-private.h:
9853         It's about time we bump the version number.
9854         Since event types don't fit in the guint8 anymore describing
9855         the payload type, make payload type 16 bits wide.
9856
9857 2005-10-08  Wim Taymans  <wim@fluendo.com>
9858
9859         * docs/design/part-TODO.txt:
9860         * docs/design/part-clocks.txt:
9861         * docs/design/part-events.txt:
9862         * docs/design/part-gstbin.txt:
9863         * docs/design/part-gstelement.txt:
9864         * docs/design/part-gstpipeline.txt:
9865         * docs/design/part-live-source.txt:
9866         * docs/design/part-messages.txt:
9867         * docs/design/part-overview.txt:
9868         * docs/design/part-states.txt:
9869         Many doc updates.
9870
9871 2005-10-08  Wim Taymans  <wim@fluendo.com>
9872
9873         * gst/gstevent.c:
9874         * gst/gstevent.h:
9875         Fix event quark registration.
9876         Add some space between events so we can insert them in the
9877         right groups.
9878
9879 2005-10-08  Wim Taymans  <wim@fluendo.com>
9880
9881         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9882         (gst_base_sink_handle_buffer):
9883         Better log message.
9884
9885         * gst/gstbus.h:
9886         * gst/gstelement.h:
9887         More docs.
9888
9889         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9890         (gst_queue_set_property), (gst_queue_get_property):
9891         * gst/gstqueue.h:
9892         Remove old unused properties.
9893
9894 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9895         * docs/gst/gstreamer-sections.txt:
9896         * gst/gstmessage.c:
9897         * gst/gstmessage.h:
9898         * gst/gstminiobject.c:
9899         * gst/gstminiobject.h:
9900         * gst/gstobject.h:
9901         * gst/gstpad.h:
9902         * gst/gstutils.h:
9903           lots of new docs and doc fixes
9904
9905 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9906
9907         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9908         * gst/gstplugin.h:
9909         * gst/gstregistry.c: (gst_registry_lookup_locked),
9910         (gst_registry_scan_path_level):
9911         * gst/gstregistryxml.c: (load_plugin):
9912           Only ever load one plugin for a given plugin basename.
9913           This ensures correct overriding of GST_PLUGIN_PATH over
9914           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9915           system installed plugins.
9916
9917 2005-10-08  Wim Taymans  <wim@fluendo.com>
9918
9919         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9920         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9921         Prepare for doing QOS.
9922
9923 2005-10-08  Wim Taymans  <wim@fluendo.com>
9924
9925         * check/gst/gstbin.c: (GST_START_TEST):
9926         * check/pipelines/cleanup.c: (GST_START_TEST):
9927         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9928         Allow new clock message too.
9929
9930 2005-10-08  Wim Taymans  <wim@fluendo.com>
9931
9932         * gst/gstmessage.c: (gst_message_new_error),
9933         (gst_message_new_warning), (gst_message_new_tag),
9934         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9935         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9936         (gst_message_new_segment_start), (gst_message_new_segment_done),
9937         (gst_message_parse_state_changed),
9938         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9939         (gst_message_parse_new_clock):
9940         * gst/gstmessage.h:
9941         Also carry the clock in question.
9942
9943 2005-10-08  Wim Taymans  <wim@fluendo.com>
9944
9945         * gst/gstmessage.c: (gst_message_new_custom),
9946         (gst_message_new_eos), (gst_message_new_error),
9947         (gst_message_new_warning), (gst_message_new_tag),
9948         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9949         (gst_message_new_new_clock), (gst_message_new_segment_start),
9950         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9951         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9952         * gst/gstmessage.h:
9953         Clean up.
9954         Added clock related messages.
9955
9956         * gst/gstpipeline.c: (gst_pipeline_change_state):
9957         Post message when the clock changed.
9958
9959         * tools/gst-launch.c: (event_loop):
9960         Print new clock.
9961
9962 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9963
9964         * tools/gst-inspect.c: (print_element_properties_info):
9965           Can't pass NULL strings to g_print() on windows.
9966
9967 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9968
9969         * docs/Makefile.am:
9970         * docs/gst/Makefile.am:
9971         * docs/gst/gstreamer-docs.sgml:
9972         * docs/gst/running.xml:
9973         * docs/version.entities.in:
9974           add a chapter on running GStreamer.
9975           document GST_DEBUG and GST_PLUGIN* env vars
9976
9977 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9978
9979         * Makefile.am:
9980           remove include dir
9981         * configure.ac:
9982           remove PLUGINS_BUILDDIR stuff
9983         * gst/gst.c: (init_post):
9984           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9985         * idiottest.mak:
9986           remove, it was condescending and not needed
9987
9988 2005-10-08  Wim Taymans  <wim@fluendo.com>
9989
9990         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9991         (gst_base_sink_handle_object), (gst_base_sink_event),
9992         (gst_base_sink_wait), (gst_base_sink_handle_event),
9993         (gst_base_sink_change_state):
9994         * gst/base/gstbasesink.h:
9995         Repost EOS message while going to PLAYING if still EOS.
9996         Make sure that when receiving a FLUSH_START we don't attempt
9997         to sync on the clock anymore.
9998
9999 2005-10-08  Wim Taymans  <wim@fluendo.com>
10000
10001         * tools/gst-launch.c: (event_loop):
10002         Better message printout.
10003
10004 2005-10-08  Wim Taymans  <wim@fluendo.com>
10005
10006         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10007         (gst_bin_child_proxy_get_children_count):
10008         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10009         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10010         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10011         (gst_child_proxy_set_valist):
10012         * gst/parse/grammar.y:
10013         Make ChildProxy threadsafe and fix mem leaks.
10014
10015 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10016
10017         * gst/gst.c: (init_post):
10018           debug the GST_PLUGIN_ env vars
10019
10020 2005-10-08  Wim Taymans  <wim@fluendo.com>
10021
10022         * check/gst/gstbin.c: (GST_START_TEST):
10023         * check/gst/gstmessage.c: (GST_START_TEST):
10024         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10025         * gst/gstelement.c: (gst_element_commit_state),
10026         (gst_element_lost_state):
10027         * gst/gstmessage.c: (gst_message_new_state_changed),
10028         (gst_message_parse_state_changed):
10029         * gst/gstmessage.h:
10030         * tools/gst-launch.c: (event_loop):
10031         Added extra field to STATE_CHANGE message with the pending
10032         state, which will be different from the new state soon.
10033
10034 2005-10-08  Wim Taymans  <wim@fluendo.com>
10035
10036         * gst/gstbus.c: (gst_bus_pop):
10037         * gst/gstclock.c:
10038         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10039         Small cleanups and doc updates.
10040
10041 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10042
10043         * gst/gst.c: (init_pre):
10044         * gst/gstbin.c: (gst_bin_add_func):
10045           log distributing clocks and base time
10046         * gst/gstregistry.c: (gst_registry_add_plugin),
10047         (gst_registry_scan_path_level), (gst_registry_scan_path):
10048           clean up the debugging output a little
10049         * gst/gstutils.c: (gst_element_state_get_name):
10050           warn about a memleak (I've actually seen this be used, though
10051           it was probably a bug)
10052
10053 2005-10-07  Wim Taymans  <wim@fluendo.com>
10054
10055         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10056         (gst_base_src_init), (gst_base_src_default_newsegment),
10057         (gst_base_src_newsegment), (gst_base_src_do_seek),
10058         (gst_base_src_loop), (gst_base_src_start):
10059         * gst/base/gstbasesrc.h:
10060         Make the newsegment event customizable by subclasses.
10061
10062 2005-10-07  Wim Taymans  <wim@fluendo.com>
10063
10064         * gst/gstevent.c: (gst_event_new_buffersize),
10065         (gst_event_parse_buffersize):
10066         * gst/gstevent.h:
10067         New event for future idea.
10068
10069 2005-10-07  Andy Wingo  <wingo@pobox.com>
10070
10071         * gst/gstelement.c (gst_element_post_message): Doc update.
10072
10073         * docs/gst/gstreamer-sections.txt: Update.
10074
10075         * gst/gstmessage.c (gst_message_new_application): Made into a
10076         function like honest API calls.
10077         (gst_message_new_element): New message type.
10078
10079         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10080
10081         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10082         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10083         times.
10084
10085         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10086         NO_PREROLL from gst_element_change_state to fall through.
10087
10088 2005-10-07  Wim Taymans  <wim@fluendo.com>
10089
10090         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10091         (gst_ghost_pad_do_activate_push):
10092         Activating a ghostpad with no internal pad in push mode
10093         is ok.
10094
10095 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10096
10097         * gst/gstobject.h:
10098           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10099           Fixes compilation on Windows.
10100
10101 2005-10-07  Michael Smith <msmith@fluendo.com>
10102
10103         * tools/gst-inspect.c:
10104           Print out feature and plugin count at the end when printing out
10105           all features.
10106
10107 2005-10-04  Michael Smith <msmith@fluendo.com>
10108
10109         * gst/gsterror.c: (_gst_stream_errors_init):
10110           Add another error string used in a few existing plugins.
10111
10112         * gst/gstplugin.c:
10113         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10114         * tools/gst-inspect.c: (print_element_info):
10115           When a feature disappears from a plugin (and the feature exists in
10116           the cached registry file), things went horribly wrong. This isn't a
10117           complete fix, we should actually be removing the 'missing' features
10118           from the features list when we load the actual plugin. That's not
10119           yet implemented. 
10120
10121 2005-10-04  Johan Dahlin  <johan@gnome.org>
10122
10123         * check/gst/gstiterator.c: (GST_START_TEST):
10124         * gst/gstbin.c: (gst_bin_iterate_elements),
10125         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10126         * gst/gstelement.c: (gst_element_iterate_pads):
10127         * gst/gstformat.c: (gst_format_iterate_definitions):
10128         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10129         (gst_iterator_new_list), (gst_iterator_filter):
10130         * gst/gstiterator.h:
10131         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10132         Add a GType to GstIterator, update callsites and tests.
10133
10134 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10135
10136         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10137           give events a chance to be handled by event probes when the pad
10138           is not linked
10139
10140 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10141
10142         * gst/gstevent.c: (gst_event_type_get_name),
10143         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10144         * gst/gstevent.h:
10145           add string representations for event types
10146
10147 2005-10-06  Wim Taymans  <wim@fluendo.com>
10148
10149         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10150         Don't use NULL pointers.
10151
10152 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10153
10154         * gst/gst_private.h:
10155         * gst/gstbus.c:
10156         * gst/gstelement.c:
10157         * gst/gstinfo.c:
10158         * gst/gstpluginfeature.c:
10159           widen the debug category in output to fit the biggest one we have
10160           add a bus category and use it
10161           play with the colors
10162           fix up some categories
10163
10164 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10165
10166         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10167           add push activation of sink ghost pads.
10168           Andye, please verify
10169
10170 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10171
10172         * gst/gstutils.c: (gst_element_link_pads):
10173           fix a bug in the case where neither element has a pad
10174         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10175           add a test for that case
10176
10177 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10178
10179         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10180           emit have-data before checking for peers.  This allows
10181           for probe handlers to connect elements.  This helps autopluggers.
10182         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10183         (gst_pad_suite):
10184           add six checks, linked/unlinked with no/true/false probe
10185
10186 2005-10-04  Wim Taymans  <wim@fluendo.com>
10187
10188         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10189         (gst_fake_sink_event), (gst_fake_sink_preroll),
10190         (gst_fake_sink_render), (gst_fake_sink_change_state):
10191         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10192         (gst_fake_src_get_property), (gst_fake_src_create),
10193         (gst_fake_src_stop):
10194         * gst/elements/gstidentity.c: (gst_identity_stop):
10195         Protect last_message with lock.
10196
10197 2005-10-04  Edward Hervey  <edward@fluendo.com>
10198
10199         * gst/gstformat.h: 
10200         Added precision in the comments for GST_FORMAT_DEFAULT
10201
10202 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10203
10204         * tools/gst-launch.c: (main):
10205           Don't try to run erroneous pipelines.
10206
10207 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10208
10209         * gst/gstbus.c: We don't need this header.
10210
10211 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10212
10213         * configure.ac:
10214           back to development
10215
10216 === release 0.9.3 ===
10217
10218 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * README:
10221         * configure.ac:
10222           Releasing 0.9.3, "Unregistered"
10223
10224 2005-10-03  Andy Wingo  <wingo@pobox.com>
10225
10226         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10227         whereby calling a pad's activatepush() function can start a thread
10228         that starts to push or pull before the pad gets the FLUSHING flag
10229         unset. Hack around it by holding the stream lock until the flag is
10230         set. Need to replace this with a proper solution. Together with
10231         the ghost pad fixes, this fixes mp3 playing/tagreading.
10232
10233         * docs/design/part-gstghostpad.txt: Add a note about activation of
10234         proxy pads outside of ghost pads.
10235
10236         * gst/gstghostpad.c: Implement the ghost pad activation design.
10237
10238 2005-10-02  Andy Wingo  <wingo@pobox.com>
10239
10240         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10241         It is volatile, after all.
10242
10243         * docs/design/part-gstghostpad.txt: Flesh out activation with
10244         ghost pads.
10245
10246         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10247         GST_DEBUG_FUNCPTR.
10248
10249 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10250
10251         * configure.ac:
10252           Fix (unused) AM_CONDITIONAL tests.
10253
10254 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10255
10256         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10257
10258         * gst/gstutils.c: (gst_pad_query_convert):
10259           Add assertion that makes sure src_val is >=0, just like
10260           gst_query_new_convert() has. (#315895)
10261
10262 2005-09-30  Edward Hervey  <edward@fluendo.com>
10263
10264         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10265         Let's not iterate pads we're not interested in, it avoids getting 
10266         sky-high refcounts on sinkpad.
10267
10268 2005-09-30  Wim Taymans  <wim@fluendo.com>
10269
10270         * gst/gstelement.c: (gst_element_set_state),
10271         (gst_element_change_state):
10272         Small tweak, element in ASYNC remains ASYNC.
10273
10274 2005-09-30  Wim Taymans  <wim@fluendo.com>
10275
10276         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10277         Only error is an error.
10278
10279         * gst/gstbin.c: (gst_bin_change_state):
10280         Better debugging.
10281
10282         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10283         Also call pad_block in pad alloc.
10284
10285         * gst/gstutils.c: (gst_flow_get_name):
10286         Better debugging.
10287
10288 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10289
10290         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10291         (gst_base_src_get_range):
10292           Fix documentation typos. Add some more debug info.
10293
10294 2005-09-29  David Schleef  <ds@schleef.org>
10295
10296         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10297           more end-user friendly.
10298         * tools/gst-inspect.c: (main): Check if command-line argument is
10299           a file and attempt to load that file as a plugin.
10300
10301 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10302
10303         * check/gst/gstbin.c:
10304         * check/states/sinks.c:
10305           fix tests for the new warning
10306         * check/gst/gstpipeline.c:
10307           add a test for pipeline and bus interaction
10308         * gst/gstelement.c:
10309           elements should be NULL if they get disposed; add a warning if not
10310
10311 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10312
10313         * gst/gstobject.c:
10314           for 2.6 refcounting, make debug log more correct by printing
10315           the actual refcounts at the time of swap (Wim)
10316
10317 2005-09-29  Andy Wingo  <wingo@pobox.com>
10318
10319         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10320         removes signal watches previously added via
10321         gst_bus_add_signal_watch.
10322         (gst_bus_add_signal_watch): Don't return the source id, just store
10323         it on the bus if there wasn't an id already.
10324
10325         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10326         add_signal_watch and remove_signal_watch.
10327
10328 2005-09-29  Edward Hervey  <edward@fluendo.com>
10329
10330         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10331         Better if we actually iterate the list :)
10332
10333 2005-09-29  Wim Taymans  <wim@fluendo.com>
10334
10335         * check/gst/gstbin.c: (GST_START_TEST):
10336         Change for new bus API.
10337
10338         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10339         (send_messages), (GST_START_TEST), (gstbus_suite):
10340         Change for new bus signal API.
10341
10342         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10343         (gst_bus_source_prepare), (gst_bus_source_check),
10344         (gst_bus_create_watch), (gst_bus_add_watch_full),
10345         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10346         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10347         * gst/gstbus.h:
10348         Remove support for multiple GSources operating on different
10349         message types as it is too complex and unneeded when using
10350         signals.
10351         Added support for receiving signals from the bus.
10352
10353 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10354
10355         * docs/libs/tmpl/gstdataprotocol.sgml:
10356         * docs/manual/advanced-dataaccess.xml:
10357         * gst/elements/gstcapsfilter.c:
10358         * gst/gstutils.c:
10359           rename filter-caps to caps property
10360
10361 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10362
10363         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10364           More robust fraction string parsing.
10365
10366         * docs/pwg/appendix-porting.xml:
10367           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10368
10369 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10370
10371         * gst/gstcaps.c: (gst_caps_do_simplify):
10372           Thou shalt not free a structure and then continue using it
10373           in the next loop iteration.
10374
10375         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10376         (gst_caps_suite):
10377           Add test case for caps simplification.
10378
10379 2005-09-29  Wim Taymans  <wim@fluendo.com>
10380
10381         * check/gst/gstbin.c: (GST_START_TEST):
10382         Oops.
10383
10384 2005-09-29  Wim Taymans  <wim@fluendo.com>
10385
10386         * check/gst/gstbin.c: (GST_START_TEST):
10387         Add bus to bin.
10388
10389         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10390         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10391         (find_element), (gst_bin_sort_iterator_next),
10392         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10393         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10394         (gst_bin_change_state), (gst_bin_dispose):
10395         A bin does not have a bus, it gets the bus from the parent.
10396
10397         * gst/gstelement.c: (gst_element_requires_clock),
10398         (gst_element_provides_clock), (gst_element_is_indexable),
10399         (gst_element_is_locked_state), (gst_element_change_state),
10400         (gst_element_set_bus_func):
10401         Small cleanups.
10402
10403         * gst/gstpipeline.c: (gst_pipeline_class_init),
10404         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10405         The pipeline provides a bus.
10406
10407 2005-09-28  Johan Dahlin  <johan@gnome.org>
10408
10409         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10410         gst_structure_get_enum instead of gst_structure_get_int
10411
10412         * gst/gststructure.c (gst_structure_get_enum): Impl.
10413
10414         * gst/gststructure.h (gst_structure_get_enum): Add
10415
10416         * docs/gst/gstreamer-sections.txt: Ditto
10417
10418         * gst/gstmessage.c (gst_message_new_state_changed): Use
10419         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10420         which does introspection.
10421         Reviewed by Christian Schaller
10422
10423 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10424
10425         * gst/gstinfo.c: (gst_debug_log_default):
10426           don't do dummy g_strdup()s
10427         * libs/gst/controller/gstcontroller.c:
10428         (on_object_controlled_property_changed),
10429         (gst_controlled_property_new), (gst_controller_new_valist),
10430         (gst_controller_new_list),
10431         (gst_controller_remove_properties_valist), (gst_controller_set),
10432         (gst_controller_get), (gst_controller_sync_values),
10433         (gst_controller_get_value_array), (_gst_controller_class_init),
10434         (gst_controller_get_type):
10435         * libs/gst/controller/gstcontroller.h:
10436         * libs/gst/controller/gstinterpolation.c:
10437         (gst_controlled_property_find_timed_value_node):
10438           convert // to /**/ comments
10439
10440 2005-09-28  Wim Taymans  <wim@fluendo.com>
10441
10442         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10443         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10444         (gst_bus_sync_signal_handler):
10445         * gst/gstbus.h:
10446         Added async-message and sync-message signals to the bus.
10447         Added helper BusFunc to emit signals for all posted messages.
10448
10449         * gst/gstmessage.c: (gst_message_type_get_name),
10450         (gst_message_type_to_quark), (gst_message_get_type):
10451         * gst/gstmessage.h:
10452         Register quarks for message names.
10453
10454 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10455
10456         * docs/libs/gstreamer-libs-sections.txt:
10457         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10458         (gst_controller_new_list):
10459         * libs/gst/controller/gstcontroller.h:
10460           added another constructor for language bindings
10461
10462 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10463
10464         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10465           add another check
10466         * gst/gstbus.c:
10467           add some doc
10468         * gst/gstinfo.c: (_gst_debug_init):
10469           slightly more readable color for refcount debugging
10470
10471 2005-09-28  Wim Taymans  <wim@fluendo.com>
10472
10473         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10474         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10475         (find_element), (gst_bin_sort_iterator_next),
10476         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10477         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10478         (gst_bin_change_state), (gst_bin_dispose):
10479         Small doc fixes. get_clock -> provide_clock.
10480
10481         * gst/gstelement.c: (gst_element_class_init),
10482         (gst_element_provides_clock), (gst_element_provide_clock),
10483         (gst_element_get_clock), (gst_element_commit_state),
10484         (gst_element_lost_state):
10485         * gst/gstelement.h:
10486         Make get/set_clock() symetric. Add provide_clock vmethod since
10487         that is actually what this function does.
10488
10489         * gst/gstpipeline.c: (gst_pipeline_class_init),
10490         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10491         (gst_pipeline_get_clock):
10492         get_clock -> provide_clock.
10493
10494 2005-09-28  Andy Wingo  <wingo@pobox.com>
10495
10496         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10497         lieu of real docs...
10498
10499         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10500
10501 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10502
10503         * gst/elements/gstcapsfilter.c:
10504         * gst/elements/gstfakesink.c:
10505         * gst/elements/gstfakesrc.c:
10506         * gst/elements/gstfdsink.c:
10507         * gst/elements/gstfdsrc.c:
10508         * gst/elements/gstfilesink.c:
10509         * gst/elements/gstfilesrc.c:
10510         * gst/elements/gstidentity.c:
10511         * gst/elements/gsttee.c:
10512         * gst/elements/gsttypefindelement.c:
10513           Make element details static.
10514
10515 2005-09-28  Wim Taymans  <wim@fluendo.com>
10516
10517         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10518         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10519         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10520         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10521         (gst_bin_change_state), (gst_bin_dispose):
10522         Some documentation updates.
10523         Clean up dispose handlers.
10524
10525         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10526         * gst/gstpad.c: (gst_pad_dispose):
10527         Clean up dispose handler.
10528
10529         * gst/gstpipeline.c: (gst_pipeline_change_state):
10530         Removed spurious UNLOCK.
10531
10532 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10533
10534         * docs/gst/gstreamer-sections.txt:
10535         * gst/base/gstbasesrc.h:
10536         * gst/gstelement.h:
10537         * gst/gstevent.h:
10538         * gst/gstobject.h:
10539         * gst/gstpad.h:
10540         * gst/gstpipeline.c:
10541         * gst/gstpipeline.h:
10542         * gst/gstutils.h:
10543         * gst/gstxml.h:
10544           added two new functions to the docs
10545                 documents all undocumented GstXXXFlags
10546                 completed some incomplete docs 
10547
10548 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10549
10550         * gst/gstbin.c: (gst_bin_dispose):
10551         * gst/gstelement.c: (gst_element_dispose):
10552           remove now useless and leaky resurrection code in dispose
10553         * gst/base/gstbasesrc.c: (gst_base_src_init):
10554         * gst/gstelementfactory.c: (gst_element_factory_create):
10555         * gst/gstobject.c: (gst_object_set_parent):
10556           add some debugging
10557
10558 2005-09-27  Wim Taymans  <wim@fluendo.com>
10559
10560         * docs/design/part-TODO.txt:
10561         Update TODO.
10562
10563         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10564         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10565         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10566         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10567         (gst_bin_change_state):
10568         * gst/gstelement.h:
10569         Remove element variable, we keep element info in the iterator now.
10570
10571 2005-09-27  Andy Wingo  <wingo@pobox.com>
10572
10573         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10574         values.
10575
10576 2005-09-27  Wim Taymans  <wim@fluendo.com>
10577
10578         * check/gst/gstbin.c: (GST_START_TEST):
10579         Enable check that works now.
10580
10581         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10582         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10583         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10584         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10585         (gst_bin_change_state):
10586         * gst/gstbin.h:
10587         Redid the state change algorithm using a topological sort algo.
10588         Handles all cases correctly.
10589         Exposed iterator for state change order.
10590
10591         * gst/gstelement.h:
10592         Temp storage for state changes. Need to get rid of this soon.
10593
10594 2005-09-27  Wim Taymans  <wim@fluendo.com>
10595
10596         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10597         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10598         (link_fold_func), (gst_pad_proxy_setcaps):
10599         Leak fixes, the fold functions need to unref the passed object and
10600         _get_parent_*() returns ref to parent.
10601
10602 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10603
10604         * check/gst/gstbuffer.c: (test_make_writable):
10605           Plug leak in test case and fix 'make check-valgrind'
10606
10607 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10608
10609         * gst/gstbuffer.c: (gst_subbuffer_init):
10610           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10611           works correctly in all circumstances (we could have just copied
10612           the parent buffer's readonly flag, but conceptually it seems
10613           cleaner to mark all subbuffers as read-only). (based on patch
10614           by Alessandro Decina, #314710).
10615         
10616         * check/gst/gstbuffer.c: (create_read_only_buffer),
10617         (test_make_writable), (test_subbuffer_make_writable),
10618         (gst_test_suite):
10619           Add some tests for gst_buffer_make_writable().
10620
10621 2005-09-27  Wim Taymans  <wim@fluendo.com>
10622
10623         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10624         use gst_object_has_ancestor().
10625
10626         * gst/gstobject.c: (gst_object_has_ancestor):
10627         * gst/gstobject.h:
10628         gst_object_has_ancestor() copied from gstbin.c as it is a
10629         usefull function.
10630
10631         * tests/instantiate/create.c: (create_all_elements):
10632         * tests/lat.c: (handoff_src), (handoff_sink):
10633         * tests/sched/runxml.c: (main):
10634         * tests/seeking/seeking1.c: (main):
10635         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10636         (main):
10637         Fix compilation of some tests.
10638
10639 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10640
10641         * gst/gsterror.h:
10642           Remove comment. GST_TYPE_G_ERROR is here to stay,
10643           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10644           (#316961, #300610).
10645
10646 2005-09-26  Wim Taymans  <wim@fluendo.com>
10647
10648         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10649         Added check that shows error in state change order.
10650
10651 2005-09-26  Wim Taymans  <wim@fluendo.com>
10652
10653         * gst/gstbin.c: (gst_bin_change_state):
10654         Make state change function use 3 queues again, we were
10655         adding elements in the wrong order.
10656
10657         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10658         Some debug info,
10659
10660         * gst/gstpad.c: (gst_pad_dispose):
10661         Added some debug info first.
10662
10663 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10664
10665         * docs/design/draft-push-pull.txt:
10666         * docs/design/part-events.txt:
10667         * docs/design/part-overview.txt:
10668         * docs/design/part-scheduling.txt:
10669           Replace all _pull_region() with _pull_range()
10670           
10671 2005-09-26  Andy Wingo  <wingo@pobox.com>
10672
10673         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10674
10675         * check/gst-libs/controller.c: Update for controller api change.
10676
10677         * configure.ac: 
10678         * tests/Makefile.am:
10679         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10680         over by GLib bug 118439.
10681         
10682         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10683         routines to a function.
10684
10685         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10686
10687         * libs/gst/controller/gsthelper.c:
10688         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10689         (gst_object_sync_values): Renamed from sink_values. Ugh.
10690
10691         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10692
10693         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10694         Renamed from controller_key, as it is exported.
10695
10696         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10697
10698 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10699
10700         * gst/Makefile.am:
10701         * gst/gst.h:
10702         * gst/gstpad.h:
10703         * gst/gstpadtemplate.h:
10704         * gst/gstquery.c:
10705         * gst/gstquery.h:
10706         * gst/gstqueryutils.c:
10707         * gst/gstqueryutils.h:
10708           remove queryutils headers after moving the two used functions
10709           to gstquery.  also fixes build problem for gstsiddec
10710
10711 2005-09-26  Michael Smith <msmith@fluendo.com>
10712
10713         * tools/gst-launch.1.in:
10714         Correct documentation in manpage of debug syntax
10715
10716 2005-09-26  Wim Taymans  <wim@fluendo.com>
10717
10718         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10719         (gst_base_src_is_seekable), (gst_base_src_change_state):
10720         Some more debugging info.
10721
10722 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10723
10724         * docs/gst/gstreamer-sections.txt:
10725         * gst/base/gstbasetransform.h:
10726         * gst/gstindex.h:
10727           added more docs
10728
10729 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10730
10731         * docs/gst/.cvsignore:
10732         * docs/gst/tmpl/.cvsignore:
10733         * docs/gst/tmpl/gstpipeline.sgml:
10734         * docs/gst/tmpl/gstplugin.sgml:
10735         * gst/gstpipeline.c:
10736         * gst/gstplugin.c:
10737         * gst/gstplugin.h:
10738           inlined the last two docs files
10739           removed the tmpl directory from cvs (no more conflicts here!)
10740
10741 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10742
10743         * docs/gst/gstreamer-sections.txt:
10744         * docs/gst/tmpl/.cvsignore:
10745         * docs/gst/tmpl/gstpad.sgml:
10746         * docs/gst/tmpl/gstpadtemplate.sgml:
10747         * gst/Makefile.am:
10748         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10749         (gst_pad_finalize), (gst_pad_set_pad_template):
10750         * gst/gstpad.h:
10751         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10752         (gst_pad_template_class_init), (gst_pad_template_init),
10753         (gst_pad_template_dispose), (name_is_valid),
10754         (gst_static_pad_template_get), (gst_pad_template_new),
10755         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10756         (gst_pad_template_pad_created):
10757         * gst/gstpadtemplate.h:
10758           inlined two more docs
10759           factored gstpadtemplate out of gstpad
10760
10761 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10762
10763         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10764         (test_children_state_change_order_semi_sink):
10765           Fix test case: we can't rely on a fixed state change order when
10766           going from READY => PAUSED because the sink might commit its 
10767           new state first when the first buffer created by the source 
10768           reaches the sink before the source has finished its change state.
10769           (Test case still fails at times, see #316856, comment 5 onwards)
10770
10771 2005-09-24  Wim Taymans  <wim@fluendo.com>
10772
10773         * docs/design/part-events.txt:
10774         * docs/design/part-gstbus.txt:
10775         * docs/design/part-gstpipeline.txt:
10776         * docs/design/part-messages.txt:
10777         * docs/design/part-overview.txt:
10778         * docs/design/part-segments.txt:
10779         * gst/gstbin.c:
10780         * gst/gstbuffer.c:
10781         * gst/gstclock.c:
10782         * gst/gstelement.c:
10783         * gst/gstevent.c:
10784         * gst/gstfilter.c:
10785         * gst/gstiterator.c:
10786         Various documentation updates.
10787
10788 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10789
10790         * gst/gstclock.h:
10791           Well, that's embarassing.  Luckily we weren't using
10792           GST_CLOCK_DIFF anywhere.
10793
10794 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10795
10796         * common/gtk-doc.mak:
10797           don't fail on building XML, FC4 slave shows a bunch of doc
10798           missing bits that I don't get
10799         * gst/gstpad.c:
10800         * gst/gstpipeline.c:
10801         * gst/gststructure.c:
10802           some doc updates
10803
10804 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10805
10806         * docs/design/part-gstbin.txt:
10807         * docs/design/part-gstbus.txt:
10808         * gst/gstbus.c:
10809           Add blurb about how the bus goes into flushing mode and
10810           drops all messages when its bin goes from READY into NULL 
10811           state.
10812
10813 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10814
10815         * docs/gst/gstreamer-sections.txt:
10816         * gst/gststructure.c: (gst_structure_get_clock_time):
10817         * gst/gststructure.h:
10818           add a method to get a GstClockTime out of a structure
10819
10820 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10821
10822         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10823         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10824           Added test to check state change order in bins (can still be made
10825           to fail here under heavy disk load; bails out with 'Push on pad
10826           fakesink:sink0, but it was not activated in push mode').
10827
10828         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10829           Fix state change order when there is only a semi sink (#316856)
10830
10831         * gst/gstbus.c: (gst_bus_class_init):
10832           Use _class_peek_parent(), not _class_ref(); fix docs to say
10833           'default main context' instead of 'mainloop' where that is
10834           what's meant.
10835
10836         * gst/gstelement.c: (gst_element_commit_state),
10837         (gst_element_set_state):
10838           Fix typos in debug messages
10839
10840 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10841
10842         * docs/README:
10843         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10844         * gst/gstpluginfeature.c:
10845         * gst/gstutils.c:
10846           various doc updates
10847         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10848           change an assert into an error until it gets fixed properly
10849
10850 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10851
10852         * docs/gst/gstreamer-sections.txt:
10853         * docs/gst/tmpl/.cvsignore:
10854         * docs/gst/tmpl/gstelement.sgml:
10855         * docs/gst/tmpl/gstinfo.sgml:
10856         * docs/gst/tmpl/gstobject.sgml:
10857         * gst/gstelement.c:
10858         * gst/gstelement.h:
10859         * gst/gstinfo.c:
10860         * gst/gstinfo.h:
10861         * gst/gstobject.c: (gst_object_class_init):
10862         * gst/gstobject.h:
10863           inlined 3 more biiiig doc files and added some missing docs on the fly
10864
10865 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10866
10867         * check/gst/.cvsignore:
10868         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10869         * gst/gstregistryxml.c: (load_plugin),
10870         (gst_registry_xml_save_plugin):
10871           put back source in registry.  add checks for find_plugin.
10872         * testsuite/states/bin.c: (assert_state), (empty_bin),
10873         (test_adding_one_element), (main):
10874         * testsuite/states/locked.c: (main):
10875           some compile/run fixes
10876
10877 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * check/gst/gstvalue.c: (GST_START_TEST):
10880           fix leaks in the test itself
10881
10882 2005-09-22  Wim Taymans  <wim@fluendo.com>
10883
10884         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10885         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10886         (gst_base_sink_query):
10887         Prepare for more accurate position reporting and query
10888         handling.
10889
10890         * gst/gstelement.c: (gst_element_send_event),
10891         (gst_element_set_state):
10892         Add some comment.
10893
10894 2005-09-22  Wim Taymans  <wim@fluendo.com>
10895
10896         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10897         (gst_query_parse_segment):
10898         * gst/gstquery.h:
10899         More documentation.
10900         Add segment query for future use.
10901
10902 2005-09-22  Wim Taymans  <wim@fluendo.com>
10903
10904         * gst/gstbin.c: (gst_bin_add_func):
10905         Some more debug info.
10906
10907         * gst/gstelement.c: (gst_element_send_event):
10908         Simplify send_event
10909
10910         * gst/gstelement.h:
10911         Don't know how flags got broken.
10912
10913         * gst/gstquery.h:
10914         Added new query.
10915
10916 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10917
10918         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10919           Add simplistic test suite for GST_TYPE_DATE serialisation and
10920           deserialisation.
10921
10922 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10923
10924         * docs/gst/gstreamer-sections.txt:
10925         * gst/gststructure.c: (gst_structure_set_valist),
10926         (gst_structure_get_date):
10927         * gst/gststructure.h:
10928         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10929         (gst_date_copy), (gst_value_compare_date),
10930         (gst_value_serialize_date), (gst_value_deserialize_date),
10931         (gst_value_transform_date_string),
10932         (gst_value_transform_string_date), (_gst_value_initialize):
10933         * gst/gstvalue.h:
10934           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10935           bunch of utility functions along with a hack that checks that
10936           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10937           is required. Part of the grand scheme in #170777.
10938
10939 2005-09-22  Andy Wingo  <wingo@pobox.com>
10940
10941         * gst/gstconfig.h.in: Psych out gtk-doc.
10942
10943         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10944
10945         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10946
10947         * tools/gst-inspect.c (print_element_list): Plug some
10948         inconsequential leaks.
10949
10950         * gst/gstregistry.c (gst_registry_get_default): Doc.
10951
10952         * check/gst/gstplugin.c: 
10953         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10954         * gst/gstelementfactory.c (gst_element_factory_create): 
10955         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10956         refcount changes.
10957
10958         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10959         (gst_plugin_feature_load): Doc, don't eat refs.
10960
10961         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10962         (gst_plugin_list_free): Doc.
10963         (gst_plugin_load_file): Doc updates.
10964
10965         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10966         accessors returning refcounted objects, return a ref.
10967
10968         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10969         accessor for caps. IDEMPOTENCE. Oh yes.
10970
10971 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10972
10973         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10974
10975         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10976         (_gst_debug_register_funcptr):
10977           Add mutex to serialise access to the hash table with
10978           the function pointer => function name string mapping;
10979           make that hash table static scope (#316809).
10980
10981         * gst/registries/.cvsignore:
10982           Remove left-over file.
10983
10984 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10985
10986         * docs/pwg/appendix-porting.xml:
10987           And something about newsegment events and caps-on-buffers to
10988           the porting guide (feel free to improve).
10989
10990 2005-09-21  Andy Wingo  <wingo@pobox.com>
10991
10992         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10993         data and event probes on the same pad.
10994         (test_buffer_probe_once): Test that removing probes from within
10995         the probe functions works.
10996
10997 2005-09-21  Andy Wingo  <wingo@pobox.com>
10998
10999         * check/gst/gstutils.c: New file.
11000         (test_buffer_probe_n_times): A simple buffer probe test. More to
11001         come, foolios.
11002
11003         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11004         have-data::buffer, not have-data.
11005         (gst_pad_add_event_probe): Likewise for have-data::event.
11006         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11007         peer' isn't quite right yet though.
11008         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11009         (gst_pad_remove_data_probe): Change to take the guint handler_id
11010         as their arg, not the function+data, which is more glib-like.
11011
11012         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11013         the signal emission to indicate if the data is a buffer or an
11014         event.
11015         (gst_pad_get_type): Initialize buffer and event quarks.
11016         (gst_pad_class_init): have-data is now a detailed signal, yes it
11017         is.
11018
11019 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11020
11021         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11022         * gst/gstutils.c: (gst_util_set_value_from_string),
11023         (gst_util_set_object_arg):
11024           Don't put functional code in g_return_if_fail() or
11025           g_return_val_if_fail() statements, otherwise things will 
11026           break when G_DISABLE_CHECKS is defined during compilation.
11027
11028 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11029
11030         * docs/gst/tmpl/.cvsignore:
11031         * docs/gst/tmpl/gstvalue.sgml:
11032         * gst/gstvalue.c:
11033         * gst/gstvalue.h:
11034           inlied another one and added  some obvious docs
11035
11036 2005-09-21  Wim Taymans  <wim@fluendo.com>
11037
11038         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11039         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11040         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11041         (gst_fdsrc_get_property), (gst_fdsrc_create):
11042         * gst/elements/gstfdsrc.h:
11043         Properly implement fdsrc. Removed signal and timeout,
11044         better implemented somewhere else.
11045
11046 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11047
11048         * docs/gst/tmpl/.cvsignore:
11049         * docs/gst/tmpl/gstimplementsinterface.sgml:
11050         * gst/gstinterface.c:
11051           inlined more docs
11052
11053 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11054
11055         * docs/gst/gstreamer-sections.txt:
11056         * docs/gst/tmpl/.cvsignore:
11057         * docs/gst/tmpl/gstenumtypes.sgml:
11058           remove obsolete doc file
11059
11060 2005-09-21  David Schleef  <ds@schleef.org>
11061
11062         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11063         little beer, fix a little leak.
11064
11065 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11066
11067         * docs/gst/gstreamer-docs.sgml:
11068         * docs/gst/gstreamer-sections.txt:
11069         * docs/gst/tmpl/.cvsignore:
11070         * gst/Makefile.am:
11071         * gst/gst.h:
11072         * gst/gstbin.c:
11073         * gst/gstelement.h:
11074         * gst/gstindex.c: (gst_index_class_init):
11075         * gst/gstindex.h:
11076         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11077         (gst_index_factory_class_init), (gst_index_factory_init),
11078         (gst_index_factory_finalize), (gst_index_factory_new),
11079         (gst_index_factory_destroy), (gst_index_factory_find),
11080         (gst_index_factory_create), (gst_index_factory_make):
11081         * gst/gstindexfactory.h:
11082         * gst/gstpluginfeature.c:
11083         * gst/gstpluginfeature.h:
11084         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11085           more docs inlined, splitted gstindex.{c,h}
11086
11087 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11088
11089         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11090           fix a leak
11091
11092 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11093
11094         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11095           Set sync to FALSE by default.
11096
11097 2005-09-20  Wim Taymans  <wim@fluendo.com>
11098
11099         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11100         (gst_base_sink_init):
11101         Make sync property settable from subclass.
11102
11103         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11104         (gst_fake_sink_change_state):
11105         Set sync to FALSE by default.
11106
11107 2005-09-20  Wim Taymans  <wim@fluendo.com>
11108
11109         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11110         * tools/gst-launch.c: (main):
11111         The timeout handler should have lower priority than the source
11112         so we don't timeout before popping a message with 0 timeout.
11113         Dump error messages after failed state change.
11114
11115 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11116
11117         * tools/gst-inspect.c: (print_element_properties_info):
11118           Fix two typos.
11119
11120 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11121
11122         * check/gst/gstevent.c:
11123         * gst/elements/gstfakesink.c:
11124         * gst/elements/gstfakesink.h:
11125           remove the sync property from fakesink.
11126           has the side effect of setting sync TRUE
11127           for fakesink, which is a change.  Anyone who knows how
11128           to fix this nicely in a GObject-y way, feel free.
11129
11130 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11131
11132         * docs/gst/gstreamer-docs.sgml:
11133           remove probe refsection
11134
11135 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11136
11137         * check/Makefile.am:
11138           disable valgrinding the controller test again
11139         * docs/gst/gstreamer-sections.txt:
11140           update for api-changes
11141
11142 2005-09-20  Wim Taymans  <wim@fluendo.com>
11143
11144         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11145         (gst_base_sink_set_property), (gst_base_sink_get_property),
11146         (gst_base_sink_do_sync):
11147         * gst/base/gstbasesink.h:
11148         Added sync property to basesink to disable clock sync.
11149
11150 2005-09-20  Andy Wingo  <wingo@pobox.com>
11151
11152         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11153         eating the caller's refcount.
11154
11155         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11156         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11157         refcount.
11158
11159         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11160         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11161         of GLib 2.8 public, so we can know which refcount to check in
11162         tests.
11163
11164         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11165         (gst_object_init): Only set the gst refcount if we're going ahead
11166         with the refcount hack.
11167
11168 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11169
11170         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11171         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11172           more leaks plumbed, added more debug-logging
11173         * gst/gstmacros.h:
11174           whitespace fix
11175
11176 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11177
11178         * gst/gstmessage.c:
11179           remove include of gstmemchunk.h
11180
11181 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11182
11183         * gst/gstclock.c: (_gst_clock_id_free):
11184           Commit from the Political Party For More Atomic CVS Commits,
11185           so that people don't waste too much of their day fishing
11186           out obvious leaks out of massive commits.
11187           Oh, and fix a pretty damn obvious leak in the memchunk
11188           removal code.
11189
11190 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11191
11192         * check/Makefile.am:
11193         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11194           plug mem-leak, re-add to valgrindable tests
11195
11196 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11197
11198         * gst/gstplugin.h:
11199           unbreak the build for those who have chronic arthritis
11200           and typing "make check" is just too taxing on the hands
11201
11202 2005-09-20  Andy Wingo  <wingo@pobox.com>
11203
11204         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11205         really want it out, you should fix plugins at the same time.
11206
11207 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11208
11209         * configure.ac:
11210         * docs/gst/gstreamer-sections.txt:
11211         * gst/gstobject.c:
11212           added missing symbols to api docs
11213           disable ref-count hack if we have glib >= 2.8
11214
11215 2005-09-19  David Schleef  <ds@schleef.org>
11216
11217         * docs/gst/Makefile.am: Ignore a few more internal headers
11218         * docs/gst/gstreamer-docs.sgml: Remove old sections
11219         * docs/gst/gstreamer-sections.txt: Remove old sections
11220         * docs/gst/tmpl/gstobject.sgml: update
11221         * docs/gst/tmpl/gstplugin.sgml: update
11222         * docs/gst/tmpl/gstpluginfeature.sgml: update
11223         * docs/random/ds/0.9-suggested-changes: update.
11224         * gst/Makefile.am: remove memchunk and trashstack, since they're
11225           not used.
11226         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11227         * gst/gst.h: don't include some headers
11228         * gst/gstchildproxy.c: add gstmarshal.h
11229         * gst/gstclock.c: Don't use memchunks
11230         * gst/gstminiobject.c: Add some docs
11231         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11232         * gst/gstobject.h: same
11233         * gst/gstplugin.c: include gstmacros.h
11234         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11235         * gst/gstquery.c: don't use memchunks
11236         * gst/gstregistry.c: rename gst_registry_deinit()
11237         * gst/gstregistry.h: same
11238
11239 2005-09-19  David Schleef  <ds@schleef.org>
11240
11241         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11242         * docs/libs/gstreamer-libs-sections.txt:
11243         * docs/libs/tmpl/gstgetbits.sgml:
11244         * docs/libs/tmpl/gstputbits.sgml:
11245
11246 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11247
11248         * win32/gstenumtypes.c:
11249         * win32/gstenumtypes.h:
11250           Update.
11251
11252 2005-09-19  Wim Taymans  <wim@fluendo.com>
11253
11254         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11255         Automatically PAUSE and RESUME a pipeline when a flushing seek
11256         is performed.
11257
11258 2005-09-19  Andy Wingo  <wingo@pobox.com>
11259
11260         * gst/gstregistry.h: Spacing fixen.
11261
11262 2005-09-19  Wim Taymans  <wim@fluendo.com>
11263
11264         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11265         Handle state change failure more correctly.
11266
11267 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11268
11269         * check/Makefile.am:
11270         * check/pipelines/cleanup.c: (run_pipeline):
11271         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11272         (GST_START_TEST):
11273           enable cleanup again after fixing the leak
11274         * docs/README:
11275           some more info on docs
11276
11277 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11278
11279         * check/Makefile.am:
11280           re-enable tests now that leaks are plugged
11281         * check/gst/gst.c:
11282         * check/gst/gstbin.c:
11283         * check/gst/gstpipeline.c:
11284           add some more tests while fixing leaks
11285         * common/check.mak:
11286           make sure binaries are uptodate when valgrinding/gdbing
11287         * gst/gst.c:
11288         * gst/gstelementfactory.c:
11289           remove a ref too many, and add a FIXME for when we get
11290           round to disposing of classes
11291         * gst/gstplugin.c:
11292           fix the refcounting when loading a plugin from a file and
11293           the code pretends that the pointer is the same even though
11294           of course it can change
11295         * gst/gstpluginfeature.c:
11296           unref plugins marked cached (a bit confusing as a name)
11297           as the docs state should be done
11298           various doc additions to explain refcounting
11299         * gst/gstregistry.c:
11300         * gst/gstregistryxml.c:
11301           debugging
11302
11303 2005-09-19  Wim Taymans  <wim@fluendo.com>
11304
11305         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11306         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11307         (send_messages), (GST_START_TEST), (gstbus_suite):
11308         * check/gst/gstpipeline.c: (GST_START_TEST):
11309         * check/pipelines/cleanup.c: (run_pipeline):
11310         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11311         (GST_START_TEST):
11312         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11313         (gst_bus_source_check), (gst_bus_source_dispatch),
11314         (gst_bus_create_watch), (gst_bus_add_watch_full),
11315         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11316         * gst/gstbus.h:
11317         * tools/gst-launch.c: (event_loop):
11318         * tools/gst-md5sum.c: (event_loop):
11319         GstBusHandler -> GstBusFunc, return value has the same meaning as
11320         any other GSource (FALSE == remove source).
11321         _add_watch() and _add_watch_full() now take a MessageType mask to
11322         only handle specific types of messages.
11323         _poll() returns the GstMessage instead of the message type to avoid
11324         race conditions.
11325         _have_pending() takes a MessageType mask now too.
11326         Added testsuite for multiple bus watches.
11327         Fix testsuites and applications for new bus API.
11328
11329 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11330
11331         * check/Makefile.am:
11332           mark a bunch of the tests as to fix until we fix them
11333
11334 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11335
11336         * common/check.mak:
11337           use GST_PLUGIN settings for valgrind tests as well, so we're
11338           valgrinding the correct thing
11339         * gst/gst.c: (init_post):
11340           plug another leak
11341
11342 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11343
11344         * gst/gst.c: (init_post), (gst_deinit):
11345         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11346         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11347         * gst/gstindex.c: (gst_index_factory_class_init),
11348         (gst_index_factory_finalize):
11349         * gst/gstobject.c: (gst_object_dispose):
11350         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11351         (gst_plugin_load_file), (gst_plugin_desc_free):
11352         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11353         (gst_plugin_feature_finalize):
11354         * gst/gstregistry.c: (gst_registry_class_init),
11355         (gst_registry_init), (gst_registry_finalize),
11356         (gst_registry_get_default), (gst_registry_deinit):
11357         * gst/gstregistry.h:
11358         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11359           various cleanups and memleak plugging.  make valgrind is happy now.
11360
11361 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11362
11363         * common/check.mak:
11364           add a check-valgrind target
11365
11366 2005-09-18  David Schleef  <ds@schleef.org>
11367
11368         * tools/gst-inspect.c: Revert the GOption code.
11369
11370 2005-09-17  David Schleef  <ds@schleef.org>
11371
11372         * check/Makefile.am: Fix environment variables.
11373         * check/gst/gstplugin.c: Fix for API changes.
11374         * tools/gst-inspect.c: Fix for API changes.
11375         * tools/gst-xmlinspect.c: Fix for API changes.
11376         * gst/gstelementfactory.c:
11377         * gst/gstplugin.c:
11378         * gst/gstplugin.h:
11379         * gst/gstpluginfeature.c:
11380         * gst/gstpluginfeature.h:
11381         * gst/gstregistry.c:
11382         * gst/gstregistry.h:
11383         * gst/gstregistryxml.c:
11384         * gst/gsttypefind.c:
11385         * gst/gsttypefindfactory.c:
11386         * gst/indexers/gstfileindex.c:
11387         * gst/indexers/gstmemindex.c:
11388         * gst/schedulers/Makefile.am:
11389           Change registry to keep track of both plugins and features,
11390           removing the feature tracking from plugins themselves.
11391
11392 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11393
11394         * check/Makefile.am:
11395         * tools/gst-register.1.in:
11396           remove gst-register
11397
11398 2005-09-15  David Schleef  <ds@schleef.org>
11399
11400         * check/gst/gstplugin.c:
11401         * gst/gstelementfactory.c:
11402         * gst/gstplugin.c:
11403         * gst/gstpluginfeature.c:
11404         * gst/gstregistry.c:
11405           Getting tired of debugging.  Disabled all the unreffing of
11406           plugins and features, which fixes the segfaults, but of
11407           course leaks like crazy.  At least playbin works.
11408
11409 2005-09-15  David Schleef  <ds@schleef.org>
11410
11411         * check/gst/gstplugin.c: (register_check_elements),
11412         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11413         More testing
11414         * gst/elements/gsttypefindelement.c: Fix refcounting.
11415         * gst/gsttypefind.c:
11416         * gst/gsttypefindfactory.c:
11417         * gst/gsttypefindfactory.h:
11418
11419 2005-09-15  David Schleef  <ds@schleef.org>
11420
11421         * gst/gstindex.c: get refcounting correct.
11422         * gst/gstregistry.c: Handle the case where a feature/plugin is
11423           not found.
11424
11425 2005-09-15  David Schleef  <ds@schleef.org>
11426
11427         * check/Makefile.am:
11428         * check/gst/gstplugin.c: Add test
11429         * gst/gstplugin.c: Fix problems noticed by testsuite
11430         * gst/gstplugin.h:
11431         * gst/gstregistry.c: 
11432         * gst/gstregistry.h:
11433
11434 2005-09-15  David Schleef  <ds@schleef.org>
11435
11436         * gst/gstplugin.c: Implement semi-decent recounting and locking
11437           in plugins and plugin features.
11438         * gst/gstplugin.h:
11439         * gst/gstpluginfeature.c:
11440         * gst/gstpluginfeature.h:
11441         * gst/gstregistry.c:
11442
11443 2005-09-15  Michael Smith <msmith@fluendo.com>
11444
11445         * gst/gstregistry.c: (gst_registry_get_feature_list):
11446           Implement this. Makes oggdemux work; decodebin still broken.
11447
11448 2005-09-14  David Schleef  <ds@schleef.org>
11449
11450         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11451           #316076)
11452         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11453         * gst/check/Makefile.am:
11454         * libs/gst/controller/Makefile.am:
11455         * libs/gst/dataprotocol/Makefile.am:
11456
11457 2005-09-14  David Schleef  <ds@schleef.org>
11458
11459         * configure.ac: Remove getbits library.  Nothing uses it, and
11460           it should be in something like liboil if someone did want
11461           to use it.
11462         * libs/gst/Makefile.am:
11463         * libs/gst/getbits/Makefile.am:
11464         * libs/gst/getbits/gbtest.c:
11465         * libs/gst/getbits/getbits.c:
11466         * libs/gst/getbits/getbits.h:
11467         * libs/gst/getbits/gstgetbits_generic.c:
11468         * libs/gst/getbits/gstgetbits_i386.s:
11469         * libs/gst/getbits/gstgetbits_inl.h:
11470
11471 2005-09-14  David Schleef  <ds@schleef.org>
11472
11473         * gst/Makefile.am: Dist glib-compat.h
11474
11475 2005-09-14  David Schleef  <ds@schleef.org>
11476
11477         * configure.ac: Remove gst/registries, since it's no longer used.
11478         * gst/registries/Makefile.am:
11479         * gst/registries/gstlibxmlregistry.c:
11480         * gst/registries/gstlibxmlregistry.h:
11481         * gst/registries/gstxmlregistry.c:
11482         * gst/registries/gstxmlregistry.h:
11483         * gst/registries/registrytest.c:
11484
11485 2005-09-14  David Schleef  <ds@schleef.org>
11486
11487         * gst/glib-compat.h:
11488         * gst/gstregistryxml.c:
11489           Convergence is near.  Seriously.
11490
11491 2005-09-14  David Schleef  <ds@schleef.org>
11492
11493         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11494         * gst/glib-compat.h:
11495           Attempt #4 to appease the buildbots.
11496
11497 2005-09-14  David Schleef  <ds@schleef.org>
11498
11499         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11500           Attempt #3.
11501
11502 2005-09-14  David Schleef  <ds@schleef.org>
11503
11504         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11505         Attempt #2.
11506
11507 2005-09-14  David Schleef  <ds@schleef.org>
11508
11509         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11510           the new functions.
11511
11512 2005-09-14  David Schleef  <ds@schleef.org>
11513
11514         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11515         * gst/glib-compat.h: Add some functions that are in newer versions
11516           of glib than we care to require.
11517         * gst/gstregistryxml.c: Use them.
11518
11519 2005-09-14  David Schleef  <ds@schleef.org>
11520
11521         * po/POTFILES.in: remove gst-register.c
11522
11523 2005-09-14  David Schleef  <ds@schleef.org>
11524
11525         * docs/gst/gstreamer-docs.sgml:
11526         * docs/gst/gstreamer-sections.txt:
11527         * docs/gst/gstreamer.types:
11528         * docs/gst/tmpl/gstelement.sgml:
11529         * docs/gst/tmpl/gstplugin.sgml:
11530         * docs/gst/tmpl/gstpluginfeature.sgml:
11531           Documentation updates for registry changes.
11532
11533 2005-09-14  David Schleef  <ds@schleef.org>
11534
11535         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11536           because we don't require glib-2.8.
11537
11538 2005-09-14  David Schleef  <ds@schleef.org>
11539
11540         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11541           registries directory.
11542
11543 2005-09-14  David Schleef  <ds@schleef.org>
11544
11545         * check/Makefile.am:
11546         * check/generic/states.c:
11547         * gst/Makefile.am:
11548         * gst/gst.c:
11549         * gst/gst.h:
11550         * gst/gst_private.h:
11551         * gst/gstelementfactory.c:
11552         * gst/gstindex.c:
11553         * gst/gstinfo.c:
11554         * gst/gstplugin.c:
11555         * gst/gstplugin.h:
11556         * gst/gstpluginfeature.c:
11557         * gst/gstpluginfeature.h:
11558         * gst/gstregistry.c:
11559         * gst/gstregistry.h:
11560         * gst/gstregistrypool.c: remove
11561         * gst/gstregistrypool.h: remove
11562         * gst/gsttypefind.c:
11563         * gst/gsttypefindfactory.c:
11564         * gst/gsturi.c:
11565         * tools/Makefile.am:
11566         * tools/gst-compprep.c:
11567         * tools/gst-inspect.c:
11568         * tools/gst-register.c: remove
11569         * tools/gst-xmlinspect.c:
11570           Registry rewrite.  Changes registry from being a file created
11571           by a tool into a simple cache file created automatically by 
11572           libgstreamer.  Removed gst-register (because it's no longer
11573           needed).  Remove registry pools, because we only have one
11574           registry implementation (XML).  Fix up other subsystems as
11575           necessary.
11576
11577 2005-09-13  Michael Smith <msmith@fluendo.com>
11578
11579         * gst/gstconfig.h.in:
11580           Don't Use windows linking attributes for MinGW. Fixes #316157
11581
11582 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11583
11584         * gst/gstutils.c: (set_state_async_thread_func),
11585         (gst_element_set_state_async):
11586           Apparently people think it's better if this function doesn't
11587           try to set the state to whatever state was asked for on the first
11588           call to this function for any object.  Seriously.
11589
11590 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11591
11592         * check/gst/gstpipeline.c: (GST_START_TEST):
11593         * docs/gst/gstreamer-sections.txt:
11594         * gst/gstutils.c: (set_state_async_thread_func),
11595         (gst_element_set_state_async):
11596         * gst/gstutils.h:
11597           add a "gst_element_set_state_async" method that
11598           sets the state and starts a thread to make sure the state
11599           change completes as best as it can
11600
11601 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11602
11603         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11604           codify design+behaviour in testsuite after discussion
11605
11606 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11607
11608         * docs/gst/tmpl/gstelement.sgml:
11609         * docs/manual/appendix-quotes.xml:
11610           add a quote
11611         * gst/gstelement.c: (gst_element_set_state):
11612           add some debug
11613
11614 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11615
11616         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11617         (gst_base_transform_prepare_output_buf),
11618         (gst_base_transform_handle_buffer):
11619         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11620         (gst_capsfilter_prepare_buf):
11621           Remove the requirement for sub-classes to call the parent
11622           implementation of prepare_output_buffer with a wrapper function.
11623           
11624         * gst/gsttaglist.h:
11625         * gst/gsttagsetter.h:
11626           Fix #define wrapper
11627
11628 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11629
11630         * docs/gst/gstreamer-sections.txt:
11631           more doc cleanups
11632
11633 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11634
11635         * docs/gst/gstreamer-sections.txt:
11636         * docs/gst/tmpl/gstelement.sgml:
11637         * docs/gst/tmpl/gstplugin.sgml:
11638         * gst/gstminiobject.c:
11639         * gst/gstvalue.h:
11640           docs now stop throwing warnings
11641
11642 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11643
11644         * docs/gst/gstreamer-sections.txt:
11645         * docs/gst/gstreamer.types:
11646         * docs/gst/tmpl/gstpad.sgml:
11647         * docs/gst/tmpl/gsttypes.sgml:
11648         * gst/base/gstadapter.h:
11649         * gst/base/gstbasesink.h:
11650         * gst/base/gstbasesrc.h:
11651         * gst/gstbin.h:
11652         * gst/gstbuffer.h:
11653         * gst/gstbus.h:
11654         * gst/gstcaps.h:
11655         * gst/gstclock.h:
11656         * gst/gstelement.h:
11657         * gst/gstevent.h:
11658         * gst/gstmessage.h:
11659         * gst/gstpad.h:
11660         * gst/gststructure.c:
11661         * gst/registries/gstlibxmlregistry.h:
11662           various documentation fixes
11663
11664 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11665
11666         * docs/gst/gstreamer-sections.txt:
11667         * docs/gst/tmpl/gstvalue.sgml:
11668           rearrange gstvalue section
11669         * gst/gstutils.c: (gst_element_state_get_name):
11670           NONE -> VOID
11671         * gst/gstvalue.c: (_gst_value_initialize):
11672         * gst/gstvalue.h:
11673           doc updates
11674
11675 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11676
11677         * check/gst-libs/controller.c:
11678           Header include fix.
11679         * gst/base/gstbasetransform.c:
11680         (gst_base_transform_default_prepare_buf),
11681         (gst_base_transform_handle_buffer):
11682         * gst/base/gstbasetransform.h:
11683           Some more basetransform changes and fixes to enable sub-classes
11684           that modify buffer metadata only.
11685         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11686         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11687         (gst_capsfilter_prepare_buf):
11688           If the output pad has fixed allowed caps and input buffers 
11689           don't have any, set the fixed caps on outgoing buffers.
11690
11691 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11692         * check/elements/identity.c: (GST_START_TEST):
11693           Make the error a little clearer when the test fails because
11694           identity made a copy of the buffer.
11695         * docs/gst/gstreamer-sections.txt:
11696           New symbols in gstbasetransform.h
11697         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11698         (gst_base_transform_init), (gst_base_transform_transform_size),
11699         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11700         (gst_base_transform_default_prepare_buf),
11701         (gst_base_transform_get_unit_size),
11702         (gst_base_transform_buffer_alloc),
11703         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11704         (gst_base_transform_change_state),
11705         (gst_base_transform_set_passthrough),
11706         (gst_base_transform_set_in_place),
11707         (gst_base_transform_is_in_place):
11708         * gst/base/gstbasetransform.h:
11709           Change BaseTransform to separate in_place operate from same_caps
11710           output. in_place implies that the element can perform the transform
11711           on incoming buffers in-place, even if the caps on the output are
11712           different.
11713           Sub-class elements can now implement special buffer allocation
11714           methods for outgoing buffers if they wish to.
11715           Big documentation addition.
11716         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11717         * gst/elements/gstelements.c:
11718           Changes for basetransform modifications.
11719         * gst/elements/Makefile.am:
11720         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11721           Compile fix. Extra debug output.
11722
11723 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11724
11725         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11726         (gst_pad_suite):
11727           add tests for valid pad naming
11728         * gst/check/gstcheck.c: (gst_check_log_message_func),
11729         (gst_check_log_critical_func):
11730           add ASSERT_WARNING
11731           remove printing of code, it is fragile when the code contains
11732           % and the line number is enough info
11733         * gst/check/gstcheck.h:
11734         * gst/gstpad.c: (gst_pad_template_new):
11735           fix memleaks
11736
11737 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11738
11739         * configure.ac:
11740           say what CHECK flags we use
11741         * docs/libs/gstreamer-libs.types:
11742         * libs/gst/controller/Makefile.am:
11743         * libs/gst/controller/gst-controller.c:
11744         * libs/gst/controller/gst-controller.h:
11745         * libs/gst/controller/gst-helper.c:
11746         * libs/gst/controller/gst-interpolation.c:
11747         * libs/gst/controller/gstcontroller.c:
11748         * libs/gst/controller/gsthelper.c:
11749         * libs/gst/controller/gstinterpolation.c:
11750         * tools/gst-inspect.c: (print_plugin_info):
11751           we don't use dashes in header names
11752
11753 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11754
11755         * check/Makefile.am:
11756         * check/gst/.cvsignore:
11757         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11758         (gst_pipeline_suite), (main):
11759           adding a test for pipelines and state changes
11760         * gst/gstutils.c: (get_state_func):
11761           add some debugging
11762         * gstreamer.spec.in:
11763           fix up spec file
11764
11765 2005-09-08  Michael Smith <msmith@fluendo.com>
11766
11767         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11768         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11769         (gst_file_src_is_seekable), (gst_file_src_get_size),
11770         (gst_file_src_start):
11771         * gst/elements/gstfilesrc.h:
11772           Various fixes for unseekable, unmmapable, and non-normal files, so
11773           that fallback to read() rather than mmap() works.
11774         * gst/gstevent.c: (gst_event_new_newsegment):
11775           Allow newsegment events with segment_start == segment_end, as will
11776           correctly happen if you use filesrc on a zero-size file, for
11777           example.
11778
11779 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11780
11781         * gst/gstplugin.c: (gst_plugin_load_file):
11782           Call g_module_close when we don't load the module
11783
11784         * gst/registries/gstlibxmlregistry.c:
11785         (gst_xml_registry_get_property):
11786           Port leak fix from 0.8
11787
11788 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11789
11790         * docs/gst/gstreamer-docs.sgml:
11791         * docs/gst/tmpl/.cvsignore:
11792         * docs/gst/tmpl/gsttrace.sgml:
11793         * docs/gst/tmpl/gsttrashstack.sgml:
11794         * gst/Makefile.am:
11795         * gst/gst.h:
11796         * gst/gstelement.h:
11797         * gst/gstevent.h:
11798         * gst/gstmessage.c:
11799         * gst/gstmessage.h:
11800         * gst/gsttag.c:
11801         * gst/gsttag.h:
11802         * gst/gsttaginterface.c:
11803         * gst/gsttaginterface.h:
11804         * gst/gsttaglist.c:
11805         * gst/gsttaglist.h:
11806         * gst/gsttagsetter.c:
11807         * gst/gsttagsetter.h:
11808         * gst/gsttrace.c:
11809         * gst/gsttrace.h:
11810         * gst/gsttrashstack.c:
11811           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11812           inlined docs for gsttrace, gsttrashstack
11813
11814 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11815
11816         * gst/Makefile.am:
11817         * gst/elements/gstbufferstore.h:
11818         * gst/elements/gsttypefindelement.c:
11819         * gst/elements/gsttypefindelement.h:
11820         * gst/gst.h:
11821         * gst/gsttypefind.c:
11822         * gst/gsttypefind.h:
11823         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11824         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11825         (gst_type_find_factory_dispose),
11826         (gst_type_find_factory_unload_thyself),
11827         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11828         (gst_type_find_factory_get_caps),
11829         (gst_type_find_factory_get_extensions),
11830         (gst_type_find_factory_call_function):
11831         * gst/gsttypefindfactory.h:
11832         * gst/registries/gstlibxmlregistry.c:
11833         * gst/registries/gstxmlregistry.c:
11834           splitted gsttypefind into gsttypefind, gsttypefindfactory
11835
11836 2005-09-07  Andy Wingo  <wingo@pobox.com>
11837
11838         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11839         condition whereby the pad's task function is entered before the
11840         pad_mode variable was set.
11841
11842 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11843
11844         * gst/gstpad.c: (gst_pad_alloc_buffer):
11845           Catch misbehaving pad_alloc functions that don't
11846           set up caps and do it for them.
11847
11848 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11849
11850         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11851           test for pipe!=NULL
11852         * docs/gst/tmpl/.cvsignore:
11853         * docs/gst/tmpl/gstmemchunk.sgml:
11854         * docs/gst/tmpl/gstparse.sgml:
11855         * docs/gst/tmpl/gsttaglist.sgml:
11856         * docs/gst/tmpl/gsttagsetter.sgml:
11857         * docs/gst/tmpl/gsttypefind.sgml:
11858         * docs/gst/tmpl/gsttypefindfactory.sgml:
11859         * gst/gstmemchunk.c:
11860         * gst/gstparse.c:
11861         * gst/gsttag.c:
11862         * gst/gsttaginterface.c:
11863         * gst/gsttypefind.c:
11864         * gst/gsttypefind.h:
11865           inlined more docs
11866
11867 === release 0.9.2 ===
11868
11869 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * NEWS:
11872         * RELEASE:
11873         * configure.ac:
11874           releasing 0.9.2, "South"
11875
11876 2005-09-05  Andy Wingo  <wingo@pobox.com>
11877
11878         * gst/registries/gstxmlregistry.h:
11879         * gst/registries/gstxmlregistry.c: Um... resurrect...
11880         
11881         * gst/registries/gstxmlregistry.h:
11882         * gst/registries/gstxmlregistry.c: and update to newer API.
11883         Incidentally they should be a bit faster now that they don't have
11884         to parse the caps.
11885         
11886 2005-09-05  Andy Wingo  <wingo@pobox.com>
11887
11888         * gst/registries/gstxmlregistry.h:
11889         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11890         replaced by the libxml registry a while back
11891
11892 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11893
11894         * docs/gst/tmpl/gstplugin.sgml:
11895         * gst/elements/gstelements.c:
11896         * gst/gst.c:
11897         * gst/gstplugin.c: (gst_plugin_register_func),
11898         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11899         (gst_plugin_get_source):
11900         * gst/gstplugin.h:
11901         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11902         (gst_xml_registry_save_plugin):
11903         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11904         (gst_xml_registry_save_plugin):
11905         * tools/gst-inspect.c: (print_plugin_info):
11906           add a "source" plugin description field, to represent the source
11907           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11908           will set it to PACKAGE, which is automake's idea of the name of
11909           the source project.
11910
11911 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11912
11913         * Makefile.am:
11914         * autogen.sh:
11915         * configure.ac:
11916         * docs/Makefile.am:
11917         * docs/faq/Makefile.am:
11918         * docs/gst/tmpl/gstelement.sgml:
11919         * docs/gst/tmpl/gsttypes.sgml:
11920         * docs/htmlinstall.mak:
11921         * docs/manual/Makefile.am:
11922         * docs/pwg/Makefile.am:
11923           reorganize doc build a little
11924           split out docbook and gtk-doc stuff
11925           have two separate --enable's and enable them through autogen
11926           but disable by default in configure (to be similar to other
11927           projects)
11928         * gstreamer.spec.in:
11929           clean up docs install
11930         * po/af.po:
11931         * po/az.po:
11932         * po/ca.po:
11933         * po/cs.po:
11934         * po/de.po:
11935         * po/en_GB.po:
11936         * po/fr.po:
11937         * po/it.po:
11938         * po/nb.po:
11939         * po/nl.po:
11940         * po/ru.po:
11941         * po/sq.po:
11942         * po/sr.po:
11943         * po/sv.po:
11944         * po/tr.po:
11945         * po/uk.po:
11946         * po/vi.po:
11947           translation updates
11948
11949 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11950
11951         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11952           Add comment.
11953           
11954         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11955         (gst_fake_sink_change_state):
11956           Make state change function thread-safe.
11957           
11958         * gst/gstpad.c: (gst_pad_alloc_buffer):
11959           Set offset on generic buffer allocated by fallback.
11960
11961 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11962
11963         * docs/gst/gstreamer-sections.txt:
11964         * docs/gst/tmpl/gstelement.sgml:
11965         * gst/gstpad.c:
11966         * libs/gst/controller/gst-controller.c:
11967         (gst_controlled_property_set_interpolation_mode),
11968         (gst_controlled_property_new),
11969         (gst_controller_find_controlled_property):
11970          run the wingo-magic script against the docs
11971
11972 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11973
11974         * docs/gst/gstreamer-docs.sgml:
11975         * docs/gst/gstreamer-sections.txt:
11976         * docs/gst/tmpl/.cvsignore:
11977         * docs/gst/tmpl/gstelementdetails.sgml:
11978         * docs/gst/tmpl/gstelementfactory.sgml:
11979         * gst/gst.c:
11980         * gst/gstbus.c:
11981         * gst/gstelementfactory.c:
11982         * gst/gstelementfactory.h:
11983           merged elementdetails docs into elementfactory docs
11984           inlined both
11985
11986 2005-09-02  Andy Wingo  <wingo@pobox.com>
11987
11988         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11989         consider this enum an enum and not a flags.
11990
11991 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11992
11993         * docs/gst/gstreamer-docs.sgml:
11994         * docs/gst/tmpl/.cvsignore:
11995         * docs/gst/tmpl/gstghostpad.sgml:
11996         * docs/gst/tmpl/gstiterator.sgml:
11997         * docs/gst/tmpl/gstmacros.sgml:
11998         * docs/gst/tmpl/gstrealpad.sgml:
11999         * docs/gst/tmpl/gstregistry.sgml:
12000         * docs/gst/tmpl/gstregistrypool.sgml:
12001         * docs/gst/tmpl/gststructure.sgml:
12002         * docs/gst/tmpl/gstsystemclock.sgml:
12003         * docs/gst/tmpl/gsttrace.sgml:
12004         * gst/gstghostpad.c:
12005         * gst/gstmacros.h:
12006         * gst/gstmemchunk.c:
12007         * gst/gstmemchunk.h:
12008         * gst/gstqueue.c:
12009         * gst/gstregistry.c:
12010         * gst/gstregistrypool.c:
12011         * gst/gststructure.c:
12012         * gst/gstsystemclock.c:
12013           more docs inlined
12014
12015 2005-09-02  Andy Wingo  <wingo@pobox.com>
12016
12017         * gst/gstelement.h (GstState): Renamed from GstElementState,
12018         changed to be a normal enum instead of flags.
12019         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12020         munged to be GST_STATE_CHANGE_*.
12021         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12022         work with the new state representation.
12023         (GstStateChange): New enumeration of possible state transitions.
12024         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12025         (GstElementClass::change_state): Pass the GstStateChange along as
12026         an argument. Helps language bindings, so they don't have to use
12027         tricky lock-needing macros like GST_STATE_CHANGE ().
12028
12029         * scripts/update-states (file): New script. Run it on a file to
12030         update it for state naming and API changes. Updates files in
12031         place.
12032
12033         * All files updated for the new API.
12034
12035 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12036
12037         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12038         * gst/gstutils.c: (gst_util_set_value_from_string),
12039         (gst_util_set_object_arg):
12040           fix a bunch of unchecked return values
12041         * tools/gst-complete.c: (main):
12042         * gstreamer.spec.in:
12043           clean up a little
12044
12045 2005-09-01  Wim Taymans  <wim@fluendo.com>
12046
12047         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12048         (gst_base_sink_event), (gst_base_sink_do_sync),
12049         (gst_base_sink_handle_event):
12050         * gst/base/gstbasesink.h:
12051         Handle newsegments more correctly.
12052
12053         * gst/gstbus.c:
12054         Fix docs.
12055
12056         * gst/gstevent.c: (gst_event_new_newsegment):
12057         A newsegment cannot have a start_time of -1
12058
12059 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12060
12061         * win32/gstenumtypes.c:
12062         * win32/gstenumtypes.h:
12063           Update
12064
12065 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12066
12067         * libs/gst/controller/gst-controller.c:
12068         (gst_controlled_property_set_interpolation_mode),
12069         (gst_controlled_property_new):
12070          fixed boolean again
12071
12072 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12073
12074         * docs/faq/gst-uninstalled:
12075           add -good
12076         * gst/gstevent.c:
12077         * gst/gstevent.h:
12078           remove wrong docs
12079         * gst/gstutils.c: (gst_element_link_filtered):
12080         * gst/gstutils.h:
12081           add gst_element_link_filtered
12082
12083 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12084
12085         * docs/gst/gstreamer-docs.sgml:
12086         * docs/gst/gstreamer-sections.txt:
12087         * docs/gst/tmpl/.cvsignore:
12088         * docs/gst/tmpl/gsterror.sgml:
12089         * docs/gst/tmpl/gstfilter.sgml:
12090         * docs/gst/tmpl/gsturihandler.sgml:
12091         * docs/gst/tmpl/gsturitype.sgml:
12092         * docs/gst/tmpl/gstutils.sgml:
12093         * docs/gst/tmpl/gstxml.sgml:
12094         * gst/gsterror.c:
12095         * gst/gsterror.h:
12096         * gst/gstfilter.c:
12097         * gst/gsturi.c:
12098         * gst/gsturitype.c:
12099         * gst/gstutils.c:
12100         * gst/gstxml.c:
12101           inlined more docs, fixed double id-ref
12102
12103 2005-08-31  Wim Taymans  <wim@fluendo.com>
12104
12105         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12106         (gst_base_transform_handle_buffer):
12107         Passthrough elements don't need the caps as they don't care.
12108
12109 2005-08-31  Wim Taymans  <wim@fluendo.com>
12110
12111         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12112         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12113         Don't leak refcounts on buffers.
12114
12115 2005-08-31  Wim Taymans  <wim@fluendo.com>
12116
12117         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12118         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12119         (gst_base_transform_chain), (gst_base_transform_change_state):
12120         * gst/base/gstbasetransform.h:
12121         Handle the case where we are not negotiated more gracefully.
12122
12123 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12124
12125         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12126         (gst_file_src_map_region):
12127           Set READONLY flag on mmap'ed buffers, otherwise
12128           gst_buffer_make_writable() won't work properly (#314708).
12129
12130 2005-08-31  Wim Taymans  <wim@fluendo.com>
12131
12132         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12133         passthrough elements can even do inplace on non writable
12134         buffers (as they don't touch them).
12135
12136 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12137
12138         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12139         (gst_test_mono_source_set_property),
12140         (gst_test_mono_source_class_init), (GST_START_TEST),
12141         (gst_controller_suite):
12142           more tests (hehe I have the most)
12143         * gst/gstbus.c:
12144           describe popping messages whenusing mulltiple sources
12145         * libs/gst/controller/gst-controller.c:
12146         (gst_controlled_property_set_interpolation_mode),
12147         (gst_controlled_property_new):
12148         * libs/gst/controller/gst-controller.h:
12149         * libs/gst/controller/gst-interpolation.c:
12150           implement boolean properties
12151
12152 2005-08-31  Wim Taymans  <wim@fluendo.com>
12153
12154         * gst/gstminiobject.c: (gst_mini_object_ref):
12155         Cannot assert that the refcount has to be positive
12156         since a disposed object can be resurrected.
12157
12158 2005-08-31  Wim Taymans  <wim@fluendo.com>
12159
12160         * gst/gstpad.c: (gst_pad_init):
12161         Revert change, need to first fix badly behaving 
12162         apps.
12163
12164 2005-08-30  Wim Taymans  <wim@fluendo.com>
12165
12166         * check/elements/fakesrc.c: (setup_fakesrc):
12167         * check/elements/identity.c: (setup_identity):
12168         Activate pads before using them.
12169
12170 2005-08-30  Wim Taymans  <wim@fluendo.com>
12171
12172         * gst/base/gstadapter.c: (gst_adapter_flush):
12173         Flushing out 0 bytes is ok for this function.
12174
12175         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12176         no newsegment gives a warning and sets the start/stop to 
12177         invalid.
12178
12179         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12180         (gst_base_transform_set_passthrough):
12181         Some debug info.
12182
12183         * gst/gstminiobject.c: (gst_mini_object_ref):
12184         Check refcount here too.
12185
12186         * gst/gstpad.c: (gst_pad_init):
12187         Pads are initially flushing and refusing data.
12188
12189         * gst/gstutils.c: (gst_element_link_pads_filtered):
12190         When adding a capsfilter element make sure it has the
12191         same state as the parent bin.
12192
12193 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12194
12195         * docs/gst/tmpl/.cvsignore:
12196         * docs/gst/tmpl/gstformat.sgml:
12197         * docs/gst/tmpl/gstversion.sgml:
12198         * gst/gstbus.h:
12199         * gst/gstformat.c:
12200         * gst/gstformat.h:
12201         * gst/gstversion.h.in:
12202           more docs and two more inlined
12203
12204 2005-08-30  Wim Taymans  <wim@fluendo.com>
12205
12206         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12207         Don't sync to clock.
12208
12209 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12210
12211         * docs/gst/gstreamer-sections.txt:
12212           ultral33t func10ns deserve to appear in the docs actually
12213         * docs/gst/tmpl/.cvsignore:
12214         * docs/gst/tmpl/gstcompat.sgml:
12215         * docs/gst/tmpl/gstconfig.sgml:
12216         * gst/check/gstcheck.c:
12217         * gst/gstcompat.h:
12218         * gst/gstconfig.h.in:
12219           inlined more docs
12220
12221 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12222
12223         * docs/gst/tmpl/.cvsignore:
12224         * docs/gst/tmpl/gstquery.sgml:
12225         * docs/gst/tmpl/gstutils.sgml:
12226         * gst/gstquery.c:
12227         * gst/gstquery.h:
12228           inlined and extended docs
12229
12230 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12231
12232         * check/gst-libs/controller.c: (GST_START_TEST),
12233         (gst_controller_suite):
12234           more tests
12235         * docs/gst/tmpl/gstutils.sgml:
12236         * docs/libs/gstreamer-libs-sections.txt:
12237         * docs/libs/tmpl/gstdataprotocol.sgml:
12238           include path fixes
12239         * examples/controller/audio-example.c: (main):
12240           controller example works now
12241         * gst/gstclock.h:
12242           doc fixes
12243         * tools/gst-inspect.c: (print_element_properties_info):
12244           show param spec flags
12245
12246 2005-08-29  Andy Wingo  <wingo@pobox.com>
12247
12248         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12249
12250 2005-08-28  Andy Wingo  <wingo@pobox.com>
12251
12252         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12253         as having two arguments instead of just one. Allows superclasses
12254         to access information on subclasses -- see the terrible for() loop
12255         in gtype.c:g_type_create_instance for the reason why. All callers
12256         changed.
12257
12258 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12259
12260         * docs/design/part-messages.txt:
12261           update info
12262         * docs/gst/tmpl/.cvsignore:
12263         * docs/gst/tmpl/gstcaps.sgml:
12264         * docs/gst/tmpl/gstclock.sgml:
12265         * gst/gstbus.c:
12266         * gst/gstcaps.c:
12267         * gst/gstcaps.h:
12268         * gst/gstclock.c:
12269         * gst/gstclock.h:
12270         * gst/gstmessage.c:
12271           added descriptions for bus and message
12272           inline caps and clock docs
12273
12274 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12275
12276         * gst/gstmessage.c:
12277         * gst/gstmessage.h:
12278           doc fixes
12279
12280 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12281
12282         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12283           fix div-by-zero
12284
12285 2005-08-26  Andy Wingo  <wingo@pobox.com>
12286
12287         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12288         element_set_state's return val.
12289         (test_2_elements): Add test that's been disabled for months.
12290
12291         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12292         can-activate-pull properties.
12293
12294         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12295         can-activate-pull properties. Implement is_seekable so fakesrc can
12296         operate in pull mode.
12297
12298         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12299         properties.
12300         (gst_base_sink_activate, gst_base_sink_activate_pull)
12301         (gst_base_sink_activate_push): Make activation mode choosing work.
12302         Cleanups.
12303         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12304         is right. Make pull mode work. Post an eos before pausing in pull
12305         mode.
12306         (gst_base_sink_change_state): Pay attention to the core's
12307         change_state() return val.
12308         
12309         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12310         has-getrange properties. Cleanups.
12311         
12312         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12313         has_getrange and replace with can_activate_pull and
12314         can_activate_push.
12315
12316         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12317         locking comments. Remove has_loop, has_chain and replace with
12318         can_activate_pull and can_activate_push.
12319
12320 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12321
12322         * configure.ac:
12323         * examples/Makefile.am:
12324         * examples/metadata/Makefile.am:
12325         * examples/metadata/read-metadata.c: (message_loop),
12326         (have_pad_handler), (make_pipeline), (print_tag), (main):
12327           Add metadata reading example that loops over a list of filenames,
12328           dumping any tags found.
12329
12330         * gst/gstbus.c: (gst_bus_dispose):
12331         * gst/gstelement.c: (gst_element_dispose):
12332           Release a few potentially-held references in dispose.
12333
12334 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12335
12336         * docs/gst/tmpl/gstminiobject.sgml:
12337           do *not* add tmpl/*.sgml files to CVS!
12338
12339 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12340
12341         * libs/gst/bytestream/.cvsignore:
12342         * libs/gst/bytestream/Makefile.am:
12343         * libs/gst/bytestream/adapter.c:
12344         * libs/gst/bytestream/adapter.h:
12345         * libs/gst/bytestream/bytestream.c:
12346         * libs/gst/bytestream/bytestream.h:
12347         * libs/gst/bytestream/filepad.c:
12348         * libs/gst/bytestream/filepad.h:
12349           removing obsolete files
12350
12351 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12352
12353         * docs/gst/gstreamer-docs.sgml:
12354         * docs/libs/gstreamer-libs-docs.sgml:
12355           disabed additional index entries again, as this makes docs-gen just
12356           slow and they aren't useful yet
12357         * docs/libs/gstreamer-libs-sections.txt:
12358           little -section.txt cleanup for libs
12359
12360 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12361
12362         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12363         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12364           fix up some debugging
12365         (gst_base_transform_get_unit_size),
12366         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12367         (gst_base_transform_handle_buffer):
12368         * gst/base/gstbasetransform.h:
12369           handle and store timed NEWSEGMENT events so that subclasses that
12370           calculate time by counting samples have a segment_start time they
12371           need to add to their timestamps - see audioresample
12372
12373 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12374
12375         * gst/gstbin.h:
12376           removed ';' from the end of macro defs
12377         * docs/gst/gstreamer-docs.sgml:
12378         * docs/gst/gstreamer-sections.txt:
12379         * docs/gst/tmpl/.cvsignore:
12380         * gst/gstbus.h:
12381         * gst/gstelement.c: (gst_element_class_init),
12382         (gst_element_set_state), (activate_pads),
12383         (gst_element_save_thyself):
12384         * gst/gstevent.c: (gst_event_new_newsegment):
12385         * gst/gstevent.h:
12386         * gst/gstiterator.c:
12387         * gst/gstiterator.h:
12388         * gst/gstpad.c:
12389         * gst/gstprobe.h:
12390         * gst/gstutils.c: (gst_pad_query_convert):
12391         * gst/gstutils.h:
12392           fixed parameter name mismatches between source, header and docs
12393           added some more docs, resolved the last batch of unused elements in
12394           docs (now someone needs to doc them)
12395
12396 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12397
12398         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12399         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12400           don't walk through the plugins backwards.  Where is all this
12401           reversed logic coming from ?
12402
12403 2005-08-25  Wim Taymans  <wim@fluendo.com>
12404
12405         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12406         (gst_base_transform_transform_size),
12407         (gst_base_transform_configure_caps),
12408         (gst_base_transform_get_unit_size),
12409         (gst_base_transform_buffer_alloc),
12410         (gst_base_transform_change_state):
12411         * gst/base/gstbasetransform.h:
12412         Cache caps unit_size.
12413         Make sure we cannot negotiate up and downstream at the
12414         same time.
12415
12416 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12417
12418         * gst/gst.c: (init_pre), (init_post):
12419           register the installed plugin path after the env var
12420         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12421         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12422           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12423           directories, so the tests can prefer uninstalled over installed
12424
12425 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12426
12427         * gst/base/gstbasetransform.h:
12428           comment
12429         * gst/gstpad.c:
12430           add to docs
12431
12432 2005-08-25  Wim Taymans  <wim@fluendo.com>
12433
12434         * gst/gstbin.c: (bin_bus_handler):
12435         Be a bit more conservative about the posted message.
12436         
12437         * gst/gstbus.c: (gst_bus_post):
12438         Some cleanups, warn wrong return values.
12439
12440 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12441
12442         * check/gst/gstbin.c: (GST_START_TEST):
12443         * gst/gstbin.c: (bin_bus_handler):
12444         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12445         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12446         (gst_message_new_warning), (gst_message_new_tag),
12447         (gst_message_new_state_changed), (gst_message_new_segment_start),
12448         (gst_message_new_segment_done), (gst_message_new_custom):
12449         * gst/gstmessage.h:
12450         * tools/gst-launch.c: (event_loop):
12451         * tools/gst-md5sum.c: (event_loop):
12452           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12453
12454 2005-08-25  Wim Taymans  <wim@fluendo.com>
12455
12456         * check/generic/states.c: (GST_START_TEST):
12457         Cleanup can be done at the end.
12458
12459         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12460         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12461         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12462         Oh boy.. Thanks for finding this, Thomas. 
12463
12464 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12465
12466         * docs/gst/gstreamer.types:
12467           added missing types
12468
12469 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12470
12471         * docs/gst/gstreamer-docs.sgml:
12472         * docs/gst/gstreamer-sections.txt:
12473         * docs/gst/tmpl/.cvsignore:
12474         * gst/gstbin.c:
12475         * gst/gstiterator.c:
12476         * gst/gstutils.c:
12477         * gst/registries/gstxmlregistry.h:
12478           added missing classes and symbols (123 more to go)
12479           removed removed symbols from section file
12480           fixed many doc-comments
12481
12482 2005-08-24  Wim Taymans  <wim@fluendo.com>
12483
12484         * check/generic/states.c: (GST_START_TEST):
12485         Make sure all tasks are stopped.
12486
12487         * check/gst/gstbin.c: (GST_START_TEST):
12488         Unref after usage for proper valgrinding.
12489
12490         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12491         Really wait for the task to stop before destroying the
12492         mutex.
12493
12494         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12495         (gst_queue_src_activate_push):
12496         Small cleanups. Don't stop the task when we did not start
12497         it.
12498
12499         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12500         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12501         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12502         (gst_task_join):
12503         * gst/gsttask.h:
12504         Protect the stream lock with the object lock.
12505         Disallow setting the stream lock when running.
12506         Add cleanup_all to wait for the threadpool to finish.
12507         Remove code to autoallocate a mutex if none was provided.
12508         Add _join() to wait for a task to stop.
12509         Protect the thread pool with a global lock.
12510
12511 2005-08-24  Wim Taymans  <wim@fluendo.com>
12512
12513         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12514         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12515         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12516         * gst/base/gstbasesink.h:
12517         Handle newsegment events correctly.
12518         Drop buffers out of the segment range.
12519
12520 2005-08-22  Andy Wingo  <wingo@pobox.com>
12521
12522         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12523         macro, implements an interface and gstimplementsinterface for a
12524         new type.
12525
12526 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12527
12528         * check/Makefile.am:
12529         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12530           add a test that does a bunch of state changes on elements
12531           needs some fixing for valgrind
12532         * check/states/sinks.c: (gst_object_suite):
12533           whitespace
12534         * gst/gstcaps.h:
12535           add prototype for gst_caps_is_equal_fixed
12536         * gst/gstplugin.c:
12537         * gst/gstregistrypool.c:
12538           doc fixes
12539
12540 2005-08-24  Andy Wingo  <wingo@pobox.com>
12541
12542         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12543         convert a negative value. Doesn't make much sense. Mostly this is
12544         here to force callers to ensure -1 maps to -1.
12545
12546 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12547
12548         * docs/pwg/advanced-types.xml:
12549           Well done to Michael for catching my deliberate introduction
12550           of this spelling mistake. 
12551         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12552         * gst/gstelement.h:
12553           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12554           unlink pads before removing the element from the bin.
12555
12556 2005-08-24  Andy Wingo  <wingo@pobox.com>
12557
12558         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12559         the same thing as GST_DEBUG=*:4.
12560         (parse_debug_level, parse_debug_category): New helper parsers.
12561
12562 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12563
12564         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12565         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12566         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12567         (gst_base_transform_buffer_alloc),
12568         (gst_base_transform_handle_buffer):
12569           use gboolean return values and pointers to size so we can use the
12570           full GST_BUFFER_SIZE range (guint) for buffer sizes
12571           use GstPadDirection for transform_caps
12572         * gst/base/gstbasetransform.h:
12573           rename get_size to get_unit_size since that's what it is
12574         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12575           use GstPadDirection for transform_caps
12576         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12577         * gst/gstutils.h:
12578           cleanup and debugging
12579
12580 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12581
12582         * gst/gstelement.c: (gst_element_class_init),
12583         (gst_element_set_state), (activate_pads),
12584         (gst_element_save_thyself):
12585         * tools/gst-compprep.c: (main):
12586         * tools/gst-inspect.c: (print_element_properties_info):
12587         * tools/gst-xmlinspect.c: (print_element_properties):
12588           Fixed long standing mem-leak
12589
12590 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12591
12592         * check/gst/gstbin.c: (GST_START_TEST):
12593         * gst/gstbin.c: (bin_bus_handler):
12594         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12595         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12596         (gst_message_new_warning), (gst_message_new_tag),
12597         (gst_message_new_state_changed), (gst_message_new_segment_start),
12598         (gst_message_new_segment_done), (gst_message_new_custom):
12599         * gst/gstmessage.h:
12600         * tools/gst-launch.c: (event_loop):
12601         * tools/gst-md5sum.c: (event_loop):
12602           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12603           that applications can sensibly post custom messages with references
12604           to their own objects.
12605
12606 2005-08-24  Andy Wingo  <wingo@pobox.com>
12607
12608         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12609         already.
12610
12611 2005-08-24  Wim Taymans  <wim@fluendo.com>
12612
12613         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12614         (gst_base_transform_transform_caps),
12615         (gst_base_transform_transform_size),
12616         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12617         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12618         (gst_base_transform_handle_buffer):
12619         * gst/base/gstbasetransform.h:
12620         Many fixes and new features added by Thomas. Can now also do
12621         transforms with variable sizes and a custom fixate_caps function.
12622
12623 2005-08-24  Wim Taymans  <wim@fluendo.com>
12624
12625         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12626         Some debugging.
12627
12628         * gst/gstclock.h:
12629         Cast to ClockTime before formatting to time.
12630
12631         * gst/gstutils.h:
12632         Cleanups.
12633
12634 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12635
12636         * check/gst-libs/controller.c: (GST_START_TEST),
12637         (gst_controller_suite):
12638         * docs/gst/tmpl/gstcaps.sgml:
12639         * docs/gst/tmpl/gstghostpad.sgml:
12640         * docs/gst/tmpl/gstquery.sgml:
12641         * docs/gst/tmpl/gstutils.sgml:
12642         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12643         (gst_object_sink_values), (gst_object_get_value_arrays),
12644         (gst_object_get_value_array):
12645           gracefully handle helper method calls to objects that are not beeing
12646           controlled, added test case for that          
12647
12648 2005-08-23  Wim Taymans  <wim@fluendo.com>
12649
12650         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12651         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12652         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12653         (gst_event_parse_qos), (gst_event_new_seek),
12654         (gst_event_parse_seek):
12655         * gst/gstevent.h:
12656         Some more debugging output and doc cleanups.
12657
12658         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12659         Fix possible deadlock.
12660
12661 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12662
12663         * docs/gst/gstreamer-docs.sgml:
12664         * docs/gst/gstreamer-sections.txt:
12665         * docs/gst/gstreamer.types:
12666         * docs/gst/tmpl/.cvsignore:
12667         * gst/gstbin.h:
12668         * gst/gstbus.c:
12669         * gst/gstelement.c:
12670         * gst/gstevent.h:
12671           added 100 symbols from gstreamer-unused.txt to the right sections
12672           fixed more broken comments
12673           added GstBus to docs
12674
12675 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12676
12677         * docs/gst/gstreamer-sections.txt:
12678         * docs/gst/tmpl/.cvsignore:
12679         * docs/gst/tmpl/gstbin.sgml:
12680         * docs/gst/tmpl/gstbuffer.sgml:
12681         * gst/base/gstbasesrc.c:
12682         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12683         * gst/gstbuffer.c:
12684         * gst/gstbuffer.h:
12685         * tools/gst-launch.1.in:
12686           inlined more doc comments, added missing comments and fixed comments
12687           fixed typos
12688
12689 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12690
12691         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12692           some debugging
12693         * gst/gstcaps.h:
12694           whitespace fixes
12695         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12696           more debugging
12697         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12698         * gst/gststructure.h:
12699           add a fixate function for booleans; add a FIXME that these func
12700           names should probably be gst_structure_fixate_*
12701
12702 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12703
12704         * docs/gst/gstreamer-docs.sgml:
12705         * docs/gst/gstreamer-sections.txt:
12706         * gst/Makefile.am:
12707         * gst/gstbin.c: (gst_bin_get_type),
12708         (gst_bin_child_proxy_get_child_by_index),
12709         (gst_bin_child_proxy_get_children_count),
12710         (gst_bin_child_proxy_init):
12711         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12712         (gst_child_proxy_get_child_by_index),
12713         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12714         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12715         (gst_child_proxy_get), (gst_child_proxy_set_property),
12716         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12717         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12718         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12719         * gst/gstchildproxy.h:
12720         * gst/parse/grammar.y:
12721         * tools/gst-inspect.c: (print_interfaces),
12722         (print_element_properties_info), (print_element_info):
12723           ported gstchildproxy over from 0.8
12724           ported gst-inspect fixes and enhancements over from 0.8
12725
12726 2005-08-22  Wim Taymans  <wim@fluendo.com>
12727
12728         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12729         (gst_base_transform_handle_buffer):
12730         Also call the transform function if we have ANY caps.
12731
12732         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12733         Fix debug info.
12734
12735 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12736
12737         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12738           Don't pretend to handle seek events if the source is not seekable
12739
12740 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12741
12742         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12743           Remove extra parameter to debug output
12744
12745         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12746         (gst_base_src_do_seek), (gst_base_src_activate_push):
12747           Fix seek event handling.
12748
12749         * gst/gstpipeline.c: (gst_pipeline_change_state):
12750         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12751         (gst_queue_src_activate_push):
12752           Don't start the src pad task on FLUSH_STOP if the pad
12753           isn't linked.
12754           Debug changes.
12755
12756 2005-08-22  Wim Taymans  <wim@fluendo.com>
12757
12758         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12759         Added check for gst_static_caps_get() refcounting.
12760
12761 2005-08-22  Wim Taymans  <wim@fluendo.com>
12762
12763         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12764         Make _static_caps_get() refcounting sane.
12765         
12766         * gst/gstelement.c: (gst_element_set_state):
12767         Add g_return_val_if_fail() to protect against segfaults.
12768
12769 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12770
12771         * docs/gst/tmpl/gstevent.sgml:
12772         * gst/gstevent.c:
12773         * gst/gstevent.h:
12774           inlined remaining docs, added missing doc comments
12775
12776 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12777
12778         * check/gst/gstbin.c: (GST_START_TEST):
12779           since we don't know when preroll is done, use refcount range
12780           check for the sink
12781         * gst/check/gstcheck.h:
12782           add macro for checking refcount range
12783
12784 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12785
12786         * check/Makefile.am:
12787           clean up environment for when registry gets built versus
12788           when actual tests are run; valgrind seems to not report
12789           leaks if GST_PLUGIN_PATH is set to some specific values
12790         * check/gst/gstbin.c: (GST_START_TEST):
12791           add more refcounting checks; maybe this exposes a
12792           preroll lock bug ?
12793         * common/check.mak:
12794         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12795         * gst/check/gstcheck.h:
12796         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12797         (gst_bin_change_state):
12798         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12799           add/fix debugging/whitespace
12800
12801 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12802
12803         * check/gst/gstevent.c: (event_probe), (test_event),
12804         (GST_START_TEST):
12805          Er, don't call gst_bin_watch_for_state_change you idiot.
12806
12807 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12808
12809         * check/Makefile.am:
12810           Use CHECK_CFLAGS and CHECK_LIBS
12811         * check/gst/gstevent.c: (event_probe), (test_event),
12812         (GST_START_TEST):
12813           Don't leak events.
12814         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12815         (gst_base_src_start), (gst_base_src_stop),
12816         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12817         (gst_base_src_change_state):
12818           Sprinkle gst_base_src_stop liberally around error paths to fix
12819           problems reusing a source after failed state changes.
12820         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12821         (helper_find_suggest), (gst_type_find_helper):
12822           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12823         * gst/gstevent.h:
12824         * docs/gst/tmpl/gstevent.sgml:
12825           Migrate part of the docs from the SGML file. Wait for ensonic to
12826           tell me how I did it wrong ;)
12827         * tools/gst-typefind.c: (main):
12828           Extra robustness to state changes between files.
12829
12830 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12831
12832         * check/Makefile.am:
12833           don't valgrind the controller test - it's leaking - Stefan, HELP
12834         * gst/check/gstcheck.c: (gst_check_message_error),
12835         (gst_check_chain_func), (gst_check_setup_element),
12836         (gst_check_teardown_element), (gst_check_setup_src_pad),
12837         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12838         (gst_check_teardown_sink_pad):
12839         * gst/check/gstcheck.h:
12840           add a bunch of methods to set up elements, and src and sink pads
12841         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12842         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12843         (GST_START_TEST):
12844           use them
12845         * gst/gstmessage.c:
12846         * gst/gsttag.h:
12847           whitespace/doc fixes
12848
12849 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12850
12851         * gst/gstelement.h:
12852           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12853           be handled by the application and not always printed as well
12854
12855 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12856
12857         * check/Makefile.am:
12858           set GST_TOOLS_DIR
12859         * gst/check/gstcheck.c: (gst_check_message_error):
12860         * gst/check/gstcheck.h:
12861           add a fail_unless_equals_int
12862           add fail_unless for error messages
12863
12864 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12865
12866         * check/Makefile.am:
12867         * check/gst.supp:
12868         * common/Makefile.am:
12869         * common/check.mak:
12870         * common/gst.supp:
12871           factor out some of the common stuff so we can use it
12872
12873 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12874
12875         * check/Makefile.am:
12876         * check/gst/gstiterator.c: (GST_START_TEST):
12877         * check/gst/gstsystemclock.c: (GST_START_TEST),
12878         (gst_systemclock_suite):
12879         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12880         * gst/gstclock.c:
12881           valgrind more tests
12882
12883 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12884
12885         * check/elements/.cvsignore:
12886         * check/elements/gstfakesrc.c:
12887           rename to name of element
12888         * check/elements/identity.c: (chain_func), (event_func),
12889         (setup_identity), (cleanup_identity), (GST_START_TEST),
12890         (identity_suite), (main):
12891           add a test for identity
12892         * check/Makefile.am:
12893         * pkgconfig/Makefile.am:
12894         * pkgconfig/gstreamer-check.pc.in:
12895         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12896         * gst/check:
12897         * gst/Makefile.am:
12898         * configure.ac:
12899           move the check stuff to a library that gets installed
12900         * check/gst-libs/controller.c: (GST_START_TEST):
12901         * check/gst-libs/gdp.c:
12902         * check/gst/gst.c: (GST_START_TEST):
12903         * check/gst/gstbin.c:
12904         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12905         * check/gst/gstbus.c:
12906         * check/gst/gstcaps.c: (GST_START_TEST):
12907         * check/gst/gstelement.c:
12908         * check/gst/gstghostpad.c:
12909         * check/gst/gstiterator.c:
12910         * check/gst/gstmessage.c:
12911         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12912         * check/gst/gstobject.c:
12913         * check/gst/gstpad.c: (GST_START_TEST):
12914         * check/gst/gststructure.c: (GST_START_TEST):
12915         * check/gst/gstsystemclock.c: (GST_START_TEST),
12916         (gst_systemclock_suite):
12917         * check/gst/gsttag.c: (gst_tag_suite):
12918         * check/gst/gstvalue.c:
12919         * check/pipelines/cleanup.c:
12920         * check/pipelines/simple_launch_lines.c:
12921         * check/states/sinks.c:
12922           change include statement
12923
12924         * docs/gst/gstreamer-sections.txt:
12925         * docs/gst/tmpl/gstpad.sgml:
12926           document more pad stuff
12927         * gst/gstminiobject.c: (gst_mini_object_ref),
12928         (gst_mini_object_unref):
12929           debug refcounting
12930
12931 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12932
12933         * docs/gst/tmpl/gst.sgml:
12934         * gst/gst.c:
12935           eliminate another tmpl file, fix spelling in the long-description
12936
12937 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12938
12939         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12940         (test_event), (timediff), (gstevents_suite):
12941           Should fix build on 64-bit arch's
12942
12943 2005-08-18  Andy Wingo  <wingo@pobox.com>
12944
12945         Make sure that when a pipeline goes to PLAYING, that data has
12946         actually hit the sink.
12947
12948         * check/states/sinks.c (test_sink): A sink that doesn't get any
12949         data shouldn't return SUCCESS for going to either PLAYING or
12950         PAUSED. Test also the return values on the way back down.
12951
12952         * gst/gstelement.c (gst_element_set_state): When changing the
12953         state of an element currently changing state asynchronously, go to
12954         lost-state after commiting the pending state. Makes future calls
12955         to get_state continue to return ASYNC.
12956
12957         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12958         ASYNC when going to PLAYING if we still don't have preroll, as can
12959         happen with live sources.
12960
12961 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12962
12963         * docs/pwg/advanced-types.xml:
12964           Hack long paragraph into 2 chunks as a workaround for buggy
12965           jadetex version in sid and breezy that loops infinitely and
12966           eats all RAM.
12967
12968 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12969
12970         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12971         (test_event), (timediff), (gstevents_suite):
12972           Provide more error margin in clock measurements to allow for 
12973           g_get_current_time inaccuracies.
12974
12975 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12976
12977         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12978         (test_event), (timediff), (gstevents_suite):
12979            Fix error message output so I might be able to tell why the
12980            test works here but fails on the build farm.
12981
12982 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12983
12984         * check/Makefile.am:
12985         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12986         (test_event), (timediff), (gstevents_suite), (main):
12987           I wrote a test!
12988
12989         * docs/design/part-seeking.txt:
12990           Spelling correction
12991
12992         * docs/gst/tmpl/gstevent.sgml:
12993         * docs/gst/tmpl/gstfakesrc.sgml:
12994           Docs updates.
12995
12996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12997           Treat a buffer-without-newsegment the same as a receiving 
12998           a newsegment not in time format, and disable syncing to the clock
12999           with a warning.
13000
13001         * gst/gstbus.c: (gst_bus_set_sync_handler):
13002           Assert if anyone tries to replace the existing sync_handler for bus, 
13003           as only the owner should be setting it.
13004
13005         * gst/gstevent.h:
13006           Have a fixed set of custom event enums with events identified by
13007           their structure name (as in 0.8), rather than a free-for-all
13008           allowing collisions between enum values from different plugins.
13009
13010         * gst/gstpad.c: (gst_pad_class_init):
13011           Docs change.
13012           
13013         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13014           Handle out-of-band downstream events from the sending thread.
13015
13016 2005-08-17  Andy Wingo  <wingo@pobox.com>
13017
13018         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13019         play-timeout==0 to mean no timeout at all. In that case, don't
13020         bother with a get_state or a warning, just return directly, even
13021         if it's ASYNC.
13022
13023         * gst/base/gstbasetransform.c: Debug changes.
13024
13025         * gst/gstutils.h:
13026         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13027         ensure bins post state change messages. A bit of a hack but I can't
13028         think of a way to avoid it.
13029
13030         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13031
13032 2005-08-16  Andy Wingo  <wingo@pobox.com>
13033
13034         * gst/base/gstadapter.h:
13035         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13036         peek() but you own the data. Not terribly efficient atm.
13037
13038 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13039
13040         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13041         (gst_element_found_tags):
13042         * gst/gstutils.h:
13043           Add two utility functions for tag handling.
13044
13045 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13046
13047         * docs/manual/advanced-dataaccess.xml:
13048         * docs/manual/basics-helloworld.xml:
13049           Fix docs to use _bin_add() before _link(), which fixes the examples
13050           with recent core versions (reported by Madhan Raj M
13051           <raj_madan@rediffmail.com>, #313199).
13052
13053 2005-08-16  Wim Taymans  <wim@fluendo.com>
13054
13055         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13056         Added subtract checks.
13057
13058         * docs/design/part-events.txt:
13059         Some more docs about newsegment
13060
13061         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13062         Fix FIXME
13063
13064         * gst/gstcaps.c: (gst_caps_to_string):
13065         Add comments, cleanups.
13066         
13067         * gst/gstelement.c: (gst_element_save_thyself):
13068         cleanups
13069         
13070         * gst/gstvalue.c: (gst_value_collect_int_range),
13071         (gst_string_unwrap), (gst_value_union_int_int_range),
13072         (gst_value_union_int_range_int_range),
13073         (gst_value_intersect_int_int_range),
13074         (gst_value_intersect_int_range_int_range),
13075         (gst_value_intersect_double_double_range),
13076         (gst_value_intersect_double_range_double_range),
13077         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13078         (gst_value_subtract_int_range_int),
13079         (gst_value_subtract_double_range_double),
13080         (gst_value_subtract_double_range_double_range),
13081         (gst_value_subtract_from_list), (gst_value_subtract_list),
13082         (gst_value_can_compare), (gst_value_compare_fraction):
13083         Cleanups, add comments, remove unneeded asserts.
13084
13085 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13086
13087         * tools/gst-launch.c: (event_loop):
13088           don't convert NULL structures to strings
13089
13090 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13091
13092         * docs/gst/gstreamer-sections.txt:
13093           made some defines private
13094         * docs/gst/tmpl/gstconfig.sgml:
13095         * docs/gst/tmpl/gstqueue.sgml:
13096         * docs/gst/tmpl/gsttaglist.sgml:
13097         * docs/gst/tmpl/gsttypes.sgml:
13098         * docs/gst/tmpl/gstutils.sgml:
13099         * docs/pwg/appendix-porting.xml:
13100         * gst/base/gstbasesink.h:
13101         * gst/base/gstbasesrc.c:
13102         * gst/base/gstbasesrc.h:
13103         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13104         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13105         * gst/gstelement.c: (gst_element_class_init):
13106         * gst/gstpad.c: (gst_pad_class_init):
13107         * gst/gstqueue.c: (gst_queue_class_init):
13108         * gst/gstxml.c: (gst_xml_class_init):
13109           documented all undocumented signal inline
13110         * libs/gst/controller/gst-controller.h:
13111           added padding
13112
13113 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13114
13115         * docs/pwg/appendix-porting.xml:
13116           Document _set_link_function -> _set_setcaps_function.
13117
13118 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13119
13120         * check/Makefile.am:
13121           add a .check target for running the check
13122         * check/gst-libs/controller.c: (GST_START_TEST):
13123           cosmetic fixups
13124         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13125           complete checks for gstbuffer; would be nice if I could get the
13126           gcov stuff to work so I can see if I actually completed gstbuffer.c
13127         * check/gstcheck.h:
13128           add ASSERT_BUFFER_REFCOUNT
13129
13130 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13131
13132         * docs/gst/gstreamer-sections.txt:
13133         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13134         * gst/gsttag.h:
13135           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13136           spew out a warning if a tag that is already registered
13137           is re-registered, unless it is re-registered with a 
13138           different type (#308438).
13139
13140 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13141
13142         * docs/pwg/appendix-porting.xml:
13143         * docs/pwg/building-state.xml:
13144           Add some paragraphs about state changes in 0.9 to the PWG
13145           and the porting guide, in particular about the new meaning
13146           of GST_STATE_PAUSED and how to write state change functions
13147           with concurrent access by multiple threads in mind.
13148
13149 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13150
13151         * docs/gst/gstreamer-docs.sgml:
13152         * docs/libs/gstreamer-libs-docs.sgml:
13153           added deprecation and since indexes
13154         * libs/gst/controller/gst-controller.c:
13155         * libs/gst/controller/gst-helper.c:
13156           added since tags
13157
13158
13159 2005-08-11  Wim Taymans  <wim@fluendo.com>
13160
13161         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13162         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13163         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13164         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13165         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13166         (gst_ghost_pad_set_target):
13167         Actually implement (re)setting the target on a ghostpad
13168         as described in the docs.
13169
13170 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13171
13172         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13173           Check whether GST_DEBUG_NO_COLOR environment variable is
13174           set and disable coloured debug output if that is the case.
13175
13176 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13177
13178         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13179         (gst_type_find_helper):
13180           The memory returned by gst_type_find_peek() needs to
13181           stay valid until the end of a typefind function, and
13182           typefind functions may keep results from different 
13183           offsets around, so we can't just unref the buffer from
13184           the previous _peek(), but have to save all buffers 
13185           returned by _peek() until typefinding is done and only
13186           free them then.
13187
13188 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13189
13190         * docs/gst/gstreamer-sections.txt:
13191         * gst/gstutils.h:
13192           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13193
13194 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13195
13196         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13197           Fix a pretty good memleak.
13198
13199 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13200
13201         * gst/gstiterator.h:
13202           Fix wrong include and 'make distcheck'.
13203
13204 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13205
13206         * gst/gstbin.c: (bin_bus_handler):
13207           Use gst_element_post_message() instead.
13208
13209 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13210
13211         * gst/base/gstadapter.h:
13212         * gst/base/gstbasesink.h:
13213         * gst/base/gstbasesrc.h:
13214         * gst/base/gstbasetransform.h:
13215         * gst/base/gstcollectpads.h:
13216         * gst/base/gstpushsrc.h:
13217         * gst/gstiterator.h:
13218           Add padding to our base elements' class and instance structs and
13219           to GstIterator (you will need to rebuild all plugins and apps!)
13220
13221 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13222
13223         * gst/gstbin.c: (bin_bus_handler):
13224           Make default message forwarding from child->bus to bin->bus
13225           threadsafe and make it not emit warnings if the parent has no bus.
13226
13227 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13228
13229         * gst/gstelement.c: (activate_pads):
13230           On paused->ready, set pad->caps to NULL, as is the documented
13231           behaviour in this state change. Fixes playback of series of
13232           media files when visualization is enabled in Totem.
13233
13234 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13235
13236         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13237           Allow NULL as filter-caps (which means "any").
13238
13239 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13240
13241         * docs/libs/gstreamer-libs-sections.txt:
13242         * libs/gst/controller/gst-controller.c:
13243         * libs/gst/controller/gst-controller.h:
13244         * libs/gst/controller/gst-helper.c:
13245           adding more entries to the docs and fix small doc-bugs
13246
13247 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13248
13249         * docs/gst/gstreamer-docs.sgml:
13250         * docs/gst/gstreamer-sections.txt:
13251         * docs/gst/gstreamer.types:
13252         * docs/gst/tmpl/gstbasesink.sgml:
13253         * docs/gst/tmpl/gstbasesrc.sgml:
13254         * docs/gst/tmpl/gstbasetransform.sgml:
13255         * docs/gst/tmpl/gstfakesrc.sgml:
13256         * gst/base/gstcollectpads.c:
13257         * gst/base/gstcollectpads.h:
13258         * libs/gst/controller/gst-controller.c:
13259         * libs/gst/controller/gst-controller.h:
13260         * libs/gst/controller/gst-helper.c:
13261         * libs/gst/controller/gst-interpolation.c:
13262         * libs/gst/controller/lib.c:
13263           added long/short desc for controller docs
13264           added collectpads base class docs
13265           added correct includes to base-class docs
13266
13267 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13268
13269         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13270         (gst_test_mono_source_set_property),
13271         (gst_test_mono_source_class_init), (GST_START_TEST),
13272         (gst_controller_suite):
13273         * docs/gst/gstreamer-docs.sgml:
13274         * docs/gst/gstreamer-sections.txt:
13275         * docs/gst/gstreamer.types:
13276         * docs/libs/gstreamer-libs-docs.sgml:
13277         * docs/libs/gstreamer-libs-sections.txt:
13278         * gst/base/gstadapter.c:
13279         * libs/gst/controller/gst-controller.c:
13280         (gst_controlled_property_new), (gst_controlled_property_free),
13281         (gst_controller_new_valist),
13282         (gst_controller_remove_properties_valist),
13283         (gst_controller_sink_values), (_gst_controller_finalize):
13284         * libs/gst/controller/gst-controller.h:
13285         * libs/gst/controller/gst-helper.c:
13286         (gst_object_control_properties), (gst_object_uncontrol_properties),
13287         (gst_object_get_controller), (gst_object_set_controller),
13288         (gst_object_sink_values), (gst_object_get_value_arrays),
13289         (gst_object_get_value_array):
13290           more tests (and fixes) for the controller
13291           more docs for the controller
13292           integrated companies docs for the adapter 
13293
13294 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13295
13296         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13297         (GST_START_TEST), (fakesrc_suite):
13298           add tests for sizetype
13299
13300 2005-08-04  Andy Wingo  <wingo@pobox.com>
13301
13302         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13303         fixes buffer_alloc proxying among other things.
13304
13305         * gst/base/gstbasetransform.c:
13306         * gst/base/gstbasetransform.h:
13307         Revert patch to gstbasetransform from 7-28 removing
13308         delay_configure.
13309
13310         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13311         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13312         Semantics changed, should return not the size of the output buffer
13313         but the byte size of a buffer with a given caps.
13314
13315         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13316         debug object.
13317         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13318         out) are not the pad caps until setcaps finishes.
13319         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13320         not-in-place case as well. Deal with changing from in-place to
13321         not-in-place within calling pad_alloc_buffer. Still a bit
13322         concerned about the overhead here...
13323
13324 2005-08-03  Andy Wingo  <wingo@pobox.com>
13325
13326         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13327         fixating is an error.
13328
13329 2005-08-04  Edward Hervey  <edward@fluendo.com>
13330
13331         * gst/base/gstadapter.h: 
13332         Added gst_adapter_get_type() to the header
13333
13334 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13335
13336         * check/Makefile.am:
13337         * check/gst-libs/controller.c:
13338         * libs/gst/controller/gst-controller.c:
13339         (gst_controller_new_valist):
13340           added check test suite for the controller
13341         * gst/base/gstpushsrc.c:
13342           fixed a doc typo
13343
13344 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13345
13346         * docs/gst/Makefile.am:
13347         * docs/gst/gstreamer-docs.sgml:
13348         * docs/gst/gstreamer-sections.txt:
13349         * docs/gst/gstreamer.types:
13350         * docs/gst/tmpl/gstfakesrc.sgml:
13351         * gst/base/README:
13352         * gst/base/gstbasesink.c:
13353         * gst/base/gstbasesink.h:
13354         * gst/base/gstbasesrc.c:
13355         * gst/base/gstbasesrc.h:
13356         * gst/base/gstbasetransform.c:
13357         * gst/base/gstpushsrc.c:
13358         * gst/base/gstpushsrc.h:
13359           add short/long description docs to base classes
13360           add pushsrc to the docs
13361           remove consolidated doc fragments
13362
13363 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13364
13365         * configure.ac:
13366         * docs/libs/Makefile.am:
13367         * docs/libs/gstreamer-libs-docs.sgml:
13368         * docs/libs/gstreamer-libs-sections.txt:
13369         * docs/libs/gstreamer-libs.types:
13370         * examples/Makefile.am:
13371         * examples/controller/.cvsignore:
13372         * examples/controller/Makefile.am:
13373         * examples/controller/audio-example.c: (main):
13374         * libs/gst/Makefile.am:
13375         * libs/gst/controller/.cvsignore:
13376         * libs/gst/controller/Makefile.am:
13377         * libs/gst/controller/gst-controller.c:
13378         (on_object_controlled_property_changed), (gst_timed_value_compare),
13379         (gst_timed_value_find),
13380         (gst_controlled_property_set_interpolation_mode),
13381         (gst_controlled_property_new), (gst_controlled_property_free),
13382         (gst_controller_find_controlled_property),
13383         (gst_controller_new_valist), (gst_controller_new),
13384         (gst_controller_remove_properties_valist),
13385         (gst_controller_remove_properties), (gst_controller_set),
13386         (gst_controller_set_from_list), (gst_controller_unset),
13387         (gst_controller_get), (gst_controller_get_all),
13388         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13389         (gst_controller_get_value_array),
13390         (gst_controller_set_interpolation_mode),
13391         (_gst_controller_finalize), (_gst_controller_init),
13392         (_gst_controller_class_init), (gst_controller_get_type):
13393         * libs/gst/controller/gst-controller.h:
13394         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13395         (g_object_uncontrol_properties), (g_object_get_controller),
13396         (g_object_set_controller), (g_object_sink_values),
13397         (g_object_get_value_arrays), (g_object_get_value_array):
13398         * libs/gst/controller/gst-interpolation.c:
13399         (gst_controlled_property_find_timed_value_node),
13400         (interpolate_none_get), (interpolate_trigger_get),
13401         (interpolate_trigger_get_value_array):
13402         * libs/gst/controller/lib.c: (gst_controller_init):
13403         * pkgconfig/Makefile.am:
13404         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13405         * pkgconfig/gstreamer-control.pc.in:
13406         * testsuite/Makefile.am:
13407         * testsuite/controller/.cvsignore:
13408         * testsuite/controller/Makefile.am:
13409         * testsuite/controller/interpolator.c: (main):
13410           added controller code
13411           removed dparam pc files
13412
13413 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13414         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13415         (gst_collectpads_stop):
13416           Broadcast the condition when shutting down, to make sure we wake all
13417           threads up. Shut down pads on finalize, for safety.
13418
13419 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13420         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13421         (gst_base_transform_handle_buffer),
13422         (gst_base_transform_change_state):
13423           Handle PAUSED->READY->PAUSED transition after negotiation
13424           occurred already.
13425         * gst/gstmessage.c: (gst_message_init):
13426           Extra piece of debug for new messages.
13427
13428 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13429
13430         * configure.ac:
13431         * docs/gst/tmpl/gstbasesrc.sgml:
13432         * docs/gst/tmpl/gstelement.sgml:
13433         * docs/gst/tmpl/gstevent.sgml:
13434         * docs/gst/tmpl/gstfakesrc.sgml:
13435         * docs/gst/tmpl/gstformat.sgml:
13436         * docs/gst/tmpl/gstghostpad.sgml:
13437         * docs/gst/tmpl/gstpad.sgml:
13438         * docs/gst/tmpl/gstquery.sgml:
13439         * docs/gst/tmpl/gststructure.sgml:
13440         * docs/gst/tmpl/gsttaglist.sgml:
13441         * docs/gst/tmpl/gstvalue.sgml:
13442         * docs/libs/gstreamer-libs-docs.sgml:
13443         * docs/libs/gstreamer-libs-sections.txt:
13444         * docs/libs/gstreamer-libs.types:
13445         * libs/gst/Makefile.am:
13446         * libs/gst/control/.cvsignore:
13447         * libs/gst/control/Makefile.am:
13448         * libs/gst/control/control.c:
13449         * libs/gst/control/control.h:
13450         * libs/gst/control/dparam.c:
13451         * libs/gst/control/dparam.h:
13452         * libs/gst/control/dparam_smooth.c:
13453         * libs/gst/control/dparam_smooth.h:
13454         * libs/gst/control/dparamcommon.h:
13455         * libs/gst/control/dparammanager.c:
13456         * libs/gst/control/dparammanager.h:
13457         * libs/gst/control/dplinearinterp.c:
13458         * libs/gst/control/dplinearinterp.h:
13459         * libs/gst/control/unitconvert.c:
13460         * libs/gst/control/unitconvert.h:
13461         * testsuite/Makefile.am:
13462         * testsuite/dynparams/.cvsignore:
13463         * testsuite/dynparams/Makefile.am:
13464         * testsuite/dynparams/dparamstest.c:
13465         * tools/Makefile.am:
13466         * tools/gst-inspect.c: (print_element_info), (main):
13467         * tools/gst-xmlinspect.c: (print_element_info), (main):
13468           deactivate and remove dparams (libgstcontrol)
13469
13470 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13471
13472         * gst/elements/gsttypefindelement.c:
13473         (gst_type_find_element_have_type), (gst_type_find_element_init),
13474         (stop_typefinding), (gst_type_find_element_handle_event),
13475         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13476         * gst/elements/gsttypefindelement.h:
13477           Set caps on all outgoing buffers, not just the first one.
13478
13479 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13480
13481         * gst/elements/gsttypefindelement.c:
13482         (gst_type_find_element_have_type),
13483         (gst_type_find_element_check_set_buffer_caps),
13484         (gst_type_find_element_init), (stop_typefinding),
13485         (gst_type_find_element_handle_event),
13486         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13487         * gst/elements/gsttypefindelement.h:
13488           Set caps on first outgoing buffer when we've found the type.
13489
13490 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13491
13492         * docs/gst/gstreamer-docs.sgml:
13493         * docs/gst/gstreamer-sections.txt:
13494         * docs/gst/tmpl/gstscheduler.sgml:
13495         * docs/gst/tmpl/gstschedulerfactory.sgml:
13496           Remove some old cruft from docs.
13497
13498 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13499
13500         * gst/gstpad.h:
13501           Fix inline docs for GstPadLinkReturn.
13502           
13503         * gst/gststructure.c: (gst_structure_has_name):
13504         * gst/gststructure.h:
13505         * docs/gst/gstreamer-sections.txt:
13506           New API: gst_structure_has_name().
13507
13508 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13509
13510         * configure.ac:
13511           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13512           and _LARGEFILE_SOURCE in config.h as required. Do not 
13513           export those flags in our .pc files any longer (#142209).
13514
13515           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13516
13517         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13518         (gst_file_sink_do_seek), (gst_file_sink_event),
13519         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13520           Redo seek/tell calls with large file support in mind; add some
13521           debugging messages; add log message that tells us when large
13522           file support is unavailable or not enabled for some reason.
13523
13524         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13525           Add log message that tells us when large file support 
13526           is unavailable or not enabled for some reason.
13527
13528 2005-07-29  Wim Taymans  <wim@fluendo.com>
13529
13530         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13531         Added test for removing an element with ghostpad from a bin.
13532         Fixed test as current implementation does the right thing.
13533
13534         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13535         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13536         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13537         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13538         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13539         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13540         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13541         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13542         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13543         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13544         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13545         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13546         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13547         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13548         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13549         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13550         * gst/gstghostpad.h:
13551         Clean up ghostpads, remove properties for internal stuff.
13552         Make threadsafe.
13553         Fix refcounting.
13554         Prepare for switching targets, not all use cases work yet.
13555
13556 2005-07-29  Wim Taymans  <wim@fluendo.com>
13557
13558         * docs/design/part-gstghostpad.txt:
13559         Small update.
13560
13561         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13562         (gst_bin_remove_func):
13563         Unlinking pads while holding the bin LOCK is not a good
13564         idea.
13565
13566         * gst/gstpad.c: (gst_pad_class_init),
13567         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13568         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13569         No prob setting template after creating the pad.
13570
13571 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13572
13573         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13574         (gst_bus_peek), (gst_bus_source_dispatch),
13575         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13576         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13577           gst_bus_poll may be called from other threads. Handle
13578           this nicely by not making poll_data disappear off the
13579           stack once gst_bus_poll returns.
13580           gst_bus_peek now increments the refcount on the returned
13581           message.
13582
13583 2005-07-29  Wim Taymans  <wim@fluendo.com>
13584
13585         * docs/design/part-gstghostpad.txt:
13586         Overview of current GhostPad datastructures and use
13587         cases for changing the target.
13588
13589 2005-07-28  Wim Taymans  <wim@fluendo.com>
13590
13591         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13592         Added checks for hierarchy consistency whan adding linked
13593         elements to bins.
13594
13595         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13596         Added check to test element scheduling without bin/pipeline.
13597
13598         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13599         First add elements to bin, then link.
13600         
13601         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13602         (gst_bin_remove_func):
13603         Unlink pads from elements added/removed from bin to maintain
13604         hierarchy consistency.
13605
13606 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13607
13608         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13609         (gst_base_transform_handle_buffer):
13610         * gst/base/gstbasetransform.h:
13611           Remove broken delay_configure (fixes renegotiation of software
13612           scaling pipelines); remove some leftover printf()s.
13613
13614 2005-07-28  Wim Taymans  <wim@fluendo.com>
13615
13616         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13617         Added some more tests for wrong hierarchy
13618
13619         * docs/design/part-overview.txt:
13620         Some updates.
13621
13622         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13623         Cleanups.
13624
13625         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13626         (gst_element_dispose):
13627         Some more cleanups.
13628
13629         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13630         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13631         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13632         (gst_pad_set_caps), (gst_pad_send_event):
13633         Check for correct hierarchy when linking pads. Moving to
13634         strict requirement for ghostpads when linking elements in
13635         different bins.
13636
13637         * gst/gstpad.h:
13638         Clean ups. Added WRONG_HIERARCHY return value.
13639
13640 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13641
13642         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13643           Better debug if no transform is possible.
13644
13645 2005-07-27  Wim Taymans  <wim@fluendo.com>
13646
13647         * docs/random/wtay/network-transp:
13648         Some old doc I had.
13649
13650 2005-07-27  Wim Taymans  <wim@fluendo.com>
13651
13652         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13653         (gst_dp_event_from_packet):
13654         Fix serialization of seek events.
13655
13656 2005-07-27  Wim Taymans  <wim@fluendo.com>
13657
13658         * check/gst-libs/gdp.c: (GST_START_TEST):
13659         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13660         Fix compilation and fix event serialization.
13661
13662 2005-07-27  Wim Taymans  <wim@fluendo.com>
13663
13664         * CHANGES-0.9:
13665         * docs/design/part-TODO.txt:
13666         * docs/design/part-events.txt:
13667         Some docs updates
13668
13669         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13670         (gst_base_sink_event), (gst_base_sink_do_sync),
13671         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13672         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13673         (gst_base_src_do_seek), (gst_base_src_event_handler),
13674         (gst_base_src_loop):
13675         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13676         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13677         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13678         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13679         (gst_base_transform_set_passthrough),
13680         (gst_base_transform_is_passthrough):
13681         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13682         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13683         Event updates.
13684
13685         * gst/gstbuffer.h:
13686         Use faster casts.
13687
13688         * gst/gstelement.c: (gst_element_seek):
13689         * gst/gstelement.h:
13690         Update gst_element_seek.
13691
13692         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13693         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13694         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13695         (gst_event_new_eos), (gst_event_new_newsegment),
13696         (gst_event_parse_newsegment), (gst_event_new_tag),
13697         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13698         (gst_event_parse_qos), (gst_event_new_seek),
13699         (gst_event_parse_seek), (gst_event_new_navigation):
13700         * gst/gstevent.h:
13701         Make GstEvent use GstStructure. Add parsing code, make sure the
13702         API is sufficiently generic.
13703         Mark possible directions of events and serialization.
13704
13705         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13706         (_gst_message_copy), (gst_message_new_segment_start),
13707         (gst_message_new_segment_done), (gst_message_new_custom),
13708         (gst_message_parse_segment_start),
13709         (gst_message_parse_segment_done):
13710         Small cleanups.
13711
13712         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13713         (gst_pad_set_caps), (gst_pad_send_event):
13714         Update for new events. 
13715         Catch events sent in wrong directions.
13716
13717         * gst/gstqueue.c: (gst_queue_link_src),
13718         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13719         (gst_queue_handle_src_query):
13720         Event updates.
13721
13722         * gst/gsttag.c:
13723         * gst/gsttag.h:
13724         Remove event code from this file.
13725
13726         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13727         (gst_dp_event_from_packet):
13728         Event updates.
13729
13730 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13731
13732         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13733         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13734         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13735           Make debugging actually useful.
13736
13737 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13738
13739         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13740         (gst_pad_fixate_caps):
13741           Implement default fixation once again, so that gst_pad_fixate()
13742           actually does anything at all. This probably needs to be some
13743           sort of a last resort, and use profile-based fixation first, but
13744           since that doesn't exist yet, this is the best we have. Fixes
13745           visualization in Totem.
13746
13747 2005-07-22  Wim Taymans  <wim@fluendo.com>
13748
13749         * docs/design/part-events.txt:
13750         Small update.
13751
13752         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13753         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13754         (gst_base_sink_activate_pull):
13755         Some more comments.
13756
13757         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13758         (gst_fake_src_create):
13759         Fix handoff marshall.
13760
13761         * gst/elements/gstidentity.c: (gst_identity_class_init),
13762         (gst_identity_transform_ip):
13763         We're a real inplace element.
13764
13765         * gst/gstbus.c: (gst_bus_post):
13766         Added some comments.
13767
13768         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13769         * tests/muxing/case1.c: (main):
13770         * tests/sched/dynamic-pipeline.c: (main):
13771         * tests/sched/interrupt1.c: (main):
13772         * tests/sched/interrupt2.c: (main):
13773         * tests/sched/interrupt3.c: (main):
13774         * tests/sched/runxml.c: (main):
13775         * tests/sched/sched-stress.c: (main):
13776         * tests/seeking/seeking1.c: (event_received), (main):
13777         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13778         (main):
13779         * tests/threadstate/threadstate3.c: (main):
13780         * tests/threadstate/threadstate4.c: (main):
13781         * tests/threadstate/threadstate5.c: (main):
13782         Fix the tests.
13783
13784 2005-07-21  Wim Taymans  <wim@fluendo.com>
13785
13786         * docs/design/part-seeking.txt:
13787         Some small additions.
13788
13789         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13790         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13791         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13792         * gst/base/gstbasesink.h:
13793         discont values are gint64, handle the math correctly.
13794
13795         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13796         Make the basesrc report error if the source pad is not linked.
13797
13798         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13799         (gst_queue_loop), (gst_queue_handle_src_query),
13800         (gst_queue_src_activate_push):
13801         Make queue collect data even if the srcpad is not linked.
13802         Start pushing out data as soon as it is linked.
13803
13804         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13805         * gst/gstutils.h:
13806         Added gst_flow_get_name() to ease error reporting.
13807
13808 2005-07-20  Wim Taymans  <wim@fluendo.com>
13809
13810         * gst/gstmessage.c: (gst_message_new_segment_start),
13811         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13812         (gst_message_parse_segment_done):
13813         * gst/gstmessage.h:
13814         Added a bunch of messages for advanced seeking.
13815
13816         * gst/parse/grammar.y:
13817         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13818         (gst_dpman_state_changed):
13819         Fix some new-pad -> pad-added signals
13820
13821 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13822
13823         * docs/manual/appendix-porting.xml:
13824         * docs/pwg/appendix-porting.xml:
13825           Document new-pad/state-change signal renames and the FixedList
13826           type rename.
13827
13828 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13829
13830         * docs/manual/advanced-autoplugging.xml:
13831         * docs/manual/basics-helloworld.xml:
13832         * docs/manual/basics-pads.xml:
13833         * docs/random/ds/0.9-suggested-changes:
13834         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13835         * gst/gstelement.h:
13836         * gst/gstevent.h:
13837         * gst/gstformat.h:
13838         * gst/gstquery.h:
13839         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13840         (gst_structure_parse_array), (gst_structure_parse_value):
13841         * gst/gstvalue.c: (gst_type_is_fixed),
13842         (gst_value_list_prepend_value), (gst_value_list_append_value),
13843         (gst_value_list_get_size), (gst_value_list_get_value),
13844         (gst_value_transform_array_string), (gst_value_serialize_array),
13845         (gst_value_deserialize_array), (gst_value_intersect_array),
13846         (gst_value_is_fixed), (_gst_value_initialize):
13847         * gst/gstvalue.h:
13848           GstElement::new-pad -> pad-added, GstElement::state-change ->
13849           state-changed, GstValueFixedList -> GstValueArray, add format and
13850           flags as their own arguments in gst_element_seek() (should improve
13851           "bindeability"), remove function generators since they don't work
13852           under a whole bunch of compilers (they were deprecated already
13853           anyway).
13854
13855 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13856
13857         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13858         (_gst_debug_register_funcptr):
13859         * gst/gstinfo.h:
13860           Fix illegal cast on some platforms (#309253).
13861
13862 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13863
13864         * gst/gstmessage.c: (gst_message_new_custom):
13865         * gst/gstmessage.h:
13866           Add _new_custom, make _new_application a macro to _new_custom.
13867
13868 2005-07-20  Wim Taymans  <wim@fluendo.com>
13869
13870         * gst/base/gstbasesrc.c: (gst_base_src_init),
13871         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13872         * gst/base/gstbasesrc.h:
13873         Add a gboolean to decide when to push out a discont.
13874
13875         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13876         (gst_queue_loop), (gst_queue_handle_src_query),
13877         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13878         (gst_queue_set_property), (gst_queue_get_property):
13879         Some cleanups.
13880
13881         * tests/threadstate/threadstate1.c: (main):
13882         Make a thread test compile and run... very silly..
13883
13884
13885 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13886
13887         * docs/manual/appendix-porting.xml:
13888           Mention removal of libgstgconf-0.9.la and existence of gconf
13889           elements.
13890
13891 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13892
13893         * docs/pwg/advanced-clock.xml:
13894         * docs/pwg/appendix-porting.xml:
13895         * docs/pwg/intro-preface.xml:
13896         * docs/pwg/other-base.xml:
13897         * docs/pwg/other-manager.xml:
13898         * docs/pwg/other-nton.xml:
13899         * docs/pwg/other-ntoone.xml:
13900         * docs/pwg/other-oneton.xml:
13901         * docs/pwg/pwg.xml:
13902           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13903           demuxer), remove n-to-n (was never written), fix some code examples
13904           and links and update the porting section to include all this.
13905
13906 2005-07-19  Wim Taymans  <wim@fluendo.com>
13907
13908         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13909         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13910         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13911         (gst_queue_src_activate_push), (gst_queue_change_state),
13912         (gst_queue_get_property):
13913         * gst/gstqueue.h:
13914         Propagate GstFlowReturn more intelligently upstream and output
13915         an ERROR/EOS when streaming stopped due to fatal error.
13916
13917 2005-07-19  Wim Taymans  <wim@fluendo.com>
13918
13919         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13920         Don't block forever for the state change to complete, the
13921         pipeline already did with a sensible timeout.
13922
13923 2005-07-19  Wim Taymans  <wim@fluendo.com>
13924
13925         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13926         Make sure we never call the create function is we
13927         got deactivated.
13928
13929 2005-07-19  Andy Wingo  <wingo@pobox.com>
13930
13931         * gst/parse/parse.l: Attempt to solve bug #172815.
13932
13933 2005-07-19  Wim Taymans  <wim@fluendo.com>
13934
13935         * docs/design/part-clocks.txt:
13936         * docs/design/part-events.txt:
13937         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13938         Small docs updates.
13939         Only update the seeking values when we are not
13940         busy streaming.
13941
13942 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13943
13944         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13945           Oops, ignore the result of gst_pad_push_event here.
13946
13947 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13948
13949         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13950         (gst_base_src_activate_push):
13951           Send discont event from the loop function, as pads
13952           aren't activated yet in the activate_push handler.
13953
13954         * gst/gstbin.c: (bin_bus_handler):
13955           Don't leak element name.
13956
13957 2005-07-18  Andy Wingo  <wingo@pobox.com>
13958
13959         * configure.ac: Use AS_LIBTOOL_TAGS.
13960
13961 2005-07-18  Wim Taymans  <wim@fluendo.com>
13962
13963         * docs/gst/gstreamer.types:
13964         Remove deleted types.
13965
13966 2005-07-18  Wim Taymans  <wim@fluendo.com>
13967
13968         * check/elements/gstfakesrc.c: (GST_START_TEST):
13969         * configure.ac:
13970         * gst/Makefile.am:
13971         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13972         (init_popt_callback):
13973         * gst/gst.h:
13974         * gst/gst_private.h:
13975         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13976         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13977         * gst/gstbin.h:
13978         * gst/gstbus.h:
13979         * gst/gstconfig.h.in:
13980         * gst/gstelement.c: (gst_element_class_init),
13981         (gst_element_set_base_time), (gst_element_get_base_time),
13982         (iterator_fold_with_resync), (gst_element_change_state),
13983         (gst_element_dispose), (gst_element_get_bus):
13984         * gst/gstelement.h:
13985         * gst/gstelementfactory.h:
13986         * gst/gsterror.c: (_gst_core_errors_init):
13987         * gst/gsterror.h:
13988         * gst/gstevent.h:
13989         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13990         * gst/gstindex.c:
13991         * gst/gstinfo.c: (_gst_debug_init):
13992         * gst/gstmessage.c: (_gst_message_copy):
13993         * gst/gstmessage.h:
13994         * gst/gstminiobject.h:
13995         * gst/gstobject.c:
13996         * gst/gstobject.h:
13997         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13998         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13999         * gst/gstpad.h:
14000         * gst/gstparse.h:
14001         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14002         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14003         (gst_pipeline_get_last_stream_time):
14004         * gst/gstpipeline.h:
14005         * gst/gstpluginfeature.h:
14006         * gst/gstquery.h:
14007         * gst/gstscheduler.c:
14008         * gst/gstscheduler.h:
14009         * gst/gststructure.h:
14010         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14011         (gst_task_finalize), (gst_task_func), (gst_task_create),
14012         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14013         (gst_task_stop), (gst_task_pause):
14014         * gst/gsttask.h:
14015         * gst/gsttypefind.h:
14016         * gst/gsttypes.h:
14017         * gst/registries/gstlibxmlregistry.c: (load_feature),
14018         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14019         * gst/registries/gstxmlregistry.c:
14020         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14021         * gst/schedulers/threadscheduler.c:
14022         * libs/gst/control/dparammanager.h:
14023         * tools/gst-inspect.c: (print_element_list),
14024         (print_plugin_features), (print_element_features):
14025         * tools/gst-xmlinspect.c: (print_element_list),
14026         (print_plugin_info), (main):
14027         Removed plugable schedulers.
14028         Removed Scheduler/Manager from elements.
14029         Removed gsttypes.h, rearranged includes.
14030         Removed dependency pad<->element, element<>pipeline, and
14031         various others,  fix includes.
14032         implement gst_pad_get_parent() with gst_object_get_parent()
14033         Make GstTask sefcontained.
14034         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14035         timeout.
14036         Fix endless loop in iterator_fold_with_resync.
14037
14038
14039 2005-07-18  Wim Taymans  <wim@fluendo.com>
14040
14041         * gst/Makefile.am:
14042         * gst/gstarch.h:
14043         Remove old file.
14044
14045 2005-07-18  Wim Taymans  <wim@fluendo.com>
14046
14047         * gst/Makefile.am:
14048         No more cothreads.h
14049
14050 2005-07-18  Wim Taymans  <wim@fluendo.com>
14051
14052         * gst/cothreads.c:
14053         * gst/cothreads.h:
14054         Let's remove these.
14055
14056 2005-07-18  Wim Taymans  <wim@fluendo.com>
14057
14058         * docs/design/part-dynamic.txt:
14059         * docs/design/part-events.txt:
14060         * docs/design/part-seeking.txt:
14061         Some more docs in the works.
14062
14063         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14064         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14065         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14066         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14067         (gst_base_transform_handle_buffer),
14068         (gst_base_transform_sink_activate_push),
14069         (gst_base_transform_src_activate_pull),
14070         (gst_base_transform_set_passthrough),
14071         (gst_base_transform_is_passthrough):
14072         Refcounting fixes.
14073
14074         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14075         Cleanups.
14076
14077         * gst/gstevent.c: (gst_event_finalize):
14078         Set SRC to NULL.
14079
14080         * gst/gstutils.c: (gst_element_unlink),
14081         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14082         (gst_pad_proxy_setcaps):
14083         * gst/gstutils.h:
14084         Add _get_parent_element() to get a pads parent as an element.
14085
14086 2005-07-18  Wim Taymans  <wim@fluendo.com>
14087
14088         * check/gst/gstbin.c: (GST_START_TEST):
14089         Remove bogus test.
14090
14091 2005-07-18  Wim Taymans  <wim@fluendo.com>
14092
14093         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14094         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14095         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14096         (gst_base_sink_event), (gst_base_sink_do_sync),
14097         (gst_base_sink_chain), (gst_base_sink_loop),
14098         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14099         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14100         Refcounting fixes.
14101         Fix logic for returning ASYNC when not prerolled.
14102
14103 2005-07-18  Wim Taymans  <wim@fluendo.com>
14104
14105         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14106         Fix nasty refcount bug.
14107
14108 2005-07-16 Philippe Khalaf <burger@speedy.org>
14109
14110         * gst/elements/gstfdsrc.c:
14111         * gst/elements/gstfdsrc.h:
14112         * gst/elements/gstelements.c:
14113         * gst/elements/Makefile.am:
14114         Ported fdsrc to 0.9.
14115
14116 2005-07-16  Wim Taymans  <wim@fluendo.com>
14117
14118         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14119         (gst_base_sink_do_sync):
14120         Fix compile error.
14121
14122 2005-07-16  Wim Taymans  <wim@fluendo.com>
14123
14124         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14125         (gst_base_sink_event), (gst_base_sink_get_times),
14126         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14127         * gst/base/gstbasesink.h:
14128         Store and use discont values when syncing buffers as described
14129         in design docs.
14130         
14131         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14132         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14133         (gst_base_src_activate_push):
14134         Push discont event when starting.
14135
14136         * gst/elements/gstidentity.c: (gst_identity_transform):
14137         Small cleanups.
14138
14139         * gst/gstbin.c: (gst_bin_change_state):
14140         Small cleanups in base_time  distribution.
14141
14142         * gst/gstelement.c: (gst_element_set_base_time),
14143         (gst_element_get_base_time), (gst_element_change_state):
14144         * gst/gstelement.h:
14145         Added methods for the base_time of the element.
14146         Some MT fixes.
14147
14148         * gst/gstpipeline.c: (gst_pipeline_send_event),
14149         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14150         (gst_pipeline_get_last_stream_time):
14151         * gst/gstpipeline.h:
14152         MT fixes.
14153         Handle seeking as described in design doc, remove stream_time
14154         hack.
14155         Cleanups clock and stream_time selection code. Added accessors
14156         for the stream_time.
14157         
14158
14159 2005-07-16  Andy Wingo  <wingo@pobox.com>
14160
14161         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14162         (#305291).
14163
14164 2005-07-16  Wim Taymans  <wim@fluendo.com>
14165
14166         * check/gst/gstbin.c: (GST_START_TEST):
14167         Make elements silent as the deep_notify refs the
14168         parent, which might make the test fail.
14169
14170         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14171         Don't hold the lock for too long.
14172
14173 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14174
14175         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14176           Don't unref the caps we passed to gst_caps_make_writable() after
14177           passing them. gst_caps_make_writable() will do that for us.
14178
14179 2005-07-15  Andy Wingo  <wingo@pobox.com>
14180
14181         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14182         (#157311).
14183
14184         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14185         own marshalling function for the handoff signal. Properly type the
14186         buffer as a buffer. Fixes some warnings. Should do a more general
14187         solution.
14188         (gst_identity_class_init): Plug into the right marshaller.
14189
14190 2005-07-15  Wim Taymans  <wim@fluendo.com>
14191
14192         * docs/design/part-TODO.txt:
14193         * docs/design/part-clocks.txt:
14194         * docs/design/part-element-sink.txt:
14195         * docs/design/part-events.txt:
14196         * docs/design/part-gstpipeline.txt:
14197         Updated docs, mostly DISCONT related.
14198
14199 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14200
14201         * docs/pwg/building-pads.xml:
14202           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14203
14204 2005-07-15  Andy Wingo  <wingo@pobox.com>
14205
14206         * tools/gst-typefind.c: Update, add copyright block.
14207
14208         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14209         Normalize and truncate caps before fixation.
14210
14211         * gst/gstcaps.h:
14212         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14213         discards all but the first structure from its argument.
14214
14215 2005-07-15  Wim Taymans  <wim@fluendo.com>
14216
14217         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14218         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14219         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14220         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14221         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14222         (gst_base_transform_chain), (gst_base_transform_change_state),
14223         (gst_base_transform_set_passthrough),
14224         (gst_base_transform_is_passthrough):
14225         * gst/base/gstbasetransform.h:
14226         Make passthrough work using the bufferpools.
14227         Changed API a bit, subclasses have to write into a buffer
14228         provided by the base class.
14229         More debug info in nego functions.
14230         
14231         * gst/elements/gstidentity.c: (gst_identity_init),
14232         (gst_identity_transform):
14233         Port to new base class.
14234
14235 2005-07-15  Wim Taymans  <wim@fluendo.com>
14236
14237         * gst/gstmessage.c: (gst_message_new_state_changed):
14238         * tools/gst-launch.c: (event_loop), (main):
14239         Totally dump messages in -launch with the -m option.
14240         Fix message name for State messages,
14241
14242 2005-07-14  Wim Taymans  <wim@fluendo.com>
14243
14244         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14245         Post error messages on errors.
14246
14247 2005-07-14  Wim Taymans  <wim@fluendo.com>
14248
14249         * gst/gstcaps.c: (gst_caps_do_simplify):
14250         Remove debug info.
14251
14252         * gst/gsterror.h:
14253         Define error for stream stopped.
14254
14255         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14256         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14257         Do proper return values.
14258
14259         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14260         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14261         (gst_pad_get_range):
14262         Better return values.
14263
14264         * gst/gstpad.h:
14265         Reorganise return values, add macro to check for fatal errors.
14266
14267         * gst/gstqueue.c: (gst_queue_chain):
14268         Return proper GstFlowReturn values,
14269
14270 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14271
14272         * docs/gst/gstreamer-sections.txt:
14273         * docs/gst/gstreamer.types:
14274         * docs/gst/tmpl/gst.sgml:
14275         * docs/gst/tmpl/gstbasesink.sgml:
14276         * docs/gst/tmpl/gstbasesrc.sgml:
14277         * docs/gst/tmpl/gstbasetransform.sgml:
14278         * docs/gst/tmpl/gstbin.sgml:
14279         * docs/gst/tmpl/gstbuffer.sgml:
14280         * docs/gst/tmpl/gstcaps.sgml:
14281         * docs/gst/tmpl/gstclock.sgml:
14282         * docs/gst/tmpl/gstcompat.sgml:
14283         * docs/gst/tmpl/gstconfig.sgml:
14284         * docs/gst/tmpl/gstelement.sgml:
14285         * docs/gst/tmpl/gstelementdetails.sgml:
14286         * docs/gst/tmpl/gstelementfactory.sgml:
14287         * docs/gst/tmpl/gstenumtypes.sgml:
14288         * docs/gst/tmpl/gsterror.sgml:
14289         * docs/gst/tmpl/gstevent.sgml:
14290         * docs/gst/tmpl/gstfakesink.sgml:
14291         * docs/gst/tmpl/gstfakesrc.sgml:
14292         * docs/gst/tmpl/gstfilesink.sgml:
14293         * docs/gst/tmpl/gstfilesrc.sgml:
14294         * docs/gst/tmpl/gstfilter.sgml:
14295         * docs/gst/tmpl/gstformat.sgml:
14296         * docs/gst/tmpl/gstghostpad.sgml:
14297         * docs/gst/tmpl/gstimplementsinterface.sgml:
14298         * docs/gst/tmpl/gstindex.sgml:
14299         * docs/gst/tmpl/gstindexfactory.sgml:
14300         * docs/gst/tmpl/gstinfo.sgml:
14301         * docs/gst/tmpl/gstiterator.sgml:
14302         * docs/gst/tmpl/gstmacros.sgml:
14303         * docs/gst/tmpl/gstmemchunk.sgml:
14304         * docs/gst/tmpl/gstminiobject.sgml:
14305         * docs/gst/tmpl/gstobject.sgml:
14306         * docs/gst/tmpl/gstpad.sgml:
14307         * docs/gst/tmpl/gstpadtemplate.sgml:
14308         * docs/gst/tmpl/gstparse.sgml:
14309         * docs/gst/tmpl/gstpipeline.sgml:
14310         * docs/gst/tmpl/gstplugin.sgml:
14311         * docs/gst/tmpl/gstpluginfeature.sgml:
14312         * docs/gst/tmpl/gstquery.sgml:
14313         * docs/gst/tmpl/gstqueue.sgml:
14314         * docs/gst/tmpl/gstregistry.sgml:
14315         * docs/gst/tmpl/gstregistrypool.sgml:
14316         * docs/gst/tmpl/gstscheduler.sgml:
14317         * docs/gst/tmpl/gstschedulerfactory.sgml:
14318         * docs/gst/tmpl/gststructure.sgml:
14319         * docs/gst/tmpl/gstsystemclock.sgml:
14320         * docs/gst/tmpl/gsttaglist.sgml:
14321         * docs/gst/tmpl/gsttagsetter.sgml:
14322         * docs/gst/tmpl/gsttrace.sgml:
14323         * docs/gst/tmpl/gsttrashstack.sgml:
14324         * docs/gst/tmpl/gsttypefind.sgml:
14325         * docs/gst/tmpl/gsttypefindfactory.sgml:
14326         * docs/gst/tmpl/gsttypes.sgml:
14327         * docs/gst/tmpl/gsturihandler.sgml:
14328         * docs/gst/tmpl/gsturitype.sgml:
14329         * docs/gst/tmpl/gstutils.sgml:
14330         * docs/gst/tmpl/gstvalue.sgml:
14331         * docs/gst/tmpl/gstversion.sgml:
14332         * docs/gst/tmpl/gstxml.sgml:
14333         * docs/libs/tmpl/gstcontrol.sgml:
14334         * docs/libs/tmpl/gstdataprotocol.sgml:
14335         * docs/libs/tmpl/gstdparam.sgml:
14336         * docs/libs/tmpl/gstdplinint.sgml:
14337         * docs/libs/tmpl/gstdpman.sgml:
14338         * docs/libs/tmpl/gstdpsmooth.sgml:
14339         * docs/libs/tmpl/gstgetbits.sgml:
14340         * docs/libs/tmpl/gstunitconvert.sgml:
14341         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14342         (gst_push_src_base_init), (gst_push_src_class_init),
14343         (gst_push_src_init), (gst_push_src_create):
14344         * gst/base/gstpushsrc.h:
14345         * gst/elements/gstelements.c:
14346         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14347         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14348         (gst_fake_sink_init), (gst_fake_sink_set_property),
14349         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14350         (gst_fake_sink_event), (gst_fake_sink_preroll),
14351         (gst_fake_sink_render), (gst_fake_sink_change_state):
14352         * gst/elements/gstfakesink.h:
14353         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14354         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14355         (gst_fake_src_base_init), (gst_fake_src_class_init),
14356         (gst_fake_src_init), (gst_fake_src_event_handler),
14357         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14358         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14359         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14360         (gst_fake_src_create_buffer), (gst_fake_src_create),
14361         (gst_fake_src_start), (gst_fake_src_stop):
14362         * gst/elements/gstfakesrc.h:
14363         * gst/elements/gstfilesink.c: (_do_init),
14364         (gst_file_sink_base_init), (gst_file_sink_class_init),
14365         (gst_file_sink_init), (gst_file_sink_dispose),
14366         (gst_file_sink_set_location), (gst_file_sink_set_property),
14367         (gst_file_sink_get_property), (gst_file_sink_open_file),
14368         (gst_file_sink_close_file), (gst_file_sink_query),
14369         (gst_file_sink_event), (gst_file_sink_render),
14370         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14371         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14372         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14373         * gst/elements/gstfilesink.h:
14374         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14375         (gst_file_src_class_init), (gst_file_src_init),
14376         (gst_file_src_finalize), (gst_file_src_set_location),
14377         (gst_file_src_set_property), (gst_file_src_get_property),
14378         (gst_file_src_map_region), (gst_file_src_map_small_region),
14379         (gst_file_src_create_mmap), (gst_file_src_create_read),
14380         (gst_file_src_create), (gst_file_src_is_seekable),
14381         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14382         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14383         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14384         (gst_file_src_uri_handler_init):
14385         * gst/elements/gstfilesrc.h:
14386           more autistic cleanliness in functions/names/defines
14387
14388 2005-07-13  Andy Wingo  <wingo@pobox.com>
14389
14390         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14391         source couldn't negotiate.
14392
14393         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14394         connections again.
14395
14396         * gst/gstutils.h:
14397         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14398         function. I am channeling Hades. Put your boots on suckers!!!
14399
14400 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14401
14402         * testsuite/caps/Makefile.am:
14403         * testsuite/caps/value_compare.c:
14404         * testsuite/caps/value_intersect.c:
14405         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14406           move two testsuite apps over to the check dir
14407
14408 2005-07-12  Wim Taymans  <wim@fluendo.com>
14409
14410         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14411         Added more debug info in the negotiate process.
14412
14413         * gst/gstmessage.h:
14414         Prepare for segment playback.
14415
14416         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14417         Better debugging.
14418
14419         * gst/gstutils.c:
14420         Some more docs.
14421
14422         * tools/gst-launch.c: (main):
14423         NULL pipeline on errors.
14424
14425 2005-07-12  Andy Wingo  <wingo@pobox.com>
14426
14427         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14428         not it comes from a malloc region. Make sure our copy gets freed.
14429
14430 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14431
14432         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14433         * check/gst/gstmessage.c: (GST_START_TEST):
14434         * check/gst/gststructure.c: (GST_START_TEST),
14435         (gst_structure_suite), (main):
14436           more testing
14437         * gst/gstelement.c: (gst_element_message_full):
14438           clean up GError and debug string now that they get copied
14439         * gst/gstmessage.c: (gst_message_new_error),
14440         (gst_message_new_warning), (gst_message_parse_error),
14441         (gst_message_parse_warning):
14442           use GST_TYPE_G_ERROR for structure_new, and take copies of
14443           arguments, so that we don't mess up refcounting
14444
14445 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14446
14447         * check/Makefile.am:
14448           add per-test valgrind targets
14449         * check/gst-libs/gdp.c: (GST_START_TEST),
14450         (gst_data_protocol_suite), (main):
14451           clean up
14452
14453 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14454
14455         * check/Makefile.am:
14456           instate more valgrindable tests
14457         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14458         (GST_START_TEST), (fakesrc_suite):
14459         * check/gst/gstpad.c: (GST_START_TEST):
14460         * check/gst/gststructure.c: (GST_START_TEST):
14461           fix test leaks
14462         * docs/gst/tmpl/gstminiobject.sgml:
14463         * gst/gstpad.c: (gst_pad_finalize):
14464           fix the static mutex leak
14465
14466 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14467
14468         * check/Makefile.am:
14469           add two more tests for valgrinding
14470         * check/gst/gstvalue.c: (GST_START_TEST):
14471           test refcount of deserialized buffer, found a leak
14472         * docs/gst/gstreamer-docs.sgml:
14473         * docs/gst/gstreamer-sections.txt:
14474         * docs/gst/gstreamer.types:
14475         * docs/gst/tmpl/gstminiobject.sgml:
14476           add miniobject to docs
14477         * gst/gstminiobject.c:
14478           add some docs
14479         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14480         (gst_string_unwrap):
14481           fix a hard-to-find invalid write for one of the tests
14482           fix a leak for deserialized buffers
14483
14484 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14485
14486         * docs/pwg/advanced-events.xml:
14487         * docs/pwg/advanced-request.xml:
14488         * docs/pwg/advanced-scheduling.xml:
14489         * docs/pwg/appendix-porting.xml:
14490         * docs/pwg/building-boiler.xml:
14491         * docs/pwg/intro-preface.xml:
14492         * docs/pwg/other-ntoone.xml:
14493           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14494           of example code and explanation for pad activation, loop() and
14495           getrange() functions and a bit more. Remove old comments pointing
14496           to loop-functions.
14497         * examples/pwg/Makefile.am:
14498           Add loop/getrange examples.
14499
14500 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14501
14502         * configure.ac:
14503           check for valgrind binary + some fixes
14504         * check/gst.supp:
14505           valgrind suppressions for the tests
14506         * check/Makefile.am:
14507           add a valgrind: target that valgrinds the unit tests
14508         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14509         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14510         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14511         * check/gst/gstghostpad.c:
14512           added some cleanup
14513         * check/gst/gstdata.c:
14514           removed
14515         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14516         (thread_unref), (gst_mini_object_suite), (main):
14517           added
14518         * gst/gst.c: (gst_deinit):
14519         * gst/gst.h:
14520           add a method to clean up.
14521         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14522         (gst_system_clock_obtain):
14523           allow for disposing the system clock.
14524         * tools/gst-launch.c: (main):
14525           deinit
14526
14527 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14528
14529         * docs/gst/tmpl/gstbasesrc.sgml:
14530         * docs/gst/tmpl/gstfakesrc.sgml:
14531         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14532         (gst_base_src_init), (gst_base_src_set_property),
14533         (gst_base_src_get_property), (gst_base_src_get_range),
14534         (gst_base_src_start):
14535         * gst/base/gstbasesrc.h:
14536           add num-buffers property
14537         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14538         (gst_fakesrc_init), (gst_fakesrc_set_property),
14539         (gst_fakesrc_get_property), (gst_fakesrc_create),
14540         (gst_fakesrc_start):
14541           remove num-buffers property
14542
14543 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14544
14545         * docs/gst/gstreamer-sections.txt:
14546         * docs/gst/tmpl/gstbasesink.sgml:
14547         * docs/gst/tmpl/gstbasesrc.sgml:
14548         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14549         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14550         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14551         (gst_base_sink_set_property), (gst_base_sink_get_property),
14552         (gst_base_sink_handle_object), (gst_base_sink_event),
14553         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14554         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14555         (gst_base_sink_loop), (gst_base_sink_deactivate),
14556         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14557         (gst_base_sink_change_state):
14558         * gst/base/gstbasesink.h:
14559         * gst/base/gstbasesrc.h:
14560         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14561         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14562         (gst_filesink_init):
14563           more macro splitting
14564
14565 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14566
14567         * gst/gstelement.c: (gst_element_get_bus):
14568           add debug
14569         * tools/gst-launch.c: (check_intr), (event_loop):
14570           fix bus leaks
14571
14572 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14573
14574         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14575           fix a caps leak
14576
14577 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14578
14579         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14580         (gst_base_src_finalize):
14581           add finalize method and clean up properly
14582         * gst/gstpipeline.c: (gst_pipeline_dispose):
14583           add debug
14584
14585 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14586
14587         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14588         (gst_bin_suite):
14589           add more things to check
14590         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14591         * gst/gstelement.c:
14592           more debug
14593
14594 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14595
14596         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14597         (GST_START_TEST), (fakesrc_suite):
14598         * check/gst-libs/gdp.c: (GST_START_TEST):
14599         * check/gst/gst.c: (GST_START_TEST):
14600         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14601         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14602         * check/gst/gstbus.c: (GST_START_TEST):
14603         * check/gst/gstcaps.c: (GST_START_TEST):
14604         * check/gst/gstdata.c: (GST_START_TEST):
14605         * check/gst/gstelement.c: (GST_START_TEST):
14606         * check/gst/gstghostpad.c: (GST_START_TEST):
14607         * check/gst/gstiterator.c: (GST_START_TEST):
14608         * check/gst/gstmessage.c: (GST_START_TEST):
14609         * check/gst/gstobject.c: (GST_START_TEST):
14610         * check/gst/gstpad.c: (GST_START_TEST):
14611         * check/gst/gststructure.c: (GST_START_TEST):
14612         * check/gst/gstsystemclock.c: (GST_START_TEST),
14613         (gst_systemclock_suite):
14614         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14615         * check/gst/gstvalue.c: (GST_START_TEST):
14616         * check/pipelines/cleanup.c: (GST_START_TEST):
14617         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14618         * check/states/sinks.c: (GST_START_TEST):
14619         * check/gstcheck.c: (gst_check_init):
14620         * check/gstcheck.h:
14621           add debugging category
14622           use GST_START_TEST now, so we add a debug line
14623
14624 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14625
14626         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14627           add test for state change message on a bin
14628         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14629           add another test
14630         * gst/gstbin.c: (gst_bin_init):
14631         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14632         * gst/gstelement.c: (gst_element_post_message),
14633         (gst_element_set_state):
14634         * gst/gstelementfactory.c: (gst_element_factory_create):
14635         * gst/gstmessage.c: (gst_message_new):
14636         * gst/gstscheduler.c:
14637           various debugging additions and cleanups
14638
14639 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14640
14641         * check/Makefile.am:
14642         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14643         (main):
14644           adding tests for elements
14645         * gst/gstelement.c: (gst_element_dispose):
14646
14647 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14648
14649         * gst/registries/gstlibxmlregistry.c: (load_feature):
14650           plug more leaks.  A simple gst_init() now is leakfree, yay.
14651
14652 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14653
14654         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14655         (gst_xml_registry_load):
14656           plug another memleak
14657
14658 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14659
14660         * configure.ac:
14661           use GST_SET_ERROR_CFLAGS
14662         * docs/faq/cvs.xml:
14663           change to ERROR_CFLAGS
14664
14665 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14666
14667         * configure.ac:
14668           make GST_ERROR_CFLAGS overridable and re-enable Werror
14669         * docs/faq/cvs.xml:
14670           add a note about error CFLAGS
14671         * docs/gst/tmpl/gstfakesrc.sgml:
14672         * gst/elements/gstfakesrc.c:
14673           comment out some unused code
14674         * gst/gst.c: (split_and_iterate):
14675         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14676         (load_feature):
14677           plug some memleaks
14678
14679 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14680
14681         * common/Makefile.am:
14682         * common/gtk-doc.mak:
14683         * docs/gst/Makefile.am:
14684           factor out gtk-doc.mak
14685
14686 2005-07-07  Wim Taymans  <wim@fluendo.com>
14687
14688         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14689         (gst_thread_scheduler_dispose):
14690         Unlock the STREAM_LOCK completely.
14691
14692 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14693
14694         * check/Makefile.am:
14695         * check/elements/.cvsignore:
14696         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14697         (START_TEST), (fakesrc_suite), (main):
14698         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14699         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14700         (gst_fakesrc_create), (gst_fakesrc_start):
14701         * gst/elements/gstfakesrc.h:
14702           adding a first element test
14703
14704 2005-07-07  Andy Wingo  <wingo@pobox.com>
14705
14706         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14707         debug message.
14708
14709 2005-07-07  Wim Taymans  <wim@fluendo.com>
14710
14711         * gst/gstquery.c:
14712         * gst/gstquery.h:
14713         Remove old types
14714
14715 2005-07-07  Wim Taymans  <wim@fluendo.com>
14716
14717         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14718         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14719         Allow subclasses to implement their own negotiation.
14720
14721 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14722
14723         * docs/design/part-gstbin.txt:
14724         * docs/design/part-gstpipeline.txt:
14725           Update design notes to reflect the movement of
14726           responsibility for bus handling from GstPipeline to
14727           GstBin
14728
14729 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14730
14731         * configure.ac:
14732           Remove unnecessary queue2/3/4 examples.
14733
14734 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14735
14736         * examples/Makefile.am:
14737         * examples/helloworld/helloworld.c: (event_loop), (main):
14738         * examples/queue/queue.c: (event_loop), (main):
14739         * examples/queue2/queue2.c: (main):
14740           Update a couple of the examples to work again.
14741
14742         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14743         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14744          Spelling corrections and extra debug.
14745         
14746         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14747         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14748         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14749         * gst/gstbin.h:
14750         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14751         (gst_pipeline_change_state):
14752         * gst/gstpipeline.h:
14753           Move the bus handler for children to the GstBin, and create a
14754           separate bus for receiving messages from children to the one the
14755           bus sends 'upwards' on.
14756
14757 2005-07-06  Wim Taymans  <wim@fluendo.com>
14758
14759         * gst/base/README:
14760         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14761         (gst_base_sink_handle_object), (gst_base_sink_loop),
14762         (gst_base_sink_change_state):
14763         * gst/base/gstbasesink.h:
14764         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14765         (gst_base_src_init), (gst_base_src_setcaps),
14766         (gst_base_src_getcaps), (gst_base_src_loop),
14767         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14768         (gst_base_src_start), (gst_base_src_change_state):
14769         * gst/base/gstbasesrc.h:
14770         Make basesrc negotiate.
14771         Handle the case where preroll fails in basesink.
14772         Update README.
14773
14774 2005-07-06  Wim Taymans  <wim@fluendo.com>
14775
14776         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14777         Implement the fixate function.
14778         Clean up acceptcaps.
14779
14780 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14781
14782         * docs/pwg/building-filterfactory.xml:
14783         * docs/pwg/pwg.xml:
14784           Remove never-written filter-factory chapter; I'll add the various
14785           base classes to part 4 ("other element types") later on.
14786
14787 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14788
14789         * docs/pwg/advanced-negotiation.xml:
14790         * docs/pwg/building-boiler.xml:
14791         * docs/pwg/building-pads.xml:
14792         * docs/pwg/pwg.xml:
14793         * examples/pwg/Makefile.am:
14794           Add a chapter on caps negotiation, simplify the original code
14795           samples a bit w.r.t. caps negotiation, add link to the advanced
14796           section. Add a bunch of examples showing different use cases of
14797           different types of caps negotiation. Upstream renegotiation isn't
14798           fully documented yet since nobody knows how that works.
14799
14800 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14801
14802         * check/gst/gstpad.c:
14803         * check/gstcheck.c:
14804         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14805           if pad has no parent, return NULL as list of internal links
14806
14807 2005-07-05  Andy Wingo  <wingo@pobox.com>
14808
14809         * gst/elements/gstfilesrc.c:
14810         * gst/elements/gstfakesrc.c: 
14811         * gst/base/gstpushsrc.c:
14812         * gst/base/gstbasesrc.h: 
14813         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14814         
14815 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14816
14817         * Makefile.am:
14818           better report generation target (lcov needs a patch)
14819
14820 2005-07-05  Andy Wingo  <wingo@pobox.com>
14821
14822         * gst/elements, testsuite: Null if we got it...
14823
14824 2005-07-05  Wim Taymans  <wim@fluendo.com>
14825
14826         * configure.ac:
14827         * libs/gst/dataprotocol/Makefile.am:
14828         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14829         * libs/gst/dataprotocol/dataprotocol.h:
14830         * pkgconfig/Makefile.am:
14831         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14832         * pkgconfig/gstreamer-dataprotocol.pc.in:
14833         Ported dataprotol to 0.9. 
14834         Added pkgconfig files.
14835
14836 2005-07-05  Andy Wingo  <wingo@pobox.com>
14837
14838         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14839         Default to returning TRUE for the case when tranform_caps returns
14840         a fixed caps, like for identity or volume.
14841
14842         * check/gst/gstbus.c (pound_bus_with_messages): 
14843         * check/gst/gstmessage.c (START_TEST): 
14844         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14845         message API change.
14846
14847         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14848         logic weaks here: always run transform_caps, trying passthrough
14849         operation only if the original caps intersects with the transform.
14850
14851         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14852         source and sink caps.
14853
14854         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14855         Intersect the peer caps with the pad template before going into
14856         transform_caps.
14857         (gst_base_transform_transform_caps): More debugging.
14858
14859         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14860         src argument.
14861
14862 2005-07-04  Edward Hervey  <edward@fluendo.com>
14863
14864         * gst/gstutils.c:
14865         * gst/gstutils.h:
14866         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14867         in bindings.
14868
14869 2005-07-04  Andy Wingo  <wingo@pobox.com>
14870
14871         * check/gst/gstpad.c: Only set explicit caps on pads.
14872
14873 2005-07-01  Andy Wingo  <wingo@pobox.com>
14874
14875         * tests/network-clock.scm: Commentary update.
14876
14877         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14878         Didn't really make sense, not implementable with basetransform,
14879         etc.
14880         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14881         attempt at implementing the sync property, needs an unlock method.
14882
14883         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14884         New func, by default returns the same caps (the identity
14885         transformation).
14886         (gst_base_transform_getcaps): Uses transform_caps to return
14887         something sensible.
14888         (gst_base_transform_setcaps): Complicated logic to get caps on
14889         both pads, even if they are different, and to call set_caps once
14890         for every time both pads get their caps set.
14891         (gst_base_transform_handle_buffer): Give the ref to the transform
14892         function. Allows in-place modification of the buffer.
14893
14894         * gst/base/gstbasetransform.h (transform_caps): New class method.
14895         Given caps on one side, what can I do on the other.
14896         (set_caps): Take two caps, one for each side of the element.
14897
14898         * gst/gstpad.h:
14899         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14900         caps in place. This is safe because we can check the mutability of
14901         the caps, and a good idea because fixate functions are just called
14902         as a matter of last resort. (Not actually implemented.)
14903         (gst_pad_set_caps): If the caps we're setting is actually the same
14904         as the existing pad caps, just update the pointer without calling
14905         setcaps. Assert that caps is either NULL or fixed, as per the
14906         docs.
14907
14908         * gst/gstghostpad.c: Update for fixate changes.
14909
14910 2005-07-02  Andy Wingo  <wingo@pobox.com>
14911
14912         * gst/gstcaps.c:
14913         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14914         two refcounts makes it immutable, which is enough. Doc more.
14915
14916 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14917
14918         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14919           Put the mini_object into GValue as a mini_object,
14920           not a gpointer, since that's how we declared
14921           the signal.
14922
14923 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14924
14925         * examples/pwg/Makefile.am:
14926           Fix buildbot again.
14927
14928 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14929
14930         * docs/pwg/building-testapp.xml:
14931           Add extra check.
14932         * examples/pwg/Makefile.am:
14933           Fix buildbot.
14934
14935 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14936
14937         * configure.ac:
14938         * examples/Makefile.am:
14939         * examples/pwg/Makefile.am:
14940         * examples/pwg/extract.pl:
14941           Enable building the PWG examples.
14942         * docs/pwg/advanced-interfaces.xml:
14943           Add URI interface stub.
14944         * docs/pwg/advanced-types.xml:
14945         * docs/pwg/other-autoplugger.xml:
14946         * docs/pwg/appendix-porting.xml:
14947         * docs/pwg/pwg.xml:
14948           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14949         * docs/pwg/building-boiler.xml:
14950         * docs/pwg/building-chainfn.xml:
14951         * docs/pwg/building-pads.xml:
14952         * docs/pwg/building-props.xml:
14953         * docs/pwg/building-state.xml:
14954         * docs/pwg/building-testapp.xml:
14955           Update the building-*.xml parts for 0.9 changes. All examples
14956           code blocks compile in examples/pwg/*.
14957
14958 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14959
14960         * docs/manual/advanced-autoplugging.xml:
14961         * docs/manual/appendix-checklist.xml:
14962         * docs/manual/appendix-integration.xml:
14963         * docs/manual/highlevel-components.xml:
14964           Fix playbin/decodebin examples, update docs a bit, mention bus
14965           instead of signals in various places, mention kmplayer and
14966           kaffeine since they have a working GStreamer backend in the KDE
14967           section.
14968
14969 2005-06-30  Wim Taymans  <wim@fluendo.com>
14970
14971         * CHANGES-0.9:
14972         * docs/design/draft-ghostpads.txt:
14973         * docs/design/draft-push-pull.txt:
14974         * docs/design/draft-query.txt:
14975         * docs/design/part-TODO.txt:
14976         * docs/design/part-query.txt:
14977         Added CHANGES-0.9 doc, updated status of other docs.
14978         
14979         * gst/gstquery.h:
14980         Remove "hmm" macro
14981
14982 2005-06-30  Wim Taymans  <wim@fluendo.com>
14983
14984         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14985         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14986         (gst_base_sink_change_state):
14987         * gst/base/gstbasesink.h:
14988         Some tweaks, only EOS and a buffer complete a preroll.
14989
14990 2005-06-30  Andy Wingo  <wingo@pobox.com>
14991
14992         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14993         activate_push down to the internal pad as well.
14994
14995 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14996
14997         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14998
14999         * gst/gsttaginterface.c:
15000           Some documentation fixes (#307394 and #307397).
15001
15002 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15003
15004         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15005
15006         * gst/gstvalue.c: (gst_value_intersect_list):
15007           Fix memleak (#309125).
15008
15009 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15010
15011         * docs/manual/advanced-dataaccess.xml:
15012           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15013         * docs/manual/basics-pads.xml:
15014           Add reference for filtered caps to above chapter.
15015
15016 2005-06-30  Wim Taymans  <wim@fluendo.com>
15017
15018         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15019         (gst_bin_change_state):
15020         Probes are gone.
15021         Lame attempt at making the state change function a bit
15022         more readable.
15023
15024 2005-06-30  Wim Taymans  <wim@fluendo.com>
15025
15026         * docs/design/part-clocks.txt:
15027         * docs/design/part-element-sink.txt:
15028         * docs/design/part-events.txt:
15029         * docs/design/part-preroll.txt:
15030         * docs/design/part-states.txt:
15031         Some more tweeks and additions to the docs.
15032
15033 2005-06-30  Wim Taymans  <wim@fluendo.com>
15034
15035         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15036         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15037         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15038         (gst_pad_check_pull_range), (gst_pad_get_range),
15039         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15040         * gst/gstpad.h:
15041         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15042         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15043         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15044         (gst_pad_remove_buffer_probe):
15045         Removed atomic operations, use existing LOCK.
15046         Move exception handling out of main code path.
15047
15048 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15049
15050         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15051         (silly_return_true_function), (gst_pad_class_init),
15052         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15053         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15054         (gst_pad_send_event):
15055           Fix accumulator, add default value by using _emitv() instead
15056           of _emit() for signal emission.
15057
15058 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15059
15060         * docs/manual/advanced-dataaccess.xml:
15061         * examples/manual/Makefile.am:
15062           Add probe example.
15063         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15064           Make work (??).
15065
15066 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15067
15068         * gst/elements/gstfilesink.c: (gst_filesink_render):
15069           Simplify code so that we don't have to handle short
15070           writes and return GST_FLOW_ERROR if an error occured.
15071
15072 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15073
15074         * docs/gst/gstreamer-docs.sgml:
15075           Remove probes more.
15076
15077 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15078
15079         * docs/gst/gstreamer-sections.txt:
15080         * docs/gst/tmpl/gstpad.sgml:
15081         * docs/gst/tmpl/gstprobe.sgml:
15082         * gst/Makefile.am:
15083         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15084         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15085         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15086         (gst_pad_push_event), (gst_pad_send_event):
15087         * gst/gstpad.h:
15088         * gst/gstutils.c: (gst_pad_add_data_probe),
15089         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15090         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15091         (gst_pad_remove_buffer_probe):
15092         * gst/gstutils.h:
15093           Remove old probes, add new g-signal-based probes and some utility
15094           functions.
15095
15096 2005-06-29  Edward Hervey  <edward@fluendo.com>
15097
15098         * gst/gstelementfactory.c:
15099         * gst/gstutils.h:
15100         * gst/gstutils.c:
15101         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15102         the definition to the header file.
15103
15104 2005-06-29  Andy Wingo  <wingo@pobox.com>
15105
15106         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15107         plugins from the source directory.
15108
15109 2005-06-29  Wim Taymans  <wim@fluendo.com>
15110
15111         * docs/gst/tmpl/gstbuffer.sgml:
15112         * docs/gst/tmpl/gstclock.sgml:
15113         Some fixings for blantently wrong text.
15114
15115 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15116
15117         * check/Makefile.am:
15118         * gst/gst.c: (add_path_func), (init_pre):
15119         * gst/gstregistry.c: (gst_registry_add_path):
15120           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15121           only scan the GST_PLUGIN_PATH locations, and not add
15122           system locations
15123
15124 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15125
15126         * docs/gst/gstreamer-sections.txt:
15127         * docs/gst/tmpl/gstbasesrc.sgml:
15128         * gst/gstelement.c:
15129         * gst/gstelement.h:
15130         * gst/gstevent.c:
15131         * gst/gstutils.c:
15132           doc fixes
15133
15134 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15135
15136         * docs/manual/advanced-autoplugging.xml:
15137           Fix autoplugging example.
15138
15139 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15140
15141         * docs/manual/advanced-autoplugging.xml:
15142         * docs/manual/mime-world.fig:
15143           Try to get autoplugging working, fix type detection. Fix text
15144           in hello-world image.
15145
15146 2005-06-29  Wim Taymans  <wim@fluendo.com>
15147
15148         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15149         (gst_base_sink_change_state):
15150         Small debug line.
15151
15152         * gst/gstclock.h:
15153         map SIGNAL and BROADCAST to the right function.
15154
15155         * gst/gstobject.h:
15156         Remove redundant braces.
15157
15158         * gst/gstpad.c: (gst_pad_set_caps):
15159         Don't call setcaps function when reseting caps to NULL.
15160
15161         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15162         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15163         (gst_system_clock_id_unschedule):
15164         Use BROADCAST as this is what we do.
15165
15166 2005-06-29  Wim Taymans  <wim@fluendo.com>
15167
15168         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15169         We are actually prerolling before commiting the state
15170         change. 
15171
15172 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15173
15174         * docs/manual/advanced-clocks.xml:
15175         * docs/manual/advanced-interfaces.xml:
15176         * docs/manual/advanced-metadata.xml:
15177         * docs/manual/advanced-position.xml:
15178         * docs/manual/advanced-schedulers.xml:
15179         * docs/manual/advanced-threads.xml:
15180         * docs/manual/appendix-porting.xml:
15181         * docs/manual/basics-bins.xml:
15182         * docs/manual/basics-bus.xml:
15183         * docs/manual/basics-elements.xml:
15184         * docs/manual/basics-helloworld.xml:
15185         * docs/manual/basics-pads.xml:
15186         * docs/manual/highlevel-components.xml:
15187         * docs/manual/manual.xml:
15188         * docs/manual/thread.fig:
15189           Update (until threads/scheduling) Application Development Manual;
15190           remove GstThread, add GstBus, add simple porting checklist, add
15191           documentation for tag writing, clocks, make all examples until this
15192           part compile and run.
15193         * examples/manual/Makefile.am:
15194           Update from changes to Application Development Manual; add bus
15195           example, remove thread example.
15196
15197 2005-06-28  Wim Taymans  <wim@fluendo.com>
15198
15199         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15200         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15201         (gst_bus_source_dispatch):
15202         Add debugging messages.
15203         Make internal methods static.
15204         Handle the case where the bus is flushed in the handler.
15205         
15206         * gst/gstelement.c: (gst_element_get_bus):
15207         Fix refcount in _get_bus();
15208
15209         * gst/gstpipeline.c: (gst_pipeline_change_state),
15210         (gst_pipeline_get_clock_func):
15211         Clock refcounting fixes.
15212         Handle the case where preroll timed out more gracefully.
15213         
15214         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15215         Clean up the internal thread in dispose. This is needed
15216         for subclasses that actually get disposed.
15217         
15218         * gst/schedulers/threadscheduler.c:
15219         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15220         (gst_thread_scheduler_dispose):
15221         Free thread pool in dispose.
15222
15223 2005-06-28  Andy Wingo  <wingo@pobox.com>
15224
15225         * tests/network-clock-utils.scm (debug, print-event): New utils.
15226
15227         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15228         (*packet-loss*): Unified loss probability.
15229         (network-time): Report out-of-band events.
15230
15231         * tests/plot-data: Add support for out-of-band events. Hack it
15232         into this script instead of passing it down the pipe; should fix
15233         this later.
15234
15235 2005-06-28  Wim Taymans  <wim@fluendo.com>
15236
15237         * docs/gst/gstreamer.types:
15238         * docs/gst/tmpl/gstbasesrc.sgml:
15239         * docs/gst/tmpl/gstpad.sgml:
15240         Docs fixes.
15241
15242 2005-06-28  Wim Taymans  <wim@fluendo.com>
15243
15244         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15245         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15246         (gst_proxy_pad_do_fixatecaps):
15247         Correctly proxy the check_pull_range function.
15248
15249 2005-06-28  Andy Wingo  <wingo@pobox.com>
15250
15251         * tests/network-clock.scm: Removed need for slib.
15252         
15253 2005-06-28  Wim Taymans  <wim@fluendo.com>
15254
15255         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15256         (gst_basesink_preroll_queue_flush):
15257         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15258         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15259         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15260         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15261         (gst_proxy_pad_set_property):
15262         * gst/gstpad.c:
15263         * gst/gstpad.h:
15264         * gst/gstqueue.c: (gst_queue_init):
15265         The deprecated pad loop function is removed now.
15266
15267 2005-06-28  Andy Wingo  <wingo@pobox.com>
15268
15269         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15270         New parameters, simulate network packet loss.
15271
15272         * tests/network-clock-utils.scm: Initialize the RNG.
15273
15274 2005-06-28  Wim Taymans  <wim@fluendo.com>
15275
15276         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15277         (gst_basesink_event), (gst_basesink_deactivate):
15278         Flushing the preroll queue always needs to unlock the waiters.
15279
15280 2005-06-28  Edward Hervey  <edward@fluendo.com>
15281
15282         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15283         Wheen a seek was successful on a pipeline, set the stream_time to the
15284         seek offset in order to have a synchronized stream_time.
15285
15286 2005-06-28  Wim Taymans  <wim@fluendo.com>
15287
15288         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15289         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15290         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15291         (gst_proxy_pad_do_fixatecaps):
15292         Call wrapper function instead of just calling the function
15293         pointers. This takes care of any locking and whatmore.
15294
15295 2005-06-28  Wim Taymans  <wim@fluendo.com>
15296
15297         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15298         (gst_pad_pull_range):
15299         * gst/gstpad.h:
15300         CONNECTED -> LINKED.
15301
15302 2005-06-28  Andy Wingo  <wingo@pobox.com>
15303
15304         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15305         source-munging commit!!!
15306
15307         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15308         (gst_object_sink): Take gpointer arguments, not GstObject --
15309         avoids casts. Like GLib.
15310
15311         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15312         activate.
15313
15314 2005-06-27  Andy Wingo  <wingo@pobox.com>
15315
15316         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15317         remaining buffer.
15318
15319         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15320         returns a sorted copy of the trace list.
15321         (gst_alloc_trace_print_live): New API, only prints traces with
15322         live objects. Sort the list.
15323         (gst_alloc_trace_print_all): Sort the list.
15324         (gst_alloc_trace_print): Align columns.
15325
15326         * gst/elements/gstttypefindelement.c:
15327         * gst/elements/gsttee.c:
15328         * gst/base/gstbasesrc.c:
15329         * gst/base/gstbasesink.c:
15330         * gst/base/gstbasetransform.c:
15331         * gst/gstqueue.c: Adapt for pad activation changes.
15332
15333         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15334         sched.
15335         (gst_pipeline_dispose): Drop ref on sched.
15336
15337         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15338         (gst_pad_activate_default): Push mode by default.
15339         (pre_activate_switch, post_activate_switch): New stubs, things to
15340         do before and after switching activation modes on pads.
15341         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15342         the pad's activate function to choose which mode to activate.
15343         Shortcut on deactivation and call the right function directly.
15344         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15345         mode.
15346         (gst_pad_activate_push): New API, same for push mode.
15347         (gst_pad_set_activate_function) 
15348         (gst_pad_set_activatepull_function) 
15349         (gst_pad_set_activatepush_function): Setters for new API.
15350
15351         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15352         Trace all miniobjects.
15353         (gst_mini_object_make_writable): Unref the arg if we copy, like
15354         gst_caps_make_writable.
15355
15356         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15357
15358         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15359         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15360         Adapt for new pad API.
15361
15362         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15363
15364         * gst/gstelement.h:
15365         * gst/gstelement.c (gst_element_iterate_src_pads) 
15366         (gst_element_iterate_sink_pads): New API functions.
15367         
15368         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15369         should fold into gstiterator.c in some form.
15370         (gst_element_pads_activate): Simplified via use of fold and
15371         delegation of decisions to gstpad->activate.
15372
15373         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15374         help in debugging.
15375
15376         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15377         class once in init, like gstmessage. Didn't run into this issue
15378         but it seems correct. Don't initialize a trace, gstminiobject does
15379         that.
15380
15381         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15382         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15383         to the bus.
15384         (assert_live_count): New util function, uses alloc traces to check
15385         cleanup.
15386
15387         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15388         To be modified when unlink drops the internal pad.
15389
15390 2005-06-27  Wim Taymans  <wim@fluendo.com>
15391
15392         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15393         (gst_bin_change_state):
15394         Cleanup the get_state() function a little, make sure it
15395         iterates the same set of elements.
15396         Added stub iterate_state_order().
15397
15398 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15399
15400         * docs/gst/gstreamer-docs.sgml:
15401         * docs/gst/gstreamer-sections.txt:
15402         * docs/gst/gstreamer.types:
15403         * docs/gst/tmpl/gstbasesink.sgml:
15404         * docs/gst/tmpl/gstbasesrc.sgml:
15405         * docs/gst/tmpl/gstbasetransform.sgml:
15406         * docs/gst/tmpl/gstelement.sgml:
15407         * docs/gst/tmpl/gstiterator.sgml:
15408         * gst/base/gstbasesrc.c:
15409         * gst/base/gstbasesrc.h:
15410         * gst/base/gstbasetransform.h:
15411         * gst/gstelement.c:
15412         * gst/gstiterator.h:
15413           adding basetransform and iterator docs
15414
15415 2005-06-27  Andy Wingo  <wingo@pobox.com>
15416
15417         * docs/design/part-activation.txt: Notes on how activation should
15418         work -- not quite implemented yet.
15419
15420 2005-06-25  Wim Taymans  <wim@fluendo.com>
15421
15422         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15423         At least get the chain function correct, needs more
15424         fixing.
15425
15426 2005-06-25  Wim Taymans  <wim@fluendo.com>
15427
15428         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15429         (gst_basesink_handle_object), (gst_basesink_event),
15430         (gst_basesink_do_sync), (gst_basesink_handle_event),
15431         (gst_basesink_change_state):
15432         * gst/gsttask.h:
15433         Right, two problems here: ghostpads don't take locks and
15434         glib _rec_mutex_lock_full() with depth==0 still locks.
15435         Catch illegal locking and g_warn them.
15436
15437 2005-06-25  Wim Taymans  <wim@fluendo.com>
15438
15439         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15440         Have to check for completion now...
15441
15442 2005-06-25  Wim Taymans  <wim@fluendo.com>
15443
15444         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15445         (gst_basesink_handle_object), (gst_basesink_event),
15446         (gst_basesink_do_sync), (gst_basesink_handle_event),
15447         (gst_basesink_change_state):
15448         * gst/gstpad.h:
15449         Unlock STREAM_LOCK whatever the recursion was.
15450
15451 2005-06-25  Wim Taymans  <wim@fluendo.com>
15452
15453         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15454         (gst_basesink_preroll_queue_empty),
15455         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15456         (gst_basesink_event), (gst_basesink_do_sync),
15457         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15458         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15459         (gst_basesink_change_state):
15460         Reworked the base sink, handle event and buffer serialisation
15461         correctly and removed possible deadlock.
15462         Handle EOS correctly.
15463
15464 2005-06-25  Wim Taymans  <wim@fluendo.com>
15465
15466         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15467         (gst_pipeline_change_state):
15468         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15469         Allow elements to post EOS in the state change function.
15470         Fix up -launch, make it exit the poll loop when the
15471         pipeline actually changed state.
15472         Fix up warning parsing in -launch.
15473
15474 2005-06-25  Wim Taymans  <wim@fluendo.com>
15475
15476         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15477         (gst_tee_sink_activate):
15478         Core takes STREAM_LOCK for us now.
15479
15480 2005-06-25  Wim Taymans  <wim@fluendo.com>
15481
15482         * gst/gstelement.c: (gst_element_get_state_func),
15483         (gst_element_set_state):
15484         * gst/gstelement.h:
15485         * gst/gstmessage.c: (gst_message_parse_error),
15486         (gst_message_parse_warning):
15487         Keep track of current target state while performing a state
15488         change so that subclasses can do something interesting.
15489         Fix parsing of warning/error messages when GError is NULL.
15490
15491 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15492
15493         * docs/gst/Makefile.am:
15494         * docs/gst/gstreamer-docs.sgml:
15495         * docs/gst/gstreamer-sections.txt:
15496         * docs/gst/gstreamer.types:
15497         * docs/gst/tmpl/gstbasesink.sgml:
15498         * docs/gst/tmpl/gstbasesrc.sgml:
15499         * docs/gst/tmpl/gstbin.sgml:
15500         * docs/gst/tmpl/gstcompat.sgml:
15501         * docs/gst/tmpl/gstfakesink.sgml:
15502         * docs/gst/tmpl/gstfakesrc.sgml:
15503         * docs/gst/tmpl/gstfilesink.sgml:
15504         * docs/gst/tmpl/gstfilesrc.sgml:
15505         * docs/gst/tmpl/gstindex.sgml:
15506         * docs/manual/appendix-quotes.xml:
15507         * gst/base/gstbasesrc.h:
15508         * gst/elements/gstfakesrc.h:
15509         * gst/gstmessage.h:
15510           start pulling in base classes and elements in our docs
15511
15512 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15513
15514         * docs/gst/Makefile.am:
15515         * docs/libs/Makefile.am:
15516           fixed make distcheck with gtk-doc 1.3
15517
15518 2005-06-23  Wim Taymans  <wim@fluendo.com>
15519
15520         * gst/gstelement.c: (gst_element_get_state_func),
15521         (gst_element_set_state), (gst_element_change_state):
15522         When the state did not change, also report NO_PREROLL
15523         when it matters.
15524
15525 2005-06-23  Wim Taymans  <wim@fluendo.com>
15526
15527         * gst/gstpad.c: (gst_pad_event_default):
15528         * gst/gstqueue.c: (gst_queue_loop):
15529         No unsafe task pausing please.
15530
15531 2005-06-23  Wim Taymans  <wim@fluendo.com>
15532
15533         * gst/schedulers/threadscheduler.c:
15534         (gst_thread_scheduler_task_start),
15535         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15536         Ref the task before pushing it on the threadpool. This
15537         makes sure that we have a ref when the threadfunction is
15538         actually called.
15539
15540 2005-06-23  Andy Wingo  <wingo@pobox.com>
15541
15542         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15543         offset is greater than the file's size.
15544
15545         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15546         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15547         * gst/gstobject.c (gst_object_class_init): Make the class lock
15548         recursive. Wim won't let me drop deep_notify. Decodebin works
15549         again, whoopdy doo.
15550
15551         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15552         internal pad, and hacks accordingly. Doesn't do it on the target
15553         pad because we change its caps. Probably catches all cases of
15554         interest tho.
15555         (gst_ghost_pad_set_property): Connect to notify::caps as
15556         appropritate.
15557
15558         * tests/network-clock.scm (plot-simulation): Pipe data to the
15559         elite python skript.
15560
15561         * tests/network-clock-utils.scm (define-parameter): New macro,
15562         defines a parameter that can be set via the command line.
15563         (set-parameter!, parse-parameter-arguments): Command line args
15564         parser.
15565
15566         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15567         stdin.
15568
15569 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15570
15571         * gst/elements/gsttypefindelement.c:
15572         (gst_type_find_element_handle_event):
15573           Don't restart typefinding on a discont.
15574         * gst/gstelement.c: (gst_element_set_state):
15575           Debug spelling fix.
15576         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15577           Allow changing mode of an active pad.
15578           Debug output fixes.
15579         * gst/registries/gstlibxmlregistry.c: (load_feature):
15580           Don't cast a static pad template to a normal pad template.
15581
15582 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15583
15584         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15585         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15586           remove gst_strtoll completely, since it didn't actually do
15587           anything more than what g_ascii_strtoull already does.
15588           check for range errors when deserializing
15589           do a cast for the unsigned cases; but further fixing needs
15590           a decision on what the interpretation of "(int)" and
15591           deserialization should be for values that fall outside the
15592           type's boundaries (ie, refuse, or interpret as casting)
15593
15594 2005-06-23  Wim Taymans  <wim@fluendo.com>
15595
15596         * check/Makefile.am:
15597         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15598         * docs/design/part-live-source.txt:
15599         * docs/design/part-states.txt:
15600         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15601         (gst_basesrc_set_live), (gst_basesrc_is_live),
15602         (gst_basesrc_get_range), (gst_basesrc_activate),
15603         (gst_basesrc_change_state):
15604         * gst/base/gstbasesrc.h:
15605         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15606         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15607         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15608         * gst/gstelement.c: (gst_element_get_state_func),
15609         (gst_element_set_state):
15610         * gst/gstelement.h:
15611         * gst/gsttypes.h:
15612         * tools/gst-launch.c: (event_loop), (main):
15613         Added support for live sources and other elements that
15614         cannot do preroll.
15615         Updated design docs, added live-source design doc.
15616         Implemented live source functionality in basesrc
15617         Fix error condition in _bin_get_state()
15618         Implement live source handling in -launch.
15619         Added check for live sources.
15620         Fixed case in GstBin where elements were changed state
15621         multiple times.
15622
15623
15624 2005-06-23  Andy Wingo  <wingo@pobox.com>
15625
15626         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15627         borken refcounting.
15628
15629         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15630         gst_caps_replace takes care of this for us.
15631
15632         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15633         gst_pad_set_caps on the target, not just its setcaps() function.
15634
15635         * tests/network-clock.scm: 
15636         * tests/network-clock-utils.scm: A network clock simulator.
15637         Something of an algorithmic testbed before doing something in C.
15638
15639 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15640
15641         * check/Makefile.am:
15642         * check/gst/capslist.h:
15643           copy over from 0.8, and add two with bitmasks specified with
15644           (int) 0xFF...
15645         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15646           add test to parse everything from capslist.h
15647         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15648         (main):
15649           add test for structure deserialization
15650         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15651           add tests for deserialization of strings to int types
15652         * gst/gststructure.c: (gst_structure_nth_field_name):
15653         * gst/gststructure.h:
15654           add a way to get the name of a field referenced by index
15655         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15656           instead of checking if the resulting long long lies between
15657           min and max, we check if the long long would fit into
15658           a number of bytes for the final type.
15659           This fixes cases where a string represents 2^32 - 1, which
15660           when cast to int would be the (valid) -1, but is bigger than
15661           G_MAXINT
15662
15663 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15664
15665         * gst/parse/grammar.y:
15666           add a log line for type deserialization
15667
15668 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15669
15670         * check/gst/gstvalue.c: (START_TEST):
15671         * gst/gstvalue.c: (gst_value_deserialize):
15672           return long long, not int, so gint64 deserialization actually
15673           works.  Is there any flag that makes the compiler check this ?
15674           Fixes #308559
15675
15676 2005-06-22  Wim Taymans  <wim@fluendo.com>
15677
15678         * gst/gstbuffer.h:
15679         Added convenience macros for setting buffers in GValue.
15680
15681 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15682
15683         * check/gst/.cvsignore:
15684         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15685           add a test deserializing int64, and comment part out because
15686           it fails, yay !
15687
15688 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15689
15690         * check/Makefile.am:
15691         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15692         * testsuite/Makefile.am:
15693         * testsuite/caps/Makefile.am:
15694         * testsuite/caps/value_serialize.c:
15695         * testsuite/test_gst_init.c:
15696           move a value_serialize test over
15697
15698 2005-06-20  Wim Taymans  <wim@fluendo.com>
15699
15700         * gst/gstpad.c:
15701         Small doc updates.
15702         
15703         * gst/gstvalue.c: (gst_value_compare_buffer),
15704         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15705         (gst_value_compare_flags), (gst_value_serialize_flags),
15706         (gst_value_deserialize_flags), (_gst_value_initialize):
15707         Fix serialisation of buffers, they are not boxed types anymore
15708
15709 2005-06-20  Wim Taymans  <wim@fluendo.com>
15710
15711         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15712         Testcase to show error in buffer-on-caps serialisation.
15713
15714 2005-06-20  Andy Wingo  <wingo@pobox.com>
15715
15716         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15717         will be adding to later.
15718
15719         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15720         if its socks fill with rocks.
15721         (gst_system_clock_obtain): Set the name on object construction.
15722         Avoid double-checked locking.
15723
15724 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15725
15726         * gst/gsturi.c: (gst_element_make_from_uri):
15727           Fix potential endless loop.
15728
15729 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15730
15731         * check/Makefile.am:
15732           add gsttag
15733         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15734         (main):
15735           move over from testsuite dir and clean up
15736         * configure.ac:
15737         * gst/gsttag.c:
15738         * testsuite/Makefile.am:
15739         * testsuite/tags/.cvsignore:
15740         * testsuite/tags/Makefile.am:
15741         * testsuite/tags/merge.c:
15742           remove testsuite/tags
15743
15744 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15745
15746         * docs/gst/gstreamer-sections.txt:
15747         * docs/gst/tmpl/gstenumtypes.sgml:
15748         * win32/gstenumtypes.c:
15749           clean up documentation build a little
15750
15751 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15752
15753         * check/gstcheck.h:
15754           add macros for checking refcounts on objects and caps
15755         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15756           add some more unit tests
15757         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15758         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15759           fix leaked refcounts (I hope :)) so unittest works
15760         * gst/gstpad.h:
15761           whitespace removal
15762
15763 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15764
15765         * configure.ac: back to HEAD
15766
15767 === release 0.9.1 ===
15768
15769 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15770
15771         * NEWS:
15772         * RELEASE:
15773           updated
15774
15775 2005-06-17  Andy Wingo  <wingo@pobox.com>
15776
15777         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15778         assert; it's always possible that the pad gets deactivated in
15779         between the checks in gstpad.c and the implementation. Rely on
15780         finish_preroll() to return a FLUSHING or similar instead of on the
15781         assert.
15782         
15783         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15784         clock and post an EOS message if we come out of finish_preroll in
15785         the playing state.
15786
15787 2005-06-16  David Schleef  <ds@schleef.org>
15788
15789         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15790         (gst_capsfilter_set_property): Allow NULL as possible value
15791         for filter_caps property, indicating GST_CAPS_ANY.
15792
15793 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15794
15795         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15796           fix debug output
15797         * gst/schedulers/Makefile.am:
15798           use libgst prefix
15799         * gstreamer.spec.in:
15800           fix spec for it
15801
15802 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15803
15804         * gstreamer.spec.in:
15805           clean up
15806
15807 2005-06-08  Andy Wingo  <wingo@pobox.com>
15808
15809         * gst/gstutils.c: RPAD fixes all around.
15810         (gst_element_link_pads): Refcounting fixes.
15811
15812         * tools/gst-inspect.c:
15813         * tools/gst-xmlinspect.c:
15814         * parse/grammar.y:
15815         * gst/base/gsttypefindhelper.c:
15816         * gst/base/gstbasesink.c:
15817         * gst/gstqueue.c: RPAD fixes.
15818
15819         * gst/gstghostpad.h:
15820         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15821         pads. The tricky thing is they provide both source and sink
15822         interfaces, since they proxy the internal pad for the external
15823         pad, and vice versa. Implement with lower-level ProxyPad objects,
15824         with the interior proxy pad as a child of the exterior ghost pad.
15825         Should write a doc on this.
15826         
15827         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15828         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15829         gst_object API.
15830         
15831         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15832         pads are real pads. No ghost pads in this file. Not documenting
15833         the myriad s/RPAD/PAD/ and REALIZE fixes.
15834         (gst_pad_class_init): Add properties for "direction" and
15835         "template". Both are construct-only, so they can't change during
15836         the life of the pad. Fixes properly deriving from GstPad.
15837         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15838         derived objects, just set properties when creating the objects via
15839         g_object_new.
15840         (gst_pad_get_parent): Implement as a function, return NULL if the
15841         parent is not an element.
15842         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15843         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15844         
15845         * gst/gstobject.c (gst_object_class_init): Make name a construct
15846         property. Don't set it in the object init.
15847
15848         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15849         with UNKNOWN direction.
15850         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15851         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15852         (gst_element_remove_pad): Remove ghost-pad special cases.
15853         (gst_element_pads_activate): Remove rpad cruft.
15854
15855         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15856         catch the pad's-parent-not-an-element case.
15857
15858         * gst/gst.h: Include gstghostpad.h.
15859
15860         * gst/gst.c (init_post): No more real, ghost pads.
15861
15862         * gst/Makefile.am: Add gstghostpad.[ch].
15863
15864         * check/Makefile.am:
15865         * check/gst/gstbin.c:
15866         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15867         into a bin creates ghost pads, and that the refcounts are right.
15868         Partly moved from gstbin.c.
15869
15870 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15871
15872         * check/gst-libs/.cvsignore:
15873         * check/gst/.cvsignore:
15874         * check/pipelines/.cvsignore:
15875           ignore more
15876         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15877         (START_TEST), (cleanup_suite), (main):
15878           add some tests related to cleanup after running pipelines
15879
15880 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15881
15882         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15883           add a testsuite for GstBuffer
15884
15885 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15886
15887         * gst/gstminiobject.h:
15888           add defines for accessing the refcount
15889
15890 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15891
15892         * Makefile.am: added support for html unit test coverage reports
15893
15894 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15895
15896         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15897           Free existing caps if the capsfilter changes. Add a FIXME about
15898           setting those caps on the pads.
15899
15900         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15901           Before adding a ghost pad to a parent bin, check that there isn't
15902           already one for the element on the bin. Prevents infinite recursion
15903           when using decodebin in parse pipelines. Andy says he'll rewrite the
15904           way this works anyway, so ignore the hack.
15905
15906 2005-06-02  Andy Wingo  <wingo@pobox.com>
15907
15908         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15909         file size, pass it on to the type find helper.
15910
15911         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15912         segment_start and segment_end properly according to the seek
15913         method. Segment_end is still a bit flaky because offset can be
15914         negative for CUR and END cases, but it takes -1 as an "unset"
15915         value.
15916
15917 2005-06-02  Wim Taymans  <wim@fluendo.com>
15918
15919         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15920         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15921         (gst_basesink_activate):
15922         * gst/base/gstbasesink.h:
15923         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15924         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15925         (gst_pad_query), (gst_pad_start_task):
15926         * gst/gstpad.h:
15927         * gst/gstqueue.c: (gst_queue_bufferalloc),
15928         (gst_queue_handle_sink_event), (gst_queue_chain):
15929         Bufferalloc: return GstFlowReturn to more accuratly report
15930         why allocation failed.
15931
15932 2005-06-02  Wim Taymans  <wim@fluendo.com>
15933
15934         * gst/gstpipeline.c: (gst_pipeline_send_event):
15935         Take snapshot of state without blocking.
15936
15937 2005-06-02  Wim Taymans  <wim@fluendo.com>
15938
15939         * docs/design/part-TODO.txt:
15940         * docs/design/part-caps.txt:
15941         * docs/design/part-clocks.txt:
15942         * docs/design/part-negotiation.txt:
15943         * docs/design/part-preroll.txt:
15944         Small doc updates 
15945
15946 2005-05-30  Wim Taymans  <wim@fluendo.com>
15947
15948         * gst/elements/gstidentity.c: (gst_identity_event),
15949         (gst_identity_transform), (gst_identity_get_property):
15950         Protect last_message property as it is accessed from
15951         multiple threads.
15952
15953 2005-05-30  Wim Taymans  <wim@fluendo.com>
15954
15955         * gst/gstelement.c: (gst_element_init),
15956         (gst_element_pads_activate), (gst_element_change_state):
15957         Slicker pad activation code.
15958
15959 2005-05-30  Wim Taymans  <wim@fluendo.com>
15960
15961         * gst/Makefile.am:
15962         * gst/gstelement.h:
15963         * gst/gstelementfactory.h:
15964         * gst/gsttypes.h:
15965         Move elementfactory methods to separate .h file.
15966
15967 2005-05-30  Wim Taymans  <wim@fluendo.com>
15968
15969         * docs/design/part-overview.txt:
15970         * gst/gstsystemclock.h:
15971         Small typo fixes, doc updates.
15972
15973 2005-05-30  Wim Taymans  <wim@fluendo.com>
15974
15975         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15976         (init_popt_callback):
15977         Remove cpu-opt flag.
15978
15979 2005-05-30  Wim Taymans  <wim@fluendo.com>
15980
15981         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15982         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15983         * gst/gstbuffer.h:
15984         Avoid typechecking in places where not needed.
15985         Added accessor for malloc_data.
15986
15987 2005-05-30  Wim Taymans  <wim@fluendo.com>
15988
15989         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15990         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15991         (gst_pad_configure_sink), (gst_pad_configure_src),
15992         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15993         (gst_pad_start_task):
15994         Propagate errors from _set_caps() in configure_src/sink
15995         functions instead of returning TRUE.
15996         FLUSH events can travel up and downstream
15997
15998
15999 2005-05-30  Wim Taymans  <wim@fluendo.com>
16000
16001         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16002         (gst_basesink_activate):
16003         Handle EOS in preroll.
16004
16005 2005-05-30  Wim Taymans  <wim@fluendo.com>
16006
16007         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16008         (gst_queue_loop), (gst_queue_handle_src_event):
16009         Remove old pieces of code
16010         Flushing the queue in an upstream event is a very bad idea.
16011
16012 2005-05-26  Andy Wingo  <wingo@pobox.com>
16013
16014         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16015         gst_value_set_mini_object so as to add a ref on the object (which
16016         will be removed when the value is unset).
16017
16018         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16019         arg type in ::handoff.
16020
16021         * gst/gstelement.c (gst_element_change_state): Also deactivate
16022         pads in READY->NULL, just in case the element didn't make it to
16023         PAUSED. Wingo tested, Wim approved.
16024
16025 2005-05-26  Wim Taymans  <wim@fluendo.com>
16026
16027         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16028         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16029         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16030         A flushing pad cannot be used to alloc_buffer from.
16031
16032 2005-05-26  Wim Taymans  <wim@fluendo.com>
16033
16034         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16035         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16036         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16037         (gst_bus_create_watch), (gst_bus_add_watch_full):
16038         * gst/gstbus.h:
16039         Implement a real GSource and use g_main_context_wakeup() to
16040         signal new messages instead of the socketpair.
16041
16042 2005-05-25  Wim Taymans  <wim@fluendo.com>
16043
16044         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16045         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16046         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16047         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16048         (gst_pad_send_event), (gst_pad_start_task):
16049         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16050         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16051         (gst_queue_sink_activate), (gst_queue_src_activate),
16052         (gst_queue_change_state):
16053         * gst/gstqueue.h:
16054         Fix state changes for non sinks. We now change sinks, then elements
16055         with unconnected srcpads, then the rest.
16056         More efficient queue unlocking in flush and state changes.
16057         Set the pad activate mode even if it does not have an activate
16058         function.
16059
16060 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16061
16062         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16063           Don't go in pull mode for non-seekable sources.
16064         * gst/elements/gsttypefindelement.h:
16065         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16066         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16067         (free_entry), (stop_typefinding),
16068         (gst_type_find_element_handle_event), (find_peek),
16069         (gst_type_find_element_chain), (do_pull_typefind),
16070         (gst_type_find_element_change_state):
16071           Allow typefinding (w/o seeking) in push-mode, simplified version
16072           of what was in 0.8.
16073         * gst/gstutils.c: (gst_buffer_join):
16074         * gst/gstutils.h:
16075           gst_buffer_join() from 0.8.
16076
16077 2005-05-25  Wim Taymans  <wim@fluendo.com>
16078
16079         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16080         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16081         (gst_pad_send_event), (gst_pad_start_task):
16082         Disable attempt at mode switching until it is figured out.
16083
16084 2005-05-25  Wim Taymans  <wim@fluendo.com>
16085
16086         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16087         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16088         (gst_basesink_finish_preroll), (gst_basesink_chain),
16089         (gst_basesink_loop), (gst_basesink_activate),
16090         (gst_basesink_change_state):
16091         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16092         (gst_basesrc_get_range), (gst_basesrc_loop),
16093         (gst_basesrc_activate):
16094         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16095         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16096         (gst_real_pad_init), (gst_real_pad_set_property),
16097         (gst_real_pad_get_property), (gst_pad_set_active),
16098         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16099         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16100         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16101         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16102         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16103         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16104         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16105         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16106         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16107         (gst_pad_stop_task):
16108         * gst/gstpad.h:
16109         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16110         (gst_queue_loop), (gst_queue_src_activate):
16111         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16112         (gst_task_get_state):
16113         * gst/gsttask.h:
16114         * gst/schedulers/threadscheduler.c:
16115         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16116         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16117         in task function.
16118         Remove ACTIVE pad flag, use FLUSHING everywhere
16119         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16120         functions.
16121         Add locks around IS_FLUSHING when reading.
16122         Take STREAM lock in chain(), get_range() functions so plugins
16123         don't need to take it anymore.
16124         
16125
16126
16127 2005-05-25  Wim Taymans  <wim@fluendo.com>
16128
16129         * tools/gst-launch.c: (event_loop):
16130         Unref message after using its contents instead of
16131         before.
16132
16133 2005-05-24  Wim Taymans  <wim@fluendo.com>
16134
16135         * docs/design/draft-ghostpads.txt:
16136         * docs/design/draft-push-pull.txt:
16137         * docs/design/draft-query.txt:
16138         * docs/design/part-overview.txt:
16139         Docs updates, added general overview doc.
16140
16141 2005-05-21  David Schleef  <ds@schleef.org>
16142
16143         * docs/gst/tmpl/old/GstBin.sgml:
16144         * docs/gst/tmpl/old/GstBuffer.sgml:
16145         * docs/gst/tmpl/old/GstCaps.sgml:
16146         * docs/gst/tmpl/old/GstClock.sgml:
16147         * docs/gst/tmpl/old/GstCompat.sgml:
16148         * docs/gst/tmpl/old/GstData.sgml:
16149         * docs/gst/tmpl/old/GstElement.sgml:
16150         * docs/gst/tmpl/old/GstEvent.sgml:
16151         * docs/gst/tmpl/old/GstIndex.sgml:
16152         * docs/gst/tmpl/old/GstStructure.sgml:
16153         * docs/gst/tmpl/old/GstTag.sgml:
16154         * docs/gst/tmpl/old/cothreads.sgml:
16155         * docs/gst/tmpl/old/cothreads_compat.sgml:
16156         * docs/gst/tmpl/old/gettext.sgml:
16157         * docs/gst/tmpl/old/gobject2gtk.sgml:
16158         * docs/gst/tmpl/old/grammar.tab.sgml:
16159         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16160         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16161         * docs/gst/tmpl/old/gst_private.sgml:
16162         * docs/gst/tmpl/old/gstaggregator.sgml:
16163         * docs/gst/tmpl/old/gstarch.sgml:
16164         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16165         * docs/gst/tmpl/old/gstbufferstore.sgml:
16166         * docs/gst/tmpl/old/gstdata_private.sgml:
16167         * docs/gst/tmpl/old/gstdisksink.sgml:
16168         * docs/gst/tmpl/old/gstdisksrc.sgml:
16169         * docs/gst/tmpl/old/gstelementfactory.sgml:
16170         * docs/gst/tmpl/old/gstextratypes.sgml:
16171         * docs/gst/tmpl/old/gstfakesink.sgml:
16172         * docs/gst/tmpl/old/gstfakesrc.sgml:
16173         * docs/gst/tmpl/old/gstfdsink.sgml:
16174         * docs/gst/tmpl/old/gstfdsrc.sgml:
16175         * docs/gst/tmpl/old/gstfilesink.sgml:
16176         * docs/gst/tmpl/old/gstfilesrc.sgml:
16177         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16178         * docs/gst/tmpl/old/gstidentity.sgml:
16179         * docs/gst/tmpl/old/gstindexfactory.sgml:
16180         * docs/gst/tmpl/old/gstmarshal.sgml:
16181         * docs/gst/tmpl/old/gstmd5sink.sgml:
16182         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16183         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16184         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16185         * docs/gst/tmpl/old/gstpipefilter.sgml:
16186         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16187         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16188         * docs/gst/tmpl/old/gstshaper.sgml:
16189         * docs/gst/tmpl/old/gstspider.sgml:
16190         * docs/gst/tmpl/old/gstspideridentity.sgml:
16191         * docs/gst/tmpl/old/gststatistics.sgml:
16192         * docs/gst/tmpl/old/gsttee.sgml:
16193         * docs/gst/tmpl/old/gsttimecache.sgml:
16194         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16195         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16196         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16197         * docs/gst/tmpl/old/types.sgml:
16198           I didn't intend to add these or check them in.
16199
16200 2005-05-19  David Schleef  <ds@schleef.org>
16201
16202         * configure.ac: Use -no-common everywhere.  In a sane world, it
16203           would be the default in libtool, because without it, you can't
16204           build DLLs on Windows.
16205         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16206         * docs/gst/gstreamer-sections.txt:
16207         * docs/gst/tmpl/gstcpu.sgml:
16208         * docs/gst/tmpl/gstdata.sgml:
16209         * docs/gst/tmpl/gstthread.sgml:
16210
16211 2005-05-19  David Schleef  <ds@schleef.org>
16212
16213         * gst/gstminiobject.c: (gst_value_set_mini_object),
16214         (gst_value_take_mini_object), (gst_value_get_mini_object):
16215         * gst/gstminiobject.h: Add GValue set/get functions.
16216
16217 2005-05-19  Wim Taymans  <wim@fluendo.com>
16218
16219         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16220         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16221         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16222         * gst/gstbuffer.h:
16223         * gst/gstbus.c: (gst_bus_post):
16224         * gst/gstelement.c: (gst_element_get_random_pad):
16225         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16226         Make subbufer unref the parent in finalize.
16227         some more debugging info.
16228
16229
16230 2005-05-19  Wim Taymans  <wim@fluendo.com>
16231
16232         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16233         (gst_basesink_init), (gst_basesink_finalize),
16234         (gst_basesink_activate), (gst_basesink_change_state):
16235         Don't free preroll queue too early.
16236
16237 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16238
16239         * gst/Makefile.am:
16240         * gst/ROADMAP:
16241           Hi, I'm outdated. Please shoot me.
16242
16243 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16244
16245         * gst/gstpipeline.c: (gst_pipeline_send_event):
16246           Do not access variables after they have been deleted.
16247
16248 2005-05-19  Wim Taymans  <wim@fluendo.com>
16249
16250         * tools/gst-inspect.c: (print_plugin_features):
16251         A plugin feature does unfortunatly not use the
16252         object name yet...
16253
16254 2005-05-18  Wim Taymans  <wim@fluendo.com>
16255
16256         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16257         Port _span() functions to new subbuffers.
16258
16259 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16260
16261         * gst/gstbin.c: (gst_bin_add_func):
16262           Fix clock settery in bins when adding kids after the clock has
16263           been selected.
16264
16265 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16266
16267         * gst/elements/gstidentity.c: (gst_identity_class_init):
16268           Workaround until signals support GstMiniObject.
16269
16270 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16271
16272         * gst/gstbuffer.c:
16273         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16274
16275 2005-05-18  Wim Taymans  <wim@fluendo.com>
16276
16277         * gst/base/Makefile.am:
16278         * gst/base/gstadapter.c: (gst_adapter_base_init),
16279         (gst_adapter_class_init), (gst_adapter_init),
16280         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16281         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16282         (gst_adapter_flush), (gst_adapter_available),
16283         (gst_adapter_available_fast):
16284         * gst/base/gstadapter.h:
16285         Ported and added adapter to the base classes.
16286
16287 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16288
16289         * gst/gst.c:
16290         * gst/gstmessage.c:
16291           Make sure the class is reffed/unreffed once before threads can be
16292           used.  Fixes #304551.
16293
16294 2005-05-17  Wim Taymans  <wim@fluendo.com>
16295
16296         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16297         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16298         * gst/gstminiobject.c: (gst_mini_object_get_type),
16299         (gst_mini_object_free):
16300         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16301         (gst_pad_push), (gst_pad_push_event):
16302         * gst/gstqueue.c: (gst_queue_change_state):
16303         Don't queue buffers in basesink when we are flushing.
16304         Unref buffer when flushing in basesink.
16305         Flush queue when going to READY
16306         Unref buffer when _push() returns an error.
16307         Don't free MiniObject instance when refcount is incremented
16308         in _finalize() so that we can recover objects.
16309
16310 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16311
16312         * docs/manual/advanced-schedulers.xml:
16313         * docs/manual/appendix-checklist.xml:
16314         * docs/pwg/advanced-clock.xml:
16315         * docs/pwg/advanced-interfaces.xml:
16316         * docs/pwg/advanced-request.xml:
16317         * docs/pwg/advanced-types.xml:
16318         * docs/pwg/intro-preface.xml:
16319         * examples/plugins/example.c: (gst_example_get_type),
16320         (gst_example_class_init), (gst_example_chain),
16321         (gst_example_set_property), (gst_example_get_property),
16322         (gst_example_change_state), (plugin_init):
16323         * examples/plugins/example.h:
16324           small doc fixes
16325
16326 2005-05-17  Wim Taymans  <wim@fluendo.com>
16327
16328         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16329         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16330         * gst/gstqueue.c: (gst_queue_change_state):
16331         Clear queue when going to READY.
16332         Remove IN_SETCAPS flag too.
16333
16334 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16335
16336         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16337           Remove implicit cast from gboolean to GstElementStateReturn;
16338           make sure we still return failure in paused => ready case if
16339           the parent class fails to change state and our own stop 
16340           vfunc succeeds.
16341
16342 2005-05-17  Wim Taymans  <wim@fluendo.com>
16343
16344         * tools/gst-launch.c: (event_loop):
16345         Message was unreffed too soon.
16346
16347 2005-05-16  Andy Wingo  <wingo@pobox.com>
16348
16349         * gst/gstbin.c (sink_iterator_filter): Err... um...
16350
16351         * check/gst/gstbin.c (test_ghost_pads): New test for the
16352         ghosting-if-elements-not-in-same-bin behavior.
16353
16354 2005-05-16  David Schleef  <ds@schleef.org>
16355
16356         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16357         accessing refcount directly.
16358
16359 2005-05-15  David Schleef  <ds@schleef.org>
16360
16361         * check/Makefile.am: remove GstData checks
16362         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16363         * gst/Makefile.am: add miniobject, remove data
16364         * gst/gst.h: add miniobject, remove data
16365         * gst/gstdata.c: remove
16366         * gst/gstdata.h: remove
16367         * gst/gstdata_private.h: remove
16368         * gst/gsttypes.h: remove GstEvent and GstMessage
16369         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16370         * gst/gstmarshal.list: change BOXED -> OBJECT
16371
16372         Implement GstMiniObject.
16373         * gst/gstminiobject.c:
16374         * gst/gstminiobject.h:
16375
16376         Modify to be subclasses of GstMiniObject.
16377         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16378         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16379         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16380         (gst_subbuffer_get_type), (gst_subbuffer_init),
16381         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16382         (gst_buffer_span):
16383         * gst/gstbuffer.h:
16384         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16385         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16386         (_gst_event_copy), (gst_event_new):
16387         * gst/gstevent.h:
16388         * gst/gstmessage.c: (_gst_message_initialize),
16389         (gst_message_get_type), (gst_message_class_init),
16390         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16391         (gst_message_new), (gst_message_new_error),
16392         (gst_message_new_warning), (gst_message_new_tag),
16393         (gst_message_new_state_changed), (gst_message_new_application):
16394         * gst/gstmessage.h:
16395         * gst/gstprobe.c: (gst_probe_perform),
16396         (gst_probe_dispatcher_dispatch):
16397         * gst/gstprobe.h:
16398         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16399         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16400         (_gst_query_copy), (gst_query_new):
16401
16402         Update elements for GstData -> GstMiniObject changes
16403         * gst/gstquery.h:
16404         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16405         (gst_queue_chain), (gst_queue_loop):
16406         * gst/elements/gstbufferstore.c:
16407         (gst_buffer_store_add_buffer_func),
16408         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16409         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16410         (gst_fakesink_render):
16411         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16412         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16413         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16414         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16415         (gst_filesrc_create_read):
16416         * gst/elements/gstidentity.c: (gst_identity_class_init):
16417         * gst/elements/gsttypefindelement.c:
16418         (gst_type_find_element_src_event), (free_entry_buffers),
16419         (gst_type_find_element_handle_event):
16420         * libs/gst/dataprotocol/dataprotocol.c:
16421         (gst_dp_header_from_buffer):
16422         * libs/gst/dataprotocol/dataprotocol.h:
16423         * libs/gst/dataprotocol/dp-private.h:
16424
16425 2005-05-15  David Schleef  <ds@schleef.org>
16426
16427         * gst/elements/gstelements.c: Don't include headers that were
16428         just removed.
16429
16430 2005-05-15  David Schleef  <ds@schleef.org>
16431
16432         * gst/elements/Makefile.am: Remove some elements that don't
16433         need to be in the core (or even exist at all).
16434         * gst/elements/gstaggregator.c:
16435         * gst/elements/gstaggregator.h:
16436         * gst/elements/gstmd5sink.c:
16437         * gst/elements/gstmd5sink.h:
16438         * gst/elements/gstmultifilesrc.c:
16439         * gst/elements/gstmultifilesrc.h:
16440         * gst/elements/gstpipefilter.c:
16441         * gst/elements/gstpipefilter.h:
16442         * gst/elements/gstshaper.c:
16443         * gst/elements/gstshaper.h:
16444         * gst/elements/gststatistics.c:
16445         * gst/elements/gststatistics.h:
16446         * po/POTFILES.in: Remove above files.
16447
16448 2005-05-14  Andy Wingo  <wingo@pobox.com>
16449
16450         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16451         so as to get the refs right.
16452         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16453         unreffing objects that don't pass the filter.
16454
16455         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16456         gst_element_set_bus.
16457         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16458         normal cases, this will destroy the bus.
16459
16460         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16461         object.
16462
16463         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16464         has no sinks.
16465
16466 2005-05-13  Andy Wingo  <wingo@pobox.com>
16467
16468         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16469         gst_pad_link, call pad_link_maybe_ghosting,
16470         (pad_link_maybe_ghosting): Links pads, making sure that the
16471         elements being linked are in the same bin.
16472         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16473         Helpers for pad_link_maybe_ghosting.
16474
16475 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16476
16477         * configure.ac:
16478           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16479
16480 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16481
16482         * docs/design/part-element-source.txt:
16483           Mention GstPushSrc
16484
16485 2005-05-12  Wim Taymans  <wim@fluendo.com>
16486
16487         * gst/base/gstbasesink.c: (gst_basesink_init),
16488         (gst_basesink_activate):
16489         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16490         (gst_basesrc_is_seekable):
16491         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16492         (bin_element_is_sink), (gst_bin_change_state):
16493         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16494         * gst/gstelement.h:
16495         Identify sinks by their flag to avoid overly complicated
16496         checks (fow now).
16497         Do state changes even for elements not reachable from the
16498         sinks.
16499         BaseSink is a sink now :)
16500         Some more debugging info in the basesrc.
16501
16502
16503 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16504
16505         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16506           Implement _query on a bin, similar to _send_event.
16507
16508 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16509
16510         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16511           Discont event offset format should be GST_FORMAT_BYTES,
16512           not GST_FORMAT_TIME.
16513
16514 2005-05-12  Wim Taymans  <wim@fluendo.com>
16515
16516         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16517         Same fix as Ronald's but without the signal. 
16518
16519 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16520
16521         * gst/gstutils.c: (gst_element_query_position):
16522           No, an element is not a pad.
16523
16524 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16525
16526         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16527         (gst_bin_get_state):
16528           If a child is removed from a bin while we remove the child from
16529           the bin and while we're retrieving its state, signal this to the
16530           get_state function so we abort the wait (instead of waiting for
16531           a timeout) and can immediately re-iterate over all other elements.
16532
16533 2005-05-12  Wim Taymans  <wim@fluendo.com>
16534
16535         * gst/base/Makefile.am:
16536         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16537         (gst_basesrc_start):
16538         * gst/base/gstbasesrc.h:
16539         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16540         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16541         (gst_pushsrc_init), (gst_pushsrc_create):
16542         * gst/base/gstpushsrc.h:
16543         Added is_seekable to BaseSrc
16544         Added simple PushSrc.
16545
16546 2005-05-11  Wim Taymans  <wim@fluendo.com>
16547
16548         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16549         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16550         (gst_element_link_pads), (gst_element_query_position),
16551         (gst_element_query_convert), (intersect_caps_func),
16552         (gst_pad_query_position), (gst_pad_query_convert):
16553         Fix refcounting in utils function.
16554         No point in trying to activate a pad when it's added, it could
16555         be added from the state change function and then we deadlock, the
16556         element has to decide what to do.
16557
16558 2005-05-10  Andy Wingo  <wingo@pobox.com>
16559
16560         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16561         *all* the arguments.
16562
16563         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16564         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16565         lock (according to the docs -- if this is wrong change the docs).
16566
16567         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16568         flush messages in the NULL state.
16569
16570         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16571         message immediately and return.
16572         (gst_bus_set_flushing): New function. If a bus is flushing, it
16573         flushes out any queued messages and immediately unrefs new
16574         messages. This is so when an element goes to NULL, all of the
16575         unhandled messages coming from it can be freed, and their
16576         references to the element dropped. In other words: message source
16577         ref considered harmful :P
16578
16579         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16580         we're finished with it.
16581
16582         * gst/gstmessage.c (gst_message_new_state_changed): 
16583
16584 2005-05-10  Wim Taymans  <wim@fluendo.com>
16585
16586         * gst/gstvalue.c: (gst_value_compare_flags),
16587         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16588         (_gst_value_initialize):
16589         Added flags serialize/deserialize/compare code.
16590
16591 2005-05-09  Andy Wingo  <wingo@pobox.com>
16592
16593         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16594         Intersect the peer's caps with our caps.
16595
16596 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16597
16598         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16599         * gst/elements/gsttypefindelement.c: (find_peek):
16600           Handle negative offsets better. Fixes decodebin.
16601
16602 2005-05-09  Wim Taymans  <wim@fluendo.com>
16603
16604         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16605         (gst_base_transform_event):
16606         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16607         Implement accept_caps.
16608         Fix silly lock/unlock mismatch in base class.
16609
16610 2005-05-09  Wim Taymans  <wim@fluendo.com>
16611
16612         * docs/design/draft-push-pull.txt:
16613         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16614         * gst/elements/gstfilesink.c: (gst_filesink_init),
16615         (gst_filesink_query):
16616         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16617         (gst_type_find_handle_src_query), (find_element_get_length):
16618         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16619         * gst/gstelement.h:
16620         * gst/gstmessage.c:
16621         * gst/gstmessage.h:
16622         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16623         (gst_real_pad_get_caps_unlocked),
16624         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16625         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16626         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16627         (gst_real_pad_dispose), (gst_real_pad_finalize),
16628         (gst_pad_load_and_link), (gst_pad_save_thyself),
16629         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16630         (gst_pad_check_pull_range), (gst_pad_pull_range),
16631         (gst_pad_template_get_type), (gst_pad_template_class_init),
16632         (gst_pad_template_init), (gst_pad_template_dispose),
16633         (name_is_valid), (gst_static_pad_template_get),
16634         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16635         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16636         (gst_pad_get_element_private), (gst_pad_start_task),
16637         (gst_pad_pause_task), (gst_pad_stop_task),
16638         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16639         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16640         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16641         (gst_ghost_pad_new):
16642         * gst/gstpad.h:
16643         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16644         (gst_query_new_position), (gst_query_set_position),
16645         (gst_query_parse_position), (gst_query_new_convert),
16646         (gst_query_set_convert), (gst_query_parse_convert):
16647         * gst/gstquery.h:
16648         * gst/gstqueryutils.c:
16649         * gst/gstqueryutils.h:
16650         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16651         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16652         (gst_queue_handle_src_query):
16653         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16654         (gst_element_query_position), (gst_element_query_convert),
16655         (intersect_caps_func), (gst_pad_query_position),
16656         (gst_pad_query_convert):
16657         * gst/gstutils.h:
16658         * tools/gst-inspect.c: (print_pad_info):
16659         * tools/gst-xmlinspect.c: (print_element_info):
16660         Remove old query functions. Ported old code.
16661         Added position/convert helper functions to gstutils.
16662         Reordered gstpad.c code, grouping relevant things.
16663         Remove gst_message_new(), always need to speficy a specific
16664         message.
16665
16666
16667 2005-05-09  Andy Wingo  <wingo@pobox.com>
16668
16669         * gst/gstiterator.h: Add some includes.
16670
16671         * gst/gstqueryutils.h: Include more headers.
16672
16673         * gst/gstpad.h:
16674         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16675         some uses of gst_pad_query.
16676
16677         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16678         NULL out parameters.
16679         (gst_query_new_position): New proc, allocates a new position
16680         query.
16681
16682         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16683         gstqueryutils.c to the build.
16684
16685         * gst/gststructure.c (gst_structure_set_valist): Implement with
16686         the generic G_VALUE_COLLECT.
16687         
16688 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16689
16690         * gst/Makefile.am: (gst_headers):
16691         Added gstqueryutils.h to the list of headers to install, that was
16692         a 'nachty' move wingo :)
16693
16694 2005-05-06  Andy Wingo  <wingo@pobox.com>
16695
16696         * gst/gstquery.h
16697         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16698         GstData, init a memchunk.
16699         (standard_definitions): Add a few query types, deprecate a few.
16700         (gst_query_get_type): New proc.
16701         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16702         implementation.
16703         (gst_query_new_application, gst_query_get_structure): New public
16704         procs.
16705
16706         * docs/design/draft-query.txt: Removed LINKS from the query types,
16707         because all the rest can be dispatched to other pads -- seemed
16708         ugly to have a query that couldn't be dispatched. internal_links
16709         is fine as a pad method.
16710
16711         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16712         in gstpad.c, but maintain binary compatibility for the moment.
16713         Will fix before 0.9 is out.
16714
16715         * gst/gstqueryutils.c: 
16716         * gst/gstqueryutils.h: New files, implement 3 methods for each
16717         query type: parse_query, parse_response, and set. Probably need an
16718         allocator as well.
16719
16720         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16721
16722         * gst/elements/gstfilesink.c (gst_filesink_query2):
16723         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16724         query_types, and formats methods.
16725
16726         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16727         (gst_pad_set_query2_function): New functions.
16728         (gst_real_pad_init): Set query2_default as the default query2
16729         function. Basically just dispatches to internally linked pads.
16730
16731         Needs review!
16732         
16733         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16734         without using the atomic operations. Only one thread can possibly
16735         be accessing the data at this point. Changed so as to avoid
16736         gst_atomic operations.
16737
16738 2005-05-06  Wim Taymans  <wim@fluendo.com>
16739
16740         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16741         Also set caps if we use the fallback buffer alloc.
16742
16743 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16744
16745         * docs/gst/Makefile.am:
16746         * docs/gst/gstreamer-docs.sgml:
16747         * docs/gst/gstreamer-sections.txt:
16748         * docs/gst/tmpl/gstatomic.sgml:
16749         * docs/gst/tmpl/gstmemchunk.sgml:
16750         * testsuite/elements/struct_i386.h:
16751         * win32/GStreamer.vcproj:
16752         * win32/Makefile:
16753           Purge GstAtomic stuff from docs and win32 makefiles as well
16754
16755 2005-05-06  Wim Taymans  <wim@fluendo.com>
16756
16757         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16758         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16759         * gst/gstpad.c: (gst_pad_peer_get_caps):
16760         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16761         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16762         (gst_queue_src_activate), (gst_queue_change_state):
16763         * gst/gstqueue.h:
16764         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16765         (intersect_caps_func):
16766         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16767         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16768         Some fixes for the peer_get_caps() change.
16769
16770 2005-05-06  Wim Taymans  <wim@fluendo.com>
16771
16772         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16773         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16774         (gst_basesink_activate):
16775         Actually do something with error codes returned from the push
16776         functions.
16777
16778 2005-05-06  Wim Taymans  <wim@fluendo.com>
16779
16780         * docs/design/part-element-sink.txt:
16781         * docs/design/part-element-source.txt:
16782         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16783         (gst_basesink_event), (gst_basesink_activate):
16784         * gst/base/gstbasesink.h:
16785         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16786         (gst_basesrc_activate):
16787         * gst/base/gstbasesrc.h:
16788         * gst/gstelement.c: (gst_element_pads_activate):
16789         Some more documentation.
16790         Fixed scheduling decision in _pads_activate().
16791
16792 2005-05-05  Andy Wingo  <wingo@pobox.com>
16793
16794         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16795         the test suite.
16796
16797 2005-05-05  Wim Taymans  <wim@fluendo.com>
16798
16799         * gst/base/Makefile.am:
16800         * gst/base/gstbasesink.h:
16801         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16802         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16803         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16804         (gst_collectpads_class_init), (gst_collectpads_init),
16805         (gst_collectpads_finalize), (gst_collectpads_new),
16806         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16807         (find_pad), (gst_collectpads_remove_pad),
16808         (gst_collectpads_is_active), (gst_collectpads_collect),
16809         (gst_collectpads_collect_range), (gst_collectpads_start),
16810         (gst_collectpads_stop), (gst_collectpads_peek),
16811         (gst_collectpads_pop), (gst_collectpads_available),
16812         (gst_collectpads_read), (gst_collectpads_flush),
16813         (gst_collectpads_chain):
16814         * gst/base/gstcollectpads.h:
16815         * gst/elements/Makefile.am:
16816         * gst/elements/gstelements.c:
16817         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16818         (gst_fakesink_get_times), (gst_fakesink_event),
16819         (gst_fakesink_preroll), (gst_fakesink_render):
16820         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16821         (gst_filesink_init), (gst_filesink_set_location),
16822         (gst_filesink_open_file), (gst_filesink_close_file),
16823         (gst_filesink_pad_query), (gst_filesink_event),
16824         (gst_filesink_render), (gst_filesink_change_state):
16825         * gst/elements/gstfilesink.h:
16826         Added object to help in making collect pad based elements.
16827         Ported filesink.
16828         Make event function in sink baseclass return gboolean.
16829
16830 2005-05-05  Wim Taymans  <wim@fluendo.com>
16831
16832         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16833         (gst_bin_get_by_name):
16834         * gst/gstbuffer.h:
16835         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16836         (gst_clock_finalize):
16837         * gst/gstdata.c: (gst_data_replace):
16838         * gst/gstdata.h:
16839         * gst/gstelement.c: (gst_element_request_pad),
16840         (gst_element_pads_activate):
16841         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16842         (gst_object_unref):
16843         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16844         (gst_pad_set_checkgetrange_function),
16845         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16846         (gst_pad_check_pull_range), (gst_pad_pull_range),
16847         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16848         (gst_pad_pause_task), (gst_pad_stop_task):
16849         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16850         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16851         Fix name lookup in GstBin.
16852         Added _data_replace() function and _buffer_replace()
16853         Use finalize method to clean up clock.
16854         Fix refcounting on request pads.
16855         Fix pad schedule mode error.
16856         Some more object refcounting debug info,
16857
16858
16859 2005-05-04  Andy Wingo <wingo@pobox.com>
16860
16861         * check/Makefile.am:
16862         * docs/gst/tmpl/gstatomic.sgml:
16863         * docs/gst/tmpl/gstplugin.sgml:
16864         * gst/base/gstbasesink.c: (gst_basesink_activate):
16865         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16866         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16867         (gst_basesrc_query), (gst_basesrc_set_property),
16868         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16869         (gst_basesrc_activate):
16870         * gst/base/gstbasesrc.h:
16871         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16872         (gst_base_transform_src_activate):
16873         * gst/elements/gstelements.c:
16874         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16875         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16876         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16877         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16878         (gst_type_find_element_checkgetrange),
16879         (gst_type_find_element_activate):
16880         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16881         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16882         (gst_caps_load_thyself):
16883         * gst/gstelement.c: (gst_element_pads_activate),
16884         (gst_element_save_thyself), (gst_element_restore_thyself):
16885         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16886         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16887         * gst/gstpad.h:
16888         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16889         (gst_xml_parse_file), (gst_xml_parse_memory),
16890         (gst_xml_get_element), (gst_xml_make_element):
16891         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16892         (_file_index_id_save_xml), (gst_file_index_commit):
16893         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16894         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16895         (load_paths):
16896         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16897         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16898         * tools/gst-complete.c: (main):
16899         * tools/gst-compprep.c: (main):
16900         * tools/gst-inspect.c: (print_element_properties_info):
16901         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16902         * tools/gst-xmlinspect.c: (print_element_properties):
16903         GCC 4 fixen.
16904         
16905 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16906
16907         * gst/gstplugin.c: (gst_plugin_check_module),
16908         (gst_plugin_check_file), (gst_plugin_load_file):
16909             apply patch from #172526 to make register work on MacOSX
16910
16911 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16912
16913         * docs/gst/tmpl/gstconfig.sgml:
16914         * gst/gstconfig.h.in:
16915           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16916         * testsuite/debug/printf_extension.c: (main):
16917           Do not use GST_PTR_FORMAT on pointers to types with
16918           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16919         * testsuite/elements/property.h:
16920           use correct printf format
16921
16922 2005-05-02  Wim Taymans  <wim@fluendo.com>
16923
16924         * docs/design/draft-push-pull.txt:
16925         * docs/design/draft-query.txt:
16926         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16927         (gst_basesrc_start):
16928         Added draft for new query API.
16929         Added draft for better selecting scheduling methods.
16930         Make basesrc ignore length if the subclass does not support
16931         it.
16932
16933 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16934
16935         * gst/Makefile.am:
16936           possible fixes for automake-1.5 - _LIBADD is reserved
16937
16938 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16939
16940         * docs/faq/Makefile.am:
16941         * docs/manual/Makefile.am:
16942         * docs/manuals.mak:
16943         * docs/pwg/Makefile.am:
16944         * gst/Makefile.am:
16945           possible fixes for automake-1.5
16946
16947 2005-04-28  Wim Taymans  <wim@fluendo.com>
16948
16949         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16950         (gst_basesink_pad_getcaps), (gst_basesink_init),
16951         (gst_basesink_do_sync):
16952         * gst/gstclock.c: (gst_clock_entry_new):
16953         * gst/gstevent.c: (gst_event_discont_get_value):
16954         * gst/gstpipeline.c: (pipeline_bus_handler),
16955         (gst_pipeline_change_state):
16956         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16957         Better debugging of clocking info.
16958         Allow NULL values when getting discont values.
16959
16960 2005-04-27  Wim Taymans  <wim@fluendo.com>
16961
16962         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16963         * check/gst/gstpad.c: (gst_pad_suite):
16964         Increase timeout for checks.
16965
16966 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16967
16968         * check/Makefile.am:
16969           fix the broken rule for cleanup.  Apparently this rule is
16970           only needed on FC2, so maybe this warrants further autotool
16971           inspection.
16972
16973 2005-04-26  Wim Taymans  <wim@fluendo.com>
16974
16975         * gst/gsttrashstack.h:
16976         Ooohh. a nasty one! After having a failed pop() from the stack,
16977         it's possible that the stack is empty. In that case, don't
16978         follow the NULL pointer.
16979
16980 2005-04-25  Wim Taymans  <wim@fluendo.com>
16981
16982         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16983         (gst_pad_set_checkgetrange_function),
16984         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16985         (gst_pad_check_pull_range), (gst_pad_pull_range),
16986         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16987         (gst_pad_pause_task), (gst_pad_stop_task):
16988         * gst/gstplugin.c: (gst_plugin_load):
16989         * gst/gstplugin.h:
16990         Remove gst_library_load as it does more harm than good with
16991         the new g_module flags.
16992         Revert bogus caps template check in pad linking, pad caps
16993         are important when linking not the template, which is more
16994         general than the current caps.
16995
16996 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16997
16998         * gst/autoplug/.cvsignore:
16999         * gst/autoplug/Makefile.am:
17000         * gst/autoplug/gstsearchfuncs.c:
17001         * gst/autoplug/gstsearchfuncs.h:
17002         * gst/autoplug/gstspider.c:
17003         * gst/autoplug/gstspider.h:
17004         * gst/autoplug/gstspideridentity.c:
17005         * gst/autoplug/gstspideridentity.h:
17006         * gst/autoplug/spidertest.c:
17007           Die, spider, die.
17008
17009 2005-04-25  Wim Taymans  <wim@fluendo.com>
17010
17011         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17012         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17013         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17014         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17015         * gst/gstpad.h:
17016         Added stubs for unimplemented functions. 
17017
17018 2005-04-24  David Schleef  <ds@schleef.org>
17019
17020         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17021         please fix.
17022
17023 2005-04-24  David Schleef  <ds@schleef.org>
17024
17025         Convert everything from GstAtomicInt to g_atomic_int_*, and
17026         remove gstatomic.
17027         * gst/Makefile.am:
17028         * gst/gstatomic.c:
17029         * gst/gstatomic.h:
17030         * gst/gstatomic_impl.h:
17031         * gst/gstbuffer.c:
17032         * gst/gstcaps.c:
17033         * gst/gstcaps.h:
17034         * gst/gstclock.c:
17035         * gst/gstclock.h:
17036         * gst/gstdata.c:
17037         * gst/gstdata.h:
17038         * gst/gstdata_private.h:
17039         * gst/gstevent.c:
17040         * gst/gstinfo.c:
17041         * gst/gstinfo.h:
17042         * gst/gstmessage.c:
17043         * gst/gstobject.c:
17044         * gst/gstobject.h:
17045         * gst/gststructure.c:
17046         * gst/gststructure.h:
17047         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17048         * gst/gstutils.h:
17049
17050 2005-04-24  David Schleef  <ds@schleef.org>
17051
17052         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17053         make the regressions tests work.  Remove some code that is no
17054         longer true.
17055         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17056         Disable warning for pads without templates.
17057
17058 2005-04-24  David Schleef  <ds@schleef.org>
17059
17060         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17061         functions that handle filtered links.
17062         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17063         removed functions.
17064         * gst/gstutils.c: Fix/remove utility functions that handle
17065         filtered caps.
17066         * gst/gstutils.h:
17067         * gst/gstvalue.c: Add serialization/deserialization of caps
17068         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17069         requires fixing so that the filter caps notation creates
17070         a capsfilter element and sets the filter_caps property.  I
17071         think everyone probably wants to keep the shorthand notation.
17072         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17073         * docs/gst/tmpl/gstpad.sgml:
17074
17075         * gst/elements/gstelements.c: Register capsfilter element.
17076         * gst/Makefile.am: fix spacing
17077         * docs/random/ds/0.9-suggested-changes: random
17078
17079 2005-04-23  David Schleef  <ds@schleef.org>
17080
17081         * gst/elements/Makefile.am:
17082         * gst/elements/gstcapsfilter.c: New element that acts like an
17083         identity, but filters caps.  Will eventually replace filtered
17084         caps in pad linking.
17085         * gst/gstutils.c: (gst_element_create_all_pads): New function
17086         to create all the ALWAYS pads that are registered with an
17087         element class.  This functionality should eventually be
17088         merged in with GstElement initialization.
17089         * gst/gstutils.h:
17090         * testsuite/trigger/README: part of trigger test code that should
17091         have been checked in a long time ago.
17092
17093 2005-04-23  David Schleef  <ds@schleef.org>
17094
17095         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17096         needed with new versions of libtool (nobody will confirm this),
17097         and hard to carry around.
17098         * gst/autoplug/Makefile.am:
17099         * gst/base/Makefile.am:
17100         * gst/elements/Makefile.am:
17101         * gst/indexers/Makefile.am:
17102         * gst/schedulers/Makefile.am:
17103         * libs/gst/bytestream/Makefile.am:
17104         * libs/gst/control/Makefile.am:
17105         * libs/gst/dataprotocol/Makefile.am:
17106         * libs/gst/getbits/Makefile.am:
17107
17108 2005-04-21  Wim Taymans  <wim@fluendo.com>
17109
17110         * docs/design/draft-push-pull.txt:
17111         * docs/design/part-MT-refcounting.txt:
17112         * docs/design/part-TODO.txt:
17113         * docs/design/part-caps.txt:
17114         * docs/design/part-events.txt:
17115         * docs/design/part-gstbus.txt:
17116         * docs/design/part-gstpipeline.txt:
17117         * docs/design/part-messages.txt:
17118         * docs/design/part-push-pull.txt:
17119         * docs/design/part-query.txt:
17120         Some more docs.
17121
17122 2005-04-21  Wim Taymans  <wim@fluendo.com>
17123
17124         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17125         (gst_message_new), (gst_message_new_error),
17126         (gst_message_new_warning), (gst_message_new_tag),
17127         (gst_message_new_state_changed), (gst_message_new_application),
17128         (gst_message_get_structure):
17129         * gst/gstmessage.h:
17130         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17131         (gst_structure_copy_conditional):
17132         Use parent refcount in GstMessage to ensure GstStructure
17133         consistency.
17134         Cleaned up headers a bit.
17135         
17136
17137 2005-04-20  Wim Taymans  <wim@fluendo.com>
17138
17139         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17140         (gst_basesink_pad_getcaps), (gst_basesink_init),
17141         (gst_basesink_chain_unlocked):
17142         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17143         (gst_type_find_helper):
17144         * gst/elements/gsttypefindelement.c:
17145         (gst_type_find_element_have_type), (gst_type_find_element_init),
17146         (stop_typefinding), (gst_type_find_element_handle_event),
17147         (find_suggest), (gst_type_find_element_chain),
17148         (gst_type_find_element_checkgetrange),
17149         (gst_type_find_element_getrange), (do_typefind),
17150         (gst_type_find_element_activate):
17151         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17152         (gst_buffer_default_free), (gst_buffer_default_copy),
17153         (gst_buffer_set_caps):
17154         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17155         (gst_caps_replace):
17156         * gst/gstmessage.c: (gst_message_new),
17157         (gst_message_new_state_changed):
17158         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17159         (gst_pad_set_checkgetrange_function),
17160         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17161         (gst_pad_set_caps), (gst_pad_check_pull_range),
17162         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17163         * gst/gstpad.h:
17164         * gst/gsttypefind.c: (gst_type_find_register):
17165         Make gst_caps_replace() work like other _replace() functions.
17166         Use _caps_replace() where possible.
17167         Make sure _message_new() initialises its field.
17168         Add gst_static_pad_template_get_caps()
17169
17170
17171 2005-04-18  Andy Wingo  <wingo@pobox.com>
17172
17173         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17174         on the peer, not the pad. I think that was a typo. Pass an extra
17175         arg to see if random access is possible. Activate the pads as
17176         PULL_RANGE if possible.
17177
17178         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17179
17180         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17181         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17182         to PROP_....
17183
17184 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17185
17186         * docs/faq/using.xml:
17187           Add note on gstreamer-properties (#154996).
17188
17189 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17190
17191         * docs/random/bbb/optional-properties:
17192           Some analysis on optional properties.
17193
17194 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17195
17196         * docs/gst/tmpl/gstelementfactory.sgml:
17197         * gst/gstelement.h:
17198         * gst/gstelementfactory.c: (gst_element_factory_init),
17199         (gst_element_factory_cleanup), (gst_element_register),
17200         (__gst_element_factory_add_static_pad_template),
17201         (gst_element_factory_get_static_pad_templates),
17202         (gst_element_factory_can_src_caps),
17203         (gst_element_factory_can_sink_caps):
17204         * gst/registries/Makefile.am:
17205         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17206         (gst_xml_registry_class_init), (gst_xml_registry_init),
17207         (gst_xml_registry_new), (gst_xml_registry_set_property),
17208         (gst_xml_registry_get_property), (get_time), (make_dir),
17209         (gst_xml_registry_get_perms_func),
17210         (plugin_times_older_than_recurse), (plugin_times_older_than),
17211         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17212         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17213         (add_to_char_array), (read_string), (read_uint), (read_enum),
17214         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17215         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17216         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17217         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17218         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17219         (gst_xml_registry_rebuild):
17220         * gst/registries/gstlibxmlregistry.h:
17221         * tools/gst-compprep.c: (main):
17222         * tools/gst-inspect.c: (print_pad_templates_info):
17223         * tools/gst-xmlinspect.c: (print_element_info):
17224           Use libxml2 for registry parsing, use staticpadtemplates in
17225           elementfactories. Makes gst_init() +/- 10x faster.
17226
17227 2005-04-12  Wim Taymans  <wim@fluendo.com>
17228
17229         * gst/base/Makefile.am:
17230         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17231         (gst_basesink_pad_getcaps), (gst_basesink_init),
17232         (gst_basesink_event), (gst_basesink_change_state):
17233         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17234         (gst_basesrc_init), (gst_basesrc_query),
17235         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17236         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17237         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17238         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17239         (gst_basesrc_stop), (gst_basesrc_activate),
17240         (gst_basesrc_change_state):
17241         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17242         (helper_find_suggest), (gst_type_find_helper):
17243         * gst/base/gsttypefindhelper.h:
17244         * gst/elements/Makefile.am:
17245         * gst/elements/gstelements.c:
17246         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17247         (gst_fakesink_get_times), (gst_fakesink_event),
17248         (gst_fakesink_preroll), (gst_fakesink_render):
17249         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17250         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17251         (gst_fakesrc_get_property), (gst_fakesrc_create),
17252         (gst_fakesrc_start), (gst_fakesrc_stop):
17253         * gst/elements/gstfakesrc.h:
17254         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17255         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17256         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17257         (gst_filesrc_create_read), (gst_filesrc_create),
17258         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17259         (gst_filesrc_start):
17260         * gst/elements/gsttypefindelement.c:
17261         (gst_type_find_element_have_type), (gst_type_find_element_init),
17262         (start_typefinding), (stop_typefinding), (push_buffer_store),
17263         (gst_type_find_element_handle_event),
17264         (gst_type_find_element_chain),
17265         (gst_type_find_element_checkgetrange),
17266         (gst_type_find_element_getrange), (do_typefind),
17267         (gst_type_find_element_activate),
17268         (gst_type_find_element_change_state):
17269         * gst/elements/gsttypefindelement.h:
17270         * gst/gstpipeline.c: (pipeline_bus_handler):
17271         Added typefind helper.
17272         Small preroll fix in the base sink.
17273         Disable typefind code in basesrc.
17274         Crude port of typefindelement.
17275         Fakesrc cleanups.
17276
17277
17278 2005-04-11  Wim Taymans  <wim@fluendo.com>
17279
17280         * check/gst/gstbus.c: (gstbus_suite):
17281         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17282         * check/gstcheck.h:
17283           Fix up the timeout so that the test does not fail.
17284
17285 2005-04-06  Wim Taymans  <wim@fluendo.com>
17286
17287         * gst/base/README:
17288         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17289         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17290         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17291         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17292         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17293         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17294         (gst_basesrc_stop), (gst_basesrc_activate),
17295         (gst_basesrc_change_state), (basesrc_find_peek),
17296         (basesrc_find_suggest), (gst_basesrc_type_find):
17297         * gst/base/gstbasesrc.h:
17298         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17299         (gst_filesrc_class_init), (gst_filesrc_init),
17300         (gst_filesrc_finalize), (gst_filesrc_set_location),
17301         (gst_filesrc_set_property), (gst_filesrc_get_property),
17302         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17303         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17304         (gst_filesrc_create_read), (gst_filesrc_create),
17305         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17306         * gst/elements/gstfilesrc.h:
17307         * gst/gstelement.c: (gst_element_get_state_func),
17308         (gst_element_lost_state), (gst_element_pads_activate):
17309         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17310         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17311         (gst_pad_pull_range):
17312         * gst/gstpad.h:
17313         More work on the generic source base class, implement seeking,
17314         query.
17315         Make filesrc extend the base source class.
17316         Added gst_pad_set_checkgetrange_function to GstPad.
17317
17318 2005-04-06  Andy Wingo  <wingo@pobox.com>
17319
17320         * pkgconfig/gstreamer-base.pc.in:
17321         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17322
17323         * pkgconfig/Makefile.am:
17324         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17325
17326 2005-04-04  Wim Taymans  <wim@fluendo.com>
17327
17328         * gst/base/Makefile.am:
17329         * gst/base/README:
17330         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17331         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17332         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17333         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17334         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17335         (gst_basesrc_base_init), (gst_basesrc_class_init),
17336         (gst_basesrc_init), (gst_basesrc_get_formats),
17337         (gst_basesrc_get_query_types), (gst_basesrc_query),
17338         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17339         (gst_basesrc_set_property), (gst_basesrc_get_property),
17340         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17341         (gst_basesrc_loop), (gst_basesrc_activate),
17342         (gst_basesrc_change_state):
17343         * gst/base/gstbasesrc.h:
17344         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17345         (gst_fakesrc_class_init), (gst_fakesrc_init),
17346         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17347         (gst_fakesrc_get_property), (gst_fakesrc_create):
17348         * gst/elements/gstfakesrc.h:
17349         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17350         (gst_filesrc_open_file), (gst_filesrc_loop),
17351         (gst_filesrc_activate), (filesrc_find_peek),
17352         (gst_filesrc_type_find):
17353         Made base source class, make fakesrc extend it.
17354         Add comments to basesink class.
17355         Some filesrc cleanup.
17356
17357 2005-03-31  David Schleef  <ds@schleef.org>
17358
17359         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17360         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17361         expected to link against libgstreamer.
17362         * gst/base/Makefile.am: link against libgstreamer
17363         * gst/elements/Makefile.am: same
17364
17365 2005-03-31  Andy Wingo  <wingo@pobox.com>
17366
17367         * tests/instantiate/Makefile.am:
17368         * tests/instantiate/caps.c: Add test to test speed of caps copy
17369         and free.
17370
17371         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17372         GMemChunk to be fair.
17373
17374         * gst/gsttrashstack.h: Remove warning about using the fallback
17375         trash stack implementation, it's still faster than malloc.
17376
17377 2005-03-30  Andy Wingo  <wingo@pobox.com>
17378
17379         * tests/complexity.c: Add a copyright.
17380
17381 2005-03-31  Wim Taymans  <wim@fluendo.com>
17382
17383         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17384         (gst_base_transform_class_init), (gst_base_transform_init),
17385         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17386         (gst_base_transform_get_property),
17387         (gst_base_transform_sink_activate),
17388         (gst_base_transform_src_activate),
17389         (gst_base_transform_change_state):
17390         * gst/base/gstbasetransform.h:
17391         * gst/elements/gstidentity.c: (gst_identity_class_init),
17392         (gst_identity_event), (gst_identity_check_perfect),
17393         (gst_identity_transform), (gst_identity_start),
17394         (gst_identity_stop):
17395         Added start/stop methods to transform base class so subclasses 
17396         don't need to deal with state changes even.
17397
17398 2005-03-31  Wim Taymans  <wim@fluendo.com>
17399
17400         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17401         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17402         * gst/gstevent.h:
17403         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17404         (gst_pad_pull_range):
17405         Added rate to the discont event to prepare for variable speed
17406         and reverse playback.
17407
17408 2005-03-29  David Schleef  <ds@schleef.org>
17409
17410         * configure.ac:
17411         * testsuite/trigger/Makefile.am:
17412         * testsuite/trigger/trigger.c: A little example program to show
17413         how trigger-based elements can work.
17414
17415 2005-03-29  Wim Taymans  <wim@fluendo.com>
17416
17417         * gst/base/Makefile.am:
17418         * gst/base/README:
17419         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17420         (gst_basesink_base_init), (gst_basesink_class_init),
17421         (gst_basesink_pad_getcaps), (gst_basesink_init),
17422         (gst_basesink_activate), (gst_basesink_change_state):
17423         * gst/base/gstbasesink.h:
17424         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17425         (gst_base_transform_base_init), (gst_base_transform_finalize),
17426         (gst_base_transform_class_init), (gst_base_transform_init),
17427         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17428         (gst_base_transform_event), (gst_base_transform_getrange),
17429         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17430         (gst_base_transform_set_property),
17431         (gst_base_transform_get_property),
17432         (gst_base_transform_sink_activate),
17433         (gst_base_transform_src_activate),
17434         (gst_base_transform_change_state):
17435         * gst/base/gstbasetransform.h:
17436         * gst/elements/gstidentity.c: (gst_identity_finalize),
17437         (gst_identity_class_init), (gst_identity_init),
17438         (gst_identity_event), (gst_identity_check_perfect),
17439         (gst_identity_transform), (gst_identity_set_property),
17440         (gst_identity_get_property), (gst_identity_change_state):
17441         * gst/elements/gstidentity.h:
17442         * gst/gstelement.c: (gst_element_get_state_func),
17443         (gst_element_lost_state), (gst_element_pads_activate):
17444         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17445         (gst_pad_check_pull_range), (gst_pad_pull_range):
17446         * gst/gstpad.h:
17447         Simplify pad activation.
17448         Added function to check if pull_range can be performed.
17449         Error out when pulling inactive or flushing pads.
17450         Removed const from refcounted types as it does not make sense.
17451         Simplify pad templates in basesink
17452         Added base class for simple 1-to-1 transforms.
17453         Make identity subclass the base transform.
17454
17455 2005-03-29  Andy Wingo  <wingo@pobox.com>
17456
17457         * docs/libs/gstreamer-libs-overrides.txt: 
17458         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17459         really don't understand what's going on, but like whatever. I want
17460         green buildbot!
17461
17462         * docs/gst/Makefile.am:
17463         * docs/libs/Makefile.am: Dist the overrides files.
17464
17465         * check/Makefile.am (clean-local): Remove .libs directories.
17466
17467         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17468         elements to EXTRA_DIST, so po/ files are happy.
17469
17470         * po/POTFILES.in: Er, remove it here.
17471
17472         * po/POTFILES: Remove gstspider.c.
17473
17474         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17475
17476         * docs/libs/gstreamer-libs-docs.sgml: 
17477         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17478         bytestream.
17479
17480         * tests/complexity.c (main): Set the length of the preroll queue
17481         on the sinks to prevent a lockup.
17482
17483         * libs/gst/dataprotocol/Makefile.am: 
17484         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17485         the same as the one in check/gst-libs/gdp.c.
17486
17487         * po/, docs/gst/: Commit automatic changes to docs and po files.
17488
17489         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17490         the versioned libgstbase.
17491
17492         * check/Makefile.am: Depend on an unversioned gst-register, seems
17493         to make autoconf happier.
17494
17495         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17496
17497 2005-03-28  Wim Taymans  <wim@fluendo.com>
17498
17499         * configure.ac:
17500         * docs/design/part-gstelement.txt:
17501         * docs/design/part-negotiation.txt:
17502         * docs/design/part-preroll.txt:
17503         * docs/design/part-scheduling.txt:
17504         * docs/design/part-states.txt:
17505         * gst/Makefile.am:
17506         * gst/base/Makefile.am:
17507         * gst/base/README:
17508         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17509         (gst_basesink_base_init), (gst_basesink_class_init),
17510         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17511         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17512         (gst_basesink_set_pad_functions),
17513         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17514         (gst_basesink_set_property), (gst_basesink_get_property),
17515         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17516         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17517         (gst_basesink_preroll_queue_push),
17518         (gst_basesink_preroll_queue_empty),
17519         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17520         (gst_basesink_event), (gst_basesink_get_times),
17521         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17522         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17523         (gst_basesink_loop), (gst_basesink_activate),
17524         (gst_basesink_change_state):
17525         * gst/base/gstbasesink.h:
17526         * gst/elements/Makefile.am:
17527         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17528         (gst_fakesink_class_init), (gst_fakesink_init),
17529         (gst_fakesink_set_property), (gst_fakesink_get_property),
17530         (gst_fakesink_get_times), (gst_fakesink_event),
17531         (gst_fakesink_preroll), (gst_fakesink_render),
17532         (gst_fakesink_change_state):
17533         * gst/elements/gstfakesink.h:
17534         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17535         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17536         * gst/gstelement.c: (gst_element_add_pad),
17537         (gst_element_get_state_func), (gst_element_abort_state),
17538         (gst_element_commit_state), (gst_element_lost_state),
17539         (gst_element_set_state), (gst_element_pads_activate):
17540         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17541         * gst/gstpipeline.c: (gst_pipeline_send_event),
17542         (gst_pipeline_change_state):
17543         Added state change code.
17544         Added/updated docs.
17545         Added sink base class, make fakesink extend the base class.
17546         Small cleanups in GstPipeline.
17547
17548 2005-03-26  David Schleef  <ds@schleef.org>
17549
17550         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17551         is broken and should be implemented in a different library.
17552         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17553         * gst/gst.h: remove gstcpu.h
17554         * gst/gstcpu.c: remove
17555         * gst/gstcpu.h: remove
17556         * gst/Makefile.am.future: Remove this file.  It's ancient.
17557
17558 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17559
17560         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17561         (gst_bin_send_event):
17562           Add default event/set_manager handlers. The set_manager handler
17563           takes care that the manager is distributed over kids that were
17564           already in the bin before the manager was set. The event handler
17565           is a utility virtual function that sends the event over all sinks,
17566           so that gst_element_send_event (bin, event); has the expected
17567           behaviour.
17568         * gst/gstpad.c: (gst_pad_event_default):
17569           Re-install default event handling for discontinuities, so that
17570           seeking works without requiring hacks in applications or extra
17571           code in sinks.
17572         * gst/gstpipeline.c: (gst_pipeline_class_init),
17573         (gst_pipeline_send_event):
17574           Half hack, half utility: set a pipeline to PAUSED for seek events,
17575           since that is the only way we can guarantee a/v sync. Means that
17576           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17577           and it "just works".
17578
17579 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17580
17581         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17582           Lock/unlock mismatch.
17583
17584 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17585
17586         * docs/faq/gst-uninstalled:
17587           add gst-plugins-base
17588         * docs/gst/Makefile.am:
17589           don't error out until docs are fixed
17590         * docs/gst/gstreamer.types:
17591           remove thread
17592
17593 2005-03-22  Wim Taymans  <wim@fluendo.com>
17594
17595         * check/Makefile.am:
17596         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17597         * gst/gststructure.c: (gst_structure_set_valist),
17598         (gst_structure_copy_conditional):
17599         Activated more tests.
17600         Added message test.
17601         Added G_TYPE_POINTER to GstStructure.
17602         
17603
17604 2005-03-22  Wim Taymans  <wim@fluendo.com>
17605
17606         * docs/design/part-TODO.txt:
17607         * docs/design/part-events.txt:
17608         * docs/design/part-gstbin.txt:
17609         * docs/design/part-gstbus.txt:
17610         * docs/design/part-gstpipeline.txt:
17611         * docs/design/part-messages.txt:
17612         * gst/gstbus.c:
17613         * gst/gstmessage.c:
17614         Docs updates
17615
17616 2005-03-21  Wim Taymans  <wim@fluendo.com>
17617
17618         * gst/gstbus.c: (gst_bus_post):
17619         Fix copy-and-paste error.
17620
17621 2005-03-21  Wim Taymans  <wim@fluendo.com>
17622
17623         * check/Makefile.am:
17624         * gst/Makefile.am:
17625         * gst/elements/Makefile.am:
17626         * gst/elements/gstelements.c:
17627         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17628         (gst_fakesink_event), (gst_fakesink_chain):
17629         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17630         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17631         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17632         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17633         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17634         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17635         (gst_fakesrc_loop), (gst_fakesrc_activate),
17636         (gst_fakesrc_change_state):
17637         * gst/elements/gstfakesrc.h:
17638         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17639         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17640         (gst_filesrc_open_file), (gst_filesrc_loop),
17641         (gst_filesrc_activate), (gst_filesrc_change_state),
17642         (filesrc_find_peek), (filesrc_find_suggest),
17643         (gst_filesrc_type_find):
17644         * gst/elements/gstidentity.c: (gst_identity_finalize),
17645         (gst_identity_class_init), (gst_identity_init),
17646         (gst_identity_proxy_getcaps), (identity_queue_push),
17647         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17648         (gst_identity_getrange), (gst_identity_chain),
17649         (gst_identity_sink_loop), (gst_identity_src_loop),
17650         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17651         (gst_identity_set_property), (gst_identity_get_property),
17652         (gst_identity_change_state):
17653         * gst/elements/gstidentity.h:
17654         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17655         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17656         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17657         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17658         (gst_tee_sink_activate):
17659         * gst/elements/gsttee.h:
17660         * gst/gst.c: (gst_register_core_elements), (init_post):
17661         * gst/gst.h:
17662         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17663         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17664         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17665         (gst_bin_change_state):
17666         * gst/gstbin.h:
17667         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17668         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17669         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17670         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17671         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17672         (bus_watch_callback), (bus_watch_destroy),
17673         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17674         (poll_timeout), (gst_bus_poll):
17675         * gst/gstbus.h:
17676         * gst/gstcaps.h:
17677         * gst/gstdata.h:
17678         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17679         (gst_element_post_message), (gst_element_message_full),
17680         (gst_element_get_state_func), (gst_element_get_state),
17681         (gst_element_abort_state), (gst_element_commit_state),
17682         (gst_element_lost_state), (gst_element_set_state),
17683         (gst_element_pads_activate), (gst_element_change_state),
17684         (gst_element_dispose), (gst_element_set_manager_func),
17685         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17686         (gst_element_set_manager), (gst_element_get_manager),
17687         (gst_element_set_bus), (gst_element_get_bus),
17688         (gst_element_set_scheduler), (gst_element_get_scheduler):
17689         * gst/gstelement.h:
17690         * gst/gstevent.c: (gst_event_new_segment_seek),
17691         (gst_event_new_flush):
17692         * gst/gstevent.h:
17693         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17694         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17695         (gst_message_new_eos), (gst_message_new_error),
17696         (gst_message_new_warning), (gst_message_new_tag),
17697         (gst_message_new_state_changed), (gst_message_new_application),
17698         (gst_message_get_structure), (gst_message_parse_tag),
17699         (gst_message_parse_state_changed), (gst_message_parse_error),
17700         (gst_message_parse_warning):
17701         * gst/gstmessage.h:
17702         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17703         (gst_real_pad_set_property), (gst_pad_set_active),
17704         (gst_pad_is_active), (gst_pad_set_blocked_async),
17705         (gst_pad_set_blocked), (gst_pad_is_blocked),
17706         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17707         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17708         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17709         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17710         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17711         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17712         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17713         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17714         (gst_pad_set_caps), (gst_pad_configure_sink),
17715         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17716         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17717         (gst_real_pad_dispose), (gst_real_pad_finalize),
17718         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17719         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17720         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17721         * gst/gstpad.h:
17722         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17723         (pipeline_bus_handler), (gst_pipeline_change_state),
17724         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17725         * gst/gstpipeline.h:
17726         * gst/gstprobe.h:
17727         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17728         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17729         (gst_queue_link_src), (gst_queue_bufferalloc),
17730         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17731         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17732         (gst_queue_loop), (gst_queue_handle_src_event),
17733         (gst_queue_handle_src_query), (gst_queue_src_activate),
17734         (gst_queue_change_state):
17735         * gst/gstqueue.h:
17736         * gst/gstscheduler.c: (gst_scheduler_init),
17737         (gst_scheduler_dispose), (gst_scheduler_create_task),
17738         (gst_scheduler_factory_create):
17739         * gst/gstscheduler.h:
17740         * gst/gststructure.c: (gst_structure_get_type),
17741         (gst_structure_copy_conditional):
17742         * gst/gststructure.h:
17743         * gst/gsttaginterface.h:
17744         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17745         (gst_task_init), (gst_task_dispose), (gst_task_create),
17746         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17747         (gst_task_pause):
17748         * gst/gsttask.h:
17749         * gst/gstthread.c:
17750         * gst/gstthread.h:
17751         * gst/gsttypes.h:
17752         * gst/schedulers/Makefile.am:
17753         * gst/schedulers/cothreads_compat.h:
17754         * gst/schedulers/entryscheduler.c:
17755         * gst/schedulers/faircothreads.c:
17756         * gst/schedulers/faircothreads.h:
17757         * gst/schedulers/fairscheduler.c:
17758         * gst/schedulers/gstbasicscheduler.c:
17759         * gst/schedulers/gstoptimalscheduler.c:
17760         * gst/schedulers/gthread-cothreads.h:
17761         * gst/schedulers/threadscheduler.c:
17762         (gst_thread_scheduler_task_get_type),
17763         (gst_thread_scheduler_task_class_init),
17764         (gst_thread_scheduler_task_init),
17765         (gst_thread_scheduler_task_start),
17766         (gst_thread_scheduler_task_stop),
17767         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17768         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17769         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17770         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17771         (plugin_init):
17772         * libs/gst/Makefile.am:
17773         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17774         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17775         (gst_file_pad_parent_set):
17776         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17777         (gst_dp_event_from_packet):
17778         * tests/complexity.c: (main):
17779         * tests/mass_elements.c: (main):
17780         * testsuite/states/locked.c: (message_received), (main):
17781         * testsuite/states/parent.c: (main):
17782         * tools/gst-inspect.c: (print_element_flag_info),
17783         (print_implementation_info), (print_pad_info):
17784         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17785         (main):
17786         * tools/gst-md5sum.c: (event_loop), (main):
17787         * tools/gst-typefind.c: (main):
17788         * tools/gst-xmlinspect.c: (print_element_info):
17789         Next big merge.
17790         Added GstBus for mainloop integration.
17791         Added GstMessage for sending notifications on the bus.
17792         Added GstTask as an abstraction for pipeline entry points.
17793         Removed GstThread.
17794         Removed Schedulers.
17795         Simplified GstQueue for multithreaded core.
17796         Made _link threadsafe, removed old capsnego.
17797         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17798         Added pad blocking functions.
17799         Reworked scheduling functions in GstPad to prepare for
17800         scheduling updates soon.
17801         Moved events out of data stream.
17802         Simplified GstEvent types.
17803         Added return values to push/pull.
17804         Removed clocking from GstElement.
17805         Added prototypes for state change function for next merge.
17806         Removed iterate from bins and state change management.
17807         Fixed some elements, disabled others for now.
17808         Fixed -inspect and -launch.
17809         Added check for GstBus.
17810
17811 2005-03-10  Wim Taymans  <wim@fluendo.com>
17812
17813         * docs/design/part-MT-refcounting.txt:
17814         * docs/design/part-clocks.txt:
17815         * docs/design/part-gstelement.txt:
17816         * docs/design/part-gstobject.txt:
17817         * docs/design/part-standards.txt:
17818         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17819         (gst_bin_remove_func), (gst_bin_remove):
17820         * gst/gstbin.h:
17821         * gst/gstbuffer.c:
17822         * gst/gstcaps.h:
17823         * testsuite/clock/clock1.c: (main):
17824         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17825         (main):
17826         * testsuite/dlopen/loadgst.c: (do_test):
17827         * testsuite/refcounting/bin.c: (add_remove_test1),
17828         (add_remove_test2), (main):
17829         * testsuite/refcounting/element.c: (main):
17830         * testsuite/refcounting/element_pad.c: (main):
17831         * testsuite/refcounting/pad.c: (main):
17832         * tools/gst-launch.c: (sigint_handler_sighandler):
17833         * tools/gst-typefind.c: (main):
17834         Doc updates.
17835         Added doc about clock.
17836         removed gst_bin_iterate_recurse_up(), marked methods
17837         for removal.
17838         Fix more testsuites.
17839
17840 2005-03-09  Wim Taymans  <wim@fluendo.com>
17841
17842         * gst/gstpad.c: (gst_pad_get_direction),
17843         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17844         (gst_pad_collect_valist):
17845         * testsuite/bins/interface.c: (main):
17846         * testsuite/caps/audioscale.c: (test_caps):
17847         * testsuite/caps/caps.c: (test1), (test2), (test3):
17848         * testsuite/caps/deserialize.c: (main):
17849         * testsuite/caps/enumcaps.c: (main):
17850         * testsuite/caps/filtercaps.c: (main):
17851         * testsuite/caps/intersect2.c: (main):
17852         * testsuite/caps/random.c: (main):
17853         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17854         * testsuite/caps/sets.c: (check_caps):
17855         * testsuite/caps/simplify.c: (check_caps), (main):
17856         * testsuite/caps/subtract.c: (check_caps):
17857         Fix _pad_get_direction wrt ghostpads.
17858         Fix caps testsuite.
17859
17860 2005-03-09  Wim Taymans  <wim@fluendo.com>
17861
17862         * check/Makefile.am:
17863         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17864         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17865         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17866         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17867         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17868         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17869         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17870         (bin_element_is_sink), (gst_bin_iterate_sinks),
17871         (gst_bin_iterate_all_by_interface):
17872         * gst/gstbin.h:
17873         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17874         (gst_element_change_state), (gst_element_dispose),
17875         (gst_element_finalize), (gst_element_set_loop_function):
17876         * gst/gstelement.h:
17877         * gst/gstiterator.c: (find_custom_fold_func):
17878         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17879         (gst_pad_collectv), (gst_pad_collect_valist),
17880         (gst_pad_template_new):
17881         * gst/gstpipeline.c: (gst_pipeline_class_init),
17882         (gst_pipeline_dispose), (gst_pipeline_set_property),
17883         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17884         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17885         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17886         * gst/gstutils.h:
17887         * gst/schedulers/entryscheduler.c:
17888         * gst/schedulers/gstbasicscheduler.c:
17889         (gst_basic_scheduler_cothreaded_chain),
17890         (gst_basic_scheduler_chain_add_element):
17891         * testsuite/bins/interface.c: (main):
17892         Added GstBin test.
17893         Added GstSystemClock test.
17894         Implemented clock distribution code in GstBin.
17895         Implemented iterate sinks method for future use.
17896         Rearranged gstelement.h
17897         Fix GstIterator comparison bug.
17898         Moved some code to GstPipeline, mostly clocking related.
17899
17900 2005-03-09  Wim Taymans  <wim@fluendo.com>
17901
17902         * configure.ac:
17903         * gst/gst_private.h:
17904         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17905         (gst_bin_remove_func), (gst_bin_remove),
17906         (gst_bin_get_by_name_recurse_up):
17907         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17908         (gst_clock_id_compare_func), (gst_clock_id_wait),
17909         (gst_clock_id_wait_async), (gst_clock_init),
17910         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17911         * gst/gstelement.h:
17912         * gst/gstinfo.c: (_gst_debug_init):
17913         * gst/gstobject.h:
17914         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17915         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17916         * gst/gstpad.h:
17917         Bump version number, we're now 0.9.0
17918         Add future debugging category.
17919         Fix NULL _unref() in _get_by_name_recurse_up
17920         Rearrange gstpad.h.
17921         Update some docs.
17922
17923 2005-03-08  Wim Taymans  <wim@fluendo.com>
17924
17925         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17926         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17927         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17928         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17929         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17930         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17931         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17932         * gst/elements/gstidentity.c: (gst_identity_class_init):
17933         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17934         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17935         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17936         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17937         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17938         (gst_tee_link):
17939         * gst/gstelement.c: (gst_element_class_init),
17940         (gst_element_base_class_init), (gst_element_init),
17941         (gst_element_get_random_pad), (gst_element_wait_state_change),
17942         (gst_element_change_state), (gst_element_dispose),
17943         (gst_element_finalize), (gst_element_set_loop_function):
17944         * gst/gstelement.h:
17945         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17946         * gst/gstthread.c: (gst_thread_class_init),
17947         (gst_thread_release_children_locks), (gst_thread_change_state):
17948         * gst/schedulers/gstbasicscheduler.c:
17949         (gst_basic_scheduler_loopfunc_wrapper),
17950         (gst_basic_scheduler_chain_wrapper),
17951         (gst_basic_scheduler_src_wrapper),
17952         (gst_basic_scheduler_remove_element):
17953         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17954         Remove threadsafe properties. Fix elements because GObject
17955         complains when installing a property before declaring a
17956         set/get_property handler.
17957         Rearrange gstelement.h file, use STATE macros for state locks.
17958         Free mutexes in the finalize method instead of dispose.
17959
17960 2005-03-08  Wim Taymans  <wim@fluendo.com>
17961
17962         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17963         * gst/gstthread.c: (gst_thread_release_children_locks):
17964         Added parentage check.
17965         Fix build og GstThread again.
17966
17967 2005-03-08  Wim Taymans  <wim@fluendo.com>
17968
17969         * docs/design/part-MT-refcounting.txt:
17970         * docs/design/part-conventions.txt:
17971         * docs/design/part-gstobject.txt:
17972         * docs/design/part-relations.txt:
17973         * docs/design/part-standards.txt:
17974         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17975         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17976         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17977         (gst_bin_iterate_all_by_interface):
17978         * gst/gstbuffer.h:
17979         * gst/gstclock.h:
17980         * gst/gstelement.c: (gst_element_class_init),
17981         (gst_element_change_state), (gst_element_set_loop_function):
17982         * gst/gstelement.h:
17983         * gst/gstiterator.c:
17984         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17985         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17986         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17987         (gst_object_set_parent), (gst_object_unparent),
17988         (gst_object_check_uniqueness):
17989         * gst/gstobject.h:
17990         Docs updates, clean up some headers.
17991
17992 2005-03-07  Wim Taymans  <wim@fluendo.com>
17993
17994         * check/.cvsignore:
17995         * check/Makefile.am:
17996         * check/gst-libs/.cvsignore:
17997         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17998         * check/gst/.cvsignore:
17999         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18000         (START_TEST), (gstbus_suite), (main):
18001         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18002         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18003         (gst_data_suite), (main):
18004         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18005         (add_fold_func), (gstiterator_suite), (main):
18006         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18007         (thread_name_object), (thread_name_object_default),
18008         (gst_object_name_compare), (gst_object_suite), (main):
18009         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18010         (gst_pad_suite), (main):
18011         * check/gstcheck.c: (gst_check_log_message_func),
18012         (gst_check_log_critical_func), (gst_check_init):
18013         * check/gstcheck.h:
18014         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18015         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18016         Added checks.
18017
18018 2005-03-07  Wim Taymans  <wim@fluendo.com>
18019
18020         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18021         (gst_list_iterator_next), (gst_list_iterator_resync),
18022         (gst_list_iterator_free), (gst_iterator_new_list),
18023         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18024         (gst_iterator_free), (gst_iterator_push), (filter_next),
18025         (filter_resync), (filter_uninit), (filter_free),
18026         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18027         (gst_iterator_foreach), (find_custom_fold_func),
18028         (gst_iterator_find_custom):
18029         * gst/gstiterator.h:
18030         Added missing files.
18031
18032 2005-03-07  Wim Taymans  <wim@fluendo.com>
18033
18034         * Makefile.am:
18035         * configure.ac:
18036         * docs/design/part-MT-refcounting.txt:
18037         * docs/design/part-conventions.txt:
18038         * docs/design/part-gstobject.txt:
18039         * docs/design/part-relations.txt:
18040         * examples/mixer/mixer.c: (main):
18041         * examples/thread/thread.c: (eos), (main):
18042         * gst/Makefile.am:
18043         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18044         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18045         (gst_spider_plug_from_srcpad):
18046         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18047         (gst_spider_identity_change_state),
18048         (gst_spider_identity_sink_loop_type_finding):
18049         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18050         * gst/elements/gstidentity.c: (gst_identity_init):
18051         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18052         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18053         * gst/elements/gsttypefindelement.c: (free_entry):
18054         * gst/gst.c:
18055         * gst/gst.h:
18056         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18057         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18058         (gst_bin_set_index), (gst_bin_set_element_sched),
18059         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18060         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18061         (gst_bin_iterate_elements), (iterate_child_recurse),
18062         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18063         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18064         (compare_interface), (gst_bin_get_by_interface),
18065         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18066         * gst/gstbin.h:
18067         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18068         (gst_buffer_default_free), (gst_buffer_default_copy),
18069         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18070         (gst_buffer_create_sub):
18071         * gst/gstbuffer.h:
18072         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18073         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18074         (gst_caps_unref), (gst_static_caps_get),
18075         (gst_caps_remove_and_get_structure), (gst_caps_append),
18076         (gst_caps_append_structure), (gst_caps_remove_structure),
18077         (gst_caps_copy_nth), (gst_caps_set_simple),
18078         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18079         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18080         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18081         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18082         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18083         (gst_caps_structure_figure_out_union),
18084         (gst_caps_switch_structures), (gst_caps_do_simplify),
18085         (gst_caps_replace), (gst_caps_from_string),
18086         (gst_caps_copy_conditional):
18087         * gst/gstcaps.h:
18088         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18089         (_gst_clock_id_free), (gst_clock_id_unref),
18090         (gst_clock_id_compare_func), (gst_clock_id_wait),
18091         (gst_clock_id_wait_async), (gst_clock_class_init),
18092         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18093         (gst_clock_get_time), (gst_clock_set_time_adjust),
18094         (gst_clock_set_property), (gst_clock_get_property):
18095         * gst/gstclock.h:
18096         * gst/gstcompat.h:
18097         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18098         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18099         * gst/gstdata.h:
18100         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18101         (gst_element_requires_clock), (gst_element_provides_clock),
18102         (gst_element_set_clock), (gst_element_clock_wait),
18103         (gst_element_wait), (gst_element_set_time_delay),
18104         (gst_element_is_indexable), (gst_element_add_pad),
18105         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18106         (pad_compare_name), (gst_element_get_static_pad),
18107         (gst_element_request_pad), (gst_element_get_request_pad),
18108         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18109         (gst_element_class_get_pad_template_list),
18110         (gst_element_class_get_pad_template), (gst_element_error_func),
18111         (gst_element_get_random_pad), (gst_element_get_event_masks),
18112         (gst_element_send_event), (gst_element_seek),
18113         (gst_element_get_query_types), (gst_element_query),
18114         (gst_element_get_formats), (gst_element_convert),
18115         (gst_element_is_locked_state), (gst_element_set_locked_state),
18116         (gst_element_sync_state_with_parent), (gst_element_change_state),
18117         (gst_element_finalize), (gst_element_yield),
18118         (gst_element_interrupt), (gst_element_set_scheduler),
18119         (gst_element_get_scheduler), (gst_element_set_loop_function):
18120         * gst/gstelement.h:
18121         * gst/gstevent.h:
18122         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18123         (gst_format_get_by_nick), (gst_format_get_details),
18124         (gst_format_iterate_definitions):
18125         * gst/gstformat.h:
18126         * gst/gstindex.c: (gst_index_gtype_resolver):
18127         * gst/gstinfo.c:
18128         * gst/gstinfo.h:
18129         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18130         (gst_mem_chunk_free):
18131         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18132         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18133         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18134         (gst_object_dispatch_properties_changed),
18135         (gst_object_set_name_default), (gst_object_set_name),
18136         (gst_object_get_name), (gst_object_set_name_prefix),
18137         (gst_object_get_name_prefix), (gst_object_set_parent),
18138         (gst_object_get_parent), (gst_object_unparent),
18139         (gst_object_check_uniqueness), (gst_object_save_thyself),
18140         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18141         (gst_object_set_property), (gst_object_get_property),
18142         (gst_object_get_path_string):
18143         * gst/gstobject.h:
18144         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18145         (gst_real_pad_init), (gst_real_pad_get_property),
18146         (gst_pad_custom_new), (gst_pad_get_direction),
18147         (gst_pad_set_active), (gst_pad_is_active),
18148         (gst_pad_set_event_function), (gst_pad_is_linked),
18149         (gst_pad_link_free), (gst_pad_link_intersect),
18150         (gst_pad_link_fixate), (gst_pad_set_caps),
18151         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18152         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18153         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18154         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18155         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18156         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18157         (gst_pad_realize), (gst_pad_get_allowed_caps),
18158         (gst_real_pad_dispose), (gst_real_pad_finalize),
18159         (gst_pad_collectv), (gst_pad_collect_valist),
18160         (gst_pad_template_dispose), (gst_pad_template_new),
18161         (gst_pad_get_internal_links):
18162         * gst/gstpad.h:
18163         * gst/gstpipeline.c: (gst_pipeline_dispose),
18164         (gst_pipeline_change_state):
18165         * gst/gstpipeline.h:
18166         * gst/gstplugin.c:
18167         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18168         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18169         * gst/gstpluginfeature.h:
18170         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18171         * gst/gstquery.c: (_gst_query_type_initialize),
18172         (gst_query_type_register), (gst_query_type_get_by_nick),
18173         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18174         * gst/gstquery.h:
18175         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18176         * gst/gstscheduler.c: (gst_scheduler_add_element),
18177         (gst_scheduler_factory_create):
18178         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18179         (gst_structure_free), (gst_structure_set_name),
18180         (gst_structure_id_set_value), (gst_structure_set_value),
18181         (gst_structure_set_valist), (gst_structure_remove_field),
18182         (gst_structure_remove_fields),
18183         (gst_structure_remove_fields_valist),
18184         (gst_structure_remove_all_fields), (gst_structure_foreach),
18185         (gst_structure_map_in_place),
18186         (gst_caps_structure_fixate_field_nearest_int),
18187         (gst_caps_structure_fixate_field_nearest_double):
18188         * gst/gststructure.h:
18189         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18190         (gst_system_clock_init), (gst_system_clock_dispose),
18191         (gst_system_clock_async_thread),
18192         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18193         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18194         * gst/gstsystemclock.h:
18195         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18196         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18197         * gst/gsttaginterface.c:
18198         * gst/gstthread.c: (gst_thread_dispose),
18199         (gst_thread_release_children_locks), (gst_thread_change_state),
18200         (gst_thread_main_loop):
18201         * gst/gsttrashstack.h:
18202         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18203         * gst/gsttypes.h:
18204         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18205         (gst_element_request_pad), (gst_element_get_pad_from_template),
18206         (gst_element_request_compatible_pad),
18207         (gst_element_get_compatible_pad_filtered),
18208         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18209         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18210         (gst_element_link_many), (gst_element_link),
18211         (gst_element_link_pads), (gst_element_unlink_pads),
18212         (gst_element_unlink_many), (gst_element_unlink),
18213         (gst_pad_can_link_filtered), (gst_pad_can_link),
18214         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18215         (gst_object_default_error), (gst_bin_add_many),
18216         (gst_bin_remove_many), (gst_element_populate_std_props),
18217         (gst_element_class_install_std_props), (gst_buffer_merge),
18218         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18219         (link_fold_func), (gst_pad_proxy_setcaps):
18220         * gst/gstutils.h:
18221         * gst/gstvalue.c: (gst_value_deserialize_string):
18222         * gst/parse/grammar.y:
18223         * gst/schedulers/gstbasicscheduler.c:
18224         (gst_basic_scheduler_cothreaded_chain),
18225         (gst_basic_scheduler_chain_recursive_add),
18226         (gst_basic_scheduler_pad_link):
18227         * gst/schedulers/gstoptimalscheduler.c:
18228         (get_group_schedule_function),
18229         (gst_opt_scheduler_state_transition),
18230         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18231         * libs/gst/bytestream/bytestream.c:
18232         * libs/gst/dataprotocol/dataprotocol.c:
18233         (gst_dp_header_from_buffer):
18234         * po/nb.po:
18235         * po/ru.po:
18236         * tests/threadstate/threadstate2.c: (eos):
18237         * tools/gst-compprep.c: (main):
18238         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18239         (print_pad_info), (print_children_info):
18240         * tools/gst-launch.c: (idle_func), (main):
18241         * tools/gst-md5sum.c: (idle_func), (main):
18242         * tools/gst-xmlinspect.c: (print_element_info):
18243         First THREADED backport attempt, focusing on adding locks and
18244         making sure the API is threadsafe. Needs more work. More docs
18245         follow this week.
18246
18247 2005-02-24  Andy Wingo  <wingo@pobox.com>
18248
18249         * tests/bench-complexity.scm:
18250         * tests/complexity.gnuplot: New files, good for running complexity
18251         benchmarks.
18252
18253         * tests/Makefile.am:
18254         * tests/complexity.c: New test, sets up N elements, at each level
18255         teeing into M streams per element. Eeeenteresting.
18256
18257         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18258         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18259         running bench-mass_elements.scm.
18260
18261         * tests/bench-mass_elements.scm: New script, runs mass_elements
18262         for various numbers of identities, outputting the results to a
18263         file. Requires guile 1.6. Just for testing.
18264
18265 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18266
18267         * gst/schedulers/fairscheduler.c:
18268           compile with debug disabled
18269
18270 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18271
18272         * configure.ac:
18273           hunting season on 0.9 is now OPEN