tools/gst-launch.c (main): Handle err == NULL. gst/gst.c (init_post, ensure_current_r...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-08  Andy Wingo  <wingo@pobox.com>
2
3         * tools/gst-launch.c (main): Handle err == NULL.
4
5         * gst/gst.c (init_post, ensure_current_registry)
6         (ensure_current_registry_forking)
7         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
8         factoring out the registry scanning into separate functions. Don't
9         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
10         Better environment var name/interface suggestions accepted.
11
12 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13
14         * gst/gstobject.c: (gst_object_set_name_default),
15         (gst_object_set_name):
16           Random micro-optimisation: don't use a hash table
17           with strings as keys and the usual strdup/strcmp
18           involved, but rather just use the GQuark of the
19           type name as key, since it needs to be looked up
20           anyway to get the type name string.
21
22         * tests/check/gst/gstobject.c: (GST_START_TEST):
23           Fix various leaks.
24
25 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
26
27         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
28         (gst_bin_iterate_all_by_interface):
29           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
30           GTypes are gulongs and thus the top 4 bytes might be cut
31           off on some platforms when doing GPOINTER_TO_INT, leading
32           to invalid GTypes and bad things happening.
33           Also add a check to make sure the type passed in is really
34           an interface type.
35
36 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
37
38         * .cvsignore:
39           Ignore more.
40
41 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
42
43         * Makefile.am:
44         * configure.ac:
45         * gst-element-check.m4:
46         * gst-element-check.m4.in:
47           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
48           instead of the unversioned gst-inspect (#324176, #168659).
49
50 2006-07-06  Wim Taymans  <wim@fluendo.com>
51
52         * gst/gstmessage.h:
53         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
54         warnings.
55
56 2006-07-06  Wim Taymans  <wim@fluendo.com>
57
58         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
59         (gst_base_src_wait), (gst_base_src_update_length),
60         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
61         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
62         (gst_base_src_loop), (gst_base_src_start),
63         (gst_base_src_activate_pull):
64         Update docs.
65         blocksize == 0 now means the default blocksize when working in push
66         based mode.
67         Remove some pointless asserts in _wait function.
68         Fix offset/length calculations and EOS handling. We can now pull 0
69         bytes as well, which is allowed.
70         use _check_get_range() to decide if we can operate in _pull based
71         mode.
72         Fix refcounting leak when check_get_range function was not 
73         implemented.
74         API GstBaseSrc::blocksize range can be 0 too now (default)
75
76         * tests/check/elements/filesrc.c: (GST_START_TEST),
77         (filesrc_suite):
78         Added check to test _get_range() behaviour.
79
80 2006-07-06  Wim Taymans  <wim@fluendo.com>
81
82         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
83         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
84         (gst_pad_pull_range):
85         * gst/gstpad.h:
86         Lots of comments and docs added to the pad functions.
87         Flesh out the expected behaviour of the get_range() functions.
88
89 2006-07-06  Wim Taymans  <wim@fluendo.com>
90
91         * gst/gstbus.h:
92         * gst/gstclock.h:
93         * gst/gstevent.h:
94         * gst/gstiterator.h:
95         * gst/gstpad.h:
96         * gst/gstplugin.h:
97         * gst/gsttask.h:
98         Remove comma at end of enumerator list. 
99
100 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
101
102         * win32/common/libgstbase.def:
103         * win32/common/libgstdataprotocol.def:
104         * win32/common/libsgtreamer.def:
105         Add new exported functions.
106
107 2006-07-05  Wim Taymans  <wim@fluendo.com>
108
109         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
110         Add some more docs here and there.
111
112 2006-07-05  Wim Taymans  <wim@fluendo.com>
113
114         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
115         (gst_base_sink_loop), (gst_base_sink_get_position):
116         When operating in pull mode update the offset so that we
117         read sequentially.
118
119 2006-07-05  Wim Taymans  <wim@fluendo.com>
120
121         * gst/gstregistryxml.c: (read_string):
122         Avoid strdup. (will happen in libxml, but hey!)
123
124         * gst/gsturi.c:
125         Add some more docs.
126
127 2006-07-05  Wim Taymans  <wim@fluendo.com>
128
129         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
130         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
131         (gst_buffer_suite):
132         No point in checking if the size of the subbuffer > 0, the
133         code handles it correclty as demonstrated by unit test.
134         Also add a unit test for the zero sized _new_and_alloc and
135         _copy. Fixes #346663.
136
137 2006-07-05  Wim Taymans  <wim@fluendo.com>
138
139         * libs/gst/base/gstbasetransform.c:
140         (gst_base_transform_prepare_output_buffer),
141         (gst_base_transform_buffer_alloc),
142         (gst_base_transform_handle_buffer):
143         Make sure the buffer we pass to transform_ip has a refcount of
144         1 and thus is writable. Fixes #343196
145
146 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
147
148         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
149         (gst_file_src_init), (gst_file_src_set_property),
150         (gst_file_src_get_property), (gst_file_src_map_region):
151         * plugins/elements/gstfilesrc.h:
152         Add "sequential" property, off by default, to use madvise and hint
153         to the kernel that sequential access is desired.
154         Touch all retrieved pages by default to ensure they are pulled
155         into memory. (Closes #345720)
156
157 2006-07-03  Wim Taymans  <wim@fluendo.com>
158
159         * docs/design/part-block.txt:
160         * docs/design/part-dynamic.txt:
161         Small docs updates.
162
163 2006-07-03  Wim Taymans  <wim@fluendo.com>
164
165         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
166         (gst_caps_unref), (gst_static_caps_get),
167         (gst_caps_append_structure):
168         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
169         Use GSlice when the glib we build against is >= 2.10
170
171 2006-07-03  Wim Taymans  <wim@fluendo.com>
172
173         * gst/gstelement.c: (gst_element_pads_activate):
174         Small cleanup in pad activation code.
175
176 2006-07-03  Wim Taymans  <wim@fluendo.com>
177
178         Patch by: Peter Kjellerstedt <pkj at axis dot com>
179
180         * gst/gst-i18n-app.h:
181         * gst/gst-i18n-lib.h:
182         * tools/gst-inspect.c: (print_signal_info):
183         The attached patch will make the inclusion of gettext.h unconditional in
184         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
185         libintl.h in tools/gst-inspect.c.
186         This allows use of --disable-nls again and fixes #344642.
187
188 2006-07-03  Edward Hervey  <edward@fluendo.com>
189
190         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
191         Implement pad blocking on events according to part-block.txt.
192         More comments on behaviour.
193         * tests/check/gst/gstevent.c: (test_event):
194         Send event to peer pad of blocked pad (else it will block).
195
196 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
197
198         * libs/gst/check/gstcheck.c: (gst_check_message_error),
199         (gst_check_run_suite):
200           if we get the wrong message, give us the types as string
201         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
202           Fix a translatable
203         * tests/check/elements/filesrc.c: (GST_START_TEST):
204           add a test for trying to open a non-existing file
205
206 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
207
208         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
209           add a test for adding self
210
211 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
212
213         * libs/gst/check/gstcheck.h:
214           add some assert_ as alias for fail_unless_*
215         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
216           increase test coverage
217
218 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
219
220         * Makefile.am:
221           include lcov.mak for lcov coverage generation
222         * tools/Makefile.am:
223           add to CLEANFILES
224
225 2006-07-02  Edward Hervey  <edward@fluendo.com>
226
227         * tests/check/elements/.cvsignore:
228         moaping
229
230 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
231
232         * configure.ac:
233           don't set CFLAGS and friends for gcov, done from GST_GCOV now
234         * tests/check/Makefile.am:
235           clean up gcov files
236
237 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
238
239         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
240           remove gst_caps_simplify; it was not declared and not used
241           and deprecated in 0.8
242
243 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
244
245         * docs/faq/gst-uninstalled:
246           don't put empty paths on PYTHONPATH
247         * docs/gst/gstreamer-sections.txt:
248           remove some symbols that are not there
249
250 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
251
252         * gst/gstcaps.c: (gst_caps_compare_structures):
253           whitespace fixes
254         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
255         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
256           add more tests
257
258 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
259
260         * libs/gst/dataprotocol/Makefile.am:
261           build dataprotocol test by linking to the lib, instead of
262           compiling the source, so we get coverage
263         * tests/check/Makefile.am:
264         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
265         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
266           add a test for filesrc
267
268 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
269
270         * tests/check/gst/gststructure.c: (GST_START_TEST),
271         (gst_structure_suite):
272           Push coverage from 59.04% to 70.00%
273
274 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
275
276         * tests/check/Makefile.am:
277           gst-inspect every element; this makes sure that we also get
278           coverage on element's get/set functions
279
280 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
281
282         * configure.ac:
283           set CFLAGS and friends to -O0 if gcov is being used
284           add GCOV LIBS
285         * gst/Makefile.am:
286         * libs/gst/base/Makefile.am:
287         * libs/gst/check/Makefile.am:
288         * libs/gst/controller/Makefile.am:
289         * libs/gst/dataprotocol/Makefile.am:
290         * libs/gst/net/Makefile.am:
291         * plugins/elements/Makefile.am:
292         * plugins/indexers/Makefile.am:
293           add makefile rules to generate gcov data and clean up
294         * tests/check/Makefile.am:
295           add a coverage target that generates an html overview
296           of coverage data
297
298 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
299
300         * tests/check/elements/fakesink.c:
301         * tests/check/elements/fakesrc.c:
302         * tests/check/elements/fdsrc.c:
303         * tests/check/elements/identity.c:
304         * tests/check/generic/sinks.c: (gst_sinks_suite):
305         * tests/check/generic/states.c:
306         * tests/check/gst/gst.c:
307         * tests/check/gst/gstabi.c:
308         * tests/check/gst/gstbin.c:
309         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
310         * tests/check/gst/gstbus.c: (gst_bus_suite):
311         * tests/check/gst/gstcaps.c: (GST_START_TEST):
312         * tests/check/gst/gstelement.c:
313         * tests/check/gst/gstevent.c: (gst_event_suite):
314         * tests/check/gst/gstghostpad.c:
315         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
316         * tests/check/gst/gstmessage.c: (gst_message_suite):
317         * tests/check/gst/gstminiobject.c:
318         * tests/check/gst/gstobject.c:
319         * tests/check/gst/gstpad.c:
320         * tests/check/gst/gstpipeline.c:
321         * tests/check/gst/gstplugin.c:
322         * tests/check/gst/gstquery.c: (gst_query_suite):
323         * tests/check/gst/gstsegment.c: (gst_segment_suite):
324         * tests/check/gst/gststructure.c:
325         * tests/check/gst/gstsystemclock.c:
326         * tests/check/gst/gsttag.c:
327         * tests/check/gst/gsttask.c: (gst_task_suite):
328         * tests/check/gst/gstutils.c:
329         * tests/check/gst/gstvalue.c:
330         * tests/check/libs/adapter.c:
331         * tests/check/libs/basesrc.c:
332         * tests/check/libs/collectpads.c:
333         * tests/check/libs/controller.c:
334         * tests/check/libs/gdp.c: (gst_dp_suite):
335         * tests/check/libs/gstnetclientclock.c:
336         * tests/check/libs/gstnettimeprovider.c:
337         * tests/check/libs/libsabi.c: (libsabi_suite):
338         * tests/check/libs/typefindhelper.c:
339         * tests/check/pipelines/cleanup.c:
340         * tests/check/pipelines/parse-launch.c:
341         * tests/check/pipelines/simple-launch-lines.c:
342         * tests/check/pipelines/stress.c: (stress_suite):
343           use the new macro
344
345 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
346
347         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
348         * libs/gst/check/gstcheck.h:
349           create a macro and function so that the simple unit test
350           case can be just one macro to create main()
351
352 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
353
354         * gst/gstbin.c: (gst_bin_restore_thyself):
355         * gst/gstxml.c: (gst_xml_make_element):
356           Fix deserialisation from XML. Set parent manually
357           instead of using gst_bin_add(), since gst_bin_add()
358           will unlink all pads of the element being added.
359           Fixes #341667.
360
361 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
362
363         Patch by: Peter Kjellerstedt <pkj at axis com>
364
365         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
366           Fix missing g_strdup() and double free when using the
367           --gst-plugin-load command line option (#346097).
368
369 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
370
371         * gst/gstinfo.c:
372           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
373
374         * libs/gst/net/gstnetclientclock.c:
375         * libs/gst/net/gstnettimeprovider.c:
376           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
377
378 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
379
380         * docs/manual/advanced-dataaccess.xml:
381           Fix buffer probe example compilation in
382           ADM (#345708).
383         
384 2006-06-22  Edward Hervey  <edward@fluendo.com>
385
386         * gst/gstelement.c: (gst_element_pads_activate):
387         We need to deactivate src pads first and then sink pads.
388         The reason is the src pads might be blocking while holding the streaming
389         lock, so we need to deactivate them first so that deactivating the sink
390         pads doesn't block (since it will require the streaming lock).
391
392 2006-06-22  Wim Taymans  <wim@fluendo.com>
393
394         * libs/gst/base/gstbasetransform.c:
395         (gst_base_transform_buffer_alloc):
396         Forgot to remove two unneeded unrefs.
397         Simplify a check _is_equal allready checks the obvious case.
398
399 2006-06-22  Wim Taymans  <wim@fluendo.com>
400
401         * docs/design/part-block.txt:
402         Some docs about what pad_block should do.
403
404 2006-06-22  Wim Taymans  <wim@fluendo.com>
405
406         * gst/gstcaps.c: (gst_caps_replace):
407         Fix crasher when passed NULL. Doc clarification.
408         Optimize for the trivial case.
409
410         * gst/gstpipeline.c: (gst_pipeline_change_state):
411         Small cleanups.
412
413         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
414         Small documentation cleanup.
415
416         * libs/gst/base/gstbasetransform.c:
417         (gst_base_transform_buffer_alloc):
418         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
419         is what we need and it avoids a whole lot of redundant 
420         refcount operations.
421
422 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
423
424         Patch by: Philip Jägenstedt  <philip at lysator liu se>
425
426         * docs/manual/advanced-dataaccess.xml:
427           Fix 'Embedding static elements' section to use
428           GST_PLUGIN_DEFINE_STATIC (#345607).
429
430 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
431
432         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
433           Attempt to 'fix' spuriously failing test case: it seems like the
434           timeout of half a second is simply too small when the system is under
435           load otherwise, and the timeout doesn't really seem to serve any
436           particular purpose here. Give the pipeline a few seconds to preroll
437           first, and then give it another half a second to go from PAUSED to
438           PLAYING and marshal the message into the main thread.
439
440 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
441
442         * tools/gst-feedback-m.m:
443           Don't only use unversioned tools, try versioned tools as well
444           (#345086).
445
446 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
447
448         * gst/gstbus.c: (gst_bus_class_init):
449           Fix some typos, make docs more explicit.
450
451 2006-06-20  Wim Taymans  <wim@fluendo.com>
452
453         * tests/check/gst/gstghostpad.c: (block_callback),
454         (GST_START_TEST), (gst_ghost_pad_suite):
455         Added some more ghostpad tests, mainly blocking
456         and probes.
457
458 2006-06-16  Wim Taymans  <wim@fluendo.com>
459
460         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
461         (gst_file_sink_close_file), (gst_file_sink_do_seek),
462         (gst_file_sink_event), (gst_file_sink_render):
463         * plugins/elements/gstfilesink.h:
464         Check if we can seek in the file instead of assuming
465         we always can. Post an error when we are asked to seek in a
466         non-seekable file (like a fifo). Fixes #343312.
467         Some cleanups.
468
469 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
470
471         * tools/gst-launch.1.in:
472           Un-garble (fourcc) bit in filtered caps section.
473
474 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
475
476         * docs/manual/advanced-autoplugging.xml:
477         * docs/manual/basics-helloworld.xml:
478         * docs/manual/highlevel-components.xml:
479           Don't leak bus reference in sample code.
480
481 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
482
483         * autogen.sh:
484           Add default for new --enable-plugin-docs switch.
485
486         * configure.ac:
487           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
488           Fixes #344039.
489
490         * docs/Makefile.am:
491           Use new ENABLE_PLUGIN_DOCS conditional.
492
493 2006-06-14  Wim Taymans  <wim@fluendo.com>
494
495         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
496         Make it clear with a FIXME and a real define what the #if 0
497         previously disabled.
498
499 2006-06-14  Wim Taymans  <wim@fluendo.com>
500
501         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
502         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
503         * libs/gst/base/gstbasetransform.c:
504         (gst_base_transform_sink_eventfunc):
505         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
506         Don't randomly and silently reset a segment when the format 
507         changes as this is a bug somewhere upstream. Fixes #330379.
508
509 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
510
511         Patch by: Wouter Paesen  <wouter at kangaroot net>
512
513         * libs/gst/controller/gstcontroller.c:
514         (gst_controlled_property_new):
515           Fix controlling of float properties (#344849).
516
517         * tests/check/libs/controller.c:
518         (gst_test_mono_source_get_property),
519         (gst_test_mono_source_set_property),
520         (gst_test_mono_source_class_init), (GST_START_TEST):
521           While we're at it, add some float stuff to unit test.
522
523 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
524
525         * docs/README:
526         * docs/images/gdp-header.svg:
527           add a gdp image
528         * docs/libs/Makefile.am:
529         * docs/libs/gdp-header.png:
530         * libs/gst/dataprotocol/dataprotocol.c:
531           add it to the API docs
532         * docs/manual/intro-motivation.xml:
533           fix typo
534
535 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
536
537         * gst/gst.c: (scan_and_update_registry), (init_post):
538           If the fork()'ed child process can't write the updated registry cache
539           file to disk for some reason, make it exit with a failure exit code,
540           so that the parent can then re-scan the plugins itself and update the
541           registry structures in memory and work with that (rather than failing
542           when creating elements because seemingly no plugins are available).
543           Refactor registry scanning code into separate function for this and
544           also separate fork() and non-fork() code paths. Fixes #344748.
545
546 2006-06-13  Wim Taymans  <wim@fluendo.com>
547
548         * docs/manual/advanced-dataaccess.xml:
549         Fix wrong PluginDesc. Fixes #344755.
550
551 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
552
553         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
554           Fix silly bug that prevented us from creating
555           ~/.gstreamer-0.10 and writing the registry in one
556           go (the first call to g_mkstemp() would overwrite the
557           placeholder in the template string, so the second call
558           to g_mkstemp() after creating the missing directory
559           would then error out with 'invalid argument').
560
561 2006-06-13  Edward Hervey  <edward@fluendo.com>
562
563         * gst/gst.c: (init_post):
564         Free string.
565
566 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
567
568         * gst/glib-compat-private.h:
569         * gst/glib-compat.c:
570         * gst/glib-compat.h:
571         * gst/gstvalue.c: (gst_value_serialize_flags):
572           remove GLib 2.6 compatibility code
573
574 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
575
576         * gst/parse/Makefile.am:
577           Fix build with 'make -j N' even more (#340016).
578
579 2006-06-12  Wim Taymans  <wim@fluendo.com>
580
581         * docs/gst/gstreamer-sections.txt:
582         Fix docs.
583
584 2006-06-12  Wim Taymans  <wim@fluendo.com>
585
586         * gst/gstsegment.c: (gst_segment_set_duration),
587         (gst_segment_set_last_stop), (gst_segment_set_seek),
588         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
589         (gst_segment_to_running_time), (gst_segment_clip):
590         Use G_UNLIKELY to help the compiler a bit.
591
592 2006-06-12  Wim Taymans  <wim@fluendo.com>
593
594         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
595
596         * gst/gstevent.c: (gst_event_get_type):
597         * gst/gstmessage.c:
598         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
599         (gst_pad_push):
600         constify quark registration strings. Fixes #344115
601         Avoid unneeded type checking is _pad_push() by internally
602         calling gst_pad_chain_unchecked().
603
604 2006-06-12  Wim Taymans  <wim@fluendo.com>
605
606         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
607         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
608         (gst_subbuffer_finalize), (gst_buffer_create_sub),
609         (gst_buffer_is_span_fast), (gst_buffer_span):
610         Init _type for consistency.
611         Use _FLAGS macro to avoid type check.
612         Avoid unneeded type checks in subbufer code.
613
614 2006-06-12  Wim Taymans  <wim@fluendo.com>
615
616         * gst/gst.c: (gst_debug_help):
617         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
618         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
619         (gst_plugin_feature_list_free):
620         * gst/gstregistry.c: (gst_registry_add_plugin),
621         (gst_registry_add_feature), (gst_registry_plugin_filter),
622         (gst_registry_feature_filter), (gst_registry_find_plugin),
623         (gst_registry_find_feature), (gst_registry_get_plugin_list),
624         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
625         * gst/gstregistryxml.c: (load_feature),
626         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
627         * gst/gstminiobject.c: (gst_mini_object_unref),
628         (gst_mini_object_replace), (gst_value_mini_object_free),
629         (gst_value_mini_object_copy):
630         Use _CAST macros to avoid unneeded type checking.
631         Added some more G_UNLIKELY.
632
633 2006-06-12  Wim Taymans  <wim@fluendo.com>
634
635         * gst/gstbuffer.h:
636         Avoid unneeded type checking.
637         API: GST_BUFFER_IS_DISCONT
638
639         * gst/gstminiobject.h:
640         Avoid type check in flag accessor.
641
642         * gst/gstelementfactory.h:
643         * gst/gstplugin.h:
644         * gst/gstpluginfeature.h:
645         Add _CAST macros.
646         API: GST_ELEMENT_FACTORY_CAST
647         API: GST_PLUGIN_CAST
648         API: GST_PLUGIN_FEATURE_CAST
649
650 2006-06-12  Wim Taymans  <wim@fluendo.com>
651
652         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
653         (gst_object_unref):
654         Add G_UNLIKELY in type registration.
655         Avoid type check in _ref/_unref since that is also
656         done in glib.
657
658 2006-06-12  Wim Taymans  <wim@fluendo.com>
659
660         * gst/gsterror.c: (gst_g_error_get_type):
661         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
662         (gst_static_pad_template_get_type):
663         * gst/gsttaglist.c: (gst_tag_list_get_type):
664         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
665         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
666         * gst/gsturi.c: (gst_uri_handler_get_type):
667         * gst/gstvalue.c: (gst_date_get_type):
668         * gst/gstxml.c: (gst_xml_get_type):
669         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
670         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
671         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
672         Add G_UNLIKELY in type registration.
673
674 2006-06-12  Wim Taymans  <wim@fluendo.com>
675
676         * tools/gst-inspect.c: (print_signal_info):
677         Properly print enum values.
678
679 2006-06-12  Wim Taymans  <wim@fluendo.com>
680
681         * gst/gstinfo.c: (gst_debug_set_active),
682         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
683         * gst/gstinfo.h:
684         Add some G_[UN]LIKELY.
685         Maintain __gst_debug_min to avoid formatting the arguments of
686         debug messages that will be dropped anyway to avoid a lot of 
687         overhead from the debugging system.
688
689 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
690
691         * po/POTFILES.in:
692         * po/POTFILES.skip:
693           add missing files containing translatable strings, tell intltool about
694           one exception
695
696 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
697
698         * tests/check/libs/.cvsignore:
699         add test-binary to ignore list
700
701 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
702
703         * docs/libs/gstreamer-libs-docs.sgml:
704         reorder (put dp into a chapter) and indent
705
706 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
707
708         * configure.ac:
709           back to HEAD
710
711 === release 0.10.8 ===
712
713 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
714
715         * configure.ac:
716           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
717
718 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
719
720         * gst/gst.c: (init_post):
721           move pid declaration to declaration block
722
723 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
724
725         * gst/gst.c: (init_post):
726           use _exit() instead of exit() in our forked child; this ensures
727           that none of the registered exit handlers from whatever is using
728           GStreamer get executed.  This fixes gnome-mixer-applet failing
729           to load, because ORBit would shut down.
730           Spotted by: Edward Hervey  <edward@fluendo.com>
731           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
732           Fixes #344474
733
734 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
735
736         * configure.ac:
737           back to TRUNK
738
739 === release 0.10.7 ===
740
741 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
742
743         * configure.ac:
744           releasing 0.10.7, "Soepeke, ik zie ou"
745
746 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
747
748         * configure.ac:
749         * po/af.po:
750         * po/az.po:
751         * po/bg.po:
752         * po/ca.po:
753         * po/cs.po:
754         * po/de.po:
755         * po/en_GB.po:
756         * po/fr.po:
757         * po/it.po:
758         * po/nb.po:
759         * po/nl.po:
760         * po/ru.po:
761         * po/sq.po:
762         * po/sr.po:
763         * po/sv.po:
764         * po/tr.po:
765         * po/uk.po:
766         * po/vi.po:
767         * po/zh_CN.po:
768         * po/zh_TW.po:
769         * win32/common/config.h:
770           0.10.6.2 prerelease
771
772 2006-06-07  Wim Taymans  <wim@fluendo.com>
773
774         * gst/gstindex.c: (gst_index_gtype_resolver):
775         * tools/gst-xmlinspect.c: (print_plugin_info):
776         Fix leak spotted by coverity checker. Fixes #343827
777         Fix another other leak found by paolo borelli.
778
779 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
780
781         * libs/gst/dataprotocol/dataprotocol.c:
782         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
783         (gst_dp_version_get_type), (gst_dp_init),
784         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
785         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
786         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
787         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
788         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
789         (gst_dp_packetizer_free):
790         * libs/gst/dataprotocol/dataprotocol.h:
791           API: add a GstDPPacketizer object, and create/free functions
792           API: add GstDPVersion enum
793           Add 1.0 event function that uses the string serialization
794           Serialize more useful buffer flags
795           Fixes #343988
796
797 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
798
799         * tests/check/Makefile.am:
800         * tests/check/gst/gstabi.c:
801         * tests/check/gst/struct_ppc64.h:
802         * tests/check/libs/libsabi.c:
803         * tests/check/libs/struct_ppc64.h:
804           add ppc64 structure sizes
805
806 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
807
808         * tests/check/Makefile.am:
809         * tests/check/gst/gstabi.c:
810         * tests/check/gst/struct_x86_64.h:
811         * tests/check/libs/libsabi.c:
812         * tests/check/libs/struct_x86_64.h:
813           generate and add structure size lists for x86_64
814
815 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
816
817         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
818         * libs/gst/check/gstcheck.h:
819           factor out the method from tests that checks size of structures,
820           and add code to generate the header containing these sizes
821         * tests/check/gst/gstabi.c: (GST_START_TEST):
822         * tests/check/gst/struct_i386.h:
823         * tests/check/libs/libsabi.c: (GST_START_TEST):
824         * tests/check/libs/struct_i386.h:
825           use it
826
827 2006-06-06  Michael Smith  <msmith@fluendo.com>
828
829         * gst/gstsegment.h:
830           Don't use c++-style comments, fixes #343929
831
832 2006-06-05  Edward Hervey  <edward@fluendo.com>
833
834         * gst/gst.c:
835         plugin_paths is not used if we build without registry support.
836
837         * gst/gstsegment.c: (gst_segment_copy): 
838         _copy() was always returning NULL...
839
840 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
841
842         * libs/gst/dataprotocol/dataprotocol.c:
843         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
844         (gst_dp_packet_from_event):
845           factor out CRC code
846
847 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
848
849         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
850           make sure we unset caps
851
852 2006-06-02  Michael Smith  <msmith@fluendo.com>
853
854         * libs/gst/check/gstcheck.c: (gst_check_init),
855         (gst_check_chain_func):
856         * libs/gst/check/gstcheck.h:
857           Add a cond/mutex to the check support lib, signal this whenever we
858           add to the buffers list. This will allow tests to not busy-wait on
859           the buffer-list.
860
861 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
862
863         * libs/gst/dataprotocol/dataprotocol.c:
864         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
865         (gst_dp_packet_from_event):
866           factor out some common header init code
867
868 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
869
870         * docs/libs/gstreamer-libs-sections.txt:
871         * docs/libs/tmpl/gstdataprotocol.sgml:
872         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
873         * libs/gst/dataprotocol/dataprotocol.h:
874           API: make gst_dp_crc() public
875
876 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
877
878         * plugins/indexers/gstindexers.c: (plugin_init):
879         conditionally register fileindexer (fixes #343598)
880
881 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
882
883         * gst/gsttagsetter.h:
884         Can't cast ifaces to a class
885
886         * libs/gst/net/gstnetclientclock.h:
887         * libs/gst/net/gstnettimeprovider.h:
888         * plugins/elements/gstfakesink.h:
889         * plugins/elements/gstfakesrc.h:
890         * plugins/elements/gstfdsink.h:
891         * plugins/elements/gstfdsrc.h:
892         * plugins/elements/gstfilesink.h:
893         * plugins/elements/gstfilesrc.h:
894         * plugins/elements/gstidentity.h:
895         * plugins/elements/gstqueue.h:
896         * plugins/elements/gsttee.h:
897         * plugins/indexers/gstfileindex.c:
898         * plugins/indexers/gstmemindex.c:
899         * tests/old/examples/plugins/example.h:
900         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
901
902 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
903
904         * libs/gst/dataprotocol/dataprotocol.c:
905         (gst_dp_header_from_buffer):
906           make sure we zero the whole ABI-compatible area
907
908 2006-06-01  Wim Taymans  <wim@fluendo.com>
909
910         Patch by: Alessandro Decina <alessandro at nnva dot org>
911
912         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
913         Make sure the EOS flag is cleared from pads after a flush
914         or stop. Fixes #343538.
915
916         * tests/check/libs/collectpads.c: (GST_START_TEST),
917         (gst_collect_pads_suite):
918         Added test for collectpads reusage after EOS.
919
920 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
921
922         * gst/gst.c:
923          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
924         * win32/common/libgstbase.def:
925          export gst_collect_pads_set_flushing
926         * win32/common/libgstreamer.def:
927          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
928          gst_value_fraction_multiply
929         * win32/vs6/gst_inspect.dsp:
930          add a link to intl.lib
931
932 2006-05-30  Wim Taymans  <wim@fluendo.com>
933
934         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
935         (gst_collect_pads_chain):
936         Handle the case where a pad is removed from the collection
937         that could cause the other pads to become collectable.
938
939 2006-05-30  Wim Taymans  <wim@fluendo.com>
940
941         * gst/gstelement.c:
942         Clarify the use of _release_request_pad() and
943         _get_request_pad() a bit better.
944
945         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
946         (gst_adapter_take_buffer):
947         Fix some doc and comment typos.
948
949 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
950
951         * docs/gst/gstreamer-sections.txt:
952         * docs/libs/gstreamer-libs-sections.txt:
953           add declared symbols
954
955 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
956
957         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
958         Add debug that can be enabled using a #define at the top of the file,
959         for dumping stats about how late/early we were when waking up from
960         waiting on the clock.
961
962 2006-05-30  Wim Taymans  <wim@fluendo.com>
963
964         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
965         When rebuilding the pad list, don't leak the previous list.
966
967 2006-05-30  Wim Taymans  <wim@fluendo.com>
968
969         Patch by: Lutz Mueller <lutz at topfrose dot de>
970
971         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
972         (gst_base_src_get_query_types), (gst_base_src_update_length):
973         Publish supported query types.
974         Update last_stop field in get_range mode so the position
975         query works. Fixes #342321.
976
977 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
978
979         * docs/gst/gstreamer-sections.txt:
980         * gst/gsttaglist.c: (_gst_tag_initialize):
981         * gst/gsttaglist.h:
982           API: add GST_TAG_PREVIEW_IMAGE (#343341).
983
984 2006-05-30  Wim Taymans  <wim@fluendo.com>
985
986         Patch by: Alessandro Decina <alessandro at nnva dot org>
987
988         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
989         Unlock mutex when removing an unknown pad.
990         Fixes #343334.
991
992         * tests/check/Makefile.am:
993         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
994         (push_event), (setup), (teardown), (GST_START_TEST),
995         (gst_collect_pads_suite), (main):
996         Added collecpads check, disabled for now as check crashes for
997         some reason.
998
999 2006-05-29  Wim Taymans  <wim@fluendo.com>
1000
1001         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1002         Don't leak pads lists.
1003
1004 2006-05-29  Wim Taymans  <wim@fluendo.com>
1005
1006         * docs/libs/gstreamer-libs-sections.txt:
1007         * libs/gst/base/gstcollectpads.c:
1008         (gst_collect_pads_set_flushing_unlocked),
1009         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1010         (gst_collect_pads_stop):
1011         * libs/gst/base/gstcollectpads.h:
1012         API: gst_collect_pads_set_flushing()
1013         Added api to set the pads to flushing, useful for seeking
1014         code in elements using collectpads.
1015         Clear segment when receiving a flush.
1016
1017 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1018
1019         * gst/gst.c: (add_path_func), (init_post):
1020           Don't scan registry paths passed via --gst-plugin-path immediately
1021           (will crash, because absolutely nothing is set up and no types are
1022           registered etc.); do this later in init_post(). Fixes #343057.
1023
1024 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1025
1026         * gst/gst.c: (init_post):
1027           if we have fork, fork while reading/rebuilding the registry
1028           so the parent doesn't take the hit of having all plugins loaded
1029           in memory.  Fixes #342777.
1030         * configure.ac:
1031           Check if we have fork()
1032         * win32/common/config.h.in:
1033           no fork() on win32
1034
1035 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1036
1037         * plugins/elements/gstelements.c:
1038         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1039         (gst_file_src_init), (gst_file_src_set_property),
1040         (gst_file_src_get_property), (gst_file_src_start):
1041         * plugins/elements/gstfilesrc.h:
1042           API: GstFileSrc::use-mmap
1043
1044         Add a use-mmap property to enable easier testing of all code paths.
1045         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1046         in the absence of gnomevfssrc. (Closes #340501)
1047
1048 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1049
1050         * tools/gst-inspect.c:
1051         Add missing include, removes warning of ngettext not being defined on
1052         some arches.
1053
1054 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1055
1056         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1057         Handle NULL input and output pointers silently as a failed conversion,
1058         rather than g_warnings.
1059
1060 2006-05-25  Wim Taymans  <wim@fluendo.com>
1061
1062         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1063         Initialize variable before using. Fixes #342820.
1064
1065 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1066
1067         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1068           Fix off-by-one bug that would only allow peeks of N-1 bytes
1069           from the start even if the buffer to typefind on contains
1070           in fact N bytes of data (makes vorbis typefinding from a
1071           vorbis identification header buffer work).
1072
1073         * tests/check/Makefile.am:
1074         * tests/check/libs/.cvsignore:
1075         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1076         (gst_typefindhelper_suite), (main), (foobar_typefind),
1077         (plugin_init):
1078           Add very basic unit test for gst_type_find_helper_for_buffer()
1079           that checks for the problem fixed above.
1080
1081 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1082
1083         * tools/gst-inspect.c: (print_interfaces),
1084         (print_element_properties_info), (print_element_list), (main):
1085           add more translatable strings
1086
1087 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1088
1089         Patch by: Julien Moutte  <julien at moutte net>
1090
1091         * docs/gst/gstreamer-sections.txt:
1092           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1093           
1094         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1095         (gst_fake_sink_preroll):
1096         * plugins/elements/gstfakesink.h:
1097           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1098
1099 2006-05-23  Wim Taymans  <wim@fluendo.com>
1100
1101         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1102         * gst/gstpad.h:
1103         Added _CUSTOM error and success GstFlowReturn that can be
1104         used be elements internally. 
1105         Added macro to check for SUCCESS flowreturns.
1106         API: GST_FLOW_CUSTOM_SUCCESS
1107         API: GST_FLOW_CUSTOM_ERROR
1108         API: GST_FLOW_IS_SUCCESS
1109
1110         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1111         Added check for GstFlowReturn sanity.
1112
1113 2006-05-23  Wim Taymans  <wim@fluendo.com>
1114
1115         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1116
1117         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1118         (gst_collect_pads_event):
1119         clear/reset segment info in FLUSH_STOP.
1120         Fixes #336929.
1121
1122 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1123
1124         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1125         (gst_collect_pads_check_collected):
1126         Flush queued buffer on _stop(), fixes playing again (#342454)
1127
1128 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1129
1130         * tests/check/gst/gststructure.c: (GST_START_TEST),
1131         (gst_structure_suite):
1132           add a test for a complete structure
1133
1134 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1135
1136         * docs/faq/developing.xml:
1137         * docs/faq/faq.xml:
1138         * docs/faq/troubleshooting.xml:
1139         * docs/faq/using.xml:
1140           Some minor FAQ updates that won't change the fact that
1141           our FAQ is badly structured, full of information hardly
1142           anyone new to GStreamer needs to know and lacking lots
1143           of information people constantly ask for.
1144           
1145 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1146
1147         * gst/gstpad.c: (gst_pad_set_caps):
1148           Short-circuit gst_pad_set_caps if setting the existing
1149           caps pointer again, and avoid printing debug and 
1150           reffing/unreffing the caps.
1151
1152         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1153           There's actually no need to set the caps before pushing -
1154           the acceptcaps method will handle it anyway.
1155
1156 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1157
1158         * docs/gst/gstreamer-sections.txt:
1159         * win32/common/libgstreamer.def:
1160         * gst/gstutils.c: (gst_element_seek_simple):
1161         * gst/gstutils.h:
1162           API: add gst_element_seek_simple() (#342238).
1163
1164 2006-05-18  Edward Hervey  <edward@fluendo.com>
1165
1166         * gst/gsttypefind.c: (gst_type_find_get_type):
1167         * gst/gsttypefind.h:
1168         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1169         registered for GstTypeFind pointers. This allows wrapping the structure
1170         in bindings (i.e. gst-python).
1171
1172 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1173
1174         * gst/gsttagsetter.c:
1175           Docs additions and fixes (see #339918).
1176
1177 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1178
1179         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1180         The caps intersection algorithm can produce multiple copies of the
1181         caps. Until that is fixed, we need to simplify the result to be
1182         sure whether the allowed caps are fixed or not.
1183
1184         * plugins/elements/gstqueue.c: (gst_queue_init),
1185         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1186         (gst_queue_push_one):
1187         Proxied buffer alloc should not set the caps on the source pad.
1188         When pushing buffers, we always accept the caps change that triggers.
1189         This prevents negotiation errors caused by caps changing mid-stream 
1190         and then being refused on our source pad (because upstream is now
1191         refusing those caps).
1192
1193 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1194
1195         * tests/examples/helloworld/helloworld.c: (main):
1196           Must plug audioconvert and audioresample between decoder
1197           and audio sink.
1198
1199 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1200
1201         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1202         (load_feature), (load_plugin):
1203         Allow empty strings for some of the plugin fields so we don't 
1204         drop valid plugin entries that were written out correctly
1205         (Fixes #341479)
1206
1207 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1208         
1209         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1210           Use g_remove and g_rename instead of remove and rename that don't 
1211           handle utf8 characters. rename was failing for users who had specific
1212           characters in their name then the registry was built at each 
1213           gstreamer init.
1214         * win32/vs6/gst_inspect.dsp:
1215         * win32/vs6/gst_launch.dsp:
1216         * win32/vs6/libgstbase.dsp:
1217         * win32/vs6/libgstcoreelements.dsp:
1218         * win32/vs6/libgstreamer.dsp:
1219           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1220           build of libgstreamer and clean unused libraries in projects link 
1221           settings.
1222
1223 2006-05-17  Edward Hervey  <edward@fluendo.com>
1224
1225         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1226         The queue is not responsible for pushing an EOS when receiving a fatal
1227         flow error. It's up to the real element driving the pipeline to do that.
1228
1229 2006-05-16  Edward Hervey  <edward@fluendo.com>
1230
1231         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1232         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1233         buffer returned a fatal error. It should just send an EOS and stop
1234         its task.
1235         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1236         when pushing buffers on the queue and will be able to handle the event.
1237
1238 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1239
1240         * docs/manual/basics-bins.xml:
1241         * docs/manual/basics-init.xml:
1242           Fix typos and minor errors in sample code (#341856).
1243
1244 2006-05-16  Wim Taymans  <wim@fluendo.com>
1245
1246         * docs/design/part-qos.txt:
1247         Fix indexes in formulas to make more sense.
1248
1249 2006-05-15  Wim Taymans  <wim@fluendo.com>
1250
1251         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1252         Don't report POSITION based on clock time if sync is
1253         disabled in a sink.
1254
1255 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1256
1257         * gst/gstobject.h:
1258           Add cast to make compiler happy - refcount variable was a gint
1259           in GstObject but is a guint in GObject and g_atomic_int_get()
1260           wants a gint *.
1261
1262 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1263
1264         * gst/parse/Makefile.am:
1265           chain commands using &&, which also makes parallel make work
1266
1267 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1268
1269         * docs/gst/gstreamer-sections.txt:
1270         * gst/gstevent.c:
1271         * gst/gstevent.h:
1272         * gst/gstmessage.h:
1273           Minor docs fixes.
1274
1275 === release 0.10.6 ===
1276
1277 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1278
1279         * configure.ac:
1280           releasing 0.10.6, "Take the cannoli"
1281
1282 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1283
1284         * tools/gst-launch.c: (print_tag):
1285           Fix use of uninitialized variable in the hypothetical
1286           case that some broken plugin creates a GST_TAG_IMAGE
1287           tag containing a NULL buffer (#341667).
1288
1289 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1290
1291         * tools/gst-launch.c: (print_tag):
1292           Print something more intelligible for image tags when
1293           using the -t switch (#341556).
1294
1295 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1296
1297         * Makefile.am:
1298           updates for win32
1299         * configure.ac:
1300           define GST_MAJORMINOR so we have it available in win32/common/config.h
1301           Possibly remove it from our Makefile.am files later
1302         * win32/common/config.h:
1303         * win32/common/config.h.in:
1304           added GST_MAJORMINOR
1305         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1306         * win32/common/gstversion.h:
1307           updated
1308
1309 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1310
1311         * win32/MANIFEST:
1312           Update win32 files listing.
1313         * win32/common/gstversion.h:
1314           Add GST_MAJORMINOR definition.
1315         * win32/common/libgstreamer.def:
1316           Add new exported functions.
1317           
1318 2006-05-12  Michael Smith  <msmith@fluendo.com>
1319
1320         * gst/gstplugin.c: (gst_plugin_load_file):
1321           If an so file has no plugin entry point, unload the module.
1322
1323 2006-05-11  Wim Taymans  <wim@fluendo.com>
1324
1325         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1326         (gst_queue_set_property):
1327         Don't forget to signal the _chain or _loop function 
1328         when the queue size or thresholds change since that might
1329         cause them to make progres again.
1330
1331 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1332
1333         * gst/gstclock.c: (gst_clock_class_init):
1334         * gst/gstindex.c: (gst_index_class_init):
1335         * gst/gstobject.c: (gst_object_class_init):
1336         * gst/gstpad.c: (gst_pad_class_init):
1337         * gst/gstpipeline.c: (gst_pipeline_class_init):
1338         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1339         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1340         * libs/gst/base/gstbasetransform.c:
1341         (gst_base_transform_class_init):
1342         * libs/gst/net/gstnetclientclock.c:
1343         (gst_net_client_clock_class_init):
1344         * libs/gst/net/gstnettimeprovider.c:
1345         (gst_net_time_provider_class_init):
1346         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1347         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1348         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1349         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1350         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1351         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1352         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1353         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1354         * plugins/elements/gsttee.c: (gst_tee_class_init):
1355         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1356         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1357           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1358
1359 2006-05-11  Wim Taymans  <wim@fluendo.com>
1360
1361         * gst/gstbuffer.c: (_gst_buffer_initialize):
1362         Register subbufer along with the buffer type so that
1363         it does not accidentally gets registered from N
1364         different streaming threads in a non threadsafe way.
1365
1366 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1367
1368         * gst/gstbuffer.h:
1369         * gst/gstevent.h:
1370         * gst/gstmessage.h:
1371           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1372           gst_event_ref() and gst_message_ref() functions again
1373           (ugly hack, please do fix if there's a better way besides
1374           overrides.txt, which doesn't seem to work).
1375
1376 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1377
1378         * libs/gst/check/gstcheck.h:
1379           add an assert for setting state to avoid lots of repetitive code
1380           in the future
1381
1382 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1383
1384         * gst/gstvalue.c: (gst_value_serialize_flags):
1385           fix a leak if no flags are set
1386         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1387           fix leak in tests
1388
1389 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1390
1391         * docs/manual/basics-pads.xml:
1392           Expand a bit on caps and filtered links and update
1393           examples that were still using the no longer existing
1394           gst_pad_link_filtered() (#338206).
1395
1396 2006-05-10  Wim Taymans  <wim@fluendo.com>
1397
1398         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1399         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1400         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1401         (gst_collect_pads_stop):
1402         * libs/gst/base/gstcollectpads.h:
1403         No need to call _stop in _finalize.
1404         Iterate the main pad list in _finalize.
1405         Added some more debug.
1406         Free lists and data in the right order.
1407         Also free data whem doing _remove_pad when stopped for
1408         backward compatibility protect ::started with PAD_LOCK as
1409         well.
1410
1411 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1412
1413         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1414         (gst_structure_parse_value):
1415           add some comments
1416           rename a method so that it actually says what it does better
1417
1418 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1419
1420         * gst/gstevent.c: (_gst_event_initialize):
1421         * gst/gstformat.c: (_gst_format_initialize):
1422           make sure some essential types used by events are registered
1423           as part of gst_init()
1424         * gst/gstvalue.c: (gst_value_serialize_flags):
1425           if no flags are set, serialize them to a value that represents NONE
1426           so that deserializing them works
1427         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1428           add tests for serialization and deserialization of flags
1429
1430 2006-05-10  Wim Taymans  <wim@fluendo.com>
1431
1432         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1433         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1434         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1435         (gst_collect_pads_event), (gst_collect_pads_chain):
1436         Update docs.
1437         Better debug info.
1438         Catch and return errors from the collect function
1439         Refuse data on eos pads.
1440
1441 2006-05-10  Edward Hervey  <edward@fluendo.com>
1442
1443         * gst/gstinterface.h:
1444         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1445         GInterface type checking.
1446         They were previously using non-defined macros.
1447
1448 2006-05-09  Wim Taymans  <wim@fluendo.com>
1449
1450         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1451         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1452         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1453         (gst_collect_pads_start), (gst_collect_pads_stop),
1454         (gst_collect_pads_peek), (gst_collect_pads_pop),
1455         (gst_collect_pads_available), (gst_collect_pads_read),
1456         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1457         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1458         (gst_collect_pads_chain):
1459         * libs/gst/base/gstcollectpads.h:
1460         Clean up the mess that is collectpads, add comments and
1461         FIXMEs where needed.
1462         Maintain a separate pad list so we can add pads while
1463         collecting the other ones. For this we need a new separate 
1464         lock (see comics).
1465         Fix memory leak in finalize.
1466         Refactor some weird code to set/unset pad flushing flags, mark
1467         with comments.
1468         Don't crash in _available, _read, _flush when we're EOS.
1469
1470         * tests/check/libs/.cvsignore:
1471         Ignore adapter check binary.
1472
1473 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1474
1475         * gst/gstindex.c: (gst_index_resolver_get_type):
1476         * plugins/elements/gstfakesink.c:
1477         (gst_fake_sink_state_error_get_type):
1478         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1479         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1480         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1481           Const-ify GEnumValue arrays.
1482
1483 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1484
1485         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1486           Add test case for flags + gst_buffer_make_metadata_writable().
1487
1488 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1489
1490         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1491           gst_buffer_make_metadata_writable() should maintain the
1492           buffer flags (those that make sense at least) (see #340859).
1493
1494 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1495
1496         * tools/gst-inspect.c:
1497         * tools/gst-launch.c:
1498         * tools/gst-typefind.c:
1499         * tools/gst-xmlinspect.c:
1500         * tools/tools.h:
1501           Fix up includes: need to include stdlib.h in tools.h for exit().
1502
1503 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1504
1505         * gst/gsttaglist.c: (_gst_tag_initialize):
1506         * gst/gsttaglist.h:
1507           API: add GST_TAG_IMAGE tag (#340721).
1508
1509 2006-05-08  Wim Taymans  <wim@fluendo.com>
1510
1511         * gst/gstquery.c:
1512         Added some docs for the segment query.
1513
1514 2006-05-08  Wim Taymans  <wim@fluendo.com>
1515
1516         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1517         (gst_base_src_loop), (gst_base_src_change_state):
1518         Always push non-flushing serialized events in the streaming 
1519         thread.
1520
1521 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1522
1523         * gst/gsterror.c: (_gst_stream_errors_init):
1524           Add a missing error string.
1525
1526 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1527
1528         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1529         Add applied_rate to the debug
1530
1531         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1532         Copy applied_rate into the outgoing NEWSEGMENT event
1533
1534 2006-05-08  Wim Taymans  <wim@fluendo.com>
1535
1536         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1537
1538         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1539         (gst_base_sink_change_state):
1540         call ::unlock before taking the PREROLL_LOCK so we can safely
1541         handle elements that lock in ::render.
1542         Fixes #340174.
1543
1544 2006-05-08  Edward Hervey  <edward@fluendo.com>
1545
1546         * autogen.sh: (CONFIGURE_DEF_OPT): 
1547         Darwin's libtoolize is in fact called glibtoolize.
1548         Adding glibtoolize to the list of accepted names for libtoolize.
1549
1550 2006-05-08  Wim Taymans  <wim@fluendo.com>
1551
1552         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1553         Unify error handling, don't post an error message
1554         when a push() returns EOS but perform our normal EOS
1555         handling code. Fixes #340772.
1556
1557 2006-05-08  Wim Taymans  <wim@fluendo.com>
1558
1559         * docs/design/part-overview.txt:
1560         Make upsteam/downstream concepts more clear.
1561         Give an example of serialized/non-serialized events.
1562
1563         * docs/design/part-events.txt:
1564         * docs/design/part-streams.txt:
1565         Mention applied_rate.
1566
1567         * docs/design/part-trickmodes.txt:
1568         Mention applied rate, flesh out some more use cases.
1569
1570         * gst/gstevent.c: (gst_event_new_new_segment),
1571         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1572         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1573         (gst_event_parse_tag), (gst_event_new_buffer_size),
1574         (gst_event_parse_buffer_size), (gst_event_new_qos),
1575         (gst_event_parse_qos), (gst_event_parse_seek),
1576         (gst_event_new_navigation):
1577         * gst/gstevent.h:
1578         Add applied_rate field to NEWSEGMENT event.
1579         API: gst_event_new_new_segment_full()
1580         API: gst_event_parse_new_segment_full()
1581
1582         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1583         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1584         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1585         * gst/gstsegment.h:
1586         Add applied_rate to GstSegment structure.
1587         Make calculation of stream_time and running_time more correct
1588         wrt rate/applied_rate.
1589         Add some more docs.
1590         API: GstSegment::applied_rate field
1591         API: gst_segment_set_newsegment_full();
1592
1593         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1594         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1595         * libs/gst/base/gstbasetransform.c:
1596         (gst_base_transform_sink_eventfunc),
1597         (gst_base_transform_handle_buffer):
1598         Parse and use applied_rate in the GstSegment field.
1599
1600         * tests/check/gst/gstevent.c: (GST_START_TEST):
1601         Add check for applied_rate field.
1602
1603         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1604         (gstsegments_suite):
1605         Add more checks for various GstSegment operations.
1606
1607 2006-05-08  Wim Taymans  <wim@fluendo.com>
1608
1609         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1610         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1611         (gst_base_sink_get_position), (gst_base_sink_change_state):
1612         Store the sync time of the buffer end position separatly in a
1613         new variable eos_rtime so we can properly sync the EOS event.
1614         Fixes #340697.
1615         Fix the docs for gst_base_sink_set_qos_enabled().
1616         Don't set segment start to invalid value when we receive a 
1617         non TIME newsegment.
1618         get closer to handling position reporting for negative rates 
1619         correctly.
1620
1621 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1622
1623         * gst/gstcaps.c:
1624         Docs about how to print caps for debug purposes.
1625
1626         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1627         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1628
1629 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1630
1631         * gst/gstelement.c:
1632           use full enum names and preprend a '%' in docs strings to make recent 
1633           gtk-doc turn that into a link
1634
1635 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1636
1637         * docs/manual/basics-bins.xml:
1638         * docs/manual/basics-bus.xml:
1639         * docs/manual/basics-pads.xml:
1640           Some typo fixes, some additions, some clarifications. 
1641
1642 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1643
1644         * tools/gst-inspect.c: (main):
1645         * tools/gst-launch.c: (main):
1646         * tools/gst-run.c: (main):
1647         * tools/gst-typefind.c: (main):
1648         * tools/gst-xmlinspect.c: (main):
1649           Use the string passed to g_option_context_new() for
1650           what it's intended for - the program name is already
1651           printed elsewhere.
1652
1653 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1654
1655         * tools/Makefile.am:
1656         * tools/gst-inspect.c: (main):
1657         * tools/gst-launch.c: (main):
1658         * tools/gst-xmlinspect.c: (main):
1659         * tools/tools.h:
1660           Add back --version command line option (#340460).
1661
1662         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1663           Add --version option and use GOption for argument parsing; refactor a
1664           bit; accept directories as arguments and recurse into them; lastly,
1665           print a decent error message when things go wrong.
1666
1667 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1668
1669         * docs/manual/basics-bins.xml:
1670         Don't mention GstThread (#340611)
1671         * docs/manual/basics-elements.xml:
1672         Update link to GObject tutorial (#340607)
1673         
1674 2006-05-05  Wim Taymans  <wim@fluendo.com>
1675
1676         * gst/gstbuffer.h:
1677         * gst/gstminiobject.c:
1678         Add note about refcounting and miniobject/buffer writeability
1679         to docs. Fixes #340604
1680
1681         * gst/gstelementfactory.h:
1682         Added some explanation about @klass.
1683
1684 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1685
1686         * docs/manual/intro-motivation.xml:
1687         * docs/manual/manual.xml:
1688         Avoid CORBA & Bonobo references (#340598)
1689
1690 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1691
1692         * docs/manual/basics-bus.xml:
1693         * docs/manual/basics-pads.xml:
1694         Fix up some inaccuracies and omissions (#340609)
1695         
1696 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1697
1698         * gst/gstghostpad.c:
1699           Small typo in docs (#340625)
1700
1701 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1702
1703         * gst/parse/Makefile.am:
1704           Make 'make -j' proof (see #340698).
1705
1706 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1707
1708         * configure.ac:
1709           Require GLib-2.8 here as well.
1710
1711 2006-05-05  Wim Taymans  <wim@fluendo.com>
1712
1713         * gst/glib-compat.c:
1714         * gst/gst.c: (init_pre):
1715         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1716         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1717         (gst_object_dispatch_properties_changed):
1718         * gst/gstobject.h:
1719         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1720         * gst/gststructure.c: (gst_structure_set_valist):
1721         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1722         Remove pre glib2.8 compatibility, fixes #340508
1723
1724 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1725
1726         * gst/gsttaglist.h:
1727           Mention type of tags in doc blurbs.
1728
1729 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1730
1731         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1732         (gst_pad_configure_src), (gst_pad_push):
1733         Restore acceptcaps checking behaviour now that good plugins have
1734         been released.
1735
1736 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1737
1738         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1739
1740         * gst/gst.c:
1741         * gst/gstbus.c:
1742         * gst/gstclock.c:
1743         * gst/gstevent.c:
1744         * gst/gstformat.c:
1745         * gst/gstmessage.c:
1746         * gst/gstparse.c:
1747         * gst/gstquery.c:
1748         * gst/gstutils.c:
1749         * gst/parse/Makefile.am:
1750         * libs/gst/base/gstadapter.c:
1751         * libs/gst/base/gstbasesrc.c:
1752         * libs/gst/base/gstpushsrc.c:
1753         * libs/gst/base/gsttypefindhelper.c:
1754         * plugins/elements/gstfakesrc.c:
1755         * plugins/elements/gstidentity.c:
1756           Make sure gstprivate.h and/or config.h are
1757           always included first, otherwise some of our
1758           defines (like _FILE_OFFSET_BITS) might be
1759           redefined in the system headers. Fixes build
1760           on opensolaris (#340016).
1761
1762 2006-05-04  Wim Taymans  <wim@fluendo.com>
1763
1764         * docs/libs/gstreamer-libs-sections.txt:
1765         API: addition: gst_adapter_take_buffer()
1766         
1767         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1768         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1769         (gst_adapter_available_fast):
1770         * libs/gst/base/gstadapter.h:
1771         Prepare for optimizing the hell out of this hugely inefficient
1772         piece of code. 
1773         Added gst_adapter_take_buffer() so we can at least start thinking
1774         about subbuffering and merging.
1775         Added some comments.
1776
1777         * tests/check/Makefile.am:
1778         * tests/check/libs/adapter.c: (GST_START_TEST),
1779         (gst_adapter_suite), (main):
1780         Added GstAdapter check.
1781
1782 2006-05-04  Wim Taymans  <wim@fluendo.com>
1783
1784         * docs/design/part-overview.txt:
1785         Fix some typos, add blurb about buffer flags.
1786
1787 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1788
1789         * docs/libs/gstreamer-libs-sections.txt:
1790           make sure GstBaseTransformClass shows up in the docs
1791         * libs/gst/base/gstbasetransform.c:
1792         * libs/gst/base/gstbasetransform.h:
1793           move docs so gtk-doc picks it up now
1794
1795 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1796
1797         * docs/libs/gstreamer-libs-sections.txt:
1798           add missing symbols to docs
1799
1800 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1801
1802         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1803           back out the newsegment handling change, see #340060 for ongoing
1804           discussion
1805
1806 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1807
1808         * tools/gst-run.c: (get_candidates), (main):
1809           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1810           work); fix typo in error message. Fixes #340079.
1811
1812 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1813
1814         * common/Makefile.am:
1815         * docs/Makefile.am:
1816         * docs/faq/Makefile.am:
1817         * docs/gst/Makefile.am:
1818         * docs/libs/Makefile.am:
1819         * docs/manual/Makefile.am:
1820         * docs/plugins/Makefile.am:
1821         * docs/pwg/Makefile.am:
1822         * docs/slides/Makefile.am:
1823         * docs/upload.mak:
1824         * common/upload.mak:
1825           move upload.mak to common
1826
1827 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1828
1829         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1830           add more asserts on refcounts
1831           do more cleanup at end of tests
1832           fix test leaks showing in FC5
1833
1834 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1835
1836         * plugins/elements/gsttypefindelement.c:
1837         (gst_type_find_element_handle_event):
1838         reverted wrong change and reflowed code to avoid others falling into
1839         this trap
1840
1841 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1842
1843         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1844           fix changelog entry about last collectpads change,
1845           add notes about proper fix
1846
1847 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1848
1849         * gst/gst.c:
1850         * gst/gstregistry.c: (gst_registry_scan_path_level),
1851         (gst_registry_scan_path):
1852         * gst/gstregistry.h:
1853           only write out registry if it has changed, fixes #338339
1854
1855 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1856
1857         * gst/gstbin.c:
1858         * gst/gstpipeline.c:
1859         * plugins/elements/gstcapsfilter.c:
1860         * plugins/elements/gstfakesink.c:
1861         * plugins/elements/gstfakesrc.c:
1862         * plugins/elements/gstfdsink.c:
1863         * plugins/elements/gstfdsrc.c:
1864         * plugins/elements/gstfilesink.c:
1865         * plugins/elements/gstfilesrc.c:
1866         * plugins/elements/gstidentity.c:
1867         * plugins/elements/gstqueue.c:
1868         * plugins/elements/gsttee.c:
1869         * plugins/elements/gsttypefindelement.c:
1870         (gst_type_find_element_handle_event):
1871           make GstElementDetails const
1872
1873 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1874
1875         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1877         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1878           more detailed debug and formatting cleanup,
1879           forward newsegments to src-pad (so that e.g. adder not eats them)
1880
1881 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1882
1883         * gst/gstutils.c: (gst_element_link_pads):
1884           cleanup double code
1885
1886 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1887
1888         * libs/gst/controller/gstcontroller.c:
1889         (gst_controller_sync_values):
1890           some little tuning
1891         * tests/check/libs/controller.c: (GST_START_TEST),
1892         (gst_controller_suite):
1893           a new test for live value handling
1894
1895 2006-04-28  Wim Taymans  <wim@fluendo.com>
1896
1897         * gst/gstutils.c: (push_and_ref):
1898         Added some more docs.
1899         Fix refcount issue whith gst_element_found_tags() helper 
1900         function. Fixes #338335
1901
1902         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1903         Added testsuite for gst_element_found_tags().
1904
1905 2006-04-28  Michael Smith  <msmith@fluendo.com>
1906
1907         * gst/gstvalue.c: (gst_value_serialize_flags):
1908           Avoid NULL dereference when trying to serialize flags containing
1909           invalid values.
1910
1911 2006-04-28  Michael Smith  <msmith@fluendo.com>
1912
1913         * plugins/elements/gsttypefindelement.c:
1914         (gst_type_find_element_handle_event):
1915           If we get EOS before any data is accumulated, don't use
1916           uninitialised local variables.
1917
1918 2006-04-28  Michael Smith  <msmith@fluendo.com>
1919
1920         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1921         (gst_dp_event_from_packet):
1922           Fixes in reading/writing events over GDP (not currently used?) - 
1923           dereferencing NULL events for unknown/invalid event types, memory
1924           leak, and change g_warning to GST_WARNING.
1925
1926 2006-04-28  Wim Taymans  <wim@fluendo.com>
1927
1928         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1929         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1930         (gst_base_sink_get_position), (gst_base_sink_change_state):
1931         When frame dropping is enabled, we should not ignore frames
1932         without a duration.
1933         Update some documentation.
1934
1935 2006-04-28  Wim Taymans  <wim@fluendo.com>
1936
1937         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1938         (gst_base_src_send_event), (gst_base_src_change_state):
1939         Documentation updates.
1940
1941 2006-04-28  Wim Taymans  <wim@fluendo.com>
1942
1943         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1944         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1945         handle EAGAIN, EINTR and short writes correctly. Also clean
1946         up some error cases, avoid a deadlock on bad file descriptors and
1947         use GST_DEBUG_OBJECT.
1948         Fixes #339843
1949
1950 2006-04-28  Wim Taymans  <wim@fluendo.com>
1951
1952         * gst/gstvalue.c: (gst_value_serialize_buffer),
1953         (gst_value_deserialize_buffer):
1954         Don't try to serialize a GValue with a NULL buffer. 
1955         Fixes #339821.
1956
1957         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1958         Added check for serialisation of NULL buffers.
1959
1960 2006-04-28  Wim Taymans  <wim@fluendo.com>
1961
1962         * gst/gstminiobject.c: (gst_value_take_mini_object):
1963         Taking a NULL miniobject is valid, fix the case where
1964         we try to unref the NULL miniobject.
1965
1966 2006-04-28  Wim Taymans  <wim@fluendo.com>
1967
1968         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1969
1970         * gst/gstbin.c: (gst_bin_handle_message_func):
1971         Update docs.
1972         Don't leak bin refcount when a state recalc is
1973         in progress and we delay another one #339808.
1974
1975 2006-04-28  Wim Taymans  <wim@fluendo.com>
1976
1977         * docs/design/part-TODO.txt:
1978         Mention QoS as an ongoing work item.
1979
1980         * docs/design/part-buffering.txt:
1981         New doc about buffering that needs to be fleshed out
1982         at some point.
1983
1984         * docs/design/part-qos.txt:
1985         More QoS policy for decoders/demuxers/transforms
1986
1987         * docs/design/part-trickmodes.txt:
1988         Small update.
1989
1990 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1991
1992         * configure.ac:
1993           back to HEAD
1994
1995 === release 0.10.5 ===
1996
1997 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1998
1999         * configure.ac:
2000           releasing 0.10.5, "Fogo"
2001
2002 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2003
2004         patch by: Wim Taymans
2005
2006         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2007         (gst_pad_configure_src), (gst_pad_push):
2008         * gst/gstpipeline.c: (gst_pipeline_init):
2009           Fix internal data flow errors.  Fixes #338711.
2010
2011 2006-04-12  Wim Taymans  <wim@fluendo.com>
2012
2013         * tests/check/gst/gstelement.c: (GST_START_TEST):
2014         Don't leak the factory.
2015
2016 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2017
2018         * configure.ac:
2019         * win32/common/config.h:
2020           prerelease
2021
2022 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2023
2024         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2025         (gst_controller_unset_all):
2026           Free allocated GstTimedValues when freeing list nodes.
2027           Should fix leaks 'make check-valgrind' complains about.
2028
2029         * win32/common/libgstcontroller.def:
2030           Add gst_controller_unset_all.
2031
2032 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2033
2034         * docs/libs/gstreamer-libs-sections.txt:
2035         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2036         (gst_controller_unset_all):
2037         * libs/gst/controller/gstcontroller.h:
2038         API: Added new method gst_controller_unset_all()
2039         fixed gst_controller_unset()
2040         * tests/check/libs/controller.c: (GST_START_TEST),
2041         (gst_controller_suite):
2042         Added two testcases for new and fixed method
2043
2044 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2045
2046         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2047           MSG_DONTWAIT is not defined on Cygwin, so work
2048           around that (fixes #317048).
2049           
2050 2006-04-11  Wim Taymans  <wim@fluendo.com>
2051
2052         * gst/gstelementfactory.c: (gst_element_register),
2053         (gst_element_factory_create), (gst_element_factory_make):
2054         Some cleanups.
2055         Fixed a FIXME.
2056         Updated docs (Fixes #131079)
2057
2058         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2059         Small cleanups.
2060
2061         * tests/check/gst/gstelement.c: (GST_START_TEST),
2062         (gst_element_suite):
2063         Added testcase for elementfactory class field.
2064
2065 2006-04-10  Wim Taymans  <wim@fluendo.com>
2066
2067         * gst/gstsegment.c:
2068         Added some more docs.
2069
2070         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2071         (gst_base_sink_reset_qos):
2072         Calculate more accurate rate values.
2073
2074 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2075
2076         * gst/gst_private.h:
2077           add a new #ifdef to use __declspec(dllimport) only for
2078           other modules and not for gstreamer core
2079         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2080           use gst_guint64_to_gdouble for conversion
2081         * win32/common/libgstreamer.def:
2082           add new exported functions
2083         * win32/vs6/gst_inspect.dsp:
2084         * win32/vs6/gst_launch.dsp:
2085         * win32/vs6/libgstbase.dsp:
2086         * win32/vs6/libgstcontroller.dsp:
2087         * win32/vs6/libgstcoreelements.dsp:
2088         * win32/vs6/libgstdataprotocol.dsp:
2089         * win32/vs6/libgstnet.dsp:
2090           update project files
2091
2092 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2093
2094         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2095         * gst/gstclock.c: (gst_clock_class_init):
2096         * gst/gstelement.c: (gst_element_class_init):
2097         * gst/gstindex.c: (gst_index_class_init):
2098         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2099         * gst/gstobject.c: (gst_object_class_init),
2100         (gst_signal_object_class_init):
2101         * gst/gstpad.c: (gst_pad_class_init):
2102         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2103         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2104         * gst/gstregistry.c: (gst_registry_class_init):
2105         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2106         * gst/gsttask.c: (gst_task_class_init):
2107         * gst/gstxml.c: (gst_xml_class_init):
2108         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2109         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2110         (gst_base_src_loop):
2111         * libs/gst/controller/gstcontroller.c:/
2112         (_gst_controller_class_init):
2113         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2114         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2115         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2116         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2117         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2118         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2119
2120 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2121
2122         * gst/gstpad.c: (gst_pad_link):
2123           Must set peer pads before calling the link function, otherwise
2124           a task started from a link function might get a flow-not-linked
2125           result when trying to push because the other thread where the
2126           linking happens hasn't had a chance to set the peers yet. This
2127           might happen for example when a queue gets linked to a downstream
2128           element, as queue starts a streaming task when its source pad
2129           gets linked. Happens in real life when playing back flac/musepack
2130           files in playbin (#332390).
2131           
2132 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2133
2134         * gst/gstindex.h:
2135         * gst/gstxml.h:
2136         * libs/gst/base/gstadapter.h:
2137         * libs/gst/base/gstbasesink.h:
2138         * libs/gst/base/gstbasesrc.h:
2139         * libs/gst/base/gstbasetransform.h:
2140         * libs/gst/base/gstcollectpads.h:
2141         * libs/gst/base/gstpushsrc.h:
2142         Fix broken GObject macros
2143
2144 2006-04-07  Wim Taymans  <wim@fluendo.com>
2145
2146         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2147         Initialize start and stop times, thanks valgrind.
2148
2149 2006-04-07  Wim Taymans  <wim@fluendo.com>
2150
2151         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2152         Be a bit nicer to badly behaving upstream elements that expect
2153         us to deal with non TIME segments and timestamps (such as fakesrc
2154         in the testsuite).
2155
2156 2006-04-07  Wim Taymans  <wim@fluendo.com>
2157
2158         * gst/gstbus.c:
2159         Small documentation clarification about the signal watch.
2160
2161         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2162         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2163         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2164         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2165         (gst_base_sink_get_position_last),
2166         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2167         Convert and store timestamps in stream time and running time, the
2168         raw timestamps are not usefull, also document this better.
2169         Use different window sizes for good and bad QoS observations so
2170         we react to badness a little quicker.
2171         Keep track of the amount of rendered and dropped buffers.
2172         Send QoS timestamps in running time.
2173
2174         * libs/gst/base/gstbasetransform.c:
2175         (gst_base_transform_sink_eventfunc),
2176         (gst_base_transform_handle_buffer):
2177         Compare QoS timestamps against running time.
2178
2179 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2180
2181         * gst/gstpad.c:
2182           Typo fixes in docs.
2183
2184 2006-04-06  Michael Smith  <msmith@fluendo.com>
2185
2186         * gst/gstpad.c: (gst_pad_set_property):
2187           Use g_value_get_object() instead of g_value_dup_gst_object(),
2188           to avoid double-reffing the pad template (which we then sink,
2189           so this worked previously if (and only if) the pad template
2190           was floating.
2191
2192         * gst/gstpadtemplate.c: (gst_pad_template_init),
2193         (gst_pad_template_pad_created):
2194           Never return floating references to pad templates, create
2195           them as initially-sunken.
2196
2197           Document an extra function (and make this stop sinking our
2198           pad template, since that is now guaranteed to do nothing,
2199           since we created it sunken).
2200
2201         * gst/gstghostpad.c:
2202           Fix docs typo.
2203
2204 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2205
2206         * gst/gstinfo.c: (__gst_in_valgrind):
2207           Add some newlines.
2208
2209         * plugins/elements/gsttypefindelement.c:
2210         (gst_type_find_element_chain):
2211           Don't leak buffer caps.
2212
2213 2006-04-06  Michael Smith  <msmith@fluendo.com>
2214
2215         * gst/parse/grammar.y:
2216           Fix a leak in parse-launch for any source-or-sink named element 
2217           references used.
2218
2219         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2220           Unref the pipeline if it exists after we've failed parsing.
2221
2222 2006-04-05  Michael Smith  <msmith@fluendo.com>
2223
2224         * gst/gstpipeline.c: (gst_pipeline_init):
2225           When we create a pipeline bus, initially create it in flushing mode.
2226           Fixes leaks in at least one test, and makes a new pipeline work the
2227           same as one that has gone to READY and then back to NULL.
2228
2229         * gst/gstelement.c:
2230           Typo fix in docs.
2231
2232 2006-04-05  Michael Smith  <msmith@fluendo.com>
2233
2234         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2235           Unref a pad we reffed.
2236         * tests/check/gst/gstutils.c: (GST_START_TEST):
2237           Unref bins
2238
2239 2006-04-05  Michael Smith  <msmith@fluendo.com>
2240
2241         * gst/gstquery.c: (gst_query_set_formats),
2242         (gst_query_set_formatsv):
2243           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2244
2245 2006-04-05  Michael Smith  <msmith@fluendo.com>
2246
2247         * tests/check/generic/sinks.c: (GST_START_TEST):
2248           Fix a variety of memleaks in sinks check, which are only sometimes 
2249           shown by running the tests under valgrind (weird?).
2250
2251 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2252
2253         * docs/version.entities.in:
2254           Fix the substituted entity name after thomas' changes on the
2255           weekend.
2256
2257 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2258
2259         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2260         VALGRIND_PRINTF
2261         
2262 2006-04-05  Andy Wingo  <wingo@pobox.com>
2263
2264         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2265
2266         * libs/gst/base/gstbasetransform.c
2267         (gst_base_transform_sink_eventfunc): When resetting our segment on
2268         FLUSH_STOP, also update the flag saying we haven't seen a
2269         newsegment.
2270
2271 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2272
2273         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2274
2275         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2276         (gst_plugin_check_license):
2277           minor clean-ups: G_DEFINE_TYPE already takes care of the
2278           parent_class stuff, no need to do it twice. Mark array of
2279           license strings as constant. (#337103)
2280           
2281 2006-04-04  Michael Smith  <msmith@fluendo.com>
2282
2283         * tools/gst-inspect.c: (print_element_list):
2284           Free the right plugin list; fixes a memory leak.
2285
2286 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2287
2288         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2289
2290         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2291           Don't error out on empty buffers (#336945).
2292           
2293 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2294
2295         * docs/libs/gstreamer-libs-sections.txt:
2296         * gst/gsttaglist.c:
2297         * libs/gst/base/gstbasesink.c:
2298         * libs/gst/base/gstbasesink.h:
2299         * libs/gst/base/gstbasesrc.c:
2300         * libs/gst/base/gstbasesrc.h:
2301           Documentation updates. Make BaseSink and BaseSrc docs contain the
2302           class structure so that people can actually see the prototypes for
2303           virtual functions they're supposed to be overriding.
2304
2305 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2306
2307         * plugins/elements/gsttypefindelement.c:
2308         (gst_type_find_element_chain):
2309           More debug info; when skipping typefinding, send cached
2310           events in all cases.
2311
2312 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2313
2314         * configure.ac:
2315           use new AS_VERSION and AS_NANO macros
2316         * gst/gst-i18n-lib.h:
2317         * gst/gst.c:
2318         * gst/gsterror.c:
2319         * gst/gstversion.h.in:
2320         * win32/common/config.h:
2321         * win32/common/config.h.in:
2322           update accordingly
2323
2324 2006-03-31  Michael Smith  <msmith@fluendo.com>
2325
2326         * plugins/elements/gsttypefindelement.c:
2327         (gst_type_find_element_chain):
2328           Do not typefind content if the buffers already have caps.
2329           Neccesary for icydemux (#333657), and the right thing to do anyway.
2330
2331 2006-03-30  Wim Taymans  <wim@fluendo.com>
2332
2333         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2334         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2335         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2336         (gst_base_sink_record_qos_observation),
2337         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2338         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2339         (gst_base_sink_change_state):
2340         More QoS measurements as described in the design doc.
2341         Get rid of ringbuffer with observations, running average is
2342         more simple and equally good.
2343         Calculates valid proportion now.
2344         Added beginning of flood measurement.
2345
2346 2006-03-29  Wim Taymans  <wim@fluendo.com>
2347
2348         * docs/design/part-qos.txt:
2349         * gst/gstclock.c:
2350         Small documentation updates and additions.
2351
2352 2006-03-29  Wim Taymans  <wim@fluendo.com>
2353
2354         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2355         (gst_base_src_send_event), (gst_base_src_loop),
2356         (gst_base_src_change_state):
2357         Perform the EOS logic when we reach the segment stop position.
2358         Fix compilation on gcc4.1
2359
2360 2006-03-29  Wim Taymans  <wim@fluendo.com>
2361
2362         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2363
2364         * plugins/elements/gstqueue.c: (gst_queue_init),
2365         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2366         (gst_queue_set_property):
2367         * plugins/elements/gstqueue.h:
2368         In queue, when EOS is received, if minimum threshold > max_size -
2369         current_level, there is chance that queue blocks forever in conditional
2370         item del wait. This is because the queue is not emptied completely due
2371         to minimum threshold.  Here is another approach. Instead of setting
2372         cur_levels to max in EOS, just zero all minimum threshold levels. This
2373         should make sure that queue gives out all data. When going to READY
2374         (stop) state, just reset the original minimum threshold levels.
2375         Fixes #336336.
2376
2377 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2378
2379         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2380         (gst_type_find_element_handle_event),
2381         (gst_type_find_element_send_cached_events),
2382         (gst_type_find_element_change_state):
2383         * plugins/elements/gsttypefindelement.h:
2384           When typefinding is done in push mode, we should cache
2385           events we receive during typefinding instead of just
2386           dropping them (e.g. newsegment, custom events from
2387           dvdreadsrc etc.) and then send them out once we've
2388           determined the type of the stream (and decodebin
2389           has had a chance to plug in a decoder/demuxer).
2390           
2391 2006-03-27  Wim Taymans  <wim@fluendo.com>
2392
2393         * docs/design/part-qos.txt:
2394         First QoS ideas.
2395
2396 2006-03-27  Wim Taymans  <wim@fluendo.com>
2397
2398         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2399
2400         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2401         (gst_base_src_send_event), (gst_base_src_change_state):
2402         Handle element seek correctly when we are streaming.
2403         Fixes #326998.
2404
2405 2006-03-24  Michael Smith  <msmith@fluendo.com>
2406
2407         * docs/faq/gst-uninstalled:
2408           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2409           allow you to correctly run intalled applications built against old 
2410           core, using plugins that require updated core (e.g. running
2411           installed totem against a full uninstalled gstreamer stack)
2412
2413 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2414
2415         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2416         more debug details
2417
2418 2006-03-24  Wim Taymans  <wim@fluendo.com>
2419
2420         * docs/gst/gstreamer-sections.txt:
2421         Rearrange the order of the methods so that related methods
2422         are grouped together in sections.
2423
2424 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2425
2426         * gst/gstelement.c:
2427           Little clarification in the docs
2428
2429 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2430
2431         * docs/README:
2432         formatting fix
2433         * plugins/elements/gstidentity.c:
2434         * plugins/elements/gstqueue.c:
2435         * plugins/elements/gsttee.c:
2436         * plugins/elements/gsttypefindelement.c:
2437         GST_ELEMENT_DETAILS formatting
2438
2439 2006-03-24  Wim Taymans  <wim@fluendo.com>
2440
2441         * libs/gst/base/gstbasesink.h:
2442         Only add fields, not insert or we break ABI.
2443
2444 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2445
2446         * win32/common/libgstbase.def:
2447         * win32/common/libgstreamer.def:
2448           Update, add recently added functions.
2449
2450 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2451
2452         * docs/gst/gstreamer-sections.txt:
2453         * gst/gstutils.c: (gst_pad_query_peer_position),
2454         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2455         * gst/gstutils.h:
2456           API: add some new utility functions:
2457            - gst_pad_query_peer_position()
2458            - gst_pad_query_peer_duration()
2459            - gst_pad_query_peer_convert()
2460           
2461 2006-03-23  Wim Taymans  <wim@fluendo.com>
2462
2463         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2464         (gst_base_sink_init), (gst_base_sink_finalize),
2465         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2466         (gst_base_sink_set_property), (gst_base_sink_get_property),
2467         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2468         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2469         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2470         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2471         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2472         (gst_base_sink_preroll_object), (gst_base_sink_event),
2473         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2474         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2475         (gst_base_sink_query), (gst_base_sink_change_state):
2476         Decouple max-lateness and the fact that QoS messages are generated
2477         with a new property (qos).
2478         added API: GstBaseSink::async_play()
2479         Add vmethod so subclasses can be notified of ASYNC playing
2480         state changes.
2481         Collect timestamp start and stop to report better current
2482         position in EOS/PLAYING/PAUSED/READY/NULL.
2483         Refactor QoS/frame dropping and other measurements.
2484         API: GstBaseSrc::qos
2485         Fixes #326311
2486
2487         * libs/gst/base/gstbasesink.h:
2488         Added Private struct.
2489         API: gst_base_sink_set_qos_enabled()
2490         API: gst_base_sink_is_qos_enabled()
2491
2492 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2493
2494         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2495           If compiling against GLib-2.8 or newer, try to read the
2496           registry file using GMappedFile first before falling back
2497           to fopen() + fread() (#332151).
2498
2499 2006-03-22  Wim Taymans  <wim@fluendo.com>
2500
2501         * gst/gstinfo.c: (gst_debug_set_active),
2502         (gst_debug_category_set_threshold):
2503         Disable debugging unless explicitly activated.
2504         Fixes #335480.
2505
2506 2006-03-22  Wim Taymans  <wim@fluendo.com>
2507
2508         * gst/gstelement.c: (gst_element_set_locked_state),
2509         (gst_element_dispose):
2510         Cleanup the error case.
2511
2512         * gst/gstobject.c: (gst_object_dispose):
2513         print a critical when some object was disposed with
2514         a parent, also revive the object since it might
2515         crash the parent.
2516
2517 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2518
2519         * tools/gst-launch.1.in:
2520           Fix another typo.
2521
2522 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2523
2524         * configure.ac:
2525         * tests/check/Makefile.am:
2526           disable some tests when we don't have a registry
2527         * tests/check/gst/gstutils.c: (gst_utils_suite):
2528           don't build the part that needs parsing
2529
2530 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2531
2532         * gst/Makefile.am
2533         * tests/examples/Makefile.am:
2534           fix --disable-parse build
2535
2536 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2537
2538         * tools/gst-feedback.1.in:
2539           Fix typo: s/feeback/feedback/ (#133494).
2540
2541 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2542
2543         * tools/Makefile.am:
2544         * tools/gst-launch.1.in:
2545           Add FILES section and correct entry about GST_REGISTRY_PATH
2546           environment variable (#133495; #133494).
2547
2548 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2549
2550         * tools/Makefile.am:
2551         * tools/gst-md5sum.1.in:
2552         * tools/gst-md5sum.c:
2553           Remove gst-md5sum and man page (the md5sink element
2554           required was removed ages ago)
2555
2556 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2557
2558         * gst/gststructure.c: (gst_structure_id_set_value):
2559           Make sure that string fields in structures/taglists
2560           contain valid UTF-8 - we don't want to pass rubbish to
2561           applications because of a buggy plugin (cp. #334167).
2562
2563 2006-03-21  Edward Hervey  <edward@fluendo.com>
2564
2565         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2566         (gst_bin_handle_message_func):
2567         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2568         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2569         (gst_element_set_bus_func):
2570         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2571         * gst/gstminiobject.c: (gst_value_set_mini_object),
2572         (gst_value_take_mini_object):
2573         * gst/gstpad.c: (gst_pad_set_pad_template):
2574         * gst/gstpipeline.c: (gst_pipeline_dispose),
2575         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2576         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2577         (gst_collect_pads_chain):
2578         * libs/gst/net/gstnettimeprovider.c:
2579         (gst_net_time_provider_set_property):
2580         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2581         It's in fact all issues with gst_*object_replace().
2582
2583 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2584
2585         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2586         
2587         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2588         * pkgconfig/gstreamer-check.pc.in:
2589           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2590
2591 2006-03-21  Edward Hervey  <edward@fluendo.com>
2592
2593         * gst/gstbuffer.h:
2594         * gst/gstevent.h:
2595         * gst/gstmessage.h:
2596         gst_[buffer|event|message]_ref() macros are replaced by a static
2597         inline functions because gcc-4.1 will about if the return value
2598         isn't used.
2599         * tests/check/gst/gstevent.c: (event_probe):
2600         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2601
2602 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2603
2604         * gst/gstutils.h:
2605         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2606         the type' case. (Closes: #335195 for now). In the future, when we
2607         depend on GLib 2.10, we could also intern the type name using
2608         g_intern_static_string()
2609
2610 2006-03-20  Wim Taymans  <wim@fluendo.com>
2611
2612         * gst/gstbin.c: (gst_bin_handle_message_func),
2613         (bin_query_max_init), (bin_query_position_fold),
2614         (bin_query_position_done), (gst_bin_query):
2615         Position query should also take max of all streams.
2616
2617 2006-03-20  Wim Taymans  <wim@fluendo.com>
2618
2619         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2620         (gst_fake_src_finalize):
2621         Fix leaks in fakesrc.
2622
2623         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2624         Fix leaks in the testcase.
2625
2626 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2627
2628         * gst/gst_private.h:
2629           add win32 specific import decoration(__declspec(dllimport)) 
2630           for all extern GstDebugCategory * variables
2631         * win32/common/libgstbase.def:
2632         * win32/common/libgstcontroller.def:
2633         * win32/common/libgstreamer.def:
2634           Add some exports, remove empty lines
2635         * win32/common/libgstdataprotocol.def:
2636         * win32/common/libgstdataprotocol.dsp:
2637         * win32/common/libgstnet.def:
2638         * win32/common/libgstnet.dsp:
2639           new project files and exportation files added
2640         
2641 2006-03-19  Wim Taymans  <wim@fluendo.com>
2642
2643         * tests/check/libs/basesrc.c: (eos_event_counter):
2644         Use proper return value for probe.
2645
2646 2006-03-17  Wim Taymans  <wim@fluendo.com>
2647
2648         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2649         (gst_pad_push):
2650         Don't leak buffers, caps and pads on negotiation errors.
2651
2652 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2653
2654         * docs/faq/cvs.xml:
2655         * docs/faq/dependencies.xml:
2656         * docs/faq/developing.xml:
2657         * docs/faq/faq.xml:
2658         * docs/faq/general.xml:
2659         * docs/faq/getting.xml:
2660         * docs/faq/legal.xml:
2661         * docs/faq/troubleshooting.xml:
2662         * docs/faq/using.xml:
2663         Faq review and update.
2664
2665 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2666
2667         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2668         (gst_pad_push):
2669         Don't pound the cpu to pieces by checking get_caps when accept_caps
2670         is called with the same caps as the pad already has.
2671         Use GST_DEBUG_OBJECT when outputting caps change information.
2672
2673 2006-03-15  Wim Taymans  <wim@fluendo.com>
2674
2675         * gst/gstclock.c: (gst_clock_class_init):
2676         Fix docs.
2677
2678 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2679
2680         * gst/gstbuffer.h:
2681         Documentation fix.
2682
2683         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2684         (gst_pad_accept_caps), (gst_pad_configure_sink),
2685         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2686         Make the default acceptcaps behaviour be to check the requested 
2687         caps against the gst_pad_get_caps output. 
2688
2689         Ensure that gst_pad_accept_caps is used to check caps when a pad
2690         doesn't have a setcaps function, so that pads automatically refuse 
2691         caps that they don't allow in their pad template. (Fixes #332986)
2692
2693         When a buffer with attached caps is pushed, ensure that the source 
2694         pad receives those caps even if the element didn't call
2695         gst_pad_set_caps first.
2696
2697 2006-03-15  Wim Taymans  <wim@fluendo.com>
2698
2699         * libs/gst/base/gstadapter.c:
2700         Add some docs.
2701
2702 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2703
2704         * win32/common/libgstbase.def:
2705         * win32/common/libgstcontroller.def:
2706         * win32/common/libgstreamer.def:
2707           Add a whole bunch of missing functions (#334434).
2708
2709 2006-03-14  Wim Taymans  <wim@fluendo.com>
2710
2711         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2712         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2713         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2714         Better debug info when we receive a segment event.
2715         Reorganize a bit so we can pass the get_times() results around.
2716         Use the segment format when calculating the running time.
2717         Don't do QoS is sync is disabled or we have no clock or the
2718         element does not want us to sync to the clock.
2719         Don't drop buffers if QoS is disabled for now.
2720
2721 2006-03-14  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2724         Marked the stats property as unimplemented so people don't get
2725         wild ideas.
2726         Add debug message when regression goes wrong.
2727         Added some more docs.
2728
2729 2006-03-14  Wim Taymans  <wim@fluendo.com>
2730
2731         * gst/gstsegment.c: (gst_segment_to_stream_time):
2732         Return correct return type in case of errors.
2733
2734 2006-03-14  Wim Taymans  <wim@fluendo.com>
2735
2736         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2737           Don't segfault on invalid formats.
2738
2739 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2740
2741         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2742           Can't use gst_segment_to_running_time() when the segment
2743           is not in GST_TIME_FORMAT (like with filesink, for example).
2744           Stops flac encoding pipelines from spewing critical warnings
2745           at EOS (#331248).
2746           
2747 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2748
2749         * gst/gstpipeline.c: (gst_pipeline_class_init):
2750           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2751
2752         * plugins/elements/gsttypefindelement.c:
2753         (gst_type_find_element_handle_event):
2754           Don't try to typefind empty streams.
2755
2756 2006-03-14  Wim Taymans  <wim@fluendo.com>
2757
2758         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2759         (gst_base_sink_do_qos):
2760         Separate QoS calculation.
2761         Only drop buffers when lateness is bigger than the 
2762         duration of the buffer.
2763
2764 2006-03-13  Wim Taymans  <wim@fluendo.com>
2765
2766         * gst/gstpipeline.c: (gst_pipeline_set_property),
2767         (gst_pipeline_get_property), (do_pipeline_seek),
2768         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2769         (gst_pipeline_get_delay):
2770         Don't deadlock when reading properties.
2771
2772 2006-03-13  Wim Taymans  <wim@fluendo.com>
2773
2774         * libs/gst/base/gstbasetransform.c:
2775         (gst_base_transform_class_init), (gst_base_transform_init),
2776         (gst_base_transform_sink_event),
2777         (gst_base_transform_sink_eventfunc),
2778         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2779         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2780         (gst_base_transform_set_property),
2781         (gst_base_transform_get_property),
2782         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2783         (gst_base_transform_set_qos_enabled),
2784         (gst_base_transform_is_qos_enabled):
2785         * libs/gst/base/gstbasetransform.h:
2786         Make basetransform virtual method for src events too.
2787         Handle QOS in basetransform.
2788         API: gst_base_transform_update_qos()
2789         API: gst_base_transform_set_qos_enabled()
2790         API: gst_base_transform_is_qos_enabled()
2791
2792 2006-03-13  Wim Taymans  <wim@fluendo.com>
2793
2794         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2795         (gst_base_sink_do_sync):
2796         Small cleanups.
2797         Use QOS debug category.
2798
2799 2006-03-13  Wim Taymans  <wim@fluendo.com>
2800
2801         * plugins/elements/gstqueue.c:
2802         Very small doc update.
2803
2804 2006-03-13  Wim Taymans  <wim@fluendo.com>
2805
2806         * gst/gst_private.h:
2807         * gst/gstinfo.c: (_gst_debug_init):
2808         Added QOS debug category
2809
2810 2006-03-13  Wim Taymans  <wim@fluendo.com>
2811
2812         * docs/gst/gstreamer-sections.txt:
2813         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2814         * gst/gstbin.h:
2815         * gst/gstbus.c: (gst_bus_class_init):
2816         * gst/gstbus.h:
2817         * gst/gstclock.c:
2818         * gst/gstelement.c: (gst_element_set_locked_state):
2819         * gst/gstsegment.c:
2820         Documentation updates.
2821
2822         * gst/gstpipeline.c: (gst_pipeline_get_type),
2823         (gst_pipeline_class_init), (gst_pipeline_init),
2824         (gst_pipeline_dispose), (gst_pipeline_set_property),
2825         (gst_pipeline_get_property), (do_pipeline_seek),
2826         (gst_pipeline_send_event), (gst_pipeline_change_state),
2827         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2828         (gst_pipeline_get_delay):
2829         * gst/gstpipeline.h:
2830         Added methods for setting the delay.
2831         API: gst_pipeline_set_delay()
2832         API: gst_pipeline_get_delay()
2833         Add pipeline debug category
2834         Various cleanups.
2835         Updated docs.
2836         Don't reset stream time when seek failed.
2837
2838 2006-03-13  Wim Taymans  <wim@fluendo.com>
2839
2840         * docs/design/draft-klass.txt:
2841         * docs/design/part-clocks.txt:
2842         * docs/design/part-events.txt:
2843         * docs/design/part-gstbin.txt:
2844         * docs/design/part-gstpipeline.txt:
2845         * docs/design/part-messages.txt:
2846         * docs/design/part-negotiation.txt:
2847         * docs/design/part-overview.txt:
2848         * docs/design/part-preroll.txt:
2849         * docs/design/part-seeking.txt:
2850         * docs/design/part-states.txt:
2851         * docs/design/part-streams.txt:
2852         Documentation updates.
2853
2854 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2855
2856         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2857         us to leak strings...
2858
2859 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2860
2861         * libs/gst/net/gstnettimeprovider.c:
2862           fix docs
2863         * win32/common/config.h:
2864           update
2865
2866 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2867
2868         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2869
2870         * configure.ac:
2871           Don't check for libgnomeui (leftover from old examples
2872           that aren't built or disted any longer) (#334303).
2873           
2874 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2875
2876         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2877         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2878           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2879           there's no space left on the device.
2880
2881 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2882
2883         * gst/gstclock.h:
2884           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2885           to cast the input to GstClockTime before comparing with
2886           another GstClockTime value.
2887
2888 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2889
2890         * configure.ac:
2891           back to trunk
2892
2893 === release 0.10.4 ===
2894
2895 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2896
2897         * configure.ac:
2898           releasing 0.10.4, "Light"
2899
2900 2006-03-10  Michael Smith  <msmith@fluendo.com>
2901
2902         * libs/gst/dataprotocol/dataprotocol.c:
2903           Fix docs for dataprocotol to not get the return types completely
2904           wrong for a few functions.
2905
2906 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2907
2908         * docs/gst/gstreamer-sections.txt:
2909         * gst/gstpipeline.c: (gst_pipeline_class_init),
2910         (gst_pipeline_init), (gst_pipeline_set_property),
2911         (gst_pipeline_get_property), (gst_pipeline_change_state),
2912         (gst_pipeline_set_auto_flush_bus),
2913         (gst_pipeline_get_auto_flush_bus):
2914         * gst/gstpipeline.h:
2915           Add new API: gst_pipeline_set_auto_flush_bus() and
2916           gst_pipeline_get_auto_flush_bus() to disable automatic
2917           flushing of the pipeline's GstBus when going from READY
2918           to NULL state (#332045).
2919
2920 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2921
2922         * docs/gst/gstreamer-sections.txt:
2923         * gst/gsturi.c: (gst_uri_has_protocol):
2924         * gst/gsturi.h:
2925            Add new API: gst_uri_has_protocol() (#333779).
2926
2927 2006-03-09  Wim Taymans  <wim@fluendo.com>
2928
2929         * gst/gstclock.c: (gst_clock_entry_new),
2930         (gst_clock_id_compare_func), (gst_clock_id_wait),
2931         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2932         (gst_clock_init), (gst_clock_get_internal_time),
2933         (gst_clock_set_master), (do_linear_regression),
2934         (gst_clock_add_observation), (gst_clock_set_property):
2935         * gst/gstclock.h:
2936         Review docs.
2937         Small cleanups.
2938         Fix a possible segfault when the window-size is made smaller.
2939         Calculate jitter before performing the clock wait. Ideally
2940         the clock implementation should calculate jitter but we need
2941         API breakage for that.
2942
2943         * gst/gstsystemclock.c: (gst_system_clock_init):
2944         Docs review.
2945         
2946         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2947         Remove leftover else
2948
2949         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2950         (gst_systemclock_suite):
2951         Added check to test GST_CLOCK_DIFF.
2952
2953 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2954
2955         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2956         (gst_type_find_helper_get_range):
2957           If we are provided with the size, we should implement
2958           GstTypeFind::get_length, so that typefind functions who
2959           want to can actually peek at the middle of a file.
2960
2961 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2962
2963         * docs/manual/advanced-dataaccess.xml:
2964           Add some very very basic error checking.
2965
2966         * docs/pwg/appendix-checklist.xml:
2967           Some updates to the list of things to check when writing an element.
2968
2969 2006-03-08  Wim Taymans  <wim@fluendo.com>
2970
2971         * docs/design/part-element-transform.txt:
2972         Added some docs about the design of tranform elements.
2973
2974         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2975         (gst_base_src_loop), (gst_base_src_change_state):
2976         Mark buffers with the DISCONT flag.
2977
2978 2006-03-08  Michael Smith  <msmith@fluendo.com>
2979
2980         * gst/gstregistry.h:
2981         * gst/gstregistryxml.c: (gst_registry_save),
2982         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2983         (gst_registry_xml_save_pad_template),
2984         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2985         (gst_registry_xml_write_cache):
2986           Rewrite registry-saving to avoid race conditions and check for
2987           failed writes.
2988
2989 2006-03-08  Wim Taymans  <wim@fluendo.com>
2990
2991         * libs/gst/base/gstbasetransform.c:
2992         (gst_base_transform_transform_caps),
2993         (gst_base_transform_transform_size),
2994         (gst_base_transform_prepare_output_buffer),
2995         (gst_base_transform_get_unit_size),
2996         (gst_base_transform_buffer_alloc),
2997         (gst_base_transform_handle_buffer),
2998         (gst_base_transform_change_state):
2999         Cleanups, separate normal flow from errors, add sensible
3000         DEBUG lines.
3001         Don't try to renegotiate when allocating an output buffer.
3002         Also copy DISCONT buffer flag when copying a buffer.
3003         Reset the transform after we finish streaming, not during.
3004
3005 2006-03-08  Wim Taymans  <wim@fluendo.com>
3006
3007         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3008         Use last buffer timestamp in qos message.
3009
3010 2006-03-07  Wim Taymans  <wim@fluendo.com>
3011
3012         Patch by: Christophe Fergeau
3013
3014         * docs/pwg/advanced-tagging.xml:
3015         * docs/pwg/building-pads.xml:
3016           fixes #333416
3017
3018 2006-03-07  Wim Taymans  <wim@fluendo.com>
3019
3020         * docs/libs/gstreamer-libs-sections.txt:
3021         Added basesink new methods.
3022
3023         * gst/gstevent.c:
3024         * gst/gstevent.h:
3025         Docs updates. Flesh out the QoS docs.
3026
3027         * libs/gst/base/gstadapter.c:
3028         Small doc clarification about ownership and flushing.
3029
3030         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3031         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3032         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3033         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3034         * libs/gst/base/gstbasesink.h:
3035         API additions: 
3036         Added new methods to allow subclass to control max-lateness 
3037         and sync.
3038         Generate very basic QoS events based on last sync observation.
3039         Updated docs, fix typo, added some QoS blurb.
3040
3041         * libs/gst/base/gstbasesrc.c:
3042         Remove obsolete _get_state() calls from docs.
3043
3044 2006-03-07  Wim Taymans  <wim@fluendo.com>
3045
3046         * docs/libs/gstreamer-libs-sections.txt:
3047         * libs/gst/base/gstbasetransform.h:
3048         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3049         Fix docs for GstBaseSrc.
3050
3051 2006-03-07  Wim Taymans  <wim@fluendo.com>
3052
3053         * docs/gst/gstreamer-sections.txt:
3054         * gst/gstbuffer.h:
3055         * gst/gstvalue.c:
3056         * libs/gst/base/gstbasetransform.h:
3057         Small documentation fixes.
3058
3059 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3060
3061         * gst/gstvalue.c:
3062           Document thread-unsafety of gst_value_register_foo_func()
3063           when used at the same time as gst_value_foo() (#322628).
3064
3065 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3066
3067         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3068         (gst_push_src_check_get_range):
3069           Push sources don't support pull mode by default.
3070
3071 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3072
3073         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3074         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3075         (gst_base_src_default_check_get_range):
3076         * libs/gst/base/gstbasesrc.h:
3077           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3078           provide default implementation, and rename
3079           gst_base_src_check_get_range() to
3080           gst_base_src_pad_check_get_range() for clarity.
3081
3082 2006-03-06  Wim Taymans  <wim@fluendo.com>
3083
3084         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3085         Make property overridable.
3086
3087 2006-03-06  Wim Taymans  <wim@fluendo.com>
3088
3089         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3090         (gst_base_sink_init), (gst_base_sink_set_property),
3091         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3092         * libs/gst/base/gstbasesink.h:
3093         API addition: Make max-lateness a property.
3094
3095 2006-03-06  Wim Taymans  <wim@fluendo.com>
3096
3097         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3098         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3099         Don't ever draw a frame that is >10ms late.
3100
3101 2006-03-06  Michael Smith  <msmith@fluendo.com>
3102
3103         * gst/gstmessage.c: (_gst_message_copy):
3104           When copying a message, set the parent_refcount of the enclosed
3105           structure to point at the copy, not the original message.
3106
3107 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3108
3109         Patch by: Christophe Fergeau
3110
3111         * gst/gstutils.h:
3112           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3113           usable in c++ code (#333417)
3114
3115 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3116
3117         * gst/gstclock.h:
3118           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3119
3120 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3121
3122         * libs/gst/base/gstbasetransform.c:
3123         (gst_base_transform_transform_caps):
3124           Make sure caps are writable before passing them to
3125           gst_caps_append().
3126
3127 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3128
3129         * gst/gsterror.h:
3130           Fix some minor docs errors.
3131
3132 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3133
3134           Patch by: Ross Burton <ross at burtonini dot com>
3135
3136         * gst/gsterror.c: (_gst_resource_errors_init):
3137         * gst/gsterror.h:
3138           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3139
3140 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3141
3142         * gst/gst.c:
3143         Add a check and output a g_warning when GStreamer is built
3144         against GLib 2.6 but running against 2.8 or higher, and vice 
3145         versa. (Closes: #323542)
3146
3147 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3148
3149         * gst/parse/parse.l:
3150           Commit patch for parse_launch syntax from #331255. Removes 
3151           support for quoted strings and mimetypes when writing filtered 
3152           caps. See the bug report for more details - I'm pretty sure this
3153           obscure feature is not in use by _anyone_ anywhere.
3154
3155           With this simple change, the size of the gstreamer.so here 
3156           drops from 2193KB to 1565KB.
3157
3158 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3159
3160         * plugins/elements/gsttypefindelement.h:
3161         * plugins/elements/gsttypefindelement.c:
3162         (gst_type_find_element_src_event), (start_typefinding),
3163         (stop_typefinding), (gst_type_find_element_handle_event),
3164         (gst_type_find_element_chain),
3165         (gst_type_find_element_chain_do_typefinding):
3166           Use gst_type_find_helper_for_buffer() for chain-based
3167           typefinding.
3168
3169 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3170
3171         * plugins/elements/gsttypefindelement.c:
3172         (gst_type_find_element_class_init),
3173         (gst_type_find_element_set_property),
3174         (gst_type_find_element_get_property):
3175           Deprecate "maximum" property (not only was it only taken into
3176           account for typefinding in push-mode anyway, it also was never
3177           actually possible to set it in the first place because the
3178           property was registered with the numeric property ID for the
3179           "minimum" property). Register "maximum" property correctly,
3180           for the sake of future copy'n'pasters. Remove some cruft
3181           from property get/set functions.
3182
3183 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3184
3185         * plugins/elements/gsttypefindelement.c:
3186         (gst_type_find_element_activate):
3187           Use gst_type_find_helper_get_range() here, so we
3188           can honour the "minimum" property and also emit
3189           the signal with the correct probability of the found caps.
3190
3191 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3192
3193         * docs/libs/gstreamer-libs-sections.txt:
3194         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3195         (helper_find_suggest), (gst_type_find_helper_get_range),
3196         (gst_type_find_helper):
3197         * libs/gst/base/gsttypefindhelper.h:
3198           New API: gst_type_find_helper_get_range() (#333042).
3199
3200 2006-03-02  Michael Smith  <msmith@fluendo.com>
3201
3202         * gst/gstregistryxml.c: (load_feature):
3203           Asserting on a failure to read part of the registry is Not Cool.
3204           Just log a warning and return NULL (which is already handled)
3205
3206 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3207
3208         * win32/common/libgstbase.def:
3209           added export of gst_type_find_helper_for_buffer
3210         * win32/common/libgstbase.def:
3211           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3212           gst_ghost_pad_get_target
3213
3214 2006-02-28  Wim Taymans  <wim@fluendo.com>
3215
3216         * docs/design/draft-klass.txt:
3217         We use Filter now.
3218         Added Connector to mark elements that are only used to
3219         allow pipeline connections.
3220         Moved Debug to extra feature since most of them are 
3221         functionally something else.
3222
3223 2006-02-28  Wim Taymans  <wim@fluendo.com>
3224
3225         * docs/design/draft-klass.txt:
3226         Some updates and clarifications.
3227
3228 2006-02-28  Wim Taymans  <wim@fluendo.com>
3229
3230         * docs/design/draft-klass.txt:
3231         Proposal for klass field values.
3232
3233         * docs/design/part-streams.txt:
3234         Start of a doc describing stream anatomy.
3235
3236 2006-02-28  Wim Taymans  <wim@fluendo.com>
3237
3238         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3239         Help the compiler a bit with type registration.
3240         Use existing forward cod path instead of duplicating it when 
3241         handling a message.
3242         
3243         * gst/gstbus.c: (gst_bus_get_type):
3244         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3245         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3246         * gst/gstclock.c: (gst_clock_get_type):
3247         * gst/gstelement.c: (gst_element_get_type),
3248         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3249         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3250         * gst/gstminiobject.c: (gst_mini_object_get_type):
3251         * gst/gstpad.c: (gst_pad_get_type):
3252         * gst/gstsegment.c: (gst_segment_get_type):
3253         * gst/gststructure.c: (gst_structure_get_type):
3254         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3255         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3256         * gst/gstvalue.c:
3257         Help compiler with type registration.
3258
3259         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3260         Small doc update.
3261
3262 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3263
3264         * plugins/elements/gsttypefindelement.c:
3265         (gst_type_find_element_handle_event):
3266           When we get an EOS event and have not found a type yet
3267           (most likely because we had not yet accumulated
3268           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3269           type given the data we have so far. Fixes typefinding
3270           for very short streams again, most notably quicktime
3271           redirections as used on Apple's trailer site (#331701).
3272
3273 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3274
3275         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3276         (gst_type_find_helper):
3277           Try typefinding factories with the highest rank first.
3278
3279 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3280
3281         * docs/libs/gstreamer-libs-docs.sgml:
3282         * docs/libs/gstreamer-libs-sections.txt:
3283         * libs/gst/base/gsttypefindhelper.c:
3284           Add section for typefind helper and add documentation
3285           for the old and the new function.
3286
3287 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3288
3289         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3290         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3291         (gst_type_find_helper_for_buffer):
3292         * libs/gst/base/gsttypefindhelper.h:
3293           New API: gst_type_find_helper_for_buffer() (#332723).
3294           
3295 2006-02-27  Michael Smith  <msmith@fluendo.com>
3296
3297         Patch by: Loïc Minier
3298
3299         * configure.ac:
3300         * docs/Makefile.am:
3301         * docs/slides/Makefile.am:
3302           prevent CVS directories getting disted.
3303
3304 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3305
3306         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3307           Use the REFCOUNTING category for caps refcounting.
3308           
3309 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3310
3311         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3312           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3313
3314 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3315
3316         * plugins/elements/gsttypefindelement.c:
3317         (gst_type_find_element_activate):
3318           Use gst_pad_check_pull_range() before _activate_pull()
3319           to avoid unnecessary open/close (see #331690).
3320
3321 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3322
3323         * gst/gstutils.c:
3324           Docs enhancement: make it crystal clear what the
3325           gst_pad_add_*_probe() callbacks should look like.
3326
3327 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3328
3329         * libs/gst/base/gstbasesrc.c:
3330           Document how applications can stop recording from
3331           live sources (see #330996).
3332
3333 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3334
3335         * tests/check/Makefile.am:
3336         * tests/check/libs/basesrc.c: (eos_event_counter),
3337         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3338         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3339         (gst_basesrc_suite), (main):
3340           ... and add some tests for the base source EOS stuff.
3341
3342 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3343
3344         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3345           Test case originally showed the problem fixed below,
3346           but was then amended. Add checks back at the place
3347           where they used to be.
3348
3349 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3350
3351         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3352         (gst_base_src_init), (gst_base_src_loop),
3353         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3354         (gst_base_src_change_state):
3355         * libs/gst/base/gstbasesrc.h:
3356           Don't unconditionally send EOS when going from PAUSED to
3357           READY state, esp. make sure we don't send two EOS events
3358           in some cases (e.g. one when reaching EOS and one when
3359           going from PAUSED to READY). Also, we don't want to send
3360           EOS events when operating in pull mode. However, we do
3361           want to send an EOS event when shutting down a live
3362           source explicitly, for example (fixes #330996).
3363           
3364 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3365
3366         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3367           Update src->read_position after a seek when not using mmap.
3368           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3369
3370 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3371
3372         * gst/Makefile.am:
3373         * gst/gstparse.h:
3374         * gst/gstutils.c:
3375         * gst/gstutils.h:
3376         Make things work with --disable-parse as they do with 
3377         --disable-load-save - the symbols involved disappear, but the
3378         header is still installed and GST_DISABLE_PARSE is included via
3379         gstconfig.h
3380
3381 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3382
3383         * libs/gst/base/gstbasetransform.c:
3384         (gst_base_transform_change_state): Fix a stupid bug. I was 
3385         sure I compiled that.
3386
3387 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3388
3389         * gst/gstpad.c: (gst_pad_set_blocked_async):
3390         * gst/gstutils.c: (gst_pad_add_data_probe),
3391         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3392         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3393         (gst_pad_remove_buffer_probe): Make those function act on the
3394         ghostpad target when it's a ghostpad. (Closes #331727)
3395
3396 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3397
3398         * libs/gst/base/gstbasetransform.c:
3399         (gst_base_transform_change_state): Make basetransform reusable.
3400         (Closes #331898)
3401
3402 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3403
3404         * docs/random/release:
3405         Move the current documentation of how to do a release to the top
3406         of the file.
3407
3408         * gst/gstbin.c: (gst_bin_class_init),
3409         (gst_bin_handle_message_func):
3410         Allow multiple state-recalculation threads. (Closes #328873)
3411
3412 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3413
3414         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3415         * gst/gstpad.c: (gst_pad_set_event_function),
3416         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3417         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3418         2 strings. You can't use the STR_NULL macro on that.
3419
3420 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3421
3422         * gst/gstpad.c: (gst_pad_set_event_function),
3423         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3424         (gst_pad_set_getcaps_function)
3425         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3426           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3427           So now, we can use --gst-debug-level=5 on Windows
3428         * win32/common/libgstcontroller.def:
3429           Added export of gst_controller_init
3430         * win32/vs6/libgstcontroller.dsp:
3431           Fixed Release post build configuration
3432
3433 2006-02-17  Wim Taymans  <wim@fluendo.com>
3434
3435         * tests/check/gst/gstquery.c: (GST_START_TEST):
3436         Added another check.
3437
3438 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3439
3440         * plugins/elements/gsttypefindelement.c: (find_peek):
3441           We can do peeks at non-zero offsets, as long as they
3442           fall within the buffer we have.
3443
3444 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3445
3446         * tests/check/Makefile.am:
3447         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3448         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3449         (parse_suite), (main):
3450           Add testsuite for parse launch syntax
3451
3452 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3453
3454         * plugins/elements/gsttypefindelement.c:
3455         (gst_type_find_element_chain):
3456           When typefinding is unsuccessful in the chain function, don't
3457           error out immediately. Only error out with NO_CAPS_FOUND if
3458           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3459           otherwise simply wait for more data so we can try typefinding
3460           again with more data later. Also, don't attempt to typefind
3461           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3462           this should improve typefinding from network sources where the
3463           size of the first buffer can be somewhat random.
3464
3465 2006-02-14  Wim Taymans  <wim@fluendo.com>
3466
3467         * docs/gst/gstreamer-sections.txt:
3468         * gst/gstpadtemplate.c:
3469         * gst/gstpadtemplate.h:
3470         Fix padtemplate docs, fixes #328805.
3471
3472 2006-02-14  Wim Taymans  <wim@fluendo.com>
3473
3474         * tools/gst-launch.c: (main):
3475         NO_PREROLL is not an ERROR so don't send confusing messages
3476         to the user.
3477
3478 2006-02-14  Wim Taymans  <wim@fluendo.com>
3479
3480         Patch by: Torsten Schoenfeld
3481
3482         * gst/gstregistry.c: (gst_registry_get_default),
3483         (_gst_registry_cleanup):
3484         Protect default registry with lock and ref/sink it.
3485         Fixes #324818
3486
3487 2006-02-14  Wim Taymans  <wim@fluendo.com>
3488
3489         * gst/gstbuffer.c:
3490         * gst/gstquery.c: (gst_query_list_add_format),
3491         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3492         (gst_query_parse_formats_nth):
3493         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3494         Docs fixes.
3495
3496 2006-02-14  Wim Taymans  <wim@fluendo.com>
3497
3498         * docs/gst/gstreamer-sections.txt:
3499         Reworked query docs.
3500
3501         * gst/gstquery.c: (gst_query_new_formats),
3502         (gst_query_list_add_format), (gst_query_set_formats),
3503         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3504         (gst_query_parse_formats_nth):
3505         * gst/gstquery.h:
3506         Flesh out formats query, added some new methods.
3507         Fix part of #324398.
3508
3509         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3510         Added query creation tests.
3511
3512 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3513
3514         * gst/gstpad.c: (fixate_value):
3515         Add a default fixation for fraction lists.
3516
3517 2006-02-13  Wim Taymans  <wim@fluendo.com>
3518
3519         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3520         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3521         (gst_task_join):
3522         * gst/gsttask.h:
3523         Detect and warn for obvious deadlocks. fixes #320340
3524         Fix error case where lock was not released.
3525
3526         * tests/check/Makefile.am:
3527         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3528         (task_func), (gst_element_suite), (main):
3529         Add task check.
3530
3531 2006-02-13  Wim Taymans  <wim@fluendo.com>
3532
3533         * docs/gst/gstreamer-sections.txt:
3534         * gst/gstbus.c:
3535         Add new functions to docs.
3536
3537 2006-02-13  Wim Taymans  <wim@fluendo.com>
3538
3539         * docs/design/part-TODO.txt:
3540         Updated TODO list, basesrc supports seeking to non-bytes
3541         formats.
3542
3543         * docs/design/part-element-sink.txt:
3544         Update docs.
3545
3546         * gst/gstbin.c: (bin_replace_message),
3547         (gst_bin_handle_message_func):
3548         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3549         * gst/gstevent.c: (gst_event_finalize):
3550         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3551         (gst_pad_send_event):
3552         Use shiny new _TYPE_NAME macros.
3553
3554         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3555         Move debug statement up.
3556
3557         * gst/gstelement.c: (gst_element_set_locked_state):
3558         Add some debugging.
3559
3560 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3561
3562         * docs/gst/gstreamer-sections.txt:
3563         * gst/gstmessage.h:
3564         * gst/gstquery.h:
3565           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3566           macros (#330906). Also, document the already existing
3567           GST_QUERY_TYPE macro.
3568
3569 2006-02-13  Wim Taymans  <wim@fluendo.com>
3570
3571         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3572         (event_probe), (GST_START_TEST):
3573         Only events up to the pipeline EOS are counted, there are
3574         some more when going to NULL currently which we don't care
3575         about for now.
3576
3577 2006-02-13  Wim Taymans  <wim@fluendo.com>
3578
3579         * gst/gstpad.c: (gst_pad_send_event):
3580         Correctly check flushing and emit probes. fixes #330125
3581
3582 2006-02-10  Andy Wingo  <wingo@pobox.com>
3583
3584         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3585         structure.
3586         (gst_bus_init): Cache the location of the private data in the
3587         instance structure.
3588         (gst_bus_enable_sync_message_emission) 
3589         (gst_bus_disable_sync_message_emission): Implement new public
3590         functions.
3591         (gst_bus_post): Emit the sync-message signal if the user asked for
3592         it. Fixes #330684.
3593
3594         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3595         location of the bus-private structure.
3596         (gst_bus_enable_sync_message_emission)
3597         (gst_bus_disable_sync_message_emission): API addition
3598
3599 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3600
3601         Patch by: Vincent Torri
3602
3603         * docs/pwg/building-boiler.xml:
3604         PWG patch from #326800
3605
3606 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3607
3608         * configure.ac:
3609         * docs/Makefile.am:
3610         * docs/design/Makefile.am:
3611           Dist design docs.
3612
3613 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3614
3615         * configure.ac:
3616           back to CVS
3617
3618 === release 0.10.3 ===
3619
3620 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3621
3622         * configure.ac:
3623           releasing 0.10.3, "Like a virgin"
3624
3625 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3626
3627         * configure.ac:
3628           2nd prerelease of 0.10.3
3629           Bump libtool versioning.
3630
3631 2006-02-07  Andy Wingo  <wingo@pobox.com>
3632
3633         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3634         update last_stop if we're in TIME format and the timestamp is
3635         valid.
3636
3637         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3638         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3639         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3640         If we get a new newsegment with a different format, adapt
3641         accordingly.
3642
3643         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3644         of 0. Not a problem, really.
3645
3646         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3647         warn if sync=true.
3648
3649 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3650
3651         * configure.ac:
3652           Prelease of 0.10.3
3653
3654 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3655
3656         * win32/vs7:
3657           project files updated to the default vs7 configuration
3658         * win32/common/libgstbase.def:
3659         * win32/common/libgstreamer.def:
3660           added new symbols,
3661           removed empty lines,
3662           sorted all exported symbols alphabetically
3663         * win32/common/dirent.c:
3664         * win32/common/dirent.h:
3665         * win32/common/gchar.h:
3666           use windows line end.
3667           
3668 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3669
3670         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3671           Send EOS event when stopping.
3672
3673 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3674
3675         * docs/README:
3676           Tell folks what to do if the plugin-foobar.xml file
3677           hasn't been generated for a newly-added plugin.
3678
3679 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3680
3681         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3682         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3683         (gst_collect_pads_start), (gst_collect_pads_stop),
3684         (gst_collect_pads_event): Collectpads now holds a reference
3685         to the GstPad that was added. Indeed we don't want to look
3686         at pads that might just go away with no warning...
3687
3688 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3689
3690         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3691         (gst_collect_pads_start), (gst_collect_pads_stop),
3692         (gst_collect_pads_event), (gst_collect_pads_chain):
3693         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3694         Mark Nauwelaerts's patch on bug #328491.
3695
3696 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3697
3698         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3699         (gst_utils_suite):
3700           Add some simple tests for gst_parse_bin_from_description() and
3701           gst_bin_find_unconnected_pad() (#329069).
3702
3703 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3704
3705         * tools/gst-launch.c: (event_loop), (main):
3706           Catch errors during preroll (#320084).
3707
3708 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3709
3710         * plugins/elements/gsttypefindelement.c:
3711         (gst_type_find_element_activate):
3712           Post TYPE_NOT_FOUND error message when typefinding
3713           is unsuccessful in the activate function as well.
3714
3715 2006-02-02  Wim Taymans  <wim@fluendo.com>
3716
3717         * docs/design/part-element-sink.txt:
3718         Updated doc.
3719
3720 2006-02-02  Wim Taymans  <wim@fluendo.com>
3721
3722         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3723         (gst_base_sink_render_object),
3724         (gst_base_sink_queue_object_unlocked):
3725         Only keep track of prerollable items when we are 
3726         prerolling.
3727         Before rendering after preroll, always check if we
3728         have queued items.
3729         Added some more debugging.
3730
3731 2006-02-02  Wim Taymans  <wim@fluendo.com>
3732
3733         * gst/gstelement.c: (gst_element_continue_state),
3734         (gst_element_set_state_func), (gst_element_change_state):
3735         Fixed #326576, been running this for quite some time with
3736         no regressions at all.
3737
3738 2006-02-02  Wim Taymans  <wim@fluendo.com>
3739
3740         * common/gst.supp:
3741         Added more suppressions
3742
3743 2006-02-02  Wim Taymans  <wim@fluendo.com>
3744
3745         * docs/design/part-element-sink.txt:
3746         Updated document.
3747
3748         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3749         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3750         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3751         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3752         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3753         (gst_base_sink_preroll_object),
3754         (gst_base_sink_queue_object_unlocked),
3755         (gst_base_sink_queue_object), (gst_base_sink_event),
3756         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3757         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3758         (gst_base_sink_get_position), (gst_base_sink_change_state):
3759         * libs/gst/base/gstbasesink.h:
3760         Totally refactored matching the design doc.
3761         Use two segments, one to clip incomming buffers and another to
3762         perform sync.
3763         Handle queueing correctly, bypass the queue when playing.
3764         Make EOS cancelable.
3765         Handle errors correctly when operating in pull based mode.
3766
3767         * tests/check/elements/fakesink.c: (GST_START_TEST),
3768         (fakesink_suite):
3769         Added new check for sinks.
3770
3771 2006-02-02  Wim Taymans  <wim@fluendo.com>
3772
3773         * gst/gstsegment.c: (gst_segment_clip):
3774         No reason to refuse to clip when start == -1
3775
3776 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3777
3778         * docs/README:
3779         * docs/manual/intro-basics.xml:
3780         * docs/manual/intro-preface.xml:
3781         * docs/manual/manual.xml:
3782         * docs/pwg/advanced-dparams.xml:
3783         * docs/pwg/intro-basics.xml:
3784         * docs/pwg/intro-preface.xml:
3785         * docs/pwg/pwg.xml:
3786           describe dparams (controller) for plugins
3787           unify docs a little more
3788
3789 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3790
3791         * docs/gst/gstreamer-sections.txt:
3792         * gst/gstutils.c: (element_find_unconnected_pad),
3793         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3794         * gst/gstutils.h:
3795           Add new API: gst_parse_bin_from_description() and
3796           gst_bin_find_unconnected_pad() (#329069).
3797
3798 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3799
3800         * docs/manual/README:
3801           uncover a nasty detail of the docs build
3802
3803 2006-01-31  Wim Taymans  <wim@fluendo.com>
3804
3805         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3806         Don't cache duration messages if we're not going to use or
3807         free them.
3808
3809 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3810
3811         * docs/manual/advanced-dparams.xml:
3812         * docs/pwg/advanced-dparams.xml:
3813           more dparam docs
3814         * gst/gstindex.c:
3815           fix docs
3816         * libs/gst/controller/lib.c: (gst_controller_init):
3817           init just once
3818
3819 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3820
3821         * gst/gstelement.c: (gst_element_message_full):
3822           also show file/line/func if no additional debug was given
3823
3824 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3825         
3826         * win32/vs7/grammar.vcproj:
3827           activate copy of autogenerated files for Release mode
3828
3829 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3830         
3831         * win32/common/libgstreamer.def:
3832           export gst_value_compare
3833
3834 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3835
3836         * plugins/elements/Makefile.am:
3837         * plugins/elements/gstelements.c:
3838         * plugins/elements/gstfdsink.c: (_do_init),
3839         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3840         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3841         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3842         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3843         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3844         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3845         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3846         * plugins/elements/gstfdsink.h:
3847         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3848
3849 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3850
3851         * docs/manual/advanced-dparams.xml:
3852           describe controller
3853         * docs/manual/advanced-position.xml:
3854         * docs/manual/basics-init.xml:
3855         * docs/manual/manual.xml:
3856         * docs/manual/titlepage.xml:
3857         * docs/pwg/pwg.xml:
3858         * docs/pwg/titlepage.xml:
3859           cleanup xml (more to come)
3860         * libs/gst/controller/gstcontroller.c:
3861           fix typo
3862
3863 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3864         
3865         * win32/vs6/grammar.dsp:
3866           add autogen of gstmarshal.c,h for Release mode
3867                 
3868 2006-01-30  Wim Taymans  <wim@fluendo.com>
3869
3870         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3871         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3872         (gst_base_sink_handle_object), (gst_base_sink_event),
3873         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3874         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3875         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3876         (gst_base_sink_deactivate), (gst_base_sink_activate),
3877         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3878         (gst_base_sink_query), (gst_base_sink_change_state):
3879         Basesink cleanups, remove some old code.
3880         Handle the case where a subclass can preroll in the render
3881         method (mostly audiosinks).
3882         Handle more events.
3883         Remove some locks around variables that are now protected
3884         with the PREROLL_LOCK (clock_id, flushing, ..).
3885         Optimize position query some more, do correct locking.
3886         Remove old code to push queue in state change, this is not
3887         needed anymore since preroll blocks on all prerollable items 
3888         now.
3889         Almost implemented as described in design doc.
3890
3891 2006-01-30  Wim Taymans  <wim@fluendo.com>
3892
3893         * tests/check/gst/gstbin.c: (GST_START_TEST):
3894         Wait for refcount to settle down before checking.
3895
3896 2006-01-30  Wim Taymans  <wim@fluendo.com>
3897
3898         * docs/design/part-element-sink.txt:
3899         Pseudo code overview of desired sink behaviour regarding
3900         preroll.
3901
3902 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3903         * win32/vs6/grammar.dsp:
3904           fix some bugs in Release mode for autogenerated files
3905                 
3906 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3907         * win32/common/libgstbase.def:
3908         * win32/common/libgstreamer.def:
3909           export some new symbols: gst_base_src_set_format,
3910           gst_iterator_next, gst_structure_set_valist
3911
3912 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3913
3914         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3915         Set pad functions unconditionally. Fixes #329105.
3916
3917 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3918         * win32/vs8:
3919           add vs8 project files created by Sergey Scobich
3920
3921 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3922
3923         * gst/gstutils.c: (gst_element_unlink_pads):
3924         Don't leak pad references.
3925
3926         * tests/check/elements/fakesink.c: (GST_START_TEST):
3927         * tests/check/generic/sinks.c: (GST_START_TEST):
3928         * tests/check/generic/states.c: (GST_START_TEST):
3929         * tests/check/gst/gstbin.c: (GST_START_TEST):
3930         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3931         * tests/check/gst/gstelement.c: (GST_START_TEST):
3932         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3933         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3934         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3935         Fix a bunch of leaks. Make generic/sinks.c
3936         use a bit less cpu by slowing the buffer rate
3937         between fakesrc and fakesink.
3938         
3939 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3940         * gst/gstcaps.c:
3941         * gst/gstelement.c: (gst_element_send_event):
3942         * gst/gstevent.c:
3943         * gst/gstinfo.c:
3944         * gst/gstiterator.c:
3945         * gst/gstiterator.h:
3946         * gst/gstpad.c: (gst_pad_send_event):
3947         * gst/gststructure.c:
3948         * gst/gsturi.c:
3949         * gst/gstutils.c:
3950         * gst/gstvalue.c:
3951         * libs/gst/base/gstadapter.c:
3952           doc fixes, to link to function, just write gst_cool_function(), don't
3953           prefix with '#'
3954
3955 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3956
3957         * plugins/elements/gsttee.c: (gst_tee_do_push),
3958         (gst_tee_handle_buffer):
3959         Always prefer an actual return value from a src
3960         pad in place of NOT_LINKED. This means we return
3961         WRONG_STATE when all src pads are WRONG_STATE
3962         instead of NOT_LINKED.
3963
3964         Lock when replacing the last message to prevent
3965         racing with the get_property method.
3966
3967         Add debug output
3968
3969 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3970
3971         * tests/check/Makefile.am:
3972         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3973         (main):
3974         Add a very simple check that should have caught the memleak I fixed
3975         last night (if not for the slice allocator hiding it)
3976
3977 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3978
3979         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3980         (gst_bin_remove_func), (gst_bin_handle_message_func),
3981         (bin_query_duration_fold), (bin_query_generic_fold):
3982         Clean up references to the clock provider when disposed or when
3983         handling a clock-lost message from it.
3984
3985         Unref sinks when performing a query via gst_iterator_fold, as the
3986         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3987
3988         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3989         (gst_clock_set_master):
3990         Drop our reference to the master clock, if any, when we are disposed.
3991
3992         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3993         Chain up in dispose. 
3994
3995 2006-01-26  Wim Taymans  <wim@fluendo.com>
3996
3997         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3998         Add some debugging.
3999
4000 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4001
4002         * plugins/elements/gsttee.c: (gst_tee_do_push),
4003         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4004         handles pad being NOT_LINKED or in WRONG_STATE.
4005
4006 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4007
4008         * win32/MANIFEST:
4009           more updating
4010
4011 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4012
4013         * win32/MANIFEST:
4014           remove obsolete entry
4015
4016 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4017
4018         * docs/gst/gstreamer-sections.txt:
4019         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4020         (gst_bin_iterate_sources), (gst_bin_send_event):
4021         * gst/gstbin.h:
4022         * gst/gstelement.c: (gst_element_send_event):
4023         * gst/gstevent.c:
4024         * gst/gstpad.c: (gst_pad_send_event):
4025           added code for downstream events, reviewed docs in gstevent.c
4026
4027 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4028
4029         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4030         We only query position using the clock in the playing state.
4031         Query peer in the other cases.
4032         * win32/common/config.h: Updates.
4033
4034 2006-01-24  Wim Taymans  <wim@fluendo.com>
4035
4036         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4037         A clock entry that is scheduled for the exact time of the
4038         clock is still in time.
4039
4040         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4041         (gst_base_sink_do_sync):
4042         Add some more debug info.
4043
4044 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4045
4046         * win32/vs7:
4047           Add new vs7 project files and solution.
4048
4049 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4050
4051         * win32/vs7:
4052           all files removed as they were out-dated.
4053
4054 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4055
4056         * docs/random/release:
4057           update notes
4058         * gst/gstbin.c: (gst_bin_init):
4059         * gst/gstbus.c: (gst_bus_new):
4060         * gst/gstbus.h:
4061         * gst/gstpipeline.c: (gst_pipeline_init):
4062           use gst_bus_new(), improve logging, fix docs
4063         * win32/common/config.h:
4064           update for cvs build
4065
4066 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4067
4068         * autogen.sh:
4069           up required version of automake to 1.7
4070
4071 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4072
4073         * win32/common/libgstreamer.def:
4074           export gst_buffer_is_metadata_writable
4075
4076 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4077
4078         * docs/gst/gstreamer-sections.txt:
4079         * gst/gstevent.h:
4080           Add gst_event_replace() (#327001)
4081
4082 2006-01-20  Wim Taymans  <wim@fluendo.com>
4083
4084         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4085         Make it actually compile too..
4086
4087 2006-01-20  Wim Taymans  <wim@fluendo.com>
4088
4089         * gst/gstcaps.c:
4090         Clarify behaviour of _is_equal() when passing NULL parameters.
4091
4092         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4093         (gst_pad_set_caps):
4094         Cleanups. Don't unref NULL caps.
4095         When setting the same caps, protect caps of the pad with
4096         proper lock.
4097         Use full functionality of _is_equal() when comparing caps.
4098
4099 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4100
4101         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4102         Don't loop infinitely if there are no buffers to present. Partially
4103         fixes #327197, but collectpads is just broken for reusing elements
4104         to do multiple encodes atm.
4105
4106 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4107
4108         * tools/gst-inspect.c: (print_element_features):
4109         * tools/gst-xmlinspect.c: (main):
4110         URL_HANDLER is not a plugin feature we can search for in
4111         the registry.
4112
4113 2006-01-19  Edward Hervey  <edward@fluendo.com>
4114
4115         * gst/gstelement.c: (gst_element_pads_activate): 
4116         When activating, do src pads first, then sink pads.
4117         When de-activating, do sink pads first, then src pads.
4118
4119 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4120
4121         * docs/gst/gstreamer-sections.txt:
4122         Add gst_index_add_associationv to the docs
4123
4124 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4125
4126         * gst/gstevent.c:
4127           Fix docs typo
4128
4129         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4130         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4131           Do some refactoring. Doesn't actually change functionality,
4132           but makes landing the DRAIN event easier later.
4133
4134 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4135
4136         * docs/pwg/advanced-scheduling.xml:
4137           Update from 0.9.x to 0.10 API and make example a bit
4138           clearer.
4139
4140 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4141
4142         * docs/gst/gstreamer-sections.txt:
4143         Add gst_buffer_(is|make)_metadata_writable methods.
4144
4145 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4146
4147         * docs/design/part-sparsestreams.txt:
4148         Update sparse streams doc, hopefully for greater clarity
4149
4150 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4151
4152         * docs/design/part-events.txt:
4153         Remove mention of FILLER events.
4154         Add DRAIN event.
4155
4156         * docs/design/part-sparsestreams.txt:
4157         Write some things about using NEWSEGMENT to keep sparse streams
4158         flowing.
4159
4160 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4161
4162         * gst/gstbin.c: (gst_bin_dispose):
4163           Guard gst_object_unref call against a NULL object (dispose
4164           can theoretically be called multiple times).
4165           
4166 2006-01-18  Wim Taymans  <wim@fluendo.com>
4167
4168         * gst/gstbin.c: (gst_bin_element_set_state):
4169         * gst/gstclock.c: (gst_clock_id_wait):
4170         Added some more debug info.
4171
4172         * libs/gst/base/gstadapter.c:
4173         Added more docs.
4174
4175         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4176         (gst_base_sink_do_sync), (gst_base_sink_chain):
4177         Added some comments.
4178
4179 2006-01-18  Wim Taymans  <wim@fluendo.com>
4180
4181         * tests/check/Makefile.am:
4182         * tests/check/elements/fakesink.c: (chain_async_buffer),
4183         (chain_async), (chain_async_return), (GST_START_TEST),
4184         (fakesink_suite), (main):
4185         Added fakesink test that checks prerolling and clipping
4186         behaviour.
4187
4188         * tests/check/gst/gstutils.c: (GST_START_TEST):
4189         Make check run faster so that buildbots don't timeout.
4190
4191 2006-01-18  Wim Taymans  <wim@fluendo.com>
4192
4193         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4194         (gst_base_sink_do_sync):
4195         Some cleanups.
4196         When the sink finishes blocking on the preroll buffer, it can
4197         immediatly render it instead of rendering when the next buffer
4198         arrives.
4199
4200 2006-01-18  Wim Taymans  <wim@fluendo.com>
4201
4202         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4203         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4204         (gst_base_sink_chain):
4205         Small cleanups.
4206         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4207         Don't store _last_stop if the buffer is dropped.
4208
4209 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4210
4211         * plugins/elements/gsttypefindelement.c:
4212         (gst_type_find_element_class_init):
4213           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4214           object method handler that sets the caps on the pad and we want
4215           that to happen before we emit the signal (fixes e.g. feeding a
4216           plain text file to decodebin).
4217
4218 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4219
4220         * gst/gstplugin.c: Add MPL and Proprietary as license options
4221
4222 2006-01-18  Andy Wingo  <wingo@pobox.com>
4223
4224         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4225         symbol was exported before, it appears this was just an oversight.
4226         Fixes #168703.
4227         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4228
4229         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4230         prototype to gint. OK since this prototype was not in the header.
4231
4232 2006-01-17  Andy Wingo  <wingo@pobox.com>
4233
4234         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4235         registry while we remove plugins.
4236
4237         * tools/gst-inspect.c (print_element_info): Don't unref the
4238         factory arg, that should be the responsibility of whatever code
4239         received the ref. Fixes a double-free when called from
4240         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4241         (main): Unref the factory if we have one.
4242         (print_element_list): No change -- relies on the
4243         plugin_feature_list_free to free the list of features.
4244
4245 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4246
4247         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4248         (gst_buffer_make_metadata_writable):
4249         * gst/gstbuffer.h:
4250         * libs/gst/base/gstbasetransform.c:
4251         (gst_base_transform_prepare_output_buf):
4252         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4253         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4254           Replace gst_buffer_(make|is)_metadata_writable patch now
4255           that the release is out.
4256
4257 2006-01-17  Andy Wingo  <wingo@pobox.com>
4258
4259         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4260         in the present tense without reference to versions.
4261
4262         * gst/gstregistry.c (gst_registry_add_plugin)
4263         (gst_registry_remove_plugin, gst_registry_remove_feature)
4264         (gst_registry_find_feature, gst_registry_get_feature_list)
4265         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4266         (gst_registry_lookup, gst_registry_scan_path)
4267         (_gst_registry_remove_cache_plugins)
4268         (gst_registry_get_feature_list_by_plugin): Add argument
4269         validation.
4270
4271 === release 0.10.2 ===
4272
4273 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4274
4275         * configure.ac:
4276           releasing 0.10.2, "If man is five"
4277
4278 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4279
4280         * gst/gstbuffer.c:
4281         * gst/gstbuffer.h:
4282         * libs/gst/base/gstbasetransform.c:
4283         (gst_base_transform_prepare_output_buf):
4284         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4285         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4286           Back out patch until after the release.
4287
4288 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4289
4290         * gst/gstminiobject.c:
4291           Spelling fix in docs.
4292         * ChangeLog - remove conflict indicator
4293
4294 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4295
4296         Reviewed By: Andy Wingo
4297
4298         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4299         (gst_buffer_make_metadata_writable):
4300         * gst/gstbuffer.h:
4301           Add gst_buffer_(is|make)_metadata_writable as analogues of
4302           gst_buffer_(is|make)_writable.
4303
4304         * libs/gst/base/gstbasetransform.c:
4305         (gst_base_transform_prepare_output_buf):
4306         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4307           Use name gst_buffer_(is|make)_metadata_writable functions.
4308
4309         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4310           Test gst_buffer_(is|make)_metadata_writable
4311         
4312           (Closes: #324162)
4313
4314 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4315
4316         * docs/manual/Makefile.am:
4317           don't do parallel make
4318         * configure.ac:
4319           AC_SUBST HOST_CPU
4320         * win32/common/config.h.in:
4321           add generations for HOST_CPU and GST_MAJORMINOR
4322         * win32/common/config.h:
4323           commit generated result
4324
4325 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4326
4327         * docs/manual/appendix-integration.xml:
4328           Update GNOME integration section to use gst_init_get_option_group()
4329           instead of the old popt stuff (#322911). Also, GNOME applications
4330           should  now use gconf*sink and gconf*src instead of the old gconf
4331           helper lib we had.
4332
4333 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4334
4335
4336         * docs/gst/gstreamer-docs.sgml:
4337         * docs/gst/gstreamer-sections.txt:
4338         * docs/libs/gstreamer-libs-sections.txt:
4339           add new API entries to the docs
4340         * libs/gst/controller/Makefile.am:
4341         * libs/gst/controller/gstcontroller.c:
4342         * libs/gst/controller/gstcontroller.h:
4343         * libs/gst/controller/gstcontrollerprivate.h:
4344         * libs/gst/controller/gsthelper.c:
4345         * libs/gst/controller/gstinterpolation.c:
4346           move private structs to private header
4347         * po/README:
4348           gstreamer-0.7 -> gstreamer-0.10
4349         * tests/check/libs/struct_i386.h:
4350           remove private structs
4351
4352 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4353
4354         * plugins/indexers/Makefile.am:
4355           Fixes as part of #317048
4356
4357 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4358
4359         * plugins/indexers/Makefile.am:
4360           fix #316086 - compilation when mmap is missing
4361
4362 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4363
4364         * libs/gst/base/gstbasesink.c:
4365           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4366           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4367         * win32/common/config.h:
4368           added some defines GST_MAJORMINOR and HOST_CPU
4369         * win32/common/libgstbase.def:
4370         * win32/common/libgstreamer.def:
4371           added some exported functions.
4372
4373 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4374
4375         * libs/gst/controller/gstcontroller.c:
4376         (gst_controlled_property_set_interpolation_mode),
4377         (gst_controlled_property_new):
4378         * libs/gst/controller/gstcontroller.h:
4379         * libs/gst/controller/gstinterpolation.c:
4380         (interpolate_none_get_string_value_array):
4381           make G_TYPE_STRING controlable
4382
4383 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4384
4385         * tools/README:
4386         * tools/gst-feedback.1.in:
4387         * tools/gst-inspect.1.in:
4388         * tools/gst-launch.1.in:
4389         * tools/gst-md5sum.1.in:
4390         * tools/gst-typefind.1.in:
4391         * tools/gst-xmlinspect.1.in:
4392         * tools/gst-xmllaunch.1.in:
4393           cleanup man-pages, remove reference to gst-register, document env-vars
4394
4395 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4396
4397         * gst/gstbuffer.c: (gst_buffer_span):
4398           gst_buffer_span should copy the timestamp of the first buffer
4399           if they were both originally overlapping subbuffers of the 
4400           same parent, using the same logic as the 'slow copy' case.
4401
4402 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4403
4404         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4405           Need to awaken ALL the pads when we pop a buffer, otherwise
4406           collectpads only works when there is 2 input streams.
4407
4408 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4409
4410         * docs/random/ensonic/media-device-daemon.txt:
4411           more ideas (dbus)
4412         * gst/gstbuffer.c:
4413           fix doc example, add clarification
4414         * tools/gst-launch.1.in:
4415           add initial info about GST_PLUGIN_PATH, needs more work
4416
4417 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4418
4419         * docs/manual/basics-bins.xml:
4420         * docs/manual/basics-elements.xml:
4421         * docs/manual/intro-basics.xml:
4422           Some more minor docs additions and updates.
4423
4424 2006-01-11  Wim Taymans  <wim@fluendo.com>
4425
4426         * docs/manual/basics-bins.xml:
4427         * docs/manual/basics-elements.xml:
4428         Some small fixes as pointed out by Ser-ver on IRC.
4429
4430 2006-01-10  Edward Hervey  <edward@fluendo.com>
4431
4432         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4433         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4434         the single-segment mode.
4435
4436 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4437
4438         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4439
4440         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4441         (gst_base_src_perform_seek), (gst_base_src_send_event),
4442         (gst_base_src_set_property), (gst_base_src_get_property),
4443         (gst_base_src_loop), (gst_base_src_start),
4444         (gst_base_src_activate_push):
4445         * libs/gst/base/gstbasesrc.h:
4446           Name (private) union; makes Sun's Forte compiler happy (#324900).
4447
4448 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4449
4450         * README:
4451           gst-register is gone.
4452
4453 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4454
4455         * gst/gstvalue.c: (_gst_value_initialize):
4456           make the G_TYPE_DATE instantiation work if debug is disabled
4457
4458 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4459
4460         * gst/gstmessage.c: (gst_message_parse_tag),
4461         (gst_message_parse_error), (gst_message_parse_warning):
4462           Don't crash when return location for error/warning debug
4463           string is NULL; add fact that return locations can be
4464           NULL to docs where appropriate.
4465
4466 2006-01-05  Wim Taymans  <wim@fluendo.com>
4467
4468         * gst/gstplugin.c: (gst_plugin_load_file):
4469         Replace strdup by g_strdup.
4470
4471 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4472
4473         * docs/pwg/advanced-types.xml:
4474           fix doc borkage
4475
4476 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         submitted by: Abel Cheung
4479
4480         * po/LINGUAS:
4481         * po/zh_TW.po:
4482           Added Chinese (traditional) translation
4483
4484 2006-01-04  Wim Taymans  <wim@fluendo.com>
4485
4486         * docs/manual/basics-pads.xml:
4487         * docs/plugins/Makefile.am:
4488         * docs/plugins/gstreamer-plugins-docs.sgml:
4489         * docs/plugins/gstreamer-plugins-sections.txt:
4490         * docs/pwg/advanced-clock.xml:
4491         * docs/pwg/advanced-scheduling.xml:
4492         * docs/pwg/advanced-types.xml:
4493         * plugins/elements/gstfdsink.c:
4494         * plugins/elements/gstfdsrc.c:
4495         * plugins/elements/gstfdsrc.h:
4496         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4497         * plugins/elements/gstidentity.h:
4498         * plugins/elements/gstqueue.h:
4499         * plugins/elements/gsttee.c:
4500         * plugins/elements/gsttee.h:
4501         * plugins/elements/gsttypefindelement.c:
4502         (gst_type_find_element_class_init):
4503         * plugins/elements/gsttypefindelement.h:
4504         Small updates to various docs.
4505         Added core plugins to docs.
4506
4507 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4508
4509         * common/gst.supp:
4510           add a suppression for liboil's uninitialized variable
4511
4512 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4513
4514         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4515
4516         * gst/gstutils.h:
4517           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4518           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4519           compiler switch is being used (#325429).
4520
4521 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4522
4523         * gst/gstbin.c: (gst_bin_query):
4524           Disable duration query caching in bins until it gets
4525           fixed (see #324807).
4526
4527 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4528
4529         * tools/gst-inspect.c: (print_element_properties_info):
4530           Handle properties of POINTER and BOXED type.
4531
4532 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4533
4534         * gst/gst.c: (init_post):
4535           Init tags stuff and some other things before loading
4536           any static plugins (there may be other static plugins
4537           than just the GStreamer ones, and they may want to
4538           register their own tags or formats or whatever, and
4539           preferably without segfaulting).
4540
4541         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4542           Print at least a warning in the debug logs if we drop a
4543           query just because we don't know how to adjust the value
4544           in the particular format.
4545
4546 2005-12-24  David Schleef  <ds@schleef.org>
4547
4548         * tools/gstreamer-completion:
4549           Replacement for gst-complete written in sh and sed.  Only
4550           completes names of features, but that's 90% of what I want
4551           it for.  Properties are not available in registry.xml.  (Maybe
4552           they should be...)
4553
4554 === release 0.10.1 ===
4555
4556 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4557
4558         * configure.ac:
4559           releasing 0.10.1, "Nollaig chridheil"
4560
4561 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4562
4563         * docs/faq/cvs.xml:
4564           Add missing quote, should be make ERROR_CFLAGS="".
4565
4566 2005-12-20  Wim Taymans  <wim@fluendo.com>
4567
4568         * docs/design/part-trickmodes.txt:
4569         More documentation on trickmodes.
4570
4571 2005-12-20  Edward Hervey  <edward@fluendo.com>
4572
4573         * gst/gstcaps.c: (gst_static_caps_get_type):
4574         * gst/gstcaps.h:
4575           API addition: GST_TYPE_STATIC_CAPS
4576         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4577         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4578         * gst/gstpadtemplate.h:
4579           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4580         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4581         bindings.
4582
4583 2005-12-18  Wim Taymans  <wim@fluendo.com>
4584
4585         * libs/gst/base/gstadapter.c:
4586         * libs/gst/base/gstadapter.h:
4587         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4588         (gst_base_sink_get_position):
4589         * libs/gst/base/gstbasesink.h:
4590         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4591         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4592         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4593         (gst_base_src_send_event), (gst_base_src_update_length),
4594         (gst_base_src_get_range), (gst_base_src_loop),
4595         (gst_base_src_start):
4596         * libs/gst/base/gstbasesrc.h:
4597         * libs/gst/base/gstbasetransform.h:
4598         * libs/gst/base/gstcollectpads.h:
4599         * libs/gst/base/gstpushsrc.c:
4600         * libs/gst/base/gstpushsrc.h:
4601         * libs/gst/dataprotocol/dataprotocol.c:
4602         * libs/gst/dataprotocol/dataprotocol.h:
4603         * libs/gst/net/gstnetclientclock.h:
4604         * libs/gst/net/gstnettimeprovider.h:
4605         Documentation updates.
4606
4607 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4608
4609         * docs/manual/basics-helloworld.xml:
4610           Remove superfluous closing bracket in helloworld example.
4611
4612 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4613
4614         * tools/gst-launch.1.in:
4615           Update gst-launch man page; add a section with useful
4616           environment variables. Fixes #323882.
4617
4618 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4619
4620         * gst/gst.c:
4621         * gst/gst_private.h:
4622           change some char* into char[]
4623
4624 2005-12-16  Wim Taymans  <wim@fluendo.com>
4625
4626         * gst/gstregistryxml.c: (load_feature):
4627         Cleanups.
4628         Don't use g_object_unref on GstObjects so that we avoid
4629         leaks on unsafe glibs.
4630
4631 2005-12-16  Wim Taymans  <wim@fluendo.com>
4632
4633         * gst/gstbin.c: (gst_bin_recalc_state):
4634         Small doc updates.
4635
4636 2005-12-16  Wim Taymans  <wim@fluendo.com>
4637
4638         * common/check.mak:
4639         Added make forever target for check.
4640
4641 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4642
4643         * gst/gst.c: (init_post):
4644           make the registry cache file HOST_CPU-dependent
4645
4646 2005-12-16  Andy Wingo  <wingo@pobox.com>
4647
4648         * plugins/elements/gstbufferstore.c
4649         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4650         return value.
4651
4652         * tests/check/gst/gstobject.c
4653         (test_fake_object_name_threaded_unique): Pay attention to
4654         g_list_sort return value.
4655
4656 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4657
4658         * tools/gst-feedback-m.m:
4659           Update for 0.9/0.10 (fixes #323870).
4660
4661 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4662
4663         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4664           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4665           
4666         * tests/check/gst/gstminiobject.c: (my_foo_init),
4667         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4668         (test_value_collection), (gst_mini_object_suite):
4669           Add test to ensure refcounts end up as expected when passing
4670           GstMiniObjects through g_object_get() and g_object_set().
4671
4672 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4673
4674         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4675         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4676         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4677         of collectpads. This version removes a lot of races without
4678         touching API/ABI. Yay !
4679
4680 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4681
4682         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4683           Don't allow activation of a srcpad in pull_range if it has no
4684           getrange function.
4685           Change some debug statements to be a little clearer
4686
4687         * plugins/elements/gsttypefindelement.c:
4688         (gst_type_find_handle_src_query):
4689           Check that we have a peer before executing queries thereupon.
4690
4691         * tests/examples/metadata/read-metadata.c: (message_loop):
4692           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4693           immediately return us any available message with 0 timeout.
4694
4695 2005-12-12  Michael Smith  <msmith@fluendo.com>
4696
4697         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4698           Don't unref factories after calling them.
4699         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4700         * plugins/elements/gsttypefindelement.c:
4701         (gst_type_find_element_chain):
4702           Free lists of factories after using them. Fixing typefinding memory
4703           leaks.
4704
4705 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4706
4707         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4708         (gst_plugin_feature_load):
4709           more meaningful debug output
4710         * configure.ac:
4711         * tests/Makefile.am:
4712         * tests/old/examples/Makefile.am:
4713           make make distcheck happy again
4714
4715 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4716
4717         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4718           Catch the special case where we are operating chain-based,
4719           but the downstream peer pad has no chain function. Emit a
4720           custom error message in this case instead of letting the
4721           core generate one implying that this is some sort of core
4722           bug. It's not, it just means that whatever got plugged
4723           into the pipeline downstream when we announced the type
4724           can only operate pull-based, while our source can only
4725           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4726           Error string has not been marked for translation yet, as
4727           it probably needs some more work first.
4728
4729         (gst_type_find_element_get_best_possibility):
4730           Add helper function to find the best of all available
4731           found possibilities that qualify given the min. threshold.
4732
4733         (gst_type_find_element_handle_event):
4734           Fix the case where we get an EOS while still in TYPEFIND
4735           mode (we want to chose the best of all possible types,
4736           not just the first type that happens to be in our unsorted
4737           list of possible types).
4738
4739         (gst_type_find_element_chain):
4740           Make sure we return GST_FLOW_ERROR when we errored out
4741           in stop_typefinding(); also, don't just find the best of
4742           all found type entries and then use the last examined
4743           type entry, but actually use the best entry.
4744
4745 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4746
4747         * tests/examples/typefind/typefind.c: (type_found):
4748         * tests/examples/xml/runxml.c: (xml_loaded):
4749           More gcc4 fixes and a mem leak fix.
4750
4751 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4752
4753         * tests/examples/xml/createxml.c: (object_saved):
4754           gcc 4 fixes
4755
4756 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4757
4758         * tests/Makefile.am:
4759           enable the examples even more
4760
4761 2005-12-12  Andy Wingo  <wingo@pobox.com>
4762
4763         * libs/gst/net/gstnettimeprovider.c
4764         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4765         (gst_net_time_provider_set_property)
4766         (gst_net_time_provider_get_property):
4767         API addition: Export "active" as a GObject property.
4768         (gst_net_time_provider_thread): Only respond to time queries if
4769         the time provider is active.
4770
4771         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4772         NetTimeProvider, preserving binary compat.
4773
4774 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4775
4776         * tests/examples/controller/audio-example.c: (main):
4777         * tests/examples/launch/Makefile.am:
4778           convert comments again
4779
4780 2005-12-12  Wim Taymans  <wim@fluendo.com>
4781
4782         * libs/gst/base/gstpushsrc.c:
4783         Fix typo.
4784
4785 2005-12-12  Wim Taymans  <wim@fluendo.com>
4786
4787         * docs/libs/gstreamer-libs-sections.txt:
4788         Added new symbol to docs.
4789
4790         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4791         (gst_base_src_init), (gst_base_src_set_format),
4792         (gst_base_src_default_query), (gst_base_src_query),
4793         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4794         (gst_base_src_perform_seek), (gst_base_src_send_event),
4795         (gst_base_src_default_event), (gst_base_src_event_handler),
4796         (gst_base_src_set_property), (gst_base_src_get_property),
4797         (gst_base_src_wait), (gst_base_src_do_sync),
4798         (gst_base_src_update_length), (gst_base_src_get_range),
4799         (gst_base_src_check_get_range), (gst_base_src_loop),
4800         (gst_base_src_default_negotiate), (gst_base_src_start),
4801         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4802         (gst_base_src_change_state):
4803         * libs/gst/base/gstbasesrc.h:
4804         Implement seeking to other formats than _BYTES.
4805         Implement more seeking methods correctly.
4806         Doc updates.
4807         Added query vmethod.
4808         Added do_seek vmethod to make life easier for subclasses
4809         when seeking.
4810         API addition: gst_base_src_set_format()
4811
4812 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4813
4814         * tests/examples/Makefile.am:
4815           added that too
4816
4817 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4818
4819         * configure.ac:
4820         * docs/random/ensonic/media-device-daemon.txt:
4821         * tests/examples/controller/.cvsignore:
4822         * tests/examples/controller/Makefile.am:
4823         * tests/examples/controller/audio-example.c: (main):
4824         * tests/examples/helloworld/.cvsignore:
4825         * tests/examples/helloworld/Makefile.am:
4826         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4827         * tests/examples/launch/.cvsignore:
4828         * tests/examples/launch/Makefile.am:
4829         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4830         * tests/examples/metadata/.cvsignore:
4831         * tests/examples/metadata/Makefile.am:
4832         * tests/examples/metadata/read-metadata.c: (message_loop),
4833         (make_pipeline), (print_tag), (main):
4834         * tests/examples/queue/.cvsignore:
4835         * tests/examples/queue/Makefile.am:
4836         * tests/examples/queue/queue.c: (event_loop), (main):
4837         * tests/examples/typefind/.cvsignore:
4838         * tests/examples/typefind/Makefile.am:
4839         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4840         (main):
4841         * tests/examples/xml/.cvsignore:
4842         * tests/examples/xml/Makefile.am:
4843         * tests/examples/xml/createxml.c: (object_saved), (main):
4844         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4845         * tests/old/examples/Makefile.am:
4846         * tests/old/examples/TODO:
4847         * tests/old/examples/controller/.cvsignore:
4848         * tests/old/examples/controller/Makefile.am:
4849         * tests/old/examples/controller/audio-example.c:
4850         * tests/old/examples/helloworld/.cvsignore:
4851         * tests/old/examples/helloworld/Makefile.am:
4852         * tests/old/examples/helloworld/helloworld.c:
4853         * tests/old/examples/launch/.cvsignore:
4854         * tests/old/examples/launch/Makefile.am:
4855         * tests/old/examples/launch/mp3parselaunch.c:
4856         * tests/old/examples/launch/mp3play:
4857         * tests/old/examples/manual/Makefile.am:
4858         * tests/old/examples/metadata/Makefile.am:
4859         * tests/old/examples/metadata/read-metadata.c:
4860         * tests/old/examples/queue/.cvsignore:
4861         * tests/old/examples/queue/Makefile.am:
4862         * tests/old/examples/queue/queue.c:
4863         * tests/old/examples/typefind/.cvsignore:
4864         * tests/old/examples/typefind/Makefile.am:
4865         * tests/old/examples/typefind/typefind.c:
4866         * tests/old/examples/xml/.cvsignore:
4867         * tests/old/examples/xml/Makefile.am:
4868         * tests/old/examples/xml/createxml.c:
4869         * tests/old/examples/xml/runxml.c:
4870           applied some simple fixing to some examples
4871           re-enabled the working examples
4872
4873 2005-12-12  Wim Taymans  <wim@fluendo.com>
4874
4875         * gst/gstsegment.c: (gst_segment_init),
4876         (gst_segment_set_last_stop), (gst_segment_set_seek),
4877         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4878         (gst_segment_to_running_time):
4879         Added more documentation.
4880         Make sure the last_pos value is updated properly.
4881         Make sure to_stream_time and to_running_time don't
4882         operate on wrong values.
4883
4884         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4885         Update check.
4886
4887 2005-12-12  Michael Smith  <msmith@fluendo.com>
4888
4889         * plugins/elements/gsttypefindelement.c: (free_entry),
4890         (gst_type_find_element_chain):
4891           Now that we're not leaking factories, make sure we keep references
4892           to them while we need them.
4893
4894 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4895
4896         * tests/check/gst/struct_i386.h:
4897           ifdef out the XML structs
4898
4899 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4900
4901         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4902           floor is not needed, F is always positive; this obviates the
4903           need for adding -lm when building without libxml
4904
4905 2005-12-12  Wim Taymans  <wim@fluendo.com>
4906
4907         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4908         Take current playback rate into account when reporting
4909         the position.
4910
4911 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4912
4913         * docs/manual/mime-world.fig:
4914           Let's try this again, this time with a file that is
4915           actually in XFig format.
4916
4917 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4918
4919         * docs/manual/mime-world.fig:
4920           Add audioconvert element to diagram so that it
4921           matches the text and the code (fixes #319526).
4922
4923 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4924
4925         * docs/pwg/building-chainfn.xml:
4926         * docs/pwg/building-pads.xml:
4927         * docs/pwg/building-state.xml:
4928         * docs/pwg/other-source.xml:
4929           Update state change stuff for 0.10 (fixes #322969).
4930
4931 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4932
4933         * docs/manual/advanced-dataaccess.xml:
4934         * docs/manual/appendix-checklist.xml:
4935         * docs/manual/appendix-programs.xml:
4936         * docs/manual/basics-pads.xml:
4937         * docs/manual/highlevel-components.xml:
4938         * docs/manual/manual.xml:
4939           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4940           add converters in front of pipelines; remove curly
4941           brackets for threads stuff, they no longer exist; use
4942           GST_TYPE_FRACTION for framerates; update some pieces of
4943           code to 0.10, but there's plenty more to do.
4944
4945         * docs/manual/appendix-porting.xml:
4946           Expand on asynchroneous state changes; s/0.9/0.10/;
4947           mention disappearance of gst_init_get_popt_table()
4948           (fixes #322916).
4949
4950 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4951
4952         * docs/faq/using.xml:
4953           Spider no longer exists, and neither does gst-launch-ext.
4954           Update examples to use decodebin and playbin and put
4955           converters in front of sinks (fixes #323726).
4956
4957 2005-12-09  Michael Smith  <msmith@fluendo.com>
4958
4959         * plugins/elements/gsttypefindelement.c: (find_peek),
4960         (gst_type_find_element_chain):
4961           Fix leaking element factories in typefinding.
4962           Fix problem where we forgot about a probable type on non-seekable
4963           files, and thus later mis-typefound it.
4964
4965 2005-12-09  Michael Smith  <msmith@fluendo.com>
4966
4967         * common/m4/gst-makecontext.m4:
4968         * common/m4/gst-mcsc.m4:
4969         * configure.ac:
4970         * win32/common/config.h:
4971         * win32/common/config.h.in:
4972           Remove makecontext stuff; not used in 0.10 and causes problems on
4973           HPUX according to bug #322441
4974
4975 2005-12-07  Wim Taymans  <wim@fluendo.com>
4976
4977         * tests/check/Makefile.am:
4978         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4979         (main):
4980         * tests/check/libs/struct_i386.h:
4981         Added ABI check for libs
4982
4983 2005-12-07  Wim Taymans  <wim@fluendo.com>
4984
4985         * tests/check/Makefile.am:
4986         And add the struct_i386.h to dist.
4987
4988 2005-12-07  Wim Taymans  <wim@fluendo.com>
4989
4990         * tests/check/Makefile.am:
4991         * tests/check/gst/.cvsignore:
4992         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4993         (main):
4994         * tests/check/gst/struct_i386.h:
4995         Added check for ABI compatibility.
4996
4997 2005-12-07  Wim Taymans  <wim@fluendo.com>
4998
4999         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5000         (gst_fake_src_get_times), (gst_fake_src_create):
5001         Fix broken sync option, fixes #323259
5002
5003 2005-12-07  Wim Taymans  <wim@fluendo.com>
5004
5005         * gst/gstbuffer.c:
5006         Small docs update.
5007
5008         * gst/gstcaps.c: (gst_caps_is_equal):
5009         Don't assert on NULL <--> X. Fixes #323260
5010
5011         * gst/gstminiobject.c: (gst_mini_object_replace):
5012         If we're doing atomic operations, we might just as well use
5013         the proper way to get an atomic pointer.
5014
5015         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5016         Clean up debugging.
5017
5018 2005-12-07  Michael Smith  <msmith@fluendo.com>
5019
5020         * gst/parse/grammar.y:
5021           Remove handling of { } for threads.
5022
5023 2005-12-06  David Schleef  <ds@schleef.org>
5024
5025         * libs/gst/base/gstbasetransform.c: speling fix.
5026
5027 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5028
5029         * docs/libs/tmpl/gstdataprotocol.sgml:
5030         * docs/random/omega/testing/gstobject.c:
5031         * gst/gst.c:
5032         * gst/gstclock.c:
5033         * gst/gstelement.c:
5034         * gst/gstelementfactory.c:
5035         * gst/gsterror.c:
5036         * gst/gstevent.c:
5037         * gst/gstghostpad.c:
5038         * gst/gstinfo.c:
5039         * gst/gstpadtemplate.c:
5040         * gst/gstregistryxml.c:
5041         * gst/gsttaglist.c:
5042         * gst/gsttagsetter.c:
5043         * gst/gsttypefind.c:
5044         * gst/gstvalue.c:
5045         * libs/gst/base/gstbasesrc.c:
5046         * libs/gst/net/gstnetclientclock.c:
5047         * libs/gst/net/gstnettimeprovider.c:
5048         * plugins/elements/gstfakesrc.c:
5049         * plugins/elements/gstfdsrc.c:
5050         * plugins/elements/gstfilesrc.c:
5051         * plugins/elements/gstidentity.c:
5052         * plugins/elements/gstqueue.c:
5053         * plugins/elements/gsttypefindelement.c:
5054         * plugins/indexers/gstfileindex.c:
5055         * plugins/indexers/gstmemindex.c:
5056         * tests/check/gst/gsttag.c:
5057         * tests/old/examples/cutter/cutter.c:
5058         * tests/old/examples/mixer/mixer.c:
5059         * tests/old/examples/xml/runxml.c: (main):
5060         * tests/old/testsuite/caps/normalisation.c:
5061         * tests/old/testsuite/debug/global.c:
5062         * tests/old/testsuite/parse/parse1.c:
5063         * tools/gst-xmlinspect.c:
5064         * win32/common/dirent.c:
5065           expand tabs
5066
5067 === release 0.10.0 ===
5068
5069 2005-12-05   <thomas (at) apestaart (dot) org>
5070
5071         * configure.ac:
5072           releasing 0.10.0, "Maroilles"
5073
5074 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5075
5076         submitted by: Funda Wang <fundawang@linux.net.cn>
5077
5078         * po/LINGUAS:
5079         * po/zh_CN.po:
5080           added Chinese (Traditional) translation
5081
5082 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5083
5084         * docs/gst/gstreamer-sections.txt:
5085         * docs/libs/tmpl/gstdataprotocol.sgml:
5086         * docs/random/thomasvs/TODO:
5087         * gst/gstutils.c:
5088         * gst/gstutils.h:
5089           fix docs
5090
5091 2005-12-05  Andy Wingo  <wingo@pobox.com>
5092
5093         patch by: Wim Taymans <wim@fluendo.com>
5094
5095         * libs/gst/base/gstbasetransform.c
5096         (gst_base_transform_prepare_output_buf)
5097         (gst_base_transform_buffer_alloc):
5098         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5099         alloc_buffer_and_set_caps.
5100
5101         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5102         set_caps on the source pad.
5103         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5104         alloc_buffer used to do. Fixes #322874.
5105
5106         * docs/gst/gstreamer-sections.txt: 
5107         * docs/design/part-negotiation.txt: 
5108         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5109         changes.
5110
5111 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5112
5113         patch by: Sebastien Moutte
5114
5115         * win32/MANIFEST:
5116         * win32/common/config.h.in:
5117         * win32/vs6/libgstcontroller.dsp:
5118           win32 build fixes
5119
5120 2005-12-05  Wim Taymans  <wim@fluendo.com>
5121
5122         * gst/gstcaps.c: (gst_caps_is_equal):
5123         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5124         (gst_fake_src_create):
5125         Back out previous code changes, leave doc updates, file bugs 
5126         instead. 
5127
5128 2005-12-05  Wim Taymans  <wim@fluendo.com>
5129
5130         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5131         (gst_fake_src_get_times), (gst_fake_src_create):
5132         * plugins/elements/gstfakesrc.h:
5133         Fix broken sync code.
5134
5135 2005-12-05  Wim Taymans  <wim@fluendo.com>
5136
5137         * gst/gstcaps.c: (gst_caps_is_equal):
5138         Comparing NULL against !NULL yields different caps, not a
5139         failure.
5140
5141 2005-12-05  Wim Taymans  <wim@fluendo.com>
5142
5143         * gst/gstpipeline.c:
5144         Fix small typo in docs.
5145
5146 2005-12-05  Andy Wingo  <wingo@pobox.com>
5147
5148         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5149
5150         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5151         registries/plugins with a MAJORMINOR one.
5152         (plugin_desc): Rename library from gstcoreleements to
5153         staticelements. Fixes #323222.
5154
5155 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5156
5157         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5158           Change debug category to 'collectpads' from 'collect_pads'
5159           (fixes #323250).
5160
5161 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5162
5163         patch by: Sebastien Moutte
5164
5165         * libs/gst/controller/gstinterpolation.c:
5166           use convert function for uint64/double
5167         * win32/vs6/libgstcontroller.dsp:
5168           link to GLib
5169
5170 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5171
5172         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5173         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5174         * gst/gstutils.h:
5175         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5176           add tests that seem to show that the guint64/gdouble conversions
5177           are correct.
5178
5179 2005-12-02  Wim Taymans  <wim@fluendo.com>
5180
5181         * gst/gstregistry.c: (gst_registry_add_path):
5182         * gst/gstregistry.h:
5183         * gst/gstregistryxml.c:
5184         Fix docs again.
5185
5186 2005-12-02  Wim Taymans  <wim@fluendo.com>
5187
5188         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5189         (gst_util_uint64_scale_int):
5190         Small cleanup.
5191
5192         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5193         Add debug log line.
5194
5195         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5196         Add FIXME.
5197
5198 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5199
5200         * win32/MANIFEST:
5201         * win32/common/config.h:
5202         * win32/vs6/gstreamer.dsw:
5203         * win32/vs6/libgstcoreelements.dsp:
5204         * win32/vs6/libgstelements.dsp:
5205           renamed core elements plugin
5206
5207 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5208
5209         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5210         (get_candidates):
5211           do piece-wise major/minor comparison so 0.9 < 0.10
5212           also allow .exe extensions for tools
5213
5214 2005-12-02  Michael Smith  <msmith@fluendo.com>
5215
5216         * gst/gst.c:
5217           Escape a % to make gtkdoc happier; bug 322958.
5218
5219 === release 0.9.7 ===
5220
5221 2005-12-01   <thomas (at) apestaart (dot) org>
5222
5223         * configure.ac:
5224           releasing 0.9.7, "My Dog Has No Nose"
5225
5226 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5227
5228         * common/gst-xmlinspect.py:
5229         * configure.ac:
5230         * docs/libs/tmpl/gstdataprotocol.sgml:
5231         * docs/random/release:
5232         * po/af.po:
5233         * po/az.po:
5234         * po/bg.po:
5235         * po/ca.po:
5236         * po/cs.po:
5237         * po/de.po:
5238         * po/en_GB.po:
5239         * po/fr.po:
5240         * po/it.po:
5241         * po/nb.po:
5242         * po/nl.po:
5243         * po/ru.po:
5244         * po/sq.po:
5245         * po/sr.po:
5246         * po/sv.po:
5247         * po/tr.po:
5248         * po/uk.po:
5249         * po/vi.po:
5250         * win32/common/config.h:
5251         * win32/common/config.h.in:
5252         * win32/vs6/gst_inspect.dsp:
5253         * win32/vs6/gst_launch.dsp:
5254         * win32/vs6/libgstbase.dsp:
5255         * win32/vs6/libgstelements.dsp:
5256         * win32/vs6/libgstreamer.dsp:
5257         * win32/vs7/GStreamer.vcproj:
5258         * win32/vs7/gst-inspect.vcproj:
5259         * win32/vs7/gst-launch.vcproj:
5260         * win32/vs7/libgstbase.vcproj:
5261           bump GST_MAJORMINOR to 0.10
5262           reset libtool version
5263
5264 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5265
5266         * po/LINGUAS:
5267         * po/bg.po:
5268           Added Bulgarian translation by (Alexander Shopov)
5269
5270 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5271
5272         * tests/check/gst/gstplugin.c:
5273           fix test
5274
5275 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5276
5277         * common/gst-xmlinspect.py:
5278         * common/gtk-doc-plugins.mak:
5279         * configure.ac:
5280         * docs/Makefile.am:
5281         * docs/gst/Makefile.am:
5282         * docs/gst/gstreamer-docs.sgml:
5283         * docs/gst/gstreamer-sections.txt:
5284         * docs/gst/gstreamer.types:
5285         * docs/gst/gstreamer.types.in:
5286         * docs/plugins/Makefile.am:
5287         * docs/plugins/gstreamer-plugins-docs.sgml:
5288         * docs/plugins/gstreamer-plugins-sections.txt:
5289         * docs/plugins/gstreamer-plugins.types:
5290         * docs/plugins/inspect.stamp:
5291         * docs/plugins/inspect/plugin-coreelements.xml:
5292         * docs/plugins/inspect/plugin-coreindexers.xml:
5293         * docs/plugins/scanobj-build.stamp:
5294         * gstreamer.spec.in:
5295         * plugins/elements/Makefile.am:
5296         * plugins/elements/gstelements.c:
5297         * plugins/elements/gstfakesink.c:
5298         * plugins/elements/gstfakesrc.c:
5299         * plugins/elements/gstfilesink.c:
5300         * plugins/elements/gstfilesrc.c:
5301         * plugins/elements/gstqueue.c:
5302         * plugins/indexers/Makefile.am:
5303         * plugins/indexers/gstindexers.c:
5304           document core plugins in a separate document just like all the
5305           others
5306           rename these plugins to something starting with core
5307
5308 2005-12-01  Andy Wingo  <wingo@pobox.com>
5309
5310         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5311         padding here before, but it missed the commit.
5312
5313 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5314
5315         * libs/gst/controller/gstinterpolation.c:
5316           whitespace prices have crashed, we should feel free to use some now
5317           use gst_guint64_to_gdouble
5318
5319 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5320
5321         * libs/gst/controller/gstcontroller.c:
5322         * libs/gst/controller/gsthelper.c:
5323         * libs/gst/controller/gstinterpolation.c:
5324         * libs/gst/controller/lib.c:
5325           wrap config.h include
5326
5327 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5328
5329         * docs/gst/gstreamer-sections.txt:
5330           update docs
5331
5332 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5333
5334         * plugins/elements/gstelements.c:
5335         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5336         (gst_fd_sink__class_init), (gst_fd_sink__init),
5337         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5338         (gst_fd_sink__get_property):
5339         * plugins/elements/gstfdsink.h:
5340         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5341         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5342         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5343         (gst_fd_src_unlock), (gst_fd_src_set_property),
5344         (gst_fd_src_get_property), (gst_fd_src_create),
5345         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5346         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5347         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5348         (gst_fd_src_uri_handler_init):
5349         * plugins/elements/gstfdsrc.h:
5350         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5351           more anal cleanup
5352
5353 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5354
5355         * docs/gst/Makefile.am:
5356         * docs/gst/gstreamer.types.in:
5357         * gst/Makefile.am:
5358           fix the docs build
5359
5360 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5361
5362         * configure.ac:
5363         * gst/Makefile.am:
5364         * gst/gst.c:
5365         * gst/gstplugin.h:
5366         * gst/gstregistry.h:
5367         * tests/benchmarks/complexity.c:
5368         * tests/benchmarks/mass-elements.c:
5369         * tests/check/Makefile.am:
5370         * tools/Makefile.am:
5371         * tools/gst-inspect.c:
5372         * tools/gst-xmlinspect.c:
5373           various fixes to make
5374           --disable-nls --disable-registry --disable-loadsave
5375           --disable-parse --disable-gst-debug
5376           work and get the core .so down to 360444 bytes after stripping
5377
5378 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5379
5380         * Makefile.am:
5381         * configure.ac:
5382           descend into tests
5383         * docs/random/thomasvs/TODO:
5384         * tests/Makefile.am:
5385         * tests/README:
5386           add a README
5387
5388 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5389
5390         * win32/GStreamer.vcproj:
5391         * win32/MANIFEST:
5392         * win32/Makefile:
5393         * win32/Makefile.inspect:
5394         * win32/Makefile.launch:
5395         * win32/Makefile.register:
5396         * win32/README.txt:
5397         * win32/gst-inspect.vcproj:
5398         * win32/gst-launch.vcproj:
5399         * win32/gst-register.vcproj:
5400         * win32/gstelements.vcproj:
5401         * win32/gstgetbits.def:
5402         * win32/gstgetbits.vcproj:
5403         * win32/gstreamer-dbg.def:
5404         * win32/gstreamer.def:
5405         * win32/libgstbase.def:
5406         * win32/libgstbase.vcproj:
5407         * win32/link_oldruntime.c:
5408         * win32/mman.c:
5409         * win32/mman.h:
5410         * win32/mman.inl:
5411         * win32/msvc71.sln:
5412           move even more stuff, win32/ is nice and clean now
5413
5414 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5415
5416         * libs/gst/control/.cvsignore:
5417         * win32/MANIFEST:
5418         * win32/config.h:
5419         * win32/dirent.c:
5420         * win32/dirent.h:
5421         * win32/gstbytestream.def:
5422         * win32/gstbytestream.vcproj:
5423         * win32/gstconfig.h:
5424         * win32/gstenumtypes.c:
5425         * win32/gstenumtypes.h:
5426         * win32/gstoptimalscheduler.vcproj:
5427         * win32/gstversion.h:
5428         * win32/gtchar.h:
5429         * win32/testsuite/bins.vcproj:
5430         * win32/testsuite/bytestream.vcproj:
5431         * win32/testsuite/caps.vcproj:
5432         * win32/testsuite/cleanup.vcproj:
5433         * win32/testsuite/clock.vcproj:
5434         * win32/testsuite/debug.vcproj:
5435         * win32/testsuite/dlopen.vcproj:
5436         * win32/testsuite/dynparams.vcproj:
5437         * win32/testsuite/elements.vcproj:
5438         * win32/testsuite/ghostpads.vcproj:
5439         * win32/testsuite/indexers.vcproj:
5440         * win32/testsuite/negotiation.vcproj:
5441         * win32/testsuite/parse.vcproj:
5442         * win32/testsuite/plugin.vcproj:
5443         * win32/testsuite/refcounting.vcproj:
5444         * win32/testsuite/schedulers.vcproj:
5445         * win32/testsuite/states.vcproj:
5446         * win32/testsuite/tags.vcproj:
5447         * win32/testsuite/threads.vcproj:
5448           remove old win32 stuff that isn't maintained and should be
5449           reorganized
5450
5451 2005-11-30  Andy Wingo  <wingo@pobox.com>
5452
5453         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5454         loading the gst.interfaces python module bork.
5455
5456         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5457         available since GLib 2.2. Fixes #318031.
5458
5459 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5460
5461         * Makefile.am:
5462         * check/.cvsignore:
5463         * check/Makefile.am:
5464         * check/elements/.cvsignore:
5465         * check/elements/fakesrc.c:
5466         * check/elements/fdsrc.c:
5467         * check/elements/identity.c:
5468         * check/generic/.cvsignore:
5469         * check/generic/states.c:
5470         * check/gst-libs/.cvsignore:
5471         * check/gst-libs/controller.c:
5472         * check/gst-libs/gdp.c:
5473         * check/gst/.cvsignore:
5474         * check/gst/capslist.h:
5475         * check/gst/gst.c:
5476         * check/gst/gstbin.c:
5477         * check/gst/gstbuffer.c:
5478         * check/gst/gstbus.c:
5479         * check/gst/gstcaps.c:
5480         * check/gst/gstelement.c:
5481         * check/gst/gstevent.c:
5482         * check/gst/gstghostpad.c:
5483         * check/gst/gstiterator.c:
5484         * check/gst/gstmessage.c:
5485         * check/gst/gstminiobject.c:
5486         * check/gst/gstobject.c:
5487         * check/gst/gstpad.c:
5488         * check/gst/gstpipeline.c:
5489         * check/gst/gstplugin.c:
5490         * check/gst/gstsegment.c:
5491         * check/gst/gststructure.c:
5492         * check/gst/gstsystemclock.c:
5493         * check/gst/gsttag.c:
5494         * check/gst/gstutils.c:
5495         * check/gst/gstvalue.c:
5496         * check/net/.cvsignore:
5497         * check/net/gstnetclientclock.c:
5498         * check/net/gstnettimeprovider.c:
5499         * check/pipelines/.cvsignore:
5500         * check/pipelines/cleanup.c:
5501         * check/pipelines/simple_launch_lines.c:
5502         * check/pipelines/stress.c:
5503         * check/states/.cvsignore:
5504         * check/states/sinks.c:
5505         * configure.ac:
5506         * examples/Makefile.am:
5507         * examples/appreader/.cvsignore:
5508         * examples/appreader/Makefile.am:
5509         * examples/appreader/appreader.c:
5510         * examples/controller/.cvsignore:
5511         * examples/controller/Makefile.am:
5512         * examples/controller/audio-example.c:
5513         * examples/cutter/.cvsignore:
5514         * examples/cutter/Makefile.am:
5515         * examples/cutter/cutter.c:
5516         * examples/cutter/cutter.h:
5517         * examples/events/Makefile.am:
5518         * examples/events/seek.c:
5519         * examples/helloworld/.cvsignore:
5520         * examples/helloworld/Makefile.am:
5521         * examples/helloworld/helloworld.c:
5522         * examples/helloworld2/.cvsignore:
5523         * examples/helloworld2/Makefile.am:
5524         * examples/helloworld2/helloworld2.c:
5525         * examples/launch/.cvsignore:
5526         * examples/launch/Makefile.am:
5527         * examples/launch/mp3parselaunch.c:
5528         * examples/launch/mp3play:
5529         * examples/manual/.cvsignore:
5530         * examples/manual/Makefile.am:
5531         * examples/manual/extract.pl:
5532         * examples/metadata/Makefile.am:
5533         * examples/metadata/read-metadata.c:
5534         * examples/mixer/.cvsignore:
5535         * examples/mixer/Makefile.am:
5536         * examples/mixer/mixer.c:
5537         * examples/mixer/mixer.h:
5538         * examples/pingpong/.cvsignore:
5539         * examples/pingpong/Makefile.am:
5540         * examples/pingpong/pingpong.c:
5541         * examples/plugins/.cvsignore:
5542         * examples/plugins/Makefile.am:
5543         * examples/plugins/example.c:
5544         * examples/plugins/example.h:
5545         * examples/pwg/.cvsignore:
5546         * examples/pwg/Makefile.am:
5547         * examples/pwg/extract.pl:
5548         * examples/queue/.cvsignore:
5549         * examples/queue/Makefile.am:
5550         * examples/queue/queue.c:
5551         * examples/queue2/.cvsignore:
5552         * examples/queue2/Makefile.am:
5553         * examples/queue2/queue2.c:
5554         * examples/queue3/.cvsignore:
5555         * examples/queue3/Makefile.am:
5556         * examples/queue3/queue3.c:
5557         * examples/queue4/.cvsignore:
5558         * examples/queue4/Makefile.am:
5559         * examples/queue4/queue4.c:
5560         * examples/retag/.cvsignore:
5561         * examples/retag/Makefile.am:
5562         * examples/retag/retag.c:
5563         * examples/retag/transcode.c:
5564         * examples/thread/.cvsignore:
5565         * examples/thread/Makefile.am:
5566         * examples/thread/thread.c:
5567         * examples/typefind/.cvsignore:
5568         * examples/typefind/Makefile.am:
5569         * examples/typefind/typefind.c:
5570         * examples/xml/.cvsignore:
5571         * examples/xml/Makefile.am:
5572         * examples/xml/createxml.c:
5573         * examples/xml/runxml.c:
5574         * tests/Makefile.am:
5575         * tests/check/Makefile.am:
5576         * testsuite/.cvsignore:
5577         * testsuite/Makefile.am:
5578         * testsuite/Rules:
5579         * testsuite/caps/.cvsignore:
5580         * testsuite/caps/Makefile.am:
5581         * testsuite/caps/app_fixate.c:
5582         * testsuite/caps/audioscale.c:
5583         * testsuite/caps/caps.c:
5584         * testsuite/caps/caps.h:
5585         * testsuite/caps/caps_strings:
5586         * testsuite/caps/compatibility.c:
5587         * testsuite/caps/deserialize.c:
5588         * testsuite/caps/enumcaps.c:
5589         * testsuite/caps/eratosthenes.c:
5590         * testsuite/caps/filtercaps.c:
5591         * testsuite/caps/fixed.c:
5592         * testsuite/caps/fraction-convert.c:
5593         * testsuite/caps/fraction-multiply-and-zero.c:
5594         * testsuite/caps/intersect2.c:
5595         * testsuite/caps/intersection.c:
5596         * testsuite/caps/normalisation.c:
5597         * testsuite/caps/random.c:
5598         * testsuite/caps/renegotiate.c:
5599         * testsuite/caps/sets.c:
5600         * testsuite/caps/simplify.c:
5601         * testsuite/caps/string-conversions.c:
5602         * testsuite/caps/structure.c:
5603         * testsuite/caps/subtract.c:
5604         * testsuite/caps/union.c:
5605         * testsuite/debug/.cvsignore:
5606         * testsuite/debug/Makefile.am:
5607         * testsuite/debug/category.c:
5608         * testsuite/debug/commandline.c:
5609         * testsuite/debug/global.c:
5610         * testsuite/debug/output.c:
5611         * testsuite/debug/printf_extension.c:
5612         * testsuite/dlopen/.cvsignore:
5613         * testsuite/dlopen/Makefile.am:
5614         * testsuite/dlopen/dlopen_gst.c:
5615         * testsuite/dlopen/loadgst.c:
5616         * testsuite/elements/.cvsignore:
5617         * testsuite/elements/Makefile.am:
5618         * testsuite/elements/gst-inspect-check.in:
5619         * testsuite/elements/struct_i386.h:
5620         * testsuite/elements/struct_size.c:
5621         * testsuite/indexers/.cvsignore:
5622         * testsuite/indexers/Makefile.am:
5623         * testsuite/indexers/cache1.c:
5624         * testsuite/indexers/indexdump.c:
5625         * testsuite/parse/.cvsignore:
5626         * testsuite/parse/Makefile.am:
5627         * testsuite/parse/parse1.c:
5628         * testsuite/parse/parse2.c:
5629         * testsuite/plugin/.cvsignore:
5630         * testsuite/plugin/Makefile.am:
5631         * testsuite/plugin/README:
5632         * testsuite/plugin/dynamic.c:
5633         * testsuite/plugin/linked.c:
5634         * testsuite/plugin/loading.c:
5635         * testsuite/plugin/registry.c:
5636         * testsuite/plugin/static.c:
5637         * testsuite/plugin/static2.c:
5638         * testsuite/plugin/testplugin.c:
5639         * testsuite/plugin/testplugin2.c:
5640         * testsuite/plugin/testplugin2_s.c:
5641         * testsuite/plugin/testplugin_s.c:
5642         * testsuite/refcounting/.cvsignore:
5643         * testsuite/refcounting/Makefile.am:
5644         * testsuite/refcounting/bin.c:
5645         * testsuite/refcounting/element.c:
5646         * testsuite/refcounting/element_pad.c:
5647         * testsuite/refcounting/mainloop.c:
5648         * testsuite/refcounting/mem.c:
5649         * testsuite/refcounting/mem.h:
5650         * testsuite/refcounting/object.c:
5651         * testsuite/refcounting/pad.c:
5652         * testsuite/refcounting/sched.c:
5653         * testsuite/refcounting/thread.c:
5654         * testsuite/states/.cvsignore:
5655         * testsuite/states/Makefile.am:
5656         * testsuite/states/bin.c:
5657         * testsuite/states/locked.c:
5658         * testsuite/states/parent.c:
5659         * testsuite/threads/.cvsignore:
5660         * testsuite/threads/159566.c:
5661         * testsuite/threads/159852.c:
5662         * testsuite/threads/Makefile.am:
5663         * testsuite/threads/queue.c:
5664         * testsuite/threads/signals.c:
5665         * testsuite/threads/staticrec.c:
5666         * testsuite/threads/thread.c:
5667         * testsuite/threads/threadb.c:
5668         * testsuite/threads/threadc.c:
5669         * testsuite/threads/threadd.c:
5670         * testsuite/threads/threade.c:
5671         * testsuite/threads/threadf.c:
5672         * testsuite/threads/threadg.c:
5673         * testsuite/threads/threadh.c:
5674         * testsuite/threads/threadi.c:
5675           move all of these under tests
5676
5677 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5678
5679         * configure.ac:
5680         * tests/Makefile.am:
5681           fix distcheck
5682
5683 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5684
5685         * docs/gst/gstreamer-sections.txt:
5686         * tests/sched/.cvsignore:
5687         * tests/sched/Makefile.am:
5688         * tests/sched/cases/(fs-fs).xml:
5689         * tests/sched/cases/(fs-i-fs).xml:
5690         * tests/sched/cases/(fs-i-i-fs).xml:
5691         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5692         * tests/sched/dynamic-pipeline.c:
5693         * tests/sched/interrupt1.c:
5694         * tests/sched/interrupt2.c:
5695         * tests/sched/interrupt3.c:
5696         * tests/sched/runtestcases:
5697         * tests/sched/runxml.c:
5698         * tests/sched/sched-stress.c:
5699         * tests/sched/sort.c:
5700         * tests/sched/testcases:
5701         * tests/sched/testcases1.tc:
5702         * tests/seeking/.cvsignore:
5703         * tests/seeking/Makefile.am:
5704         * tests/seeking/seeking1.c:
5705         * tests/threadstate/.cvsignore:
5706         * tests/threadstate/Makefile.am:
5707         * tests/threadstate/test1.c:
5708         * tests/threadstate/test2.c:
5709         * tests/threadstate/threadstate1.c:
5710         * tests/threadstate/threadstate2.c:
5711         * tests/threadstate/threadstate3.c:
5712         * tests/threadstate/threadstate4.c:
5713         * tests/threadstate/threadstate5.c:
5714           remove obsolete tests
5715         * configure.ac:
5716         * tests/bench-complexity.scm:
5717         * tests/bench-mass_elements.scm:
5718         * tests/complexity.c:
5719         * tests/complexity.gnuplot:
5720         * tests/instantiate/.cvsignore:
5721         * tests/instantiate/Makefile.am:
5722         * tests/instantiate/caps.c:
5723         * tests/mass_elements.c:
5724         * tests/network-clock-utils.scm:
5725         * tests/network-clock.scm:
5726         * tests/plot-data:
5727         First pass at cleaning up tests/ dir before moving the rest
5728         Combined with CVS surgery
5729
5730 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5731
5732         * po/POTFILES.in:
5733           queue has moved, update
5734
5735 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5736
5737         * docs/gst/gstreamer-sections.txt:
5738           remove double entries from the docs
5739         * gst/gst_private.h:
5740         * gst/gstinfo.c: (_gst_debug_init):
5741           remove the THREAD debug category
5742         * gst/Makefile.am:
5743         * gst/gstqueue.c:
5744         * gst/gstqueue.h:
5745         * docs/gst/gstreamer.types:
5746         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5747         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5748           completely move queue and fix up debugging categories
5749
5750 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5751
5752         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5753           make initialization portable, using LL is not
5754
5755 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5756
5757         * win32/common/gstconfig.h:
5758           add large padding
5759
5760 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5761
5762         * win32/common/libgstreamer.def:
5763           rename symbols; sort base section
5764
5765 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5766
5767         * gst/gstclock.c: (do_linear_regression):
5768           remove crack non-portable handrolled DEBUG macro
5769
5770 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5771
5772         * docs/random/release:
5773           update notes
5774         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5775         (gst_object_flags_get_type), (register_gst_bin_flags),
5776         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5777         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5778         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5779         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5780         (gst_caps_flags_get_type), (register_gst_clock_return),
5781         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5782         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5783         (gst_clock_flags_get_type), (register_gst_state),
5784         (gst_state_get_type), (register_gst_state_change_return),
5785         (gst_state_change_return_get_type), (register_gst_state_change),
5786         (gst_state_change_get_type), (register_gst_element_flags),
5787         (gst_element_flags_get_type), (register_gst_core_error),
5788         (gst_core_error_get_type), (register_gst_library_error),
5789         (gst_library_error_get_type), (register_gst_resource_error),
5790         (gst_resource_error_get_type), (register_gst_stream_error),
5791         (gst_stream_error_get_type), (register_gst_event_type_flags),
5792         (gst_event_type_flags_get_type), (register_gst_event_type),
5793         (gst_event_type_get_type), (register_gst_seek_type),
5794         (gst_seek_type_get_type), (register_gst_seek_flags),
5795         (gst_seek_flags_get_type), (register_gst_format),
5796         (gst_format_get_type), (register_gst_index_certainty),
5797         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5798         (gst_index_entry_type_get_type),
5799         (register_gst_index_lookup_method),
5800         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5801         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5802         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5803         (gst_index_flags_get_type), (register_gst_debug_level),
5804         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5805         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5806         (gst_iterator_result_get_type), (register_gst_iterator_item),
5807         (gst_iterator_item_get_type), (register_gst_message_type),
5808         (gst_message_type_get_type), (register_gst_mini_object_flags),
5809         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5810         (gst_pad_link_return_get_type), (register_gst_flow_return),
5811         (gst_flow_return_get_type), (register_gst_activate_mode),
5812         (gst_activate_mode_get_type), (register_gst_pad_direction),
5813         (gst_pad_direction_get_type), (register_gst_pad_flags),
5814         (gst_pad_flags_get_type), (register_gst_pad_presence),
5815         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5816         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5817         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5818         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5819         (gst_plugin_flags_get_type), (register_gst_rank),
5820         (gst_rank_get_type), (register_gst_query_type),
5821         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5822         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5823         (gst_tag_flag_get_type), (register_gst_task_state),
5824         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5825         (gst_alloc_trace_flags_get_type),
5826         (register_gst_type_find_probability),
5827         (gst_type_find_probability_get_type), (register_gst_uri_type),
5828         (gst_uri_type_get_type), (register_gst_parse_error),
5829         (gst_parse_error_get_type):
5830         * win32/common/gstenumtypes.h:
5831         * win32/common/gstversion.h:
5832           update visual studio generated files
5833
5834 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5835
5836         * win32/vs6/libgstbase.dsp:
5837         * win32/vs6/libgstelements.dsp:
5838           update project files for new locations
5839
5840 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5841
5842         * Makefile.am:
5843           remove some files
5844         * README:
5845           reinstate and update
5846         * DEVEL:
5847         * REQUIREMENTS:
5848           removed
5849         * LICENSE:
5850         * docs/random/LICENSE:
5851           moved to random
5852
5853 2005-11-30  Edward Hervey  <edward@fluendo.com>
5854
5855         * gst/gsttypefind.c: (gst_type_find_register):
5856         * gst/gsttypefind.h:
5857         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5858         (gst_type_find_factory_dispose):
5859         * gst/gsttypefindfactory.h:
5860         Fix memory leak in GstTypeFindFactory.
5861
5862 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5863
5864         * gst/gst.c:
5865         * plugins/elements/Makefile.am:
5866         * plugins/elements/gstelements.c:
5867         * plugins/elements/gstqueue.c:
5868           move queue from core to the elements plugin
5869
5870 2005-11-29  Andy Wingo  <wingo@pobox.com>
5871
5872         * libs/gst/base/gstbasetransform.h: 
5873         * libs/gst/base/gstbasesrc.h: 
5874         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5875
5876         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5877         of pointers by which to pad very extensible base classes (like the
5878         ones in libs/gst/base).
5879
5880 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5881
5882         * docs/gst/gstreamer-docs.sgml:
5883         * docs/gst/gstreamer-sections.txt:
5884         * docs/libs/gstreamer-libs-docs.sgml:
5885         * docs/libs/gstreamer-libs-sections.txt:
5886           moving documentation from core to lib
5887
5888 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5889
5890         * check/Makefile.am:
5891         * configure.ac:
5892         * docs/gst/Makefile.am:
5893         * gst/Makefile.am:
5894         * gst/base/.cvsignore:
5895         * gst/base/Makefile.am:
5896         * gst/base/README:
5897         * gst/base/gstadapter.c:
5898         * gst/base/gstadapter.h:
5899         * gst/base/gstbasesink.c:
5900         * gst/base/gstbasesink.h:
5901         * gst/base/gstbasesrc.c:
5902         * gst/base/gstbasesrc.h:
5903         * gst/base/gstbasetransform.c:
5904         * gst/base/gstbasetransform.h:
5905         * gst/base/gstcollectpads.c:
5906         * gst/base/gstcollectpads.h:
5907         * gst/base/gstpushsrc.c:
5908         * gst/base/gstpushsrc.h:
5909         * gst/base/gsttypefindhelper.c:
5910         * gst/base/gsttypefindhelper.h:
5911         * gst/check/Makefile.am:
5912         * gst/check/gstcheck.c:
5913         * gst/check/gstcheck.h:
5914         * gst/net/Makefile.am:
5915         * gst/net/gstnet.h:
5916         * gst/net/gstnetclientclock.c:
5917         * gst/net/gstnetclientclock.h:
5918         * gst/net/gstnettimepacket.c:
5919         * gst/net/gstnettimepacket.h:
5920         * gst/net/gstnettimeprovider.c:
5921         * gst/net/gstnettimeprovider.h:
5922         * libs/gst/Makefile.am:
5923         * libs/gst/base/Makefile.am:
5924         * libs/gst/base/gstbasetransform.c:
5925         * libs/gst/check/Makefile.am:
5926         * plugins/elements/Makefile.am:
5927         * po/POTFILES.in:
5928           CVS surgery + support to move base, check, and net out of gst
5929           and into libs/gst
5930
5931 2005-11-29  Andy Wingo  <wingo@pobox.com>
5932
5933         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5934
5935         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5936         padding.
5937
5938         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5939
5940         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5941
5942         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5943
5944         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5945         padding; reduces object size by about 30%. We don't expect
5946         anything else to go into gstobject.
5947
5948         * gst/gstminiobject.h (struct _GstMiniObject)
5949         (struct _GstMiniObjectClass): Only one pointer of padding; the
5950         payload is only a pointer and two ints anyway. For the class there
5951         are only two methods as well.
5952         
5953         * gst/gstelement.h (struct _GstElementClass): Removed
5954         the state_changed signal callback, it is not used.
5955
5956 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5957
5958         * docs/gst/gstreamer.types:
5959           fix includes, though they are a little dinky
5960
5961 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5962
5963         * check/Makefile.am:
5964           look in the right place for elements, a lot more chance of
5965           success
5966         * gst/Makefile.am:
5967           remove indexers and elements subdirs
5968         * plugins/Makefile.am:
5969           make indexers conditional
5970
5971 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5972
5973         * Makefile.am:
5974         * configure.ac:
5975         * plugins/elements/Makefile.am:
5976         * plugins/elements/gstcapsfilter.c:
5977         * plugins/elements/gstfilesink.c:
5978         * plugins/elements/gstfilesrc.c:
5979         * plugins/elements/gstidentity.c:
5980         * plugins/indexers/Makefile.am:
5981           do CVS surgery and related build fixery to move elements
5982           and indexers in a new gstreamer/plugins directory, out of the
5983           gst/ directory
5984
5985 2005-11-29  Andy Wingo  <wingo@pobox.com>
5986
5987         * check/Makefile.am:
5988         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5989         * pkgconfig/gstreamer-net.pc.in:
5990         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5991         #322257.
5992
5993 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5994
5995         * tools/Makefile.am:
5996         * tools/gst-complete.1.in:
5997         * tools/gst-complete.c:
5998         * tools/gst-compprep.1.in:
5999         * tools/gst-compprep.c:
6000           removing -compprep and -complete
6001
6002 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6003
6004         * gst/gstevent.c: (gst_event_new_new_segment),
6005         (gst_event_parse_new_segment):
6006         * gst/gstevent.h:
6007           fix #320529 - clean up new_segment API and structure.
6008           Let's hope everyone was using the methods, and not the structure.
6009
6010 2005-11-29  Edward Hervey  <edward@fluendo.com>
6011
6012         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6013         (gst_base_sink_event), (gst_base_sink_do_sync),
6014         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6015         Properly handle non GST_FORMAT_TIME segment
6016         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6017         Properly handle non GST_FORMAT_TIME segment
6018         * gst/gstsegment.c:
6019         This function is valid if the accumulator is 0 and the format
6020         is different from the requested format.
6021         
6022 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6023
6024         * docs/gst/gstreamer-sections.txt:
6025         Add gst_query_new_seeking and gst_query_parse_seeking to the
6026         docs.
6027
6028 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6029
6030         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6031           Treat a pad alloc with new caps the same as if we were not
6032           negotiated, in order to allow a changing upstream output
6033           to produce a new format of data.
6034
6035 2005-11-29  Edward Hervey  <edward@fluendo.com>
6036
6037         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6038         (gst_base_transform_event), (gst_base_transform_eventfunc):
6039         The event virtual method is now properly implemented, with a default
6040         handler
6041         Sub classes should call the parent_class event method. They should
6042         return FALSE if they had a problem handling the given event, or don't
6043         want GstBaseTransform to send that even downstream
6044         * gst/elements/gstidentity.c: (gst_identity_class_init),
6045         (gst_identity_init), (gst_identity_event),
6046         (gst_identity_transform_ip), (gst_identity_set_property),
6047         (gst_identity_get_property):
6048         * gst/elements/gstidentity.h:
6049         Added the single-segment boolean property.
6050         If set to TRUE, it will output a single segment of data, starting from
6051         0, will eat up all incoming newsegment, and modify the timestamp of the
6052         buffers accordingly
6053
6054 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6055
6056         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6057           Don't ref NULL target pad (#322751). Improve docs.
6058
6059 2005-11-29  Michael Smith  <msmith@fluendo.com>
6060
6061         * gst/gstregistryxml.c: (load_plugin):
6062           Don't crash if we failed to load a feature from a plugin. 
6063
6064 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6065
6066         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6067         (GST_START_TEST):
6068           use more check API and less GLib API
6069
6070 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6071
6072         * Makefile.am:
6073           don't run checks if we don't have check
6074         * common/check.mak:
6075           remove the registry when running make torture
6076         * docs/gst/gstreamer-sections.txt:
6077           remove second multiply
6078         * gst/gstqueue.c: (gst_queue_loop):
6079           fix a compile warning when disabling debug
6080
6081 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6082
6083         * gst/gstinfo.h:
6084         Hey! Let's print the pad name if the pointer != NULL instead
6085         of when it == NULL :-)
6086
6087 2005-11-28  Wim Taymans  <wim@fluendo.com>
6088
6089         * check/gst/gstutils.c: (GST_START_TEST):
6090         Updated check, add some scaling accuracy checking code.
6091
6092         * gst/gstutils.c: (gst_util_div128_64),
6093         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6094         (gst_util_uint64_scale_int):
6095         Fix 6 times faster division code. Optimize for common 
6096         1/1 and less common X/1 cases.
6097
6098 2005-11-28  Wim Taymans  <wim@fluendo.com>
6099
6100         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6101         More checks.
6102
6103         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6104         (do_linear_regression), (gst_clock_add_observation):
6105         Cleanups.
6106         Release lock when the clock cannot be slaved.
6107         Catch the case where the regression returned an invalid denominator.
6108
6109         * gst/gstutils.c: (gst_util_div128_64_iterate),
6110         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6111         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6112         Add protentially more performant non-iterative 128/64 divide function
6113         that unfortunatly does not work yet.
6114         Shortcut the trivial 0/X = 0 case.
6115         Remove the warnings on overflow.
6116
6117 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6118
6119         * gst/gstplugin.c: (gst_plugin_register_func):
6120           everything causing a plugin not to load should be at least a WARNING
6121
6122 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6123
6124         * docs/random/ensonic/dparams.txt:
6125           some TODOs for the next dev cycle
6126         * libs/gst/controller/gstcontroller.c:
6127         (gst_controlled_property_set_interpolation_mode),
6128         (gst_controlled_property_new):
6129         * libs/gst/controller/gstcontroller.h:
6130           use base type to assign acccessor functions
6131
6132 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6133
6134         * check/Makefile.am:
6135         Oops, that should have been top_srcdir
6136
6137 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6138
6139         * check/Makefile.am:
6140         * check/elements/fdsrc.c: (GST_START_TEST):
6141         Use a cmdline define to specify the location of a file to use for
6142         testing, to avoid breaking distcheck.
6143
6144 2005-11-28  Andy Wingo  <wingo@pobox.com>
6145
6146         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6147
6148 2005-11-28  Edward Hervey  <edward@fluendo.com>
6149
6150         * tools/gst-launch.c: (main):
6151         Clarify the output strings, makes it easier to translate.
6152         Fixes #322626
6153
6154 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6155
6156         * gst/Makefile.am:
6157           don't try and build net if we don't even have <sys/socket.h>
6158
6159 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6160
6161         * check/Makefile.am:
6162         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6163         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6164           Add tests for fdsrc seekability
6165
6166         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6167         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6168         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6169         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6170         * gst/elements/gstfdsrc.h:
6171           fdsrc should not be a 'live' source.
6172           Implement seeking on seekable fd's.
6173
6174         * gst/gstquery.c: (gst_query_new_seeking),
6175         (gst_query_parse_seeking):
6176         * gst/gstquery.h:
6177           Implement SEEKING query functions: 
6178             *_new_seeking and *_parse_seeking
6179
6180 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6181
6182         * gst/gstelement.c: (gst_element_dispose):
6183           don't loop forever
6184
6185         * gst/gstiterator.c:
6186         * gst/gststructure.c:
6187           doc fixes
6188
6189         * libs/gst/controller/gstcontroller.c:
6190         (gst_controlled_property_set_interpolation_mode):
6191         * libs/gst/controller/gstcontroller.h:
6192         * libs/gst/controller/gstinterpolation.c:
6193         (interpolate_none_get_enum_value_array):
6194           support controlling enums
6195
6196 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6197
6198         * gst/gstvalue.c:
6199           Improve documentation for gst_value_union().
6200
6201         * gst/gstvalue.h:
6202           Change return value for union, intersect and subtract functions
6203           from gint to gboolean.
6204
6205 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6206
6207         * gst/gstvalue.c: (gst_value_serialize_any_list),
6208         (gst_value_transform_any_list_string),
6209         (gst_value_deserialize_list), (gst_value_deserialize_array),
6210         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6211         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6212         (gst_value_set_fraction_range_full),
6213         (gst_value_deserialize_fraction_range),
6214         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6215         (gst_value_deserialize_boolean),
6216         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6217         (gst_value_serialize_float), (gst_value_deserialize_float),
6218         (gst_string_wrap), (gst_value_deserialize_string),
6219         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6220         (gst_value_union_int_range_int_range),
6221         (gst_value_intersect_int_range_int_range),
6222         (gst_value_intersect_double_range_double_range),
6223         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6224         (gst_value_subtract_int_range_int_range),
6225         (gst_value_subtract_double_double_range),
6226         (gst_value_subtract_double_range_double_range),
6227         (gst_value_deserialize_fraction):
6228         * gst/gstvalue.h:
6229           Use gint, gdouble and gchar in our API instead of int, double and
6230           char (and make usage in gstvalue.c more consistent).
6231
6232 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6233
6234         * check/Makefile.am:
6235         * libs/gst/controller/Makefile.am:
6236         * libs/gst/dataprotocol/Makefile.am:
6237           fix up Makefile.am and remove GST_ENABLE_NEW
6238
6239 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6240
6241         * configure.ac:
6242         * gst/Makefile.am:
6243         * gst/base/Makefile.am:
6244         * gst/check/Makefile.am:
6245         * gst/elements/Makefile.am:
6246         * gst/net/Makefile.am:
6247           update LDFLAGS use some more
6248
6249 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6250
6251         * common/m4/gst-doc.m4:
6252           Fixes #312589
6253
6254 2005-11-26  Edward Hervey  <edward@fluendo.com>
6255
6256         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6257         This shouldn't issue a g_warning since it returns NULL if it
6258         couldn't find the plugin, and all functions using this behave
6259         properly on a NULL return. Switching to a GST_WARNING.
6260
6261 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6262
6263         * gst/gstbin.c: (gst_bin_handle_message_func):
6264         Don't leak clock messages.
6265
6266 2005-11-25  Wim Taymans  <wim@fluendo.com>
6267
6268         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6269         (gst_util_uint64_scale_int):
6270         Optimisations, remove unneeded vars.
6271
6272 2005-11-25  Wim Taymans  <wim@fluendo.com>
6273
6274         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6275         Added more checks for the high precision uint64 cases.
6276
6277         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6278         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6279         Implement high precision (guint64 * guint64) / guint64.
6280
6281 2005-11-24  Wim Taymans  <wim@fluendo.com>
6282
6283         * gst/base/gstbasesrc.c: (gst_base_src_query):
6284         Fix wrong percentage query.
6285
6286         * gst/gstutils.c: (gst_util_uint64_scale),
6287         (gst_util_uint64_scale_int):
6288         Add some more common cases that can be handled 
6289         efficiently to _scale.
6290
6291 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6292
6293         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6294         (gst_mini_object_suite):
6295           don't use check calls from threads; check probably isn't
6296           threadsafe and using a lock to make it threadsafe would
6297           defeat the purpose of this check
6298         * gst/check/gstcheck.c:
6299         * gst/check/gstcheck.h:
6300           use GST_DEBUG some more
6301
6302 2005-11-24  Wim Taymans  <wim@fluendo.com>
6303
6304         * gst/gstutils.c: (gst_util_uint64_scale),
6305         (gst_util_uint64_scale_int):
6306         Chain trivial case to _scale_int.
6307
6308 2005-11-24  Wim Taymans  <wim@fluendo.com>
6309
6310         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6311         Added test for scaling.
6312
6313         * gst/gstclock.h:
6314         Small doc fix.
6315
6316         * gst/gstutils.c: (gst_util_uint64_scale_int):
6317         Implemented high precision scaling code.
6318
6319 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6320
6321         * gst/gstinfo.h:
6322           do not crash on pad==NULL
6323
6324 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6325
6326         Patch by: Stefan Kost
6327
6328         * common/gtk-doc.mak:
6329         * docs/gst/Makefile.am:
6330         * docs/libs/Makefile.am:
6331           Fix distcheck issues for the libraries docs build
6332           Closes #319599.
6333
6334 2005-11-24  Michael Smith <msmith@fluendo.com>
6335
6336         * docs/manual/basics-helloworld.xml:
6337           Fix bug #315027: memory leak in example code in docs.
6338
6339 2005-11-24  Michael Smith <msmith@fluendo.com>
6340
6341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6342           Unlock the PREROLL_LOCK in a failure case.
6343
6344 2005-11-24  Wim Taymans  <wim@fluendo.com>
6345
6346         * docs/gst/gstreamer-sections.txt:
6347         * gst/base/gstadapter.h:
6348         * gst/base/gstbasesink.h:
6349         * gst/base/gstbasesrc.h:
6350         * gst/base/gstbasetransform.h:
6351         * gst/base/gstpushsrc.h:
6352         * gst/elements/gstfakesink.h:
6353         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6354         * gst/elements/gstfakesrc.h:
6355         * gst/elements/gstfilesink.h:
6356         * gst/elements/gstfilesrc.h:
6357         * gst/gst.c:
6358         * gst/gstbin.c:
6359         * gst/gstbuffer.c: (_gst_buffer_copy):
6360         * gst/gstbus.h:
6361         * gst/gstcaps.c:
6362         * gst/gstchildproxy.c:
6363         * gst/gstclock.c:
6364         * gst/gstelement.c:
6365         * gst/gstelementfactory.c:
6366         * gst/gstelementfactory.h:
6367         * gst/gstevent.c:
6368         * gst/gstghostpad.h:
6369         * gst/gstindex.h:
6370         * gst/gstinterface.h:
6371         * gst/gstminiobject.c:
6372         * gst/gstminiobject.h:
6373         * gst/gstpad.c:
6374         * gst/gstpad.h:
6375         * gst/gstpadtemplate.h:
6376         * gst/gstpipeline.h:
6377         * gst/gstpluginfeature.h:
6378         * gst/gstquery.h:
6379         * gst/gstqueue.h:
6380         * gst/gsttaglist.c:
6381         * gst/gsttaglist.h:
6382         * gst/gsttagsetter.c:
6383         * gst/gsttagsetter.h:
6384         * gst/gsttrace.c:
6385         * gst/gsttrace.h:
6386         * gst/gsttypefind.h:
6387         * gst/gsturi.h:
6388         * gst/gstvalue.c:
6389         * gst/net/gstnetclientclock.c:
6390         * gst/net/gstnetclientclock.h:
6391         * gst/net/gstnettimepacket.c:
6392         * gst/net/gstnettimeprovider.c:
6393         * gst/net/gstnettimeprovider.h:
6394         Doc fixes.
6395
6396 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6397
6398         * configure.ac: back to HEAD
6399
6400 === release 0.9.6 ===
6401
6402 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6403
6404         * configure.ac:
6405           releasing 0.9.6, "Always On Time"
6406
6407 2005-11-23  Wim Taymans  <wim@fluendo.com>
6408
6409         * docs/gst/gstreamer-sections.txt:
6410         * gst/glib-compat.c:
6411         * gst/gsttagsetter.c:
6412         * gst/gstvalue.c:
6413         * gst/net/gstnetclientclock.c:
6414         * gst/net/gstnettimepacket.h:
6415         Doc updates.
6416
6417 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6418
6419         * docs/faq/using.xml:
6420         * docs/libs/tmpl/gstcontrol.sgml:
6421         * docs/manual/advanced-dparams.xml:
6422         * docs/manual/appendix-checklist.xml:
6423         * docs/manual/basics-elements.xml:
6424         * docs/pwg/other-source.xml:
6425         * docs/random/moving-plugins:
6426         * gst/gstpad.c:
6427         * tools/gst-launch.1.in:
6428           remove mentions of sinesrc
6429
6430 2005-11-23  Michael Smith <msmith@fluendo.com>
6431
6432         * docs/gst/gstreamer-sections.txt:
6433           Update for new API and API changes.
6434         * gst/gstobject.h:
6435           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6436         * gst/gstvalue.c:
6437           Documentation typo fix.
6438         * gst/net/gstnettimepacket.c:
6439           Documentation fixes for arguments.
6440
6441 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6442
6443         * gst/gststructure.c: (gst_structure_get_fraction),
6444         (gst_structure_parse_value),
6445         (gst_structure_fixate_field_nearest_fraction):
6446         * gst/gststructure.h:
6447         * gst/gstutils.c: (gst_util_uint64_scale_int):
6448         * gst/gstutils.h:
6449         * scripts/update-funcnames:
6450         API Changes. 
6451         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6452         Make gst_structure_fixate_field_nearest_fraction take a numerator
6453         and denominator argument instead of a GValue
6454         add gst_structure_get_fraction helper function.
6455
6456 2005-11-23  Wim Taymans  <wim@fluendo.com>
6457
6458         * docs/design/part-TODO.txt:
6459         Update TODO.
6460
6461         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6462         * gst/net/gstnetclientclock.h:
6463         Use parent fields for timeout and window_size.
6464
6465 2005-11-23  Andy Wingo  <wingo@pobox.com>
6466
6467         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6468         rate_num/rate_denom change.
6469
6470         * gst/net/gstnetclientclock.c
6471         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6472         OBJECT_LOCK. Don't call add_observation with the lock.
6473
6474         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6475         fraction.
6476         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6477         rate fraction.
6478         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6479         deal with rate as a fraction whose numerator and denominator are
6480         GstClockTime values.
6481         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6482         master; the other fields are protected by the SLAVE_LOCK.
6483         (do_linear_regression): Note that this must be called with the
6484         SLAVE_LOCK.
6485         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6486         OBJECT_LOCK. Call set_calibration instead of touching the
6487         variables directly.
6488         (gst_clock_set_property, gst_clock_get_property): Protect
6489         master/slave parameters with the SLAVE_LOCK.
6490
6491         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6492         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6493         note that all of the instance variables that add_observation and
6494         the set_master functions use are protected by that lock and not
6495         the OBJECT_LOCK.
6496         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6497
6498         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6499         the caller to take the object lock.
6500
6501 2005-11-23  Wim Taymans  <wim@fluendo.com>
6502
6503         * gst/gsterror.c: (_gst_core_errors_init):
6504         * gst/gsterror.h:
6505         Add error for clock stuff.
6506
6507         * gst/gstpipeline.c: (gst_pipeline_change_state),
6508         (gst_pipeline_set_clock):
6509         Post clock error when clock cannot be used in a pipeline.
6510
6511 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6512
6513         * docs/gst/gstreamer-sections.txt:
6514           make two symbols from gstinfo private for the docs
6515         * gst/base/gstcollectpads.h:
6516         * gst/gstutils.c:
6517           fix doc typos, update docs
6518
6519 2005-11-22  Wim Taymans  <wim@fluendo.com>
6520
6521         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6522         (gst_base_sink_wait), (gst_base_sink_do_sync),
6523         (gst_base_sink_handle_event):
6524         * gst/base/gstbasesink.h:
6525         No need to store the clock, the parent element class already
6526         has it.
6527
6528         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6529         Updates for clock_set returning a gboolean
6530
6531         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6532         (gst_clock_id_wait_async), (gst_clock_class_init),
6533         (gst_clock_init), (gst_clock_finalize),
6534         (gst_clock_get_internal_time), (gst_clock_get_time),
6535         (gst_clock_slave_callback), (gst_clock_set_master),
6536         (gst_clock_get_master), (do_linear_regression),
6537         (gst_clock_add_observation), (gst_clock_set_property),
6538         (gst_clock_get_property):
6539         * gst/gstclock.h:
6540         Implement master/slave. When setting a clock as a slave, a
6541         periodic timeout is scheduled to sample master and slave times.
6542         Then the slave clock is recalibrated to match offset and rate
6543         of the master clock.
6544         Update logging a bit.
6545         Add flag so that a clock can state that is cannot be slaved to
6546         another clock.
6547
6548         * gst/gstelement.c: (gst_element_set_clock):
6549         * gst/gstelement.h:
6550         The set clock returns a gboolean for when an element cannot
6551         deal with the selected clock in the pipeline. 
6552
6553         * gst/gstpipeline.c: (gst_pipeline_change_state),
6554         (gst_pipeline_set_clock):
6555         * gst/gstpipeline.h:
6556         Handle the case where the selected clock cannot be set on
6557         the pipeline.
6558
6559         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6560         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6561         (gst_net_client_clock_set_property),
6562         (gst_net_client_clock_get_property),
6563         (gst_net_client_clock_observe_times):
6564         * gst/net/gstnetclientclock.h:
6565         Use regression code in GstClock parent, remove duplicated
6566         functionality.
6567
6568 2005-11-22  Michael Smith <msmith@fluendo.com>
6569
6570         * gst/gstutils.c: (gst_util_clock_time_scale):
6571         * gst/gstutils.h:
6572         * docs/gst/gstreamer-sections.txt:
6573           Rename method to have extra underscore.
6574
6575 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6576
6577         * gst/elements/Makefile.am:
6578         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6579         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6580         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6581         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6582         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6583         * gst/elements/gstfakesrc.h:
6584         * gst/gstqueue.c: (queue_leaky_get_type):
6585           correctly fix GEnumValues so that nick is the short lowercase
6586           dashed tag
6587         * tools/gst-inspect.c: (print_element_properties_info):
6588           also show the nick, since it's useful to use from parse_launch
6589           syntax
6590           Fixes #322139
6591
6592 2005-11-22  Michael Smith <msmith@fluendo.com>
6593
6594         * gst/gstutils.c: (gst_util_clocktime_scale):
6595         * gst/gstutils.h:
6596         * docs/gst/gstreamer-sections.txt:
6597           Add util method for scaling a clocktime by a fraction. Useful 
6598           implementation is left as an exercise for the reader.
6599
6600 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6601
6602         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6603         If needed, allocate storage in the destination value during
6604         collection.
6605
6606 2005-11-22  Edward Hervey  <edward@fluendo.com>
6607
6608         * docs/gst/gstreamer-sections.txt:
6609         * gst/Makefile.am:
6610         * gst/gst.h:
6611         * gst/gsturitype.c:
6612         * gst/gsturitype.h:
6613         * gst/gstutils.c: (gst_util_set_object_arg):
6614         * tools/gst-compprep.c: (main):
6615         * tools/gst-inspect.c: (print_element_properties_info):
6616         Removed GstURI, closes bug #321061
6617
6618 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6619
6620         * check/gst/gststructure.c: (GST_START_TEST):
6621         * gst/gststructure.c: (gst_structure_parse_value):
6622           Oops, broke automatic string type parsing.
6623           Add a test to catch it in future.
6624
6625 2005-11-22  Andy Wingo  <wingo@pobox.com>
6626
6627         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6628         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6629         Actually rename the function implementations. Grr.
6630
6631 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6632
6633         * check/gst/capslist.h:
6634           Comment test cases
6635         * check/gst/gststructure.c: (GST_START_TEST),
6636         (gst_structure_suite):
6637           Test automatic value type detection in gst_structure_from_string.
6638         * gst/gststructure.c: (gst_structure_parse_value):
6639           Add fraction as a type we try and guess automatically in
6640           caps/structure strings.
6641
6642 2005-11-22  Andy Wingo  <wingo@pobox.com>
6643
6644         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6645
6646         * gst/gsttagsetter.h:
6647         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6648         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6649         (gst_tag_setter_add_tag_valist)
6650         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6651         _add_values, _add_valist, and _add_valist_values. Since this is an
6652         interface the function suffixes should be more explicit so
6653         language binding don't end up with element.add_valist ->
6654         gst_tag_setter_add_valist, for example. Fixes #322069.
6655
6656 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6657
6658         * check/gst/gstcaps.c: (GST_START_TEST):
6659           Extend caps string tests to check that a caps to string
6660           conversion is reversible and produces the same caps.
6661
6662         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6663           Output "fraction" as the generic type fraction range, so caps
6664           serialisation and deserialisation works.
6665         * check/gst/capslist.h:
6666         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6667           Support 'MIN' and 'MAX' for deserialising fractions.
6668
6669 2005-11-22  Andy Wingo  <wingo@pobox.com>
6670
6671         * gst/gstevent.h (gst_event_new_new_segment)
6672         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6673         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6674         Renamed from *_newsegment, *_buffersize, *_notarget.
6675
6676         * scripts/update-funcnames: New script, performs the changes
6677         listed above.
6678
6679 2005-11-22  Wim Taymans  <wim@fluendo.com>
6680
6681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6682         Make sure the GstFlowReturn is returned.
6683
6684         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6685         (gst_bus_add_signal_watch):
6686         * gst/gstbus.h:
6687         add gst_bus_add_signal_watch_full.
6688
6689         * gst/gstplugin.c: (gst_plugin_load_file):
6690         Small style cleanup.
6691
6692 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6693
6694         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6695           Block the fakesrc srcpad when we send an event, to avoid
6696           contention on the stream_lock causing random test failures.
6697
6698 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6699
6700         * check/gst/gstvalue.c: (GST_START_TEST):
6701         * gst/gstvalue.c: (gst_value_fraction_subtract):
6702           Fix subtraction.
6703
6704 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6705
6706         * gst/gst.h:
6707           include "gstchildproxy.h"
6708         * gst/gstchildproxy.h:
6709         * libs/gst/controller/gstcontroller.h:
6710           use G_GNUC_NULL_TERMINATED
6711
6712 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6713
6714         * check/gst/capslist.h:
6715         * check/gst/gstcaps.c: (GST_START_TEST):
6716         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6717         * gst/gststructure.c: (gst_structure_parse_range),
6718         (gst_structure_fixate_field_nearest_fraction):
6719         * gst/gststructure.h:
6720         * gst/gstvalue.c: (gst_value_init_fraction_range),
6721         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6722         (gst_value_collect_fraction_range),
6723         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6724         (gst_value_set_fraction_range_full),
6725         (gst_value_get_fraction_range_min),
6726         (gst_value_get_fraction_range_max),
6727         (gst_value_serialize_fraction_range),
6728         (gst_value_transform_fraction_range_string),
6729         (gst_value_compare_fraction_range),
6730         (gst_value_deserialize_fraction_range),
6731         (gst_value_intersect_fraction_fraction_range),
6732         (gst_value_intersect_fraction_range_fraction_range),
6733         (gst_value_subtract_fraction_fraction_range),
6734         (gst_value_subtract_fraction_range_fraction),
6735         (gst_value_subtract_fraction_range_fraction_range),
6736         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6737         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6738         (gst_value_transform_string_fraction), (_gst_value_initialize):
6739         * gst/gstvalue.h:
6740           Implement fraction ranges and extend GstFraction to support
6741           arithmetic subtraction, as well as deserialization from integer
6742           strings such as "100"
6743           Add a testsuite as for int and double range set operations
6744
6745 2005-11-21  Andy Wingo  <wingo@pobox.com>
6746
6747         * gst/gsttaglist.h: 
6748         * gst/gstcaps.h: 
6749         * gst/gststructure.h: Add glib-compat.h.
6750
6751 2005-11-21  Wim Taymans  <wim@fluendo.com>
6752
6753         * gst/gstbin.c: (gst_bin_change_state_func):
6754         Fix for #321595
6755
6756 2005-11-21  Wim Taymans  <wim@fluendo.com>
6757
6758         * gst/gstsegment.h:
6759         And add a nice define too.
6760
6761 2005-11-21  Wim Taymans  <wim@fluendo.com>
6762
6763         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6764         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6765         (gst_segment_set_duration), (gst_segment_set_last_stop),
6766         (gst_segment_set_seek), (gst_segment_set_newsegment),
6767         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6768         (gst_segment_clip):
6769         * gst/gstsegment.h:
6770         Make binding friendly.
6771
6772 2005-11-21  Andy Wingo  <wingo@pobox.com>
6773
6774         * gst/gsttagsetter.h: 
6775         * gst/gsttaglist.h: 
6776         * gst/gststructure.h: 
6777         * gst/gstcaps.h: 
6778         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6779         #319940.
6780
6781         * gst/gsterror.c (_gst_core_errors_init):
6782         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6783         category.
6784
6785         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6786         (noinst_HEADERS): noinst the -private.
6787
6788 2005-11-21  Michael Smith <msmith@fluendo.com>
6789
6790         * gst/gstplugin.h:
6791         * gst/gstregistry.h:
6792           Remove unimplemented declarations for which we can see no sensible
6793           use.
6794
6795 2005-11-21  Andy Wingo  <wingo@pobox.com>
6796
6797         * gst/gst.h: Include glib-compat.h.
6798
6799         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6800
6801         * gst/glib-compat.c: Include the public and the private header.
6802
6803         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6804
6805         * gst/gstvalue.c: 
6806         * gst/gstpad.c: 
6807         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6808
6809         * check/gst/gstevent.c (create_custom_events): Check that
6810         FLUSH_STOP is serialized.
6811
6812         * check/elements/identity.c (event_func): 
6813         * check/elements/fakesrc.c (event_func): No stream lock, the core
6814         takes it.
6815
6816         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6817         stream lock taking, yay.
6818
6819         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6820         ensure that core takes the stream lock.
6821
6822         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6823         lock name change.
6824
6825         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6826         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6827         it already. For the flush start we do take it though so we get the
6828         right preroll state change messages.
6829
6830         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6831         the stream lock here, the core does it for us.
6832
6833         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6834         GST_STREAM_GET_LOCK.
6835         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6836         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6837         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6838         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6839         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6840         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6841
6842         * gst/gstpad.c: Update for stream lock name change.
6843
6844         * gst/base/gstbasesink.c: Update for preroll lock name change.
6845
6846 2005-11-21  Wim Taymans  <wim@fluendo.com>
6847
6848         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6849         (gst_clock_get_master):
6850         * gst/gstclock.h:
6851         * gst/gstsystemclock.c: (gst_system_clock_init):
6852         Convert Clock flags to object flags.
6853         Added methods to manage master/slave clocks.
6854
6855 2005-11-21  Wim Taymans  <wim@fluendo.com>
6856
6857         * check/gst/gstsegment.c: (GST_START_TEST):
6858         * docs/design/part-TODO.txt:
6859         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6860         (gst_base_sink_event), (gst_base_sink_do_sync),
6861         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6862         (gst_base_sink_query), (gst_base_sink_change_state):
6863         * gst/base/gstbasesink.h:
6864         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6865         (gst_base_src_default_newsegment),
6866         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6867         (gst_base_src_get_range), (gst_base_src_loop),
6868         (gst_base_src_change_state):
6869         * gst/base/gstbasesrc.h:
6870         * gst/base/gstbasetransform.c:
6871         (gst_base_transform_prepare_output_buf),
6872         (gst_base_transform_event), (gst_base_transform_change_state):
6873         * gst/base/gstbasetransform.h:
6874         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6875         (gst_collect_pads_event):
6876         * gst/base/gstcollectpads.h:
6877         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6878         (gst_fake_src_create):
6879         * gst/elements/gstfakesrc.h:
6880         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6881         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6882         (gst_segment_set_last_stop), (gst_segment_set_seek),
6883         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6884         (gst_segment_to_running_time), (gst_segment_clip):
6885         * gst/gstsegment.h:
6886         More segment updates, replace code in plugins with segment
6887         helper functions.
6888
6889 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6890
6891         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6892         Don't ignore sscanf results
6893
6894 2005-11-21  Andy Wingo  <wingo@pobox.com>
6895
6896         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6897
6898         * *.h:
6899         * *.c: Ran scripts/update-macros. Oh yes.
6900
6901         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6902         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6903         GST_GET_LOCK, etc.
6904
6905         * scripts/update-macros: New script. Run it on your files to
6906         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6907         well.
6908
6909 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6910
6911         * docs/gst/Makefile.am:
6912         * docs/gst/gstreamer-docs.sgml:
6913         * docs/gst/gstreamer-sections.txt:
6914         * docs/gst/gstreamer.types:
6915         * gst/gstinfo.h:
6916           more docs fixes, add new api to the docs
6917
6918 2005-11-21  Andy Wingo  <wingo@pobox.com>
6919
6920         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6921         state_broadcast call.
6922
6923         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6924
6925 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6926
6927         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6928         function calls for arrays.
6929
6930 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6931
6932         * docs/random/ensonic/media-device-daemon.txt:
6933           wild idea, can this be done?
6934         * docs/gst/gstreamer-sections.txt:
6935         * gst/gsterror.h:
6936         * gst/gstfilter.c:
6937         * gst/gstfilter.h:
6938         * gst/gstplugin.h:
6939         * gst/gstpluginfeature.c:
6940         * gst/gsttrace.c:
6941         * gst/gstvalue.c:
6942         * gst/gstvalue.h:
6943           doc fixes and additions
6944
6945 2005-11-21  Andy Wingo  <wingo@pobox.com>
6946
6947         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6948         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6949         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6950         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6951         private to the basesrc implementation.
6952
6953         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6954         behalf of event function if necessary. It should no longer be
6955         necessary to take the stream lock in pad's event functions. Fixes
6956         #320299.
6957
6958 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6959         * docs/gst/gstreamer-sections.txt:
6960         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6961         (gst_structure_fixate_field_nearest_double),
6962         (gst_structure_fixate_field_boolean):
6963         * gst/gststructure.h:
6964         * win32/common/libgstreamer.def:
6965         * win32/gstreamer.def:
6966
6967         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6968         (#322027)
6969
6970 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6971
6972         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6973         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6974         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6975         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6976         (gst_fdsrc_uri_handler_init):
6977         * gst/elements/gstfdsrc.h:
6978           Port fd:// URI handler from 0.8 to fdsrc
6979
6980 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6981
6982         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6983         (gst_value_serialize_fourcc):
6984         * gst/gstvalue.h:
6985           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6986           consistent with our other format defines (#320324).
6987
6988 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6989
6990         * gst/gstvalue.c: (gst_value_is_fixed):
6991           Revert previous commit. Value lists are by definition
6992           not fixed, as they are a list of possible values.
6993
6994 2005-11-21  Andy Wingo  <wingo@pobox.com>
6995
6996         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6997         during the stable series if we need it. Fixes #319178.
6998
6999         * gst/gstevent.c (gst_event_new_filler): Removed.
7000
7001         * check/gst/gstevent.c: Update comment about filler events.
7002
7003 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7004
7005         * gst/gstvalue.c: (gst_value_is_fixed):
7006           Should handle both value arrays and value lists.
7007
7008 2005-11-21  Andy Wingo  <wingo@pobox.com>
7009
7010         patch by: Alessandro Dessina <alessandro nnva org>
7011
7012         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7013         functions to access arrays. Fixes #321962.
7014
7015 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7016
7017         * docs/gst/gstreamer.types:
7018           gst_collectpads_get_type => gst_collect_pads_get_type.
7019           
7020         * gst/base/gstbasetransform.c:
7021           Remove unused SIGNAL_HANDOFF enum.
7022
7023 2005-11-21  Andy Wingo  <wingo@pobox.com>
7024
7025         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7026         the event type (upstream, downstream, serialized). Renamed
7027         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7028         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7029         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7030
7031         * gst/gstevent.c: Update for new CUSTOM event names.
7032
7033         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7034
7035         * gst/gstevent.h:
7036         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7037         bug #319392.
7038
7039 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7040
7041         * docs/gst/gstreamer-sections.txt:
7042         * win32/common/libgstbase.def:
7043         * win32/libgstbase.def:
7044         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7045         (gst_collect_pads_class_init), (gst_collect_pads_init),
7046         (gst_collect_pads_finalize), (gst_collect_pads_new),
7047         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7048         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7049         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7050         (gst_collect_pads_start), (gst_collect_pads_stop),
7051         (gst_collect_pads_peek), (gst_collect_pads_pop),
7052         (gst_collect_pads_available), (gst_collect_pads_read),
7053         (gst_collect_pads_flush), (gst_collect_pads_event),
7054         (gst_collect_pads_chain):
7055         * gst/base/gstcollectpads.h:
7056           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7057           unimplemented functions as unimplemented. Add padding to
7058           GstCollectData. (#320766, #320423)
7059
7060 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7061
7062         * gst/gstmessage.c:
7063           Improve docs for DURATION message (usage of duration parameter)
7064           (#320113)
7065
7066 2005-11-20  Wim Taymans  <wim@fluendo.com>
7067
7068         * check/Makefile.am:
7069         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7070         (main):
7071         * gst/Makefile.am:
7072         * gst/gst.h:
7073         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7074         (gst_segment_set_seek), (gst_segment_set_newsegment),
7075         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7076         (gst_segment_clip):
7077         * gst/gstsegment.h:
7078         Added segment helper structure and methods. Not fully implemented
7079         yet.
7080         Added segment check.
7081
7082 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7083
7084         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7085           Add a deserialisation test for fractions
7086         * examples/metadata/read-metadata.c: (message_loop),
7087         (make_pipeline), (main):
7088           Fix up metadata reading sample.
7089         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7090           Debug format fix
7091         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7092           Don't try and fixate empty caps
7093         * gst/gst_private.h:
7094           Wrap in G_BEGIN_DECLS/G_END_DECLS
7095         * gst/gstvalue.c: (gst_value_collect_fraction),
7096         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7097         (gst_value_transform_string_fraction),
7098         (gst_value_compare_fraction):
7099           Add some extra guards to ensure that we don't end up 
7100           with an invalid denominator of 0 in a gstfraction and
7101           that fractions always get reduced.
7102
7103 2005-11-20  Wim Taymans  <wim@fluendo.com>
7104
7105         * docs/gst/gstreamer-sections.txt:
7106         * gst/gstbuffer.h:
7107         * gst/gstelement.c:
7108         * gst/gstformat.c:
7109         * gst/gstformat.h:
7110         * gst/gstindex.h:
7111         * gst/gstquery.c:
7112         * gst/gstquery.h:
7113         * gst/gstvalue.c:
7114         Doc fixes.
7115
7116 2005-11-20  Wim Taymans  <wim@fluendo.com>
7117
7118         * docs/design/part-TODO.txt:
7119         * gst/gstcaps.h:
7120         Make a proper enum of the flag.
7121
7122 2005-11-19  Wim Taymans  <wim@fluendo.com>
7123
7124         * docs/design/part-TODO.txt:
7125         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7126         (gst_format_to_quark), (gst_format_register):
7127         * gst/gstformat.h:
7128         * gst/gstquery.c: (_gst_query_initialize),
7129         (gst_query_type_get_name), (gst_query_type_to_quark),
7130         (gst_query_type_register):
7131         * gst/gstquery.h:
7132         Add type to quark and type to string conversions.
7133
7134 2005-11-19  Andy Wingo  <wingo@pobox.com>
7135
7136         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7137         #320097.
7138
7139 2005-11-19  Wim Taymans  <wim@fluendo.com>
7140
7141         * docs/design/part-TODO.txt:
7142         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7143         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7144         (gst_bin_handle_message_func):
7145         * gst/gstbin.h:
7146         Make message handling overridable.
7147
7148 2005-11-19  Andy Wingo  <wingo@pobox.com>
7149
7150         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7151
7152         * gst/gstclock.h:
7153         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7154         be a GstClockTime.
7155         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7156         is a GstClockTime. Fixes #321710.
7157
7158         * gst/gstclock.h (GstClock): Remove offset property. Add
7159         internal_calibration and external_calibration. Fix padding. Pad
7160         also by GstClockTime so we don't run into problems.
7161
7162         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7163         (gst_clock_get_rate_offset): Remove.
7164         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7165
7166         * gst/gstutils.h:
7167         * gst/gstutils.c (g_static_rec_cond_wait)
7168         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7169
7170         * gst/gstbin.c: Remove terrible continue_state prototype.
7171
7172         * gst/gstelement.h (gst_element_continue_state): Make public.
7173
7174         * gst/gstelement.h:
7175         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7176         by continue_state. Fixes #319389.
7177
7178         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7179         Really fixes #168438. However I don't see anywhere where the
7180         filter function is called... stupid GStreamer...
7181         
7182         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7183         don't have a dispose function, so it won't get called when the
7184         object is unreffed, but oh well!
7185
7186         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7187         allows a destroy function to be set so user_data can be freed.
7188         Fixes #168438.
7189         (gst_index_set_filter): Call gst_index_set_filter_full.
7190
7191         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7192
7193         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7194         string should produce an error, given the lack of a way to
7195         represent NULL strings. Fixes #165650.
7196         
7197         * gst/gstvalue.h: 
7198         * gst/gstvalue.c (gst_value_array_append_value) 
7199         (gst_value_array_prepend_value, gst_value_array_get_size) 
7200         (gst_value_array_get_value): New API, copied from
7201         gst_value_list_*, only operates on arrays.
7202         (gst_value_list_append_value, gst_value_list_prepend_value) 
7203         (gst_value_list_concat, gst_value_list_get_size) 
7204         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7205
7206         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7207         init_list, because it works on both.
7208         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7209         (gst_value_copy_list_or_array): Renamed from copy_list.
7210         (gst_value_free_list_or_array): Renamed from free_list.
7211         (gst_value_collect_list_or_array): Renamed from collect_list.
7212         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7213         (gst_value_list_or_array_peek_pointer): Renamed from
7214         list_peek_pointer.
7215         (_gst_value_array_value_table, _gst_value_list_value_table):
7216         Update value table functions.
7217         (gst_value_compare_list_or_array): Renamed from compare_list.
7218
7219         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7220         some constness.
7221
7222         * gst/gsttaglist.c:
7223         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7224         GstTagList*. Fixes #143472.
7225
7226         * gst/gststructure.h: Clarify what the foreach/map functions can
7227         or can't do to their arguments.
7228
7229 2005-11-18  Wim Taymans  <wim@fluendo.com>
7230
7231         * gst/gstclock.c: (gst_clock_set_calibration),
7232         (gst_clock_get_calibration):
7233         Doc and API fixes.
7234         Calibration can be set with internal time equal to current
7235         internal time too.
7236
7237 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7238
7239         * gst/gsterror.c:
7240         * gst/gsterror.h:
7241           document
7242
7243 2005-11-18  Andy Wingo  <wingo@pobox.com>
7244
7245         * configure.ac: 
7246         * pkgconfig/gstreamer-net.pc.in:
7247         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7248         * pkgconfig/Makefile.am: Add net pkgconfig files.
7249
7250 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7251
7252         * gst/gstcaps.c:
7253         * gst/gstghostpad.c:
7254         * gst/gsttrace.c:
7255         * gst/gstvalue.c:
7256         * gst/gstvalue.h:
7257           docs fixes
7258
7259 2005-11-18  Andy Wingo  <wingo@pobox.com>
7260
7261         * gst/net/gstnetclientclock.c: Turn off debugging.
7262
7263         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7264         times connverge somewhat. Can't make a real test.
7265
7266         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7267         integer arithmetic. Return the minimum of the domain, which can be
7268         set as "internal" for gst_clock_set_calibration.
7269         (gst_net_client_clock_observe_times): Call _set_calibration.
7270         (gst_net_client_clock_new): Call _set_calibration instead of
7271         rate_offset.
7272
7273         * check/net/gstnetclientclock.c (test_functioning): Use the right
7274         adjustment api.
7275
7276         * gst/gstclock.h:
7277         * gst/gstclock.c (gst_clock_get_calibration) 
7278         (gst_clock_set_calibration): New functions, obsolete the ones I
7279         added yesterday. Doh. Precision issues mean we have to extrapolate
7280         from a point in the more recent past than 1970.
7281         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7282         obsolete.
7283         (gst_clock_adjust_unlocked): Use the right calibration data.
7284
7285 2005-11-18  Edward Hervey  <edward@fluendo.com>
7286
7287         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7288         Also reset the ->current_* values in READY->PAUSED
7289
7290 2005-11-18  Andy Wingo  <wingo@pobox.com>
7291
7292         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7293         Whoops, check the right fd. Also add some debugging.
7294         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7295         (do_linear_regression): Add a crapload of debugging. Subtract off
7296         the minimum values from the input series to discard unneeded bits.
7297         Use only int arithmetic. There is still double arithmetic when
7298         calculating the intercept that needs fixing. Return boolean to
7299         indicate success; FALSE would mean the domain or range is too
7300         great. Still needs fixes.
7301
7302 2005-11-18  Wim Taymans  <wim@fluendo.com>
7303
7304         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7305         For the current position in stream time, we need to subtract
7306         accumulated time.
7307         
7308         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7309         Release lock before calling the callback function of async
7310         entries.
7311
7312 2005-11-18  Andy Wingo  <wingo@pobox.com>
7313
7314         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7315         Port goes all the way to MAXUINT16.
7316
7317         * gst/net/gstnettimeprovider.c: Make the port range the same as
7318         for the kernel: 0 assigns, otherwise ports are less than
7319         MAXUINT16.
7320
7321         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7322         port change.
7323
7324         * check/net/gstnetclientclock.c (test_functioning): Add the start
7325         of another test. 
7326
7327 2005-11-18  Wim Taymans  <wim@fluendo.com>
7328
7329         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7330         (gst_bin_remove_func), (bin_bus_handler):
7331         * gst/gstbin.h:
7332         Removing a clock provider from a bin, triggers a clock lost message
7333         so that a new clock will be selected.
7334         Adding a clock to a bin triggers a clock provider message.
7335         Make sure we reselect a clock when we received a clock lost message.
7336         Keep a reference to the element that provided the clock.
7337
7338 2005-11-18  Andy Wingo  <wingo@pobox.com>
7339
7340         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7341         the clock initially so it produces values around the base time.
7342         (gst_net_client_clock_class_init): Typo fix.
7343         (gst_net_client_clock_thread): Add note on when the socket gets
7344         closed.
7345
7346 2005-11-17  Wim Taymans  <wim@fluendo.com>
7347
7348         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7349         Free remote and local time arrays.
7350
7351 2005-11-17  Wim Taymans  <wim@fluendo.com>
7352
7353         * gst/net/gstnetclientclock.c: (do_linear_regression),
7354         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7355         Fix compilation, uninitialized vars and a forgotten continue.
7356
7357 2005-11-17  Andy Wingo  <wingo@pobox.com>
7358
7359         * check/Makefile.am (check_PROGRAMS): 
7360         * check/net/gstnetclientclock.c: Add a most minimal test for the
7361         net client clock. More to come later.
7362
7363         * gst/net/gstnet.h: 
7364         * gst/net/Makefile.am: Add netclientclock.
7365
7366         * gst/net/gstnetclientclock.h:
7367         * gst/net/gstnetclientclock.c: New files, implement an untested
7368         GstClock that takes its time from a network time provider.
7369         Implements the algorithm in network-clock.scm.
7370
7371         * tests/network-clock.scm (*window-size*): Rename from
7372         *queue-length*.
7373         * tests/network-clock.scm (network-time): 
7374         * tests/network-clock-utils.scm (q-push): Update callers.
7375
7376 2005-11-17  Wim Taymans  <wim@fluendo.com>
7377
7378         * gst/gstbin.c: (gst_bin_provide_clock_func),
7379         (gst_bin_sort_iterator_new):
7380         And unref the child too..
7381
7382 2005-11-17  Wim Taymans  <wim@fluendo.com>
7383
7384         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7385         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7386         Refactor the sort iterator so it can be used while holding the
7387         LOCK too.
7388         Make clock selection select a clock closest to the source.
7389
7390 2005-11-17  Michael Smith <msmith@fluendo.com>
7391
7392         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7393         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7394         * gst/gstclock.h:
7395           Anonymous structs are a gcc (and some other compilers) extension, so
7396           don't use them. Since this is only for ABI-compatibility, and our
7397           API/ABI freeze is over in a few days, this whole thing will only
7398           last a few days, so don't bother trying to think up a meaningful
7399           name for the struct.
7400
7401 2005-11-17  Andy Wingo  <wingo@pobox.com>
7402
7403         * gst/gstclock.h (GstClock): Add rate and offset properties,
7404         preserving ABI stability. Add rate/offset accessors. Will file bug
7405         for the freeze break.
7406
7407         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7408         and offset, trying to keep precision and avoiding
7409         underflow/overflow.
7410         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7411         functions. Make gst_clock_set_time_adjust obsolete.
7412         (gst_clock_set_time_adjust): Note that this function is obsolete.
7413         Will file bug soon.
7414
7415         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7416         greppable by using GST_PADDING-1+1.
7417
7418 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7419
7420         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7421
7422         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7423           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7424
7425         * gst/gstpadtemplate.h:
7426         * gst/gstpluginfeature.h:
7427           Don't use c++ style comments in headers (#321638).
7428
7429 2005-11-16  Andy Wingo  <wingo@pobox.com>
7430
7431         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7432         buffer.
7433
7434         * check/net/gstnettimeprovider.c: Check to see that the time
7435         provider actually provides times. Works, yo!
7436
7437 2005-11-16  Wim Taymans  <wim@fluendo.com>
7438
7439         * check/Makefile.am:
7440         Enable more tests.
7441
7442         * check/elements/fakesrc.c: (GST_START_TEST):
7443         Set element to NULL before disposing it.
7444
7445 2005-11-16  Andy Wingo  <wingo@pobox.com>
7446
7447         * gst/net/Makefile.am:
7448         * gst/net/gstnet.h:
7449         * gst/net/gstnettimeprovider.c: 
7450         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7451         provider, include it from gstnet.h, and add it to the build.
7452
7453         * gst/net/gstnettimepacket.h: 
7454         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7455         sending and receiving.
7456
7457 2005-11-16  Wim Taymans  <wim@fluendo.com>
7458
7459         * check/Makefile.am:
7460         Enable valgrind check.
7461
7462         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7463         (gst_fake_src_alloc_buffer):
7464         Fix memleak.
7465
7466 2005-11-16  Wim Taymans  <wim@fluendo.com>
7467
7468         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7469         Call parent finalize too.
7470
7471 2005-11-16  Wim Taymans  <wim@fluendo.com>
7472
7473         * check/Makefile.am:
7474         Enable valgrind check that should work fine now.
7475
7476         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7477         * gst/gstqueue.c: (gst_queue_init):
7478         Fix memleaks in pad allocation.
7479
7480 2005-11-16  Andy Wingo  <wingo@pobox.com>
7481
7482         * gst/net/Makefile.am:
7483         * gst/net/gstnet.h: New part of core to hold network elements and
7484         objects. Put in core because it exposes API that applications want
7485         to use. The library is named libgstnet-tempname right now because
7486         of the existing libgstnet in gst-plugins-base. Solution is
7487         probably to rename the one in plugins-base; will file a bug for
7488         the freeze break.
7489
7490         * gst/net/gstnettimeprovider.c: 
7491         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7492         get_time call over the network.
7493
7494         * configure.ac: 
7495         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7496
7497         * check/Makefile.am:
7498         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7499         get additions shortly.
7500
7501 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7502
7503         * gst/gstpad.c: (gst_pad_new_from_static_template):
7504         * gst/gstpad.h:
7505           add gst_pad_new_from_static_template functions
7506         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7507         (gst_check_setup_sink_pad):
7508         * gst/elements/gsttee.c: (gst_tee_init):
7509           and use them
7510
7511 2005-11-16  Wim Taymans  <wim@fluendo.com>
7512
7513         * gst/gstpad.c: (gst_pad_pause_task):
7514         Removed warning, it's not really an error either.
7515
7516 2005-11-16  Wim Taymans  <wim@fluendo.com>
7517
7518         * gst/base/gstbasetransform.c:
7519         (gst_base_transform_prepare_output_buf),
7520         (gst_base_transform_event):
7521         Check if the caps are NULL, this can happen if the element
7522         is shutting down and the pad caps are set to NULL.
7523
7524 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7525
7526         * gst/elements/gsttee.c: (gst_tee_init):
7527           fix pad template leak in tee
7528
7529 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7530
7531         * gst/glib-compat.c: (g_value_dup_gst_object):
7532         * gst/glib-compat.h:
7533         * gst/gstpad.c: (gst_pad_set_property):
7534           use gst_object_ref when setting the pad template; this will
7535           trigger the pad template leaks on GLib 2.6 and the slaves
7536
7537 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7538
7539         * gst/glib-compat.c: (gst_flags_get_first_value):
7540         * gst/glib-compat.h:
7541         * gst/gstregistryxml.c:
7542           remove functions copied from GLib 2.6
7543
7544 2005-11-16  Michael Smith <msmith@fluendo.com>
7545
7546         * gst/Makefile.am:
7547           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7548           do, but only breaks with newer valgrind versions. We're not a
7549           valgrind tool, we have no link-time dependencies on libcoregrind.
7550
7551 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7552
7553         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7554           some debug changes
7555         * gst/gstmessage.h:
7556           typo fixes
7557
7558 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7559
7560         * gst/base/gstbasesrc.c: (gst_base_src_init):
7561         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7562         * gst/gstqueue.c: (gst_queue_init):
7563         * gst/gstregistryxml.c: (load_feature):
7564           Revert all these unrefs, they don't even pass make check !
7565
7566 2005-11-15  Johan Dahlin  <johan@gnome.org>
7567
7568         * gst/base/gstbasesrc.c: (gst_base_src_init):
7569         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7570         * gst/gstqueue.c: (gst_queue_init): 
7571         Free pad templates, fixes a couple of leaks.
7572
7573 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7574
7575         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7576
7577         * gst/gstpad.c: (gst_pad_get_property):
7578           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7579           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7580           (#321452)
7581
7582 2005-11-15  Wim Taymans  <wim@fluendo.com>
7583
7584         * gst/gstevent.c:
7585         Small doc update.
7586
7587 2005-11-15  Andy Wingo  <wingo@pobox.com>
7588
7589         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7590
7591         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7592         using GST_CLOCK_TIME_NONE to disable base time management.
7593         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7594         time if it was NONE before.
7595         (gst_pipeline_change_state): Only munge the base time if
7596         stream_time != GST_CLOCK_TIME_NONE.
7597
7598         * check/gst/gstpipeline.c (test_base_time): Punt around the
7599         problem of the probe not being called, because that's not the
7600         issue I'm looking at. Add a check that setting stream_time to NONE
7601         disables base time management.
7602         
7603 2005-11-15  Wim Taymans  <wim@fluendo.com>
7604
7605         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7606         segment_stop == -1 at startup.
7607
7608         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7609         (gst_base_transform_change_state):
7610         Init segment values at start.
7611
7612 2005-11-15  Wim Taymans  <wim@fluendo.com>
7613
7614         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7615         0 segment values are 0 in any format.
7616
7617         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7618         * gst/base/gstbasetransform.h:
7619         Parse newsegment correctly in basetransform
7620
7621         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7622         Sync to clock using updated segment values.
7623
7624 2005-11-15  Andy Wingo  <wingo@pobox.com>
7625
7626         * check/gst/gstpipeline.c (test_base_time): Add check that the
7627         base time and stream time are reset correctly.
7628
7629 2005-11-15  Wim Taymans  <wim@fluendo.com>
7630
7631         * docs/design/part-TODO.txt:
7632         Some more TODO items.
7633
7634 2005-11-15  Andy Wingo  <wingo@pobox.com>
7635
7636         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7637         error if the user selected "no clock" as the clocking method.
7638
7639         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7640         timestamps with live capture.
7641
7642         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7643         is 0 but we are a live source, timestamp the buffers using the
7644         element's clock.
7645
7646 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7647
7648         * docs/gst/gstreamer-sections.txt:
7649         * gst/gsterror.c:
7650         * gst/gstghostpad.c:
7651         * gst/gstobject.h:
7652         * gst/gstxml.c:
7653           more section docs
7654
7655 2005-11-14  Wim Taymans  <wim@fluendo.com>
7656
7657         * common/gst.supp:
7658           add suppressions from Wim's Debian machine
7659
7660 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7661
7662         * common/gst.supp:
7663           add suppressions from Andy's AMD64 Ubuntu machine
7664
7665 2005-11-14  Andy Wingo  <wingo@pobox.com>
7666
7667         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7668         STATE_LOCK not necessary. Fixes #311489.
7669
7670         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7671         #305291.
7672
7673         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7674         this function is not implemented.
7675
7676 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7677
7678         * gst/base/gstbasetransform.c:
7679         (gst_base_transform_prepare_output_buf):
7680         Ref the source pad caps while we need them.
7681         Fixes (#321386)
7682
7683 2005-11-11  Wim Taymans  <wim@fluendo.com>
7684
7685         * docs/gst/gstreamer-sections.txt:
7686         Added some docs for GstCollectData.
7687
7688         * gst/base/gstadapter.c:
7689         Some small code example fix.
7690
7691         * gst/base/gstcollectpads.c:
7692         * gst/base/gstcollectpads.h:
7693         Document some more.
7694
7695 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7696
7697         * configure.ac: back to HEAD
7698
7699 === release 0.9.5 ===
7700
7701 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7702
7703         * configure.ac:
7704           releasing 0.9.5, "Bike Lunch Day"
7705
7706 2005-11-11  Wim Taymans  <wim@fluendo.com>
7707
7708         * gst/gstbuffer.c: (_gst_buffer_copy):
7709         Copy more flags.
7710
7711         * gst/gstcaps.c: (gst_caps_is_equal):
7712         Fix some docs.
7713         Make _is_equal fast in the trivial cases.
7714
7715         * gst/gstminiobject.c:
7716         * gst/gstminiobject.h:
7717         More docs. Spifify .h file.
7718
7719         * gst/gstutils.c:
7720         Small doc update.
7721
7722 2005-11-11  Wim Taymans  <wim@fluendo.com>
7723
7724         * gst/base/gstbasetransform.c:
7725         (gst_base_transform_prepare_output_buf),
7726         (gst_base_transform_handle_buffer):
7727         Small cleanups.
7728         If we're processing a buffer and need to allocate an output
7729         buffer, we cannot accept a format change. If we did get a 
7730         format change, we have to alloc a buffer ourselves of the 
7731         right size.
7732
7733 2005-11-11  Wim Taymans  <wim@fluendo.com>
7734
7735         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7736         While checking the flag for reentrancy in the gstcaps function
7737         is nice to detect recursive invocations, it also makes it 
7738         impossible to call getcaps from multiple threads, which must be
7739         possible. So, checking for recursive calls has to go.
7740
7741 2005-11-11  Michael Smith <msmith@fluendo.com>
7742
7743         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7744           Don't sync on buffers that fall partially outside our current
7745           segment. Prevents an assertion failure/abort playing some files.
7746
7747 2005-11-10  Andy Wingo  <wingo@pobox.com>
7748
7749         * check/gst/gstbin.c (test_message_state_changed_children): Style
7750         fix..
7751
7752         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7753         gst_bus_poll with the signal watch. Ensures that poll and a signal
7754         watch see the same messages.
7755
7756         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7757         a poll and a watch at the same time get the same messages.
7758
7759 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7760
7761         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7762         * gst/gstcaps.c: (gst_caps_intersect):
7763           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7764           and it's not needed.
7765
7766 2005-11-10  Wim Taymans  <wim@fluendo.com>
7767
7768         * docs/design/part-TODO.txt:
7769         Updated todo.
7770
7771 2005-11-10  Wim Taymans  <wim@fluendo.com>
7772
7773         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7774         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7775         (gst_base_src_do_sync), (gst_base_src_get_range):
7776         Implement clock sync in base class.
7777
7778 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7779
7780         patch by: Tim-Philipp Müller <tim at centricular dot net>
7781
7782         * gst/gststructure.c: (gst_structure_parse_field),
7783         (gst_structure_from_string):
7784           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7785           so that gst_parse_launch() can deal with spaces in filtered link
7786           caps (fixes #164479)
7787         * check/gst/capslist.h:
7788         * check/gst/gststructure.c: (GST_START_TEST):
7789           add unit tests for this change
7790
7791 2005-11-10  Wim Taymans  <wim@fluendo.com>
7792
7793         * docs/gst/gstreamer-sections.txt:
7794         * gst/gstelement.c:
7795         * gst/gstelement.h:
7796         Fix docs, move some STATE macros to private.
7797
7798 2005-11-10  Wim Taymans  <wim@fluendo.com>
7799
7800         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7801         Added check for bug #317341
7802
7803         * gst/gstbuffer.c:
7804         * gst/gstbuffer.h:
7805         Some more spiffifying.
7806
7807         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7808         Call peer linkfunction if we are a source pad. Totally fixes
7809         #317341
7810
7811         * gst/gstpad.c:
7812         Update docs, source pads should call the peer linkfunction
7813         so they can atomically perform the pad link.
7814
7815 2005-11-09  Wim Taymans  <wim@fluendo.com>
7816
7817         * gst/gstbuffer.c:
7818         * gst/gstbuffer.h:
7819         Uber-spiffy-spiffify some more.
7820
7821 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7822
7823         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7824         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7825         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7826         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7827         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7828         * gst/gstpad.c: (gst_pad_init):
7829           Use GST_DEBUG_FUNCPTR() more extensively.
7830
7831 2005-11-09  Wim Taymans  <wim@fluendo.com>
7832
7833         * gst/gstobject.c: (gst_object_class_init):
7834         * gst/gstobject.h:
7835         Documentation fixes.
7836
7837 2005-11-09  Edward Hervey  <edward@fluendo.com>
7838
7839         * gst/gsttypefindfactory.c:
7840         Fix docs.
7841         
7842 2005-11-09  Edward Hervey  <edward@fluendo.com>
7843
7844         * gst/base/gsttypefindhelper.c:
7845         * gst/gsttypefind.c:
7846         * gst/gsttypefind.h:
7847         Fix docs.
7848
7849 2005-11-09  Wim Taymans  <wim@fluendo.com>
7850
7851         * gst/gstiterator.c:
7852         Fix revision data.
7853
7854         * gst/gsttask.c:
7855         * gst/gsttask.h:
7856         Fix docs.
7857
7858 2005-11-09  Wim Taymans  <wim@fluendo.com>
7859
7860         * gst/gstevent.h:
7861         * gst/gsturi.h:
7862         Fix docs.
7863
7864 2005-11-09  Wim Taymans  <wim@fluendo.com>
7865
7866         * docs/gst/gstreamer-sections.txt:
7867         Moved the message async delivery private lock and cond
7868         to the private section.
7869
7870         * gst/gstmessage.c:
7871         * gst/gstmessage.h:
7872         Fixed docs.
7873
7874 2005-11-09  Edward Hervey  <edward@fluendo.com>
7875
7876         * docs/gst/gstreamer-sections.txt:
7877         * gst/gsturi.c:
7878         * gst/gsturi.h:
7879         Document GstURIHandler
7880
7881 2005-11-09  Wim Taymans  <wim@fluendo.com>
7882
7883         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7884         (gst_iterator_find_custom):
7885         * gst/gstiterator.h:
7886         Fix iterator docs.
7887
7888 2005-11-09  Wim Taymans  <wim@fluendo.com>
7889
7890         * gst/gstbin.h:
7891         Document another field.
7892
7893         * gst/gststructure.c:
7894         * gst/gststructure.h:
7895         Document.
7896
7897 2005-11-09  Wim Taymans  <wim@fluendo.com>
7898
7899         * gst/gstbin.h:
7900         Documented structs.
7901
7902 2005-11-09  Wim Taymans  <wim@fluendo.com>
7903
7904         * docs/gst/gstreamer-sections.txt:
7905         Added some new macros.
7906
7907         * gst/gstclock.c:
7908         * gst/gstclock.h:
7909         * gst/gstobject.h:
7910         Docs updates.
7911
7912 2005-11-09  Wim Taymans  <wim@fluendo.com>
7913
7914         * docs/design/part-TODO.txt:
7915         Some more items for the TODO
7916
7917         * gst/gstcaps.c:
7918         * gst/gstcaps.h:
7919         Document GstCaps.
7920
7921 2005-11-09  Andy Wingo  <wingo@pobox.com>
7922
7923         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7924         to work on something else now tho...
7925
7926         * gst/base/gstadapter.c: More adapter docs.
7927
7928         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7929         (gst_file_sink_stop): New functions, replace the state change
7930         handler.
7931         (gst_file_sink_class_init): Hook up the start and stop functions.
7932         (gst_file_sink_base_init): Don't set the state change handler any
7933         more. It was a bit ugly too, being set from here...
7934         (gst_file_sink_get_property, gst_file_sink_set_property):
7935         Cleanups...
7936         (gst_file_sink_set_location): More robust check that doesn't call
7937         GST_STATE. Ugggggg.
7938
7939 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7940
7941         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7942           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7943
7944 2005-11-08  Wim Taymans  <wim@fluendo.com>
7945
7946         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7947         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7948         (gst_base_sink_chain), (gst_base_sink_change_state):
7949         * gst/base/gstbasesink.h:
7950         * gst/base/gstbasesrc.h:
7951         * gst/gstelement.h:
7952         * gst/gstevent.h:
7953         Avoid excessive typechecking in macros.
7954
7955         * gst/gstminiobject.c: (gst_mini_object_get_type),
7956         (gst_mini_object_init), (gst_mini_object_new),
7957         (gst_mini_object_free):
7958         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7959         (gst_object_finalize):
7960         Remove cruft code, optimize alloc_trace.
7961
7962 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7963
7964         * docs/faq/gst-uninstalled:
7965           fix up PS1 for systems that try to reset it
7966
7967 2005-11-07  Wim Taymans  <wim@fluendo.com>
7968
7969         * gst/base/gstbasesrc.c: (gst_base_src_init),
7970         (gst_base_src_get_range):
7971         Set the segment_end to -1 initially. Fixed typefind.
7972
7973 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7974
7975         * gst/base/gstadapter.c:
7976           Debug category should be 'adapter', not 'GstAdapter'.
7977           
7978         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7979         (gst_collectpads_class_init), (gst_collectpads_init),
7980         (gst_collectpads_peek), (gst_collectpads_pop),
7981         (gst_collectpads_event), (gst_collectpads_chain):
7982           Add debug category and some debugging output. Use boilerplate
7983           macros. Remove some extraneous words from docs.
7984
7985 2005-11-05  Andy Wingo  <wingo@pobox.com>
7986
7987         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7988         macro.
7989
7990 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7991
7992         * docs/gst/gstreamer-sections.txt:
7993         * gst/gstcaps.h:
7994         * gst/gstinfo.c:
7995         * gst/gstminiobject.h:
7996         * gst/gstobject.h:
7997         * gst/gstutils.h:
7998           more docs added
7999
8000 2005-11-04  Wim Taymans  <wim@fluendo.com>
8001
8002         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8003         Small update to stop at the configured segment_end
8004         position.
8005
8006 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8007
8008         * gst/gstregistry.c:
8009         * gst/gstregistry.h:
8010           added missing docs
8011
8012 2005-11-04  Edward Hervey  <edward@fluendo.com>
8013
8014         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8015         Check if we are doing a segment seek and have arrived at the
8016         end of that segment.
8017
8018 2005-11-04  Wim Taymans  <wim@fluendo.com>
8019
8020         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8021         Don't leak a mutex unlock in case of an error.
8022
8023         * gst/gstbus.h:
8024         Doc fixes.
8025
8026 2005-11-04  Wim Taymans  <wim@fluendo.com>
8027
8028         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8029         (gst_bus_post):
8030         Get the context to wake up only once.
8031
8032 2005-11-03  Wim Taymans  <wim@fluendo.com>
8033
8034         * check/states/sinks.c: (GST_START_TEST):
8035         Uncomment fixed check.
8036
8037         * docs/design/part-TODO.txt:
8038         Updated TODO.
8039
8040         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8041         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8042         (gst_base_sink_get_position):
8043         If we are going to PLAYING, post the right pending state
8044         when we post the intermediate paused message.
8045
8046         * gst/gstelement.c: (gst_element_continue_state),
8047         (gst_element_set_state_func), (gst_element_change_state):
8048         Don't post state changes that were between the same state
8049         and were not ASYNC.
8050
8051 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8052
8053         * docs/gst/gstreamer-sections.txt:
8054         * gst/gstcaps.h:
8055         * gst/gstinfo.c:
8056         * gst/gstminiobject.h:
8057         * gst/gstobject.h:
8058         * gst/gstutils.h:
8059           more docs and doc style fixes
8060
8061 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8062
8063         * docs/gst/gstreamer-sections.txt:
8064         * gst/gstelement.c:
8065         * gst/gstminiobject.c:
8066         doc fixes
8067
8068 2005-11-03  Andy Wingo  <wingo@pobox.com>
8069
8070         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8071         state-changed messages actually have the right order and the right
8072         values.
8073
8074 2005-11-03  Wim Taymans  <wim@fluendo.com>
8075
8076         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8077         Added some more checks. Specifically the case where NO_PREROLL
8078         elements are in the pipeline.
8079
8080         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8081         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8082         (gst_base_sink_get_position):
8083         Post READY->PAUSED state change messages too.
8084         Fix bug where VOID was posted as pending state...
8085
8086         * gst/gstbin.c: (gst_bin_recalc_state):
8087         use _element_continue_state() to continue the state change.
8088
8089         * gst/gstelement.c: (gst_element_continue_state),
8090         (gst_element_commit_state), (gst_element_set_state_func),
8091         (gst_element_change_state), (gst_element_change_state_func):
8092         Lots of state change cleanups, assign the STATE_RETURN in
8093         a new continue_state() function that also propagates the
8094         last return value from a state change to the app.
8095         Update some debug statements with proper category.
8096
8097 2005-11-03  Wim Taymans  <wim@fluendo.com>
8098
8099         * docs/design/part-events.txt:
8100         * docs/design/part-gstpipeline.txt:
8101         * docs/design/part-messages.txt:
8102         * docs/design/part-overview.txt:
8103         * docs/design/part-seeking.txt:
8104         * docs/design/part-states.txt:
8105         * docs/design/part-trickmodes.txt:
8106         * docs/manual/advanced-position.xml:
8107         Small docs updates.
8108
8109         * gst/gstobject.h:
8110         People think !! is ugly, this looks better.
8111
8112         * gst/gstpad.c: (gst_pad_set_blocked_async):
8113         Remove !! since it's fixed elsewhere now.
8114
8115 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8116
8117         * gst/gstminiobject.h:
8118         * gst/gstobject.h:
8119           Add !! to _FLAG_IS_SET macros to make the result boolean.
8120
8121 2005-11-03  Edward Hervey  <edward@fluendo.com>
8122
8123         * gst/gstpad.c: (gst_pad_set_blocked_async):
8124         comparing a flag and a gboolean rarely returns coherent results...
8125         Added two characters (!!) to make that work correctly.
8126         
8127 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8128
8129         * gst/gstbus.c: (gst_bus_class_init):
8130           Fix some typos.
8131           
8132         * gst/gstqueue.c: (gst_queue_loop):
8133           Don't assume a miniobject that isn't a buffer is an
8134           event (it could be that there is a refcounting
8135           problem somewhere and the pointer is stale and
8136           refers to an already destroyed miniobject).
8137
8138 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8139
8140         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8141
8142 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8143
8144         * docs/manual/advanced-position.xml:
8145           Update seek example and explanations to current 0.9 API.
8146
8147         * gst/elements/gsttypefindelement.c:
8148         (gst_type_find_element_activate):
8149           Remove FIXME comment now that the found caps
8150           are unreffed.
8151
8152 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8153
8154         * gst/gstregistryxml.c: (load_feature):
8155           Add another GST_STR_NULL instance
8156
8157 2005-11-02  Edward Hervey  <edward@fluendo.com>
8158
8159         * gst/gstpad.c: (handle_pad_block):
8160         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8161         
8162 2005-11-02  Wim Taymans  <wim@fluendo.com>
8163
8164         * gst/gstbin.c:
8165         Fix typo in docs.
8166
8167         * gst/gstelement.c: (gst_element_commit_state):
8168         Remove unused value.
8169
8170         * gst/gstiterator.c:
8171         Mention that the returned element is reffed in the docs.
8172
8173 2005-11-02  Wim Taymans  <wim@fluendo.com>
8174
8175         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8176         (gst_pad_push), (gst_pad_push_event):
8177         Unlock blocked pads when they are flushed.
8178
8179 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8180
8181         * docs/README:
8182         * docs/gst/gstreamer-sections.txt:
8183         * gst/gstbin.c:
8184           doc updates
8185         * gst/gstregistry.c: (gst_registry_scan_path_level):
8186           fix for a nasty little missed situation where an installed plug-in
8187           which was in the cache did not get overridden by an uninstalled one
8188           which was earlier in the plugin path because the newly created plugin
8189           for the uninstalled one (not in the registry) didn't get its
8190           ->registered set to TRUE
8191
8192 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8193
8194         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8195         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8196         (gst_collectpads_is_active), (gst_collectpads_collect),
8197         (gst_collectpads_collect_range), (gst_collectpads_start),
8198         (gst_collectpads_stop), (gst_collectpads_peek),
8199         (gst_collectpads_pop), (gst_collectpads_available),
8200         (gst_collectpads_read), (gst_collectpads_flush):
8201           Guard public API with assertions.
8202         
8203         * gst/gstpad.c:
8204           Fix docs for gst_pad_set_link_function().
8205
8206 2005-11-02  Johan Dahlin  <johan@gnome.org>
8207
8208         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8209         Unref found_caps after we used it.
8210
8211 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8212
8213         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8214           Don't try to ref NULL.
8215
8216 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8217
8218         * win32/common/config.h.in:
8219           provide a GST_FUNCTION that just gives a string for now
8220
8221 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8222
8223         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8224         (gst_object_flags_get_type), (register_gst_bin_flags),
8225         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8226         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8227         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8228         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8229         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8230         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8231         (gst_clock_flags_get_type), (register_gst_state),
8232         (gst_state_get_type), (register_gst_state_change_return),
8233         (gst_state_change_return_get_type), (register_gst_state_change),
8234         (gst_state_change_get_type), (register_gst_element_flags),
8235         (gst_element_flags_get_type), (register_gst_core_error),
8236         (gst_core_error_get_type), (register_gst_library_error),
8237         (gst_library_error_get_type), (register_gst_resource_error),
8238         (gst_resource_error_get_type), (register_gst_stream_error),
8239         (gst_stream_error_get_type), (register_gst_event_type),
8240         (gst_event_type_get_type), (register_gst_seek_type),
8241         (gst_seek_type_get_type), (register_gst_seek_flags),
8242         (gst_seek_flags_get_type), (register_gst_format),
8243         (gst_format_get_type), (register_gst_index_certainty),
8244         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8245         (gst_index_entry_type_get_type),
8246         (register_gst_index_lookup_method),
8247         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8248         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8249         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8250         (gst_index_flags_get_type), (register_gst_debug_level),
8251         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8252         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8253         (gst_iterator_result_get_type), (register_gst_iterator_item),
8254         (gst_iterator_item_get_type), (register_gst_message_type),
8255         (gst_message_type_get_type), (register_gst_mini_object_flags),
8256         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8257         (gst_pad_link_return_get_type), (register_gst_flow_return),
8258         (gst_flow_return_get_type), (register_gst_activate_mode),
8259         (gst_activate_mode_get_type), (register_gst_pad_direction),
8260         (gst_pad_direction_get_type), (register_gst_pad_flags),
8261         (gst_pad_flags_get_type), (register_gst_pad_presence),
8262         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8263         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8264         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8265         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8266         (gst_plugin_flags_get_type), (register_gst_rank),
8267         (gst_rank_get_type), (register_gst_query_type),
8268         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8269         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8270         (gst_tag_flag_get_type), (register_gst_task_state),
8271         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8272         (gst_alloc_trace_flags_get_type),
8273         (register_gst_type_find_probability),
8274         (gst_type_find_probability_get_type), (register_gst_uri_type),
8275         (gst_uri_type_get_type), (register_gst_parse_error),
8276         (gst_parse_error_get_type):
8277         * win32/common/gstversion.h:
8278           update win32 copies
8279
8280 2005-11-01  Luca Ognibene  <luogni@tin.it>
8281
8282         * gst/gst.c:
8283           fix docs. popt is dead, long live GOption.
8284
8285 2005-10-31  Wim Taymans  <wim@fluendo.com>
8286
8287         * gst/gstbuffer.h:
8288         Small doc fix.
8289
8290 2005-10-31  Andy Wingo  <wingo@pobox.com>
8291
8292         * Boo!
8293
8294         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8295
8296         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8297         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8298         the possibility of deadlocks here if code calling notify() or
8299         set() has a lock that can be taken in another notify handler (ABBA
8300         with class lock and e.g. python GIL state lock).
8301
8302 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8303
8304         * gst/gstbus.c: Doc updates.
8305
8306 2005-10-28  Wim Taymans  <wim@fluendo.com>
8307
8308         * docs/design/part-TODO.txt:
8309         * gst/gstiterator.c:
8310         * gst/gstsystemclock.c:
8311         * gst/gstsystemclock.h:
8312         Doc updates.
8313
8314 2005-10-28  Edward Hervey  <edward@fluendo.com>
8315
8316         * docs/gst/gstreamer-docs.sgml:
8317         * docs/gst/gstreamer-sections.txt:
8318         the GstURIType documentation page is private, it only defines GstURIType
8319         which should be defined in the GstURIHandler page
8320         
8321 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8322
8323         * gst/gstbin.c: (gst_bin_class_init):
8324         * gst/gstbin.h:
8325         * gst/gstutils.c:
8326         Documentation updates.
8327
8328 2005-10-28  Wim Taymans  <wim@fluendo.com>
8329
8330         * docs/gst/gstreamer-sections.txt:
8331         * gst/gstclock.c:
8332         * gst/gstclock.h:
8333         Documented the clocks.
8334
8335 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8336
8337         * docs/gst/gstreamer-sections.txt:
8338           move some macros to private sections
8339         * gst/gstminiobject.c:
8340         * gst/gstminiobject.h:
8341           add descriptions provided by ds and some more
8342         * gst/gstpad.h:
8343           mark macro as to be removed
8344
8345 2005-10-28  Wim Taymans  <wim@fluendo.com>
8346
8347         * docs/design/part-TODO.txt:
8348         Add an item to TODO.
8349
8350         * gst/gstiterator.c: (gst_iterator_fold),
8351         (gst_iterator_find_custom):
8352         * gst/gstiterator.h:
8353         Add iterator docs.
8354
8355 2005-10-28  Wim Taymans  <wim@fluendo.com>
8356
8357         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8358         (gst_base_transform_init):
8359         Don't leak class.
8360
8361         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8362         An EOS event marks the queue as completely filled.
8363
8364 2005-10-27  Wim Taymans  <wim@fluendo.com>
8365
8366         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8367         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8368         Some more debugging.
8369
8370         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8371         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8372         (gst_base_transform_event), (gst_base_transform_getrange),
8373         (gst_base_transform_chain):
8374         * gst/base/gstbasetransform.h:
8375         Fix debugging,
8376         Protect transform and concurrent buffer alloc with a new lock.
8377         Try not to break ABI/API.
8378
8379 2005-10-27  Wim Taymans  <wim@fluendo.com>
8380
8381         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8382         (gst_base_src_init), (gst_base_src_query),
8383         (gst_base_src_default_newsegment),
8384         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8385         (gst_base_src_send_event), (gst_base_src_event_handler),
8386         (gst_base_src_pad_get_range), (gst_base_src_loop),
8387         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8388         (gst_base_src_start), (gst_base_src_deactivate),
8389         (gst_base_src_activate_push), (gst_base_src_change_state):
8390         Move some stuff around and cleanup things.
8391
8392 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8393
8394         * gst/base/gstbasesrc.c: (gst_base_src_query):
8395           Add missing break statements.
8396
8397 2005-10-27  Wim Taymans  <wim@fluendo.com>
8398
8399         * check/gst/gstbin.c: (GST_START_TEST):
8400         An extra refcount is taken in basesrc.
8401
8402         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8403         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8404         (gst_base_src_loop):
8405         Small cleanups, check for flushing after being unlocked from the 
8406         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8407         Don't send out EOS when going to READY.
8408
8409 2005-10-27  Wim Taymans  <wim@fluendo.com>
8410
8411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8412         (gst_base_sink_get_position):
8413         Some more debug.
8414
8415         * gst/gstbin.c: (message_check), (bin_replace_message),
8416         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8417         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8418         (bin_query_duration_init), (bin_query_duration_fold),
8419         (bin_query_duration_done), (bin_query_generic_fold),
8420         (gst_bin_query):
8421         * tools/gst-launch.c: (main):
8422         Remove old option.
8423
8424 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8425
8426         * examples/controller/audio-example.c: (main):
8427         * examples/queue/queue.c: (event_loop):
8428         * gst/base/gstbasetransform.h:
8429         * gst/gstelement.c: (gst_element_send_event):
8430         * gst/gstevent.h:
8431         * gst/gstpad.c: (gst_pad_send_event):
8432           fixing examples
8433           fixing docs typos
8434           changing log priority in error situations
8435
8436 2005-10-25  Wim Taymans  <wim@fluendo.com>
8437
8438         * gst/gstbin.c: (message_check), (bin_replace_message),
8439         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8440         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8441         (bin_query_duration_init), (bin_query_duration_fold),
8442         (bin_query_duration_done), (bin_query_generic_fold),
8443         (gst_bin_query):
8444         Some doc and debug updates.
8445         Cache previously requested query DURATION for speed. invalidate
8446         cached duration if element posts a DURATION message.
8447
8448 2005-10-25  Wim Taymans  <wim@fluendo.com>
8449
8450         * docs/design/part-TODO.txt:
8451         Update TODO.
8452
8453         * gst/gstbin.c: (message_check), (bin_replace_message),
8454         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8455         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8456         (bin_query_duration_init), (bin_query_duration_fold),
8457         (bin_query_duration_done), (bin_query_generic_fold),
8458         (gst_bin_query):
8459         Handle SEGMENT_START/DONE messages correctly.
8460         More evolved query algorithm that handles duration queries
8461         correctly.
8462
8463         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8464         (gst_element_get_state_func), (gst_element_abort_state),
8465         (gst_element_commit_state), (gst_element_lost_state):
8466         Some more debugging.
8467
8468         * gst/gstmessage.h:
8469         Added doc.
8470
8471 2005-10-25  Wim Taymans  <wim@fluendo.com>
8472
8473         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8474         Don't use invalid stream_time.
8475
8476         * gst/gstevent.c: (gst_event_new_newsegment):
8477         stream_time in newsegment cannot be undefined.
8478
8479 2005-10-24  Wim Taymans  <wim@fluendo.com>
8480
8481         * gst/gstbus.c:
8482         Doc fix.
8483
8484         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8485         (gst_queue_loop):
8486         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8487
8488 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8489
8490         * docs/libs/tmpl/gstdparam.sgml:
8491         * docs/libs/tmpl/gstdplinint.sgml:
8492         * docs/libs/tmpl/gstdpman.sgml:
8493         * docs/libs/tmpl/gstdpsmooth.sgml:
8494         * docs/libs/tmpl/gstunitconvert.sgml:
8495           these are obsolete
8496
8497 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8498
8499         * configure.ac:
8500           back to HEAD
8501
8502 === release 0.9.4 ===
8503
8504 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * configure.ac:
8507           releasing 0.9.4, "Tyrannosaurus Rex"
8508
8509 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8510
8511         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8512         (gst_file_sink_get_current_offset):
8513           Use fseeko() and ftello() if available. When falling back on
8514           lseek() to get the current offset, fflush() first to make sure
8515           everything is up-to-date and we get the right offset.
8516
8517 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8518
8519         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8520         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8521         * gst/gsterror.c: (_gst_stream_errors_init):
8522         * gst/gsterror.h:
8523         * gst/gstqueue.c: (gst_queue_loop):
8524         * po/POTFILES.in:
8525           remove prematurely added error category and clean up the instances
8526
8527 2005-10-21  Wim Taymans  <wim@fluendo.com>
8528
8529         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8530         (gst_base_sink_get_position), (gst_base_sink_query),
8531         (gst_base_sink_change_state):
8532         Simply set the right flag when going to playing, that's all
8533         we need to do instead of calling a function inside the object
8534         lock (that could take the lock as well and deadlock)
8535
8536 2005-10-21  Wim Taymans  <wim@fluendo.com>
8537
8538         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8539         (gst_base_src_loop):
8540         Don't warn, the peer element knows what to do best when
8541         the seek failed, it might try something else.
8542
8543 2005-10-21  Wim Taymans  <wim@fluendo.com>
8544
8545         * gst/base/gstbasesrc.c: (gst_base_src_init),
8546         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8547         Fix seeking.
8548
8549 2005-10-21  Wim Taymans  <wim@fluendo.com>
8550
8551         * docs/design/part-segments.txt:
8552         More docs.
8553
8554         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8555         Correctly set caps, even on the subbufer.
8556
8557 2005-10-21  Wim Taymans  <wim@fluendo.com>
8558
8559         * docs/gst/gstreamer-docs.sgml:
8560         * docs/gst/gstreamer-sections.txt:
8561         * gst/gstelement.h:
8562         * gst/gstevent.c:
8563         * gst/gstevent.h:
8564         * gst/gstmessage.h:
8565         * gst/gstpad.h:
8566         * gst/gstparse.h:
8567         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8568         * gst/gsttask.h:
8569         * gst/gstutils.c:
8570         * gst/gstutils.h:
8571         And 2% more doc coverage.
8572
8573 2005-10-21  Andy Wingo  <wingo@pobox.com>
8574
8575         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8576         position reporting.
8577
8578 2005-10-20  Wim Taymans  <wim@fluendo.com>
8579
8580         * gst/gsterror.c: (gst_error_get_message):
8581         * gst/gstparse.h:
8582         * gst/gstquery.h:
8583         * gst/gststructure.c:
8584         * gst/gsttrace.c:
8585         * gst/gstutils.c:
8586         More docs.
8587
8588 2005-10-20  Wim Taymans  <wim@fluendo.com>
8589
8590         * gst/gstbuffer.h:
8591         * gst/gstpad.c:
8592         * gst/gstparse.c:
8593         Another 1% more coverage.
8594
8595 2005-10-20  Wim Taymans  <wim@fluendo.com>
8596
8597         * docs/gst/gstreamer-sections.txt:
8598         * gst/gstelement.c: (gst_element_get_state_func),
8599         (gst_element_abort_state), (gst_element_commit_state),
8600         (gst_element_lost_state):
8601         * gst/gstevent.h:
8602         * gst/gstquery.c: (gst_query_set_position),
8603         (gst_query_parse_position), (gst_query_set_duration),
8604         (gst_query_parse_duration), (gst_query_new_convert):
8605         * gst/gstutils.c:
8606         Yay! 1% more docs coverage.
8607
8608 2005-10-20  Wim Taymans  <wim@fluendo.com>
8609
8610         * gst/gstpad.h:
8611         * gst/gstquery.c: (gst_query_set_position),
8612         (gst_query_parse_position), (gst_query_set_duration),
8613         (gst_query_parse_duration), (gst_query_new_convert):
8614         * gst/gstquery.h:
8615         * gst/gstutils.c: (gst_element_query_convert):
8616         * gst/gstutils.h:
8617         Docs and consistency fixes.
8618
8619 2005-10-20  Wim Taymans  <wim@fluendo.com>
8620
8621         * gst/gsttask.c:
8622         * gst/gsttask.h:
8623         More docs.
8624
8625 2005-10-20  Wim Taymans  <wim@fluendo.com>
8626
8627         * gst/gstbin.c: (message_check), (bin_replace_message),
8628         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8629         (update_degree), (gst_bin_sort_iterator_next),
8630         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8631         Reworked the message handling a bit, cache the messages instead of
8632         only the senders. alows us to do more in the future.
8633
8634 2005-10-20  Wim Taymans  <wim@fluendo.com>
8635
8636         * docs/design/part-TODO.txt:
8637         Update TODO
8638
8639         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8640         (gst_base_sink_query):
8641         Don't use clock time to report position when in EOS.
8642
8643 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8644
8645         * tools/gst-inspect.c: (print_interfaces),
8646         (print_element_properties_info), (print_element_info):
8647           Fix interface output with gst-inspect -a; don't print
8648           newlines after double/float properties.
8649
8650 2005-10-20  Wim Taymans  <wim@fluendo.com>
8651
8652         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8653         (gst_base_sink_query):
8654         Speed up current position calculation.
8655
8656         * gst/base/gstbasesrc.c: (gst_base_src_query),
8657         (gst_base_src_default_newsegment):
8658         Correctly set stream position in newsegment.
8659
8660         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8661         (update_degree), (gst_bin_sort_iterator_next),
8662         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8663         * gst/gstmessage.c: (gst_message_new_custom):
8664         Clean up debugging info
8665
8666         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8667         (gst_queue_loop), (gst_queue_handle_src_query):
8668         Pause task faster.
8669
8670 2005-10-19  Wim Taymans  <wim@fluendo.com>
8671
8672         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8673         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8674         Fix query handling again.
8675
8676 2005-10-19  Wim Taymans  <wim@fluendo.com>
8677
8678         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8679         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8680         * gst/base/gstbasesrc.c: (gst_base_src_query):
8681         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8682         * gst/elements/gsttypefindelement.c:
8683         (gst_type_find_handle_src_query), (find_element_get_length),
8684         (gst_type_find_element_activate):
8685         API change fix.
8686
8687         * gst/gstquery.c: (gst_query_new_position),
8688         (gst_query_set_position), (gst_query_parse_position),
8689         (gst_query_new_duration), (gst_query_set_duration),
8690         (gst_query_parse_duration), (gst_query_set_segment),
8691         (gst_query_parse_segment):
8692         * gst/gstquery.h:
8693         Bundling query position/duration is not a good idea since duration
8694         does not change much and we don't want to recalculate it for every
8695         position query, so they are separated again..
8696         Base value in segment query is not needed.
8697
8698         * gst/gstqueue.c: (gst_queue_handle_src_query):
8699         * gst/gstutils.c: (gst_element_query_position),
8700         (gst_element_query_duration), (gst_pad_query_position),
8701         (gst_pad_query_duration):
8702         * gst/gstutils.h:
8703         Updates for query API change.
8704         Added some docs here and there.
8705
8706 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8707
8708         * check/gst/gstbin.c: (GST_START_TEST):
8709         * check/gst/gstghostpad.c: (GST_START_TEST):
8710         * check/pipelines/cleanup.c: (GST_START_TEST):
8711           wait on thread to die so we can check refcount correctly
8712
8713 2005-10-18  Wim Taymans  <wim@fluendo.com>
8714
8715         * check/pipelines/stress.c: (GST_START_TEST):
8716         Make check a little more time consuming.
8717
8718 2005-10-18  Wim Taymans  <wim@fluendo.com>
8719
8720         * check/Makefile.am:
8721         * check/pipelines/stress.c: (GST_START_TEST),
8722         (simple_launch_lines_suite), (main):
8723         Small state change torture test.
8724
8725         * docs/design/part-states.txt:
8726         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8727         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8728         (gst_base_sink_change_state):
8729         Never take state lock from streaming thread, clean up ugly
8730         hacks. Unfortunatly core does not yet support nice ways to
8731         async commit state.
8732         
8733         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8734         (bin_bus_handler):
8735         Start state recalc if a STATE_DIRTY message is posted, but only
8736         on the toplevel bin.
8737
8738         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8739         (gst_element_get_state_func), (gst_element_abort_state),
8740         (gst_element_commit_state), (gst_element_lost_state),
8741         (gst_element_set_state_func), (gst_element_change_state):
8742         * gst/gstelement.h:
8743         State variables are now protected with the LOCK, the state
8744         lock is only used to serialize _set_state().
8745
8746 2005-10-18  Wim Taymans  <wim@fluendo.com>
8747
8748         * check/gst/gstbin.c: (GST_START_TEST):
8749         * check/gst/gstmessage.c: (GST_START_TEST):
8750         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8751         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8752         (bin_bus_handler):
8753         * gst/gstelement.c: (gst_element_abort_state),
8754         (gst_element_commit_state), (gst_element_lost_state):
8755         * gst/gstmessage.c: (gst_message_new_state_changed),
8756         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8757         (gst_message_new_segment_done), (gst_message_new_duration),
8758         (gst_message_parse_state_changed),
8759         (gst_message_parse_segment_start),
8760         (gst_message_parse_segment_done), (gst_message_parse_duration):
8761         * gst/gstmessage.h:
8762         * tools/gst-launch.c: (event_loop):
8763         Seriously, this is better than a previous commit as we only need
8764         to notify the fact that an element changed state in a streaming
8765         thread, marking the state of the parents dirty, hence the 
8766         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8767         message.
8768
8769 2005-10-18  Wim Taymans  <wim@fluendo.com>
8770
8771         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8772         (gst_bin_recalc_func):
8773         * gst/gstelement.c: (gst_element_set_clock),
8774         (gst_element_abort_state), (gst_element_lost_state):
8775         Cleanups, prepare for state change fixes.
8776
8777 2005-10-18  Wim Taymans  <wim@fluendo.com>
8778
8779         * gst/gstbin.h:
8780         * gst/gstelement.c: (gst_element_class_init),
8781         (gst_element_set_state), (gst_element_set_state_func):
8782         * gst/gstelement.h:
8783         Pending ABI changes.
8784         GThreadPool in GstBinClass to monitor async state changes.
8785         state_cookie in GstElement to detect concurrent gst/set state.
8786         set_state is now virtual too in case a very complicated element
8787         has to be constructed.
8788
8789 2005-10-18  Wim Taymans  <wim@fluendo.com>
8790
8791         * check/gst/gstbin.c: (GST_START_TEST):
8792         * check/gst/gstmessage.c: (GST_START_TEST):
8793         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8794         * gst/gstbin.c: (bin_bus_handler):
8795         * gst/gstelement.c: (gst_element_commit_state),
8796         (gst_element_lost_state):
8797         * gst/gstmessage.c: (gst_message_new_state_changed),
8798         (gst_message_new_segment_start), (gst_message_new_segment_done),
8799         (gst_message_new_duration), (gst_message_parse_state_changed),
8800         (gst_message_parse_segment_start),
8801         (gst_message_parse_segment_done), (gst_message_parse_duration):
8802         * gst/gstmessage.h:
8803         * tools/gst-launch.c: (event_loop):
8804         Make messages future proof.
8805         state-change gets a flag if it was a message comming from the
8806         streaming thread.
8807         segment-start/stop can also be specified in other formats.
8808         A message to notify an app that a pipeline changed playback 
8809         duration.
8810         Also fix a GstMessage leak in -launch
8811
8812 2005-10-18  Andy Wingo  <wingo@pobox.com>
8813
8814         * gst/gstelement.c (gst_element_dispose): More helpful message.
8815
8816 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8817
8818         reviewed by: <delete if not using a buddy>
8819
8820         * common/gtk-doc.mak:
8821
8822 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8823
8824         * gst/gstregistry.c: (gst_registry_scan_path_level):
8825           unref a plug-in we get that was already initialized
8826
8827 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8828
8829         * docs/gst/gstreamer-sections.txt:
8830         * docs/libs/gstreamer-libs-sections.txt:
8831         * gst/gstelement.h:
8832           add new api entries
8833           hide internal macro
8834
8835 2005-10-17  Andy Wingo  <wingo@pobox.com>
8836
8837         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8838         cleanup.
8839
8840         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8841
8842         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8843
8844         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8845         (gst_element_get_state_func): Better debug message.
8846         (gst_element_commit_state): s/INFO/DEBUG/.
8847         (gst_element_lost_state, gst_element_change_state): 
8848
8849         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8850         (gst_message_new_custom): s/INFO/LOG/.
8851
8852 2005-10-17  Michael Smith <msmith@fluendo.com>
8853
8854         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8855           Check if end time is valid using end time, not start time.
8856
8857 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8858
8859         * check/gst-libs/controller.c: (GST_START_TEST),
8860         (gst_controller_suite):
8861         * libs/gst/controller/gstcontroller.c:
8862         (gst_controlled_property_set_interpolation_mode):
8863         * libs/gst/controller/gstcontroller.h:
8864         * libs/gst/controller/gstinterpolation.c:
8865         * testsuite/controller/.cvsignore:
8866         * testsuite/controller/Makefile.am:
8867         * testsuite/controller/interpolator.c:
8868           merge controller testsuites
8869           fix broken tests
8870           remove mem-chunk from docs
8871
8872 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8873
8874         * gst/gstmemchunk.c:
8875         * gst/gstmemchunk.h:
8876         * gst/gsttrashstack.c:
8877         * gst/gsttrashstack.h:
8878           out.  get out.  you're fired.  to the Attic !
8879
8880 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8881
8882         * gst/gstcaps.c: (gst_caps_intersect):
8883           fix signedness issues in a (hopefully) correct way
8884         * gst/gstelement.c: (gst_element_pads_activate):
8885           some debugging
8886         * gst/gstobject.c: (gst_object_set_parent):
8887           some debugging
8888
8889 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8890
8891         * gst/gstvalue.h: Fix prototypes.
8892
8893 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8894
8895         * docs/gst/gstreamer-sections.txt:
8896         * gst/gst.c: (gst_version_string):
8897         * gst/gst.h:
8898         * gst/gstversion.h.in:
8899         * win32/common/libgstreamer.def:
8900           add gst_version_string ()
8901
8902 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8903
8904         * configure.ac:
8905           clean up further
8906         * gst/gst.c: (init_post):
8907         * win32/common/config.h.in:
8908           it's PLUGINDIR now
8909         * gst/gstcaps.c: (gst_caps_intersect):
8910           use gint64, the range could be bigger than a guint
8911
8912 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8913
8914         * gst/gstclock.h:
8915           document potential problem in 2038
8916
8917 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8918
8919         * gst/gstcaps.c: (gst_caps_intersect):
8920           Fix guint j diving under 0
8921
8922 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8923
8924         * configure.ac:
8925         * win32/common/config.h:
8926         * win32/common/config.h.in:
8927           check for process.h, declares getpid() on Windows
8928         * gst/gstinfo.c:
8929           include process.h if we have it
8930         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8931         * gst/gstmemchunk.h:
8932           fix signedness issues
8933         * win32/common/libgstreamer.def:
8934           fix get_type's
8935
8936 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8937
8938         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8939         fix. Because of unsigned ints, caps intersection was going nuts and
8940         trying to access structures with G_MAXUINT index. That fixes
8941         videotestsrc ! ffmpegcolorspace ! fakesink
8942         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8943         consistency.
8944
8945 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8946
8947         * configure.ac:
8948           use the gettext macro
8949         * gst/elements/gstelements.c:
8950         * gst/gst.c:
8951         * gst/indexers/gstindexers.c:
8952           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8953         * win32/common/config.h:
8954           updated config.h
8955         * win32/common/config.h.in:
8956           add the template to generate config.h
8957         * win32/common/gstenumtypes.c:
8958         * win32/common/gstversion.h:
8959           updated copies
8960
8961 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8962
8963         * gst/gst.c: (gst_version):
8964         * gst/gstversion.h.in:
8965           add the nano
8966
8967 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8968
8969         * gst/gstevent.h:
8970           Oops, add missing closing bracket.
8971
8972 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8973
8974         * configure.ac:
8975           use common m4's for argument checking
8976
8977 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8978
8979         * docs/gst/gstreamer-sections.txt:
8980         * gst/gstevent.h:
8981           Add GST_EVENT_TYPE_NAME() macro.
8982
8983 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8984
8985         * gst/gstinfo.c:
8986         * gst/gstpluginfeature.c:
8987         * gst/gsttask.c:
8988           privatize more symbols
8989
8990 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8991
8992         * configure.ac:
8993           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8994           everything that uses GStreamer API should have the includes
8995
8996 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8997
8998         * docs/gst/gstreamer-sections.txt:
8999         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9000         * gst/gstvalue.h:
9001           give each value a _get_type, removes the DATA exports
9002
9003 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9004
9005         * gst/gst.c:
9006         * gst/gst.h:
9007           remove _gst_registry_auto_load, not used anymore
9008         * gst/gstbin.c: (gst_bin_get_type):
9009         * gst/gstbin.h:
9010         * gst/gstelement.c: (gst_element_get_type):
9011         * gst/gstelement.h:
9012         * gst/gstobject.c: (gst_object_get_type):
9013         * gst/gstobject.h:
9014         * gst/gstpad.c: (gst_pad_get_type):
9015         * gst/gstpad.h:
9016           make _get_type functions similar, fixes data export from library
9017
9018 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9019
9020         * configure.ac:
9021           correctly make conditionals
9022         * gst/elements/Makefile.am:
9023         * gst/elements/gstelements.c:
9024           fix typo causing fdsrc not to build
9025
9026 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9027
9028         * testsuite/Makefile.am:
9029         * testsuite/bytestream/.cvsignore:
9030         * testsuite/bytestream/Makefile.am:
9031         * testsuite/bytestream/filepadsink.c:
9032         * testsuite/bytestream/gstbstest.c:
9033         * testsuite/bytestream/test1.c:
9034         * testsuite/bytestream/testfile1:
9035         * testsuite/caps/normalisation.c:
9036         * testsuite/caps/random.c: (main):
9037         * testsuite/cleanup/.cvsignore:
9038         * testsuite/cleanup/Makefile.am:
9039         * testsuite/cleanup/cleanup1.c:
9040         * testsuite/cleanup/cleanup2.c:
9041         * testsuite/cleanup/cleanup3.c:
9042         * testsuite/cleanup/cleanup4.c:
9043         * testsuite/cleanup/cleanup5.c:
9044         * testsuite/controller/interpolator.c:
9045         * testsuite/debug/printf_extension.c: (main):
9046         * testsuite/elements/tee.c:
9047         * testsuite/negotiation/.cvsignore:
9048         * testsuite/negotiation/Makefile.am:
9049         * testsuite/negotiation/pad_link.c:
9050         * testsuite/pad/Makefile.am:
9051         * testsuite/pad/chainnopull.c:
9052         * testsuite/pad/getnopush.c:
9053         * testsuite/pad/link.c:
9054         * testsuite/refcounting/sched.c: (create_pipeline):
9055         * testsuite/registry/Makefile.am:
9056         * testsuite/registry/gst-print-formats.c:
9057         * testsuite/schedulers/.cvsignore:
9058         * testsuite/schedulers/142183-2.c:
9059         * testsuite/schedulers/142183.c:
9060         * testsuite/schedulers/143777-2.c:
9061         * testsuite/schedulers/143777.c:
9062         * testsuite/schedulers/147713.c:
9063         * testsuite/schedulers/147819.c:
9064         * testsuite/schedulers/147894-2.c:
9065         * testsuite/schedulers/147894.c:
9066         * testsuite/schedulers/Makefile.am:
9067         * testsuite/schedulers/group_link.c:
9068         * testsuite/schedulers/queue_link.c:
9069         * testsuite/schedulers/relink.c:
9070         * testsuite/schedulers/unlink.c:
9071         * testsuite/schedulers/unref.c:
9072         * testsuite/schedulers/useless_iteration.c:
9073         * testsuite/states/bin.c:
9074           clean out/remove some stuff from the testsuite directories
9075
9076 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9077
9078         * configure.ac:
9079           check for some headers
9080         * gst/elements/Makefile.am:
9081         * gst/elements/gstelements.c:
9082           don't compile fdsrc without sys/socket.h
9083         * gst/indexers/Makefile.am:
9084         * gst/indexers/gstindexers.c: (plugin_init):
9085           don't compile fileindex without mmap
9086
9087 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9088
9089         * configure.ac:
9090           reorganize
9091           clean up
9092           document more
9093           remove cruft
9094         * check/Makefile.am:
9095         * docs/gst/Makefile.am:
9096         * examples/helloworld/Makefile.am:
9097         * gst/Makefile.am:
9098         * gst/base/Makefile.am:
9099         * gst/check/Makefile.am:
9100         * gst/elements/Makefile.am:
9101         * gst/indexers/Makefile.am:
9102         * gst/parse/Makefile.am:
9103         * libs/gst/controller/Makefile.am:
9104         * libs/gst/dataprotocol/Makefile.am:
9105         * examples/helloworld/helloworld.c: (event_loop):
9106           compile fixes, though it's not being compiled currently
9107
9108 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9109
9110         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9111           Add some simple tests for the new taglist date API.
9112
9113 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9114
9115         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9116         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9117           Beautify 'last-message' output: print 'none' for buffer timestamps
9118           and durations if none is set; improve alignment with next messages.
9119
9120 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9121
9122         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9123         * gst/gstpluginfeature.h:
9124         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9125         * gst/gstregistry.h:
9126         * docs/gst/gstreamer-sections.txt:
9127           Add new API to check plugin feature version requirements.
9128
9129         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9130           Some basic tests for the above.         
9131
9132 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9133
9134         * gst/gststructure.c: (gst_structure_to_string):
9135           guard against NULL printf - happens when for example
9136           a message structure with GstClock gets serialized
9137
9138 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9139
9140         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9141           Fix presumable copy'n'pasto.
9142
9143 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9144
9145         * gst/elements/gstfakesrc.h:
9146         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9147         * gst/elements/gsttypefindelement.c:
9148           fix some signedness
9149         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9150           I wonder if this could actually write +2GB files before
9151
9152 2005-10-13  Andy Wingo  <wingo@pobox.com>
9153
9154         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9155         Fix Timmeke Waymans bug.
9156         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9157         string of the proper length to gst_caps_from_string. There's a
9158         potential for, before this fix, that this could cause someone
9159         connecting over the network to cause a segfault if the payload is
9160         not NUL-terminated.
9161
9162 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9163
9164         * docs/design/draft-push-pull.txt:
9165         * docs/design/part-overview.txt:
9166         * docs/random/TODO-pre-0.9:
9167         * docs/random/old/ChangeLog.gstreamer:
9168         * gst/base/gstpushsrc.c:
9169         * gst/gstclock.c:
9170           fixed typos
9171
9172 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9173
9174         * gst/glib-compat.c: (gst_flags_get_first_value):
9175         * gst/glib-compat.h:
9176         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9177         (gst_value_compare_double), (gst_value_serialize_flags):
9178           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9179           infinite loop
9180
9181 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9182
9183         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9184         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9185           fix up debugging
9186         * tools/gst-launch.c: (event_loop):
9187           print out clock nicely
9188
9189 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9190
9191         * docs/gst/gstreamer-sections.txt:
9192         * gst/gsttaglist.h:
9193         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9194         (gst_tag_list_get_date_index):
9195           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9196           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9197
9198 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9199
9200         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9201         (gst_collectpads_chain):
9202         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9203         in CollectData.
9204
9205 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9206
9207         * docs/gst/gstreamer-sections.txt:
9208         * gst/gst.c:
9209         * gst/gsterror.h:
9210         * tools/gst-inspect.c: (main):
9211         * tools/gst-launch.c: (main):
9212         * tools/gst-run.c: (main):
9213         * tools/gst-xmlinspect.c: (main):
9214           fix GOption context leaks
9215           doc fixes
9216
9217 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9218
9219         * gst/gstbus.c:
9220           use HAVE_UNISTD_H
9221         * win32/common/config.h:
9222           update config
9223         * win32/vs6/grammar.dsp:
9224         * win32/vs6/libgstelements.dsp:
9225         * win32/vs6/libgstreamer.dsp:
9226           update vs6 files
9227
9228 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9229
9230         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9231         * gst/base/gstbasesrc.c: (gst_base_src_query):
9232           fix more guint64<->gdouble conversions
9233
9234 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9235
9236         * Makefile.am:
9237           add win32-update target
9238         * win32/common/gstconfig.h:
9239         * win32/common/gstenumtypes.c:
9240         * win32/common/gstenumtypes.h:
9241         * win32/common/gstversion.h:
9242           add files that visual studio can't generate
9243
9244 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9245
9246         * Makefile.am:
9247           add a win32-update target
9248         * configure.ac:
9249
9250 2005-10-12  Wim Taymans  <wim@fluendo.com>
9251
9252         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9253         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9254         * gst/gstelement.c: (gst_element_commit_state),
9255         (gst_element_set_state):
9256         Protect flags with proper lock.
9257         unref provided cached clock in dispose.
9258
9259 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9260
9261         * gst/gst.c:
9262         * gst/gstminiobject.h:
9263         * gst/gstpad.h:
9264         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9265           removed unused flags from miniobject
9266           doc fixes
9267
9268 2005-10-12  Wim Taymans  <wim@fluendo.com>
9269
9270         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9271         (gst_file_sink_event), (gst_file_sink_render):
9272         Flush before seeking.
9273
9274 2005-10-12  Andy Wingo  <wingo@pobox.com>
9275
9276         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9277         always been the case.
9278
9279 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9280
9281         * check/gst/gstbin.c: (GST_START_TEST):
9282         * docs/gst/gstreamer-sections.txt:
9283         * gst/base/gstbasesink.c: (gst_base_sink_init):
9284         * gst/base/gstbasesrc.c: (gst_base_src_init),
9285         (gst_base_src_get_range), (gst_base_src_check_get_range),
9286         (gst_base_src_start), (gst_base_src_stop):
9287         * gst/base/gstbasesrc.h:
9288         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9289         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9290         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9291         (bin_bus_handler):
9292         * gst/gstbin.h:
9293         * gst/gstbuffer.h:
9294         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9295         * gst/gstbus.h:
9296         * gst/gstelement.c: (gst_element_is_locked_state),
9297         (gst_element_set_locked_state), (gst_element_commit_state),
9298         (gst_element_set_state):
9299         * gst/gstelement.h:
9300         * gst/gstindex.c: (gst_index_init):
9301         * gst/gstindex.h:
9302         * gst/gstminiobject.h:
9303         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9304         (gst_object_set_parent):
9305         * gst/gstobject.h:
9306         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9307         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9308         * gst/gstpad.h:
9309         * gst/gstpadtemplate.h:
9310         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9311         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9312         * gst/gstpipeline.h:
9313         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9314         (gst_file_index_commit):
9315         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9316         * testsuite/pad/link.c: (gst_test_src_init),
9317         (gst_test_filter_init), (gst_test_sink_init):
9318         * testsuite/states/locked.c: (main):
9319           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9320           moved bitshift from macro to enum definition
9321
9322 2005-10-12  Wim Taymans  <wim@fluendo.com>
9323
9324         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9325         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9326         (gst_file_sink_render):
9327         Some more debugging info.
9328
9329 2005-10-12  Wim Taymans  <wim@fluendo.com>
9330
9331         * docs/design/part-states.txt:
9332         * tools/gst-launch.c: (main):
9333         Some doc updates.
9334         Revert non-intentional change.
9335
9336 2005-10-12  Wim Taymans  <wim@fluendo.com>
9337
9338         * check/gst/gstbin.c: (GST_START_TEST):
9339         * check/gst/gstelement.c: (GST_START_TEST):
9340         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9341         * check/gst/gstghostpad.c: (GST_START_TEST):
9342         * check/gst/gstpipeline.c: (GST_START_TEST):
9343         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9344         * check/states/sinks.c: (GST_START_TEST):
9345         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9346         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9347         (gst_bin_remove_func), (gst_bin_get_state_func),
9348         (gst_bin_recalc_state), (gst_bin_change_state_func),
9349         (bin_bus_handler):
9350         * gst/gstelement.c: (gst_element_get_state_func),
9351         (gst_element_get_state), (gst_element_abort_state),
9352         (gst_element_commit_state), (gst_element_set_state),
9353         (gst_element_change_state), (gst_element_change_state_func):
9354         * gst/gstelement.h:
9355         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9356         (gst_pipeline_provide_clock_func):
9357         * gst/gstutils.c: (gst_element_link_pads_filtered):
9358         * tools/gst-launch.c: (main):
9359         * tools/gst-typefind.c: (main):
9360         Use GstClockTime in _get_state() instead of GTimeVal.
9361         Remove old code in gstutils.c
9362
9363 2005-10-12  Andy Wingo  <wingo@pobox.com>
9364
9365         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9366         removed.
9367
9368         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9369         there is no task. Shouldn't affect any code, as nothing in our
9370         plugins checks this return value.
9371         (gst_pad_stop_task): Also take the stream lock if the pad has no
9372         task. Docs updated.
9373
9374 2005-10-12  Wim Taymans  <wim@fluendo.com>
9375
9376         * gst/gstpad.c: (pre_activate), (post_activate),
9377         (gst_pad_activate_pull), (gst_pad_activate_push):
9378         Cleanup activation code. Reset old state if
9379         activation failed.
9380
9381 2005-10-12  Wim Taymans  <wim@fluendo.com>
9382
9383         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9384         (gst_base_sink_change_state):
9385         No need to prerol after receiving EOS.
9386
9387         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9388         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9389         * gst/elements/gstidentity.c: (gst_identity_event):
9390         Print events more verbosely.
9391
9392 2005-10-12  Wim Taymans  <wim@fluendo.com>
9393
9394         * check/Makefile.am:
9395         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9396         * check/states/sinks2.c:
9397         Moved sinks2 testcode in sinks check.
9398
9399         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9400         (gst_bin_remove_func), (gst_bin_recalc_state),
9401         (gst_bin_change_state_func), (bin_bus_handler):
9402         Fix potential race condition when _get_state() iterated over an
9403         ASYNC element right before it posted a state completion.
9404
9405         * gst/gstclock.h:
9406         Do proper cast here.
9407
9408         * gst/gstevent.c: (gst_event_new_newsegment),
9409         (gst_event_parse_newsegment):
9410         A playback rate of 0.0 is not allowed.
9411
9412 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9413
9414         * win32/common/config.h:
9415         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9416         (_trewinddir), (_ttelldir), (_tseekdir):
9417         * win32/common/dirent.h:
9418         * win32/common/gtchar.h:
9419         * win32/common/libgstbase.def:
9420         * win32/common/libgstreamer.def:
9421         * win32/vs6/grammar.dsp:
9422         * win32/vs6/gst_inspect.dsp:
9423         * win32/vs6/gst_launch.dsp:
9424         * win32/vs6/gstreamer.dsw:
9425         * win32/vs6/libgstbase.dsp:
9426         * win32/vs6/libgstelements.dsp:
9427         * win32/vs6/libgstreamer.dsp:
9428           Visual Studio 6 project files, and a new common directory.
9429           Phear.
9430
9431 2005-10-11  Wim Taymans  <wim@fluendo.com>
9432
9433         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9434         (gst_base_sink_do_sync), (gst_base_sink_query),
9435         (gst_base_sink_change_state):
9436         * gst/base/gstbasesink.h:
9437         Correctly parse newsegment info.
9438
9439 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9440
9441         * gst/gst.c: (init_post):
9442           split plugin paths correctly
9443
9444 2005-10-11  Wim Taymans  <wim@fluendo.com>
9445
9446         * check/gst/gstevent.c: (GST_START_TEST):
9447         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9448         (gst_base_sink_change_state):
9449         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9450         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9451         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9452         * gst/gstevent.c: (gst_event_new_newsegment),
9453         (gst_event_parse_newsegment):
9454         * gst/gstevent.h:
9455         Added extra flag to newsegment for future API freeze.
9456         Updated check and base elements.
9457
9458 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9459
9460         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9461         (gst_collectpads_add_pad), (gst_collectpads_pop),
9462         (gst_collectpads_event), (gst_collectpads_chain):
9463         * gst/base/gstcollectpads.h: Handle EOS correctly.
9464
9465 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9466
9467         * tools/gst-launch.c: (main):
9468           more null protecting
9469
9470 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9471
9472         * gst/gst-i18n-lib.h:
9473           check for ENABLE_NLS, not GETTEXT_PACKAGE
9474         * gst/gstregistry.c: (gst_registry_add_plugin),
9475         (gst_registry_scan_path_level),
9476         (_gst_registry_remove_cache_plugins):
9477           protect possibly NULL strings
9478         * gst/parse/types.h:
9479           config.h already included before
9480         * tools/gst-inspect.c: (main):
9481           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9482           check for ENABLE_NLS, not GETTEXT_PACKAGE
9483         * tools/gst-launch.c: (main):
9484           check for ENABLE_NLS, not GETTEXT_PACKAGE
9485
9486 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9487
9488         * configure.ac:
9489           if we don't have glib, fail before testing 2.8
9490         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9491           fix a leak, should fix plugins-base testsuite
9492
9493 2005-10-11  Andy Wingo  <wingo@pobox.com>
9494
9495         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9496         take the mode we're going to as an arg. Go head and set the mode
9497         and flushing flags now, so that if the activate function starts a
9498         thread all the flags will be in the right state.
9499         (post_activate): Renamed also. Just handle making sure streaming
9500         finishes for the deactivation case, and setting the deactivated
9501         mode.
9502         (gst_pad_set_active): Complain loudly if deactivation fails.
9503         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9504         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9505         remove the terrible hack.
9506
9507 2005-10-11  Wim Taymans  <wim@fluendo.com>
9508
9509         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9510         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9511         (gst_bin_recalc_state), (gst_bin_change_state_func),
9512         (gst_bin_dispose), (bin_bus_handler):
9513         * gst/gstbin.h:
9514         Prepare to make current EOS message queue more generic.
9515         Fix some typos.
9516
9517         * gst/gstevent.c: (gst_event_new_newsegment),
9518         (gst_event_parse_newsegment):
9519         * gst/gstevent.h:
9520         Rename base to stream_time.
9521
9522         * gst/gstmessage.h:
9523         Fix typo in docs.
9524
9525 2005-10-11  Wim Taymans  <wim@fluendo.com>
9526
9527         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9528         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9529         (gst_bin_change_state_func), (bin_bus_handler):
9530         * gst/gstbin.h:
9531         Work on proper clock selection.
9532
9533 2005-10-11  Edward Hervey  <edward@fluendo.com>
9534
9535         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9536         * libs/gst/controller/gstcontroller.h:
9537         Added GList* version of _remove_properties() in order to be able to wrap
9538         it in bindings.
9539
9540 2005-10-11  Wim Taymans  <wim@fluendo.com>
9541
9542         * docs/design/part-states.txt:
9543         Some more docs.
9544
9545         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9546         (gst_bin_change_state_func), (bin_bus_handler):
9547         Doc updates. Don't distribute the same clock over and over again.
9548
9549         * gst/gstclock.c:
9550         * gst/gstclock.h:
9551         Doc updates.
9552
9553         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9554         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9555         (gst_pad_send_event):
9556         * gst/gstpad.h:
9557         Make probe emission threadsafe again.
9558         Register quarks and move _get_name() from utils.
9559         Doc updates.
9560
9561         * gst/gstpipeline.c: (gst_pipeline_class_init),
9562         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9563         Only redistribute the clock of it changed.
9564
9565         * gst/gstsystemclock.h:
9566         Doc updates. 
9567
9568         * gst/gstutils.c:
9569         * gst/gstutils.h:
9570         Moved the _flow_get_name() to GstPad.
9571
9572 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9573
9574         * check/gst-libs/gdp.c: (GST_START_TEST):
9575         * check/gst/gstcaps.c: (GST_START_TEST):
9576         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9577         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9578         (gst_dp_packet_from_caps):
9579           fix more valgrind warnings before turning up the heat
9580
9581 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9582
9583         * gst/parse/grammar.y:
9584           some cleanup before the hacking
9585
9586 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9587
9588         * gst/base/gstbasesrc.c: (gst_base_src_query):
9589           use conversions
9590         * gst/gstutils.c: (gst_guint64_to_gdouble),
9591         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9592         * gst/gstutils.h:
9593           externalize, basesrc uses it
9594           obviously the implementation needs testing
9595
9596 2005-10-10  Wim Taymans  <wim@fluendo.com>
9597
9598         * tests/sched/Makefile.am:
9599         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9600         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9601
9602 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9603
9604         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9605           apparently converting from guint64 to double is not implemented
9606           on MSVC
9607
9608 2005-10-10  Wim Taymans  <wim@fluendo.com>
9609
9610         * check/Makefile.am:
9611         * check/generic/states.c: (GST_START_TEST):
9612         * check/gst/gstbin.c: (GST_START_TEST):
9613         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9614         * check/states/sinks.c: (GST_START_TEST):
9615         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9616         (main):
9617         Check fixes, use API as stated in design docs, remove hacks.
9618
9619         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9620         (gst_base_sink_change_state):
9621         Catch stopping our task while we're shutting down.
9622
9623         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9624         (gst_bin_remove_func), (gst_bin_get_state_func),
9625         (gst_bin_recalc_state), (gst_bin_change_state_func),
9626         (bin_bus_handler):
9627         * gst/gstbin.h:
9628         * gst/gstelement.c: (gst_element_init),
9629         (gst_element_get_state_func), (gst_element_abort_state),
9630         (gst_element_commit_state), (gst_element_lost_state),
9631         (gst_element_set_state), (gst_element_change_state),
9632         (gst_element_change_state_func):
9633         * gst/gstelement.h:
9634         New state change algorithm (see #318116)
9635
9636         * gst/gstpipeline.c: (gst_pipeline_class_init),
9637         (gst_pipeline_init), (gst_pipeline_set_property),
9638         (gst_pipeline_get_property), (do_pipeline_seek),
9639         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9640         * gst/gstpipeline.h:
9641         Remove crude state change hacks.
9642
9643         * gst/gstutils.h:
9644         Remove crude hacks.
9645
9646         * tools/gst-launch.c: (main):
9647         Fixes for state change. Needs some more work to fully use the
9648         new stuff.
9649
9650 2005-10-10  Andy Wingo  <wingo@pobox.com>
9651
9652         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9653
9654         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9655         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9656         issue.
9657
9658 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9659
9660         * gst/gstiterator.c: (gst_iterator_new):
9661           Fix my previous commit: GTypes passed to gst_iterator_new()
9662           can be fundamental types.
9663
9664 2005-10-10  Wim Taymans  <wim@fluendo.com>
9665
9666         * gst/gstelement.c: (gst_element_iterate_pad_list),
9667         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9668         (gst_element_iterate_sink_pads):
9669         Use src/sink pads lists for the respective iterators instead
9670         of filtering.
9671
9672 2005-10-10  Andy Wingo  <wingo@pobox.com>
9673
9674         Merged in popt removal + GOption addition patch from Ronald, bug
9675         #169772.
9676
9677         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9678         GstElement macros around, remove popt-related symbols, add goption
9679         stuff.
9680
9681         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9682         
9683         * docs/gst/Makefile.am:
9684         * docs/libs/Makefile.am: No POPT_CFLAGS.
9685         
9686         * examples/manual/Makefile.am:
9687         * docs/manual/basics-init.xml: Doc updates with an example.
9688         
9689         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9690         (gst_init), (parse_one_option), (parse_goption_arg):
9691         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9692         bit of hand merging and debugging to get the GOption stuff working
9693         tho.
9694         
9695         * tests/Makefile.am:
9696         * tools/Makefile.am:
9697         * tools/gst-inspect.c: (main):
9698         * tools/gst-launch.c: (main):
9699         * tools/gst-run.c: (main):
9700         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9701
9702 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9703
9704         * gst/gstiterator.c: (gst_iterator_new):
9705           Add assertions to make sure passed GType is likely to really
9706           be a GType (as the compiler won't catch it if the size and
9707           GType arguments get mixed up, see #318447).
9708
9709 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9710
9711         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9712
9713         * gst/gstbin.c: (gst_bin_iterate_sorted):
9714           Pass GType and size arguments to gst_iterator_new() in the right
9715           order (maybe we should make _new() take the GType as first argument
9716           just like _new_list()?) (#318447).
9717           
9718
9719 2005-10-10  Wim Taymans  <wim@fluendo.com>
9720
9721         * gst/gstelement.c: (gst_element_finalize):
9722         And free the GStaticRecMutex too
9723
9724 2005-10-10  Andy Wingo  <wingo@pobox.com>
9725
9726         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9727         Allocate and free the mutex properly.
9728
9729         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9730         New macros.
9731         (GstElement): The state_lock is now recursive. Rebuild your
9732         plugins, suckers. Old macros adapted.
9733
9734         * docs/gst/gstreamer-sections.txt: Doc updates.
9735
9736         * gst/gstutils.h:
9737         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9738         (g_static_rec_cond_wait): Ported from state changes patch, while
9739         we wait on bug #317802 to be solved in a well-distributed GLib.
9740
9741         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9742         gst_element_change_state, variable name changes.
9743         (gst_element_change_state): Split out of gst_element_set_state in
9744         preparation for the state change merge. Doesn't pay attention to
9745         the 'transition' argument.
9746         (gst_element_set_state): Updates, hopefully purely cosmetic.
9747         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9748         state change patch.
9749         (gst_element_get_state_func): Renamed from get_state, cosmetic
9750         changes.
9751
9752 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9753
9754         * gst/elements/gstelements.c:
9755         * win32/GStreamer.vcproj:
9756         * win32/config.h:
9757         * win32/dirent.c: (_tseekdir):
9758         * win32/gst-inspect.vcproj:
9759         * win32/gst-launch.vcproj:
9760         * win32/gstconfig.h:
9761         * win32/gstelements.vcproj:
9762         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9763         * win32/gstreamer.def:
9764         * win32/msvc71.sln:
9765           updates for the win32 build (patch from Sebastien Moutte)
9766
9767 2005-10-10  Andy Wingo  <wingo@pobox.com>
9768
9769         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9770         gst_bin_get_state, cleaned up (but no logic changes).
9771         (bin_element_is_sink): Comment updates.
9772         (sink_iterator_filter): Remove needless cast.
9773         (gst_bin_iterate_sinks): Doc update.
9774         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9775         cleaned up (but no logic changes).
9776
9777         * check/states/sinks.c (test_src_sink): Cleanups from the state
9778         change patch.
9779         (test_livesrc_sink): Sync on the state.
9780
9781         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9782         the state change patch.
9783
9784         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9785         change patch.
9786
9787         * check/gst/gstbin.c: Merge in some style fixes and additional
9788         checks from Wim's state change patch.
9789
9790 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9791
9792         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9793         (gst_type_find_helper):
9794           Check whether we have the requested data already in our list of
9795           cached buffers before pulling a new buffer; also make the buffer
9796           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9797
9798 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9799
9800         * gst/gstcaps.c:
9801         * gst/gstevent.c:
9802           doc updates
9803         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9804           don't use long long, it's not portable.  Replacing with
9805           gint64 seems to work; let's hope no skeletons fall out of the closet.
9806
9807 2005-10-10  Andy Wingo  <wingo@pobox.com>
9808
9809         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9810
9811 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9812
9813         * docs/gst/gstreamer-sections.txt:
9814         * gst/gstevent.c:
9815         * gst/gstevent.h:
9816         * gst/gstinfo.c:
9817         * gst/gstinfo.h:
9818         * gst/gstmessage.c: (gst_message_parse_state_changed):
9819         * gst/gstpad.c:
9820         * gst/gstpad.h:
9821           more docs, fix compilation
9822
9823 2005-10-09  Philippe Khalaf <burger@speedy.org>
9824         * gst/gstmessage.c:
9825           Fixed a few forgotten variables on previous commit
9826
9827 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9828
9829         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9830           Fix evil typefind crasher: getrange() might return a short
9831           buffer at the end of a file, but gst_type_find_peek() must
9832           either return the full data as requested or NULL, but
9833           never a short buffer.
9834
9835 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9836
9837         * gst/gstmessage.c: (gst_message_new_state_changed),
9838         (gst_message_parse_state_changed):
9839         * gst/gstmessage.h:
9840           don't use "new", it's a C++ keyword
9841
9842 2005-10-08  Wim Taymans  <wim@fluendo.com>
9843
9844         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9845         * gst/gstelement.c: (gst_element_post_message):
9846         * gst/gstpipeline.c: (gst_pipeline_change_state):
9847         Small docs and debug updates.
9848
9849 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9850
9851         * docs/gst/gstreamer-sections.txt:
9852         * gst/gstelementfactory.c:
9853         * gst/gstevent.c:
9854         * gst/gsttaglist.c:
9855           more docs
9856
9857 2005-10-08  Wim Taymans  <wim@fluendo.com>
9858
9859         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9860         (gst_bin_dispose), (bin_bus_handler):
9861         Fix typos, add comments.
9862         Clear EOS list when going to PAUSED from any direction and do it
9863         in a threadsafe way.
9864         Get base time in a threadsafe way too.
9865         Fix confusing debug in the change_state function.
9866         Various other small cleanups.
9867         
9868         * gst/gstelement.c: (gst_element_post_message):
9869         Fix very verbose bus posting code.
9870
9871         * gst/gstpipeline.c: (gst_pipeline_class_init),
9872         (gst_pipeline_set_property), (gst_pipeline_get_property),
9873         (gst_pipeline_change_state):
9874         Small ARG_ -> PROP_ cleanup
9875
9876 2005-10-08  Wim Taymans  <wim@fluendo.com>
9877
9878         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9879         Do a less CPU demanding EOS check because we can.
9880
9881 2005-10-08  Wim Taymans  <wim@fluendo.com>
9882
9883         * libs/gst/dataprotocol/dataprotocol.c:
9884         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9885         (gst_dp_packet_from_event):
9886         * libs/gst/dataprotocol/dataprotocol.h:
9887         * libs/gst/dataprotocol/dp-private.h:
9888         It's about time we bump the version number.
9889         Since event types don't fit in the guint8 anymore describing
9890         the payload type, make payload type 16 bits wide.
9891
9892 2005-10-08  Wim Taymans  <wim@fluendo.com>
9893
9894         * docs/design/part-TODO.txt:
9895         * docs/design/part-clocks.txt:
9896         * docs/design/part-events.txt:
9897         * docs/design/part-gstbin.txt:
9898         * docs/design/part-gstelement.txt:
9899         * docs/design/part-gstpipeline.txt:
9900         * docs/design/part-live-source.txt:
9901         * docs/design/part-messages.txt:
9902         * docs/design/part-overview.txt:
9903         * docs/design/part-states.txt:
9904         Many doc updates.
9905
9906 2005-10-08  Wim Taymans  <wim@fluendo.com>
9907
9908         * gst/gstevent.c:
9909         * gst/gstevent.h:
9910         Fix event quark registration.
9911         Add some space between events so we can insert them in the
9912         right groups.
9913
9914 2005-10-08  Wim Taymans  <wim@fluendo.com>
9915
9916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9917         (gst_base_sink_handle_buffer):
9918         Better log message.
9919
9920         * gst/gstbus.h:
9921         * gst/gstelement.h:
9922         More docs.
9923
9924         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9925         (gst_queue_set_property), (gst_queue_get_property):
9926         * gst/gstqueue.h:
9927         Remove old unused properties.
9928
9929 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9930         * docs/gst/gstreamer-sections.txt:
9931         * gst/gstmessage.c:
9932         * gst/gstmessage.h:
9933         * gst/gstminiobject.c:
9934         * gst/gstminiobject.h:
9935         * gst/gstobject.h:
9936         * gst/gstpad.h:
9937         * gst/gstutils.h:
9938           lots of new docs and doc fixes
9939
9940 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9941
9942         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9943         * gst/gstplugin.h:
9944         * gst/gstregistry.c: (gst_registry_lookup_locked),
9945         (gst_registry_scan_path_level):
9946         * gst/gstregistryxml.c: (load_plugin):
9947           Only ever load one plugin for a given plugin basename.
9948           This ensures correct overriding of GST_PLUGIN_PATH over
9949           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9950           system installed plugins.
9951
9952 2005-10-08  Wim Taymans  <wim@fluendo.com>
9953
9954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9955         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9956         Prepare for doing QOS.
9957
9958 2005-10-08  Wim Taymans  <wim@fluendo.com>
9959
9960         * check/gst/gstbin.c: (GST_START_TEST):
9961         * check/pipelines/cleanup.c: (GST_START_TEST):
9962         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9963         Allow new clock message too.
9964
9965 2005-10-08  Wim Taymans  <wim@fluendo.com>
9966
9967         * gst/gstmessage.c: (gst_message_new_error),
9968         (gst_message_new_warning), (gst_message_new_tag),
9969         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9970         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9971         (gst_message_new_segment_start), (gst_message_new_segment_done),
9972         (gst_message_parse_state_changed),
9973         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9974         (gst_message_parse_new_clock):
9975         * gst/gstmessage.h:
9976         Also carry the clock in question.
9977
9978 2005-10-08  Wim Taymans  <wim@fluendo.com>
9979
9980         * gst/gstmessage.c: (gst_message_new_custom),
9981         (gst_message_new_eos), (gst_message_new_error),
9982         (gst_message_new_warning), (gst_message_new_tag),
9983         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9984         (gst_message_new_new_clock), (gst_message_new_segment_start),
9985         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9986         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9987         * gst/gstmessage.h:
9988         Clean up.
9989         Added clock related messages.
9990
9991         * gst/gstpipeline.c: (gst_pipeline_change_state):
9992         Post message when the clock changed.
9993
9994         * tools/gst-launch.c: (event_loop):
9995         Print new clock.
9996
9997 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9998
9999         * tools/gst-inspect.c: (print_element_properties_info):
10000           Can't pass NULL strings to g_print() on windows.
10001
10002 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10003
10004         * docs/Makefile.am:
10005         * docs/gst/Makefile.am:
10006         * docs/gst/gstreamer-docs.sgml:
10007         * docs/gst/running.xml:
10008         * docs/version.entities.in:
10009           add a chapter on running GStreamer.
10010           document GST_DEBUG and GST_PLUGIN* env vars
10011
10012 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10013
10014         * Makefile.am:
10015           remove include dir
10016         * configure.ac:
10017           remove PLUGINS_BUILDDIR stuff
10018         * gst/gst.c: (init_post):
10019           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10020         * idiottest.mak:
10021           remove, it was condescending and not needed
10022
10023 2005-10-08  Wim Taymans  <wim@fluendo.com>
10024
10025         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10026         (gst_base_sink_handle_object), (gst_base_sink_event),
10027         (gst_base_sink_wait), (gst_base_sink_handle_event),
10028         (gst_base_sink_change_state):
10029         * gst/base/gstbasesink.h:
10030         Repost EOS message while going to PLAYING if still EOS.
10031         Make sure that when receiving a FLUSH_START we don't attempt
10032         to sync on the clock anymore.
10033
10034 2005-10-08  Wim Taymans  <wim@fluendo.com>
10035
10036         * tools/gst-launch.c: (event_loop):
10037         Better message printout.
10038
10039 2005-10-08  Wim Taymans  <wim@fluendo.com>
10040
10041         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10042         (gst_bin_child_proxy_get_children_count):
10043         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10044         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10045         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10046         (gst_child_proxy_set_valist):
10047         * gst/parse/grammar.y:
10048         Make ChildProxy threadsafe and fix mem leaks.
10049
10050 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10051
10052         * gst/gst.c: (init_post):
10053           debug the GST_PLUGIN_ env vars
10054
10055 2005-10-08  Wim Taymans  <wim@fluendo.com>
10056
10057         * check/gst/gstbin.c: (GST_START_TEST):
10058         * check/gst/gstmessage.c: (GST_START_TEST):
10059         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10060         * gst/gstelement.c: (gst_element_commit_state),
10061         (gst_element_lost_state):
10062         * gst/gstmessage.c: (gst_message_new_state_changed),
10063         (gst_message_parse_state_changed):
10064         * gst/gstmessage.h:
10065         * tools/gst-launch.c: (event_loop):
10066         Added extra field to STATE_CHANGE message with the pending
10067         state, which will be different from the new state soon.
10068
10069 2005-10-08  Wim Taymans  <wim@fluendo.com>
10070
10071         * gst/gstbus.c: (gst_bus_pop):
10072         * gst/gstclock.c:
10073         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10074         Small cleanups and doc updates.
10075
10076 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10077
10078         * gst/gst.c: (init_pre):
10079         * gst/gstbin.c: (gst_bin_add_func):
10080           log distributing clocks and base time
10081         * gst/gstregistry.c: (gst_registry_add_plugin),
10082         (gst_registry_scan_path_level), (gst_registry_scan_path):
10083           clean up the debugging output a little
10084         * gst/gstutils.c: (gst_element_state_get_name):
10085           warn about a memleak (I've actually seen this be used, though
10086           it was probably a bug)
10087
10088 2005-10-07  Wim Taymans  <wim@fluendo.com>
10089
10090         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10091         (gst_base_src_init), (gst_base_src_default_newsegment),
10092         (gst_base_src_newsegment), (gst_base_src_do_seek),
10093         (gst_base_src_loop), (gst_base_src_start):
10094         * gst/base/gstbasesrc.h:
10095         Make the newsegment event customizable by subclasses.
10096
10097 2005-10-07  Wim Taymans  <wim@fluendo.com>
10098
10099         * gst/gstevent.c: (gst_event_new_buffersize),
10100         (gst_event_parse_buffersize):
10101         * gst/gstevent.h:
10102         New event for future idea.
10103
10104 2005-10-07  Andy Wingo  <wingo@pobox.com>
10105
10106         * gst/gstelement.c (gst_element_post_message): Doc update.
10107
10108         * docs/gst/gstreamer-sections.txt: Update.
10109
10110         * gst/gstmessage.c (gst_message_new_application): Made into a
10111         function like honest API calls.
10112         (gst_message_new_element): New message type.
10113
10114         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10115
10116         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10117         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10118         times.
10119
10120         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10121         NO_PREROLL from gst_element_change_state to fall through.
10122
10123 2005-10-07  Wim Taymans  <wim@fluendo.com>
10124
10125         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10126         (gst_ghost_pad_do_activate_push):
10127         Activating a ghostpad with no internal pad in push mode
10128         is ok.
10129
10130 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10131
10132         * gst/gstobject.h:
10133           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10134           Fixes compilation on Windows.
10135
10136 2005-10-07  Michael Smith <msmith@fluendo.com>
10137
10138         * tools/gst-inspect.c:
10139           Print out feature and plugin count at the end when printing out
10140           all features.
10141
10142 2005-10-04  Michael Smith <msmith@fluendo.com>
10143
10144         * gst/gsterror.c: (_gst_stream_errors_init):
10145           Add another error string used in a few existing plugins.
10146
10147         * gst/gstplugin.c:
10148         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10149         * tools/gst-inspect.c: (print_element_info):
10150           When a feature disappears from a plugin (and the feature exists in
10151           the cached registry file), things went horribly wrong. This isn't a
10152           complete fix, we should actually be removing the 'missing' features
10153           from the features list when we load the actual plugin. That's not
10154           yet implemented. 
10155
10156 2005-10-04  Johan Dahlin  <johan@gnome.org>
10157
10158         * check/gst/gstiterator.c: (GST_START_TEST):
10159         * gst/gstbin.c: (gst_bin_iterate_elements),
10160         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10161         * gst/gstelement.c: (gst_element_iterate_pads):
10162         * gst/gstformat.c: (gst_format_iterate_definitions):
10163         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10164         (gst_iterator_new_list), (gst_iterator_filter):
10165         * gst/gstiterator.h:
10166         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10167         Add a GType to GstIterator, update callsites and tests.
10168
10169 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10170
10171         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10172           give events a chance to be handled by event probes when the pad
10173           is not linked
10174
10175 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10176
10177         * gst/gstevent.c: (gst_event_type_get_name),
10178         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10179         * gst/gstevent.h:
10180           add string representations for event types
10181
10182 2005-10-06  Wim Taymans  <wim@fluendo.com>
10183
10184         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10185         Don't use NULL pointers.
10186
10187 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10188
10189         * gst/gst_private.h:
10190         * gst/gstbus.c:
10191         * gst/gstelement.c:
10192         * gst/gstinfo.c:
10193         * gst/gstpluginfeature.c:
10194           widen the debug category in output to fit the biggest one we have
10195           add a bus category and use it
10196           play with the colors
10197           fix up some categories
10198
10199 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10200
10201         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10202           add push activation of sink ghost pads.
10203           Andye, please verify
10204
10205 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10206
10207         * gst/gstutils.c: (gst_element_link_pads):
10208           fix a bug in the case where neither element has a pad
10209         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10210           add a test for that case
10211
10212 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10213
10214         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10215           emit have-data before checking for peers.  This allows
10216           for probe handlers to connect elements.  This helps autopluggers.
10217         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10218         (gst_pad_suite):
10219           add six checks, linked/unlinked with no/true/false probe
10220
10221 2005-10-04  Wim Taymans  <wim@fluendo.com>
10222
10223         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10224         (gst_fake_sink_event), (gst_fake_sink_preroll),
10225         (gst_fake_sink_render), (gst_fake_sink_change_state):
10226         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10227         (gst_fake_src_get_property), (gst_fake_src_create),
10228         (gst_fake_src_stop):
10229         * gst/elements/gstidentity.c: (gst_identity_stop):
10230         Protect last_message with lock.
10231
10232 2005-10-04  Edward Hervey  <edward@fluendo.com>
10233
10234         * gst/gstformat.h: 
10235         Added precision in the comments for GST_FORMAT_DEFAULT
10236
10237 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10238
10239         * tools/gst-launch.c: (main):
10240           Don't try to run erroneous pipelines.
10241
10242 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10243
10244         * gst/gstbus.c: We don't need this header.
10245
10246 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10247
10248         * configure.ac:
10249           back to development
10250
10251 === release 0.9.3 ===
10252
10253 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10254
10255         * README:
10256         * configure.ac:
10257           Releasing 0.9.3, "Unregistered"
10258
10259 2005-10-03  Andy Wingo  <wingo@pobox.com>
10260
10261         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10262         whereby calling a pad's activatepush() function can start a thread
10263         that starts to push or pull before the pad gets the FLUSHING flag
10264         unset. Hack around it by holding the stream lock until the flag is
10265         set. Need to replace this with a proper solution. Together with
10266         the ghost pad fixes, this fixes mp3 playing/tagreading.
10267
10268         * docs/design/part-gstghostpad.txt: Add a note about activation of
10269         proxy pads outside of ghost pads.
10270
10271         * gst/gstghostpad.c: Implement the ghost pad activation design.
10272
10273 2005-10-02  Andy Wingo  <wingo@pobox.com>
10274
10275         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10276         It is volatile, after all.
10277
10278         * docs/design/part-gstghostpad.txt: Flesh out activation with
10279         ghost pads.
10280
10281         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10282         GST_DEBUG_FUNCPTR.
10283
10284 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10285
10286         * configure.ac:
10287           Fix (unused) AM_CONDITIONAL tests.
10288
10289 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10290
10291         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10292
10293         * gst/gstutils.c: (gst_pad_query_convert):
10294           Add assertion that makes sure src_val is >=0, just like
10295           gst_query_new_convert() has. (#315895)
10296
10297 2005-09-30  Edward Hervey  <edward@fluendo.com>
10298
10299         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10300         Let's not iterate pads we're not interested in, it avoids getting 
10301         sky-high refcounts on sinkpad.
10302
10303 2005-09-30  Wim Taymans  <wim@fluendo.com>
10304
10305         * gst/gstelement.c: (gst_element_set_state),
10306         (gst_element_change_state):
10307         Small tweak, element in ASYNC remains ASYNC.
10308
10309 2005-09-30  Wim Taymans  <wim@fluendo.com>
10310
10311         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10312         Only error is an error.
10313
10314         * gst/gstbin.c: (gst_bin_change_state):
10315         Better debugging.
10316
10317         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10318         Also call pad_block in pad alloc.
10319
10320         * gst/gstutils.c: (gst_flow_get_name):
10321         Better debugging.
10322
10323 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10324
10325         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10326         (gst_base_src_get_range):
10327           Fix documentation typos. Add some more debug info.
10328
10329 2005-09-29  David Schleef  <ds@schleef.org>
10330
10331         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10332           more end-user friendly.
10333         * tools/gst-inspect.c: (main): Check if command-line argument is
10334           a file and attempt to load that file as a plugin.
10335
10336 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10337
10338         * check/gst/gstbin.c:
10339         * check/states/sinks.c:
10340           fix tests for the new warning
10341         * check/gst/gstpipeline.c:
10342           add a test for pipeline and bus interaction
10343         * gst/gstelement.c:
10344           elements should be NULL if they get disposed; add a warning if not
10345
10346 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10347
10348         * gst/gstobject.c:
10349           for 2.6 refcounting, make debug log more correct by printing
10350           the actual refcounts at the time of swap (Wim)
10351
10352 2005-09-29  Andy Wingo  <wingo@pobox.com>
10353
10354         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10355         removes signal watches previously added via
10356         gst_bus_add_signal_watch.
10357         (gst_bus_add_signal_watch): Don't return the source id, just store
10358         it on the bus if there wasn't an id already.
10359
10360         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10361         add_signal_watch and remove_signal_watch.
10362
10363 2005-09-29  Edward Hervey  <edward@fluendo.com>
10364
10365         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10366         Better if we actually iterate the list :)
10367
10368 2005-09-29  Wim Taymans  <wim@fluendo.com>
10369
10370         * check/gst/gstbin.c: (GST_START_TEST):
10371         Change for new bus API.
10372
10373         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10374         (send_messages), (GST_START_TEST), (gstbus_suite):
10375         Change for new bus signal API.
10376
10377         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10378         (gst_bus_source_prepare), (gst_bus_source_check),
10379         (gst_bus_create_watch), (gst_bus_add_watch_full),
10380         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10381         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10382         * gst/gstbus.h:
10383         Remove support for multiple GSources operating on different
10384         message types as it is too complex and unneeded when using
10385         signals.
10386         Added support for receiving signals from the bus.
10387
10388 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10389
10390         * docs/libs/tmpl/gstdataprotocol.sgml:
10391         * docs/manual/advanced-dataaccess.xml:
10392         * gst/elements/gstcapsfilter.c:
10393         * gst/gstutils.c:
10394           rename filter-caps to caps property
10395
10396 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10397
10398         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10399           More robust fraction string parsing.
10400
10401         * docs/pwg/appendix-porting.xml:
10402           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10403
10404 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10405
10406         * gst/gstcaps.c: (gst_caps_do_simplify):
10407           Thou shalt not free a structure and then continue using it
10408           in the next loop iteration.
10409
10410         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10411         (gst_caps_suite):
10412           Add test case for caps simplification.
10413
10414 2005-09-29  Wim Taymans  <wim@fluendo.com>
10415
10416         * check/gst/gstbin.c: (GST_START_TEST):
10417         Oops.
10418
10419 2005-09-29  Wim Taymans  <wim@fluendo.com>
10420
10421         * check/gst/gstbin.c: (GST_START_TEST):
10422         Add bus to bin.
10423
10424         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10425         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10426         (find_element), (gst_bin_sort_iterator_next),
10427         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10428         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10429         (gst_bin_change_state), (gst_bin_dispose):
10430         A bin does not have a bus, it gets the bus from the parent.
10431
10432         * gst/gstelement.c: (gst_element_requires_clock),
10433         (gst_element_provides_clock), (gst_element_is_indexable),
10434         (gst_element_is_locked_state), (gst_element_change_state),
10435         (gst_element_set_bus_func):
10436         Small cleanups.
10437
10438         * gst/gstpipeline.c: (gst_pipeline_class_init),
10439         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10440         The pipeline provides a bus.
10441
10442 2005-09-28  Johan Dahlin  <johan@gnome.org>
10443
10444         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10445         gst_structure_get_enum instead of gst_structure_get_int
10446
10447         * gst/gststructure.c (gst_structure_get_enum): Impl.
10448
10449         * gst/gststructure.h (gst_structure_get_enum): Add
10450
10451         * docs/gst/gstreamer-sections.txt: Ditto
10452
10453         * gst/gstmessage.c (gst_message_new_state_changed): Use
10454         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10455         which does introspection.
10456         Reviewed by Christian Schaller
10457
10458 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10459
10460         * gst/gstinfo.c: (gst_debug_log_default):
10461           don't do dummy g_strdup()s
10462         * libs/gst/controller/gstcontroller.c:
10463         (on_object_controlled_property_changed),
10464         (gst_controlled_property_new), (gst_controller_new_valist),
10465         (gst_controller_new_list),
10466         (gst_controller_remove_properties_valist), (gst_controller_set),
10467         (gst_controller_get), (gst_controller_sync_values),
10468         (gst_controller_get_value_array), (_gst_controller_class_init),
10469         (gst_controller_get_type):
10470         * libs/gst/controller/gstcontroller.h:
10471         * libs/gst/controller/gstinterpolation.c:
10472         (gst_controlled_property_find_timed_value_node):
10473           convert // to /**/ comments
10474
10475 2005-09-28  Wim Taymans  <wim@fluendo.com>
10476
10477         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10478         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10479         (gst_bus_sync_signal_handler):
10480         * gst/gstbus.h:
10481         Added async-message and sync-message signals to the bus.
10482         Added helper BusFunc to emit signals for all posted messages.
10483
10484         * gst/gstmessage.c: (gst_message_type_get_name),
10485         (gst_message_type_to_quark), (gst_message_get_type):
10486         * gst/gstmessage.h:
10487         Register quarks for message names.
10488
10489 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10490
10491         * docs/libs/gstreamer-libs-sections.txt:
10492         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10493         (gst_controller_new_list):
10494         * libs/gst/controller/gstcontroller.h:
10495           added another constructor for language bindings
10496
10497 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10498
10499         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10500           add another check
10501         * gst/gstbus.c:
10502           add some doc
10503         * gst/gstinfo.c: (_gst_debug_init):
10504           slightly more readable color for refcount debugging
10505
10506 2005-09-28  Wim Taymans  <wim@fluendo.com>
10507
10508         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10509         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10510         (find_element), (gst_bin_sort_iterator_next),
10511         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10512         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10513         (gst_bin_change_state), (gst_bin_dispose):
10514         Small doc fixes. get_clock -> provide_clock.
10515
10516         * gst/gstelement.c: (gst_element_class_init),
10517         (gst_element_provides_clock), (gst_element_provide_clock),
10518         (gst_element_get_clock), (gst_element_commit_state),
10519         (gst_element_lost_state):
10520         * gst/gstelement.h:
10521         Make get/set_clock() symetric. Add provide_clock vmethod since
10522         that is actually what this function does.
10523
10524         * gst/gstpipeline.c: (gst_pipeline_class_init),
10525         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10526         (gst_pipeline_get_clock):
10527         get_clock -> provide_clock.
10528
10529 2005-09-28  Andy Wingo  <wingo@pobox.com>
10530
10531         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10532         lieu of real docs...
10533
10534         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10535
10536 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10537
10538         * gst/elements/gstcapsfilter.c:
10539         * gst/elements/gstfakesink.c:
10540         * gst/elements/gstfakesrc.c:
10541         * gst/elements/gstfdsink.c:
10542         * gst/elements/gstfdsrc.c:
10543         * gst/elements/gstfilesink.c:
10544         * gst/elements/gstfilesrc.c:
10545         * gst/elements/gstidentity.c:
10546         * gst/elements/gsttee.c:
10547         * gst/elements/gsttypefindelement.c:
10548           Make element details static.
10549
10550 2005-09-28  Wim Taymans  <wim@fluendo.com>
10551
10552         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10553         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10554         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10555         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10556         (gst_bin_change_state), (gst_bin_dispose):
10557         Some documentation updates.
10558         Clean up dispose handlers.
10559
10560         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10561         * gst/gstpad.c: (gst_pad_dispose):
10562         Clean up dispose handler.
10563
10564         * gst/gstpipeline.c: (gst_pipeline_change_state):
10565         Removed spurious UNLOCK.
10566
10567 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10568
10569         * docs/gst/gstreamer-sections.txt:
10570         * gst/base/gstbasesrc.h:
10571         * gst/gstelement.h:
10572         * gst/gstevent.h:
10573         * gst/gstobject.h:
10574         * gst/gstpad.h:
10575         * gst/gstpipeline.c:
10576         * gst/gstpipeline.h:
10577         * gst/gstutils.h:
10578         * gst/gstxml.h:
10579           added two new functions to the docs
10580                 documents all undocumented GstXXXFlags
10581                 completed some incomplete docs 
10582
10583 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10584
10585         * gst/gstbin.c: (gst_bin_dispose):
10586         * gst/gstelement.c: (gst_element_dispose):
10587           remove now useless and leaky resurrection code in dispose
10588         * gst/base/gstbasesrc.c: (gst_base_src_init):
10589         * gst/gstelementfactory.c: (gst_element_factory_create):
10590         * gst/gstobject.c: (gst_object_set_parent):
10591           add some debugging
10592
10593 2005-09-27  Wim Taymans  <wim@fluendo.com>
10594
10595         * docs/design/part-TODO.txt:
10596         Update TODO.
10597
10598         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10599         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10600         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10601         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10602         (gst_bin_change_state):
10603         * gst/gstelement.h:
10604         Remove element variable, we keep element info in the iterator now.
10605
10606 2005-09-27  Andy Wingo  <wingo@pobox.com>
10607
10608         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10609         values.
10610
10611 2005-09-27  Wim Taymans  <wim@fluendo.com>
10612
10613         * check/gst/gstbin.c: (GST_START_TEST):
10614         Enable check that works now.
10615
10616         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10617         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10618         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10619         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10620         (gst_bin_change_state):
10621         * gst/gstbin.h:
10622         Redid the state change algorithm using a topological sort algo.
10623         Handles all cases correctly.
10624         Exposed iterator for state change order.
10625
10626         * gst/gstelement.h:
10627         Temp storage for state changes. Need to get rid of this soon.
10628
10629 2005-09-27  Wim Taymans  <wim@fluendo.com>
10630
10631         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10632         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10633         (link_fold_func), (gst_pad_proxy_setcaps):
10634         Leak fixes, the fold functions need to unref the passed object and
10635         _get_parent_*() returns ref to parent.
10636
10637 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10638
10639         * check/gst/gstbuffer.c: (test_make_writable):
10640           Plug leak in test case and fix 'make check-valgrind'
10641
10642 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10643
10644         * gst/gstbuffer.c: (gst_subbuffer_init):
10645           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10646           works correctly in all circumstances (we could have just copied
10647           the parent buffer's readonly flag, but conceptually it seems
10648           cleaner to mark all subbuffers as read-only). (based on patch
10649           by Alessandro Decina, #314710).
10650         
10651         * check/gst/gstbuffer.c: (create_read_only_buffer),
10652         (test_make_writable), (test_subbuffer_make_writable),
10653         (gst_test_suite):
10654           Add some tests for gst_buffer_make_writable().
10655
10656 2005-09-27  Wim Taymans  <wim@fluendo.com>
10657
10658         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10659         use gst_object_has_ancestor().
10660
10661         * gst/gstobject.c: (gst_object_has_ancestor):
10662         * gst/gstobject.h:
10663         gst_object_has_ancestor() copied from gstbin.c as it is a
10664         usefull function.
10665
10666         * tests/instantiate/create.c: (create_all_elements):
10667         * tests/lat.c: (handoff_src), (handoff_sink):
10668         * tests/sched/runxml.c: (main):
10669         * tests/seeking/seeking1.c: (main):
10670         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10671         (main):
10672         Fix compilation of some tests.
10673
10674 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10675
10676         * gst/gsterror.h:
10677           Remove comment. GST_TYPE_G_ERROR is here to stay,
10678           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10679           (#316961, #300610).
10680
10681 2005-09-26  Wim Taymans  <wim@fluendo.com>
10682
10683         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10684         Added check that shows error in state change order.
10685
10686 2005-09-26  Wim Taymans  <wim@fluendo.com>
10687
10688         * gst/gstbin.c: (gst_bin_change_state):
10689         Make state change function use 3 queues again, we were
10690         adding elements in the wrong order.
10691
10692         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10693         Some debug info,
10694
10695         * gst/gstpad.c: (gst_pad_dispose):
10696         Added some debug info first.
10697
10698 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10699
10700         * docs/design/draft-push-pull.txt:
10701         * docs/design/part-events.txt:
10702         * docs/design/part-overview.txt:
10703         * docs/design/part-scheduling.txt:
10704           Replace all _pull_region() with _pull_range()
10705           
10706 2005-09-26  Andy Wingo  <wingo@pobox.com>
10707
10708         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10709
10710         * check/gst-libs/controller.c: Update for controller api change.
10711
10712         * configure.ac: 
10713         * tests/Makefile.am:
10714         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10715         over by GLib bug 118439.
10716         
10717         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10718         routines to a function.
10719
10720         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10721
10722         * libs/gst/controller/gsthelper.c:
10723         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10724         (gst_object_sync_values): Renamed from sink_values. Ugh.
10725
10726         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10727
10728         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10729         Renamed from controller_key, as it is exported.
10730
10731         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10732
10733 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10734
10735         * gst/Makefile.am:
10736         * gst/gst.h:
10737         * gst/gstpad.h:
10738         * gst/gstpadtemplate.h:
10739         * gst/gstquery.c:
10740         * gst/gstquery.h:
10741         * gst/gstqueryutils.c:
10742         * gst/gstqueryutils.h:
10743           remove queryutils headers after moving the two used functions
10744           to gstquery.  also fixes build problem for gstsiddec
10745
10746 2005-09-26  Michael Smith <msmith@fluendo.com>
10747
10748         * tools/gst-launch.1.in:
10749         Correct documentation in manpage of debug syntax
10750
10751 2005-09-26  Wim Taymans  <wim@fluendo.com>
10752
10753         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10754         (gst_base_src_is_seekable), (gst_base_src_change_state):
10755         Some more debugging info.
10756
10757 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10758
10759         * docs/gst/gstreamer-sections.txt:
10760         * gst/base/gstbasetransform.h:
10761         * gst/gstindex.h:
10762           added more docs
10763
10764 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10765
10766         * docs/gst/.cvsignore:
10767         * docs/gst/tmpl/.cvsignore:
10768         * docs/gst/tmpl/gstpipeline.sgml:
10769         * docs/gst/tmpl/gstplugin.sgml:
10770         * gst/gstpipeline.c:
10771         * gst/gstplugin.c:
10772         * gst/gstplugin.h:
10773           inlined the last two docs files
10774           removed the tmpl directory from cvs (no more conflicts here!)
10775
10776 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10777
10778         * docs/gst/gstreamer-sections.txt:
10779         * docs/gst/tmpl/.cvsignore:
10780         * docs/gst/tmpl/gstpad.sgml:
10781         * docs/gst/tmpl/gstpadtemplate.sgml:
10782         * gst/Makefile.am:
10783         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10784         (gst_pad_finalize), (gst_pad_set_pad_template):
10785         * gst/gstpad.h:
10786         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10787         (gst_pad_template_class_init), (gst_pad_template_init),
10788         (gst_pad_template_dispose), (name_is_valid),
10789         (gst_static_pad_template_get), (gst_pad_template_new),
10790         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10791         (gst_pad_template_pad_created):
10792         * gst/gstpadtemplate.h:
10793           inlined two more docs
10794           factored gstpadtemplate out of gstpad
10795
10796 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10797
10798         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10799         (test_children_state_change_order_semi_sink):
10800           Fix test case: we can't rely on a fixed state change order when
10801           going from READY => PAUSED because the sink might commit its 
10802           new state first when the first buffer created by the source 
10803           reaches the sink before the source has finished its change state.
10804           (Test case still fails at times, see #316856, comment 5 onwards)
10805
10806 2005-09-24  Wim Taymans  <wim@fluendo.com>
10807
10808         * docs/design/part-events.txt:
10809         * docs/design/part-gstbus.txt:
10810         * docs/design/part-gstpipeline.txt:
10811         * docs/design/part-messages.txt:
10812         * docs/design/part-overview.txt:
10813         * docs/design/part-segments.txt:
10814         * gst/gstbin.c:
10815         * gst/gstbuffer.c:
10816         * gst/gstclock.c:
10817         * gst/gstelement.c:
10818         * gst/gstevent.c:
10819         * gst/gstfilter.c:
10820         * gst/gstiterator.c:
10821         Various documentation updates.
10822
10823 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10824
10825         * gst/gstclock.h:
10826           Well, that's embarassing.  Luckily we weren't using
10827           GST_CLOCK_DIFF anywhere.
10828
10829 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10830
10831         * common/gtk-doc.mak:
10832           don't fail on building XML, FC4 slave shows a bunch of doc
10833           missing bits that I don't get
10834         * gst/gstpad.c:
10835         * gst/gstpipeline.c:
10836         * gst/gststructure.c:
10837           some doc updates
10838
10839 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10840
10841         * docs/design/part-gstbin.txt:
10842         * docs/design/part-gstbus.txt:
10843         * gst/gstbus.c:
10844           Add blurb about how the bus goes into flushing mode and
10845           drops all messages when its bin goes from READY into NULL 
10846           state.
10847
10848 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10849
10850         * docs/gst/gstreamer-sections.txt:
10851         * gst/gststructure.c: (gst_structure_get_clock_time):
10852         * gst/gststructure.h:
10853           add a method to get a GstClockTime out of a structure
10854
10855 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10856
10857         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10858         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10859           Added test to check state change order in bins (can still be made
10860           to fail here under heavy disk load; bails out with 'Push on pad
10861           fakesink:sink0, but it was not activated in push mode').
10862
10863         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10864           Fix state change order when there is only a semi sink (#316856)
10865
10866         * gst/gstbus.c: (gst_bus_class_init):
10867           Use _class_peek_parent(), not _class_ref(); fix docs to say
10868           'default main context' instead of 'mainloop' where that is
10869           what's meant.
10870
10871         * gst/gstelement.c: (gst_element_commit_state),
10872         (gst_element_set_state):
10873           Fix typos in debug messages
10874
10875 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10876
10877         * docs/README:
10878         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10879         * gst/gstpluginfeature.c:
10880         * gst/gstutils.c:
10881           various doc updates
10882         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10883           change an assert into an error until it gets fixed properly
10884
10885 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10886
10887         * docs/gst/gstreamer-sections.txt:
10888         * docs/gst/tmpl/.cvsignore:
10889         * docs/gst/tmpl/gstelement.sgml:
10890         * docs/gst/tmpl/gstinfo.sgml:
10891         * docs/gst/tmpl/gstobject.sgml:
10892         * gst/gstelement.c:
10893         * gst/gstelement.h:
10894         * gst/gstinfo.c:
10895         * gst/gstinfo.h:
10896         * gst/gstobject.c: (gst_object_class_init):
10897         * gst/gstobject.h:
10898           inlined 3 more biiiig doc files and added some missing docs on the fly
10899
10900 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10901
10902         * check/gst/.cvsignore:
10903         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10904         * gst/gstregistryxml.c: (load_plugin),
10905         (gst_registry_xml_save_plugin):
10906           put back source in registry.  add checks for find_plugin.
10907         * testsuite/states/bin.c: (assert_state), (empty_bin),
10908         (test_adding_one_element), (main):
10909         * testsuite/states/locked.c: (main):
10910           some compile/run fixes
10911
10912 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10913
10914         * check/gst/gstvalue.c: (GST_START_TEST):
10915           fix leaks in the test itself
10916
10917 2005-09-22  Wim Taymans  <wim@fluendo.com>
10918
10919         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10920         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10921         (gst_base_sink_query):
10922         Prepare for more accurate position reporting and query
10923         handling.
10924
10925         * gst/gstelement.c: (gst_element_send_event),
10926         (gst_element_set_state):
10927         Add some comment.
10928
10929 2005-09-22  Wim Taymans  <wim@fluendo.com>
10930
10931         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10932         (gst_query_parse_segment):
10933         * gst/gstquery.h:
10934         More documentation.
10935         Add segment query for future use.
10936
10937 2005-09-22  Wim Taymans  <wim@fluendo.com>
10938
10939         * gst/gstbin.c: (gst_bin_add_func):
10940         Some more debug info.
10941
10942         * gst/gstelement.c: (gst_element_send_event):
10943         Simplify send_event
10944
10945         * gst/gstelement.h:
10946         Don't know how flags got broken.
10947
10948         * gst/gstquery.h:
10949         Added new query.
10950
10951 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10952
10953         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10954           Add simplistic test suite for GST_TYPE_DATE serialisation and
10955           deserialisation.
10956
10957 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10958
10959         * docs/gst/gstreamer-sections.txt:
10960         * gst/gststructure.c: (gst_structure_set_valist),
10961         (gst_structure_get_date):
10962         * gst/gststructure.h:
10963         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10964         (gst_date_copy), (gst_value_compare_date),
10965         (gst_value_serialize_date), (gst_value_deserialize_date),
10966         (gst_value_transform_date_string),
10967         (gst_value_transform_string_date), (_gst_value_initialize):
10968         * gst/gstvalue.h:
10969           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10970           bunch of utility functions along with a hack that checks that
10971           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10972           is required. Part of the grand scheme in #170777.
10973
10974 2005-09-22  Andy Wingo  <wingo@pobox.com>
10975
10976         * gst/gstconfig.h.in: Psych out gtk-doc.
10977
10978         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10979
10980         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10981
10982         * tools/gst-inspect.c (print_element_list): Plug some
10983         inconsequential leaks.
10984
10985         * gst/gstregistry.c (gst_registry_get_default): Doc.
10986
10987         * check/gst/gstplugin.c: 
10988         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10989         * gst/gstelementfactory.c (gst_element_factory_create): 
10990         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10991         refcount changes.
10992
10993         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10994         (gst_plugin_feature_load): Doc, don't eat refs.
10995
10996         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10997         (gst_plugin_list_free): Doc.
10998         (gst_plugin_load_file): Doc updates.
10999
11000         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11001         accessors returning refcounted objects, return a ref.
11002
11003         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11004         accessor for caps. IDEMPOTENCE. Oh yes.
11005
11006 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11007
11008         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11009
11010         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11011         (_gst_debug_register_funcptr):
11012           Add mutex to serialise access to the hash table with
11013           the function pointer => function name string mapping;
11014           make that hash table static scope (#316809).
11015
11016         * gst/registries/.cvsignore:
11017           Remove left-over file.
11018
11019 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11020
11021         * docs/pwg/appendix-porting.xml:
11022           And something about newsegment events and caps-on-buffers to
11023           the porting guide (feel free to improve).
11024
11025 2005-09-21  Andy Wingo  <wingo@pobox.com>
11026
11027         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11028         data and event probes on the same pad.
11029         (test_buffer_probe_once): Test that removing probes from within
11030         the probe functions works.
11031
11032 2005-09-21  Andy Wingo  <wingo@pobox.com>
11033
11034         * check/gst/gstutils.c: New file.
11035         (test_buffer_probe_n_times): A simple buffer probe test. More to
11036         come, foolios.
11037
11038         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11039         have-data::buffer, not have-data.
11040         (gst_pad_add_event_probe): Likewise for have-data::event.
11041         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11042         peer' isn't quite right yet though.
11043         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11044         (gst_pad_remove_data_probe): Change to take the guint handler_id
11045         as their arg, not the function+data, which is more glib-like.
11046
11047         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11048         the signal emission to indicate if the data is a buffer or an
11049         event.
11050         (gst_pad_get_type): Initialize buffer and event quarks.
11051         (gst_pad_class_init): have-data is now a detailed signal, yes it
11052         is.
11053
11054 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11055
11056         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11057         * gst/gstutils.c: (gst_util_set_value_from_string),
11058         (gst_util_set_object_arg):
11059           Don't put functional code in g_return_if_fail() or
11060           g_return_val_if_fail() statements, otherwise things will 
11061           break when G_DISABLE_CHECKS is defined during compilation.
11062
11063 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11064
11065         * docs/gst/tmpl/.cvsignore:
11066         * docs/gst/tmpl/gstvalue.sgml:
11067         * gst/gstvalue.c:
11068         * gst/gstvalue.h:
11069           inlied another one and added  some obvious docs
11070
11071 2005-09-21  Wim Taymans  <wim@fluendo.com>
11072
11073         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11074         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11075         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11076         (gst_fdsrc_get_property), (gst_fdsrc_create):
11077         * gst/elements/gstfdsrc.h:
11078         Properly implement fdsrc. Removed signal and timeout,
11079         better implemented somewhere else.
11080
11081 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11082
11083         * docs/gst/tmpl/.cvsignore:
11084         * docs/gst/tmpl/gstimplementsinterface.sgml:
11085         * gst/gstinterface.c:
11086           inlined more docs
11087
11088 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11089
11090         * docs/gst/gstreamer-sections.txt:
11091         * docs/gst/tmpl/.cvsignore:
11092         * docs/gst/tmpl/gstenumtypes.sgml:
11093           remove obsolete doc file
11094
11095 2005-09-21  David Schleef  <ds@schleef.org>
11096
11097         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11098         little beer, fix a little leak.
11099
11100 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11101
11102         * docs/gst/gstreamer-docs.sgml:
11103         * docs/gst/gstreamer-sections.txt:
11104         * docs/gst/tmpl/.cvsignore:
11105         * gst/Makefile.am:
11106         * gst/gst.h:
11107         * gst/gstbin.c:
11108         * gst/gstelement.h:
11109         * gst/gstindex.c: (gst_index_class_init):
11110         * gst/gstindex.h:
11111         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11112         (gst_index_factory_class_init), (gst_index_factory_init),
11113         (gst_index_factory_finalize), (gst_index_factory_new),
11114         (gst_index_factory_destroy), (gst_index_factory_find),
11115         (gst_index_factory_create), (gst_index_factory_make):
11116         * gst/gstindexfactory.h:
11117         * gst/gstpluginfeature.c:
11118         * gst/gstpluginfeature.h:
11119         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11120           more docs inlined, splitted gstindex.{c,h}
11121
11122 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11123
11124         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11125           fix a leak
11126
11127 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11128
11129         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11130           Set sync to FALSE by default.
11131
11132 2005-09-20  Wim Taymans  <wim@fluendo.com>
11133
11134         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11135         (gst_base_sink_init):
11136         Make sync property settable from subclass.
11137
11138         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11139         (gst_fake_sink_change_state):
11140         Set sync to FALSE by default.
11141
11142 2005-09-20  Wim Taymans  <wim@fluendo.com>
11143
11144         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11145         * tools/gst-launch.c: (main):
11146         The timeout handler should have lower priority than the source
11147         so we don't timeout before popping a message with 0 timeout.
11148         Dump error messages after failed state change.
11149
11150 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11151
11152         * tools/gst-inspect.c: (print_element_properties_info):
11153           Fix two typos.
11154
11155 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11156
11157         * check/gst/gstevent.c:
11158         * gst/elements/gstfakesink.c:
11159         * gst/elements/gstfakesink.h:
11160           remove the sync property from fakesink.
11161           has the side effect of setting sync TRUE
11162           for fakesink, which is a change.  Anyone who knows how
11163           to fix this nicely in a GObject-y way, feel free.
11164
11165 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11166
11167         * docs/gst/gstreamer-docs.sgml:
11168           remove probe refsection
11169
11170 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11171
11172         * check/Makefile.am:
11173           disable valgrinding the controller test again
11174         * docs/gst/gstreamer-sections.txt:
11175           update for api-changes
11176
11177 2005-09-20  Wim Taymans  <wim@fluendo.com>
11178
11179         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11180         (gst_base_sink_set_property), (gst_base_sink_get_property),
11181         (gst_base_sink_do_sync):
11182         * gst/base/gstbasesink.h:
11183         Added sync property to basesink to disable clock sync.
11184
11185 2005-09-20  Andy Wingo  <wingo@pobox.com>
11186
11187         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11188         eating the caller's refcount.
11189
11190         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11191         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11192         refcount.
11193
11194         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11195         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11196         of GLib 2.8 public, so we can know which refcount to check in
11197         tests.
11198
11199         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11200         (gst_object_init): Only set the gst refcount if we're going ahead
11201         with the refcount hack.
11202
11203 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11204
11205         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11206         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11207           more leaks plumbed, added more debug-logging
11208         * gst/gstmacros.h:
11209           whitespace fix
11210
11211 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11212
11213         * gst/gstmessage.c:
11214           remove include of gstmemchunk.h
11215
11216 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11217
11218         * gst/gstclock.c: (_gst_clock_id_free):
11219           Commit from the Political Party For More Atomic CVS Commits,
11220           so that people don't waste too much of their day fishing
11221           out obvious leaks out of massive commits.
11222           Oh, and fix a pretty damn obvious leak in the memchunk
11223           removal code.
11224
11225 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11226
11227         * check/Makefile.am:
11228         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11229           plug mem-leak, re-add to valgrindable tests
11230
11231 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11232
11233         * gst/gstplugin.h:
11234           unbreak the build for those who have chronic arthritis
11235           and typing "make check" is just too taxing on the hands
11236
11237 2005-09-20  Andy Wingo  <wingo@pobox.com>
11238
11239         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11240         really want it out, you should fix plugins at the same time.
11241
11242 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11243
11244         * configure.ac:
11245         * docs/gst/gstreamer-sections.txt:
11246         * gst/gstobject.c:
11247           added missing symbols to api docs
11248           disable ref-count hack if we have glib >= 2.8
11249
11250 2005-09-19  David Schleef  <ds@schleef.org>
11251
11252         * docs/gst/Makefile.am: Ignore a few more internal headers
11253         * docs/gst/gstreamer-docs.sgml: Remove old sections
11254         * docs/gst/gstreamer-sections.txt: Remove old sections
11255         * docs/gst/tmpl/gstobject.sgml: update
11256         * docs/gst/tmpl/gstplugin.sgml: update
11257         * docs/gst/tmpl/gstpluginfeature.sgml: update
11258         * docs/random/ds/0.9-suggested-changes: update.
11259         * gst/Makefile.am: remove memchunk and trashstack, since they're
11260           not used.
11261         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11262         * gst/gst.h: don't include some headers
11263         * gst/gstchildproxy.c: add gstmarshal.h
11264         * gst/gstclock.c: Don't use memchunks
11265         * gst/gstminiobject.c: Add some docs
11266         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11267         * gst/gstobject.h: same
11268         * gst/gstplugin.c: include gstmacros.h
11269         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11270         * gst/gstquery.c: don't use memchunks
11271         * gst/gstregistry.c: rename gst_registry_deinit()
11272         * gst/gstregistry.h: same
11273
11274 2005-09-19  David Schleef  <ds@schleef.org>
11275
11276         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11277         * docs/libs/gstreamer-libs-sections.txt:
11278         * docs/libs/tmpl/gstgetbits.sgml:
11279         * docs/libs/tmpl/gstputbits.sgml:
11280
11281 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11282
11283         * win32/gstenumtypes.c:
11284         * win32/gstenumtypes.h:
11285           Update.
11286
11287 2005-09-19  Wim Taymans  <wim@fluendo.com>
11288
11289         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11290         Automatically PAUSE and RESUME a pipeline when a flushing seek
11291         is performed.
11292
11293 2005-09-19  Andy Wingo  <wingo@pobox.com>
11294
11295         * gst/gstregistry.h: Spacing fixen.
11296
11297 2005-09-19  Wim Taymans  <wim@fluendo.com>
11298
11299         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11300         Handle state change failure more correctly.
11301
11302 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11303
11304         * check/Makefile.am:
11305         * check/pipelines/cleanup.c: (run_pipeline):
11306         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11307         (GST_START_TEST):
11308           enable cleanup again after fixing the leak
11309         * docs/README:
11310           some more info on docs
11311
11312 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11313
11314         * check/Makefile.am:
11315           re-enable tests now that leaks are plugged
11316         * check/gst/gst.c:
11317         * check/gst/gstbin.c:
11318         * check/gst/gstpipeline.c:
11319           add some more tests while fixing leaks
11320         * common/check.mak:
11321           make sure binaries are uptodate when valgrinding/gdbing
11322         * gst/gst.c:
11323         * gst/gstelementfactory.c:
11324           remove a ref too many, and add a FIXME for when we get
11325           round to disposing of classes
11326         * gst/gstplugin.c:
11327           fix the refcounting when loading a plugin from a file and
11328           the code pretends that the pointer is the same even though
11329           of course it can change
11330         * gst/gstpluginfeature.c:
11331           unref plugins marked cached (a bit confusing as a name)
11332           as the docs state should be done
11333           various doc additions to explain refcounting
11334         * gst/gstregistry.c:
11335         * gst/gstregistryxml.c:
11336           debugging
11337
11338 2005-09-19  Wim Taymans  <wim@fluendo.com>
11339
11340         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11341         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11342         (send_messages), (GST_START_TEST), (gstbus_suite):
11343         * check/gst/gstpipeline.c: (GST_START_TEST):
11344         * check/pipelines/cleanup.c: (run_pipeline):
11345         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11346         (GST_START_TEST):
11347         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11348         (gst_bus_source_check), (gst_bus_source_dispatch),
11349         (gst_bus_create_watch), (gst_bus_add_watch_full),
11350         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11351         * gst/gstbus.h:
11352         * tools/gst-launch.c: (event_loop):
11353         * tools/gst-md5sum.c: (event_loop):
11354         GstBusHandler -> GstBusFunc, return value has the same meaning as
11355         any other GSource (FALSE == remove source).
11356         _add_watch() and _add_watch_full() now take a MessageType mask to
11357         only handle specific types of messages.
11358         _poll() returns the GstMessage instead of the message type to avoid
11359         race conditions.
11360         _have_pending() takes a MessageType mask now too.
11361         Added testsuite for multiple bus watches.
11362         Fix testsuites and applications for new bus API.
11363
11364 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11365
11366         * check/Makefile.am:
11367           mark a bunch of the tests as to fix until we fix them
11368
11369 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11370
11371         * common/check.mak:
11372           use GST_PLUGIN settings for valgrind tests as well, so we're
11373           valgrinding the correct thing
11374         * gst/gst.c: (init_post):
11375           plug another leak
11376
11377 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11378
11379         * gst/gst.c: (init_post), (gst_deinit):
11380         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11381         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11382         * gst/gstindex.c: (gst_index_factory_class_init),
11383         (gst_index_factory_finalize):
11384         * gst/gstobject.c: (gst_object_dispose):
11385         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11386         (gst_plugin_load_file), (gst_plugin_desc_free):
11387         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11388         (gst_plugin_feature_finalize):
11389         * gst/gstregistry.c: (gst_registry_class_init),
11390         (gst_registry_init), (gst_registry_finalize),
11391         (gst_registry_get_default), (gst_registry_deinit):
11392         * gst/gstregistry.h:
11393         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11394           various cleanups and memleak plugging.  make valgrind is happy now.
11395
11396 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11397
11398         * common/check.mak:
11399           add a check-valgrind target
11400
11401 2005-09-18  David Schleef  <ds@schleef.org>
11402
11403         * tools/gst-inspect.c: Revert the GOption code.
11404
11405 2005-09-17  David Schleef  <ds@schleef.org>
11406
11407         * check/Makefile.am: Fix environment variables.
11408         * check/gst/gstplugin.c: Fix for API changes.
11409         * tools/gst-inspect.c: Fix for API changes.
11410         * tools/gst-xmlinspect.c: Fix for API changes.
11411         * gst/gstelementfactory.c:
11412         * gst/gstplugin.c:
11413         * gst/gstplugin.h:
11414         * gst/gstpluginfeature.c:
11415         * gst/gstpluginfeature.h:
11416         * gst/gstregistry.c:
11417         * gst/gstregistry.h:
11418         * gst/gstregistryxml.c:
11419         * gst/gsttypefind.c:
11420         * gst/gsttypefindfactory.c:
11421         * gst/indexers/gstfileindex.c:
11422         * gst/indexers/gstmemindex.c:
11423         * gst/schedulers/Makefile.am:
11424           Change registry to keep track of both plugins and features,
11425           removing the feature tracking from plugins themselves.
11426
11427 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11428
11429         * check/Makefile.am:
11430         * tools/gst-register.1.in:
11431           remove gst-register
11432
11433 2005-09-15  David Schleef  <ds@schleef.org>
11434
11435         * check/gst/gstplugin.c:
11436         * gst/gstelementfactory.c:
11437         * gst/gstplugin.c:
11438         * gst/gstpluginfeature.c:
11439         * gst/gstregistry.c:
11440           Getting tired of debugging.  Disabled all the unreffing of
11441           plugins and features, which fixes the segfaults, but of
11442           course leaks like crazy.  At least playbin works.
11443
11444 2005-09-15  David Schleef  <ds@schleef.org>
11445
11446         * check/gst/gstplugin.c: (register_check_elements),
11447         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11448         More testing
11449         * gst/elements/gsttypefindelement.c: Fix refcounting.
11450         * gst/gsttypefind.c:
11451         * gst/gsttypefindfactory.c:
11452         * gst/gsttypefindfactory.h:
11453
11454 2005-09-15  David Schleef  <ds@schleef.org>
11455
11456         * gst/gstindex.c: get refcounting correct.
11457         * gst/gstregistry.c: Handle the case where a feature/plugin is
11458           not found.
11459
11460 2005-09-15  David Schleef  <ds@schleef.org>
11461
11462         * check/Makefile.am:
11463         * check/gst/gstplugin.c: Add test
11464         * gst/gstplugin.c: Fix problems noticed by testsuite
11465         * gst/gstplugin.h:
11466         * gst/gstregistry.c: 
11467         * gst/gstregistry.h:
11468
11469 2005-09-15  David Schleef  <ds@schleef.org>
11470
11471         * gst/gstplugin.c: Implement semi-decent recounting and locking
11472           in plugins and plugin features.
11473         * gst/gstplugin.h:
11474         * gst/gstpluginfeature.c:
11475         * gst/gstpluginfeature.h:
11476         * gst/gstregistry.c:
11477
11478 2005-09-15  Michael Smith <msmith@fluendo.com>
11479
11480         * gst/gstregistry.c: (gst_registry_get_feature_list):
11481           Implement this. Makes oggdemux work; decodebin still broken.
11482
11483 2005-09-14  David Schleef  <ds@schleef.org>
11484
11485         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11486           #316076)
11487         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11488         * gst/check/Makefile.am:
11489         * libs/gst/controller/Makefile.am:
11490         * libs/gst/dataprotocol/Makefile.am:
11491
11492 2005-09-14  David Schleef  <ds@schleef.org>
11493
11494         * configure.ac: Remove getbits library.  Nothing uses it, and
11495           it should be in something like liboil if someone did want
11496           to use it.
11497         * libs/gst/Makefile.am:
11498         * libs/gst/getbits/Makefile.am:
11499         * libs/gst/getbits/gbtest.c:
11500         * libs/gst/getbits/getbits.c:
11501         * libs/gst/getbits/getbits.h:
11502         * libs/gst/getbits/gstgetbits_generic.c:
11503         * libs/gst/getbits/gstgetbits_i386.s:
11504         * libs/gst/getbits/gstgetbits_inl.h:
11505
11506 2005-09-14  David Schleef  <ds@schleef.org>
11507
11508         * gst/Makefile.am: Dist glib-compat.h
11509
11510 2005-09-14  David Schleef  <ds@schleef.org>
11511
11512         * configure.ac: Remove gst/registries, since it's no longer used.
11513         * gst/registries/Makefile.am:
11514         * gst/registries/gstlibxmlregistry.c:
11515         * gst/registries/gstlibxmlregistry.h:
11516         * gst/registries/gstxmlregistry.c:
11517         * gst/registries/gstxmlregistry.h:
11518         * gst/registries/registrytest.c:
11519
11520 2005-09-14  David Schleef  <ds@schleef.org>
11521
11522         * gst/glib-compat.h:
11523         * gst/gstregistryxml.c:
11524           Convergence is near.  Seriously.
11525
11526 2005-09-14  David Schleef  <ds@schleef.org>
11527
11528         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11529         * gst/glib-compat.h:
11530           Attempt #4 to appease the buildbots.
11531
11532 2005-09-14  David Schleef  <ds@schleef.org>
11533
11534         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11535           Attempt #3.
11536
11537 2005-09-14  David Schleef  <ds@schleef.org>
11538
11539         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11540         Attempt #2.
11541
11542 2005-09-14  David Schleef  <ds@schleef.org>
11543
11544         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11545           the new functions.
11546
11547 2005-09-14  David Schleef  <ds@schleef.org>
11548
11549         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11550         * gst/glib-compat.h: Add some functions that are in newer versions
11551           of glib than we care to require.
11552         * gst/gstregistryxml.c: Use them.
11553
11554 2005-09-14  David Schleef  <ds@schleef.org>
11555
11556         * po/POTFILES.in: remove gst-register.c
11557
11558 2005-09-14  David Schleef  <ds@schleef.org>
11559
11560         * docs/gst/gstreamer-docs.sgml:
11561         * docs/gst/gstreamer-sections.txt:
11562         * docs/gst/gstreamer.types:
11563         * docs/gst/tmpl/gstelement.sgml:
11564         * docs/gst/tmpl/gstplugin.sgml:
11565         * docs/gst/tmpl/gstpluginfeature.sgml:
11566           Documentation updates for registry changes.
11567
11568 2005-09-14  David Schleef  <ds@schleef.org>
11569
11570         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11571           because we don't require glib-2.8.
11572
11573 2005-09-14  David Schleef  <ds@schleef.org>
11574
11575         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11576           registries directory.
11577
11578 2005-09-14  David Schleef  <ds@schleef.org>
11579
11580         * check/Makefile.am:
11581         * check/generic/states.c:
11582         * gst/Makefile.am:
11583         * gst/gst.c:
11584         * gst/gst.h:
11585         * gst/gst_private.h:
11586         * gst/gstelementfactory.c:
11587         * gst/gstindex.c:
11588         * gst/gstinfo.c:
11589         * gst/gstplugin.c:
11590         * gst/gstplugin.h:
11591         * gst/gstpluginfeature.c:
11592         * gst/gstpluginfeature.h:
11593         * gst/gstregistry.c:
11594         * gst/gstregistry.h:
11595         * gst/gstregistrypool.c: remove
11596         * gst/gstregistrypool.h: remove
11597         * gst/gsttypefind.c:
11598         * gst/gsttypefindfactory.c:
11599         * gst/gsturi.c:
11600         * tools/Makefile.am:
11601         * tools/gst-compprep.c:
11602         * tools/gst-inspect.c:
11603         * tools/gst-register.c: remove
11604         * tools/gst-xmlinspect.c:
11605           Registry rewrite.  Changes registry from being a file created
11606           by a tool into a simple cache file created automatically by 
11607           libgstreamer.  Removed gst-register (because it's no longer
11608           needed).  Remove registry pools, because we only have one
11609           registry implementation (XML).  Fix up other subsystems as
11610           necessary.
11611
11612 2005-09-13  Michael Smith <msmith@fluendo.com>
11613
11614         * gst/gstconfig.h.in:
11615           Don't Use windows linking attributes for MinGW. Fixes #316157
11616
11617 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11618
11619         * gst/gstutils.c: (set_state_async_thread_func),
11620         (gst_element_set_state_async):
11621           Apparently people think it's better if this function doesn't
11622           try to set the state to whatever state was asked for on the first
11623           call to this function for any object.  Seriously.
11624
11625 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11626
11627         * check/gst/gstpipeline.c: (GST_START_TEST):
11628         * docs/gst/gstreamer-sections.txt:
11629         * gst/gstutils.c: (set_state_async_thread_func),
11630         (gst_element_set_state_async):
11631         * gst/gstutils.h:
11632           add a "gst_element_set_state_async" method that
11633           sets the state and starts a thread to make sure the state
11634           change completes as best as it can
11635
11636 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11637
11638         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11639           codify design+behaviour in testsuite after discussion
11640
11641 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11642
11643         * docs/gst/tmpl/gstelement.sgml:
11644         * docs/manual/appendix-quotes.xml:
11645           add a quote
11646         * gst/gstelement.c: (gst_element_set_state):
11647           add some debug
11648
11649 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11650
11651         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11652         (gst_base_transform_prepare_output_buf),
11653         (gst_base_transform_handle_buffer):
11654         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11655         (gst_capsfilter_prepare_buf):
11656           Remove the requirement for sub-classes to call the parent
11657           implementation of prepare_output_buffer with a wrapper function.
11658           
11659         * gst/gsttaglist.h:
11660         * gst/gsttagsetter.h:
11661           Fix #define wrapper
11662
11663 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11664
11665         * docs/gst/gstreamer-sections.txt:
11666           more doc cleanups
11667
11668 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11669
11670         * docs/gst/gstreamer-sections.txt:
11671         * docs/gst/tmpl/gstelement.sgml:
11672         * docs/gst/tmpl/gstplugin.sgml:
11673         * gst/gstminiobject.c:
11674         * gst/gstvalue.h:
11675           docs now stop throwing warnings
11676
11677 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11678
11679         * docs/gst/gstreamer-sections.txt:
11680         * docs/gst/gstreamer.types:
11681         * docs/gst/tmpl/gstpad.sgml:
11682         * docs/gst/tmpl/gsttypes.sgml:
11683         * gst/base/gstadapter.h:
11684         * gst/base/gstbasesink.h:
11685         * gst/base/gstbasesrc.h:
11686         * gst/gstbin.h:
11687         * gst/gstbuffer.h:
11688         * gst/gstbus.h:
11689         * gst/gstcaps.h:
11690         * gst/gstclock.h:
11691         * gst/gstelement.h:
11692         * gst/gstevent.h:
11693         * gst/gstmessage.h:
11694         * gst/gstpad.h:
11695         * gst/gststructure.c:
11696         * gst/registries/gstlibxmlregistry.h:
11697           various documentation fixes
11698
11699 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11700
11701         * docs/gst/gstreamer-sections.txt:
11702         * docs/gst/tmpl/gstvalue.sgml:
11703           rearrange gstvalue section
11704         * gst/gstutils.c: (gst_element_state_get_name):
11705           NONE -> VOID
11706         * gst/gstvalue.c: (_gst_value_initialize):
11707         * gst/gstvalue.h:
11708           doc updates
11709
11710 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11711
11712         * check/gst-libs/controller.c:
11713           Header include fix.
11714         * gst/base/gstbasetransform.c:
11715         (gst_base_transform_default_prepare_buf),
11716         (gst_base_transform_handle_buffer):
11717         * gst/base/gstbasetransform.h:
11718           Some more basetransform changes and fixes to enable sub-classes
11719           that modify buffer metadata only.
11720         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11721         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11722         (gst_capsfilter_prepare_buf):
11723           If the output pad has fixed allowed caps and input buffers 
11724           don't have any, set the fixed caps on outgoing buffers.
11725
11726 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11727         * check/elements/identity.c: (GST_START_TEST):
11728           Make the error a little clearer when the test fails because
11729           identity made a copy of the buffer.
11730         * docs/gst/gstreamer-sections.txt:
11731           New symbols in gstbasetransform.h
11732         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11733         (gst_base_transform_init), (gst_base_transform_transform_size),
11734         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11735         (gst_base_transform_default_prepare_buf),
11736         (gst_base_transform_get_unit_size),
11737         (gst_base_transform_buffer_alloc),
11738         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11739         (gst_base_transform_change_state),
11740         (gst_base_transform_set_passthrough),
11741         (gst_base_transform_set_in_place),
11742         (gst_base_transform_is_in_place):
11743         * gst/base/gstbasetransform.h:
11744           Change BaseTransform to separate in_place operate from same_caps
11745           output. in_place implies that the element can perform the transform
11746           on incoming buffers in-place, even if the caps on the output are
11747           different.
11748           Sub-class elements can now implement special buffer allocation
11749           methods for outgoing buffers if they wish to.
11750           Big documentation addition.
11751         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11752         * gst/elements/gstelements.c:
11753           Changes for basetransform modifications.
11754         * gst/elements/Makefile.am:
11755         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11756           Compile fix. Extra debug output.
11757
11758 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11759
11760         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11761         (gst_pad_suite):
11762           add tests for valid pad naming
11763         * gst/check/gstcheck.c: (gst_check_log_message_func),
11764         (gst_check_log_critical_func):
11765           add ASSERT_WARNING
11766           remove printing of code, it is fragile when the code contains
11767           % and the line number is enough info
11768         * gst/check/gstcheck.h:
11769         * gst/gstpad.c: (gst_pad_template_new):
11770           fix memleaks
11771
11772 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11773
11774         * configure.ac:
11775           say what CHECK flags we use
11776         * docs/libs/gstreamer-libs.types:
11777         * libs/gst/controller/Makefile.am:
11778         * libs/gst/controller/gst-controller.c:
11779         * libs/gst/controller/gst-controller.h:
11780         * libs/gst/controller/gst-helper.c:
11781         * libs/gst/controller/gst-interpolation.c:
11782         * libs/gst/controller/gstcontroller.c:
11783         * libs/gst/controller/gsthelper.c:
11784         * libs/gst/controller/gstinterpolation.c:
11785         * tools/gst-inspect.c: (print_plugin_info):
11786           we don't use dashes in header names
11787
11788 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11789
11790         * check/Makefile.am:
11791         * check/gst/.cvsignore:
11792         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11793         (gst_pipeline_suite), (main):
11794           adding a test for pipelines and state changes
11795         * gst/gstutils.c: (get_state_func):
11796           add some debugging
11797         * gstreamer.spec.in:
11798           fix up spec file
11799
11800 2005-09-08  Michael Smith <msmith@fluendo.com>
11801
11802         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11803         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11804         (gst_file_src_is_seekable), (gst_file_src_get_size),
11805         (gst_file_src_start):
11806         * gst/elements/gstfilesrc.h:
11807           Various fixes for unseekable, unmmapable, and non-normal files, so
11808           that fallback to read() rather than mmap() works.
11809         * gst/gstevent.c: (gst_event_new_newsegment):
11810           Allow newsegment events with segment_start == segment_end, as will
11811           correctly happen if you use filesrc on a zero-size file, for
11812           example.
11813
11814 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11815
11816         * gst/gstplugin.c: (gst_plugin_load_file):
11817           Call g_module_close when we don't load the module
11818
11819         * gst/registries/gstlibxmlregistry.c:
11820         (gst_xml_registry_get_property):
11821           Port leak fix from 0.8
11822
11823 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11824
11825         * docs/gst/gstreamer-docs.sgml:
11826         * docs/gst/tmpl/.cvsignore:
11827         * docs/gst/tmpl/gsttrace.sgml:
11828         * docs/gst/tmpl/gsttrashstack.sgml:
11829         * gst/Makefile.am:
11830         * gst/gst.h:
11831         * gst/gstelement.h:
11832         * gst/gstevent.h:
11833         * gst/gstmessage.c:
11834         * gst/gstmessage.h:
11835         * gst/gsttag.c:
11836         * gst/gsttag.h:
11837         * gst/gsttaginterface.c:
11838         * gst/gsttaginterface.h:
11839         * gst/gsttaglist.c:
11840         * gst/gsttaglist.h:
11841         * gst/gsttagsetter.c:
11842         * gst/gsttagsetter.h:
11843         * gst/gsttrace.c:
11844         * gst/gsttrace.h:
11845         * gst/gsttrashstack.c:
11846           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11847           inlined docs for gsttrace, gsttrashstack
11848
11849 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11850
11851         * gst/Makefile.am:
11852         * gst/elements/gstbufferstore.h:
11853         * gst/elements/gsttypefindelement.c:
11854         * gst/elements/gsttypefindelement.h:
11855         * gst/gst.h:
11856         * gst/gsttypefind.c:
11857         * gst/gsttypefind.h:
11858         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11859         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11860         (gst_type_find_factory_dispose),
11861         (gst_type_find_factory_unload_thyself),
11862         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11863         (gst_type_find_factory_get_caps),
11864         (gst_type_find_factory_get_extensions),
11865         (gst_type_find_factory_call_function):
11866         * gst/gsttypefindfactory.h:
11867         * gst/registries/gstlibxmlregistry.c:
11868         * gst/registries/gstxmlregistry.c:
11869           splitted gsttypefind into gsttypefind, gsttypefindfactory
11870
11871 2005-09-07  Andy Wingo  <wingo@pobox.com>
11872
11873         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11874         condition whereby the pad's task function is entered before the
11875         pad_mode variable was set.
11876
11877 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11878
11879         * gst/gstpad.c: (gst_pad_alloc_buffer):
11880           Catch misbehaving pad_alloc functions that don't
11881           set up caps and do it for them.
11882
11883 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11884
11885         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11886           test for pipe!=NULL
11887         * docs/gst/tmpl/.cvsignore:
11888         * docs/gst/tmpl/gstmemchunk.sgml:
11889         * docs/gst/tmpl/gstparse.sgml:
11890         * docs/gst/tmpl/gsttaglist.sgml:
11891         * docs/gst/tmpl/gsttagsetter.sgml:
11892         * docs/gst/tmpl/gsttypefind.sgml:
11893         * docs/gst/tmpl/gsttypefindfactory.sgml:
11894         * gst/gstmemchunk.c:
11895         * gst/gstparse.c:
11896         * gst/gsttag.c:
11897         * gst/gsttaginterface.c:
11898         * gst/gsttypefind.c:
11899         * gst/gsttypefind.h:
11900           inlined more docs
11901
11902 === release 0.9.2 ===
11903
11904 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11905
11906         * NEWS:
11907         * RELEASE:
11908         * configure.ac:
11909           releasing 0.9.2, "South"
11910
11911 2005-09-05  Andy Wingo  <wingo@pobox.com>
11912
11913         * gst/registries/gstxmlregistry.h:
11914         * gst/registries/gstxmlregistry.c: Um... resurrect...
11915         
11916         * gst/registries/gstxmlregistry.h:
11917         * gst/registries/gstxmlregistry.c: and update to newer API.
11918         Incidentally they should be a bit faster now that they don't have
11919         to parse the caps.
11920         
11921 2005-09-05  Andy Wingo  <wingo@pobox.com>
11922
11923         * gst/registries/gstxmlregistry.h:
11924         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11925         replaced by the libxml registry a while back
11926
11927 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11928
11929         * docs/gst/tmpl/gstplugin.sgml:
11930         * gst/elements/gstelements.c:
11931         * gst/gst.c:
11932         * gst/gstplugin.c: (gst_plugin_register_func),
11933         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11934         (gst_plugin_get_source):
11935         * gst/gstplugin.h:
11936         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11937         (gst_xml_registry_save_plugin):
11938         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11939         (gst_xml_registry_save_plugin):
11940         * tools/gst-inspect.c: (print_plugin_info):
11941           add a "source" plugin description field, to represent the source
11942           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11943           will set it to PACKAGE, which is automake's idea of the name of
11944           the source project.
11945
11946 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11947
11948         * Makefile.am:
11949         * autogen.sh:
11950         * configure.ac:
11951         * docs/Makefile.am:
11952         * docs/faq/Makefile.am:
11953         * docs/gst/tmpl/gstelement.sgml:
11954         * docs/gst/tmpl/gsttypes.sgml:
11955         * docs/htmlinstall.mak:
11956         * docs/manual/Makefile.am:
11957         * docs/pwg/Makefile.am:
11958           reorganize doc build a little
11959           split out docbook and gtk-doc stuff
11960           have two separate --enable's and enable them through autogen
11961           but disable by default in configure (to be similar to other
11962           projects)
11963         * gstreamer.spec.in:
11964           clean up docs install
11965         * po/af.po:
11966         * po/az.po:
11967         * po/ca.po:
11968         * po/cs.po:
11969         * po/de.po:
11970         * po/en_GB.po:
11971         * po/fr.po:
11972         * po/it.po:
11973         * po/nb.po:
11974         * po/nl.po:
11975         * po/ru.po:
11976         * po/sq.po:
11977         * po/sr.po:
11978         * po/sv.po:
11979         * po/tr.po:
11980         * po/uk.po:
11981         * po/vi.po:
11982           translation updates
11983
11984 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11985
11986         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11987           Add comment.
11988           
11989         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11990         (gst_fake_sink_change_state):
11991           Make state change function thread-safe.
11992           
11993         * gst/gstpad.c: (gst_pad_alloc_buffer):
11994           Set offset on generic buffer allocated by fallback.
11995
11996 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11997
11998         * docs/gst/gstreamer-sections.txt:
11999         * docs/gst/tmpl/gstelement.sgml:
12000         * gst/gstpad.c:
12001         * libs/gst/controller/gst-controller.c:
12002         (gst_controlled_property_set_interpolation_mode),
12003         (gst_controlled_property_new),
12004         (gst_controller_find_controlled_property):
12005          run the wingo-magic script against the docs
12006
12007 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12008
12009         * docs/gst/gstreamer-docs.sgml:
12010         * docs/gst/gstreamer-sections.txt:
12011         * docs/gst/tmpl/.cvsignore:
12012         * docs/gst/tmpl/gstelementdetails.sgml:
12013         * docs/gst/tmpl/gstelementfactory.sgml:
12014         * gst/gst.c:
12015         * gst/gstbus.c:
12016         * gst/gstelementfactory.c:
12017         * gst/gstelementfactory.h:
12018           merged elementdetails docs into elementfactory docs
12019           inlined both
12020
12021 2005-09-02  Andy Wingo  <wingo@pobox.com>
12022
12023         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12024         consider this enum an enum and not a flags.
12025
12026 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12027
12028         * docs/gst/gstreamer-docs.sgml:
12029         * docs/gst/tmpl/.cvsignore:
12030         * docs/gst/tmpl/gstghostpad.sgml:
12031         * docs/gst/tmpl/gstiterator.sgml:
12032         * docs/gst/tmpl/gstmacros.sgml:
12033         * docs/gst/tmpl/gstrealpad.sgml:
12034         * docs/gst/tmpl/gstregistry.sgml:
12035         * docs/gst/tmpl/gstregistrypool.sgml:
12036         * docs/gst/tmpl/gststructure.sgml:
12037         * docs/gst/tmpl/gstsystemclock.sgml:
12038         * docs/gst/tmpl/gsttrace.sgml:
12039         * gst/gstghostpad.c:
12040         * gst/gstmacros.h:
12041         * gst/gstmemchunk.c:
12042         * gst/gstmemchunk.h:
12043         * gst/gstqueue.c:
12044         * gst/gstregistry.c:
12045         * gst/gstregistrypool.c:
12046         * gst/gststructure.c:
12047         * gst/gstsystemclock.c:
12048           more docs inlined
12049
12050 2005-09-02  Andy Wingo  <wingo@pobox.com>
12051
12052         * gst/gstelement.h (GstState): Renamed from GstElementState,
12053         changed to be a normal enum instead of flags.
12054         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12055         munged to be GST_STATE_CHANGE_*.
12056         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12057         work with the new state representation.
12058         (GstStateChange): New enumeration of possible state transitions.
12059         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12060         (GstElementClass::change_state): Pass the GstStateChange along as
12061         an argument. Helps language bindings, so they don't have to use
12062         tricky lock-needing macros like GST_STATE_CHANGE ().
12063
12064         * scripts/update-states (file): New script. Run it on a file to
12065         update it for state naming and API changes. Updates files in
12066         place.
12067
12068         * All files updated for the new API.
12069
12070 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12073         * gst/gstutils.c: (gst_util_set_value_from_string),
12074         (gst_util_set_object_arg):
12075           fix a bunch of unchecked return values
12076         * tools/gst-complete.c: (main):
12077         * gstreamer.spec.in:
12078           clean up a little
12079
12080 2005-09-01  Wim Taymans  <wim@fluendo.com>
12081
12082         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12083         (gst_base_sink_event), (gst_base_sink_do_sync),
12084         (gst_base_sink_handle_event):
12085         * gst/base/gstbasesink.h:
12086         Handle newsegments more correctly.
12087
12088         * gst/gstbus.c:
12089         Fix docs.
12090
12091         * gst/gstevent.c: (gst_event_new_newsegment):
12092         A newsegment cannot have a start_time of -1
12093
12094 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12095
12096         * win32/gstenumtypes.c:
12097         * win32/gstenumtypes.h:
12098           Update
12099
12100 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12101
12102         * libs/gst/controller/gst-controller.c:
12103         (gst_controlled_property_set_interpolation_mode),
12104         (gst_controlled_property_new):
12105          fixed boolean again
12106
12107 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12108
12109         * docs/faq/gst-uninstalled:
12110           add -good
12111         * gst/gstevent.c:
12112         * gst/gstevent.h:
12113           remove wrong docs
12114         * gst/gstutils.c: (gst_element_link_filtered):
12115         * gst/gstutils.h:
12116           add gst_element_link_filtered
12117
12118 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12119
12120         * docs/gst/gstreamer-docs.sgml:
12121         * docs/gst/gstreamer-sections.txt:
12122         * docs/gst/tmpl/.cvsignore:
12123         * docs/gst/tmpl/gsterror.sgml:
12124         * docs/gst/tmpl/gstfilter.sgml:
12125         * docs/gst/tmpl/gsturihandler.sgml:
12126         * docs/gst/tmpl/gsturitype.sgml:
12127         * docs/gst/tmpl/gstutils.sgml:
12128         * docs/gst/tmpl/gstxml.sgml:
12129         * gst/gsterror.c:
12130         * gst/gsterror.h:
12131         * gst/gstfilter.c:
12132         * gst/gsturi.c:
12133         * gst/gsturitype.c:
12134         * gst/gstutils.c:
12135         * gst/gstxml.c:
12136           inlined more docs, fixed double id-ref
12137
12138 2005-08-31  Wim Taymans  <wim@fluendo.com>
12139
12140         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12141         (gst_base_transform_handle_buffer):
12142         Passthrough elements don't need the caps as they don't care.
12143
12144 2005-08-31  Wim Taymans  <wim@fluendo.com>
12145
12146         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12147         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12148         Don't leak refcounts on buffers.
12149
12150 2005-08-31  Wim Taymans  <wim@fluendo.com>
12151
12152         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12153         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12154         (gst_base_transform_chain), (gst_base_transform_change_state):
12155         * gst/base/gstbasetransform.h:
12156         Handle the case where we are not negotiated more gracefully.
12157
12158 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12159
12160         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12161         (gst_file_src_map_region):
12162           Set READONLY flag on mmap'ed buffers, otherwise
12163           gst_buffer_make_writable() won't work properly (#314708).
12164
12165 2005-08-31  Wim Taymans  <wim@fluendo.com>
12166
12167         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12168         passthrough elements can even do inplace on non writable
12169         buffers (as they don't touch them).
12170
12171 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12172
12173         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12174         (gst_test_mono_source_set_property),
12175         (gst_test_mono_source_class_init), (GST_START_TEST),
12176         (gst_controller_suite):
12177           more tests (hehe I have the most)
12178         * gst/gstbus.c:
12179           describe popping messages whenusing mulltiple sources
12180         * libs/gst/controller/gst-controller.c:
12181         (gst_controlled_property_set_interpolation_mode),
12182         (gst_controlled_property_new):
12183         * libs/gst/controller/gst-controller.h:
12184         * libs/gst/controller/gst-interpolation.c:
12185           implement boolean properties
12186
12187 2005-08-31  Wim Taymans  <wim@fluendo.com>
12188
12189         * gst/gstminiobject.c: (gst_mini_object_ref):
12190         Cannot assert that the refcount has to be positive
12191         since a disposed object can be resurrected.
12192
12193 2005-08-31  Wim Taymans  <wim@fluendo.com>
12194
12195         * gst/gstpad.c: (gst_pad_init):
12196         Revert change, need to first fix badly behaving 
12197         apps.
12198
12199 2005-08-30  Wim Taymans  <wim@fluendo.com>
12200
12201         * check/elements/fakesrc.c: (setup_fakesrc):
12202         * check/elements/identity.c: (setup_identity):
12203         Activate pads before using them.
12204
12205 2005-08-30  Wim Taymans  <wim@fluendo.com>
12206
12207         * gst/base/gstadapter.c: (gst_adapter_flush):
12208         Flushing out 0 bytes is ok for this function.
12209
12210         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12211         no newsegment gives a warning and sets the start/stop to 
12212         invalid.
12213
12214         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12215         (gst_base_transform_set_passthrough):
12216         Some debug info.
12217
12218         * gst/gstminiobject.c: (gst_mini_object_ref):
12219         Check refcount here too.
12220
12221         * gst/gstpad.c: (gst_pad_init):
12222         Pads are initially flushing and refusing data.
12223
12224         * gst/gstutils.c: (gst_element_link_pads_filtered):
12225         When adding a capsfilter element make sure it has the
12226         same state as the parent bin.
12227
12228 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12229
12230         * docs/gst/tmpl/.cvsignore:
12231         * docs/gst/tmpl/gstformat.sgml:
12232         * docs/gst/tmpl/gstversion.sgml:
12233         * gst/gstbus.h:
12234         * gst/gstformat.c:
12235         * gst/gstformat.h:
12236         * gst/gstversion.h.in:
12237           more docs and two more inlined
12238
12239 2005-08-30  Wim Taymans  <wim@fluendo.com>
12240
12241         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12242         Don't sync to clock.
12243
12244 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12245
12246         * docs/gst/gstreamer-sections.txt:
12247           ultral33t func10ns deserve to appear in the docs actually
12248         * docs/gst/tmpl/.cvsignore:
12249         * docs/gst/tmpl/gstcompat.sgml:
12250         * docs/gst/tmpl/gstconfig.sgml:
12251         * gst/check/gstcheck.c:
12252         * gst/gstcompat.h:
12253         * gst/gstconfig.h.in:
12254           inlined more docs
12255
12256 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12257
12258         * docs/gst/tmpl/.cvsignore:
12259         * docs/gst/tmpl/gstquery.sgml:
12260         * docs/gst/tmpl/gstutils.sgml:
12261         * gst/gstquery.c:
12262         * gst/gstquery.h:
12263           inlined and extended docs
12264
12265 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12266
12267         * check/gst-libs/controller.c: (GST_START_TEST),
12268         (gst_controller_suite):
12269           more tests
12270         * docs/gst/tmpl/gstutils.sgml:
12271         * docs/libs/gstreamer-libs-sections.txt:
12272         * docs/libs/tmpl/gstdataprotocol.sgml:
12273           include path fixes
12274         * examples/controller/audio-example.c: (main):
12275           controller example works now
12276         * gst/gstclock.h:
12277           doc fixes
12278         * tools/gst-inspect.c: (print_element_properties_info):
12279           show param spec flags
12280
12281 2005-08-29  Andy Wingo  <wingo@pobox.com>
12282
12283         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12284
12285 2005-08-28  Andy Wingo  <wingo@pobox.com>
12286
12287         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12288         as having two arguments instead of just one. Allows superclasses
12289         to access information on subclasses -- see the terrible for() loop
12290         in gtype.c:g_type_create_instance for the reason why. All callers
12291         changed.
12292
12293 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12294
12295         * docs/design/part-messages.txt:
12296           update info
12297         * docs/gst/tmpl/.cvsignore:
12298         * docs/gst/tmpl/gstcaps.sgml:
12299         * docs/gst/tmpl/gstclock.sgml:
12300         * gst/gstbus.c:
12301         * gst/gstcaps.c:
12302         * gst/gstcaps.h:
12303         * gst/gstclock.c:
12304         * gst/gstclock.h:
12305         * gst/gstmessage.c:
12306           added descriptions for bus and message
12307           inline caps and clock docs
12308
12309 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12310
12311         * gst/gstmessage.c:
12312         * gst/gstmessage.h:
12313           doc fixes
12314
12315 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12316
12317         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12318           fix div-by-zero
12319
12320 2005-08-26  Andy Wingo  <wingo@pobox.com>
12321
12322         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12323         element_set_state's return val.
12324         (test_2_elements): Add test that's been disabled for months.
12325
12326         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12327         can-activate-pull properties.
12328
12329         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12330         can-activate-pull properties. Implement is_seekable so fakesrc can
12331         operate in pull mode.
12332
12333         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12334         properties.
12335         (gst_base_sink_activate, gst_base_sink_activate_pull)
12336         (gst_base_sink_activate_push): Make activation mode choosing work.
12337         Cleanups.
12338         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12339         is right. Make pull mode work. Post an eos before pausing in pull
12340         mode.
12341         (gst_base_sink_change_state): Pay attention to the core's
12342         change_state() return val.
12343         
12344         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12345         has-getrange properties. Cleanups.
12346         
12347         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12348         has_getrange and replace with can_activate_pull and
12349         can_activate_push.
12350
12351         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12352         locking comments. Remove has_loop, has_chain and replace with
12353         can_activate_pull and can_activate_push.
12354
12355 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12356
12357         * configure.ac:
12358         * examples/Makefile.am:
12359         * examples/metadata/Makefile.am:
12360         * examples/metadata/read-metadata.c: (message_loop),
12361         (have_pad_handler), (make_pipeline), (print_tag), (main):
12362           Add metadata reading example that loops over a list of filenames,
12363           dumping any tags found.
12364
12365         * gst/gstbus.c: (gst_bus_dispose):
12366         * gst/gstelement.c: (gst_element_dispose):
12367           Release a few potentially-held references in dispose.
12368
12369 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12370
12371         * docs/gst/tmpl/gstminiobject.sgml:
12372           do *not* add tmpl/*.sgml files to CVS!
12373
12374 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12375
12376         * libs/gst/bytestream/.cvsignore:
12377         * libs/gst/bytestream/Makefile.am:
12378         * libs/gst/bytestream/adapter.c:
12379         * libs/gst/bytestream/adapter.h:
12380         * libs/gst/bytestream/bytestream.c:
12381         * libs/gst/bytestream/bytestream.h:
12382         * libs/gst/bytestream/filepad.c:
12383         * libs/gst/bytestream/filepad.h:
12384           removing obsolete files
12385
12386 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12387
12388         * docs/gst/gstreamer-docs.sgml:
12389         * docs/libs/gstreamer-libs-docs.sgml:
12390           disabed additional index entries again, as this makes docs-gen just
12391           slow and they aren't useful yet
12392         * docs/libs/gstreamer-libs-sections.txt:
12393           little -section.txt cleanup for libs
12394
12395 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12396
12397         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12398         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12399           fix up some debugging
12400         (gst_base_transform_get_unit_size),
12401         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12402         (gst_base_transform_handle_buffer):
12403         * gst/base/gstbasetransform.h:
12404           handle and store timed NEWSEGMENT events so that subclasses that
12405           calculate time by counting samples have a segment_start time they
12406           need to add to their timestamps - see audioresample
12407
12408 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12409
12410         * gst/gstbin.h:
12411           removed ';' from the end of macro defs
12412         * docs/gst/gstreamer-docs.sgml:
12413         * docs/gst/gstreamer-sections.txt:
12414         * docs/gst/tmpl/.cvsignore:
12415         * gst/gstbus.h:
12416         * gst/gstelement.c: (gst_element_class_init),
12417         (gst_element_set_state), (activate_pads),
12418         (gst_element_save_thyself):
12419         * gst/gstevent.c: (gst_event_new_newsegment):
12420         * gst/gstevent.h:
12421         * gst/gstiterator.c:
12422         * gst/gstiterator.h:
12423         * gst/gstpad.c:
12424         * gst/gstprobe.h:
12425         * gst/gstutils.c: (gst_pad_query_convert):
12426         * gst/gstutils.h:
12427           fixed parameter name mismatches between source, header and docs
12428           added some more docs, resolved the last batch of unused elements in
12429           docs (now someone needs to doc them)
12430
12431 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12432
12433         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12434         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12435           don't walk through the plugins backwards.  Where is all this
12436           reversed logic coming from ?
12437
12438 2005-08-25  Wim Taymans  <wim@fluendo.com>
12439
12440         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12441         (gst_base_transform_transform_size),
12442         (gst_base_transform_configure_caps),
12443         (gst_base_transform_get_unit_size),
12444         (gst_base_transform_buffer_alloc),
12445         (gst_base_transform_change_state):
12446         * gst/base/gstbasetransform.h:
12447         Cache caps unit_size.
12448         Make sure we cannot negotiate up and downstream at the
12449         same time.
12450
12451 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12452
12453         * gst/gst.c: (init_pre), (init_post):
12454           register the installed plugin path after the env var
12455         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12456         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12457           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12458           directories, so the tests can prefer uninstalled over installed
12459
12460 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12461
12462         * gst/base/gstbasetransform.h:
12463           comment
12464         * gst/gstpad.c:
12465           add to docs
12466
12467 2005-08-25  Wim Taymans  <wim@fluendo.com>
12468
12469         * gst/gstbin.c: (bin_bus_handler):
12470         Be a bit more conservative about the posted message.
12471         
12472         * gst/gstbus.c: (gst_bus_post):
12473         Some cleanups, warn wrong return values.
12474
12475 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12476
12477         * check/gst/gstbin.c: (GST_START_TEST):
12478         * gst/gstbin.c: (bin_bus_handler):
12479         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12480         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12481         (gst_message_new_warning), (gst_message_new_tag),
12482         (gst_message_new_state_changed), (gst_message_new_segment_start),
12483         (gst_message_new_segment_done), (gst_message_new_custom):
12484         * gst/gstmessage.h:
12485         * tools/gst-launch.c: (event_loop):
12486         * tools/gst-md5sum.c: (event_loop):
12487           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12488
12489 2005-08-25  Wim Taymans  <wim@fluendo.com>
12490
12491         * check/generic/states.c: (GST_START_TEST):
12492         Cleanup can be done at the end.
12493
12494         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12495         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12496         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12497         Oh boy.. Thanks for finding this, Thomas. 
12498
12499 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12500
12501         * docs/gst/gstreamer.types:
12502           added missing types
12503
12504 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12505
12506         * docs/gst/gstreamer-docs.sgml:
12507         * docs/gst/gstreamer-sections.txt:
12508         * docs/gst/tmpl/.cvsignore:
12509         * gst/gstbin.c:
12510         * gst/gstiterator.c:
12511         * gst/gstutils.c:
12512         * gst/registries/gstxmlregistry.h:
12513           added missing classes and symbols (123 more to go)
12514           removed removed symbols from section file
12515           fixed many doc-comments
12516
12517 2005-08-24  Wim Taymans  <wim@fluendo.com>
12518
12519         * check/generic/states.c: (GST_START_TEST):
12520         Make sure all tasks are stopped.
12521
12522         * check/gst/gstbin.c: (GST_START_TEST):
12523         Unref after usage for proper valgrinding.
12524
12525         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12526         Really wait for the task to stop before destroying the
12527         mutex.
12528
12529         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12530         (gst_queue_src_activate_push):
12531         Small cleanups. Don't stop the task when we did not start
12532         it.
12533
12534         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12535         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12536         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12537         (gst_task_join):
12538         * gst/gsttask.h:
12539         Protect the stream lock with the object lock.
12540         Disallow setting the stream lock when running.
12541         Add cleanup_all to wait for the threadpool to finish.
12542         Remove code to autoallocate a mutex if none was provided.
12543         Add _join() to wait for a task to stop.
12544         Protect the thread pool with a global lock.
12545
12546 2005-08-24  Wim Taymans  <wim@fluendo.com>
12547
12548         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12549         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12550         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12551         * gst/base/gstbasesink.h:
12552         Handle newsegment events correctly.
12553         Drop buffers out of the segment range.
12554
12555 2005-08-22  Andy Wingo  <wingo@pobox.com>
12556
12557         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12558         macro, implements an interface and gstimplementsinterface for a
12559         new type.
12560
12561 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12562
12563         * check/Makefile.am:
12564         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12565           add a test that does a bunch of state changes on elements
12566           needs some fixing for valgrind
12567         * check/states/sinks.c: (gst_object_suite):
12568           whitespace
12569         * gst/gstcaps.h:
12570           add prototype for gst_caps_is_equal_fixed
12571         * gst/gstplugin.c:
12572         * gst/gstregistrypool.c:
12573           doc fixes
12574
12575 2005-08-24  Andy Wingo  <wingo@pobox.com>
12576
12577         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12578         convert a negative value. Doesn't make much sense. Mostly this is
12579         here to force callers to ensure -1 maps to -1.
12580
12581 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12582
12583         * docs/pwg/advanced-types.xml:
12584           Well done to Michael for catching my deliberate introduction
12585           of this spelling mistake. 
12586         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12587         * gst/gstelement.h:
12588           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12589           unlink pads before removing the element from the bin.
12590
12591 2005-08-24  Andy Wingo  <wingo@pobox.com>
12592
12593         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12594         the same thing as GST_DEBUG=*:4.
12595         (parse_debug_level, parse_debug_category): New helper parsers.
12596
12597 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12598
12599         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12600         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12601         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12602         (gst_base_transform_buffer_alloc),
12603         (gst_base_transform_handle_buffer):
12604           use gboolean return values and pointers to size so we can use the
12605           full GST_BUFFER_SIZE range (guint) for buffer sizes
12606           use GstPadDirection for transform_caps
12607         * gst/base/gstbasetransform.h:
12608           rename get_size to get_unit_size since that's what it is
12609         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12610           use GstPadDirection for transform_caps
12611         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12612         * gst/gstutils.h:
12613           cleanup and debugging
12614
12615 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12616
12617         * gst/gstelement.c: (gst_element_class_init),
12618         (gst_element_set_state), (activate_pads),
12619         (gst_element_save_thyself):
12620         * tools/gst-compprep.c: (main):
12621         * tools/gst-inspect.c: (print_element_properties_info):
12622         * tools/gst-xmlinspect.c: (print_element_properties):
12623           Fixed long standing mem-leak
12624
12625 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12626
12627         * check/gst/gstbin.c: (GST_START_TEST):
12628         * gst/gstbin.c: (bin_bus_handler):
12629         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12630         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12631         (gst_message_new_warning), (gst_message_new_tag),
12632         (gst_message_new_state_changed), (gst_message_new_segment_start),
12633         (gst_message_new_segment_done), (gst_message_new_custom):
12634         * gst/gstmessage.h:
12635         * tools/gst-launch.c: (event_loop):
12636         * tools/gst-md5sum.c: (event_loop):
12637           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12638           that applications can sensibly post custom messages with references
12639           to their own objects.
12640
12641 2005-08-24  Andy Wingo  <wingo@pobox.com>
12642
12643         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12644         already.
12645
12646 2005-08-24  Wim Taymans  <wim@fluendo.com>
12647
12648         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12649         (gst_base_transform_transform_caps),
12650         (gst_base_transform_transform_size),
12651         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12652         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12653         (gst_base_transform_handle_buffer):
12654         * gst/base/gstbasetransform.h:
12655         Many fixes and new features added by Thomas. Can now also do
12656         transforms with variable sizes and a custom fixate_caps function.
12657
12658 2005-08-24  Wim Taymans  <wim@fluendo.com>
12659
12660         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12661         Some debugging.
12662
12663         * gst/gstclock.h:
12664         Cast to ClockTime before formatting to time.
12665
12666         * gst/gstutils.h:
12667         Cleanups.
12668
12669 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12670
12671         * check/gst-libs/controller.c: (GST_START_TEST),
12672         (gst_controller_suite):
12673         * docs/gst/tmpl/gstcaps.sgml:
12674         * docs/gst/tmpl/gstghostpad.sgml:
12675         * docs/gst/tmpl/gstquery.sgml:
12676         * docs/gst/tmpl/gstutils.sgml:
12677         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12678         (gst_object_sink_values), (gst_object_get_value_arrays),
12679         (gst_object_get_value_array):
12680           gracefully handle helper method calls to objects that are not beeing
12681           controlled, added test case for that          
12682
12683 2005-08-23  Wim Taymans  <wim@fluendo.com>
12684
12685         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12686         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12687         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12688         (gst_event_parse_qos), (gst_event_new_seek),
12689         (gst_event_parse_seek):
12690         * gst/gstevent.h:
12691         Some more debugging output and doc cleanups.
12692
12693         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12694         Fix possible deadlock.
12695
12696 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12697
12698         * docs/gst/gstreamer-docs.sgml:
12699         * docs/gst/gstreamer-sections.txt:
12700         * docs/gst/gstreamer.types:
12701         * docs/gst/tmpl/.cvsignore:
12702         * gst/gstbin.h:
12703         * gst/gstbus.c:
12704         * gst/gstelement.c:
12705         * gst/gstevent.h:
12706           added 100 symbols from gstreamer-unused.txt to the right sections
12707           fixed more broken comments
12708           added GstBus to docs
12709
12710 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12711
12712         * docs/gst/gstreamer-sections.txt:
12713         * docs/gst/tmpl/.cvsignore:
12714         * docs/gst/tmpl/gstbin.sgml:
12715         * docs/gst/tmpl/gstbuffer.sgml:
12716         * gst/base/gstbasesrc.c:
12717         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12718         * gst/gstbuffer.c:
12719         * gst/gstbuffer.h:
12720         * tools/gst-launch.1.in:
12721           inlined more doc comments, added missing comments and fixed comments
12722           fixed typos
12723
12724 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12725
12726         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12727           some debugging
12728         * gst/gstcaps.h:
12729           whitespace fixes
12730         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12731           more debugging
12732         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12733         * gst/gststructure.h:
12734           add a fixate function for booleans; add a FIXME that these func
12735           names should probably be gst_structure_fixate_*
12736
12737 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12738
12739         * docs/gst/gstreamer-docs.sgml:
12740         * docs/gst/gstreamer-sections.txt:
12741         * gst/Makefile.am:
12742         * gst/gstbin.c: (gst_bin_get_type),
12743         (gst_bin_child_proxy_get_child_by_index),
12744         (gst_bin_child_proxy_get_children_count),
12745         (gst_bin_child_proxy_init):
12746         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12747         (gst_child_proxy_get_child_by_index),
12748         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12749         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12750         (gst_child_proxy_get), (gst_child_proxy_set_property),
12751         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12752         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12753         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12754         * gst/gstchildproxy.h:
12755         * gst/parse/grammar.y:
12756         * tools/gst-inspect.c: (print_interfaces),
12757         (print_element_properties_info), (print_element_info):
12758           ported gstchildproxy over from 0.8
12759           ported gst-inspect fixes and enhancements over from 0.8
12760
12761 2005-08-22  Wim Taymans  <wim@fluendo.com>
12762
12763         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12764         (gst_base_transform_handle_buffer):
12765         Also call the transform function if we have ANY caps.
12766
12767         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12768         Fix debug info.
12769
12770 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12771
12772         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12773           Don't pretend to handle seek events if the source is not seekable
12774
12775 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12776
12777         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12778           Remove extra parameter to debug output
12779
12780         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12781         (gst_base_src_do_seek), (gst_base_src_activate_push):
12782           Fix seek event handling.
12783
12784         * gst/gstpipeline.c: (gst_pipeline_change_state):
12785         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12786         (gst_queue_src_activate_push):
12787           Don't start the src pad task on FLUSH_STOP if the pad
12788           isn't linked.
12789           Debug changes.
12790
12791 2005-08-22  Wim Taymans  <wim@fluendo.com>
12792
12793         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12794         Added check for gst_static_caps_get() refcounting.
12795
12796 2005-08-22  Wim Taymans  <wim@fluendo.com>
12797
12798         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12799         Make _static_caps_get() refcounting sane.
12800         
12801         * gst/gstelement.c: (gst_element_set_state):
12802         Add g_return_val_if_fail() to protect against segfaults.
12803
12804 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12805
12806         * docs/gst/tmpl/gstevent.sgml:
12807         * gst/gstevent.c:
12808         * gst/gstevent.h:
12809           inlined remaining docs, added missing doc comments
12810
12811 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12812
12813         * check/gst/gstbin.c: (GST_START_TEST):
12814           since we don't know when preroll is done, use refcount range
12815           check for the sink
12816         * gst/check/gstcheck.h:
12817           add macro for checking refcount range
12818
12819 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12820
12821         * check/Makefile.am:
12822           clean up environment for when registry gets built versus
12823           when actual tests are run; valgrind seems to not report
12824           leaks if GST_PLUGIN_PATH is set to some specific values
12825         * check/gst/gstbin.c: (GST_START_TEST):
12826           add more refcounting checks; maybe this exposes a
12827           preroll lock bug ?
12828         * common/check.mak:
12829         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12830         * gst/check/gstcheck.h:
12831         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12832         (gst_bin_change_state):
12833         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12834           add/fix debugging/whitespace
12835
12836 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12837
12838         * check/gst/gstevent.c: (event_probe), (test_event),
12839         (GST_START_TEST):
12840          Er, don't call gst_bin_watch_for_state_change you idiot.
12841
12842 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12843
12844         * check/Makefile.am:
12845           Use CHECK_CFLAGS and CHECK_LIBS
12846         * check/gst/gstevent.c: (event_probe), (test_event),
12847         (GST_START_TEST):
12848           Don't leak events.
12849         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12850         (gst_base_src_start), (gst_base_src_stop),
12851         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12852         (gst_base_src_change_state):
12853           Sprinkle gst_base_src_stop liberally around error paths to fix
12854           problems reusing a source after failed state changes.
12855         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12856         (helper_find_suggest), (gst_type_find_helper):
12857           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12858         * gst/gstevent.h:
12859         * docs/gst/tmpl/gstevent.sgml:
12860           Migrate part of the docs from the SGML file. Wait for ensonic to
12861           tell me how I did it wrong ;)
12862         * tools/gst-typefind.c: (main):
12863           Extra robustness to state changes between files.
12864
12865 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12866
12867         * check/Makefile.am:
12868           don't valgrind the controller test - it's leaking - Stefan, HELP
12869         * gst/check/gstcheck.c: (gst_check_message_error),
12870         (gst_check_chain_func), (gst_check_setup_element),
12871         (gst_check_teardown_element), (gst_check_setup_src_pad),
12872         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12873         (gst_check_teardown_sink_pad):
12874         * gst/check/gstcheck.h:
12875           add a bunch of methods to set up elements, and src and sink pads
12876         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12877         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12878         (GST_START_TEST):
12879           use them
12880         * gst/gstmessage.c:
12881         * gst/gsttag.h:
12882           whitespace/doc fixes
12883
12884 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12885
12886         * gst/gstelement.h:
12887           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12888           be handled by the application and not always printed as well
12889
12890 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12891
12892         * check/Makefile.am:
12893           set GST_TOOLS_DIR
12894         * gst/check/gstcheck.c: (gst_check_message_error):
12895         * gst/check/gstcheck.h:
12896           add a fail_unless_equals_int
12897           add fail_unless for error messages
12898
12899 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12900
12901         * check/Makefile.am:
12902         * check/gst.supp:
12903         * common/Makefile.am:
12904         * common/check.mak:
12905         * common/gst.supp:
12906           factor out some of the common stuff so we can use it
12907
12908 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12909
12910         * check/Makefile.am:
12911         * check/gst/gstiterator.c: (GST_START_TEST):
12912         * check/gst/gstsystemclock.c: (GST_START_TEST),
12913         (gst_systemclock_suite):
12914         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12915         * gst/gstclock.c:
12916           valgrind more tests
12917
12918 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12919
12920         * check/elements/.cvsignore:
12921         * check/elements/gstfakesrc.c:
12922           rename to name of element
12923         * check/elements/identity.c: (chain_func), (event_func),
12924         (setup_identity), (cleanup_identity), (GST_START_TEST),
12925         (identity_suite), (main):
12926           add a test for identity
12927         * check/Makefile.am:
12928         * pkgconfig/Makefile.am:
12929         * pkgconfig/gstreamer-check.pc.in:
12930         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12931         * gst/check:
12932         * gst/Makefile.am:
12933         * configure.ac:
12934           move the check stuff to a library that gets installed
12935         * check/gst-libs/controller.c: (GST_START_TEST):
12936         * check/gst-libs/gdp.c:
12937         * check/gst/gst.c: (GST_START_TEST):
12938         * check/gst/gstbin.c:
12939         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12940         * check/gst/gstbus.c:
12941         * check/gst/gstcaps.c: (GST_START_TEST):
12942         * check/gst/gstelement.c:
12943         * check/gst/gstghostpad.c:
12944         * check/gst/gstiterator.c:
12945         * check/gst/gstmessage.c:
12946         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12947         * check/gst/gstobject.c:
12948         * check/gst/gstpad.c: (GST_START_TEST):
12949         * check/gst/gststructure.c: (GST_START_TEST):
12950         * check/gst/gstsystemclock.c: (GST_START_TEST),
12951         (gst_systemclock_suite):
12952         * check/gst/gsttag.c: (gst_tag_suite):
12953         * check/gst/gstvalue.c:
12954         * check/pipelines/cleanup.c:
12955         * check/pipelines/simple_launch_lines.c:
12956         * check/states/sinks.c:
12957           change include statement
12958
12959         * docs/gst/gstreamer-sections.txt:
12960         * docs/gst/tmpl/gstpad.sgml:
12961           document more pad stuff
12962         * gst/gstminiobject.c: (gst_mini_object_ref),
12963         (gst_mini_object_unref):
12964           debug refcounting
12965
12966 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12967
12968         * docs/gst/tmpl/gst.sgml:
12969         * gst/gst.c:
12970           eliminate another tmpl file, fix spelling in the long-description
12971
12972 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12973
12974         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12975         (test_event), (timediff), (gstevents_suite):
12976           Should fix build on 64-bit arch's
12977
12978 2005-08-18  Andy Wingo  <wingo@pobox.com>
12979
12980         Make sure that when a pipeline goes to PLAYING, that data has
12981         actually hit the sink.
12982
12983         * check/states/sinks.c (test_sink): A sink that doesn't get any
12984         data shouldn't return SUCCESS for going to either PLAYING or
12985         PAUSED. Test also the return values on the way back down.
12986
12987         * gst/gstelement.c (gst_element_set_state): When changing the
12988         state of an element currently changing state asynchronously, go to
12989         lost-state after commiting the pending state. Makes future calls
12990         to get_state continue to return ASYNC.
12991
12992         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12993         ASYNC when going to PLAYING if we still don't have preroll, as can
12994         happen with live sources.
12995
12996 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12997
12998         * docs/pwg/advanced-types.xml:
12999           Hack long paragraph into 2 chunks as a workaround for buggy
13000           jadetex version in sid and breezy that loops infinitely and
13001           eats all RAM.
13002
13003 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13004
13005         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13006         (test_event), (timediff), (gstevents_suite):
13007           Provide more error margin in clock measurements to allow for 
13008           g_get_current_time inaccuracies.
13009
13010 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13011
13012         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13013         (test_event), (timediff), (gstevents_suite):
13014            Fix error message output so I might be able to tell why the
13015            test works here but fails on the build farm.
13016
13017 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13018
13019         * check/Makefile.am:
13020         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13021         (test_event), (timediff), (gstevents_suite), (main):
13022           I wrote a test!
13023
13024         * docs/design/part-seeking.txt:
13025           Spelling correction
13026
13027         * docs/gst/tmpl/gstevent.sgml:
13028         * docs/gst/tmpl/gstfakesrc.sgml:
13029           Docs updates.
13030
13031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13032           Treat a buffer-without-newsegment the same as a receiving 
13033           a newsegment not in time format, and disable syncing to the clock
13034           with a warning.
13035
13036         * gst/gstbus.c: (gst_bus_set_sync_handler):
13037           Assert if anyone tries to replace the existing sync_handler for bus, 
13038           as only the owner should be setting it.
13039
13040         * gst/gstevent.h:
13041           Have a fixed set of custom event enums with events identified by
13042           their structure name (as in 0.8), rather than a free-for-all
13043           allowing collisions between enum values from different plugins.
13044
13045         * gst/gstpad.c: (gst_pad_class_init):
13046           Docs change.
13047           
13048         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13049           Handle out-of-band downstream events from the sending thread.
13050
13051 2005-08-17  Andy Wingo  <wingo@pobox.com>
13052
13053         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13054         play-timeout==0 to mean no timeout at all. In that case, don't
13055         bother with a get_state or a warning, just return directly, even
13056         if it's ASYNC.
13057
13058         * gst/base/gstbasetransform.c: Debug changes.
13059
13060         * gst/gstutils.h:
13061         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13062         ensure bins post state change messages. A bit of a hack but I can't
13063         think of a way to avoid it.
13064
13065         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13066
13067 2005-08-16  Andy Wingo  <wingo@pobox.com>
13068
13069         * gst/base/gstadapter.h:
13070         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13071         peek() but you own the data. Not terribly efficient atm.
13072
13073 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13074
13075         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13076         (gst_element_found_tags):
13077         * gst/gstutils.h:
13078           Add two utility functions for tag handling.
13079
13080 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13081
13082         * docs/manual/advanced-dataaccess.xml:
13083         * docs/manual/basics-helloworld.xml:
13084           Fix docs to use _bin_add() before _link(), which fixes the examples
13085           with recent core versions (reported by Madhan Raj M
13086           <raj_madan@rediffmail.com>, #313199).
13087
13088 2005-08-16  Wim Taymans  <wim@fluendo.com>
13089
13090         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13091         Added subtract checks.
13092
13093         * docs/design/part-events.txt:
13094         Some more docs about newsegment
13095
13096         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13097         Fix FIXME
13098
13099         * gst/gstcaps.c: (gst_caps_to_string):
13100         Add comments, cleanups.
13101         
13102         * gst/gstelement.c: (gst_element_save_thyself):
13103         cleanups
13104         
13105         * gst/gstvalue.c: (gst_value_collect_int_range),
13106         (gst_string_unwrap), (gst_value_union_int_int_range),
13107         (gst_value_union_int_range_int_range),
13108         (gst_value_intersect_int_int_range),
13109         (gst_value_intersect_int_range_int_range),
13110         (gst_value_intersect_double_double_range),
13111         (gst_value_intersect_double_range_double_range),
13112         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13113         (gst_value_subtract_int_range_int),
13114         (gst_value_subtract_double_range_double),
13115         (gst_value_subtract_double_range_double_range),
13116         (gst_value_subtract_from_list), (gst_value_subtract_list),
13117         (gst_value_can_compare), (gst_value_compare_fraction):
13118         Cleanups, add comments, remove unneeded asserts.
13119
13120 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13121
13122         * tools/gst-launch.c: (event_loop):
13123           don't convert NULL structures to strings
13124
13125 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13126
13127         * docs/gst/gstreamer-sections.txt:
13128           made some defines private
13129         * docs/gst/tmpl/gstconfig.sgml:
13130         * docs/gst/tmpl/gstqueue.sgml:
13131         * docs/gst/tmpl/gsttaglist.sgml:
13132         * docs/gst/tmpl/gsttypes.sgml:
13133         * docs/gst/tmpl/gstutils.sgml:
13134         * docs/pwg/appendix-porting.xml:
13135         * gst/base/gstbasesink.h:
13136         * gst/base/gstbasesrc.c:
13137         * gst/base/gstbasesrc.h:
13138         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13139         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13140         * gst/gstelement.c: (gst_element_class_init):
13141         * gst/gstpad.c: (gst_pad_class_init):
13142         * gst/gstqueue.c: (gst_queue_class_init):
13143         * gst/gstxml.c: (gst_xml_class_init):
13144           documented all undocumented signal inline
13145         * libs/gst/controller/gst-controller.h:
13146           added padding
13147
13148 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13149
13150         * docs/pwg/appendix-porting.xml:
13151           Document _set_link_function -> _set_setcaps_function.
13152
13153 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13154
13155         * check/Makefile.am:
13156           add a .check target for running the check
13157         * check/gst-libs/controller.c: (GST_START_TEST):
13158           cosmetic fixups
13159         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13160           complete checks for gstbuffer; would be nice if I could get the
13161           gcov stuff to work so I can see if I actually completed gstbuffer.c
13162         * check/gstcheck.h:
13163           add ASSERT_BUFFER_REFCOUNT
13164
13165 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13166
13167         * docs/gst/gstreamer-sections.txt:
13168         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13169         * gst/gsttag.h:
13170           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13171           spew out a warning if a tag that is already registered
13172           is re-registered, unless it is re-registered with a 
13173           different type (#308438).
13174
13175 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13176
13177         * docs/pwg/appendix-porting.xml:
13178         * docs/pwg/building-state.xml:
13179           Add some paragraphs about state changes in 0.9 to the PWG
13180           and the porting guide, in particular about the new meaning
13181           of GST_STATE_PAUSED and how to write state change functions
13182           with concurrent access by multiple threads in mind.
13183
13184 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13185
13186         * docs/gst/gstreamer-docs.sgml:
13187         * docs/libs/gstreamer-libs-docs.sgml:
13188           added deprecation and since indexes
13189         * libs/gst/controller/gst-controller.c:
13190         * libs/gst/controller/gst-helper.c:
13191           added since tags
13192
13193
13194 2005-08-11  Wim Taymans  <wim@fluendo.com>
13195
13196         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13197         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13198         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13199         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13200         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13201         (gst_ghost_pad_set_target):
13202         Actually implement (re)setting the target on a ghostpad
13203         as described in the docs.
13204
13205 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13206
13207         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13208           Check whether GST_DEBUG_NO_COLOR environment variable is
13209           set and disable coloured debug output if that is the case.
13210
13211 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13212
13213         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13214         (gst_type_find_helper):
13215           The memory returned by gst_type_find_peek() needs to
13216           stay valid until the end of a typefind function, and
13217           typefind functions may keep results from different 
13218           offsets around, so we can't just unref the buffer from
13219           the previous _peek(), but have to save all buffers 
13220           returned by _peek() until typefinding is done and only
13221           free them then.
13222
13223 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13224
13225         * docs/gst/gstreamer-sections.txt:
13226         * gst/gstutils.h:
13227           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13228
13229 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13230
13231         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13232           Fix a pretty good memleak.
13233
13234 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13235
13236         * gst/gstiterator.h:
13237           Fix wrong include and 'make distcheck'.
13238
13239 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13240
13241         * gst/gstbin.c: (bin_bus_handler):
13242           Use gst_element_post_message() instead.
13243
13244 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13245
13246         * gst/base/gstadapter.h:
13247         * gst/base/gstbasesink.h:
13248         * gst/base/gstbasesrc.h:
13249         * gst/base/gstbasetransform.h:
13250         * gst/base/gstcollectpads.h:
13251         * gst/base/gstpushsrc.h:
13252         * gst/gstiterator.h:
13253           Add padding to our base elements' class and instance structs and
13254           to GstIterator (you will need to rebuild all plugins and apps!)
13255
13256 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13257
13258         * gst/gstbin.c: (bin_bus_handler):
13259           Make default message forwarding from child->bus to bin->bus
13260           threadsafe and make it not emit warnings if the parent has no bus.
13261
13262 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13263
13264         * gst/gstelement.c: (activate_pads):
13265           On paused->ready, set pad->caps to NULL, as is the documented
13266           behaviour in this state change. Fixes playback of series of
13267           media files when visualization is enabled in Totem.
13268
13269 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13270
13271         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13272           Allow NULL as filter-caps (which means "any").
13273
13274 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13275
13276         * docs/libs/gstreamer-libs-sections.txt:
13277         * libs/gst/controller/gst-controller.c:
13278         * libs/gst/controller/gst-controller.h:
13279         * libs/gst/controller/gst-helper.c:
13280           adding more entries to the docs and fix small doc-bugs
13281
13282 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13283
13284         * docs/gst/gstreamer-docs.sgml:
13285         * docs/gst/gstreamer-sections.txt:
13286         * docs/gst/gstreamer.types:
13287         * docs/gst/tmpl/gstbasesink.sgml:
13288         * docs/gst/tmpl/gstbasesrc.sgml:
13289         * docs/gst/tmpl/gstbasetransform.sgml:
13290         * docs/gst/tmpl/gstfakesrc.sgml:
13291         * gst/base/gstcollectpads.c:
13292         * gst/base/gstcollectpads.h:
13293         * libs/gst/controller/gst-controller.c:
13294         * libs/gst/controller/gst-controller.h:
13295         * libs/gst/controller/gst-helper.c:
13296         * libs/gst/controller/gst-interpolation.c:
13297         * libs/gst/controller/lib.c:
13298           added long/short desc for controller docs
13299           added collectpads base class docs
13300           added correct includes to base-class docs
13301
13302 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13303
13304         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13305         (gst_test_mono_source_set_property),
13306         (gst_test_mono_source_class_init), (GST_START_TEST),
13307         (gst_controller_suite):
13308         * docs/gst/gstreamer-docs.sgml:
13309         * docs/gst/gstreamer-sections.txt:
13310         * docs/gst/gstreamer.types:
13311         * docs/libs/gstreamer-libs-docs.sgml:
13312         * docs/libs/gstreamer-libs-sections.txt:
13313         * gst/base/gstadapter.c:
13314         * libs/gst/controller/gst-controller.c:
13315         (gst_controlled_property_new), (gst_controlled_property_free),
13316         (gst_controller_new_valist),
13317         (gst_controller_remove_properties_valist),
13318         (gst_controller_sink_values), (_gst_controller_finalize):
13319         * libs/gst/controller/gst-controller.h:
13320         * libs/gst/controller/gst-helper.c:
13321         (gst_object_control_properties), (gst_object_uncontrol_properties),
13322         (gst_object_get_controller), (gst_object_set_controller),
13323         (gst_object_sink_values), (gst_object_get_value_arrays),
13324         (gst_object_get_value_array):
13325           more tests (and fixes) for the controller
13326           more docs for the controller
13327           integrated companies docs for the adapter 
13328
13329 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13330
13331         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13332         (GST_START_TEST), (fakesrc_suite):
13333           add tests for sizetype
13334
13335 2005-08-04  Andy Wingo  <wingo@pobox.com>
13336
13337         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13338         fixes buffer_alloc proxying among other things.
13339
13340         * gst/base/gstbasetransform.c:
13341         * gst/base/gstbasetransform.h:
13342         Revert patch to gstbasetransform from 7-28 removing
13343         delay_configure.
13344
13345         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13346         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13347         Semantics changed, should return not the size of the output buffer
13348         but the byte size of a buffer with a given caps.
13349
13350         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13351         debug object.
13352         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13353         out) are not the pad caps until setcaps finishes.
13354         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13355         not-in-place case as well. Deal with changing from in-place to
13356         not-in-place within calling pad_alloc_buffer. Still a bit
13357         concerned about the overhead here...
13358
13359 2005-08-03  Andy Wingo  <wingo@pobox.com>
13360
13361         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13362         fixating is an error.
13363
13364 2005-08-04  Edward Hervey  <edward@fluendo.com>
13365
13366         * gst/base/gstadapter.h: 
13367         Added gst_adapter_get_type() to the header
13368
13369 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13370
13371         * check/Makefile.am:
13372         * check/gst-libs/controller.c:
13373         * libs/gst/controller/gst-controller.c:
13374         (gst_controller_new_valist):
13375           added check test suite for the controller
13376         * gst/base/gstpushsrc.c:
13377           fixed a doc typo
13378
13379 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13380
13381         * docs/gst/Makefile.am:
13382         * docs/gst/gstreamer-docs.sgml:
13383         * docs/gst/gstreamer-sections.txt:
13384         * docs/gst/gstreamer.types:
13385         * docs/gst/tmpl/gstfakesrc.sgml:
13386         * gst/base/README:
13387         * gst/base/gstbasesink.c:
13388         * gst/base/gstbasesink.h:
13389         * gst/base/gstbasesrc.c:
13390         * gst/base/gstbasesrc.h:
13391         * gst/base/gstbasetransform.c:
13392         * gst/base/gstpushsrc.c:
13393         * gst/base/gstpushsrc.h:
13394           add short/long description docs to base classes
13395           add pushsrc to the docs
13396           remove consolidated doc fragments
13397
13398 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13399
13400         * configure.ac:
13401         * docs/libs/Makefile.am:
13402         * docs/libs/gstreamer-libs-docs.sgml:
13403         * docs/libs/gstreamer-libs-sections.txt:
13404         * docs/libs/gstreamer-libs.types:
13405         * examples/Makefile.am:
13406         * examples/controller/.cvsignore:
13407         * examples/controller/Makefile.am:
13408         * examples/controller/audio-example.c: (main):
13409         * libs/gst/Makefile.am:
13410         * libs/gst/controller/.cvsignore:
13411         * libs/gst/controller/Makefile.am:
13412         * libs/gst/controller/gst-controller.c:
13413         (on_object_controlled_property_changed), (gst_timed_value_compare),
13414         (gst_timed_value_find),
13415         (gst_controlled_property_set_interpolation_mode),
13416         (gst_controlled_property_new), (gst_controlled_property_free),
13417         (gst_controller_find_controlled_property),
13418         (gst_controller_new_valist), (gst_controller_new),
13419         (gst_controller_remove_properties_valist),
13420         (gst_controller_remove_properties), (gst_controller_set),
13421         (gst_controller_set_from_list), (gst_controller_unset),
13422         (gst_controller_get), (gst_controller_get_all),
13423         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13424         (gst_controller_get_value_array),
13425         (gst_controller_set_interpolation_mode),
13426         (_gst_controller_finalize), (_gst_controller_init),
13427         (_gst_controller_class_init), (gst_controller_get_type):
13428         * libs/gst/controller/gst-controller.h:
13429         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13430         (g_object_uncontrol_properties), (g_object_get_controller),
13431         (g_object_set_controller), (g_object_sink_values),
13432         (g_object_get_value_arrays), (g_object_get_value_array):
13433         * libs/gst/controller/gst-interpolation.c:
13434         (gst_controlled_property_find_timed_value_node),
13435         (interpolate_none_get), (interpolate_trigger_get),
13436         (interpolate_trigger_get_value_array):
13437         * libs/gst/controller/lib.c: (gst_controller_init):
13438         * pkgconfig/Makefile.am:
13439         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13440         * pkgconfig/gstreamer-control.pc.in:
13441         * testsuite/Makefile.am:
13442         * testsuite/controller/.cvsignore:
13443         * testsuite/controller/Makefile.am:
13444         * testsuite/controller/interpolator.c: (main):
13445           added controller code
13446           removed dparam pc files
13447
13448 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13449         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13450         (gst_collectpads_stop):
13451           Broadcast the condition when shutting down, to make sure we wake all
13452           threads up. Shut down pads on finalize, for safety.
13453
13454 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13455         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13456         (gst_base_transform_handle_buffer),
13457         (gst_base_transform_change_state):
13458           Handle PAUSED->READY->PAUSED transition after negotiation
13459           occurred already.
13460         * gst/gstmessage.c: (gst_message_init):
13461           Extra piece of debug for new messages.
13462
13463 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13464
13465         * configure.ac:
13466         * docs/gst/tmpl/gstbasesrc.sgml:
13467         * docs/gst/tmpl/gstelement.sgml:
13468         * docs/gst/tmpl/gstevent.sgml:
13469         * docs/gst/tmpl/gstfakesrc.sgml:
13470         * docs/gst/tmpl/gstformat.sgml:
13471         * docs/gst/tmpl/gstghostpad.sgml:
13472         * docs/gst/tmpl/gstpad.sgml:
13473         * docs/gst/tmpl/gstquery.sgml:
13474         * docs/gst/tmpl/gststructure.sgml:
13475         * docs/gst/tmpl/gsttaglist.sgml:
13476         * docs/gst/tmpl/gstvalue.sgml:
13477         * docs/libs/gstreamer-libs-docs.sgml:
13478         * docs/libs/gstreamer-libs-sections.txt:
13479         * docs/libs/gstreamer-libs.types:
13480         * libs/gst/Makefile.am:
13481         * libs/gst/control/.cvsignore:
13482         * libs/gst/control/Makefile.am:
13483         * libs/gst/control/control.c:
13484         * libs/gst/control/control.h:
13485         * libs/gst/control/dparam.c:
13486         * libs/gst/control/dparam.h:
13487         * libs/gst/control/dparam_smooth.c:
13488         * libs/gst/control/dparam_smooth.h:
13489         * libs/gst/control/dparamcommon.h:
13490         * libs/gst/control/dparammanager.c:
13491         * libs/gst/control/dparammanager.h:
13492         * libs/gst/control/dplinearinterp.c:
13493         * libs/gst/control/dplinearinterp.h:
13494         * libs/gst/control/unitconvert.c:
13495         * libs/gst/control/unitconvert.h:
13496         * testsuite/Makefile.am:
13497         * testsuite/dynparams/.cvsignore:
13498         * testsuite/dynparams/Makefile.am:
13499         * testsuite/dynparams/dparamstest.c:
13500         * tools/Makefile.am:
13501         * tools/gst-inspect.c: (print_element_info), (main):
13502         * tools/gst-xmlinspect.c: (print_element_info), (main):
13503           deactivate and remove dparams (libgstcontrol)
13504
13505 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13506
13507         * gst/elements/gsttypefindelement.c:
13508         (gst_type_find_element_have_type), (gst_type_find_element_init),
13509         (stop_typefinding), (gst_type_find_element_handle_event),
13510         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13511         * gst/elements/gsttypefindelement.h:
13512           Set caps on all outgoing buffers, not just the first one.
13513
13514 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13515
13516         * gst/elements/gsttypefindelement.c:
13517         (gst_type_find_element_have_type),
13518         (gst_type_find_element_check_set_buffer_caps),
13519         (gst_type_find_element_init), (stop_typefinding),
13520         (gst_type_find_element_handle_event),
13521         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13522         * gst/elements/gsttypefindelement.h:
13523           Set caps on first outgoing buffer when we've found the type.
13524
13525 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13526
13527         * docs/gst/gstreamer-docs.sgml:
13528         * docs/gst/gstreamer-sections.txt:
13529         * docs/gst/tmpl/gstscheduler.sgml:
13530         * docs/gst/tmpl/gstschedulerfactory.sgml:
13531           Remove some old cruft from docs.
13532
13533 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13534
13535         * gst/gstpad.h:
13536           Fix inline docs for GstPadLinkReturn.
13537           
13538         * gst/gststructure.c: (gst_structure_has_name):
13539         * gst/gststructure.h:
13540         * docs/gst/gstreamer-sections.txt:
13541           New API: gst_structure_has_name().
13542
13543 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13544
13545         * configure.ac:
13546           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13547           and _LARGEFILE_SOURCE in config.h as required. Do not 
13548           export those flags in our .pc files any longer (#142209).
13549
13550           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13551
13552         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13553         (gst_file_sink_do_seek), (gst_file_sink_event),
13554         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13555           Redo seek/tell calls with large file support in mind; add some
13556           debugging messages; add log message that tells us when large
13557           file support is unavailable or not enabled for some reason.
13558
13559         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13560           Add log message that tells us when large file support 
13561           is unavailable or not enabled for some reason.
13562
13563 2005-07-29  Wim Taymans  <wim@fluendo.com>
13564
13565         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13566         Added test for removing an element with ghostpad from a bin.
13567         Fixed test as current implementation does the right thing.
13568
13569         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13570         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13571         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13572         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13573         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13574         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13575         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13576         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13577         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13578         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13579         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13580         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13581         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13582         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13583         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13584         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13585         * gst/gstghostpad.h:
13586         Clean up ghostpads, remove properties for internal stuff.
13587         Make threadsafe.
13588         Fix refcounting.
13589         Prepare for switching targets, not all use cases work yet.
13590
13591 2005-07-29  Wim Taymans  <wim@fluendo.com>
13592
13593         * docs/design/part-gstghostpad.txt:
13594         Small update.
13595
13596         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13597         (gst_bin_remove_func):
13598         Unlinking pads while holding the bin LOCK is not a good
13599         idea.
13600
13601         * gst/gstpad.c: (gst_pad_class_init),
13602         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13603         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13604         No prob setting template after creating the pad.
13605
13606 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13607
13608         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13609         (gst_bus_peek), (gst_bus_source_dispatch),
13610         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13611         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13612           gst_bus_poll may be called from other threads. Handle
13613           this nicely by not making poll_data disappear off the
13614           stack once gst_bus_poll returns.
13615           gst_bus_peek now increments the refcount on the returned
13616           message.
13617
13618 2005-07-29  Wim Taymans  <wim@fluendo.com>
13619
13620         * docs/design/part-gstghostpad.txt:
13621         Overview of current GhostPad datastructures and use
13622         cases for changing the target.
13623
13624 2005-07-28  Wim Taymans  <wim@fluendo.com>
13625
13626         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13627         Added checks for hierarchy consistency whan adding linked
13628         elements to bins.
13629
13630         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13631         Added check to test element scheduling without bin/pipeline.
13632
13633         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13634         First add elements to bin, then link.
13635         
13636         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13637         (gst_bin_remove_func):
13638         Unlink pads from elements added/removed from bin to maintain
13639         hierarchy consistency.
13640
13641 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13642
13643         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13644         (gst_base_transform_handle_buffer):
13645         * gst/base/gstbasetransform.h:
13646           Remove broken delay_configure (fixes renegotiation of software
13647           scaling pipelines); remove some leftover printf()s.
13648
13649 2005-07-28  Wim Taymans  <wim@fluendo.com>
13650
13651         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13652         Added some more tests for wrong hierarchy
13653
13654         * docs/design/part-overview.txt:
13655         Some updates.
13656
13657         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13658         Cleanups.
13659
13660         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13661         (gst_element_dispose):
13662         Some more cleanups.
13663
13664         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13665         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13666         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13667         (gst_pad_set_caps), (gst_pad_send_event):
13668         Check for correct hierarchy when linking pads. Moving to
13669         strict requirement for ghostpads when linking elements in
13670         different bins.
13671
13672         * gst/gstpad.h:
13673         Clean ups. Added WRONG_HIERARCHY return value.
13674
13675 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13676
13677         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13678           Better debug if no transform is possible.
13679
13680 2005-07-27  Wim Taymans  <wim@fluendo.com>
13681
13682         * docs/random/wtay/network-transp:
13683         Some old doc I had.
13684
13685 2005-07-27  Wim Taymans  <wim@fluendo.com>
13686
13687         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13688         (gst_dp_event_from_packet):
13689         Fix serialization of seek events.
13690
13691 2005-07-27  Wim Taymans  <wim@fluendo.com>
13692
13693         * check/gst-libs/gdp.c: (GST_START_TEST):
13694         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13695         Fix compilation and fix event serialization.
13696
13697 2005-07-27  Wim Taymans  <wim@fluendo.com>
13698
13699         * CHANGES-0.9:
13700         * docs/design/part-TODO.txt:
13701         * docs/design/part-events.txt:
13702         Some docs updates
13703
13704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13705         (gst_base_sink_event), (gst_base_sink_do_sync),
13706         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13707         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13708         (gst_base_src_do_seek), (gst_base_src_event_handler),
13709         (gst_base_src_loop):
13710         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13711         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13712         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13713         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13714         (gst_base_transform_set_passthrough),
13715         (gst_base_transform_is_passthrough):
13716         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13717         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13718         Event updates.
13719
13720         * gst/gstbuffer.h:
13721         Use faster casts.
13722
13723         * gst/gstelement.c: (gst_element_seek):
13724         * gst/gstelement.h:
13725         Update gst_element_seek.
13726
13727         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13728         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13729         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13730         (gst_event_new_eos), (gst_event_new_newsegment),
13731         (gst_event_parse_newsegment), (gst_event_new_tag),
13732         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13733         (gst_event_parse_qos), (gst_event_new_seek),
13734         (gst_event_parse_seek), (gst_event_new_navigation):
13735         * gst/gstevent.h:
13736         Make GstEvent use GstStructure. Add parsing code, make sure the
13737         API is sufficiently generic.
13738         Mark possible directions of events and serialization.
13739
13740         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13741         (_gst_message_copy), (gst_message_new_segment_start),
13742         (gst_message_new_segment_done), (gst_message_new_custom),
13743         (gst_message_parse_segment_start),
13744         (gst_message_parse_segment_done):
13745         Small cleanups.
13746
13747         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13748         (gst_pad_set_caps), (gst_pad_send_event):
13749         Update for new events. 
13750         Catch events sent in wrong directions.
13751
13752         * gst/gstqueue.c: (gst_queue_link_src),
13753         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13754         (gst_queue_handle_src_query):
13755         Event updates.
13756
13757         * gst/gsttag.c:
13758         * gst/gsttag.h:
13759         Remove event code from this file.
13760
13761         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13762         (gst_dp_event_from_packet):
13763         Event updates.
13764
13765 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13766
13767         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13768         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13769         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13770           Make debugging actually useful.
13771
13772 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13773
13774         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13775         (gst_pad_fixate_caps):
13776           Implement default fixation once again, so that gst_pad_fixate()
13777           actually does anything at all. This probably needs to be some
13778           sort of a last resort, and use profile-based fixation first, but
13779           since that doesn't exist yet, this is the best we have. Fixes
13780           visualization in Totem.
13781
13782 2005-07-22  Wim Taymans  <wim@fluendo.com>
13783
13784         * docs/design/part-events.txt:
13785         Small update.
13786
13787         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13788         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13789         (gst_base_sink_activate_pull):
13790         Some more comments.
13791
13792         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13793         (gst_fake_src_create):
13794         Fix handoff marshall.
13795
13796         * gst/elements/gstidentity.c: (gst_identity_class_init),
13797         (gst_identity_transform_ip):
13798         We're a real inplace element.
13799
13800         * gst/gstbus.c: (gst_bus_post):
13801         Added some comments.
13802
13803         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13804         * tests/muxing/case1.c: (main):
13805         * tests/sched/dynamic-pipeline.c: (main):
13806         * tests/sched/interrupt1.c: (main):
13807         * tests/sched/interrupt2.c: (main):
13808         * tests/sched/interrupt3.c: (main):
13809         * tests/sched/runxml.c: (main):
13810         * tests/sched/sched-stress.c: (main):
13811         * tests/seeking/seeking1.c: (event_received), (main):
13812         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13813         (main):
13814         * tests/threadstate/threadstate3.c: (main):
13815         * tests/threadstate/threadstate4.c: (main):
13816         * tests/threadstate/threadstate5.c: (main):
13817         Fix the tests.
13818
13819 2005-07-21  Wim Taymans  <wim@fluendo.com>
13820
13821         * docs/design/part-seeking.txt:
13822         Some small additions.
13823
13824         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13825         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13826         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13827         * gst/base/gstbasesink.h:
13828         discont values are gint64, handle the math correctly.
13829
13830         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13831         Make the basesrc report error if the source pad is not linked.
13832
13833         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13834         (gst_queue_loop), (gst_queue_handle_src_query),
13835         (gst_queue_src_activate_push):
13836         Make queue collect data even if the srcpad is not linked.
13837         Start pushing out data as soon as it is linked.
13838
13839         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13840         * gst/gstutils.h:
13841         Added gst_flow_get_name() to ease error reporting.
13842
13843 2005-07-20  Wim Taymans  <wim@fluendo.com>
13844
13845         * gst/gstmessage.c: (gst_message_new_segment_start),
13846         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13847         (gst_message_parse_segment_done):
13848         * gst/gstmessage.h:
13849         Added a bunch of messages for advanced seeking.
13850
13851         * gst/parse/grammar.y:
13852         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13853         (gst_dpman_state_changed):
13854         Fix some new-pad -> pad-added signals
13855
13856 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13857
13858         * docs/manual/appendix-porting.xml:
13859         * docs/pwg/appendix-porting.xml:
13860           Document new-pad/state-change signal renames and the FixedList
13861           type rename.
13862
13863 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13864
13865         * docs/manual/advanced-autoplugging.xml:
13866         * docs/manual/basics-helloworld.xml:
13867         * docs/manual/basics-pads.xml:
13868         * docs/random/ds/0.9-suggested-changes:
13869         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13870         * gst/gstelement.h:
13871         * gst/gstevent.h:
13872         * gst/gstformat.h:
13873         * gst/gstquery.h:
13874         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13875         (gst_structure_parse_array), (gst_structure_parse_value):
13876         * gst/gstvalue.c: (gst_type_is_fixed),
13877         (gst_value_list_prepend_value), (gst_value_list_append_value),
13878         (gst_value_list_get_size), (gst_value_list_get_value),
13879         (gst_value_transform_array_string), (gst_value_serialize_array),
13880         (gst_value_deserialize_array), (gst_value_intersect_array),
13881         (gst_value_is_fixed), (_gst_value_initialize):
13882         * gst/gstvalue.h:
13883           GstElement::new-pad -> pad-added, GstElement::state-change ->
13884           state-changed, GstValueFixedList -> GstValueArray, add format and
13885           flags as their own arguments in gst_element_seek() (should improve
13886           "bindeability"), remove function generators since they don't work
13887           under a whole bunch of compilers (they were deprecated already
13888           anyway).
13889
13890 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13891
13892         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13893         (_gst_debug_register_funcptr):
13894         * gst/gstinfo.h:
13895           Fix illegal cast on some platforms (#309253).
13896
13897 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13898
13899         * gst/gstmessage.c: (gst_message_new_custom):
13900         * gst/gstmessage.h:
13901           Add _new_custom, make _new_application a macro to _new_custom.
13902
13903 2005-07-20  Wim Taymans  <wim@fluendo.com>
13904
13905         * gst/base/gstbasesrc.c: (gst_base_src_init),
13906         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13907         * gst/base/gstbasesrc.h:
13908         Add a gboolean to decide when to push out a discont.
13909
13910         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13911         (gst_queue_loop), (gst_queue_handle_src_query),
13912         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13913         (gst_queue_set_property), (gst_queue_get_property):
13914         Some cleanups.
13915
13916         * tests/threadstate/threadstate1.c: (main):
13917         Make a thread test compile and run... very silly..
13918
13919
13920 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13921
13922         * docs/manual/appendix-porting.xml:
13923           Mention removal of libgstgconf-0.9.la and existence of gconf
13924           elements.
13925
13926 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13927
13928         * docs/pwg/advanced-clock.xml:
13929         * docs/pwg/appendix-porting.xml:
13930         * docs/pwg/intro-preface.xml:
13931         * docs/pwg/other-base.xml:
13932         * docs/pwg/other-manager.xml:
13933         * docs/pwg/other-nton.xml:
13934         * docs/pwg/other-ntoone.xml:
13935         * docs/pwg/other-oneton.xml:
13936         * docs/pwg/pwg.xml:
13937           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13938           demuxer), remove n-to-n (was never written), fix some code examples
13939           and links and update the porting section to include all this.
13940
13941 2005-07-19  Wim Taymans  <wim@fluendo.com>
13942
13943         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13944         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13945         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13946         (gst_queue_src_activate_push), (gst_queue_change_state),
13947         (gst_queue_get_property):
13948         * gst/gstqueue.h:
13949         Propagate GstFlowReturn more intelligently upstream and output
13950         an ERROR/EOS when streaming stopped due to fatal error.
13951
13952 2005-07-19  Wim Taymans  <wim@fluendo.com>
13953
13954         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13955         Don't block forever for the state change to complete, the
13956         pipeline already did with a sensible timeout.
13957
13958 2005-07-19  Wim Taymans  <wim@fluendo.com>
13959
13960         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13961         Make sure we never call the create function is we
13962         got deactivated.
13963
13964 2005-07-19  Andy Wingo  <wingo@pobox.com>
13965
13966         * gst/parse/parse.l: Attempt to solve bug #172815.
13967
13968 2005-07-19  Wim Taymans  <wim@fluendo.com>
13969
13970         * docs/design/part-clocks.txt:
13971         * docs/design/part-events.txt:
13972         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13973         Small docs updates.
13974         Only update the seeking values when we are not
13975         busy streaming.
13976
13977 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13978
13979         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13980           Oops, ignore the result of gst_pad_push_event here.
13981
13982 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13983
13984         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13985         (gst_base_src_activate_push):
13986           Send discont event from the loop function, as pads
13987           aren't activated yet in the activate_push handler.
13988
13989         * gst/gstbin.c: (bin_bus_handler):
13990           Don't leak element name.
13991
13992 2005-07-18  Andy Wingo  <wingo@pobox.com>
13993
13994         * configure.ac: Use AS_LIBTOOL_TAGS.
13995
13996 2005-07-18  Wim Taymans  <wim@fluendo.com>
13997
13998         * docs/gst/gstreamer.types:
13999         Remove deleted types.
14000
14001 2005-07-18  Wim Taymans  <wim@fluendo.com>
14002
14003         * check/elements/gstfakesrc.c: (GST_START_TEST):
14004         * configure.ac:
14005         * gst/Makefile.am:
14006         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14007         (init_popt_callback):
14008         * gst/gst.h:
14009         * gst/gst_private.h:
14010         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14011         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14012         * gst/gstbin.h:
14013         * gst/gstbus.h:
14014         * gst/gstconfig.h.in:
14015         * gst/gstelement.c: (gst_element_class_init),
14016         (gst_element_set_base_time), (gst_element_get_base_time),
14017         (iterator_fold_with_resync), (gst_element_change_state),
14018         (gst_element_dispose), (gst_element_get_bus):
14019         * gst/gstelement.h:
14020         * gst/gstelementfactory.h:
14021         * gst/gsterror.c: (_gst_core_errors_init):
14022         * gst/gsterror.h:
14023         * gst/gstevent.h:
14024         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14025         * gst/gstindex.c:
14026         * gst/gstinfo.c: (_gst_debug_init):
14027         * gst/gstmessage.c: (_gst_message_copy):
14028         * gst/gstmessage.h:
14029         * gst/gstminiobject.h:
14030         * gst/gstobject.c:
14031         * gst/gstobject.h:
14032         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14033         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14034         * gst/gstpad.h:
14035         * gst/gstparse.h:
14036         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14037         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14038         (gst_pipeline_get_last_stream_time):
14039         * gst/gstpipeline.h:
14040         * gst/gstpluginfeature.h:
14041         * gst/gstquery.h:
14042         * gst/gstscheduler.c:
14043         * gst/gstscheduler.h:
14044         * gst/gststructure.h:
14045         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14046         (gst_task_finalize), (gst_task_func), (gst_task_create),
14047         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14048         (gst_task_stop), (gst_task_pause):
14049         * gst/gsttask.h:
14050         * gst/gsttypefind.h:
14051         * gst/gsttypes.h:
14052         * gst/registries/gstlibxmlregistry.c: (load_feature),
14053         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14054         * gst/registries/gstxmlregistry.c:
14055         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14056         * gst/schedulers/threadscheduler.c:
14057         * libs/gst/control/dparammanager.h:
14058         * tools/gst-inspect.c: (print_element_list),
14059         (print_plugin_features), (print_element_features):
14060         * tools/gst-xmlinspect.c: (print_element_list),
14061         (print_plugin_info), (main):
14062         Removed plugable schedulers.
14063         Removed Scheduler/Manager from elements.
14064         Removed gsttypes.h, rearranged includes.
14065         Removed dependency pad<->element, element<>pipeline, and
14066         various others,  fix includes.
14067         implement gst_pad_get_parent() with gst_object_get_parent()
14068         Make GstTask sefcontained.
14069         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14070         timeout.
14071         Fix endless loop in iterator_fold_with_resync.
14072
14073
14074 2005-07-18  Wim Taymans  <wim@fluendo.com>
14075
14076         * gst/Makefile.am:
14077         * gst/gstarch.h:
14078         Remove old file.
14079
14080 2005-07-18  Wim Taymans  <wim@fluendo.com>
14081
14082         * gst/Makefile.am:
14083         No more cothreads.h
14084
14085 2005-07-18  Wim Taymans  <wim@fluendo.com>
14086
14087         * gst/cothreads.c:
14088         * gst/cothreads.h:
14089         Let's remove these.
14090
14091 2005-07-18  Wim Taymans  <wim@fluendo.com>
14092
14093         * docs/design/part-dynamic.txt:
14094         * docs/design/part-events.txt:
14095         * docs/design/part-seeking.txt:
14096         Some more docs in the works.
14097
14098         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14099         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14100         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14101         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14102         (gst_base_transform_handle_buffer),
14103         (gst_base_transform_sink_activate_push),
14104         (gst_base_transform_src_activate_pull),
14105         (gst_base_transform_set_passthrough),
14106         (gst_base_transform_is_passthrough):
14107         Refcounting fixes.
14108
14109         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14110         Cleanups.
14111
14112         * gst/gstevent.c: (gst_event_finalize):
14113         Set SRC to NULL.
14114
14115         * gst/gstutils.c: (gst_element_unlink),
14116         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14117         (gst_pad_proxy_setcaps):
14118         * gst/gstutils.h:
14119         Add _get_parent_element() to get a pads parent as an element.
14120
14121 2005-07-18  Wim Taymans  <wim@fluendo.com>
14122
14123         * check/gst/gstbin.c: (GST_START_TEST):
14124         Remove bogus test.
14125
14126 2005-07-18  Wim Taymans  <wim@fluendo.com>
14127
14128         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14129         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14130         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14131         (gst_base_sink_event), (gst_base_sink_do_sync),
14132         (gst_base_sink_chain), (gst_base_sink_loop),
14133         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14134         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14135         Refcounting fixes.
14136         Fix logic for returning ASYNC when not prerolled.
14137
14138 2005-07-18  Wim Taymans  <wim@fluendo.com>
14139
14140         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14141         Fix nasty refcount bug.
14142
14143 2005-07-16 Philippe Khalaf <burger@speedy.org>
14144
14145         * gst/elements/gstfdsrc.c:
14146         * gst/elements/gstfdsrc.h:
14147         * gst/elements/gstelements.c:
14148         * gst/elements/Makefile.am:
14149         Ported fdsrc to 0.9.
14150
14151 2005-07-16  Wim Taymans  <wim@fluendo.com>
14152
14153         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14154         (gst_base_sink_do_sync):
14155         Fix compile error.
14156
14157 2005-07-16  Wim Taymans  <wim@fluendo.com>
14158
14159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14160         (gst_base_sink_event), (gst_base_sink_get_times),
14161         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14162         * gst/base/gstbasesink.h:
14163         Store and use discont values when syncing buffers as described
14164         in design docs.
14165         
14166         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14167         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14168         (gst_base_src_activate_push):
14169         Push discont event when starting.
14170
14171         * gst/elements/gstidentity.c: (gst_identity_transform):
14172         Small cleanups.
14173
14174         * gst/gstbin.c: (gst_bin_change_state):
14175         Small cleanups in base_time  distribution.
14176
14177         * gst/gstelement.c: (gst_element_set_base_time),
14178         (gst_element_get_base_time), (gst_element_change_state):
14179         * gst/gstelement.h:
14180         Added methods for the base_time of the element.
14181         Some MT fixes.
14182
14183         * gst/gstpipeline.c: (gst_pipeline_send_event),
14184         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14185         (gst_pipeline_get_last_stream_time):
14186         * gst/gstpipeline.h:
14187         MT fixes.
14188         Handle seeking as described in design doc, remove stream_time
14189         hack.
14190         Cleanups clock and stream_time selection code. Added accessors
14191         for the stream_time.
14192         
14193
14194 2005-07-16  Andy Wingo  <wingo@pobox.com>
14195
14196         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14197         (#305291).
14198
14199 2005-07-16  Wim Taymans  <wim@fluendo.com>
14200
14201         * check/gst/gstbin.c: (GST_START_TEST):
14202         Make elements silent as the deep_notify refs the
14203         parent, which might make the test fail.
14204
14205         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14206         Don't hold the lock for too long.
14207
14208 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14209
14210         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14211           Don't unref the caps we passed to gst_caps_make_writable() after
14212           passing them. gst_caps_make_writable() will do that for us.
14213
14214 2005-07-15  Andy Wingo  <wingo@pobox.com>
14215
14216         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14217         (#157311).
14218
14219         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14220         own marshalling function for the handoff signal. Properly type the
14221         buffer as a buffer. Fixes some warnings. Should do a more general
14222         solution.
14223         (gst_identity_class_init): Plug into the right marshaller.
14224
14225 2005-07-15  Wim Taymans  <wim@fluendo.com>
14226
14227         * docs/design/part-TODO.txt:
14228         * docs/design/part-clocks.txt:
14229         * docs/design/part-element-sink.txt:
14230         * docs/design/part-events.txt:
14231         * docs/design/part-gstpipeline.txt:
14232         Updated docs, mostly DISCONT related.
14233
14234 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14235
14236         * docs/pwg/building-pads.xml:
14237           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14238
14239 2005-07-15  Andy Wingo  <wingo@pobox.com>
14240
14241         * tools/gst-typefind.c: Update, add copyright block.
14242
14243         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14244         Normalize and truncate caps before fixation.
14245
14246         * gst/gstcaps.h:
14247         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14248         discards all but the first structure from its argument.
14249
14250 2005-07-15  Wim Taymans  <wim@fluendo.com>
14251
14252         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14253         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14254         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14255         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14256         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14257         (gst_base_transform_chain), (gst_base_transform_change_state),
14258         (gst_base_transform_set_passthrough),
14259         (gst_base_transform_is_passthrough):
14260         * gst/base/gstbasetransform.h:
14261         Make passthrough work using the bufferpools.
14262         Changed API a bit, subclasses have to write into a buffer
14263         provided by the base class.
14264         More debug info in nego functions.
14265         
14266         * gst/elements/gstidentity.c: (gst_identity_init),
14267         (gst_identity_transform):
14268         Port to new base class.
14269
14270 2005-07-15  Wim Taymans  <wim@fluendo.com>
14271
14272         * gst/gstmessage.c: (gst_message_new_state_changed):
14273         * tools/gst-launch.c: (event_loop), (main):
14274         Totally dump messages in -launch with the -m option.
14275         Fix message name for State messages,
14276
14277 2005-07-14  Wim Taymans  <wim@fluendo.com>
14278
14279         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14280         Post error messages on errors.
14281
14282 2005-07-14  Wim Taymans  <wim@fluendo.com>
14283
14284         * gst/gstcaps.c: (gst_caps_do_simplify):
14285         Remove debug info.
14286
14287         * gst/gsterror.h:
14288         Define error for stream stopped.
14289
14290         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14291         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14292         Do proper return values.
14293
14294         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14295         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14296         (gst_pad_get_range):
14297         Better return values.
14298
14299         * gst/gstpad.h:
14300         Reorganise return values, add macro to check for fatal errors.
14301
14302         * gst/gstqueue.c: (gst_queue_chain):
14303         Return proper GstFlowReturn values,
14304
14305 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14306
14307         * docs/gst/gstreamer-sections.txt:
14308         * docs/gst/gstreamer.types:
14309         * docs/gst/tmpl/gst.sgml:
14310         * docs/gst/tmpl/gstbasesink.sgml:
14311         * docs/gst/tmpl/gstbasesrc.sgml:
14312         * docs/gst/tmpl/gstbasetransform.sgml:
14313         * docs/gst/tmpl/gstbin.sgml:
14314         * docs/gst/tmpl/gstbuffer.sgml:
14315         * docs/gst/tmpl/gstcaps.sgml:
14316         * docs/gst/tmpl/gstclock.sgml:
14317         * docs/gst/tmpl/gstcompat.sgml:
14318         * docs/gst/tmpl/gstconfig.sgml:
14319         * docs/gst/tmpl/gstelement.sgml:
14320         * docs/gst/tmpl/gstelementdetails.sgml:
14321         * docs/gst/tmpl/gstelementfactory.sgml:
14322         * docs/gst/tmpl/gstenumtypes.sgml:
14323         * docs/gst/tmpl/gsterror.sgml:
14324         * docs/gst/tmpl/gstevent.sgml:
14325         * docs/gst/tmpl/gstfakesink.sgml:
14326         * docs/gst/tmpl/gstfakesrc.sgml:
14327         * docs/gst/tmpl/gstfilesink.sgml:
14328         * docs/gst/tmpl/gstfilesrc.sgml:
14329         * docs/gst/tmpl/gstfilter.sgml:
14330         * docs/gst/tmpl/gstformat.sgml:
14331         * docs/gst/tmpl/gstghostpad.sgml:
14332         * docs/gst/tmpl/gstimplementsinterface.sgml:
14333         * docs/gst/tmpl/gstindex.sgml:
14334         * docs/gst/tmpl/gstindexfactory.sgml:
14335         * docs/gst/tmpl/gstinfo.sgml:
14336         * docs/gst/tmpl/gstiterator.sgml:
14337         * docs/gst/tmpl/gstmacros.sgml:
14338         * docs/gst/tmpl/gstmemchunk.sgml:
14339         * docs/gst/tmpl/gstminiobject.sgml:
14340         * docs/gst/tmpl/gstobject.sgml:
14341         * docs/gst/tmpl/gstpad.sgml:
14342         * docs/gst/tmpl/gstpadtemplate.sgml:
14343         * docs/gst/tmpl/gstparse.sgml:
14344         * docs/gst/tmpl/gstpipeline.sgml:
14345         * docs/gst/tmpl/gstplugin.sgml:
14346         * docs/gst/tmpl/gstpluginfeature.sgml:
14347         * docs/gst/tmpl/gstquery.sgml:
14348         * docs/gst/tmpl/gstqueue.sgml:
14349         * docs/gst/tmpl/gstregistry.sgml:
14350         * docs/gst/tmpl/gstregistrypool.sgml:
14351         * docs/gst/tmpl/gstscheduler.sgml:
14352         * docs/gst/tmpl/gstschedulerfactory.sgml:
14353         * docs/gst/tmpl/gststructure.sgml:
14354         * docs/gst/tmpl/gstsystemclock.sgml:
14355         * docs/gst/tmpl/gsttaglist.sgml:
14356         * docs/gst/tmpl/gsttagsetter.sgml:
14357         * docs/gst/tmpl/gsttrace.sgml:
14358         * docs/gst/tmpl/gsttrashstack.sgml:
14359         * docs/gst/tmpl/gsttypefind.sgml:
14360         * docs/gst/tmpl/gsttypefindfactory.sgml:
14361         * docs/gst/tmpl/gsttypes.sgml:
14362         * docs/gst/tmpl/gsturihandler.sgml:
14363         * docs/gst/tmpl/gsturitype.sgml:
14364         * docs/gst/tmpl/gstutils.sgml:
14365         * docs/gst/tmpl/gstvalue.sgml:
14366         * docs/gst/tmpl/gstversion.sgml:
14367         * docs/gst/tmpl/gstxml.sgml:
14368         * docs/libs/tmpl/gstcontrol.sgml:
14369         * docs/libs/tmpl/gstdataprotocol.sgml:
14370         * docs/libs/tmpl/gstdparam.sgml:
14371         * docs/libs/tmpl/gstdplinint.sgml:
14372         * docs/libs/tmpl/gstdpman.sgml:
14373         * docs/libs/tmpl/gstdpsmooth.sgml:
14374         * docs/libs/tmpl/gstgetbits.sgml:
14375         * docs/libs/tmpl/gstunitconvert.sgml:
14376         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14377         (gst_push_src_base_init), (gst_push_src_class_init),
14378         (gst_push_src_init), (gst_push_src_create):
14379         * gst/base/gstpushsrc.h:
14380         * gst/elements/gstelements.c:
14381         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14382         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14383         (gst_fake_sink_init), (gst_fake_sink_set_property),
14384         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14385         (gst_fake_sink_event), (gst_fake_sink_preroll),
14386         (gst_fake_sink_render), (gst_fake_sink_change_state):
14387         * gst/elements/gstfakesink.h:
14388         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14389         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14390         (gst_fake_src_base_init), (gst_fake_src_class_init),
14391         (gst_fake_src_init), (gst_fake_src_event_handler),
14392         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14393         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14394         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14395         (gst_fake_src_create_buffer), (gst_fake_src_create),
14396         (gst_fake_src_start), (gst_fake_src_stop):
14397         * gst/elements/gstfakesrc.h:
14398         * gst/elements/gstfilesink.c: (_do_init),
14399         (gst_file_sink_base_init), (gst_file_sink_class_init),
14400         (gst_file_sink_init), (gst_file_sink_dispose),
14401         (gst_file_sink_set_location), (gst_file_sink_set_property),
14402         (gst_file_sink_get_property), (gst_file_sink_open_file),
14403         (gst_file_sink_close_file), (gst_file_sink_query),
14404         (gst_file_sink_event), (gst_file_sink_render),
14405         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14406         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14407         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14408         * gst/elements/gstfilesink.h:
14409         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14410         (gst_file_src_class_init), (gst_file_src_init),
14411         (gst_file_src_finalize), (gst_file_src_set_location),
14412         (gst_file_src_set_property), (gst_file_src_get_property),
14413         (gst_file_src_map_region), (gst_file_src_map_small_region),
14414         (gst_file_src_create_mmap), (gst_file_src_create_read),
14415         (gst_file_src_create), (gst_file_src_is_seekable),
14416         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14417         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14418         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14419         (gst_file_src_uri_handler_init):
14420         * gst/elements/gstfilesrc.h:
14421           more autistic cleanliness in functions/names/defines
14422
14423 2005-07-13  Andy Wingo  <wingo@pobox.com>
14424
14425         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14426         source couldn't negotiate.
14427
14428         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14429         connections again.
14430
14431         * gst/gstutils.h:
14432         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14433         function. I am channeling Hades. Put your boots on suckers!!!
14434
14435 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14436
14437         * testsuite/caps/Makefile.am:
14438         * testsuite/caps/value_compare.c:
14439         * testsuite/caps/value_intersect.c:
14440         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14441           move two testsuite apps over to the check dir
14442
14443 2005-07-12  Wim Taymans  <wim@fluendo.com>
14444
14445         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14446         Added more debug info in the negotiate process.
14447
14448         * gst/gstmessage.h:
14449         Prepare for segment playback.
14450
14451         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14452         Better debugging.
14453
14454         * gst/gstutils.c:
14455         Some more docs.
14456
14457         * tools/gst-launch.c: (main):
14458         NULL pipeline on errors.
14459
14460 2005-07-12  Andy Wingo  <wingo@pobox.com>
14461
14462         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14463         not it comes from a malloc region. Make sure our copy gets freed.
14464
14465 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14466
14467         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14468         * check/gst/gstmessage.c: (GST_START_TEST):
14469         * check/gst/gststructure.c: (GST_START_TEST),
14470         (gst_structure_suite), (main):
14471           more testing
14472         * gst/gstelement.c: (gst_element_message_full):
14473           clean up GError and debug string now that they get copied
14474         * gst/gstmessage.c: (gst_message_new_error),
14475         (gst_message_new_warning), (gst_message_parse_error),
14476         (gst_message_parse_warning):
14477           use GST_TYPE_G_ERROR for structure_new, and take copies of
14478           arguments, so that we don't mess up refcounting
14479
14480 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14481
14482         * check/Makefile.am:
14483           add per-test valgrind targets
14484         * check/gst-libs/gdp.c: (GST_START_TEST),
14485         (gst_data_protocol_suite), (main):
14486           clean up
14487
14488 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14489
14490         * check/Makefile.am:
14491           instate more valgrindable tests
14492         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14493         (GST_START_TEST), (fakesrc_suite):
14494         * check/gst/gstpad.c: (GST_START_TEST):
14495         * check/gst/gststructure.c: (GST_START_TEST):
14496           fix test leaks
14497         * docs/gst/tmpl/gstminiobject.sgml:
14498         * gst/gstpad.c: (gst_pad_finalize):
14499           fix the static mutex leak
14500
14501 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14502
14503         * check/Makefile.am:
14504           add two more tests for valgrinding
14505         * check/gst/gstvalue.c: (GST_START_TEST):
14506           test refcount of deserialized buffer, found a leak
14507         * docs/gst/gstreamer-docs.sgml:
14508         * docs/gst/gstreamer-sections.txt:
14509         * docs/gst/gstreamer.types:
14510         * docs/gst/tmpl/gstminiobject.sgml:
14511           add miniobject to docs
14512         * gst/gstminiobject.c:
14513           add some docs
14514         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14515         (gst_string_unwrap):
14516           fix a hard-to-find invalid write for one of the tests
14517           fix a leak for deserialized buffers
14518
14519 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14520
14521         * docs/pwg/advanced-events.xml:
14522         * docs/pwg/advanced-request.xml:
14523         * docs/pwg/advanced-scheduling.xml:
14524         * docs/pwg/appendix-porting.xml:
14525         * docs/pwg/building-boiler.xml:
14526         * docs/pwg/intro-preface.xml:
14527         * docs/pwg/other-ntoone.xml:
14528           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14529           of example code and explanation for pad activation, loop() and
14530           getrange() functions and a bit more. Remove old comments pointing
14531           to loop-functions.
14532         * examples/pwg/Makefile.am:
14533           Add loop/getrange examples.
14534
14535 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14536
14537         * configure.ac:
14538           check for valgrind binary + some fixes
14539         * check/gst.supp:
14540           valgrind suppressions for the tests
14541         * check/Makefile.am:
14542           add a valgrind: target that valgrinds the unit tests
14543         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14544         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14545         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14546         * check/gst/gstghostpad.c:
14547           added some cleanup
14548         * check/gst/gstdata.c:
14549           removed
14550         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14551         (thread_unref), (gst_mini_object_suite), (main):
14552           added
14553         * gst/gst.c: (gst_deinit):
14554         * gst/gst.h:
14555           add a method to clean up.
14556         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14557         (gst_system_clock_obtain):
14558           allow for disposing the system clock.
14559         * tools/gst-launch.c: (main):
14560           deinit
14561
14562 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14563
14564         * docs/gst/tmpl/gstbasesrc.sgml:
14565         * docs/gst/tmpl/gstfakesrc.sgml:
14566         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14567         (gst_base_src_init), (gst_base_src_set_property),
14568         (gst_base_src_get_property), (gst_base_src_get_range),
14569         (gst_base_src_start):
14570         * gst/base/gstbasesrc.h:
14571           add num-buffers property
14572         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14573         (gst_fakesrc_init), (gst_fakesrc_set_property),
14574         (gst_fakesrc_get_property), (gst_fakesrc_create),
14575         (gst_fakesrc_start):
14576           remove num-buffers property
14577
14578 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14579
14580         * docs/gst/gstreamer-sections.txt:
14581         * docs/gst/tmpl/gstbasesink.sgml:
14582         * docs/gst/tmpl/gstbasesrc.sgml:
14583         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14584         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14585         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14586         (gst_base_sink_set_property), (gst_base_sink_get_property),
14587         (gst_base_sink_handle_object), (gst_base_sink_event),
14588         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14589         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14590         (gst_base_sink_loop), (gst_base_sink_deactivate),
14591         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14592         (gst_base_sink_change_state):
14593         * gst/base/gstbasesink.h:
14594         * gst/base/gstbasesrc.h:
14595         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14596         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14597         (gst_filesink_init):
14598           more macro splitting
14599
14600 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14601
14602         * gst/gstelement.c: (gst_element_get_bus):
14603           add debug
14604         * tools/gst-launch.c: (check_intr), (event_loop):
14605           fix bus leaks
14606
14607 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14608
14609         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14610           fix a caps leak
14611
14612 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14613
14614         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14615         (gst_base_src_finalize):
14616           add finalize method and clean up properly
14617         * gst/gstpipeline.c: (gst_pipeline_dispose):
14618           add debug
14619
14620 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14621
14622         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14623         (gst_bin_suite):
14624           add more things to check
14625         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14626         * gst/gstelement.c:
14627           more debug
14628
14629 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14630
14631         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14632         (GST_START_TEST), (fakesrc_suite):
14633         * check/gst-libs/gdp.c: (GST_START_TEST):
14634         * check/gst/gst.c: (GST_START_TEST):
14635         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14636         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14637         * check/gst/gstbus.c: (GST_START_TEST):
14638         * check/gst/gstcaps.c: (GST_START_TEST):
14639         * check/gst/gstdata.c: (GST_START_TEST):
14640         * check/gst/gstelement.c: (GST_START_TEST):
14641         * check/gst/gstghostpad.c: (GST_START_TEST):
14642         * check/gst/gstiterator.c: (GST_START_TEST):
14643         * check/gst/gstmessage.c: (GST_START_TEST):
14644         * check/gst/gstobject.c: (GST_START_TEST):
14645         * check/gst/gstpad.c: (GST_START_TEST):
14646         * check/gst/gststructure.c: (GST_START_TEST):
14647         * check/gst/gstsystemclock.c: (GST_START_TEST),
14648         (gst_systemclock_suite):
14649         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14650         * check/gst/gstvalue.c: (GST_START_TEST):
14651         * check/pipelines/cleanup.c: (GST_START_TEST):
14652         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14653         * check/states/sinks.c: (GST_START_TEST):
14654         * check/gstcheck.c: (gst_check_init):
14655         * check/gstcheck.h:
14656           add debugging category
14657           use GST_START_TEST now, so we add a debug line
14658
14659 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14660
14661         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14662           add test for state change message on a bin
14663         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14664           add another test
14665         * gst/gstbin.c: (gst_bin_init):
14666         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14667         * gst/gstelement.c: (gst_element_post_message),
14668         (gst_element_set_state):
14669         * gst/gstelementfactory.c: (gst_element_factory_create):
14670         * gst/gstmessage.c: (gst_message_new):
14671         * gst/gstscheduler.c:
14672           various debugging additions and cleanups
14673
14674 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14675
14676         * check/Makefile.am:
14677         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14678         (main):
14679           adding tests for elements
14680         * gst/gstelement.c: (gst_element_dispose):
14681
14682 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14683
14684         * gst/registries/gstlibxmlregistry.c: (load_feature):
14685           plug more leaks.  A simple gst_init() now is leakfree, yay.
14686
14687 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14688
14689         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14690         (gst_xml_registry_load):
14691           plug another memleak
14692
14693 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14694
14695         * configure.ac:
14696           use GST_SET_ERROR_CFLAGS
14697         * docs/faq/cvs.xml:
14698           change to ERROR_CFLAGS
14699
14700 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14701
14702         * configure.ac:
14703           make GST_ERROR_CFLAGS overridable and re-enable Werror
14704         * docs/faq/cvs.xml:
14705           add a note about error CFLAGS
14706         * docs/gst/tmpl/gstfakesrc.sgml:
14707         * gst/elements/gstfakesrc.c:
14708           comment out some unused code
14709         * gst/gst.c: (split_and_iterate):
14710         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14711         (load_feature):
14712           plug some memleaks
14713
14714 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14715
14716         * common/Makefile.am:
14717         * common/gtk-doc.mak:
14718         * docs/gst/Makefile.am:
14719           factor out gtk-doc.mak
14720
14721 2005-07-07  Wim Taymans  <wim@fluendo.com>
14722
14723         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14724         (gst_thread_scheduler_dispose):
14725         Unlock the STREAM_LOCK completely.
14726
14727 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14728
14729         * check/Makefile.am:
14730         * check/elements/.cvsignore:
14731         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14732         (START_TEST), (fakesrc_suite), (main):
14733         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14734         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14735         (gst_fakesrc_create), (gst_fakesrc_start):
14736         * gst/elements/gstfakesrc.h:
14737           adding a first element test
14738
14739 2005-07-07  Andy Wingo  <wingo@pobox.com>
14740
14741         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14742         debug message.
14743
14744 2005-07-07  Wim Taymans  <wim@fluendo.com>
14745
14746         * gst/gstquery.c:
14747         * gst/gstquery.h:
14748         Remove old types
14749
14750 2005-07-07  Wim Taymans  <wim@fluendo.com>
14751
14752         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14753         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14754         Allow subclasses to implement their own negotiation.
14755
14756 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14757
14758         * docs/design/part-gstbin.txt:
14759         * docs/design/part-gstpipeline.txt:
14760           Update design notes to reflect the movement of
14761           responsibility for bus handling from GstPipeline to
14762           GstBin
14763
14764 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14765
14766         * configure.ac:
14767           Remove unnecessary queue2/3/4 examples.
14768
14769 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14770
14771         * examples/Makefile.am:
14772         * examples/helloworld/helloworld.c: (event_loop), (main):
14773         * examples/queue/queue.c: (event_loop), (main):
14774         * examples/queue2/queue2.c: (main):
14775           Update a couple of the examples to work again.
14776
14777         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14778         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14779          Spelling corrections and extra debug.
14780         
14781         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14782         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14783         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14784         * gst/gstbin.h:
14785         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14786         (gst_pipeline_change_state):
14787         * gst/gstpipeline.h:
14788           Move the bus handler for children to the GstBin, and create a
14789           separate bus for receiving messages from children to the one the
14790           bus sends 'upwards' on.
14791
14792 2005-07-06  Wim Taymans  <wim@fluendo.com>
14793
14794         * gst/base/README:
14795         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14796         (gst_base_sink_handle_object), (gst_base_sink_loop),
14797         (gst_base_sink_change_state):
14798         * gst/base/gstbasesink.h:
14799         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14800         (gst_base_src_init), (gst_base_src_setcaps),
14801         (gst_base_src_getcaps), (gst_base_src_loop),
14802         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14803         (gst_base_src_start), (gst_base_src_change_state):
14804         * gst/base/gstbasesrc.h:
14805         Make basesrc negotiate.
14806         Handle the case where preroll fails in basesink.
14807         Update README.
14808
14809 2005-07-06  Wim Taymans  <wim@fluendo.com>
14810
14811         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14812         Implement the fixate function.
14813         Clean up acceptcaps.
14814
14815 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14816
14817         * docs/pwg/building-filterfactory.xml:
14818         * docs/pwg/pwg.xml:
14819           Remove never-written filter-factory chapter; I'll add the various
14820           base classes to part 4 ("other element types") later on.
14821
14822 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14823
14824         * docs/pwg/advanced-negotiation.xml:
14825         * docs/pwg/building-boiler.xml:
14826         * docs/pwg/building-pads.xml:
14827         * docs/pwg/pwg.xml:
14828         * examples/pwg/Makefile.am:
14829           Add a chapter on caps negotiation, simplify the original code
14830           samples a bit w.r.t. caps negotiation, add link to the advanced
14831           section. Add a bunch of examples showing different use cases of
14832           different types of caps negotiation. Upstream renegotiation isn't
14833           fully documented yet since nobody knows how that works.
14834
14835 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14836
14837         * check/gst/gstpad.c:
14838         * check/gstcheck.c:
14839         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14840           if pad has no parent, return NULL as list of internal links
14841
14842 2005-07-05  Andy Wingo  <wingo@pobox.com>
14843
14844         * gst/elements/gstfilesrc.c:
14845         * gst/elements/gstfakesrc.c: 
14846         * gst/base/gstpushsrc.c:
14847         * gst/base/gstbasesrc.h: 
14848         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14849         
14850 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14851
14852         * Makefile.am:
14853           better report generation target (lcov needs a patch)
14854
14855 2005-07-05  Andy Wingo  <wingo@pobox.com>
14856
14857         * gst/elements, testsuite: Null if we got it...
14858
14859 2005-07-05  Wim Taymans  <wim@fluendo.com>
14860
14861         * configure.ac:
14862         * libs/gst/dataprotocol/Makefile.am:
14863         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14864         * libs/gst/dataprotocol/dataprotocol.h:
14865         * pkgconfig/Makefile.am:
14866         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14867         * pkgconfig/gstreamer-dataprotocol.pc.in:
14868         Ported dataprotol to 0.9. 
14869         Added pkgconfig files.
14870
14871 2005-07-05  Andy Wingo  <wingo@pobox.com>
14872
14873         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14874         Default to returning TRUE for the case when tranform_caps returns
14875         a fixed caps, like for identity or volume.
14876
14877         * check/gst/gstbus.c (pound_bus_with_messages): 
14878         * check/gst/gstmessage.c (START_TEST): 
14879         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14880         message API change.
14881
14882         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14883         logic weaks here: always run transform_caps, trying passthrough
14884         operation only if the original caps intersects with the transform.
14885
14886         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14887         source and sink caps.
14888
14889         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14890         Intersect the peer caps with the pad template before going into
14891         transform_caps.
14892         (gst_base_transform_transform_caps): More debugging.
14893
14894         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14895         src argument.
14896
14897 2005-07-04  Edward Hervey  <edward@fluendo.com>
14898
14899         * gst/gstutils.c:
14900         * gst/gstutils.h:
14901         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14902         in bindings.
14903
14904 2005-07-04  Andy Wingo  <wingo@pobox.com>
14905
14906         * check/gst/gstpad.c: Only set explicit caps on pads.
14907
14908 2005-07-01  Andy Wingo  <wingo@pobox.com>
14909
14910         * tests/network-clock.scm: Commentary update.
14911
14912         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14913         Didn't really make sense, not implementable with basetransform,
14914         etc.
14915         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14916         attempt at implementing the sync property, needs an unlock method.
14917
14918         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14919         New func, by default returns the same caps (the identity
14920         transformation).
14921         (gst_base_transform_getcaps): Uses transform_caps to return
14922         something sensible.
14923         (gst_base_transform_setcaps): Complicated logic to get caps on
14924         both pads, even if they are different, and to call set_caps once
14925         for every time both pads get their caps set.
14926         (gst_base_transform_handle_buffer): Give the ref to the transform
14927         function. Allows in-place modification of the buffer.
14928
14929         * gst/base/gstbasetransform.h (transform_caps): New class method.
14930         Given caps on one side, what can I do on the other.
14931         (set_caps): Take two caps, one for each side of the element.
14932
14933         * gst/gstpad.h:
14934         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14935         caps in place. This is safe because we can check the mutability of
14936         the caps, and a good idea because fixate functions are just called
14937         as a matter of last resort. (Not actually implemented.)
14938         (gst_pad_set_caps): If the caps we're setting is actually the same
14939         as the existing pad caps, just update the pointer without calling
14940         setcaps. Assert that caps is either NULL or fixed, as per the
14941         docs.
14942
14943         * gst/gstghostpad.c: Update for fixate changes.
14944
14945 2005-07-02  Andy Wingo  <wingo@pobox.com>
14946
14947         * gst/gstcaps.c:
14948         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14949         two refcounts makes it immutable, which is enough. Doc more.
14950
14951 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14952
14953         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14954           Put the mini_object into GValue as a mini_object,
14955           not a gpointer, since that's how we declared
14956           the signal.
14957
14958 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14959
14960         * examples/pwg/Makefile.am:
14961           Fix buildbot again.
14962
14963 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14964
14965         * docs/pwg/building-testapp.xml:
14966           Add extra check.
14967         * examples/pwg/Makefile.am:
14968           Fix buildbot.
14969
14970 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14971
14972         * configure.ac:
14973         * examples/Makefile.am:
14974         * examples/pwg/Makefile.am:
14975         * examples/pwg/extract.pl:
14976           Enable building the PWG examples.
14977         * docs/pwg/advanced-interfaces.xml:
14978           Add URI interface stub.
14979         * docs/pwg/advanced-types.xml:
14980         * docs/pwg/other-autoplugger.xml:
14981         * docs/pwg/appendix-porting.xml:
14982         * docs/pwg/pwg.xml:
14983           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14984         * docs/pwg/building-boiler.xml:
14985         * docs/pwg/building-chainfn.xml:
14986         * docs/pwg/building-pads.xml:
14987         * docs/pwg/building-props.xml:
14988         * docs/pwg/building-state.xml:
14989         * docs/pwg/building-testapp.xml:
14990           Update the building-*.xml parts for 0.9 changes. All examples
14991           code blocks compile in examples/pwg/*.
14992
14993 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14994
14995         * docs/manual/advanced-autoplugging.xml:
14996         * docs/manual/appendix-checklist.xml:
14997         * docs/manual/appendix-integration.xml:
14998         * docs/manual/highlevel-components.xml:
14999           Fix playbin/decodebin examples, update docs a bit, mention bus
15000           instead of signals in various places, mention kmplayer and
15001           kaffeine since they have a working GStreamer backend in the KDE
15002           section.
15003
15004 2005-06-30  Wim Taymans  <wim@fluendo.com>
15005
15006         * CHANGES-0.9:
15007         * docs/design/draft-ghostpads.txt:
15008         * docs/design/draft-push-pull.txt:
15009         * docs/design/draft-query.txt:
15010         * docs/design/part-TODO.txt:
15011         * docs/design/part-query.txt:
15012         Added CHANGES-0.9 doc, updated status of other docs.
15013         
15014         * gst/gstquery.h:
15015         Remove "hmm" macro
15016
15017 2005-06-30  Wim Taymans  <wim@fluendo.com>
15018
15019         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15020         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15021         (gst_base_sink_change_state):
15022         * gst/base/gstbasesink.h:
15023         Some tweaks, only EOS and a buffer complete a preroll.
15024
15025 2005-06-30  Andy Wingo  <wingo@pobox.com>
15026
15027         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15028         activate_push down to the internal pad as well.
15029
15030 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15031
15032         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15033
15034         * gst/gsttaginterface.c:
15035           Some documentation fixes (#307394 and #307397).
15036
15037 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15038
15039         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15040
15041         * gst/gstvalue.c: (gst_value_intersect_list):
15042           Fix memleak (#309125).
15043
15044 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15045
15046         * docs/manual/advanced-dataaccess.xml:
15047           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15048         * docs/manual/basics-pads.xml:
15049           Add reference for filtered caps to above chapter.
15050
15051 2005-06-30  Wim Taymans  <wim@fluendo.com>
15052
15053         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15054         (gst_bin_change_state):
15055         Probes are gone.
15056         Lame attempt at making the state change function a bit
15057         more readable.
15058
15059 2005-06-30  Wim Taymans  <wim@fluendo.com>
15060
15061         * docs/design/part-clocks.txt:
15062         * docs/design/part-element-sink.txt:
15063         * docs/design/part-events.txt:
15064         * docs/design/part-preroll.txt:
15065         * docs/design/part-states.txt:
15066         Some more tweeks and additions to the docs.
15067
15068 2005-06-30  Wim Taymans  <wim@fluendo.com>
15069
15070         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15071         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15072         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15073         (gst_pad_check_pull_range), (gst_pad_get_range),
15074         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15075         * gst/gstpad.h:
15076         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15077         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15078         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15079         (gst_pad_remove_buffer_probe):
15080         Removed atomic operations, use existing LOCK.
15081         Move exception handling out of main code path.
15082
15083 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15084
15085         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15086         (silly_return_true_function), (gst_pad_class_init),
15087         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15088         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15089         (gst_pad_send_event):
15090           Fix accumulator, add default value by using _emitv() instead
15091           of _emit() for signal emission.
15092
15093 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15094
15095         * docs/manual/advanced-dataaccess.xml:
15096         * examples/manual/Makefile.am:
15097           Add probe example.
15098         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15099           Make work (??).
15100
15101 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15102
15103         * gst/elements/gstfilesink.c: (gst_filesink_render):
15104           Simplify code so that we don't have to handle short
15105           writes and return GST_FLOW_ERROR if an error occured.
15106
15107 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15108
15109         * docs/gst/gstreamer-docs.sgml:
15110           Remove probes more.
15111
15112 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15113
15114         * docs/gst/gstreamer-sections.txt:
15115         * docs/gst/tmpl/gstpad.sgml:
15116         * docs/gst/tmpl/gstprobe.sgml:
15117         * gst/Makefile.am:
15118         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15119         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15120         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15121         (gst_pad_push_event), (gst_pad_send_event):
15122         * gst/gstpad.h:
15123         * gst/gstutils.c: (gst_pad_add_data_probe),
15124         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15125         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15126         (gst_pad_remove_buffer_probe):
15127         * gst/gstutils.h:
15128           Remove old probes, add new g-signal-based probes and some utility
15129           functions.
15130
15131 2005-06-29  Edward Hervey  <edward@fluendo.com>
15132
15133         * gst/gstelementfactory.c:
15134         * gst/gstutils.h:
15135         * gst/gstutils.c:
15136         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15137         the definition to the header file.
15138
15139 2005-06-29  Andy Wingo  <wingo@pobox.com>
15140
15141         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15142         plugins from the source directory.
15143
15144 2005-06-29  Wim Taymans  <wim@fluendo.com>
15145
15146         * docs/gst/tmpl/gstbuffer.sgml:
15147         * docs/gst/tmpl/gstclock.sgml:
15148         Some fixings for blantently wrong text.
15149
15150 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15151
15152         * check/Makefile.am:
15153         * gst/gst.c: (add_path_func), (init_pre):
15154         * gst/gstregistry.c: (gst_registry_add_path):
15155           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15156           only scan the GST_PLUGIN_PATH locations, and not add
15157           system locations
15158
15159 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15160
15161         * docs/gst/gstreamer-sections.txt:
15162         * docs/gst/tmpl/gstbasesrc.sgml:
15163         * gst/gstelement.c:
15164         * gst/gstelement.h:
15165         * gst/gstevent.c:
15166         * gst/gstutils.c:
15167           doc fixes
15168
15169 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15170
15171         * docs/manual/advanced-autoplugging.xml:
15172           Fix autoplugging example.
15173
15174 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15175
15176         * docs/manual/advanced-autoplugging.xml:
15177         * docs/manual/mime-world.fig:
15178           Try to get autoplugging working, fix type detection. Fix text
15179           in hello-world image.
15180
15181 2005-06-29  Wim Taymans  <wim@fluendo.com>
15182
15183         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15184         (gst_base_sink_change_state):
15185         Small debug line.
15186
15187         * gst/gstclock.h:
15188         map SIGNAL and BROADCAST to the right function.
15189
15190         * gst/gstobject.h:
15191         Remove redundant braces.
15192
15193         * gst/gstpad.c: (gst_pad_set_caps):
15194         Don't call setcaps function when reseting caps to NULL.
15195
15196         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15197         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15198         (gst_system_clock_id_unschedule):
15199         Use BROADCAST as this is what we do.
15200
15201 2005-06-29  Wim Taymans  <wim@fluendo.com>
15202
15203         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15204         We are actually prerolling before commiting the state
15205         change. 
15206
15207 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15208
15209         * docs/manual/advanced-clocks.xml:
15210         * docs/manual/advanced-interfaces.xml:
15211         * docs/manual/advanced-metadata.xml:
15212         * docs/manual/advanced-position.xml:
15213         * docs/manual/advanced-schedulers.xml:
15214         * docs/manual/advanced-threads.xml:
15215         * docs/manual/appendix-porting.xml:
15216         * docs/manual/basics-bins.xml:
15217         * docs/manual/basics-bus.xml:
15218         * docs/manual/basics-elements.xml:
15219         * docs/manual/basics-helloworld.xml:
15220         * docs/manual/basics-pads.xml:
15221         * docs/manual/highlevel-components.xml:
15222         * docs/manual/manual.xml:
15223         * docs/manual/thread.fig:
15224           Update (until threads/scheduling) Application Development Manual;
15225           remove GstThread, add GstBus, add simple porting checklist, add
15226           documentation for tag writing, clocks, make all examples until this
15227           part compile and run.
15228         * examples/manual/Makefile.am:
15229           Update from changes to Application Development Manual; add bus
15230           example, remove thread example.
15231
15232 2005-06-28  Wim Taymans  <wim@fluendo.com>
15233
15234         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15235         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15236         (gst_bus_source_dispatch):
15237         Add debugging messages.
15238         Make internal methods static.
15239         Handle the case where the bus is flushed in the handler.
15240         
15241         * gst/gstelement.c: (gst_element_get_bus):
15242         Fix refcount in _get_bus();
15243
15244         * gst/gstpipeline.c: (gst_pipeline_change_state),
15245         (gst_pipeline_get_clock_func):
15246         Clock refcounting fixes.
15247         Handle the case where preroll timed out more gracefully.
15248         
15249         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15250         Clean up the internal thread in dispose. This is needed
15251         for subclasses that actually get disposed.
15252         
15253         * gst/schedulers/threadscheduler.c:
15254         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15255         (gst_thread_scheduler_dispose):
15256         Free thread pool in dispose.
15257
15258 2005-06-28  Andy Wingo  <wingo@pobox.com>
15259
15260         * tests/network-clock-utils.scm (debug, print-event): New utils.
15261
15262         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15263         (*packet-loss*): Unified loss probability.
15264         (network-time): Report out-of-band events.
15265
15266         * tests/plot-data: Add support for out-of-band events. Hack it
15267         into this script instead of passing it down the pipe; should fix
15268         this later.
15269
15270 2005-06-28  Wim Taymans  <wim@fluendo.com>
15271
15272         * docs/gst/gstreamer.types:
15273         * docs/gst/tmpl/gstbasesrc.sgml:
15274         * docs/gst/tmpl/gstpad.sgml:
15275         Docs fixes.
15276
15277 2005-06-28  Wim Taymans  <wim@fluendo.com>
15278
15279         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15280         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15281         (gst_proxy_pad_do_fixatecaps):
15282         Correctly proxy the check_pull_range function.
15283
15284 2005-06-28  Andy Wingo  <wingo@pobox.com>
15285
15286         * tests/network-clock.scm: Removed need for slib.
15287         
15288 2005-06-28  Wim Taymans  <wim@fluendo.com>
15289
15290         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15291         (gst_basesink_preroll_queue_flush):
15292         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15293         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15294         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15295         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15296         (gst_proxy_pad_set_property):
15297         * gst/gstpad.c:
15298         * gst/gstpad.h:
15299         * gst/gstqueue.c: (gst_queue_init):
15300         The deprecated pad loop function is removed now.
15301
15302 2005-06-28  Andy Wingo  <wingo@pobox.com>
15303
15304         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15305         New parameters, simulate network packet loss.
15306
15307         * tests/network-clock-utils.scm: Initialize the RNG.
15308
15309 2005-06-28  Wim Taymans  <wim@fluendo.com>
15310
15311         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15312         (gst_basesink_event), (gst_basesink_deactivate):
15313         Flushing the preroll queue always needs to unlock the waiters.
15314
15315 2005-06-28  Edward Hervey  <edward@fluendo.com>
15316
15317         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15318         Wheen a seek was successful on a pipeline, set the stream_time to the
15319         seek offset in order to have a synchronized stream_time.
15320
15321 2005-06-28  Wim Taymans  <wim@fluendo.com>
15322
15323         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15324         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15325         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15326         (gst_proxy_pad_do_fixatecaps):
15327         Call wrapper function instead of just calling the function
15328         pointers. This takes care of any locking and whatmore.
15329
15330 2005-06-28  Wim Taymans  <wim@fluendo.com>
15331
15332         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15333         (gst_pad_pull_range):
15334         * gst/gstpad.h:
15335         CONNECTED -> LINKED.
15336
15337 2005-06-28  Andy Wingo  <wingo@pobox.com>
15338
15339         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15340         source-munging commit!!!
15341
15342         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15343         (gst_object_sink): Take gpointer arguments, not GstObject --
15344         avoids casts. Like GLib.
15345
15346         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15347         activate.
15348
15349 2005-06-27  Andy Wingo  <wingo@pobox.com>
15350
15351         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15352         remaining buffer.
15353
15354         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15355         returns a sorted copy of the trace list.
15356         (gst_alloc_trace_print_live): New API, only prints traces with
15357         live objects. Sort the list.
15358         (gst_alloc_trace_print_all): Sort the list.
15359         (gst_alloc_trace_print): Align columns.
15360
15361         * gst/elements/gstttypefindelement.c:
15362         * gst/elements/gsttee.c:
15363         * gst/base/gstbasesrc.c:
15364         * gst/base/gstbasesink.c:
15365         * gst/base/gstbasetransform.c:
15366         * gst/gstqueue.c: Adapt for pad activation changes.
15367
15368         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15369         sched.
15370         (gst_pipeline_dispose): Drop ref on sched.
15371
15372         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15373         (gst_pad_activate_default): Push mode by default.
15374         (pre_activate_switch, post_activate_switch): New stubs, things to
15375         do before and after switching activation modes on pads.
15376         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15377         the pad's activate function to choose which mode to activate.
15378         Shortcut on deactivation and call the right function directly.
15379         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15380         mode.
15381         (gst_pad_activate_push): New API, same for push mode.
15382         (gst_pad_set_activate_function) 
15383         (gst_pad_set_activatepull_function) 
15384         (gst_pad_set_activatepush_function): Setters for new API.
15385
15386         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15387         Trace all miniobjects.
15388         (gst_mini_object_make_writable): Unref the arg if we copy, like
15389         gst_caps_make_writable.
15390
15391         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15392
15393         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15394         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15395         Adapt for new pad API.
15396
15397         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15398
15399         * gst/gstelement.h:
15400         * gst/gstelement.c (gst_element_iterate_src_pads) 
15401         (gst_element_iterate_sink_pads): New API functions.
15402         
15403         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15404         should fold into gstiterator.c in some form.
15405         (gst_element_pads_activate): Simplified via use of fold and
15406         delegation of decisions to gstpad->activate.
15407
15408         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15409         help in debugging.
15410
15411         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15412         class once in init, like gstmessage. Didn't run into this issue
15413         but it seems correct. Don't initialize a trace, gstminiobject does
15414         that.
15415
15416         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15417         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15418         to the bus.
15419         (assert_live_count): New util function, uses alloc traces to check
15420         cleanup.
15421
15422         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15423         To be modified when unlink drops the internal pad.
15424
15425 2005-06-27  Wim Taymans  <wim@fluendo.com>
15426
15427         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15428         (gst_bin_change_state):
15429         Cleanup the get_state() function a little, make sure it
15430         iterates the same set of elements.
15431         Added stub iterate_state_order().
15432
15433 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15434
15435         * docs/gst/gstreamer-docs.sgml:
15436         * docs/gst/gstreamer-sections.txt:
15437         * docs/gst/gstreamer.types:
15438         * docs/gst/tmpl/gstbasesink.sgml:
15439         * docs/gst/tmpl/gstbasesrc.sgml:
15440         * docs/gst/tmpl/gstbasetransform.sgml:
15441         * docs/gst/tmpl/gstelement.sgml:
15442         * docs/gst/tmpl/gstiterator.sgml:
15443         * gst/base/gstbasesrc.c:
15444         * gst/base/gstbasesrc.h:
15445         * gst/base/gstbasetransform.h:
15446         * gst/gstelement.c:
15447         * gst/gstiterator.h:
15448           adding basetransform and iterator docs
15449
15450 2005-06-27  Andy Wingo  <wingo@pobox.com>
15451
15452         * docs/design/part-activation.txt: Notes on how activation should
15453         work -- not quite implemented yet.
15454
15455 2005-06-25  Wim Taymans  <wim@fluendo.com>
15456
15457         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15458         At least get the chain function correct, needs more
15459         fixing.
15460
15461 2005-06-25  Wim Taymans  <wim@fluendo.com>
15462
15463         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15464         (gst_basesink_handle_object), (gst_basesink_event),
15465         (gst_basesink_do_sync), (gst_basesink_handle_event),
15466         (gst_basesink_change_state):
15467         * gst/gsttask.h:
15468         Right, two problems here: ghostpads don't take locks and
15469         glib _rec_mutex_lock_full() with depth==0 still locks.
15470         Catch illegal locking and g_warn them.
15471
15472 2005-06-25  Wim Taymans  <wim@fluendo.com>
15473
15474         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15475         Have to check for completion now...
15476
15477 2005-06-25  Wim Taymans  <wim@fluendo.com>
15478
15479         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15480         (gst_basesink_handle_object), (gst_basesink_event),
15481         (gst_basesink_do_sync), (gst_basesink_handle_event),
15482         (gst_basesink_change_state):
15483         * gst/gstpad.h:
15484         Unlock STREAM_LOCK whatever the recursion was.
15485
15486 2005-06-25  Wim Taymans  <wim@fluendo.com>
15487
15488         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15489         (gst_basesink_preroll_queue_empty),
15490         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15491         (gst_basesink_event), (gst_basesink_do_sync),
15492         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15493         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15494         (gst_basesink_change_state):
15495         Reworked the base sink, handle event and buffer serialisation
15496         correctly and removed possible deadlock.
15497         Handle EOS correctly.
15498
15499 2005-06-25  Wim Taymans  <wim@fluendo.com>
15500
15501         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15502         (gst_pipeline_change_state):
15503         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15504         Allow elements to post EOS in the state change function.
15505         Fix up -launch, make it exit the poll loop when the
15506         pipeline actually changed state.
15507         Fix up warning parsing in -launch.
15508
15509 2005-06-25  Wim Taymans  <wim@fluendo.com>
15510
15511         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15512         (gst_tee_sink_activate):
15513         Core takes STREAM_LOCK for us now.
15514
15515 2005-06-25  Wim Taymans  <wim@fluendo.com>
15516
15517         * gst/gstelement.c: (gst_element_get_state_func),
15518         (gst_element_set_state):
15519         * gst/gstelement.h:
15520         * gst/gstmessage.c: (gst_message_parse_error),
15521         (gst_message_parse_warning):
15522         Keep track of current target state while performing a state
15523         change so that subclasses can do something interesting.
15524         Fix parsing of warning/error messages when GError is NULL.
15525
15526 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15527
15528         * docs/gst/Makefile.am:
15529         * docs/gst/gstreamer-docs.sgml:
15530         * docs/gst/gstreamer-sections.txt:
15531         * docs/gst/gstreamer.types:
15532         * docs/gst/tmpl/gstbasesink.sgml:
15533         * docs/gst/tmpl/gstbasesrc.sgml:
15534         * docs/gst/tmpl/gstbin.sgml:
15535         * docs/gst/tmpl/gstcompat.sgml:
15536         * docs/gst/tmpl/gstfakesink.sgml:
15537         * docs/gst/tmpl/gstfakesrc.sgml:
15538         * docs/gst/tmpl/gstfilesink.sgml:
15539         * docs/gst/tmpl/gstfilesrc.sgml:
15540         * docs/gst/tmpl/gstindex.sgml:
15541         * docs/manual/appendix-quotes.xml:
15542         * gst/base/gstbasesrc.h:
15543         * gst/elements/gstfakesrc.h:
15544         * gst/gstmessage.h:
15545           start pulling in base classes and elements in our docs
15546
15547 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15548
15549         * docs/gst/Makefile.am:
15550         * docs/libs/Makefile.am:
15551           fixed make distcheck with gtk-doc 1.3
15552
15553 2005-06-23  Wim Taymans  <wim@fluendo.com>
15554
15555         * gst/gstelement.c: (gst_element_get_state_func),
15556         (gst_element_set_state), (gst_element_change_state):
15557         When the state did not change, also report NO_PREROLL
15558         when it matters.
15559
15560 2005-06-23  Wim Taymans  <wim@fluendo.com>
15561
15562         * gst/gstpad.c: (gst_pad_event_default):
15563         * gst/gstqueue.c: (gst_queue_loop):
15564         No unsafe task pausing please.
15565
15566 2005-06-23  Wim Taymans  <wim@fluendo.com>
15567
15568         * gst/schedulers/threadscheduler.c:
15569         (gst_thread_scheduler_task_start),
15570         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15571         Ref the task before pushing it on the threadpool. This
15572         makes sure that we have a ref when the threadfunction is
15573         actually called.
15574
15575 2005-06-23  Andy Wingo  <wingo@pobox.com>
15576
15577         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15578         offset is greater than the file's size.
15579
15580         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15581         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15582         * gst/gstobject.c (gst_object_class_init): Make the class lock
15583         recursive. Wim won't let me drop deep_notify. Decodebin works
15584         again, whoopdy doo.
15585
15586         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15587         internal pad, and hacks accordingly. Doesn't do it on the target
15588         pad because we change its caps. Probably catches all cases of
15589         interest tho.
15590         (gst_ghost_pad_set_property): Connect to notify::caps as
15591         appropritate.
15592
15593         * tests/network-clock.scm (plot-simulation): Pipe data to the
15594         elite python skript.
15595
15596         * tests/network-clock-utils.scm (define-parameter): New macro,
15597         defines a parameter that can be set via the command line.
15598         (set-parameter!, parse-parameter-arguments): Command line args
15599         parser.
15600
15601         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15602         stdin.
15603
15604 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15605
15606         * gst/elements/gsttypefindelement.c:
15607         (gst_type_find_element_handle_event):
15608           Don't restart typefinding on a discont.
15609         * gst/gstelement.c: (gst_element_set_state):
15610           Debug spelling fix.
15611         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15612           Allow changing mode of an active pad.
15613           Debug output fixes.
15614         * gst/registries/gstlibxmlregistry.c: (load_feature):
15615           Don't cast a static pad template to a normal pad template.
15616
15617 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15618
15619         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15620         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15621           remove gst_strtoll completely, since it didn't actually do
15622           anything more than what g_ascii_strtoull already does.
15623           check for range errors when deserializing
15624           do a cast for the unsigned cases; but further fixing needs
15625           a decision on what the interpretation of "(int)" and
15626           deserialization should be for values that fall outside the
15627           type's boundaries (ie, refuse, or interpret as casting)
15628
15629 2005-06-23  Wim Taymans  <wim@fluendo.com>
15630
15631         * check/Makefile.am:
15632         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15633         * docs/design/part-live-source.txt:
15634         * docs/design/part-states.txt:
15635         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15636         (gst_basesrc_set_live), (gst_basesrc_is_live),
15637         (gst_basesrc_get_range), (gst_basesrc_activate),
15638         (gst_basesrc_change_state):
15639         * gst/base/gstbasesrc.h:
15640         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15641         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15642         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15643         * gst/gstelement.c: (gst_element_get_state_func),
15644         (gst_element_set_state):
15645         * gst/gstelement.h:
15646         * gst/gsttypes.h:
15647         * tools/gst-launch.c: (event_loop), (main):
15648         Added support for live sources and other elements that
15649         cannot do preroll.
15650         Updated design docs, added live-source design doc.
15651         Implemented live source functionality in basesrc
15652         Fix error condition in _bin_get_state()
15653         Implement live source handling in -launch.
15654         Added check for live sources.
15655         Fixed case in GstBin where elements were changed state
15656         multiple times.
15657
15658
15659 2005-06-23  Andy Wingo  <wingo@pobox.com>
15660
15661         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15662         borken refcounting.
15663
15664         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15665         gst_caps_replace takes care of this for us.
15666
15667         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15668         gst_pad_set_caps on the target, not just its setcaps() function.
15669
15670         * tests/network-clock.scm: 
15671         * tests/network-clock-utils.scm: A network clock simulator.
15672         Something of an algorithmic testbed before doing something in C.
15673
15674 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15675
15676         * check/Makefile.am:
15677         * check/gst/capslist.h:
15678           copy over from 0.8, and add two with bitmasks specified with
15679           (int) 0xFF...
15680         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15681           add test to parse everything from capslist.h
15682         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15683         (main):
15684           add test for structure deserialization
15685         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15686           add tests for deserialization of strings to int types
15687         * gst/gststructure.c: (gst_structure_nth_field_name):
15688         * gst/gststructure.h:
15689           add a way to get the name of a field referenced by index
15690         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15691           instead of checking if the resulting long long lies between
15692           min and max, we check if the long long would fit into
15693           a number of bytes for the final type.
15694           This fixes cases where a string represents 2^32 - 1, which
15695           when cast to int would be the (valid) -1, but is bigger than
15696           G_MAXINT
15697
15698 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15699
15700         * gst/parse/grammar.y:
15701           add a log line for type deserialization
15702
15703 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15704
15705         * check/gst/gstvalue.c: (START_TEST):
15706         * gst/gstvalue.c: (gst_value_deserialize):
15707           return long long, not int, so gint64 deserialization actually
15708           works.  Is there any flag that makes the compiler check this ?
15709           Fixes #308559
15710
15711 2005-06-22  Wim Taymans  <wim@fluendo.com>
15712
15713         * gst/gstbuffer.h:
15714         Added convenience macros for setting buffers in GValue.
15715
15716 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15717
15718         * check/gst/.cvsignore:
15719         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15720           add a test deserializing int64, and comment part out because
15721           it fails, yay !
15722
15723 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15724
15725         * check/Makefile.am:
15726         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15727         * testsuite/Makefile.am:
15728         * testsuite/caps/Makefile.am:
15729         * testsuite/caps/value_serialize.c:
15730         * testsuite/test_gst_init.c:
15731           move a value_serialize test over
15732
15733 2005-06-20  Wim Taymans  <wim@fluendo.com>
15734
15735         * gst/gstpad.c:
15736         Small doc updates.
15737         
15738         * gst/gstvalue.c: (gst_value_compare_buffer),
15739         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15740         (gst_value_compare_flags), (gst_value_serialize_flags),
15741         (gst_value_deserialize_flags), (_gst_value_initialize):
15742         Fix serialisation of buffers, they are not boxed types anymore
15743
15744 2005-06-20  Wim Taymans  <wim@fluendo.com>
15745
15746         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15747         Testcase to show error in buffer-on-caps serialisation.
15748
15749 2005-06-20  Andy Wingo  <wingo@pobox.com>
15750
15751         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15752         will be adding to later.
15753
15754         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15755         if its socks fill with rocks.
15756         (gst_system_clock_obtain): Set the name on object construction.
15757         Avoid double-checked locking.
15758
15759 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15760
15761         * gst/gsturi.c: (gst_element_make_from_uri):
15762           Fix potential endless loop.
15763
15764 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15765
15766         * check/Makefile.am:
15767           add gsttag
15768         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15769         (main):
15770           move over from testsuite dir and clean up
15771         * configure.ac:
15772         * gst/gsttag.c:
15773         * testsuite/Makefile.am:
15774         * testsuite/tags/.cvsignore:
15775         * testsuite/tags/Makefile.am:
15776         * testsuite/tags/merge.c:
15777           remove testsuite/tags
15778
15779 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15780
15781         * docs/gst/gstreamer-sections.txt:
15782         * docs/gst/tmpl/gstenumtypes.sgml:
15783         * win32/gstenumtypes.c:
15784           clean up documentation build a little
15785
15786 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15787
15788         * check/gstcheck.h:
15789           add macros for checking refcounts on objects and caps
15790         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15791           add some more unit tests
15792         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15793         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15794           fix leaked refcounts (I hope :)) so unittest works
15795         * gst/gstpad.h:
15796           whitespace removal
15797
15798 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15799
15800         * configure.ac: back to HEAD
15801
15802 === release 0.9.1 ===
15803
15804 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15805
15806         * NEWS:
15807         * RELEASE:
15808           updated
15809
15810 2005-06-17  Andy Wingo  <wingo@pobox.com>
15811
15812         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15813         assert; it's always possible that the pad gets deactivated in
15814         between the checks in gstpad.c and the implementation. Rely on
15815         finish_preroll() to return a FLUSHING or similar instead of on the
15816         assert.
15817         
15818         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15819         clock and post an EOS message if we come out of finish_preroll in
15820         the playing state.
15821
15822 2005-06-16  David Schleef  <ds@schleef.org>
15823
15824         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15825         (gst_capsfilter_set_property): Allow NULL as possible value
15826         for filter_caps property, indicating GST_CAPS_ANY.
15827
15828 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15829
15830         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15831           fix debug output
15832         * gst/schedulers/Makefile.am:
15833           use libgst prefix
15834         * gstreamer.spec.in:
15835           fix spec for it
15836
15837 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15838
15839         * gstreamer.spec.in:
15840           clean up
15841
15842 2005-06-08  Andy Wingo  <wingo@pobox.com>
15843
15844         * gst/gstutils.c: RPAD fixes all around.
15845         (gst_element_link_pads): Refcounting fixes.
15846
15847         * tools/gst-inspect.c:
15848         * tools/gst-xmlinspect.c:
15849         * parse/grammar.y:
15850         * gst/base/gsttypefindhelper.c:
15851         * gst/base/gstbasesink.c:
15852         * gst/gstqueue.c: RPAD fixes.
15853
15854         * gst/gstghostpad.h:
15855         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15856         pads. The tricky thing is they provide both source and sink
15857         interfaces, since they proxy the internal pad for the external
15858         pad, and vice versa. Implement with lower-level ProxyPad objects,
15859         with the interior proxy pad as a child of the exterior ghost pad.
15860         Should write a doc on this.
15861         
15862         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15863         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15864         gst_object API.
15865         
15866         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15867         pads are real pads. No ghost pads in this file. Not documenting
15868         the myriad s/RPAD/PAD/ and REALIZE fixes.
15869         (gst_pad_class_init): Add properties for "direction" and
15870         "template". Both are construct-only, so they can't change during
15871         the life of the pad. Fixes properly deriving from GstPad.
15872         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15873         derived objects, just set properties when creating the objects via
15874         g_object_new.
15875         (gst_pad_get_parent): Implement as a function, return NULL if the
15876         parent is not an element.
15877         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15878         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15879         
15880         * gst/gstobject.c (gst_object_class_init): Make name a construct
15881         property. Don't set it in the object init.
15882
15883         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15884         with UNKNOWN direction.
15885         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15886         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15887         (gst_element_remove_pad): Remove ghost-pad special cases.
15888         (gst_element_pads_activate): Remove rpad cruft.
15889
15890         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15891         catch the pad's-parent-not-an-element case.
15892
15893         * gst/gst.h: Include gstghostpad.h.
15894
15895         * gst/gst.c (init_post): No more real, ghost pads.
15896
15897         * gst/Makefile.am: Add gstghostpad.[ch].
15898
15899         * check/Makefile.am:
15900         * check/gst/gstbin.c:
15901         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15902         into a bin creates ghost pads, and that the refcounts are right.
15903         Partly moved from gstbin.c.
15904
15905 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15906
15907         * check/gst-libs/.cvsignore:
15908         * check/gst/.cvsignore:
15909         * check/pipelines/.cvsignore:
15910           ignore more
15911         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15912         (START_TEST), (cleanup_suite), (main):
15913           add some tests related to cleanup after running pipelines
15914
15915 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15916
15917         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15918           add a testsuite for GstBuffer
15919
15920 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15921
15922         * gst/gstminiobject.h:
15923           add defines for accessing the refcount
15924
15925 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15926
15927         * Makefile.am: added support for html unit test coverage reports
15928
15929 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15930
15931         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15932           Free existing caps if the capsfilter changes. Add a FIXME about
15933           setting those caps on the pads.
15934
15935         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15936           Before adding a ghost pad to a parent bin, check that there isn't
15937           already one for the element on the bin. Prevents infinite recursion
15938           when using decodebin in parse pipelines. Andy says he'll rewrite the
15939           way this works anyway, so ignore the hack.
15940
15941 2005-06-02  Andy Wingo  <wingo@pobox.com>
15942
15943         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15944         file size, pass it on to the type find helper.
15945
15946         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15947         segment_start and segment_end properly according to the seek
15948         method. Segment_end is still a bit flaky because offset can be
15949         negative for CUR and END cases, but it takes -1 as an "unset"
15950         value.
15951
15952 2005-06-02  Wim Taymans  <wim@fluendo.com>
15953
15954         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15955         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15956         (gst_basesink_activate):
15957         * gst/base/gstbasesink.h:
15958         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15959         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15960         (gst_pad_query), (gst_pad_start_task):
15961         * gst/gstpad.h:
15962         * gst/gstqueue.c: (gst_queue_bufferalloc),
15963         (gst_queue_handle_sink_event), (gst_queue_chain):
15964         Bufferalloc: return GstFlowReturn to more accuratly report
15965         why allocation failed.
15966
15967 2005-06-02  Wim Taymans  <wim@fluendo.com>
15968
15969         * gst/gstpipeline.c: (gst_pipeline_send_event):
15970         Take snapshot of state without blocking.
15971
15972 2005-06-02  Wim Taymans  <wim@fluendo.com>
15973
15974         * docs/design/part-TODO.txt:
15975         * docs/design/part-caps.txt:
15976         * docs/design/part-clocks.txt:
15977         * docs/design/part-negotiation.txt:
15978         * docs/design/part-preroll.txt:
15979         Small doc updates 
15980
15981 2005-05-30  Wim Taymans  <wim@fluendo.com>
15982
15983         * gst/elements/gstidentity.c: (gst_identity_event),
15984         (gst_identity_transform), (gst_identity_get_property):
15985         Protect last_message property as it is accessed from
15986         multiple threads.
15987
15988 2005-05-30  Wim Taymans  <wim@fluendo.com>
15989
15990         * gst/gstelement.c: (gst_element_init),
15991         (gst_element_pads_activate), (gst_element_change_state):
15992         Slicker pad activation code.
15993
15994 2005-05-30  Wim Taymans  <wim@fluendo.com>
15995
15996         * gst/Makefile.am:
15997         * gst/gstelement.h:
15998         * gst/gstelementfactory.h:
15999         * gst/gsttypes.h:
16000         Move elementfactory methods to separate .h file.
16001
16002 2005-05-30  Wim Taymans  <wim@fluendo.com>
16003
16004         * docs/design/part-overview.txt:
16005         * gst/gstsystemclock.h:
16006         Small typo fixes, doc updates.
16007
16008 2005-05-30  Wim Taymans  <wim@fluendo.com>
16009
16010         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16011         (init_popt_callback):
16012         Remove cpu-opt flag.
16013
16014 2005-05-30  Wim Taymans  <wim@fluendo.com>
16015
16016         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16017         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16018         * gst/gstbuffer.h:
16019         Avoid typechecking in places where not needed.
16020         Added accessor for malloc_data.
16021
16022 2005-05-30  Wim Taymans  <wim@fluendo.com>
16023
16024         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16025         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16026         (gst_pad_configure_sink), (gst_pad_configure_src),
16027         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16028         (gst_pad_start_task):
16029         Propagate errors from _set_caps() in configure_src/sink
16030         functions instead of returning TRUE.
16031         FLUSH events can travel up and downstream
16032
16033
16034 2005-05-30  Wim Taymans  <wim@fluendo.com>
16035
16036         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16037         (gst_basesink_activate):
16038         Handle EOS in preroll.
16039
16040 2005-05-30  Wim Taymans  <wim@fluendo.com>
16041
16042         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16043         (gst_queue_loop), (gst_queue_handle_src_event):
16044         Remove old pieces of code
16045         Flushing the queue in an upstream event is a very bad idea.
16046
16047 2005-05-26  Andy Wingo  <wingo@pobox.com>
16048
16049         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16050         gst_value_set_mini_object so as to add a ref on the object (which
16051         will be removed when the value is unset).
16052
16053         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16054         arg type in ::handoff.
16055
16056         * gst/gstelement.c (gst_element_change_state): Also deactivate
16057         pads in READY->NULL, just in case the element didn't make it to
16058         PAUSED. Wingo tested, Wim approved.
16059
16060 2005-05-26  Wim Taymans  <wim@fluendo.com>
16061
16062         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16063         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16064         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16065         A flushing pad cannot be used to alloc_buffer from.
16066
16067 2005-05-26  Wim Taymans  <wim@fluendo.com>
16068
16069         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16070         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16071         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16072         (gst_bus_create_watch), (gst_bus_add_watch_full):
16073         * gst/gstbus.h:
16074         Implement a real GSource and use g_main_context_wakeup() to
16075         signal new messages instead of the socketpair.
16076
16077 2005-05-25  Wim Taymans  <wim@fluendo.com>
16078
16079         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16080         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16081         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16082         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16083         (gst_pad_send_event), (gst_pad_start_task):
16084         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16085         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16086         (gst_queue_sink_activate), (gst_queue_src_activate),
16087         (gst_queue_change_state):
16088         * gst/gstqueue.h:
16089         Fix state changes for non sinks. We now change sinks, then elements
16090         with unconnected srcpads, then the rest.
16091         More efficient queue unlocking in flush and state changes.
16092         Set the pad activate mode even if it does not have an activate
16093         function.
16094
16095 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16096
16097         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16098           Don't go in pull mode for non-seekable sources.
16099         * gst/elements/gsttypefindelement.h:
16100         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16101         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16102         (free_entry), (stop_typefinding),
16103         (gst_type_find_element_handle_event), (find_peek),
16104         (gst_type_find_element_chain), (do_pull_typefind),
16105         (gst_type_find_element_change_state):
16106           Allow typefinding (w/o seeking) in push-mode, simplified version
16107           of what was in 0.8.
16108         * gst/gstutils.c: (gst_buffer_join):
16109         * gst/gstutils.h:
16110           gst_buffer_join() from 0.8.
16111
16112 2005-05-25  Wim Taymans  <wim@fluendo.com>
16113
16114         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16115         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16116         (gst_pad_send_event), (gst_pad_start_task):
16117         Disable attempt at mode switching until it is figured out.
16118
16119 2005-05-25  Wim Taymans  <wim@fluendo.com>
16120
16121         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16122         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16123         (gst_basesink_finish_preroll), (gst_basesink_chain),
16124         (gst_basesink_loop), (gst_basesink_activate),
16125         (gst_basesink_change_state):
16126         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16127         (gst_basesrc_get_range), (gst_basesrc_loop),
16128         (gst_basesrc_activate):
16129         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16130         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16131         (gst_real_pad_init), (gst_real_pad_set_property),
16132         (gst_real_pad_get_property), (gst_pad_set_active),
16133         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16134         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16135         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16136         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16137         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16138         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16139         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16140         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16141         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16142         (gst_pad_stop_task):
16143         * gst/gstpad.h:
16144         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16145         (gst_queue_loop), (gst_queue_src_activate):
16146         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16147         (gst_task_get_state):
16148         * gst/gsttask.h:
16149         * gst/schedulers/threadscheduler.c:
16150         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16151         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16152         in task function.
16153         Remove ACTIVE pad flag, use FLUSHING everywhere
16154         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16155         functions.
16156         Add locks around IS_FLUSHING when reading.
16157         Take STREAM lock in chain(), get_range() functions so plugins
16158         don't need to take it anymore.
16159         
16160
16161
16162 2005-05-25  Wim Taymans  <wim@fluendo.com>
16163
16164         * tools/gst-launch.c: (event_loop):
16165         Unref message after using its contents instead of
16166         before.
16167
16168 2005-05-24  Wim Taymans  <wim@fluendo.com>
16169
16170         * docs/design/draft-ghostpads.txt:
16171         * docs/design/draft-push-pull.txt:
16172         * docs/design/draft-query.txt:
16173         * docs/design/part-overview.txt:
16174         Docs updates, added general overview doc.
16175
16176 2005-05-21  David Schleef  <ds@schleef.org>
16177
16178         * docs/gst/tmpl/old/GstBin.sgml:
16179         * docs/gst/tmpl/old/GstBuffer.sgml:
16180         * docs/gst/tmpl/old/GstCaps.sgml:
16181         * docs/gst/tmpl/old/GstClock.sgml:
16182         * docs/gst/tmpl/old/GstCompat.sgml:
16183         * docs/gst/tmpl/old/GstData.sgml:
16184         * docs/gst/tmpl/old/GstElement.sgml:
16185         * docs/gst/tmpl/old/GstEvent.sgml:
16186         * docs/gst/tmpl/old/GstIndex.sgml:
16187         * docs/gst/tmpl/old/GstStructure.sgml:
16188         * docs/gst/tmpl/old/GstTag.sgml:
16189         * docs/gst/tmpl/old/cothreads.sgml:
16190         * docs/gst/tmpl/old/cothreads_compat.sgml:
16191         * docs/gst/tmpl/old/gettext.sgml:
16192         * docs/gst/tmpl/old/gobject2gtk.sgml:
16193         * docs/gst/tmpl/old/grammar.tab.sgml:
16194         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16195         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16196         * docs/gst/tmpl/old/gst_private.sgml:
16197         * docs/gst/tmpl/old/gstaggregator.sgml:
16198         * docs/gst/tmpl/old/gstarch.sgml:
16199         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16200         * docs/gst/tmpl/old/gstbufferstore.sgml:
16201         * docs/gst/tmpl/old/gstdata_private.sgml:
16202         * docs/gst/tmpl/old/gstdisksink.sgml:
16203         * docs/gst/tmpl/old/gstdisksrc.sgml:
16204         * docs/gst/tmpl/old/gstelementfactory.sgml:
16205         * docs/gst/tmpl/old/gstextratypes.sgml:
16206         * docs/gst/tmpl/old/gstfakesink.sgml:
16207         * docs/gst/tmpl/old/gstfakesrc.sgml:
16208         * docs/gst/tmpl/old/gstfdsink.sgml:
16209         * docs/gst/tmpl/old/gstfdsrc.sgml:
16210         * docs/gst/tmpl/old/gstfilesink.sgml:
16211         * docs/gst/tmpl/old/gstfilesrc.sgml:
16212         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16213         * docs/gst/tmpl/old/gstidentity.sgml:
16214         * docs/gst/tmpl/old/gstindexfactory.sgml:
16215         * docs/gst/tmpl/old/gstmarshal.sgml:
16216         * docs/gst/tmpl/old/gstmd5sink.sgml:
16217         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16218         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16219         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16220         * docs/gst/tmpl/old/gstpipefilter.sgml:
16221         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16222         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16223         * docs/gst/tmpl/old/gstshaper.sgml:
16224         * docs/gst/tmpl/old/gstspider.sgml:
16225         * docs/gst/tmpl/old/gstspideridentity.sgml:
16226         * docs/gst/tmpl/old/gststatistics.sgml:
16227         * docs/gst/tmpl/old/gsttee.sgml:
16228         * docs/gst/tmpl/old/gsttimecache.sgml:
16229         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16230         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16231         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16232         * docs/gst/tmpl/old/types.sgml:
16233           I didn't intend to add these or check them in.
16234
16235 2005-05-19  David Schleef  <ds@schleef.org>
16236
16237         * configure.ac: Use -no-common everywhere.  In a sane world, it
16238           would be the default in libtool, because without it, you can't
16239           build DLLs on Windows.
16240         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16241         * docs/gst/gstreamer-sections.txt:
16242         * docs/gst/tmpl/gstcpu.sgml:
16243         * docs/gst/tmpl/gstdata.sgml:
16244         * docs/gst/tmpl/gstthread.sgml:
16245
16246 2005-05-19  David Schleef  <ds@schleef.org>
16247
16248         * gst/gstminiobject.c: (gst_value_set_mini_object),
16249         (gst_value_take_mini_object), (gst_value_get_mini_object):
16250         * gst/gstminiobject.h: Add GValue set/get functions.
16251
16252 2005-05-19  Wim Taymans  <wim@fluendo.com>
16253
16254         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16255         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16256         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16257         * gst/gstbuffer.h:
16258         * gst/gstbus.c: (gst_bus_post):
16259         * gst/gstelement.c: (gst_element_get_random_pad):
16260         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16261         Make subbufer unref the parent in finalize.
16262         some more debugging info.
16263
16264
16265 2005-05-19  Wim Taymans  <wim@fluendo.com>
16266
16267         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16268         (gst_basesink_init), (gst_basesink_finalize),
16269         (gst_basesink_activate), (gst_basesink_change_state):
16270         Don't free preroll queue too early.
16271
16272 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16273
16274         * gst/Makefile.am:
16275         * gst/ROADMAP:
16276           Hi, I'm outdated. Please shoot me.
16277
16278 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16279
16280         * gst/gstpipeline.c: (gst_pipeline_send_event):
16281           Do not access variables after they have been deleted.
16282
16283 2005-05-19  Wim Taymans  <wim@fluendo.com>
16284
16285         * tools/gst-inspect.c: (print_plugin_features):
16286         A plugin feature does unfortunatly not use the
16287         object name yet...
16288
16289 2005-05-18  Wim Taymans  <wim@fluendo.com>
16290
16291         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16292         Port _span() functions to new subbuffers.
16293
16294 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16295
16296         * gst/gstbin.c: (gst_bin_add_func):
16297           Fix clock settery in bins when adding kids after the clock has
16298           been selected.
16299
16300 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16301
16302         * gst/elements/gstidentity.c: (gst_identity_class_init):
16303           Workaround until signals support GstMiniObject.
16304
16305 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16306
16307         * gst/gstbuffer.c:
16308         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16309
16310 2005-05-18  Wim Taymans  <wim@fluendo.com>
16311
16312         * gst/base/Makefile.am:
16313         * gst/base/gstadapter.c: (gst_adapter_base_init),
16314         (gst_adapter_class_init), (gst_adapter_init),
16315         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16316         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16317         (gst_adapter_flush), (gst_adapter_available),
16318         (gst_adapter_available_fast):
16319         * gst/base/gstadapter.h:
16320         Ported and added adapter to the base classes.
16321
16322 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16323
16324         * gst/gst.c:
16325         * gst/gstmessage.c:
16326           Make sure the class is reffed/unreffed once before threads can be
16327           used.  Fixes #304551.
16328
16329 2005-05-17  Wim Taymans  <wim@fluendo.com>
16330
16331         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16332         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16333         * gst/gstminiobject.c: (gst_mini_object_get_type),
16334         (gst_mini_object_free):
16335         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16336         (gst_pad_push), (gst_pad_push_event):
16337         * gst/gstqueue.c: (gst_queue_change_state):
16338         Don't queue buffers in basesink when we are flushing.
16339         Unref buffer when flushing in basesink.
16340         Flush queue when going to READY
16341         Unref buffer when _push() returns an error.
16342         Don't free MiniObject instance when refcount is incremented
16343         in _finalize() so that we can recover objects.
16344
16345 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16346
16347         * docs/manual/advanced-schedulers.xml:
16348         * docs/manual/appendix-checklist.xml:
16349         * docs/pwg/advanced-clock.xml:
16350         * docs/pwg/advanced-interfaces.xml:
16351         * docs/pwg/advanced-request.xml:
16352         * docs/pwg/advanced-types.xml:
16353         * docs/pwg/intro-preface.xml:
16354         * examples/plugins/example.c: (gst_example_get_type),
16355         (gst_example_class_init), (gst_example_chain),
16356         (gst_example_set_property), (gst_example_get_property),
16357         (gst_example_change_state), (plugin_init):
16358         * examples/plugins/example.h:
16359           small doc fixes
16360
16361 2005-05-17  Wim Taymans  <wim@fluendo.com>
16362
16363         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16364         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16365         * gst/gstqueue.c: (gst_queue_change_state):
16366         Clear queue when going to READY.
16367         Remove IN_SETCAPS flag too.
16368
16369 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16370
16371         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16372           Remove implicit cast from gboolean to GstElementStateReturn;
16373           make sure we still return failure in paused => ready case if
16374           the parent class fails to change state and our own stop 
16375           vfunc succeeds.
16376
16377 2005-05-17  Wim Taymans  <wim@fluendo.com>
16378
16379         * tools/gst-launch.c: (event_loop):
16380         Message was unreffed too soon.
16381
16382 2005-05-16  Andy Wingo  <wingo@pobox.com>
16383
16384         * gst/gstbin.c (sink_iterator_filter): Err... um...
16385
16386         * check/gst/gstbin.c (test_ghost_pads): New test for the
16387         ghosting-if-elements-not-in-same-bin behavior.
16388
16389 2005-05-16  David Schleef  <ds@schleef.org>
16390
16391         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16392         accessing refcount directly.
16393
16394 2005-05-15  David Schleef  <ds@schleef.org>
16395
16396         * check/Makefile.am: remove GstData checks
16397         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16398         * gst/Makefile.am: add miniobject, remove data
16399         * gst/gst.h: add miniobject, remove data
16400         * gst/gstdata.c: remove
16401         * gst/gstdata.h: remove
16402         * gst/gstdata_private.h: remove
16403         * gst/gsttypes.h: remove GstEvent and GstMessage
16404         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16405         * gst/gstmarshal.list: change BOXED -> OBJECT
16406
16407         Implement GstMiniObject.
16408         * gst/gstminiobject.c:
16409         * gst/gstminiobject.h:
16410
16411         Modify to be subclasses of GstMiniObject.
16412         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16413         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16414         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16415         (gst_subbuffer_get_type), (gst_subbuffer_init),
16416         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16417         (gst_buffer_span):
16418         * gst/gstbuffer.h:
16419         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16420         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16421         (_gst_event_copy), (gst_event_new):
16422         * gst/gstevent.h:
16423         * gst/gstmessage.c: (_gst_message_initialize),
16424         (gst_message_get_type), (gst_message_class_init),
16425         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16426         (gst_message_new), (gst_message_new_error),
16427         (gst_message_new_warning), (gst_message_new_tag),
16428         (gst_message_new_state_changed), (gst_message_new_application):
16429         * gst/gstmessage.h:
16430         * gst/gstprobe.c: (gst_probe_perform),
16431         (gst_probe_dispatcher_dispatch):
16432         * gst/gstprobe.h:
16433         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16434         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16435         (_gst_query_copy), (gst_query_new):
16436
16437         Update elements for GstData -> GstMiniObject changes
16438         * gst/gstquery.h:
16439         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16440         (gst_queue_chain), (gst_queue_loop):
16441         * gst/elements/gstbufferstore.c:
16442         (gst_buffer_store_add_buffer_func),
16443         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16444         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16445         (gst_fakesink_render):
16446         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16447         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16448         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16449         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16450         (gst_filesrc_create_read):
16451         * gst/elements/gstidentity.c: (gst_identity_class_init):
16452         * gst/elements/gsttypefindelement.c:
16453         (gst_type_find_element_src_event), (free_entry_buffers),
16454         (gst_type_find_element_handle_event):
16455         * libs/gst/dataprotocol/dataprotocol.c:
16456         (gst_dp_header_from_buffer):
16457         * libs/gst/dataprotocol/dataprotocol.h:
16458         * libs/gst/dataprotocol/dp-private.h:
16459
16460 2005-05-15  David Schleef  <ds@schleef.org>
16461
16462         * gst/elements/gstelements.c: Don't include headers that were
16463         just removed.
16464
16465 2005-05-15  David Schleef  <ds@schleef.org>
16466
16467         * gst/elements/Makefile.am: Remove some elements that don't
16468         need to be in the core (or even exist at all).
16469         * gst/elements/gstaggregator.c:
16470         * gst/elements/gstaggregator.h:
16471         * gst/elements/gstmd5sink.c:
16472         * gst/elements/gstmd5sink.h:
16473         * gst/elements/gstmultifilesrc.c:
16474         * gst/elements/gstmultifilesrc.h:
16475         * gst/elements/gstpipefilter.c:
16476         * gst/elements/gstpipefilter.h:
16477         * gst/elements/gstshaper.c:
16478         * gst/elements/gstshaper.h:
16479         * gst/elements/gststatistics.c:
16480         * gst/elements/gststatistics.h:
16481         * po/POTFILES.in: Remove above files.
16482
16483 2005-05-14  Andy Wingo  <wingo@pobox.com>
16484
16485         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16486         so as to get the refs right.
16487         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16488         unreffing objects that don't pass the filter.
16489
16490         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16491         gst_element_set_bus.
16492         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16493         normal cases, this will destroy the bus.
16494
16495         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16496         object.
16497
16498         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16499         has no sinks.
16500
16501 2005-05-13  Andy Wingo  <wingo@pobox.com>
16502
16503         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16504         gst_pad_link, call pad_link_maybe_ghosting,
16505         (pad_link_maybe_ghosting): Links pads, making sure that the
16506         elements being linked are in the same bin.
16507         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16508         Helpers for pad_link_maybe_ghosting.
16509
16510 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16511
16512         * configure.ac:
16513           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16514
16515 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16516
16517         * docs/design/part-element-source.txt:
16518           Mention GstPushSrc
16519
16520 2005-05-12  Wim Taymans  <wim@fluendo.com>
16521
16522         * gst/base/gstbasesink.c: (gst_basesink_init),
16523         (gst_basesink_activate):
16524         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16525         (gst_basesrc_is_seekable):
16526         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16527         (bin_element_is_sink), (gst_bin_change_state):
16528         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16529         * gst/gstelement.h:
16530         Identify sinks by their flag to avoid overly complicated
16531         checks (fow now).
16532         Do state changes even for elements not reachable from the
16533         sinks.
16534         BaseSink is a sink now :)
16535         Some more debugging info in the basesrc.
16536
16537
16538 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16539
16540         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16541           Implement _query on a bin, similar to _send_event.
16542
16543 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16544
16545         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16546           Discont event offset format should be GST_FORMAT_BYTES,
16547           not GST_FORMAT_TIME.
16548
16549 2005-05-12  Wim Taymans  <wim@fluendo.com>
16550
16551         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16552         Same fix as Ronald's but without the signal. 
16553
16554 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16555
16556         * gst/gstutils.c: (gst_element_query_position):
16557           No, an element is not a pad.
16558
16559 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16560
16561         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16562         (gst_bin_get_state):
16563           If a child is removed from a bin while we remove the child from
16564           the bin and while we're retrieving its state, signal this to the
16565           get_state function so we abort the wait (instead of waiting for
16566           a timeout) and can immediately re-iterate over all other elements.
16567
16568 2005-05-12  Wim Taymans  <wim@fluendo.com>
16569
16570         * gst/base/Makefile.am:
16571         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16572         (gst_basesrc_start):
16573         * gst/base/gstbasesrc.h:
16574         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16575         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16576         (gst_pushsrc_init), (gst_pushsrc_create):
16577         * gst/base/gstpushsrc.h:
16578         Added is_seekable to BaseSrc
16579         Added simple PushSrc.
16580
16581 2005-05-11  Wim Taymans  <wim@fluendo.com>
16582
16583         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16584         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16585         (gst_element_link_pads), (gst_element_query_position),
16586         (gst_element_query_convert), (intersect_caps_func),
16587         (gst_pad_query_position), (gst_pad_query_convert):
16588         Fix refcounting in utils function.
16589         No point in trying to activate a pad when it's added, it could
16590         be added from the state change function and then we deadlock, the
16591         element has to decide what to do.
16592
16593 2005-05-10  Andy Wingo  <wingo@pobox.com>
16594
16595         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16596         *all* the arguments.
16597
16598         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16599         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16600         lock (according to the docs -- if this is wrong change the docs).
16601
16602         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16603         flush messages in the NULL state.
16604
16605         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16606         message immediately and return.
16607         (gst_bus_set_flushing): New function. If a bus is flushing, it
16608         flushes out any queued messages and immediately unrefs new
16609         messages. This is so when an element goes to NULL, all of the
16610         unhandled messages coming from it can be freed, and their
16611         references to the element dropped. In other words: message source
16612         ref considered harmful :P
16613
16614         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16615         we're finished with it.
16616
16617         * gst/gstmessage.c (gst_message_new_state_changed): 
16618
16619 2005-05-10  Wim Taymans  <wim@fluendo.com>
16620
16621         * gst/gstvalue.c: (gst_value_compare_flags),
16622         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16623         (_gst_value_initialize):
16624         Added flags serialize/deserialize/compare code.
16625
16626 2005-05-09  Andy Wingo  <wingo@pobox.com>
16627
16628         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16629         Intersect the peer's caps with our caps.
16630
16631 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16632
16633         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16634         * gst/elements/gsttypefindelement.c: (find_peek):
16635           Handle negative offsets better. Fixes decodebin.
16636
16637 2005-05-09  Wim Taymans  <wim@fluendo.com>
16638
16639         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16640         (gst_base_transform_event):
16641         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16642         Implement accept_caps.
16643         Fix silly lock/unlock mismatch in base class.
16644
16645 2005-05-09  Wim Taymans  <wim@fluendo.com>
16646
16647         * docs/design/draft-push-pull.txt:
16648         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16649         * gst/elements/gstfilesink.c: (gst_filesink_init),
16650         (gst_filesink_query):
16651         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16652         (gst_type_find_handle_src_query), (find_element_get_length):
16653         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16654         * gst/gstelement.h:
16655         * gst/gstmessage.c:
16656         * gst/gstmessage.h:
16657         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16658         (gst_real_pad_get_caps_unlocked),
16659         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16660         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16661         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16662         (gst_real_pad_dispose), (gst_real_pad_finalize),
16663         (gst_pad_load_and_link), (gst_pad_save_thyself),
16664         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16665         (gst_pad_check_pull_range), (gst_pad_pull_range),
16666         (gst_pad_template_get_type), (gst_pad_template_class_init),
16667         (gst_pad_template_init), (gst_pad_template_dispose),
16668         (name_is_valid), (gst_static_pad_template_get),
16669         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16670         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16671         (gst_pad_get_element_private), (gst_pad_start_task),
16672         (gst_pad_pause_task), (gst_pad_stop_task),
16673         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16674         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16675         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16676         (gst_ghost_pad_new):
16677         * gst/gstpad.h:
16678         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16679         (gst_query_new_position), (gst_query_set_position),
16680         (gst_query_parse_position), (gst_query_new_convert),
16681         (gst_query_set_convert), (gst_query_parse_convert):
16682         * gst/gstquery.h:
16683         * gst/gstqueryutils.c:
16684         * gst/gstqueryutils.h:
16685         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16686         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16687         (gst_queue_handle_src_query):
16688         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16689         (gst_element_query_position), (gst_element_query_convert),
16690         (intersect_caps_func), (gst_pad_query_position),
16691         (gst_pad_query_convert):
16692         * gst/gstutils.h:
16693         * tools/gst-inspect.c: (print_pad_info):
16694         * tools/gst-xmlinspect.c: (print_element_info):
16695         Remove old query functions. Ported old code.
16696         Added position/convert helper functions to gstutils.
16697         Reordered gstpad.c code, grouping relevant things.
16698         Remove gst_message_new(), always need to speficy a specific
16699         message.
16700
16701
16702 2005-05-09  Andy Wingo  <wingo@pobox.com>
16703
16704         * gst/gstiterator.h: Add some includes.
16705
16706         * gst/gstqueryutils.h: Include more headers.
16707
16708         * gst/gstpad.h:
16709         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16710         some uses of gst_pad_query.
16711
16712         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16713         NULL out parameters.
16714         (gst_query_new_position): New proc, allocates a new position
16715         query.
16716
16717         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16718         gstqueryutils.c to the build.
16719
16720         * gst/gststructure.c (gst_structure_set_valist): Implement with
16721         the generic G_VALUE_COLLECT.
16722         
16723 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16724
16725         * gst/Makefile.am: (gst_headers):
16726         Added gstqueryutils.h to the list of headers to install, that was
16727         a 'nachty' move wingo :)
16728
16729 2005-05-06  Andy Wingo  <wingo@pobox.com>
16730
16731         * gst/gstquery.h
16732         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16733         GstData, init a memchunk.
16734         (standard_definitions): Add a few query types, deprecate a few.
16735         (gst_query_get_type): New proc.
16736         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16737         implementation.
16738         (gst_query_new_application, gst_query_get_structure): New public
16739         procs.
16740
16741         * docs/design/draft-query.txt: Removed LINKS from the query types,
16742         because all the rest can be dispatched to other pads -- seemed
16743         ugly to have a query that couldn't be dispatched. internal_links
16744         is fine as a pad method.
16745
16746         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16747         in gstpad.c, but maintain binary compatibility for the moment.
16748         Will fix before 0.9 is out.
16749
16750         * gst/gstqueryutils.c: 
16751         * gst/gstqueryutils.h: New files, implement 3 methods for each
16752         query type: parse_query, parse_response, and set. Probably need an
16753         allocator as well.
16754
16755         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16756
16757         * gst/elements/gstfilesink.c (gst_filesink_query2):
16758         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16759         query_types, and formats methods.
16760
16761         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16762         (gst_pad_set_query2_function): New functions.
16763         (gst_real_pad_init): Set query2_default as the default query2
16764         function. Basically just dispatches to internally linked pads.
16765
16766         Needs review!
16767         
16768         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16769         without using the atomic operations. Only one thread can possibly
16770         be accessing the data at this point. Changed so as to avoid
16771         gst_atomic operations.
16772
16773 2005-05-06  Wim Taymans  <wim@fluendo.com>
16774
16775         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16776         Also set caps if we use the fallback buffer alloc.
16777
16778 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16779
16780         * docs/gst/Makefile.am:
16781         * docs/gst/gstreamer-docs.sgml:
16782         * docs/gst/gstreamer-sections.txt:
16783         * docs/gst/tmpl/gstatomic.sgml:
16784         * docs/gst/tmpl/gstmemchunk.sgml:
16785         * testsuite/elements/struct_i386.h:
16786         * win32/GStreamer.vcproj:
16787         * win32/Makefile:
16788           Purge GstAtomic stuff from docs and win32 makefiles as well
16789
16790 2005-05-06  Wim Taymans  <wim@fluendo.com>
16791
16792         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16793         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16794         * gst/gstpad.c: (gst_pad_peer_get_caps):
16795         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16796         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16797         (gst_queue_src_activate), (gst_queue_change_state):
16798         * gst/gstqueue.h:
16799         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16800         (intersect_caps_func):
16801         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16802         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16803         Some fixes for the peer_get_caps() change.
16804
16805 2005-05-06  Wim Taymans  <wim@fluendo.com>
16806
16807         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16808         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16809         (gst_basesink_activate):
16810         Actually do something with error codes returned from the push
16811         functions.
16812
16813 2005-05-06  Wim Taymans  <wim@fluendo.com>
16814
16815         * docs/design/part-element-sink.txt:
16816         * docs/design/part-element-source.txt:
16817         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16818         (gst_basesink_event), (gst_basesink_activate):
16819         * gst/base/gstbasesink.h:
16820         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16821         (gst_basesrc_activate):
16822         * gst/base/gstbasesrc.h:
16823         * gst/gstelement.c: (gst_element_pads_activate):
16824         Some more documentation.
16825         Fixed scheduling decision in _pads_activate().
16826
16827 2005-05-05  Andy Wingo  <wingo@pobox.com>
16828
16829         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16830         the test suite.
16831
16832 2005-05-05  Wim Taymans  <wim@fluendo.com>
16833
16834         * gst/base/Makefile.am:
16835         * gst/base/gstbasesink.h:
16836         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16837         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16838         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16839         (gst_collectpads_class_init), (gst_collectpads_init),
16840         (gst_collectpads_finalize), (gst_collectpads_new),
16841         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16842         (find_pad), (gst_collectpads_remove_pad),
16843         (gst_collectpads_is_active), (gst_collectpads_collect),
16844         (gst_collectpads_collect_range), (gst_collectpads_start),
16845         (gst_collectpads_stop), (gst_collectpads_peek),
16846         (gst_collectpads_pop), (gst_collectpads_available),
16847         (gst_collectpads_read), (gst_collectpads_flush),
16848         (gst_collectpads_chain):
16849         * gst/base/gstcollectpads.h:
16850         * gst/elements/Makefile.am:
16851         * gst/elements/gstelements.c:
16852         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16853         (gst_fakesink_get_times), (gst_fakesink_event),
16854         (gst_fakesink_preroll), (gst_fakesink_render):
16855         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16856         (gst_filesink_init), (gst_filesink_set_location),
16857         (gst_filesink_open_file), (gst_filesink_close_file),
16858         (gst_filesink_pad_query), (gst_filesink_event),
16859         (gst_filesink_render), (gst_filesink_change_state):
16860         * gst/elements/gstfilesink.h:
16861         Added object to help in making collect pad based elements.
16862         Ported filesink.
16863         Make event function in sink baseclass return gboolean.
16864
16865 2005-05-05  Wim Taymans  <wim@fluendo.com>
16866
16867         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16868         (gst_bin_get_by_name):
16869         * gst/gstbuffer.h:
16870         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16871         (gst_clock_finalize):
16872         * gst/gstdata.c: (gst_data_replace):
16873         * gst/gstdata.h:
16874         * gst/gstelement.c: (gst_element_request_pad),
16875         (gst_element_pads_activate):
16876         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16877         (gst_object_unref):
16878         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16879         (gst_pad_set_checkgetrange_function),
16880         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16881         (gst_pad_check_pull_range), (gst_pad_pull_range),
16882         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16883         (gst_pad_pause_task), (gst_pad_stop_task):
16884         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16885         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16886         Fix name lookup in GstBin.
16887         Added _data_replace() function and _buffer_replace()
16888         Use finalize method to clean up clock.
16889         Fix refcounting on request pads.
16890         Fix pad schedule mode error.
16891         Some more object refcounting debug info,
16892
16893
16894 2005-05-04  Andy Wingo <wingo@pobox.com>
16895
16896         * check/Makefile.am:
16897         * docs/gst/tmpl/gstatomic.sgml:
16898         * docs/gst/tmpl/gstplugin.sgml:
16899         * gst/base/gstbasesink.c: (gst_basesink_activate):
16900         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16901         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16902         (gst_basesrc_query), (gst_basesrc_set_property),
16903         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16904         (gst_basesrc_activate):
16905         * gst/base/gstbasesrc.h:
16906         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16907         (gst_base_transform_src_activate):
16908         * gst/elements/gstelements.c:
16909         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16910         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16911         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16912         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16913         (gst_type_find_element_checkgetrange),
16914         (gst_type_find_element_activate):
16915         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16916         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16917         (gst_caps_load_thyself):
16918         * gst/gstelement.c: (gst_element_pads_activate),
16919         (gst_element_save_thyself), (gst_element_restore_thyself):
16920         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16921         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16922         * gst/gstpad.h:
16923         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16924         (gst_xml_parse_file), (gst_xml_parse_memory),
16925         (gst_xml_get_element), (gst_xml_make_element):
16926         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16927         (_file_index_id_save_xml), (gst_file_index_commit):
16928         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16929         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16930         (load_paths):
16931         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16932         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16933         * tools/gst-complete.c: (main):
16934         * tools/gst-compprep.c: (main):
16935         * tools/gst-inspect.c: (print_element_properties_info):
16936         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16937         * tools/gst-xmlinspect.c: (print_element_properties):
16938         GCC 4 fixen.
16939         
16940 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16941
16942         * gst/gstplugin.c: (gst_plugin_check_module),
16943         (gst_plugin_check_file), (gst_plugin_load_file):
16944             apply patch from #172526 to make register work on MacOSX
16945
16946 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16947
16948         * docs/gst/tmpl/gstconfig.sgml:
16949         * gst/gstconfig.h.in:
16950           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16951         * testsuite/debug/printf_extension.c: (main):
16952           Do not use GST_PTR_FORMAT on pointers to types with
16953           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16954         * testsuite/elements/property.h:
16955           use correct printf format
16956
16957 2005-05-02  Wim Taymans  <wim@fluendo.com>
16958
16959         * docs/design/draft-push-pull.txt:
16960         * docs/design/draft-query.txt:
16961         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16962         (gst_basesrc_start):
16963         Added draft for new query API.
16964         Added draft for better selecting scheduling methods.
16965         Make basesrc ignore length if the subclass does not support
16966         it.
16967
16968 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16969
16970         * gst/Makefile.am:
16971           possible fixes for automake-1.5 - _LIBADD is reserved
16972
16973 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16974
16975         * docs/faq/Makefile.am:
16976         * docs/manual/Makefile.am:
16977         * docs/manuals.mak:
16978         * docs/pwg/Makefile.am:
16979         * gst/Makefile.am:
16980           possible fixes for automake-1.5
16981
16982 2005-04-28  Wim Taymans  <wim@fluendo.com>
16983
16984         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16985         (gst_basesink_pad_getcaps), (gst_basesink_init),
16986         (gst_basesink_do_sync):
16987         * gst/gstclock.c: (gst_clock_entry_new):
16988         * gst/gstevent.c: (gst_event_discont_get_value):
16989         * gst/gstpipeline.c: (pipeline_bus_handler),
16990         (gst_pipeline_change_state):
16991         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16992         Better debugging of clocking info.
16993         Allow NULL values when getting discont values.
16994
16995 2005-04-27  Wim Taymans  <wim@fluendo.com>
16996
16997         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16998         * check/gst/gstpad.c: (gst_pad_suite):
16999         Increase timeout for checks.
17000
17001 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17002
17003         * check/Makefile.am:
17004           fix the broken rule for cleanup.  Apparently this rule is
17005           only needed on FC2, so maybe this warrants further autotool
17006           inspection.
17007
17008 2005-04-26  Wim Taymans  <wim@fluendo.com>
17009
17010         * gst/gsttrashstack.h:
17011         Ooohh. a nasty one! After having a failed pop() from the stack,
17012         it's possible that the stack is empty. In that case, don't
17013         follow the NULL pointer.
17014
17015 2005-04-25  Wim Taymans  <wim@fluendo.com>
17016
17017         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17018         (gst_pad_set_checkgetrange_function),
17019         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17020         (gst_pad_check_pull_range), (gst_pad_pull_range),
17021         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17022         (gst_pad_pause_task), (gst_pad_stop_task):
17023         * gst/gstplugin.c: (gst_plugin_load):
17024         * gst/gstplugin.h:
17025         Remove gst_library_load as it does more harm than good with
17026         the new g_module flags.
17027         Revert bogus caps template check in pad linking, pad caps
17028         are important when linking not the template, which is more
17029         general than the current caps.
17030
17031 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17032
17033         * gst/autoplug/.cvsignore:
17034         * gst/autoplug/Makefile.am:
17035         * gst/autoplug/gstsearchfuncs.c:
17036         * gst/autoplug/gstsearchfuncs.h:
17037         * gst/autoplug/gstspider.c:
17038         * gst/autoplug/gstspider.h:
17039         * gst/autoplug/gstspideridentity.c:
17040         * gst/autoplug/gstspideridentity.h:
17041         * gst/autoplug/spidertest.c:
17042           Die, spider, die.
17043
17044 2005-04-25  Wim Taymans  <wim@fluendo.com>
17045
17046         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17047         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17048         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17049         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17050         * gst/gstpad.h:
17051         Added stubs for unimplemented functions. 
17052
17053 2005-04-24  David Schleef  <ds@schleef.org>
17054
17055         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17056         please fix.
17057
17058 2005-04-24  David Schleef  <ds@schleef.org>
17059
17060         Convert everything from GstAtomicInt to g_atomic_int_*, and
17061         remove gstatomic.
17062         * gst/Makefile.am:
17063         * gst/gstatomic.c:
17064         * gst/gstatomic.h:
17065         * gst/gstatomic_impl.h:
17066         * gst/gstbuffer.c:
17067         * gst/gstcaps.c:
17068         * gst/gstcaps.h:
17069         * gst/gstclock.c:
17070         * gst/gstclock.h:
17071         * gst/gstdata.c:
17072         * gst/gstdata.h:
17073         * gst/gstdata_private.h:
17074         * gst/gstevent.c:
17075         * gst/gstinfo.c:
17076         * gst/gstinfo.h:
17077         * gst/gstmessage.c:
17078         * gst/gstobject.c:
17079         * gst/gstobject.h:
17080         * gst/gststructure.c:
17081         * gst/gststructure.h:
17082         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17083         * gst/gstutils.h:
17084
17085 2005-04-24  David Schleef  <ds@schleef.org>
17086
17087         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17088         make the regressions tests work.  Remove some code that is no
17089         longer true.
17090         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17091         Disable warning for pads without templates.
17092
17093 2005-04-24  David Schleef  <ds@schleef.org>
17094
17095         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17096         functions that handle filtered links.
17097         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17098         removed functions.
17099         * gst/gstutils.c: Fix/remove utility functions that handle
17100         filtered caps.
17101         * gst/gstutils.h:
17102         * gst/gstvalue.c: Add serialization/deserialization of caps
17103         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17104         requires fixing so that the filter caps notation creates
17105         a capsfilter element and sets the filter_caps property.  I
17106         think everyone probably wants to keep the shorthand notation.
17107         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17108         * docs/gst/tmpl/gstpad.sgml:
17109
17110         * gst/elements/gstelements.c: Register capsfilter element.
17111         * gst/Makefile.am: fix spacing
17112         * docs/random/ds/0.9-suggested-changes: random
17113
17114 2005-04-23  David Schleef  <ds@schleef.org>
17115
17116         * gst/elements/Makefile.am:
17117         * gst/elements/gstcapsfilter.c: New element that acts like an
17118         identity, but filters caps.  Will eventually replace filtered
17119         caps in pad linking.
17120         * gst/gstutils.c: (gst_element_create_all_pads): New function
17121         to create all the ALWAYS pads that are registered with an
17122         element class.  This functionality should eventually be
17123         merged in with GstElement initialization.
17124         * gst/gstutils.h:
17125         * testsuite/trigger/README: part of trigger test code that should
17126         have been checked in a long time ago.
17127
17128 2005-04-23  David Schleef  <ds@schleef.org>
17129
17130         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17131         needed with new versions of libtool (nobody will confirm this),
17132         and hard to carry around.
17133         * gst/autoplug/Makefile.am:
17134         * gst/base/Makefile.am:
17135         * gst/elements/Makefile.am:
17136         * gst/indexers/Makefile.am:
17137         * gst/schedulers/Makefile.am:
17138         * libs/gst/bytestream/Makefile.am:
17139         * libs/gst/control/Makefile.am:
17140         * libs/gst/dataprotocol/Makefile.am:
17141         * libs/gst/getbits/Makefile.am:
17142
17143 2005-04-21  Wim Taymans  <wim@fluendo.com>
17144
17145         * docs/design/draft-push-pull.txt:
17146         * docs/design/part-MT-refcounting.txt:
17147         * docs/design/part-TODO.txt:
17148         * docs/design/part-caps.txt:
17149         * docs/design/part-events.txt:
17150         * docs/design/part-gstbus.txt:
17151         * docs/design/part-gstpipeline.txt:
17152         * docs/design/part-messages.txt:
17153         * docs/design/part-push-pull.txt:
17154         * docs/design/part-query.txt:
17155         Some more docs.
17156
17157 2005-04-21  Wim Taymans  <wim@fluendo.com>
17158
17159         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17160         (gst_message_new), (gst_message_new_error),
17161         (gst_message_new_warning), (gst_message_new_tag),
17162         (gst_message_new_state_changed), (gst_message_new_application),
17163         (gst_message_get_structure):
17164         * gst/gstmessage.h:
17165         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17166         (gst_structure_copy_conditional):
17167         Use parent refcount in GstMessage to ensure GstStructure
17168         consistency.
17169         Cleaned up headers a bit.
17170         
17171
17172 2005-04-20  Wim Taymans  <wim@fluendo.com>
17173
17174         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17175         (gst_basesink_pad_getcaps), (gst_basesink_init),
17176         (gst_basesink_chain_unlocked):
17177         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17178         (gst_type_find_helper):
17179         * gst/elements/gsttypefindelement.c:
17180         (gst_type_find_element_have_type), (gst_type_find_element_init),
17181         (stop_typefinding), (gst_type_find_element_handle_event),
17182         (find_suggest), (gst_type_find_element_chain),
17183         (gst_type_find_element_checkgetrange),
17184         (gst_type_find_element_getrange), (do_typefind),
17185         (gst_type_find_element_activate):
17186         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17187         (gst_buffer_default_free), (gst_buffer_default_copy),
17188         (gst_buffer_set_caps):
17189         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17190         (gst_caps_replace):
17191         * gst/gstmessage.c: (gst_message_new),
17192         (gst_message_new_state_changed):
17193         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17194         (gst_pad_set_checkgetrange_function),
17195         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17196         (gst_pad_set_caps), (gst_pad_check_pull_range),
17197         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17198         * gst/gstpad.h:
17199         * gst/gsttypefind.c: (gst_type_find_register):
17200         Make gst_caps_replace() work like other _replace() functions.
17201         Use _caps_replace() where possible.
17202         Make sure _message_new() initialises its field.
17203         Add gst_static_pad_template_get_caps()
17204
17205
17206 2005-04-18  Andy Wingo  <wingo@pobox.com>
17207
17208         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17209         on the peer, not the pad. I think that was a typo. Pass an extra
17210         arg to see if random access is possible. Activate the pads as
17211         PULL_RANGE if possible.
17212
17213         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17214
17215         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17216         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17217         to PROP_....
17218
17219 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17220
17221         * docs/faq/using.xml:
17222           Add note on gstreamer-properties (#154996).
17223
17224 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17225
17226         * docs/random/bbb/optional-properties:
17227           Some analysis on optional properties.
17228
17229 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17230
17231         * docs/gst/tmpl/gstelementfactory.sgml:
17232         * gst/gstelement.h:
17233         * gst/gstelementfactory.c: (gst_element_factory_init),
17234         (gst_element_factory_cleanup), (gst_element_register),
17235         (__gst_element_factory_add_static_pad_template),
17236         (gst_element_factory_get_static_pad_templates),
17237         (gst_element_factory_can_src_caps),
17238         (gst_element_factory_can_sink_caps):
17239         * gst/registries/Makefile.am:
17240         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17241         (gst_xml_registry_class_init), (gst_xml_registry_init),
17242         (gst_xml_registry_new), (gst_xml_registry_set_property),
17243         (gst_xml_registry_get_property), (get_time), (make_dir),
17244         (gst_xml_registry_get_perms_func),
17245         (plugin_times_older_than_recurse), (plugin_times_older_than),
17246         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17247         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17248         (add_to_char_array), (read_string), (read_uint), (read_enum),
17249         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17250         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17251         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17252         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17253         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17254         (gst_xml_registry_rebuild):
17255         * gst/registries/gstlibxmlregistry.h:
17256         * tools/gst-compprep.c: (main):
17257         * tools/gst-inspect.c: (print_pad_templates_info):
17258         * tools/gst-xmlinspect.c: (print_element_info):
17259           Use libxml2 for registry parsing, use staticpadtemplates in
17260           elementfactories. Makes gst_init() +/- 10x faster.
17261
17262 2005-04-12  Wim Taymans  <wim@fluendo.com>
17263
17264         * gst/base/Makefile.am:
17265         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17266         (gst_basesink_pad_getcaps), (gst_basesink_init),
17267         (gst_basesink_event), (gst_basesink_change_state):
17268         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17269         (gst_basesrc_init), (gst_basesrc_query),
17270         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17271         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17272         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17273         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17274         (gst_basesrc_stop), (gst_basesrc_activate),
17275         (gst_basesrc_change_state):
17276         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17277         (helper_find_suggest), (gst_type_find_helper):
17278         * gst/base/gsttypefindhelper.h:
17279         * gst/elements/Makefile.am:
17280         * gst/elements/gstelements.c:
17281         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17282         (gst_fakesink_get_times), (gst_fakesink_event),
17283         (gst_fakesink_preroll), (gst_fakesink_render):
17284         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17285         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17286         (gst_fakesrc_get_property), (gst_fakesrc_create),
17287         (gst_fakesrc_start), (gst_fakesrc_stop):
17288         * gst/elements/gstfakesrc.h:
17289         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17290         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17291         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17292         (gst_filesrc_create_read), (gst_filesrc_create),
17293         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17294         (gst_filesrc_start):
17295         * gst/elements/gsttypefindelement.c:
17296         (gst_type_find_element_have_type), (gst_type_find_element_init),
17297         (start_typefinding), (stop_typefinding), (push_buffer_store),
17298         (gst_type_find_element_handle_event),
17299         (gst_type_find_element_chain),
17300         (gst_type_find_element_checkgetrange),
17301         (gst_type_find_element_getrange), (do_typefind),
17302         (gst_type_find_element_activate),
17303         (gst_type_find_element_change_state):
17304         * gst/elements/gsttypefindelement.h:
17305         * gst/gstpipeline.c: (pipeline_bus_handler):
17306         Added typefind helper.
17307         Small preroll fix in the base sink.
17308         Disable typefind code in basesrc.
17309         Crude port of typefindelement.
17310         Fakesrc cleanups.
17311
17312
17313 2005-04-11  Wim Taymans  <wim@fluendo.com>
17314
17315         * check/gst/gstbus.c: (gstbus_suite):
17316         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17317         * check/gstcheck.h:
17318           Fix up the timeout so that the test does not fail.
17319
17320 2005-04-06  Wim Taymans  <wim@fluendo.com>
17321
17322         * gst/base/README:
17323         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17324         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17325         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17326         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17327         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17328         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17329         (gst_basesrc_stop), (gst_basesrc_activate),
17330         (gst_basesrc_change_state), (basesrc_find_peek),
17331         (basesrc_find_suggest), (gst_basesrc_type_find):
17332         * gst/base/gstbasesrc.h:
17333         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17334         (gst_filesrc_class_init), (gst_filesrc_init),
17335         (gst_filesrc_finalize), (gst_filesrc_set_location),
17336         (gst_filesrc_set_property), (gst_filesrc_get_property),
17337         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17338         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17339         (gst_filesrc_create_read), (gst_filesrc_create),
17340         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17341         * gst/elements/gstfilesrc.h:
17342         * gst/gstelement.c: (gst_element_get_state_func),
17343         (gst_element_lost_state), (gst_element_pads_activate):
17344         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17345         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17346         (gst_pad_pull_range):
17347         * gst/gstpad.h:
17348         More work on the generic source base class, implement seeking,
17349         query.
17350         Make filesrc extend the base source class.
17351         Added gst_pad_set_checkgetrange_function to GstPad.
17352
17353 2005-04-06  Andy Wingo  <wingo@pobox.com>
17354
17355         * pkgconfig/gstreamer-base.pc.in:
17356         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17357
17358         * pkgconfig/Makefile.am:
17359         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17360
17361 2005-04-04  Wim Taymans  <wim@fluendo.com>
17362
17363         * gst/base/Makefile.am:
17364         * gst/base/README:
17365         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17366         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17367         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17368         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17369         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17370         (gst_basesrc_base_init), (gst_basesrc_class_init),
17371         (gst_basesrc_init), (gst_basesrc_get_formats),
17372         (gst_basesrc_get_query_types), (gst_basesrc_query),
17373         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17374         (gst_basesrc_set_property), (gst_basesrc_get_property),
17375         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17376         (gst_basesrc_loop), (gst_basesrc_activate),
17377         (gst_basesrc_change_state):
17378         * gst/base/gstbasesrc.h:
17379         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17380         (gst_fakesrc_class_init), (gst_fakesrc_init),
17381         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17382         (gst_fakesrc_get_property), (gst_fakesrc_create):
17383         * gst/elements/gstfakesrc.h:
17384         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17385         (gst_filesrc_open_file), (gst_filesrc_loop),
17386         (gst_filesrc_activate), (filesrc_find_peek),
17387         (gst_filesrc_type_find):
17388         Made base source class, make fakesrc extend it.
17389         Add comments to basesink class.
17390         Some filesrc cleanup.
17391
17392 2005-03-31  David Schleef  <ds@schleef.org>
17393
17394         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17395         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17396         expected to link against libgstreamer.
17397         * gst/base/Makefile.am: link against libgstreamer
17398         * gst/elements/Makefile.am: same
17399
17400 2005-03-31  Andy Wingo  <wingo@pobox.com>
17401
17402         * tests/instantiate/Makefile.am:
17403         * tests/instantiate/caps.c: Add test to test speed of caps copy
17404         and free.
17405
17406         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17407         GMemChunk to be fair.
17408
17409         * gst/gsttrashstack.h: Remove warning about using the fallback
17410         trash stack implementation, it's still faster than malloc.
17411
17412 2005-03-30  Andy Wingo  <wingo@pobox.com>
17413
17414         * tests/complexity.c: Add a copyright.
17415
17416 2005-03-31  Wim Taymans  <wim@fluendo.com>
17417
17418         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17419         (gst_base_transform_class_init), (gst_base_transform_init),
17420         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17421         (gst_base_transform_get_property),
17422         (gst_base_transform_sink_activate),
17423         (gst_base_transform_src_activate),
17424         (gst_base_transform_change_state):
17425         * gst/base/gstbasetransform.h:
17426         * gst/elements/gstidentity.c: (gst_identity_class_init),
17427         (gst_identity_event), (gst_identity_check_perfect),
17428         (gst_identity_transform), (gst_identity_start),
17429         (gst_identity_stop):
17430         Added start/stop methods to transform base class so subclasses 
17431         don't need to deal with state changes even.
17432
17433 2005-03-31  Wim Taymans  <wim@fluendo.com>
17434
17435         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17436         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17437         * gst/gstevent.h:
17438         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17439         (gst_pad_pull_range):
17440         Added rate to the discont event to prepare for variable speed
17441         and reverse playback.
17442
17443 2005-03-29  David Schleef  <ds@schleef.org>
17444
17445         * configure.ac:
17446         * testsuite/trigger/Makefile.am:
17447         * testsuite/trigger/trigger.c: A little example program to show
17448         how trigger-based elements can work.
17449
17450 2005-03-29  Wim Taymans  <wim@fluendo.com>
17451
17452         * gst/base/Makefile.am:
17453         * gst/base/README:
17454         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17455         (gst_basesink_base_init), (gst_basesink_class_init),
17456         (gst_basesink_pad_getcaps), (gst_basesink_init),
17457         (gst_basesink_activate), (gst_basesink_change_state):
17458         * gst/base/gstbasesink.h:
17459         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17460         (gst_base_transform_base_init), (gst_base_transform_finalize),
17461         (gst_base_transform_class_init), (gst_base_transform_init),
17462         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17463         (gst_base_transform_event), (gst_base_transform_getrange),
17464         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17465         (gst_base_transform_set_property),
17466         (gst_base_transform_get_property),
17467         (gst_base_transform_sink_activate),
17468         (gst_base_transform_src_activate),
17469         (gst_base_transform_change_state):
17470         * gst/base/gstbasetransform.h:
17471         * gst/elements/gstidentity.c: (gst_identity_finalize),
17472         (gst_identity_class_init), (gst_identity_init),
17473         (gst_identity_event), (gst_identity_check_perfect),
17474         (gst_identity_transform), (gst_identity_set_property),
17475         (gst_identity_get_property), (gst_identity_change_state):
17476         * gst/elements/gstidentity.h:
17477         * gst/gstelement.c: (gst_element_get_state_func),
17478         (gst_element_lost_state), (gst_element_pads_activate):
17479         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17480         (gst_pad_check_pull_range), (gst_pad_pull_range):
17481         * gst/gstpad.h:
17482         Simplify pad activation.
17483         Added function to check if pull_range can be performed.
17484         Error out when pulling inactive or flushing pads.
17485         Removed const from refcounted types as it does not make sense.
17486         Simplify pad templates in basesink
17487         Added base class for simple 1-to-1 transforms.
17488         Make identity subclass the base transform.
17489
17490 2005-03-29  Andy Wingo  <wingo@pobox.com>
17491
17492         * docs/libs/gstreamer-libs-overrides.txt: 
17493         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17494         really don't understand what's going on, but like whatever. I want
17495         green buildbot!
17496
17497         * docs/gst/Makefile.am:
17498         * docs/libs/Makefile.am: Dist the overrides files.
17499
17500         * check/Makefile.am (clean-local): Remove .libs directories.
17501
17502         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17503         elements to EXTRA_DIST, so po/ files are happy.
17504
17505         * po/POTFILES.in: Er, remove it here.
17506
17507         * po/POTFILES: Remove gstspider.c.
17508
17509         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17510
17511         * docs/libs/gstreamer-libs-docs.sgml: 
17512         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17513         bytestream.
17514
17515         * tests/complexity.c (main): Set the length of the preroll queue
17516         on the sinks to prevent a lockup.
17517
17518         * libs/gst/dataprotocol/Makefile.am: 
17519         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17520         the same as the one in check/gst-libs/gdp.c.
17521
17522         * po/, docs/gst/: Commit automatic changes to docs and po files.
17523
17524         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17525         the versioned libgstbase.
17526
17527         * check/Makefile.am: Depend on an unversioned gst-register, seems
17528         to make autoconf happier.
17529
17530         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17531
17532 2005-03-28  Wim Taymans  <wim@fluendo.com>
17533
17534         * configure.ac:
17535         * docs/design/part-gstelement.txt:
17536         * docs/design/part-negotiation.txt:
17537         * docs/design/part-preroll.txt:
17538         * docs/design/part-scheduling.txt:
17539         * docs/design/part-states.txt:
17540         * gst/Makefile.am:
17541         * gst/base/Makefile.am:
17542         * gst/base/README:
17543         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17544         (gst_basesink_base_init), (gst_basesink_class_init),
17545         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17546         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17547         (gst_basesink_set_pad_functions),
17548         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17549         (gst_basesink_set_property), (gst_basesink_get_property),
17550         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17551         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17552         (gst_basesink_preroll_queue_push),
17553         (gst_basesink_preroll_queue_empty),
17554         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17555         (gst_basesink_event), (gst_basesink_get_times),
17556         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17557         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17558         (gst_basesink_loop), (gst_basesink_activate),
17559         (gst_basesink_change_state):
17560         * gst/base/gstbasesink.h:
17561         * gst/elements/Makefile.am:
17562         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17563         (gst_fakesink_class_init), (gst_fakesink_init),
17564         (gst_fakesink_set_property), (gst_fakesink_get_property),
17565         (gst_fakesink_get_times), (gst_fakesink_event),
17566         (gst_fakesink_preroll), (gst_fakesink_render),
17567         (gst_fakesink_change_state):
17568         * gst/elements/gstfakesink.h:
17569         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17570         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17571         * gst/gstelement.c: (gst_element_add_pad),
17572         (gst_element_get_state_func), (gst_element_abort_state),
17573         (gst_element_commit_state), (gst_element_lost_state),
17574         (gst_element_set_state), (gst_element_pads_activate):
17575         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17576         * gst/gstpipeline.c: (gst_pipeline_send_event),
17577         (gst_pipeline_change_state):
17578         Added state change code.
17579         Added/updated docs.
17580         Added sink base class, make fakesink extend the base class.
17581         Small cleanups in GstPipeline.
17582
17583 2005-03-26  David Schleef  <ds@schleef.org>
17584
17585         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17586         is broken and should be implemented in a different library.
17587         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17588         * gst/gst.h: remove gstcpu.h
17589         * gst/gstcpu.c: remove
17590         * gst/gstcpu.h: remove
17591         * gst/Makefile.am.future: Remove this file.  It's ancient.
17592
17593 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17594
17595         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17596         (gst_bin_send_event):
17597           Add default event/set_manager handlers. The set_manager handler
17598           takes care that the manager is distributed over kids that were
17599           already in the bin before the manager was set. The event handler
17600           is a utility virtual function that sends the event over all sinks,
17601           so that gst_element_send_event (bin, event); has the expected
17602           behaviour.
17603         * gst/gstpad.c: (gst_pad_event_default):
17604           Re-install default event handling for discontinuities, so that
17605           seeking works without requiring hacks in applications or extra
17606           code in sinks.
17607         * gst/gstpipeline.c: (gst_pipeline_class_init),
17608         (gst_pipeline_send_event):
17609           Half hack, half utility: set a pipeline to PAUSED for seek events,
17610           since that is the only way we can guarantee a/v sync. Means that
17611           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17612           and it "just works".
17613
17614 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17615
17616         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17617           Lock/unlock mismatch.
17618
17619 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17620
17621         * docs/faq/gst-uninstalled:
17622           add gst-plugins-base
17623         * docs/gst/Makefile.am:
17624           don't error out until docs are fixed
17625         * docs/gst/gstreamer.types:
17626           remove thread
17627
17628 2005-03-22  Wim Taymans  <wim@fluendo.com>
17629
17630         * check/Makefile.am:
17631         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17632         * gst/gststructure.c: (gst_structure_set_valist),
17633         (gst_structure_copy_conditional):
17634         Activated more tests.
17635         Added message test.
17636         Added G_TYPE_POINTER to GstStructure.
17637         
17638
17639 2005-03-22  Wim Taymans  <wim@fluendo.com>
17640
17641         * docs/design/part-TODO.txt:
17642         * docs/design/part-events.txt:
17643         * docs/design/part-gstbin.txt:
17644         * docs/design/part-gstbus.txt:
17645         * docs/design/part-gstpipeline.txt:
17646         * docs/design/part-messages.txt:
17647         * gst/gstbus.c:
17648         * gst/gstmessage.c:
17649         Docs updates
17650
17651 2005-03-21  Wim Taymans  <wim@fluendo.com>
17652
17653         * gst/gstbus.c: (gst_bus_post):
17654         Fix copy-and-paste error.
17655
17656 2005-03-21  Wim Taymans  <wim@fluendo.com>
17657
17658         * check/Makefile.am:
17659         * gst/Makefile.am:
17660         * gst/elements/Makefile.am:
17661         * gst/elements/gstelements.c:
17662         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17663         (gst_fakesink_event), (gst_fakesink_chain):
17664         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17665         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17666         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17667         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17668         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17669         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17670         (gst_fakesrc_loop), (gst_fakesrc_activate),
17671         (gst_fakesrc_change_state):
17672         * gst/elements/gstfakesrc.h:
17673         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17674         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17675         (gst_filesrc_open_file), (gst_filesrc_loop),
17676         (gst_filesrc_activate), (gst_filesrc_change_state),
17677         (filesrc_find_peek), (filesrc_find_suggest),
17678         (gst_filesrc_type_find):
17679         * gst/elements/gstidentity.c: (gst_identity_finalize),
17680         (gst_identity_class_init), (gst_identity_init),
17681         (gst_identity_proxy_getcaps), (identity_queue_push),
17682         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17683         (gst_identity_getrange), (gst_identity_chain),
17684         (gst_identity_sink_loop), (gst_identity_src_loop),
17685         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17686         (gst_identity_set_property), (gst_identity_get_property),
17687         (gst_identity_change_state):
17688         * gst/elements/gstidentity.h:
17689         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17690         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17691         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17692         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17693         (gst_tee_sink_activate):
17694         * gst/elements/gsttee.h:
17695         * gst/gst.c: (gst_register_core_elements), (init_post):
17696         * gst/gst.h:
17697         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17698         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17699         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17700         (gst_bin_change_state):
17701         * gst/gstbin.h:
17702         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17703         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17704         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17705         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17706         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17707         (bus_watch_callback), (bus_watch_destroy),
17708         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17709         (poll_timeout), (gst_bus_poll):
17710         * gst/gstbus.h:
17711         * gst/gstcaps.h:
17712         * gst/gstdata.h:
17713         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17714         (gst_element_post_message), (gst_element_message_full),
17715         (gst_element_get_state_func), (gst_element_get_state),
17716         (gst_element_abort_state), (gst_element_commit_state),
17717         (gst_element_lost_state), (gst_element_set_state),
17718         (gst_element_pads_activate), (gst_element_change_state),
17719         (gst_element_dispose), (gst_element_set_manager_func),
17720         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17721         (gst_element_set_manager), (gst_element_get_manager),
17722         (gst_element_set_bus), (gst_element_get_bus),
17723         (gst_element_set_scheduler), (gst_element_get_scheduler):
17724         * gst/gstelement.h:
17725         * gst/gstevent.c: (gst_event_new_segment_seek),
17726         (gst_event_new_flush):
17727         * gst/gstevent.h:
17728         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17729         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17730         (gst_message_new_eos), (gst_message_new_error),
17731         (gst_message_new_warning), (gst_message_new_tag),
17732         (gst_message_new_state_changed), (gst_message_new_application),
17733         (gst_message_get_structure), (gst_message_parse_tag),
17734         (gst_message_parse_state_changed), (gst_message_parse_error),
17735         (gst_message_parse_warning):
17736         * gst/gstmessage.h:
17737         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17738         (gst_real_pad_set_property), (gst_pad_set_active),
17739         (gst_pad_is_active), (gst_pad_set_blocked_async),
17740         (gst_pad_set_blocked), (gst_pad_is_blocked),
17741         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17742         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17743         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17744         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17745         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17746         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17747         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17748         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17749         (gst_pad_set_caps), (gst_pad_configure_sink),
17750         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17751         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17752         (gst_real_pad_dispose), (gst_real_pad_finalize),
17753         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17754         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17755         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17756         * gst/gstpad.h:
17757         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17758         (pipeline_bus_handler), (gst_pipeline_change_state),
17759         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17760         * gst/gstpipeline.h:
17761         * gst/gstprobe.h:
17762         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17763         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17764         (gst_queue_link_src), (gst_queue_bufferalloc),
17765         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17766         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17767         (gst_queue_loop), (gst_queue_handle_src_event),
17768         (gst_queue_handle_src_query), (gst_queue_src_activate),
17769         (gst_queue_change_state):
17770         * gst/gstqueue.h:
17771         * gst/gstscheduler.c: (gst_scheduler_init),
17772         (gst_scheduler_dispose), (gst_scheduler_create_task),
17773         (gst_scheduler_factory_create):
17774         * gst/gstscheduler.h:
17775         * gst/gststructure.c: (gst_structure_get_type),
17776         (gst_structure_copy_conditional):
17777         * gst/gststructure.h:
17778         * gst/gsttaginterface.h:
17779         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17780         (gst_task_init), (gst_task_dispose), (gst_task_create),
17781         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17782         (gst_task_pause):
17783         * gst/gsttask.h:
17784         * gst/gstthread.c:
17785         * gst/gstthread.h:
17786         * gst/gsttypes.h:
17787         * gst/schedulers/Makefile.am:
17788         * gst/schedulers/cothreads_compat.h:
17789         * gst/schedulers/entryscheduler.c:
17790         * gst/schedulers/faircothreads.c:
17791         * gst/schedulers/faircothreads.h:
17792         * gst/schedulers/fairscheduler.c:
17793         * gst/schedulers/gstbasicscheduler.c:
17794         * gst/schedulers/gstoptimalscheduler.c:
17795         * gst/schedulers/gthread-cothreads.h:
17796         * gst/schedulers/threadscheduler.c:
17797         (gst_thread_scheduler_task_get_type),
17798         (gst_thread_scheduler_task_class_init),
17799         (gst_thread_scheduler_task_init),
17800         (gst_thread_scheduler_task_start),
17801         (gst_thread_scheduler_task_stop),
17802         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17803         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17804         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17805         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17806         (plugin_init):
17807         * libs/gst/Makefile.am:
17808         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17809         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17810         (gst_file_pad_parent_set):
17811         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17812         (gst_dp_event_from_packet):
17813         * tests/complexity.c: (main):
17814         * tests/mass_elements.c: (main):
17815         * testsuite/states/locked.c: (message_received), (main):
17816         * testsuite/states/parent.c: (main):
17817         * tools/gst-inspect.c: (print_element_flag_info),
17818         (print_implementation_info), (print_pad_info):
17819         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17820         (main):
17821         * tools/gst-md5sum.c: (event_loop), (main):
17822         * tools/gst-typefind.c: (main):
17823         * tools/gst-xmlinspect.c: (print_element_info):
17824         Next big merge.
17825         Added GstBus for mainloop integration.
17826         Added GstMessage for sending notifications on the bus.
17827         Added GstTask as an abstraction for pipeline entry points.
17828         Removed GstThread.
17829         Removed Schedulers.
17830         Simplified GstQueue for multithreaded core.
17831         Made _link threadsafe, removed old capsnego.
17832         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17833         Added pad blocking functions.
17834         Reworked scheduling functions in GstPad to prepare for
17835         scheduling updates soon.
17836         Moved events out of data stream.
17837         Simplified GstEvent types.
17838         Added return values to push/pull.
17839         Removed clocking from GstElement.
17840         Added prototypes for state change function for next merge.
17841         Removed iterate from bins and state change management.
17842         Fixed some elements, disabled others for now.
17843         Fixed -inspect and -launch.
17844         Added check for GstBus.
17845
17846 2005-03-10  Wim Taymans  <wim@fluendo.com>
17847
17848         * docs/design/part-MT-refcounting.txt:
17849         * docs/design/part-clocks.txt:
17850         * docs/design/part-gstelement.txt:
17851         * docs/design/part-gstobject.txt:
17852         * docs/design/part-standards.txt:
17853         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17854         (gst_bin_remove_func), (gst_bin_remove):
17855         * gst/gstbin.h:
17856         * gst/gstbuffer.c:
17857         * gst/gstcaps.h:
17858         * testsuite/clock/clock1.c: (main):
17859         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17860         (main):
17861         * testsuite/dlopen/loadgst.c: (do_test):
17862         * testsuite/refcounting/bin.c: (add_remove_test1),
17863         (add_remove_test2), (main):
17864         * testsuite/refcounting/element.c: (main):
17865         * testsuite/refcounting/element_pad.c: (main):
17866         * testsuite/refcounting/pad.c: (main):
17867         * tools/gst-launch.c: (sigint_handler_sighandler):
17868         * tools/gst-typefind.c: (main):
17869         Doc updates.
17870         Added doc about clock.
17871         removed gst_bin_iterate_recurse_up(), marked methods
17872         for removal.
17873         Fix more testsuites.
17874
17875 2005-03-09  Wim Taymans  <wim@fluendo.com>
17876
17877         * gst/gstpad.c: (gst_pad_get_direction),
17878         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17879         (gst_pad_collect_valist):
17880         * testsuite/bins/interface.c: (main):
17881         * testsuite/caps/audioscale.c: (test_caps):
17882         * testsuite/caps/caps.c: (test1), (test2), (test3):
17883         * testsuite/caps/deserialize.c: (main):
17884         * testsuite/caps/enumcaps.c: (main):
17885         * testsuite/caps/filtercaps.c: (main):
17886         * testsuite/caps/intersect2.c: (main):
17887         * testsuite/caps/random.c: (main):
17888         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17889         * testsuite/caps/sets.c: (check_caps):
17890         * testsuite/caps/simplify.c: (check_caps), (main):
17891         * testsuite/caps/subtract.c: (check_caps):
17892         Fix _pad_get_direction wrt ghostpads.
17893         Fix caps testsuite.
17894
17895 2005-03-09  Wim Taymans  <wim@fluendo.com>
17896
17897         * check/Makefile.am:
17898         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17899         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17900         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17901         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17902         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17903         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17904         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17905         (bin_element_is_sink), (gst_bin_iterate_sinks),
17906         (gst_bin_iterate_all_by_interface):
17907         * gst/gstbin.h:
17908         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17909         (gst_element_change_state), (gst_element_dispose),
17910         (gst_element_finalize), (gst_element_set_loop_function):
17911         * gst/gstelement.h:
17912         * gst/gstiterator.c: (find_custom_fold_func):
17913         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17914         (gst_pad_collectv), (gst_pad_collect_valist),
17915         (gst_pad_template_new):
17916         * gst/gstpipeline.c: (gst_pipeline_class_init),
17917         (gst_pipeline_dispose), (gst_pipeline_set_property),
17918         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17919         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17920         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17921         * gst/gstutils.h:
17922         * gst/schedulers/entryscheduler.c:
17923         * gst/schedulers/gstbasicscheduler.c:
17924         (gst_basic_scheduler_cothreaded_chain),
17925         (gst_basic_scheduler_chain_add_element):
17926         * testsuite/bins/interface.c: (main):
17927         Added GstBin test.
17928         Added GstSystemClock test.
17929         Implemented clock distribution code in GstBin.
17930         Implemented iterate sinks method for future use.
17931         Rearranged gstelement.h
17932         Fix GstIterator comparison bug.
17933         Moved some code to GstPipeline, mostly clocking related.
17934
17935 2005-03-09  Wim Taymans  <wim@fluendo.com>
17936
17937         * configure.ac:
17938         * gst/gst_private.h:
17939         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17940         (gst_bin_remove_func), (gst_bin_remove),
17941         (gst_bin_get_by_name_recurse_up):
17942         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17943         (gst_clock_id_compare_func), (gst_clock_id_wait),
17944         (gst_clock_id_wait_async), (gst_clock_init),
17945         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17946         * gst/gstelement.h:
17947         * gst/gstinfo.c: (_gst_debug_init):
17948         * gst/gstobject.h:
17949         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17950         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17951         * gst/gstpad.h:
17952         Bump version number, we're now 0.9.0
17953         Add future debugging category.
17954         Fix NULL _unref() in _get_by_name_recurse_up
17955         Rearrange gstpad.h.
17956         Update some docs.
17957
17958 2005-03-08  Wim Taymans  <wim@fluendo.com>
17959
17960         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17961         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17962         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17963         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17964         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17965         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17966         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17967         * gst/elements/gstidentity.c: (gst_identity_class_init):
17968         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17969         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17970         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17971         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17972         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17973         (gst_tee_link):
17974         * gst/gstelement.c: (gst_element_class_init),
17975         (gst_element_base_class_init), (gst_element_init),
17976         (gst_element_get_random_pad), (gst_element_wait_state_change),
17977         (gst_element_change_state), (gst_element_dispose),
17978         (gst_element_finalize), (gst_element_set_loop_function):
17979         * gst/gstelement.h:
17980         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17981         * gst/gstthread.c: (gst_thread_class_init),
17982         (gst_thread_release_children_locks), (gst_thread_change_state):
17983         * gst/schedulers/gstbasicscheduler.c:
17984         (gst_basic_scheduler_loopfunc_wrapper),
17985         (gst_basic_scheduler_chain_wrapper),
17986         (gst_basic_scheduler_src_wrapper),
17987         (gst_basic_scheduler_remove_element):
17988         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17989         Remove threadsafe properties. Fix elements because GObject
17990         complains when installing a property before declaring a
17991         set/get_property handler.
17992         Rearrange gstelement.h file, use STATE macros for state locks.
17993         Free mutexes in the finalize method instead of dispose.
17994
17995 2005-03-08  Wim Taymans  <wim@fluendo.com>
17996
17997         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17998         * gst/gstthread.c: (gst_thread_release_children_locks):
17999         Added parentage check.
18000         Fix build og GstThread again.
18001
18002 2005-03-08  Wim Taymans  <wim@fluendo.com>
18003
18004         * docs/design/part-MT-refcounting.txt:
18005         * docs/design/part-conventions.txt:
18006         * docs/design/part-gstobject.txt:
18007         * docs/design/part-relations.txt:
18008         * docs/design/part-standards.txt:
18009         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18010         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18011         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18012         (gst_bin_iterate_all_by_interface):
18013         * gst/gstbuffer.h:
18014         * gst/gstclock.h:
18015         * gst/gstelement.c: (gst_element_class_init),
18016         (gst_element_change_state), (gst_element_set_loop_function):
18017         * gst/gstelement.h:
18018         * gst/gstiterator.c:
18019         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18020         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18021         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18022         (gst_object_set_parent), (gst_object_unparent),
18023         (gst_object_check_uniqueness):
18024         * gst/gstobject.h:
18025         Docs updates, clean up some headers.
18026
18027 2005-03-07  Wim Taymans  <wim@fluendo.com>
18028
18029         * check/.cvsignore:
18030         * check/Makefile.am:
18031         * check/gst-libs/.cvsignore:
18032         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18033         * check/gst/.cvsignore:
18034         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18035         (START_TEST), (gstbus_suite), (main):
18036         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18037         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18038         (gst_data_suite), (main):
18039         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18040         (add_fold_func), (gstiterator_suite), (main):
18041         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18042         (thread_name_object), (thread_name_object_default),
18043         (gst_object_name_compare), (gst_object_suite), (main):
18044         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18045         (gst_pad_suite), (main):
18046         * check/gstcheck.c: (gst_check_log_message_func),
18047         (gst_check_log_critical_func), (gst_check_init):
18048         * check/gstcheck.h:
18049         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18050         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18051         Added checks.
18052
18053 2005-03-07  Wim Taymans  <wim@fluendo.com>
18054
18055         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18056         (gst_list_iterator_next), (gst_list_iterator_resync),
18057         (gst_list_iterator_free), (gst_iterator_new_list),
18058         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18059         (gst_iterator_free), (gst_iterator_push), (filter_next),
18060         (filter_resync), (filter_uninit), (filter_free),
18061         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18062         (gst_iterator_foreach), (find_custom_fold_func),
18063         (gst_iterator_find_custom):
18064         * gst/gstiterator.h:
18065         Added missing files.
18066
18067 2005-03-07  Wim Taymans  <wim@fluendo.com>
18068
18069         * Makefile.am:
18070         * configure.ac:
18071         * docs/design/part-MT-refcounting.txt:
18072         * docs/design/part-conventions.txt:
18073         * docs/design/part-gstobject.txt:
18074         * docs/design/part-relations.txt:
18075         * examples/mixer/mixer.c: (main):
18076         * examples/thread/thread.c: (eos), (main):
18077         * gst/Makefile.am:
18078         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18079         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18080         (gst_spider_plug_from_srcpad):
18081         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18082         (gst_spider_identity_change_state),
18083         (gst_spider_identity_sink_loop_type_finding):
18084         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18085         * gst/elements/gstidentity.c: (gst_identity_init):
18086         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18087         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18088         * gst/elements/gsttypefindelement.c: (free_entry):
18089         * gst/gst.c:
18090         * gst/gst.h:
18091         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18092         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18093         (gst_bin_set_index), (gst_bin_set_element_sched),
18094         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18095         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18096         (gst_bin_iterate_elements), (iterate_child_recurse),
18097         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18098         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18099         (compare_interface), (gst_bin_get_by_interface),
18100         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18101         * gst/gstbin.h:
18102         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18103         (gst_buffer_default_free), (gst_buffer_default_copy),
18104         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18105         (gst_buffer_create_sub):
18106         * gst/gstbuffer.h:
18107         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18108         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18109         (gst_caps_unref), (gst_static_caps_get),
18110         (gst_caps_remove_and_get_structure), (gst_caps_append),
18111         (gst_caps_append_structure), (gst_caps_remove_structure),
18112         (gst_caps_copy_nth), (gst_caps_set_simple),
18113         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18114         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18115         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18116         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18117         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18118         (gst_caps_structure_figure_out_union),
18119         (gst_caps_switch_structures), (gst_caps_do_simplify),
18120         (gst_caps_replace), (gst_caps_from_string),
18121         (gst_caps_copy_conditional):
18122         * gst/gstcaps.h:
18123         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18124         (_gst_clock_id_free), (gst_clock_id_unref),
18125         (gst_clock_id_compare_func), (gst_clock_id_wait),
18126         (gst_clock_id_wait_async), (gst_clock_class_init),
18127         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18128         (gst_clock_get_time), (gst_clock_set_time_adjust),
18129         (gst_clock_set_property), (gst_clock_get_property):
18130         * gst/gstclock.h:
18131         * gst/gstcompat.h:
18132         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18133         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18134         * gst/gstdata.h:
18135         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18136         (gst_element_requires_clock), (gst_element_provides_clock),
18137         (gst_element_set_clock), (gst_element_clock_wait),
18138         (gst_element_wait), (gst_element_set_time_delay),
18139         (gst_element_is_indexable), (gst_element_add_pad),
18140         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18141         (pad_compare_name), (gst_element_get_static_pad),
18142         (gst_element_request_pad), (gst_element_get_request_pad),
18143         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18144         (gst_element_class_get_pad_template_list),
18145         (gst_element_class_get_pad_template), (gst_element_error_func),
18146         (gst_element_get_random_pad), (gst_element_get_event_masks),
18147         (gst_element_send_event), (gst_element_seek),
18148         (gst_element_get_query_types), (gst_element_query),
18149         (gst_element_get_formats), (gst_element_convert),
18150         (gst_element_is_locked_state), (gst_element_set_locked_state),
18151         (gst_element_sync_state_with_parent), (gst_element_change_state),
18152         (gst_element_finalize), (gst_element_yield),
18153         (gst_element_interrupt), (gst_element_set_scheduler),
18154         (gst_element_get_scheduler), (gst_element_set_loop_function):
18155         * gst/gstelement.h:
18156         * gst/gstevent.h:
18157         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18158         (gst_format_get_by_nick), (gst_format_get_details),
18159         (gst_format_iterate_definitions):
18160         * gst/gstformat.h:
18161         * gst/gstindex.c: (gst_index_gtype_resolver):
18162         * gst/gstinfo.c:
18163         * gst/gstinfo.h:
18164         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18165         (gst_mem_chunk_free):
18166         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18167         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18168         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18169         (gst_object_dispatch_properties_changed),
18170         (gst_object_set_name_default), (gst_object_set_name),
18171         (gst_object_get_name), (gst_object_set_name_prefix),
18172         (gst_object_get_name_prefix), (gst_object_set_parent),
18173         (gst_object_get_parent), (gst_object_unparent),
18174         (gst_object_check_uniqueness), (gst_object_save_thyself),
18175         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18176         (gst_object_set_property), (gst_object_get_property),
18177         (gst_object_get_path_string):
18178         * gst/gstobject.h:
18179         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18180         (gst_real_pad_init), (gst_real_pad_get_property),
18181         (gst_pad_custom_new), (gst_pad_get_direction),
18182         (gst_pad_set_active), (gst_pad_is_active),
18183         (gst_pad_set_event_function), (gst_pad_is_linked),
18184         (gst_pad_link_free), (gst_pad_link_intersect),
18185         (gst_pad_link_fixate), (gst_pad_set_caps),
18186         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18187         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18188         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18189         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18190         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18191         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18192         (gst_pad_realize), (gst_pad_get_allowed_caps),
18193         (gst_real_pad_dispose), (gst_real_pad_finalize),
18194         (gst_pad_collectv), (gst_pad_collect_valist),
18195         (gst_pad_template_dispose), (gst_pad_template_new),
18196         (gst_pad_get_internal_links):
18197         * gst/gstpad.h:
18198         * gst/gstpipeline.c: (gst_pipeline_dispose),
18199         (gst_pipeline_change_state):
18200         * gst/gstpipeline.h:
18201         * gst/gstplugin.c:
18202         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18203         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18204         * gst/gstpluginfeature.h:
18205         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18206         * gst/gstquery.c: (_gst_query_type_initialize),
18207         (gst_query_type_register), (gst_query_type_get_by_nick),
18208         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18209         * gst/gstquery.h:
18210         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18211         * gst/gstscheduler.c: (gst_scheduler_add_element),
18212         (gst_scheduler_factory_create):
18213         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18214         (gst_structure_free), (gst_structure_set_name),
18215         (gst_structure_id_set_value), (gst_structure_set_value),
18216         (gst_structure_set_valist), (gst_structure_remove_field),
18217         (gst_structure_remove_fields),
18218         (gst_structure_remove_fields_valist),
18219         (gst_structure_remove_all_fields), (gst_structure_foreach),
18220         (gst_structure_map_in_place),
18221         (gst_caps_structure_fixate_field_nearest_int),
18222         (gst_caps_structure_fixate_field_nearest_double):
18223         * gst/gststructure.h:
18224         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18225         (gst_system_clock_init), (gst_system_clock_dispose),
18226         (gst_system_clock_async_thread),
18227         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18228         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18229         * gst/gstsystemclock.h:
18230         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18231         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18232         * gst/gsttaginterface.c:
18233         * gst/gstthread.c: (gst_thread_dispose),
18234         (gst_thread_release_children_locks), (gst_thread_change_state),
18235         (gst_thread_main_loop):
18236         * gst/gsttrashstack.h:
18237         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18238         * gst/gsttypes.h:
18239         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18240         (gst_element_request_pad), (gst_element_get_pad_from_template),
18241         (gst_element_request_compatible_pad),
18242         (gst_element_get_compatible_pad_filtered),
18243         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18244         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18245         (gst_element_link_many), (gst_element_link),
18246         (gst_element_link_pads), (gst_element_unlink_pads),
18247         (gst_element_unlink_many), (gst_element_unlink),
18248         (gst_pad_can_link_filtered), (gst_pad_can_link),
18249         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18250         (gst_object_default_error), (gst_bin_add_many),
18251         (gst_bin_remove_many), (gst_element_populate_std_props),
18252         (gst_element_class_install_std_props), (gst_buffer_merge),
18253         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18254         (link_fold_func), (gst_pad_proxy_setcaps):
18255         * gst/gstutils.h:
18256         * gst/gstvalue.c: (gst_value_deserialize_string):
18257         * gst/parse/grammar.y:
18258         * gst/schedulers/gstbasicscheduler.c:
18259         (gst_basic_scheduler_cothreaded_chain),
18260         (gst_basic_scheduler_chain_recursive_add),
18261         (gst_basic_scheduler_pad_link):
18262         * gst/schedulers/gstoptimalscheduler.c:
18263         (get_group_schedule_function),
18264         (gst_opt_scheduler_state_transition),
18265         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18266         * libs/gst/bytestream/bytestream.c:
18267         * libs/gst/dataprotocol/dataprotocol.c:
18268         (gst_dp_header_from_buffer):
18269         * po/nb.po:
18270         * po/ru.po:
18271         * tests/threadstate/threadstate2.c: (eos):
18272         * tools/gst-compprep.c: (main):
18273         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18274         (print_pad_info), (print_children_info):
18275         * tools/gst-launch.c: (idle_func), (main):
18276         * tools/gst-md5sum.c: (idle_func), (main):
18277         * tools/gst-xmlinspect.c: (print_element_info):
18278         First THREADED backport attempt, focusing on adding locks and
18279         making sure the API is threadsafe. Needs more work. More docs
18280         follow this week.
18281
18282 2005-02-24  Andy Wingo  <wingo@pobox.com>
18283
18284         * tests/bench-complexity.scm:
18285         * tests/complexity.gnuplot: New files, good for running complexity
18286         benchmarks.
18287
18288         * tests/Makefile.am:
18289         * tests/complexity.c: New test, sets up N elements, at each level
18290         teeing into M streams per element. Eeeenteresting.
18291
18292         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18293         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18294         running bench-mass_elements.scm.
18295
18296         * tests/bench-mass_elements.scm: New script, runs mass_elements
18297         for various numbers of identities, outputting the results to a
18298         file. Requires guile 1.6. Just for testing.
18299
18300 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18301
18302         * gst/schedulers/fairscheduler.c:
18303           compile with debug disabled
18304
18305 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18306
18307         * configure.ac:
18308           hunting season on 0.9 is now OPEN