libs/gst/dataprotocol/dataprotocol.c: Fixes #347337: failure to deserialize event...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * libs/gst/dataprotocol/dataprotocol.c:
4         (gst_dp_event_from_packet_1_0):
5           Fixes #347337: failure to deserialize event packets with
6           empty payload (only event type)
7
8 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9
10         * gst/Makefile.am:
11           do not install a .c file in the header directory
12
13 2006-07-13  Edward Hervey  <edward@fluendo.com>
14
15         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
16         GhostPad no longer implicitely use the padtemplates of the targets.
17         Fixes #347384
18
19 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
20
21         * gst/gstvalue.c: (gst_value_compare_list),
22         (gst_value_compare_array), (_gst_value_initialize):
23         * tests/check/gst/gstvalue.c: (GST_START_TEST):
24         Make GstValueArray comparison be order dependent as designed.
25         Add checks for value lists and value array comparisons.
26         Fixes #347221
27
28 2006-07-11  Edward Hervey  <edward@fluendo.com>
29
30         * gst/gstbin.c: (activate_pads),
31         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
32         (gst_bin_change_state_func):
33         (de)activate src pads before calling state_change on the childs.
34         This is to avoid the case where a src ghostpad is blocked (holding the
35         stream lock), which would block the deactivation of the ghostpad's
36         target pad.
37         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
38         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
39         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
40         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
41         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
42         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
43         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
44         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
45         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
46         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
47         (gst_ghost_pad_class_init),
48         (gst_ghost_pad_internal_do_activate_push),
49         (gst_ghost_pad_internal_do_activate_pull),
50         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
51         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
52         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
53         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
54         GhostPads now create their internal GstProxyPad at creation (and not
55         when they're linked, as it was being done previously).
56         The internal and target pads are linked straight away.
57         The data will also travel through the other pad in order to make
58         pad blocking and probes non-hackish (the probe/block now really happens
59         on the GhostPad and not on the target).
60         * gst/gstpad.c: (gst_pad_set_blocked_async),
61         (gst_pad_link_prepare), (gst_pad_push_event):
62         Remove previous ghostpad cruft.
63         * gst/gstutils.c: (gst_pad_add_data_probe),
64         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
65         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
66         (gst_pad_remove_buffer_probe):
67         Remove previous ghost pad cruft.
68         Added more detailed debug statements.
69         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
70         Fix the testsuite for refcounting changes.
71         The comments about who has references were correct, but the refcount
72         being checked wasn't the same (!?!).
73
74         Fixes #341029
75
76 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
77
78         * docs/gst/gstreamer-sections.txt:
79         * gst/gstconfig.h.in:
80         More docs for configuration options, add docs to gtk-doc.
81
82 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
83
84         * gst/Makefile.am:
85         * gst/gstconfig.h.in:
86         * win32/common/config.h:
87         Fix build when disabling tracing (fixes #344016). Also start to document
88         the defines that disable the sub-systems.
89
90 2006-07-10  Edward Hervey  <edward@fluendo.com>
91
92         * gst/gst.c: (ensure_current_registry_forking):
93         let's make valgrind happy...
94
95 2006-07-09  Wim Taymans  <wim@fluendo.com>
96
97         * gst/gstelement.c: (activate_pads),
98         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
99         Better pad activation code: Reset the collect value too on resync.
100         Add some comments.
101
102 2006-07-09  Wim Taymans  <wim@fluendo.com>
103
104         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
105         (gst_pad_activate_push):
106         Use some more macros where it makes sense.
107         Allow pad mode switching instead of asserting. When a pad
108         is activated in one mode and we activate it in another, 
109         deactivate it first before activating it in a different mode.
110         Fixes #329198.
111
112 2006-07-08  Andy Wingo  <wingo@pobox.com>
113
114         * tools/gst-launch.c (main): Handle err == NULL.
115
116         * gst/gst.c (init_post, ensure_current_registry)
117         (ensure_current_registry_forking)
118         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
119         factoring out the registry scanning into separate functions. Don't
120         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
121         Better environment var name/interface suggestions accepted.
122
123 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
124
125         * gst/gstobject.c: (gst_object_set_name_default),
126         (gst_object_set_name):
127           Random micro-optimisation: don't use a hash table
128           with strings as keys and the usual strdup/strcmp
129           involved, but rather just use the GQuark of the
130           type name as key, since it needs to be looked up
131           anyway to get the type name string.
132
133         * tests/check/gst/gstobject.c: (GST_START_TEST):
134           Fix various leaks.
135
136 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
137
138         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
139         (gst_bin_iterate_all_by_interface):
140           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
141           GTypes are gulongs and thus the top 4 bytes might be cut
142           off on some platforms when doing GPOINTER_TO_INT, leading
143           to invalid GTypes and bad things happening.
144           Also add a check to make sure the type passed in is really
145           an interface type.
146
147 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
148
149         * .cvsignore:
150           Ignore more.
151
152 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
153
154         * Makefile.am:
155         * configure.ac:
156         * gst-element-check.m4:
157         * gst-element-check.m4.in:
158           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
159           instead of the unversioned gst-inspect (#324176, #168659).
160
161 2006-07-06  Wim Taymans  <wim@fluendo.com>
162
163         * gst/gstmessage.h:
164         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
165         warnings.
166
167 2006-07-06  Wim Taymans  <wim@fluendo.com>
168
169         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
170         (gst_base_src_wait), (gst_base_src_update_length),
171         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
172         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
173         (gst_base_src_loop), (gst_base_src_start),
174         (gst_base_src_activate_pull):
175         Update docs.
176         blocksize == 0 now means the default blocksize when working in push
177         based mode.
178         Remove some pointless asserts in _wait function.
179         Fix offset/length calculations and EOS handling. We can now pull 0
180         bytes as well, which is allowed.
181         use _check_get_range() to decide if we can operate in _pull based
182         mode.
183         Fix refcounting leak when check_get_range function was not 
184         implemented.
185         API GstBaseSrc::blocksize range can be 0 too now (default)
186
187         * tests/check/elements/filesrc.c: (GST_START_TEST),
188         (filesrc_suite):
189         Added check to test _get_range() behaviour.
190
191 2006-07-06  Wim Taymans  <wim@fluendo.com>
192
193         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
194         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
195         (gst_pad_pull_range):
196         * gst/gstpad.h:
197         Lots of comments and docs added to the pad functions.
198         Flesh out the expected behaviour of the get_range() functions.
199
200 2006-07-06  Wim Taymans  <wim@fluendo.com>
201
202         * gst/gstbus.h:
203         * gst/gstclock.h:
204         * gst/gstevent.h:
205         * gst/gstiterator.h:
206         * gst/gstpad.h:
207         * gst/gstplugin.h:
208         * gst/gsttask.h:
209         Remove comma at end of enumerator list. 
210
211 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
212
213         * win32/common/libgstbase.def:
214         * win32/common/libgstdataprotocol.def:
215         * win32/common/libsgtreamer.def:
216         Add new exported functions.
217
218 2006-07-05  Wim Taymans  <wim@fluendo.com>
219
220         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
221         Add some more docs here and there.
222
223 2006-07-05  Wim Taymans  <wim@fluendo.com>
224
225         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
226         (gst_base_sink_loop), (gst_base_sink_get_position):
227         When operating in pull mode update the offset so that we
228         read sequentially.
229
230 2006-07-05  Wim Taymans  <wim@fluendo.com>
231
232         * gst/gstregistryxml.c: (read_string):
233         Avoid strdup. (will happen in libxml, but hey!)
234
235         * gst/gsturi.c:
236         Add some more docs.
237
238 2006-07-05  Wim Taymans  <wim@fluendo.com>
239
240         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
241         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
242         (gst_buffer_suite):
243         No point in checking if the size of the subbuffer > 0, the
244         code handles it correclty as demonstrated by unit test.
245         Also add a unit test for the zero sized _new_and_alloc and
246         _copy. Fixes #346663.
247
248 2006-07-05  Wim Taymans  <wim@fluendo.com>
249
250         * libs/gst/base/gstbasetransform.c:
251         (gst_base_transform_prepare_output_buffer),
252         (gst_base_transform_buffer_alloc),
253         (gst_base_transform_handle_buffer):
254         Make sure the buffer we pass to transform_ip has a refcount of
255         1 and thus is writable. Fixes #343196
256
257 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
258
259         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
260         (gst_file_src_init), (gst_file_src_set_property),
261         (gst_file_src_get_property), (gst_file_src_map_region):
262         * plugins/elements/gstfilesrc.h:
263         Add "sequential" property, off by default, to use madvise and hint
264         to the kernel that sequential access is desired.
265         Touch all retrieved pages by default to ensure they are pulled
266         into memory. (Closes #345720)
267
268 2006-07-03  Wim Taymans  <wim@fluendo.com>
269
270         * docs/design/part-block.txt:
271         * docs/design/part-dynamic.txt:
272         Small docs updates.
273
274 2006-07-03  Wim Taymans  <wim@fluendo.com>
275
276         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
277         (gst_caps_unref), (gst_static_caps_get),
278         (gst_caps_append_structure):
279         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
280         Use GSlice when the glib we build against is >= 2.10
281
282 2006-07-03  Wim Taymans  <wim@fluendo.com>
283
284         * gst/gstelement.c: (gst_element_pads_activate):
285         Small cleanup in pad activation code.
286
287 2006-07-03  Wim Taymans  <wim@fluendo.com>
288
289         Patch by: Peter Kjellerstedt <pkj at axis dot com>
290
291         * gst/gst-i18n-app.h:
292         * gst/gst-i18n-lib.h:
293         * tools/gst-inspect.c: (print_signal_info):
294         The attached patch will make the inclusion of gettext.h unconditional in
295         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
296         libintl.h in tools/gst-inspect.c.
297         This allows use of --disable-nls again and fixes #344642.
298
299 2006-07-03  Edward Hervey  <edward@fluendo.com>
300
301         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
302         Implement pad blocking on events according to part-block.txt.
303         More comments on behaviour.
304         * tests/check/gst/gstevent.c: (test_event):
305         Send event to peer pad of blocked pad (else it will block).
306
307 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
308
309         * libs/gst/check/gstcheck.c: (gst_check_message_error),
310         (gst_check_run_suite):
311           if we get the wrong message, give us the types as string
312         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
313           Fix a translatable
314         * tests/check/elements/filesrc.c: (GST_START_TEST):
315           add a test for trying to open a non-existing file
316
317 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
318
319         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
320           add a test for adding self
321
322 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
323
324         * libs/gst/check/gstcheck.h:
325           add some assert_ as alias for fail_unless_*
326         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
327           increase test coverage
328
329 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
330
331         * Makefile.am:
332           include lcov.mak for lcov coverage generation
333         * tools/Makefile.am:
334           add to CLEANFILES
335
336 2006-07-02  Edward Hervey  <edward@fluendo.com>
337
338         * tests/check/elements/.cvsignore:
339         moaping
340
341 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
342
343         * configure.ac:
344           don't set CFLAGS and friends for gcov, done from GST_GCOV now
345         * tests/check/Makefile.am:
346           clean up gcov files
347
348 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
349
350         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
351           remove gst_caps_simplify; it was not declared and not used
352           and deprecated in 0.8
353
354 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
355
356         * docs/faq/gst-uninstalled:
357           don't put empty paths on PYTHONPATH
358         * docs/gst/gstreamer-sections.txt:
359           remove some symbols that are not there
360
361 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
362
363         * gst/gstcaps.c: (gst_caps_compare_structures):
364           whitespace fixes
365         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
366         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
367           add more tests
368
369 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
370
371         * libs/gst/dataprotocol/Makefile.am:
372           build dataprotocol test by linking to the lib, instead of
373           compiling the source, so we get coverage
374         * tests/check/Makefile.am:
375         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
376         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
377           add a test for filesrc
378
379 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
380
381         * tests/check/gst/gststructure.c: (GST_START_TEST),
382         (gst_structure_suite):
383           Push coverage from 59.04% to 70.00%
384
385 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
386
387         * tests/check/Makefile.am:
388           gst-inspect every element; this makes sure that we also get
389           coverage on element's get/set functions
390
391 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
392
393         * configure.ac:
394           set CFLAGS and friends to -O0 if gcov is being used
395           add GCOV LIBS
396         * gst/Makefile.am:
397         * libs/gst/base/Makefile.am:
398         * libs/gst/check/Makefile.am:
399         * libs/gst/controller/Makefile.am:
400         * libs/gst/dataprotocol/Makefile.am:
401         * libs/gst/net/Makefile.am:
402         * plugins/elements/Makefile.am:
403         * plugins/indexers/Makefile.am:
404           add makefile rules to generate gcov data and clean up
405         * tests/check/Makefile.am:
406           add a coverage target that generates an html overview
407           of coverage data
408
409 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
410
411         * tests/check/elements/fakesink.c:
412         * tests/check/elements/fakesrc.c:
413         * tests/check/elements/fdsrc.c:
414         * tests/check/elements/identity.c:
415         * tests/check/generic/sinks.c: (gst_sinks_suite):
416         * tests/check/generic/states.c:
417         * tests/check/gst/gst.c:
418         * tests/check/gst/gstabi.c:
419         * tests/check/gst/gstbin.c:
420         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
421         * tests/check/gst/gstbus.c: (gst_bus_suite):
422         * tests/check/gst/gstcaps.c: (GST_START_TEST):
423         * tests/check/gst/gstelement.c:
424         * tests/check/gst/gstevent.c: (gst_event_suite):
425         * tests/check/gst/gstghostpad.c:
426         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
427         * tests/check/gst/gstmessage.c: (gst_message_suite):
428         * tests/check/gst/gstminiobject.c:
429         * tests/check/gst/gstobject.c:
430         * tests/check/gst/gstpad.c:
431         * tests/check/gst/gstpipeline.c:
432         * tests/check/gst/gstplugin.c:
433         * tests/check/gst/gstquery.c: (gst_query_suite):
434         * tests/check/gst/gstsegment.c: (gst_segment_suite):
435         * tests/check/gst/gststructure.c:
436         * tests/check/gst/gstsystemclock.c:
437         * tests/check/gst/gsttag.c:
438         * tests/check/gst/gsttask.c: (gst_task_suite):
439         * tests/check/gst/gstutils.c:
440         * tests/check/gst/gstvalue.c:
441         * tests/check/libs/adapter.c:
442         * tests/check/libs/basesrc.c:
443         * tests/check/libs/collectpads.c:
444         * tests/check/libs/controller.c:
445         * tests/check/libs/gdp.c: (gst_dp_suite):
446         * tests/check/libs/gstnetclientclock.c:
447         * tests/check/libs/gstnettimeprovider.c:
448         * tests/check/libs/libsabi.c: (libsabi_suite):
449         * tests/check/libs/typefindhelper.c:
450         * tests/check/pipelines/cleanup.c:
451         * tests/check/pipelines/parse-launch.c:
452         * tests/check/pipelines/simple-launch-lines.c:
453         * tests/check/pipelines/stress.c: (stress_suite):
454           use the new macro
455
456 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
457
458         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
459         * libs/gst/check/gstcheck.h:
460           create a macro and function so that the simple unit test
461           case can be just one macro to create main()
462
463 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
464
465         * gst/gstbin.c: (gst_bin_restore_thyself):
466         * gst/gstxml.c: (gst_xml_make_element):
467           Fix deserialisation from XML. Set parent manually
468           instead of using gst_bin_add(), since gst_bin_add()
469           will unlink all pads of the element being added.
470           Fixes #341667.
471
472 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
473
474         Patch by: Peter Kjellerstedt <pkj at axis com>
475
476         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
477           Fix missing g_strdup() and double free when using the
478           --gst-plugin-load command line option (#346097).
479
480 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
481
482         * gst/gstinfo.c:
483           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
484
485         * libs/gst/net/gstnetclientclock.c:
486         * libs/gst/net/gstnettimeprovider.c:
487           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
488
489 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
490
491         * docs/manual/advanced-dataaccess.xml:
492           Fix buffer probe example compilation in
493           ADM (#345708).
494         
495 2006-06-22  Edward Hervey  <edward@fluendo.com>
496
497         * gst/gstelement.c: (gst_element_pads_activate):
498         We need to deactivate src pads first and then sink pads.
499         The reason is the src pads might be blocking while holding the streaming
500         lock, so we need to deactivate them first so that deactivating the sink
501         pads doesn't block (since it will require the streaming lock).
502
503 2006-06-22  Wim Taymans  <wim@fluendo.com>
504
505         * libs/gst/base/gstbasetransform.c:
506         (gst_base_transform_buffer_alloc):
507         Forgot to remove two unneeded unrefs.
508         Simplify a check _is_equal allready checks the obvious case.
509
510 2006-06-22  Wim Taymans  <wim@fluendo.com>
511
512         * docs/design/part-block.txt:
513         Some docs about what pad_block should do.
514
515 2006-06-22  Wim Taymans  <wim@fluendo.com>
516
517         * gst/gstcaps.c: (gst_caps_replace):
518         Fix crasher when passed NULL. Doc clarification.
519         Optimize for the trivial case.
520
521         * gst/gstpipeline.c: (gst_pipeline_change_state):
522         Small cleanups.
523
524         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
525         Small documentation cleanup.
526
527         * libs/gst/base/gstbasetransform.c:
528         (gst_base_transform_buffer_alloc):
529         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
530         is what we need and it avoids a whole lot of redundant 
531         refcount operations.
532
533 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
534
535         Patch by: Philip Jägenstedt  <philip at lysator liu se>
536
537         * docs/manual/advanced-dataaccess.xml:
538           Fix 'Embedding static elements' section to use
539           GST_PLUGIN_DEFINE_STATIC (#345607).
540
541 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
542
543         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
544           Attempt to 'fix' spuriously failing test case: it seems like the
545           timeout of half a second is simply too small when the system is under
546           load otherwise, and the timeout doesn't really seem to serve any
547           particular purpose here. Give the pipeline a few seconds to preroll
548           first, and then give it another half a second to go from PAUSED to
549           PLAYING and marshal the message into the main thread.
550
551 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
552
553         * tools/gst-feedback-m.m:
554           Don't only use unversioned tools, try versioned tools as well
555           (#345086).
556
557 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
558
559         * gst/gstbus.c: (gst_bus_class_init):
560           Fix some typos, make docs more explicit.
561
562 2006-06-20  Wim Taymans  <wim@fluendo.com>
563
564         * tests/check/gst/gstghostpad.c: (block_callback),
565         (GST_START_TEST), (gst_ghost_pad_suite):
566         Added some more ghostpad tests, mainly blocking
567         and probes.
568
569 2006-06-16  Wim Taymans  <wim@fluendo.com>
570
571         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
572         (gst_file_sink_close_file), (gst_file_sink_do_seek),
573         (gst_file_sink_event), (gst_file_sink_render):
574         * plugins/elements/gstfilesink.h:
575         Check if we can seek in the file instead of assuming
576         we always can. Post an error when we are asked to seek in a
577         non-seekable file (like a fifo). Fixes #343312.
578         Some cleanups.
579
580 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
581
582         * tools/gst-launch.1.in:
583           Un-garble (fourcc) bit in filtered caps section.
584
585 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
586
587         * docs/manual/advanced-autoplugging.xml:
588         * docs/manual/basics-helloworld.xml:
589         * docs/manual/highlevel-components.xml:
590           Don't leak bus reference in sample code.
591
592 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
593
594         * autogen.sh:
595           Add default for new --enable-plugin-docs switch.
596
597         * configure.ac:
598           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
599           Fixes #344039.
600
601         * docs/Makefile.am:
602           Use new ENABLE_PLUGIN_DOCS conditional.
603
604 2006-06-14  Wim Taymans  <wim@fluendo.com>
605
606         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
607         Make it clear with a FIXME and a real define what the #if 0
608         previously disabled.
609
610 2006-06-14  Wim Taymans  <wim@fluendo.com>
611
612         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
613         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
614         * libs/gst/base/gstbasetransform.c:
615         (gst_base_transform_sink_eventfunc):
616         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
617         Don't randomly and silently reset a segment when the format 
618         changes as this is a bug somewhere upstream. Fixes #330379.
619
620 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
621
622         Patch by: Wouter Paesen  <wouter at kangaroot net>
623
624         * libs/gst/controller/gstcontroller.c:
625         (gst_controlled_property_new):
626           Fix controlling of float properties (#344849).
627
628         * tests/check/libs/controller.c:
629         (gst_test_mono_source_get_property),
630         (gst_test_mono_source_set_property),
631         (gst_test_mono_source_class_init), (GST_START_TEST):
632           While we're at it, add some float stuff to unit test.
633
634 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
635
636         * docs/README:
637         * docs/images/gdp-header.svg:
638           add a gdp image
639         * docs/libs/Makefile.am:
640         * docs/libs/gdp-header.png:
641         * libs/gst/dataprotocol/dataprotocol.c:
642           add it to the API docs
643         * docs/manual/intro-motivation.xml:
644           fix typo
645
646 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
647
648         * gst/gst.c: (scan_and_update_registry), (init_post):
649           If the fork()'ed child process can't write the updated registry cache
650           file to disk for some reason, make it exit with a failure exit code,
651           so that the parent can then re-scan the plugins itself and update the
652           registry structures in memory and work with that (rather than failing
653           when creating elements because seemingly no plugins are available).
654           Refactor registry scanning code into separate function for this and
655           also separate fork() and non-fork() code paths. Fixes #344748.
656
657 2006-06-13  Wim Taymans  <wim@fluendo.com>
658
659         * docs/manual/advanced-dataaccess.xml:
660         Fix wrong PluginDesc. Fixes #344755.
661
662 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
663
664         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
665           Fix silly bug that prevented us from creating
666           ~/.gstreamer-0.10 and writing the registry in one
667           go (the first call to g_mkstemp() would overwrite the
668           placeholder in the template string, so the second call
669           to g_mkstemp() after creating the missing directory
670           would then error out with 'invalid argument').
671
672 2006-06-13  Edward Hervey  <edward@fluendo.com>
673
674         * gst/gst.c: (init_post):
675         Free string.
676
677 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
678
679         * gst/glib-compat-private.h:
680         * gst/glib-compat.c:
681         * gst/glib-compat.h:
682         * gst/gstvalue.c: (gst_value_serialize_flags):
683           remove GLib 2.6 compatibility code
684
685 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
686
687         * gst/parse/Makefile.am:
688           Fix build with 'make -j N' even more (#340016).
689
690 2006-06-12  Wim Taymans  <wim@fluendo.com>
691
692         * docs/gst/gstreamer-sections.txt:
693         Fix docs.
694
695 2006-06-12  Wim Taymans  <wim@fluendo.com>
696
697         * gst/gstsegment.c: (gst_segment_set_duration),
698         (gst_segment_set_last_stop), (gst_segment_set_seek),
699         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
700         (gst_segment_to_running_time), (gst_segment_clip):
701         Use G_UNLIKELY to help the compiler a bit.
702
703 2006-06-12  Wim Taymans  <wim@fluendo.com>
704
705         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
706
707         * gst/gstevent.c: (gst_event_get_type):
708         * gst/gstmessage.c:
709         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
710         (gst_pad_push):
711         constify quark registration strings. Fixes #344115
712         Avoid unneeded type checking is _pad_push() by internally
713         calling gst_pad_chain_unchecked().
714
715 2006-06-12  Wim Taymans  <wim@fluendo.com>
716
717         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
718         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
719         (gst_subbuffer_finalize), (gst_buffer_create_sub),
720         (gst_buffer_is_span_fast), (gst_buffer_span):
721         Init _type for consistency.
722         Use _FLAGS macro to avoid type check.
723         Avoid unneeded type checks in subbufer code.
724
725 2006-06-12  Wim Taymans  <wim@fluendo.com>
726
727         * gst/gst.c: (gst_debug_help):
728         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
729         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
730         (gst_plugin_feature_list_free):
731         * gst/gstregistry.c: (gst_registry_add_plugin),
732         (gst_registry_add_feature), (gst_registry_plugin_filter),
733         (gst_registry_feature_filter), (gst_registry_find_plugin),
734         (gst_registry_find_feature), (gst_registry_get_plugin_list),
735         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
736         * gst/gstregistryxml.c: (load_feature),
737         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
738         * gst/gstminiobject.c: (gst_mini_object_unref),
739         (gst_mini_object_replace), (gst_value_mini_object_free),
740         (gst_value_mini_object_copy):
741         Use _CAST macros to avoid unneeded type checking.
742         Added some more G_UNLIKELY.
743
744 2006-06-12  Wim Taymans  <wim@fluendo.com>
745
746         * gst/gstbuffer.h:
747         Avoid unneeded type checking.
748         API: GST_BUFFER_IS_DISCONT
749
750         * gst/gstminiobject.h:
751         Avoid type check in flag accessor.
752
753         * gst/gstelementfactory.h:
754         * gst/gstplugin.h:
755         * gst/gstpluginfeature.h:
756         Add _CAST macros.
757         API: GST_ELEMENT_FACTORY_CAST
758         API: GST_PLUGIN_CAST
759         API: GST_PLUGIN_FEATURE_CAST
760
761 2006-06-12  Wim Taymans  <wim@fluendo.com>
762
763         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
764         (gst_object_unref):
765         Add G_UNLIKELY in type registration.
766         Avoid type check in _ref/_unref since that is also
767         done in glib.
768
769 2006-06-12  Wim Taymans  <wim@fluendo.com>
770
771         * gst/gsterror.c: (gst_g_error_get_type):
772         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
773         (gst_static_pad_template_get_type):
774         * gst/gsttaglist.c: (gst_tag_list_get_type):
775         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
776         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
777         * gst/gsturi.c: (gst_uri_handler_get_type):
778         * gst/gstvalue.c: (gst_date_get_type):
779         * gst/gstxml.c: (gst_xml_get_type):
780         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
781         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
782         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
783         Add G_UNLIKELY in type registration.
784
785 2006-06-12  Wim Taymans  <wim@fluendo.com>
786
787         * tools/gst-inspect.c: (print_signal_info):
788         Properly print enum values.
789
790 2006-06-12  Wim Taymans  <wim@fluendo.com>
791
792         * gst/gstinfo.c: (gst_debug_set_active),
793         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
794         * gst/gstinfo.h:
795         Add some G_[UN]LIKELY.
796         Maintain __gst_debug_min to avoid formatting the arguments of
797         debug messages that will be dropped anyway to avoid a lot of 
798         overhead from the debugging system.
799
800 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
801
802         * po/POTFILES.in:
803         * po/POTFILES.skip:
804           add missing files containing translatable strings, tell intltool about
805           one exception
806
807 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
808
809         * tests/check/libs/.cvsignore:
810         add test-binary to ignore list
811
812 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
813
814         * docs/libs/gstreamer-libs-docs.sgml:
815         reorder (put dp into a chapter) and indent
816
817 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
818
819         * configure.ac:
820           back to HEAD
821
822 === release 0.10.8 ===
823
824 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
825
826         * configure.ac:
827           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
828
829 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
830
831         * gst/gst.c: (init_post):
832           move pid declaration to declaration block
833
834 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
835
836         * gst/gst.c: (init_post):
837           use _exit() instead of exit() in our forked child; this ensures
838           that none of the registered exit handlers from whatever is using
839           GStreamer get executed.  This fixes gnome-mixer-applet failing
840           to load, because ORBit would shut down.
841           Spotted by: Edward Hervey  <edward@fluendo.com>
842           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
843           Fixes #344474
844
845 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
846
847         * configure.ac:
848           back to TRUNK
849
850 === release 0.10.7 ===
851
852 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
853
854         * configure.ac:
855           releasing 0.10.7, "Soepeke, ik zie ou"
856
857 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
858
859         * configure.ac:
860         * po/af.po:
861         * po/az.po:
862         * po/bg.po:
863         * po/ca.po:
864         * po/cs.po:
865         * po/de.po:
866         * po/en_GB.po:
867         * po/fr.po:
868         * po/it.po:
869         * po/nb.po:
870         * po/nl.po:
871         * po/ru.po:
872         * po/sq.po:
873         * po/sr.po:
874         * po/sv.po:
875         * po/tr.po:
876         * po/uk.po:
877         * po/vi.po:
878         * po/zh_CN.po:
879         * po/zh_TW.po:
880         * win32/common/config.h:
881           0.10.6.2 prerelease
882
883 2006-06-07  Wim Taymans  <wim@fluendo.com>
884
885         * gst/gstindex.c: (gst_index_gtype_resolver):
886         * tools/gst-xmlinspect.c: (print_plugin_info):
887         Fix leak spotted by coverity checker. Fixes #343827
888         Fix another other leak found by paolo borelli.
889
890 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
891
892         * libs/gst/dataprotocol/dataprotocol.c:
893         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
894         (gst_dp_version_get_type), (gst_dp_init),
895         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
896         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
897         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
898         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
899         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
900         (gst_dp_packetizer_free):
901         * libs/gst/dataprotocol/dataprotocol.h:
902           API: add a GstDPPacketizer object, and create/free functions
903           API: add GstDPVersion enum
904           Add 1.0 event function that uses the string serialization
905           Serialize more useful buffer flags
906           Fixes #343988
907
908 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
909
910         * tests/check/Makefile.am:
911         * tests/check/gst/gstabi.c:
912         * tests/check/gst/struct_ppc64.h:
913         * tests/check/libs/libsabi.c:
914         * tests/check/libs/struct_ppc64.h:
915           add ppc64 structure sizes
916
917 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
918
919         * tests/check/Makefile.am:
920         * tests/check/gst/gstabi.c:
921         * tests/check/gst/struct_x86_64.h:
922         * tests/check/libs/libsabi.c:
923         * tests/check/libs/struct_x86_64.h:
924           generate and add structure size lists for x86_64
925
926 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
927
928         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
929         * libs/gst/check/gstcheck.h:
930           factor out the method from tests that checks size of structures,
931           and add code to generate the header containing these sizes
932         * tests/check/gst/gstabi.c: (GST_START_TEST):
933         * tests/check/gst/struct_i386.h:
934         * tests/check/libs/libsabi.c: (GST_START_TEST):
935         * tests/check/libs/struct_i386.h:
936           use it
937
938 2006-06-06  Michael Smith  <msmith@fluendo.com>
939
940         * gst/gstsegment.h:
941           Don't use c++-style comments, fixes #343929
942
943 2006-06-05  Edward Hervey  <edward@fluendo.com>
944
945         * gst/gst.c:
946         plugin_paths is not used if we build without registry support.
947
948         * gst/gstsegment.c: (gst_segment_copy): 
949         _copy() was always returning NULL...
950
951 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
952
953         * libs/gst/dataprotocol/dataprotocol.c:
954         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
955         (gst_dp_packet_from_event):
956           factor out CRC code
957
958 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
959
960         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
961           make sure we unset caps
962
963 2006-06-02  Michael Smith  <msmith@fluendo.com>
964
965         * libs/gst/check/gstcheck.c: (gst_check_init),
966         (gst_check_chain_func):
967         * libs/gst/check/gstcheck.h:
968           Add a cond/mutex to the check support lib, signal this whenever we
969           add to the buffers list. This will allow tests to not busy-wait on
970           the buffer-list.
971
972 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
973
974         * libs/gst/dataprotocol/dataprotocol.c:
975         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
976         (gst_dp_packet_from_event):
977           factor out some common header init code
978
979 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
980
981         * docs/libs/gstreamer-libs-sections.txt:
982         * docs/libs/tmpl/gstdataprotocol.sgml:
983         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
984         * libs/gst/dataprotocol/dataprotocol.h:
985           API: make gst_dp_crc() public
986
987 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
988
989         * plugins/indexers/gstindexers.c: (plugin_init):
990         conditionally register fileindexer (fixes #343598)
991
992 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
993
994         * gst/gsttagsetter.h:
995         Can't cast ifaces to a class
996
997         * libs/gst/net/gstnetclientclock.h:
998         * libs/gst/net/gstnettimeprovider.h:
999         * plugins/elements/gstfakesink.h:
1000         * plugins/elements/gstfakesrc.h:
1001         * plugins/elements/gstfdsink.h:
1002         * plugins/elements/gstfdsrc.h:
1003         * plugins/elements/gstfilesink.h:
1004         * plugins/elements/gstfilesrc.h:
1005         * plugins/elements/gstidentity.h:
1006         * plugins/elements/gstqueue.h:
1007         * plugins/elements/gsttee.h:
1008         * plugins/indexers/gstfileindex.c:
1009         * plugins/indexers/gstmemindex.c:
1010         * tests/old/examples/plugins/example.h:
1011         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1012
1013 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1014
1015         * libs/gst/dataprotocol/dataprotocol.c:
1016         (gst_dp_header_from_buffer):
1017           make sure we zero the whole ABI-compatible area
1018
1019 2006-06-01  Wim Taymans  <wim@fluendo.com>
1020
1021         Patch by: Alessandro Decina <alessandro at nnva dot org>
1022
1023         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1024         Make sure the EOS flag is cleared from pads after a flush
1025         or stop. Fixes #343538.
1026
1027         * tests/check/libs/collectpads.c: (GST_START_TEST),
1028         (gst_collect_pads_suite):
1029         Added test for collectpads reusage after EOS.
1030
1031 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1032
1033         * gst/gst.c:
1034          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1035         * win32/common/libgstbase.def:
1036          export gst_collect_pads_set_flushing
1037         * win32/common/libgstreamer.def:
1038          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1039          gst_value_fraction_multiply
1040         * win32/vs6/gst_inspect.dsp:
1041          add a link to intl.lib
1042
1043 2006-05-30  Wim Taymans  <wim@fluendo.com>
1044
1045         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1046         (gst_collect_pads_chain):
1047         Handle the case where a pad is removed from the collection
1048         that could cause the other pads to become collectable.
1049
1050 2006-05-30  Wim Taymans  <wim@fluendo.com>
1051
1052         * gst/gstelement.c:
1053         Clarify the use of _release_request_pad() and
1054         _get_request_pad() a bit better.
1055
1056         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1057         (gst_adapter_take_buffer):
1058         Fix some doc and comment typos.
1059
1060 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1061
1062         * docs/gst/gstreamer-sections.txt:
1063         * docs/libs/gstreamer-libs-sections.txt:
1064           add declared symbols
1065
1066 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1067
1068         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1069         Add debug that can be enabled using a #define at the top of the file,
1070         for dumping stats about how late/early we were when waking up from
1071         waiting on the clock.
1072
1073 2006-05-30  Wim Taymans  <wim@fluendo.com>
1074
1075         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1076         When rebuilding the pad list, don't leak the previous list.
1077
1078 2006-05-30  Wim Taymans  <wim@fluendo.com>
1079
1080         Patch by: Lutz Mueller <lutz at topfrose dot de>
1081
1082         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1083         (gst_base_src_get_query_types), (gst_base_src_update_length):
1084         Publish supported query types.
1085         Update last_stop field in get_range mode so the position
1086         query works. Fixes #342321.
1087
1088 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1089
1090         * docs/gst/gstreamer-sections.txt:
1091         * gst/gsttaglist.c: (_gst_tag_initialize):
1092         * gst/gsttaglist.h:
1093           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1094
1095 2006-05-30  Wim Taymans  <wim@fluendo.com>
1096
1097         Patch by: Alessandro Decina <alessandro at nnva dot org>
1098
1099         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1100         Unlock mutex when removing an unknown pad.
1101         Fixes #343334.
1102
1103         * tests/check/Makefile.am:
1104         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1105         (push_event), (setup), (teardown), (GST_START_TEST),
1106         (gst_collect_pads_suite), (main):
1107         Added collecpads check, disabled for now as check crashes for
1108         some reason.
1109
1110 2006-05-29  Wim Taymans  <wim@fluendo.com>
1111
1112         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1113         Don't leak pads lists.
1114
1115 2006-05-29  Wim Taymans  <wim@fluendo.com>
1116
1117         * docs/libs/gstreamer-libs-sections.txt:
1118         * libs/gst/base/gstcollectpads.c:
1119         (gst_collect_pads_set_flushing_unlocked),
1120         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1121         (gst_collect_pads_stop):
1122         * libs/gst/base/gstcollectpads.h:
1123         API: gst_collect_pads_set_flushing()
1124         Added api to set the pads to flushing, useful for seeking
1125         code in elements using collectpads.
1126         Clear segment when receiving a flush.
1127
1128 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1129
1130         * gst/gst.c: (add_path_func), (init_post):
1131           Don't scan registry paths passed via --gst-plugin-path immediately
1132           (will crash, because absolutely nothing is set up and no types are
1133           registered etc.); do this later in init_post(). Fixes #343057.
1134
1135 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1136
1137         * gst/gst.c: (init_post):
1138           if we have fork, fork while reading/rebuilding the registry
1139           so the parent doesn't take the hit of having all plugins loaded
1140           in memory.  Fixes #342777.
1141         * configure.ac:
1142           Check if we have fork()
1143         * win32/common/config.h.in:
1144           no fork() on win32
1145
1146 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1147
1148         * plugins/elements/gstelements.c:
1149         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1150         (gst_file_src_init), (gst_file_src_set_property),
1151         (gst_file_src_get_property), (gst_file_src_start):
1152         * plugins/elements/gstfilesrc.h:
1153           API: GstFileSrc::use-mmap
1154
1155         Add a use-mmap property to enable easier testing of all code paths.
1156         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1157         in the absence of gnomevfssrc. (Closes #340501)
1158
1159 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1160
1161         * tools/gst-inspect.c:
1162         Add missing include, removes warning of ngettext not being defined on
1163         some arches.
1164
1165 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1166
1167         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1168         Handle NULL input and output pointers silently as a failed conversion,
1169         rather than g_warnings.
1170
1171 2006-05-25  Wim Taymans  <wim@fluendo.com>
1172
1173         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1174         Initialize variable before using. Fixes #342820.
1175
1176 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1177
1178         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1179           Fix off-by-one bug that would only allow peeks of N-1 bytes
1180           from the start even if the buffer to typefind on contains
1181           in fact N bytes of data (makes vorbis typefinding from a
1182           vorbis identification header buffer work).
1183
1184         * tests/check/Makefile.am:
1185         * tests/check/libs/.cvsignore:
1186         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1187         (gst_typefindhelper_suite), (main), (foobar_typefind),
1188         (plugin_init):
1189           Add very basic unit test for gst_type_find_helper_for_buffer()
1190           that checks for the problem fixed above.
1191
1192 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1193
1194         * tools/gst-inspect.c: (print_interfaces),
1195         (print_element_properties_info), (print_element_list), (main):
1196           add more translatable strings
1197
1198 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1199
1200         Patch by: Julien Moutte  <julien at moutte net>
1201
1202         * docs/gst/gstreamer-sections.txt:
1203           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1204           
1205         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1206         (gst_fake_sink_preroll):
1207         * plugins/elements/gstfakesink.h:
1208           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1209
1210 2006-05-23  Wim Taymans  <wim@fluendo.com>
1211
1212         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1213         * gst/gstpad.h:
1214         Added _CUSTOM error and success GstFlowReturn that can be
1215         used be elements internally. 
1216         Added macro to check for SUCCESS flowreturns.
1217         API: GST_FLOW_CUSTOM_SUCCESS
1218         API: GST_FLOW_CUSTOM_ERROR
1219         API: GST_FLOW_IS_SUCCESS
1220
1221         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1222         Added check for GstFlowReturn sanity.
1223
1224 2006-05-23  Wim Taymans  <wim@fluendo.com>
1225
1226         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1227
1228         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1229         (gst_collect_pads_event):
1230         clear/reset segment info in FLUSH_STOP.
1231         Fixes #336929.
1232
1233 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1234
1235         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1236         (gst_collect_pads_check_collected):
1237         Flush queued buffer on _stop(), fixes playing again (#342454)
1238
1239 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1240
1241         * tests/check/gst/gststructure.c: (GST_START_TEST),
1242         (gst_structure_suite):
1243           add a test for a complete structure
1244
1245 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1246
1247         * docs/faq/developing.xml:
1248         * docs/faq/faq.xml:
1249         * docs/faq/troubleshooting.xml:
1250         * docs/faq/using.xml:
1251           Some minor FAQ updates that won't change the fact that
1252           our FAQ is badly structured, full of information hardly
1253           anyone new to GStreamer needs to know and lacking lots
1254           of information people constantly ask for.
1255           
1256 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1257
1258         * gst/gstpad.c: (gst_pad_set_caps):
1259           Short-circuit gst_pad_set_caps if setting the existing
1260           caps pointer again, and avoid printing debug and 
1261           reffing/unreffing the caps.
1262
1263         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1264           There's actually no need to set the caps before pushing -
1265           the acceptcaps method will handle it anyway.
1266
1267 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1268
1269         * docs/gst/gstreamer-sections.txt:
1270         * win32/common/libgstreamer.def:
1271         * gst/gstutils.c: (gst_element_seek_simple):
1272         * gst/gstutils.h:
1273           API: add gst_element_seek_simple() (#342238).
1274
1275 2006-05-18  Edward Hervey  <edward@fluendo.com>
1276
1277         * gst/gsttypefind.c: (gst_type_find_get_type):
1278         * gst/gsttypefind.h:
1279         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1280         registered for GstTypeFind pointers. This allows wrapping the structure
1281         in bindings (i.e. gst-python).
1282
1283 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1284
1285         * gst/gsttagsetter.c:
1286           Docs additions and fixes (see #339918).
1287
1288 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1289
1290         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1291         The caps intersection algorithm can produce multiple copies of the
1292         caps. Until that is fixed, we need to simplify the result to be
1293         sure whether the allowed caps are fixed or not.
1294
1295         * plugins/elements/gstqueue.c: (gst_queue_init),
1296         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1297         (gst_queue_push_one):
1298         Proxied buffer alloc should not set the caps on the source pad.
1299         When pushing buffers, we always accept the caps change that triggers.
1300         This prevents negotiation errors caused by caps changing mid-stream 
1301         and then being refused on our source pad (because upstream is now
1302         refusing those caps).
1303
1304 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1305
1306         * tests/examples/helloworld/helloworld.c: (main):
1307           Must plug audioconvert and audioresample between decoder
1308           and audio sink.
1309
1310 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1311
1312         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1313         (load_feature), (load_plugin):
1314         Allow empty strings for some of the plugin fields so we don't 
1315         drop valid plugin entries that were written out correctly
1316         (Fixes #341479)
1317
1318 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1319         
1320         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1321           Use g_remove and g_rename instead of remove and rename that don't 
1322           handle utf8 characters. rename was failing for users who had specific
1323           characters in their name then the registry was built at each 
1324           gstreamer init.
1325         * win32/vs6/gst_inspect.dsp:
1326         * win32/vs6/gst_launch.dsp:
1327         * win32/vs6/libgstbase.dsp:
1328         * win32/vs6/libgstcoreelements.dsp:
1329         * win32/vs6/libgstreamer.dsp:
1330           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1331           build of libgstreamer and clean unused libraries in projects link 
1332           settings.
1333
1334 2006-05-17  Edward Hervey  <edward@fluendo.com>
1335
1336         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1337         The queue is not responsible for pushing an EOS when receiving a fatal
1338         flow error. It's up to the real element driving the pipeline to do that.
1339
1340 2006-05-16  Edward Hervey  <edward@fluendo.com>
1341
1342         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1343         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1344         buffer returned a fatal error. It should just send an EOS and stop
1345         its task.
1346         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1347         when pushing buffers on the queue and will be able to handle the event.
1348
1349 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1350
1351         * docs/manual/basics-bins.xml:
1352         * docs/manual/basics-init.xml:
1353           Fix typos and minor errors in sample code (#341856).
1354
1355 2006-05-16  Wim Taymans  <wim@fluendo.com>
1356
1357         * docs/design/part-qos.txt:
1358         Fix indexes in formulas to make more sense.
1359
1360 2006-05-15  Wim Taymans  <wim@fluendo.com>
1361
1362         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1363         Don't report POSITION based on clock time if sync is
1364         disabled in a sink.
1365
1366 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1367
1368         * gst/gstobject.h:
1369           Add cast to make compiler happy - refcount variable was a gint
1370           in GstObject but is a guint in GObject and g_atomic_int_get()
1371           wants a gint *.
1372
1373 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1374
1375         * gst/parse/Makefile.am:
1376           chain commands using &&, which also makes parallel make work
1377
1378 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1379
1380         * docs/gst/gstreamer-sections.txt:
1381         * gst/gstevent.c:
1382         * gst/gstevent.h:
1383         * gst/gstmessage.h:
1384           Minor docs fixes.
1385
1386 === release 0.10.6 ===
1387
1388 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1389
1390         * configure.ac:
1391           releasing 0.10.6, "Take the cannoli"
1392
1393 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1394
1395         * tools/gst-launch.c: (print_tag):
1396           Fix use of uninitialized variable in the hypothetical
1397           case that some broken plugin creates a GST_TAG_IMAGE
1398           tag containing a NULL buffer (#341667).
1399
1400 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1401
1402         * tools/gst-launch.c: (print_tag):
1403           Print something more intelligible for image tags when
1404           using the -t switch (#341556).
1405
1406 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1407
1408         * Makefile.am:
1409           updates for win32
1410         * configure.ac:
1411           define GST_MAJORMINOR so we have it available in win32/common/config.h
1412           Possibly remove it from our Makefile.am files later
1413         * win32/common/config.h:
1414         * win32/common/config.h.in:
1415           added GST_MAJORMINOR
1416         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1417         * win32/common/gstversion.h:
1418           updated
1419
1420 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1421
1422         * win32/MANIFEST:
1423           Update win32 files listing.
1424         * win32/common/gstversion.h:
1425           Add GST_MAJORMINOR definition.
1426         * win32/common/libgstreamer.def:
1427           Add new exported functions.
1428           
1429 2006-05-12  Michael Smith  <msmith@fluendo.com>
1430
1431         * gst/gstplugin.c: (gst_plugin_load_file):
1432           If an so file has no plugin entry point, unload the module.
1433
1434 2006-05-11  Wim Taymans  <wim@fluendo.com>
1435
1436         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1437         (gst_queue_set_property):
1438         Don't forget to signal the _chain or _loop function 
1439         when the queue size or thresholds change since that might
1440         cause them to make progres again.
1441
1442 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1443
1444         * gst/gstclock.c: (gst_clock_class_init):
1445         * gst/gstindex.c: (gst_index_class_init):
1446         * gst/gstobject.c: (gst_object_class_init):
1447         * gst/gstpad.c: (gst_pad_class_init):
1448         * gst/gstpipeline.c: (gst_pipeline_class_init):
1449         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1450         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1451         * libs/gst/base/gstbasetransform.c:
1452         (gst_base_transform_class_init):
1453         * libs/gst/net/gstnetclientclock.c:
1454         (gst_net_client_clock_class_init):
1455         * libs/gst/net/gstnettimeprovider.c:
1456         (gst_net_time_provider_class_init):
1457         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1458         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1459         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1460         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1461         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1462         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1463         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1464         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1465         * plugins/elements/gsttee.c: (gst_tee_class_init):
1466         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1467         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1468           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1469
1470 2006-05-11  Wim Taymans  <wim@fluendo.com>
1471
1472         * gst/gstbuffer.c: (_gst_buffer_initialize):
1473         Register subbufer along with the buffer type so that
1474         it does not accidentally gets registered from N
1475         different streaming threads in a non threadsafe way.
1476
1477 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1478
1479         * gst/gstbuffer.h:
1480         * gst/gstevent.h:
1481         * gst/gstmessage.h:
1482           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1483           gst_event_ref() and gst_message_ref() functions again
1484           (ugly hack, please do fix if there's a better way besides
1485           overrides.txt, which doesn't seem to work).
1486
1487 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1488
1489         * libs/gst/check/gstcheck.h:
1490           add an assert for setting state to avoid lots of repetitive code
1491           in the future
1492
1493 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1494
1495         * gst/gstvalue.c: (gst_value_serialize_flags):
1496           fix a leak if no flags are set
1497         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1498           fix leak in tests
1499
1500 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1501
1502         * docs/manual/basics-pads.xml:
1503           Expand a bit on caps and filtered links and update
1504           examples that were still using the no longer existing
1505           gst_pad_link_filtered() (#338206).
1506
1507 2006-05-10  Wim Taymans  <wim@fluendo.com>
1508
1509         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1510         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1511         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1512         (gst_collect_pads_stop):
1513         * libs/gst/base/gstcollectpads.h:
1514         No need to call _stop in _finalize.
1515         Iterate the main pad list in _finalize.
1516         Added some more debug.
1517         Free lists and data in the right order.
1518         Also free data whem doing _remove_pad when stopped for
1519         backward compatibility protect ::started with PAD_LOCK as
1520         well.
1521
1522 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1523
1524         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1525         (gst_structure_parse_value):
1526           add some comments
1527           rename a method so that it actually says what it does better
1528
1529 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1530
1531         * gst/gstevent.c: (_gst_event_initialize):
1532         * gst/gstformat.c: (_gst_format_initialize):
1533           make sure some essential types used by events are registered
1534           as part of gst_init()
1535         * gst/gstvalue.c: (gst_value_serialize_flags):
1536           if no flags are set, serialize them to a value that represents NONE
1537           so that deserializing them works
1538         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1539           add tests for serialization and deserialization of flags
1540
1541 2006-05-10  Wim Taymans  <wim@fluendo.com>
1542
1543         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1544         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1545         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1546         (gst_collect_pads_event), (gst_collect_pads_chain):
1547         Update docs.
1548         Better debug info.
1549         Catch and return errors from the collect function
1550         Refuse data on eos pads.
1551
1552 2006-05-10  Edward Hervey  <edward@fluendo.com>
1553
1554         * gst/gstinterface.h:
1555         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1556         GInterface type checking.
1557         They were previously using non-defined macros.
1558
1559 2006-05-09  Wim Taymans  <wim@fluendo.com>
1560
1561         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1562         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1563         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1564         (gst_collect_pads_start), (gst_collect_pads_stop),
1565         (gst_collect_pads_peek), (gst_collect_pads_pop),
1566         (gst_collect_pads_available), (gst_collect_pads_read),
1567         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1568         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1569         (gst_collect_pads_chain):
1570         * libs/gst/base/gstcollectpads.h:
1571         Clean up the mess that is collectpads, add comments and
1572         FIXMEs where needed.
1573         Maintain a separate pad list so we can add pads while
1574         collecting the other ones. For this we need a new separate 
1575         lock (see comics).
1576         Fix memory leak in finalize.
1577         Refactor some weird code to set/unset pad flushing flags, mark
1578         with comments.
1579         Don't crash in _available, _read, _flush when we're EOS.
1580
1581         * tests/check/libs/.cvsignore:
1582         Ignore adapter check binary.
1583
1584 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1585
1586         * gst/gstindex.c: (gst_index_resolver_get_type):
1587         * plugins/elements/gstfakesink.c:
1588         (gst_fake_sink_state_error_get_type):
1589         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1590         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1591         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1592           Const-ify GEnumValue arrays.
1593
1594 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1595
1596         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1597           Add test case for flags + gst_buffer_make_metadata_writable().
1598
1599 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1600
1601         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1602           gst_buffer_make_metadata_writable() should maintain the
1603           buffer flags (those that make sense at least) (see #340859).
1604
1605 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1606
1607         * tools/gst-inspect.c:
1608         * tools/gst-launch.c:
1609         * tools/gst-typefind.c:
1610         * tools/gst-xmlinspect.c:
1611         * tools/tools.h:
1612           Fix up includes: need to include stdlib.h in tools.h for exit().
1613
1614 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1615
1616         * gst/gsttaglist.c: (_gst_tag_initialize):
1617         * gst/gsttaglist.h:
1618           API: add GST_TAG_IMAGE tag (#340721).
1619
1620 2006-05-08  Wim Taymans  <wim@fluendo.com>
1621
1622         * gst/gstquery.c:
1623         Added some docs for the segment query.
1624
1625 2006-05-08  Wim Taymans  <wim@fluendo.com>
1626
1627         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1628         (gst_base_src_loop), (gst_base_src_change_state):
1629         Always push non-flushing serialized events in the streaming 
1630         thread.
1631
1632 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1633
1634         * gst/gsterror.c: (_gst_stream_errors_init):
1635           Add a missing error string.
1636
1637 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1638
1639         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1640         Add applied_rate to the debug
1641
1642         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1643         Copy applied_rate into the outgoing NEWSEGMENT event
1644
1645 2006-05-08  Wim Taymans  <wim@fluendo.com>
1646
1647         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1648
1649         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1650         (gst_base_sink_change_state):
1651         call ::unlock before taking the PREROLL_LOCK so we can safely
1652         handle elements that lock in ::render.
1653         Fixes #340174.
1654
1655 2006-05-08  Edward Hervey  <edward@fluendo.com>
1656
1657         * autogen.sh: (CONFIGURE_DEF_OPT): 
1658         Darwin's libtoolize is in fact called glibtoolize.
1659         Adding glibtoolize to the list of accepted names for libtoolize.
1660
1661 2006-05-08  Wim Taymans  <wim@fluendo.com>
1662
1663         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1664         Unify error handling, don't post an error message
1665         when a push() returns EOS but perform our normal EOS
1666         handling code. Fixes #340772.
1667
1668 2006-05-08  Wim Taymans  <wim@fluendo.com>
1669
1670         * docs/design/part-overview.txt:
1671         Make upsteam/downstream concepts more clear.
1672         Give an example of serialized/non-serialized events.
1673
1674         * docs/design/part-events.txt:
1675         * docs/design/part-streams.txt:
1676         Mention applied_rate.
1677
1678         * docs/design/part-trickmodes.txt:
1679         Mention applied rate, flesh out some more use cases.
1680
1681         * gst/gstevent.c: (gst_event_new_new_segment),
1682         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1683         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1684         (gst_event_parse_tag), (gst_event_new_buffer_size),
1685         (gst_event_parse_buffer_size), (gst_event_new_qos),
1686         (gst_event_parse_qos), (gst_event_parse_seek),
1687         (gst_event_new_navigation):
1688         * gst/gstevent.h:
1689         Add applied_rate field to NEWSEGMENT event.
1690         API: gst_event_new_new_segment_full()
1691         API: gst_event_parse_new_segment_full()
1692
1693         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1694         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1695         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1696         * gst/gstsegment.h:
1697         Add applied_rate to GstSegment structure.
1698         Make calculation of stream_time and running_time more correct
1699         wrt rate/applied_rate.
1700         Add some more docs.
1701         API: GstSegment::applied_rate field
1702         API: gst_segment_set_newsegment_full();
1703
1704         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1705         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1706         * libs/gst/base/gstbasetransform.c:
1707         (gst_base_transform_sink_eventfunc),
1708         (gst_base_transform_handle_buffer):
1709         Parse and use applied_rate in the GstSegment field.
1710
1711         * tests/check/gst/gstevent.c: (GST_START_TEST):
1712         Add check for applied_rate field.
1713
1714         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1715         (gstsegments_suite):
1716         Add more checks for various GstSegment operations.
1717
1718 2006-05-08  Wim Taymans  <wim@fluendo.com>
1719
1720         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1721         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1722         (gst_base_sink_get_position), (gst_base_sink_change_state):
1723         Store the sync time of the buffer end position separatly in a
1724         new variable eos_rtime so we can properly sync the EOS event.
1725         Fixes #340697.
1726         Fix the docs for gst_base_sink_set_qos_enabled().
1727         Don't set segment start to invalid value when we receive a 
1728         non TIME newsegment.
1729         get closer to handling position reporting for negative rates 
1730         correctly.
1731
1732 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1733
1734         * gst/gstcaps.c:
1735         Docs about how to print caps for debug purposes.
1736
1737         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1738         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1739
1740 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1741
1742         * gst/gstelement.c:
1743           use full enum names and preprend a '%' in docs strings to make recent 
1744           gtk-doc turn that into a link
1745
1746 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1747
1748         * docs/manual/basics-bins.xml:
1749         * docs/manual/basics-bus.xml:
1750         * docs/manual/basics-pads.xml:
1751           Some typo fixes, some additions, some clarifications. 
1752
1753 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1754
1755         * tools/gst-inspect.c: (main):
1756         * tools/gst-launch.c: (main):
1757         * tools/gst-run.c: (main):
1758         * tools/gst-typefind.c: (main):
1759         * tools/gst-xmlinspect.c: (main):
1760           Use the string passed to g_option_context_new() for
1761           what it's intended for - the program name is already
1762           printed elsewhere.
1763
1764 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1765
1766         * tools/Makefile.am:
1767         * tools/gst-inspect.c: (main):
1768         * tools/gst-launch.c: (main):
1769         * tools/gst-xmlinspect.c: (main):
1770         * tools/tools.h:
1771           Add back --version command line option (#340460).
1772
1773         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1774           Add --version option and use GOption for argument parsing; refactor a
1775           bit; accept directories as arguments and recurse into them; lastly,
1776           print a decent error message when things go wrong.
1777
1778 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1779
1780         * docs/manual/basics-bins.xml:
1781         Don't mention GstThread (#340611)
1782         * docs/manual/basics-elements.xml:
1783         Update link to GObject tutorial (#340607)
1784         
1785 2006-05-05  Wim Taymans  <wim@fluendo.com>
1786
1787         * gst/gstbuffer.h:
1788         * gst/gstminiobject.c:
1789         Add note about refcounting and miniobject/buffer writeability
1790         to docs. Fixes #340604
1791
1792         * gst/gstelementfactory.h:
1793         Added some explanation about @klass.
1794
1795 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1796
1797         * docs/manual/intro-motivation.xml:
1798         * docs/manual/manual.xml:
1799         Avoid CORBA & Bonobo references (#340598)
1800
1801 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1802
1803         * docs/manual/basics-bus.xml:
1804         * docs/manual/basics-pads.xml:
1805         Fix up some inaccuracies and omissions (#340609)
1806         
1807 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1808
1809         * gst/gstghostpad.c:
1810           Small typo in docs (#340625)
1811
1812 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1813
1814         * gst/parse/Makefile.am:
1815           Make 'make -j' proof (see #340698).
1816
1817 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1818
1819         * configure.ac:
1820           Require GLib-2.8 here as well.
1821
1822 2006-05-05  Wim Taymans  <wim@fluendo.com>
1823
1824         * gst/glib-compat.c:
1825         * gst/gst.c: (init_pre):
1826         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1827         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1828         (gst_object_dispatch_properties_changed):
1829         * gst/gstobject.h:
1830         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1831         * gst/gststructure.c: (gst_structure_set_valist):
1832         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1833         Remove pre glib2.8 compatibility, fixes #340508
1834
1835 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1836
1837         * gst/gsttaglist.h:
1838           Mention type of tags in doc blurbs.
1839
1840 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1841
1842         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1843         (gst_pad_configure_src), (gst_pad_push):
1844         Restore acceptcaps checking behaviour now that good plugins have
1845         been released.
1846
1847 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1848
1849         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1850
1851         * gst/gst.c:
1852         * gst/gstbus.c:
1853         * gst/gstclock.c:
1854         * gst/gstevent.c:
1855         * gst/gstformat.c:
1856         * gst/gstmessage.c:
1857         * gst/gstparse.c:
1858         * gst/gstquery.c:
1859         * gst/gstutils.c:
1860         * gst/parse/Makefile.am:
1861         * libs/gst/base/gstadapter.c:
1862         * libs/gst/base/gstbasesrc.c:
1863         * libs/gst/base/gstpushsrc.c:
1864         * libs/gst/base/gsttypefindhelper.c:
1865         * plugins/elements/gstfakesrc.c:
1866         * plugins/elements/gstidentity.c:
1867           Make sure gstprivate.h and/or config.h are
1868           always included first, otherwise some of our
1869           defines (like _FILE_OFFSET_BITS) might be
1870           redefined in the system headers. Fixes build
1871           on opensolaris (#340016).
1872
1873 2006-05-04  Wim Taymans  <wim@fluendo.com>
1874
1875         * docs/libs/gstreamer-libs-sections.txt:
1876         API: addition: gst_adapter_take_buffer()
1877         
1878         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1879         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1880         (gst_adapter_available_fast):
1881         * libs/gst/base/gstadapter.h:
1882         Prepare for optimizing the hell out of this hugely inefficient
1883         piece of code. 
1884         Added gst_adapter_take_buffer() so we can at least start thinking
1885         about subbuffering and merging.
1886         Added some comments.
1887
1888         * tests/check/Makefile.am:
1889         * tests/check/libs/adapter.c: (GST_START_TEST),
1890         (gst_adapter_suite), (main):
1891         Added GstAdapter check.
1892
1893 2006-05-04  Wim Taymans  <wim@fluendo.com>
1894
1895         * docs/design/part-overview.txt:
1896         Fix some typos, add blurb about buffer flags.
1897
1898 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1899
1900         * docs/libs/gstreamer-libs-sections.txt:
1901           make sure GstBaseTransformClass shows up in the docs
1902         * libs/gst/base/gstbasetransform.c:
1903         * libs/gst/base/gstbasetransform.h:
1904           move docs so gtk-doc picks it up now
1905
1906 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1907
1908         * docs/libs/gstreamer-libs-sections.txt:
1909           add missing symbols to docs
1910
1911 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1912
1913         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1914           back out the newsegment handling change, see #340060 for ongoing
1915           discussion
1916
1917 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1918
1919         * tools/gst-run.c: (get_candidates), (main):
1920           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1921           work); fix typo in error message. Fixes #340079.
1922
1923 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1924
1925         * common/Makefile.am:
1926         * docs/Makefile.am:
1927         * docs/faq/Makefile.am:
1928         * docs/gst/Makefile.am:
1929         * docs/libs/Makefile.am:
1930         * docs/manual/Makefile.am:
1931         * docs/plugins/Makefile.am:
1932         * docs/pwg/Makefile.am:
1933         * docs/slides/Makefile.am:
1934         * docs/upload.mak:
1935         * common/upload.mak:
1936           move upload.mak to common
1937
1938 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1939
1940         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1941           add more asserts on refcounts
1942           do more cleanup at end of tests
1943           fix test leaks showing in FC5
1944
1945 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1946
1947         * plugins/elements/gsttypefindelement.c:
1948         (gst_type_find_element_handle_event):
1949         reverted wrong change and reflowed code to avoid others falling into
1950         this trap
1951
1952 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1953
1954         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1955           fix changelog entry about last collectpads change,
1956           add notes about proper fix
1957
1958 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1959
1960         * gst/gst.c:
1961         * gst/gstregistry.c: (gst_registry_scan_path_level),
1962         (gst_registry_scan_path):
1963         * gst/gstregistry.h:
1964           only write out registry if it has changed, fixes #338339
1965
1966 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1967
1968         * gst/gstbin.c:
1969         * gst/gstpipeline.c:
1970         * plugins/elements/gstcapsfilter.c:
1971         * plugins/elements/gstfakesink.c:
1972         * plugins/elements/gstfakesrc.c:
1973         * plugins/elements/gstfdsink.c:
1974         * plugins/elements/gstfdsrc.c:
1975         * plugins/elements/gstfilesink.c:
1976         * plugins/elements/gstfilesrc.c:
1977         * plugins/elements/gstidentity.c:
1978         * plugins/elements/gstqueue.c:
1979         * plugins/elements/gsttee.c:
1980         * plugins/elements/gsttypefindelement.c:
1981         (gst_type_find_element_handle_event):
1982           make GstElementDetails const
1983
1984 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1985
1986         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1987         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1988         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1989           more detailed debug and formatting cleanup,
1990           forward newsegments to src-pad (so that e.g. adder not eats them)
1991
1992 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1993
1994         * gst/gstutils.c: (gst_element_link_pads):
1995           cleanup double code
1996
1997 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1998
1999         * libs/gst/controller/gstcontroller.c:
2000         (gst_controller_sync_values):
2001           some little tuning
2002         * tests/check/libs/controller.c: (GST_START_TEST),
2003         (gst_controller_suite):
2004           a new test for live value handling
2005
2006 2006-04-28  Wim Taymans  <wim@fluendo.com>
2007
2008         * gst/gstutils.c: (push_and_ref):
2009         Added some more docs.
2010         Fix refcount issue whith gst_element_found_tags() helper 
2011         function. Fixes #338335
2012
2013         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2014         Added testsuite for gst_element_found_tags().
2015
2016 2006-04-28  Michael Smith  <msmith@fluendo.com>
2017
2018         * gst/gstvalue.c: (gst_value_serialize_flags):
2019           Avoid NULL dereference when trying to serialize flags containing
2020           invalid values.
2021
2022 2006-04-28  Michael Smith  <msmith@fluendo.com>
2023
2024         * plugins/elements/gsttypefindelement.c:
2025         (gst_type_find_element_handle_event):
2026           If we get EOS before any data is accumulated, don't use
2027           uninitialised local variables.
2028
2029 2006-04-28  Michael Smith  <msmith@fluendo.com>
2030
2031         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2032         (gst_dp_event_from_packet):
2033           Fixes in reading/writing events over GDP (not currently used?) - 
2034           dereferencing NULL events for unknown/invalid event types, memory
2035           leak, and change g_warning to GST_WARNING.
2036
2037 2006-04-28  Wim Taymans  <wim@fluendo.com>
2038
2039         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2040         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2041         (gst_base_sink_get_position), (gst_base_sink_change_state):
2042         When frame dropping is enabled, we should not ignore frames
2043         without a duration.
2044         Update some documentation.
2045
2046 2006-04-28  Wim Taymans  <wim@fluendo.com>
2047
2048         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2049         (gst_base_src_send_event), (gst_base_src_change_state):
2050         Documentation updates.
2051
2052 2006-04-28  Wim Taymans  <wim@fluendo.com>
2053
2054         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2055         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2056         handle EAGAIN, EINTR and short writes correctly. Also clean
2057         up some error cases, avoid a deadlock on bad file descriptors and
2058         use GST_DEBUG_OBJECT.
2059         Fixes #339843
2060
2061 2006-04-28  Wim Taymans  <wim@fluendo.com>
2062
2063         * gst/gstvalue.c: (gst_value_serialize_buffer),
2064         (gst_value_deserialize_buffer):
2065         Don't try to serialize a GValue with a NULL buffer. 
2066         Fixes #339821.
2067
2068         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2069         Added check for serialisation of NULL buffers.
2070
2071 2006-04-28  Wim Taymans  <wim@fluendo.com>
2072
2073         * gst/gstminiobject.c: (gst_value_take_mini_object):
2074         Taking a NULL miniobject is valid, fix the case where
2075         we try to unref the NULL miniobject.
2076
2077 2006-04-28  Wim Taymans  <wim@fluendo.com>
2078
2079         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2080
2081         * gst/gstbin.c: (gst_bin_handle_message_func):
2082         Update docs.
2083         Don't leak bin refcount when a state recalc is
2084         in progress and we delay another one #339808.
2085
2086 2006-04-28  Wim Taymans  <wim@fluendo.com>
2087
2088         * docs/design/part-TODO.txt:
2089         Mention QoS as an ongoing work item.
2090
2091         * docs/design/part-buffering.txt:
2092         New doc about buffering that needs to be fleshed out
2093         at some point.
2094
2095         * docs/design/part-qos.txt:
2096         More QoS policy for decoders/demuxers/transforms
2097
2098         * docs/design/part-trickmodes.txt:
2099         Small update.
2100
2101 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2102
2103         * configure.ac:
2104           back to HEAD
2105
2106 === release 0.10.5 ===
2107
2108 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2109
2110         * configure.ac:
2111           releasing 0.10.5, "Fogo"
2112
2113 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2114
2115         patch by: Wim Taymans
2116
2117         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2118         (gst_pad_configure_src), (gst_pad_push):
2119         * gst/gstpipeline.c: (gst_pipeline_init):
2120           Fix internal data flow errors.  Fixes #338711.
2121
2122 2006-04-12  Wim Taymans  <wim@fluendo.com>
2123
2124         * tests/check/gst/gstelement.c: (GST_START_TEST):
2125         Don't leak the factory.
2126
2127 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2128
2129         * configure.ac:
2130         * win32/common/config.h:
2131           prerelease
2132
2133 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2134
2135         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2136         (gst_controller_unset_all):
2137           Free allocated GstTimedValues when freeing list nodes.
2138           Should fix leaks 'make check-valgrind' complains about.
2139
2140         * win32/common/libgstcontroller.def:
2141           Add gst_controller_unset_all.
2142
2143 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2144
2145         * docs/libs/gstreamer-libs-sections.txt:
2146         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2147         (gst_controller_unset_all):
2148         * libs/gst/controller/gstcontroller.h:
2149         API: Added new method gst_controller_unset_all()
2150         fixed gst_controller_unset()
2151         * tests/check/libs/controller.c: (GST_START_TEST),
2152         (gst_controller_suite):
2153         Added two testcases for new and fixed method
2154
2155 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2156
2157         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2158           MSG_DONTWAIT is not defined on Cygwin, so work
2159           around that (fixes #317048).
2160           
2161 2006-04-11  Wim Taymans  <wim@fluendo.com>
2162
2163         * gst/gstelementfactory.c: (gst_element_register),
2164         (gst_element_factory_create), (gst_element_factory_make):
2165         Some cleanups.
2166         Fixed a FIXME.
2167         Updated docs (Fixes #131079)
2168
2169         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2170         Small cleanups.
2171
2172         * tests/check/gst/gstelement.c: (GST_START_TEST),
2173         (gst_element_suite):
2174         Added testcase for elementfactory class field.
2175
2176 2006-04-10  Wim Taymans  <wim@fluendo.com>
2177
2178         * gst/gstsegment.c:
2179         Added some more docs.
2180
2181         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2182         (gst_base_sink_reset_qos):
2183         Calculate more accurate rate values.
2184
2185 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2186
2187         * gst/gst_private.h:
2188           add a new #ifdef to use __declspec(dllimport) only for
2189           other modules and not for gstreamer core
2190         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2191           use gst_guint64_to_gdouble for conversion
2192         * win32/common/libgstreamer.def:
2193           add new exported functions
2194         * win32/vs6/gst_inspect.dsp:
2195         * win32/vs6/gst_launch.dsp:
2196         * win32/vs6/libgstbase.dsp:
2197         * win32/vs6/libgstcontroller.dsp:
2198         * win32/vs6/libgstcoreelements.dsp:
2199         * win32/vs6/libgstdataprotocol.dsp:
2200         * win32/vs6/libgstnet.dsp:
2201           update project files
2202
2203 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2204
2205         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2206         * gst/gstclock.c: (gst_clock_class_init):
2207         * gst/gstelement.c: (gst_element_class_init):
2208         * gst/gstindex.c: (gst_index_class_init):
2209         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2210         * gst/gstobject.c: (gst_object_class_init),
2211         (gst_signal_object_class_init):
2212         * gst/gstpad.c: (gst_pad_class_init):
2213         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2214         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2215         * gst/gstregistry.c: (gst_registry_class_init):
2216         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2217         * gst/gsttask.c: (gst_task_class_init):
2218         * gst/gstxml.c: (gst_xml_class_init):
2219         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2220         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2221         (gst_base_src_loop):
2222         * libs/gst/controller/gstcontroller.c:/
2223         (_gst_controller_class_init):
2224         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2225         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2226         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2227         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2228         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2229         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2230
2231 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2232
2233         * gst/gstpad.c: (gst_pad_link):
2234           Must set peer pads before calling the link function, otherwise
2235           a task started from a link function might get a flow-not-linked
2236           result when trying to push because the other thread where the
2237           linking happens hasn't had a chance to set the peers yet. This
2238           might happen for example when a queue gets linked to a downstream
2239           element, as queue starts a streaming task when its source pad
2240           gets linked. Happens in real life when playing back flac/musepack
2241           files in playbin (#332390).
2242           
2243 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2244
2245         * gst/gstindex.h:
2246         * gst/gstxml.h:
2247         * libs/gst/base/gstadapter.h:
2248         * libs/gst/base/gstbasesink.h:
2249         * libs/gst/base/gstbasesrc.h:
2250         * libs/gst/base/gstbasetransform.h:
2251         * libs/gst/base/gstcollectpads.h:
2252         * libs/gst/base/gstpushsrc.h:
2253         Fix broken GObject macros
2254
2255 2006-04-07  Wim Taymans  <wim@fluendo.com>
2256
2257         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2258         Initialize start and stop times, thanks valgrind.
2259
2260 2006-04-07  Wim Taymans  <wim@fluendo.com>
2261
2262         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2263         Be a bit nicer to badly behaving upstream elements that expect
2264         us to deal with non TIME segments and timestamps (such as fakesrc
2265         in the testsuite).
2266
2267 2006-04-07  Wim Taymans  <wim@fluendo.com>
2268
2269         * gst/gstbus.c:
2270         Small documentation clarification about the signal watch.
2271
2272         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2273         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2274         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2275         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2276         (gst_base_sink_get_position_last),
2277         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2278         Convert and store timestamps in stream time and running time, the
2279         raw timestamps are not usefull, also document this better.
2280         Use different window sizes for good and bad QoS observations so
2281         we react to badness a little quicker.
2282         Keep track of the amount of rendered and dropped buffers.
2283         Send QoS timestamps in running time.
2284
2285         * libs/gst/base/gstbasetransform.c:
2286         (gst_base_transform_sink_eventfunc),
2287         (gst_base_transform_handle_buffer):
2288         Compare QoS timestamps against running time.
2289
2290 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2291
2292         * gst/gstpad.c:
2293           Typo fixes in docs.
2294
2295 2006-04-06  Michael Smith  <msmith@fluendo.com>
2296
2297         * gst/gstpad.c: (gst_pad_set_property):
2298           Use g_value_get_object() instead of g_value_dup_gst_object(),
2299           to avoid double-reffing the pad template (which we then sink,
2300           so this worked previously if (and only if) the pad template
2301           was floating.
2302
2303         * gst/gstpadtemplate.c: (gst_pad_template_init),
2304         (gst_pad_template_pad_created):
2305           Never return floating references to pad templates, create
2306           them as initially-sunken.
2307
2308           Document an extra function (and make this stop sinking our
2309           pad template, since that is now guaranteed to do nothing,
2310           since we created it sunken).
2311
2312         * gst/gstghostpad.c:
2313           Fix docs typo.
2314
2315 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2316
2317         * gst/gstinfo.c: (__gst_in_valgrind):
2318           Add some newlines.
2319
2320         * plugins/elements/gsttypefindelement.c:
2321         (gst_type_find_element_chain):
2322           Don't leak buffer caps.
2323
2324 2006-04-06  Michael Smith  <msmith@fluendo.com>
2325
2326         * gst/parse/grammar.y:
2327           Fix a leak in parse-launch for any source-or-sink named element 
2328           references used.
2329
2330         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2331           Unref the pipeline if it exists after we've failed parsing.
2332
2333 2006-04-05  Michael Smith  <msmith@fluendo.com>
2334
2335         * gst/gstpipeline.c: (gst_pipeline_init):
2336           When we create a pipeline bus, initially create it in flushing mode.
2337           Fixes leaks in at least one test, and makes a new pipeline work the
2338           same as one that has gone to READY and then back to NULL.
2339
2340         * gst/gstelement.c:
2341           Typo fix in docs.
2342
2343 2006-04-05  Michael Smith  <msmith@fluendo.com>
2344
2345         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2346           Unref a pad we reffed.
2347         * tests/check/gst/gstutils.c: (GST_START_TEST):
2348           Unref bins
2349
2350 2006-04-05  Michael Smith  <msmith@fluendo.com>
2351
2352         * gst/gstquery.c: (gst_query_set_formats),
2353         (gst_query_set_formatsv):
2354           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2355
2356 2006-04-05  Michael Smith  <msmith@fluendo.com>
2357
2358         * tests/check/generic/sinks.c: (GST_START_TEST):
2359           Fix a variety of memleaks in sinks check, which are only sometimes 
2360           shown by running the tests under valgrind (weird?).
2361
2362 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2363
2364         * docs/version.entities.in:
2365           Fix the substituted entity name after thomas' changes on the
2366           weekend.
2367
2368 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2369
2370         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2371         VALGRIND_PRINTF
2372         
2373 2006-04-05  Andy Wingo  <wingo@pobox.com>
2374
2375         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2376
2377         * libs/gst/base/gstbasetransform.c
2378         (gst_base_transform_sink_eventfunc): When resetting our segment on
2379         FLUSH_STOP, also update the flag saying we haven't seen a
2380         newsegment.
2381
2382 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2383
2384         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2385
2386         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2387         (gst_plugin_check_license):
2388           minor clean-ups: G_DEFINE_TYPE already takes care of the
2389           parent_class stuff, no need to do it twice. Mark array of
2390           license strings as constant. (#337103)
2391           
2392 2006-04-04  Michael Smith  <msmith@fluendo.com>
2393
2394         * tools/gst-inspect.c: (print_element_list):
2395           Free the right plugin list; fixes a memory leak.
2396
2397 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2398
2399         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2400
2401         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2402           Don't error out on empty buffers (#336945).
2403           
2404 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2405
2406         * docs/libs/gstreamer-libs-sections.txt:
2407         * gst/gsttaglist.c:
2408         * libs/gst/base/gstbasesink.c:
2409         * libs/gst/base/gstbasesink.h:
2410         * libs/gst/base/gstbasesrc.c:
2411         * libs/gst/base/gstbasesrc.h:
2412           Documentation updates. Make BaseSink and BaseSrc docs contain the
2413           class structure so that people can actually see the prototypes for
2414           virtual functions they're supposed to be overriding.
2415
2416 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2417
2418         * plugins/elements/gsttypefindelement.c:
2419         (gst_type_find_element_chain):
2420           More debug info; when skipping typefinding, send cached
2421           events in all cases.
2422
2423 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2424
2425         * configure.ac:
2426           use new AS_VERSION and AS_NANO macros
2427         * gst/gst-i18n-lib.h:
2428         * gst/gst.c:
2429         * gst/gsterror.c:
2430         * gst/gstversion.h.in:
2431         * win32/common/config.h:
2432         * win32/common/config.h.in:
2433           update accordingly
2434
2435 2006-03-31  Michael Smith  <msmith@fluendo.com>
2436
2437         * plugins/elements/gsttypefindelement.c:
2438         (gst_type_find_element_chain):
2439           Do not typefind content if the buffers already have caps.
2440           Neccesary for icydemux (#333657), and the right thing to do anyway.
2441
2442 2006-03-30  Wim Taymans  <wim@fluendo.com>
2443
2444         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2445         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2446         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2447         (gst_base_sink_record_qos_observation),
2448         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2449         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2450         (gst_base_sink_change_state):
2451         More QoS measurements as described in the design doc.
2452         Get rid of ringbuffer with observations, running average is
2453         more simple and equally good.
2454         Calculates valid proportion now.
2455         Added beginning of flood measurement.
2456
2457 2006-03-29  Wim Taymans  <wim@fluendo.com>
2458
2459         * docs/design/part-qos.txt:
2460         * gst/gstclock.c:
2461         Small documentation updates and additions.
2462
2463 2006-03-29  Wim Taymans  <wim@fluendo.com>
2464
2465         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2466         (gst_base_src_send_event), (gst_base_src_loop),
2467         (gst_base_src_change_state):
2468         Perform the EOS logic when we reach the segment stop position.
2469         Fix compilation on gcc4.1
2470
2471 2006-03-29  Wim Taymans  <wim@fluendo.com>
2472
2473         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2474
2475         * plugins/elements/gstqueue.c: (gst_queue_init),
2476         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2477         (gst_queue_set_property):
2478         * plugins/elements/gstqueue.h:
2479         In queue, when EOS is received, if minimum threshold > max_size -
2480         current_level, there is chance that queue blocks forever in conditional
2481         item del wait. This is because the queue is not emptied completely due
2482         to minimum threshold.  Here is another approach. Instead of setting
2483         cur_levels to max in EOS, just zero all minimum threshold levels. This
2484         should make sure that queue gives out all data. When going to READY
2485         (stop) state, just reset the original minimum threshold levels.
2486         Fixes #336336.
2487
2488 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2489
2490         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2491         (gst_type_find_element_handle_event),
2492         (gst_type_find_element_send_cached_events),
2493         (gst_type_find_element_change_state):
2494         * plugins/elements/gsttypefindelement.h:
2495           When typefinding is done in push mode, we should cache
2496           events we receive during typefinding instead of just
2497           dropping them (e.g. newsegment, custom events from
2498           dvdreadsrc etc.) and then send them out once we've
2499           determined the type of the stream (and decodebin
2500           has had a chance to plug in a decoder/demuxer).
2501           
2502 2006-03-27  Wim Taymans  <wim@fluendo.com>
2503
2504         * docs/design/part-qos.txt:
2505         First QoS ideas.
2506
2507 2006-03-27  Wim Taymans  <wim@fluendo.com>
2508
2509         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2510
2511         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2512         (gst_base_src_send_event), (gst_base_src_change_state):
2513         Handle element seek correctly when we are streaming.
2514         Fixes #326998.
2515
2516 2006-03-24  Michael Smith  <msmith@fluendo.com>
2517
2518         * docs/faq/gst-uninstalled:
2519           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2520           allow you to correctly run intalled applications built against old 
2521           core, using plugins that require updated core (e.g. running
2522           installed totem against a full uninstalled gstreamer stack)
2523
2524 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2525
2526         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2527         more debug details
2528
2529 2006-03-24  Wim Taymans  <wim@fluendo.com>
2530
2531         * docs/gst/gstreamer-sections.txt:
2532         Rearrange the order of the methods so that related methods
2533         are grouped together in sections.
2534
2535 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2536
2537         * gst/gstelement.c:
2538           Little clarification in the docs
2539
2540 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2541
2542         * docs/README:
2543         formatting fix
2544         * plugins/elements/gstidentity.c:
2545         * plugins/elements/gstqueue.c:
2546         * plugins/elements/gsttee.c:
2547         * plugins/elements/gsttypefindelement.c:
2548         GST_ELEMENT_DETAILS formatting
2549
2550 2006-03-24  Wim Taymans  <wim@fluendo.com>
2551
2552         * libs/gst/base/gstbasesink.h:
2553         Only add fields, not insert or we break ABI.
2554
2555 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2556
2557         * win32/common/libgstbase.def:
2558         * win32/common/libgstreamer.def:
2559           Update, add recently added functions.
2560
2561 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2562
2563         * docs/gst/gstreamer-sections.txt:
2564         * gst/gstutils.c: (gst_pad_query_peer_position),
2565         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2566         * gst/gstutils.h:
2567           API: add some new utility functions:
2568            - gst_pad_query_peer_position()
2569            - gst_pad_query_peer_duration()
2570            - gst_pad_query_peer_convert()
2571           
2572 2006-03-23  Wim Taymans  <wim@fluendo.com>
2573
2574         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2575         (gst_base_sink_init), (gst_base_sink_finalize),
2576         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2577         (gst_base_sink_set_property), (gst_base_sink_get_property),
2578         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2579         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2580         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2581         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2582         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2583         (gst_base_sink_preroll_object), (gst_base_sink_event),
2584         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2585         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2586         (gst_base_sink_query), (gst_base_sink_change_state):
2587         Decouple max-lateness and the fact that QoS messages are generated
2588         with a new property (qos).
2589         added API: GstBaseSink::async_play()
2590         Add vmethod so subclasses can be notified of ASYNC playing
2591         state changes.
2592         Collect timestamp start and stop to report better current
2593         position in EOS/PLAYING/PAUSED/READY/NULL.
2594         Refactor QoS/frame dropping and other measurements.
2595         API: GstBaseSrc::qos
2596         Fixes #326311
2597
2598         * libs/gst/base/gstbasesink.h:
2599         Added Private struct.
2600         API: gst_base_sink_set_qos_enabled()
2601         API: gst_base_sink_is_qos_enabled()
2602
2603 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2604
2605         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2606           If compiling against GLib-2.8 or newer, try to read the
2607           registry file using GMappedFile first before falling back
2608           to fopen() + fread() (#332151).
2609
2610 2006-03-22  Wim Taymans  <wim@fluendo.com>
2611
2612         * gst/gstinfo.c: (gst_debug_set_active),
2613         (gst_debug_category_set_threshold):
2614         Disable debugging unless explicitly activated.
2615         Fixes #335480.
2616
2617 2006-03-22  Wim Taymans  <wim@fluendo.com>
2618
2619         * gst/gstelement.c: (gst_element_set_locked_state),
2620         (gst_element_dispose):
2621         Cleanup the error case.
2622
2623         * gst/gstobject.c: (gst_object_dispose):
2624         print a critical when some object was disposed with
2625         a parent, also revive the object since it might
2626         crash the parent.
2627
2628 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2629
2630         * tools/gst-launch.1.in:
2631           Fix another typo.
2632
2633 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2634
2635         * configure.ac:
2636         * tests/check/Makefile.am:
2637           disable some tests when we don't have a registry
2638         * tests/check/gst/gstutils.c: (gst_utils_suite):
2639           don't build the part that needs parsing
2640
2641 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2642
2643         * gst/Makefile.am
2644         * tests/examples/Makefile.am:
2645           fix --disable-parse build
2646
2647 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2648
2649         * tools/gst-feedback.1.in:
2650           Fix typo: s/feeback/feedback/ (#133494).
2651
2652 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2653
2654         * tools/Makefile.am:
2655         * tools/gst-launch.1.in:
2656           Add FILES section and correct entry about GST_REGISTRY_PATH
2657           environment variable (#133495; #133494).
2658
2659 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2660
2661         * tools/Makefile.am:
2662         * tools/gst-md5sum.1.in:
2663         * tools/gst-md5sum.c:
2664           Remove gst-md5sum and man page (the md5sink element
2665           required was removed ages ago)
2666
2667 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2668
2669         * gst/gststructure.c: (gst_structure_id_set_value):
2670           Make sure that string fields in structures/taglists
2671           contain valid UTF-8 - we don't want to pass rubbish to
2672           applications because of a buggy plugin (cp. #334167).
2673
2674 2006-03-21  Edward Hervey  <edward@fluendo.com>
2675
2676         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2677         (gst_bin_handle_message_func):
2678         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2679         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2680         (gst_element_set_bus_func):
2681         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2682         * gst/gstminiobject.c: (gst_value_set_mini_object),
2683         (gst_value_take_mini_object):
2684         * gst/gstpad.c: (gst_pad_set_pad_template):
2685         * gst/gstpipeline.c: (gst_pipeline_dispose),
2686         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2687         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2688         (gst_collect_pads_chain):
2689         * libs/gst/net/gstnettimeprovider.c:
2690         (gst_net_time_provider_set_property):
2691         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2692         It's in fact all issues with gst_*object_replace().
2693
2694 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2695
2696         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2697         
2698         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2699         * pkgconfig/gstreamer-check.pc.in:
2700           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2701
2702 2006-03-21  Edward Hervey  <edward@fluendo.com>
2703
2704         * gst/gstbuffer.h:
2705         * gst/gstevent.h:
2706         * gst/gstmessage.h:
2707         gst_[buffer|event|message]_ref() macros are replaced by a static
2708         inline functions because gcc-4.1 will about if the return value
2709         isn't used.
2710         * tests/check/gst/gstevent.c: (event_probe):
2711         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2712
2713 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2714
2715         * gst/gstutils.h:
2716         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2717         the type' case. (Closes: #335195 for now). In the future, when we
2718         depend on GLib 2.10, we could also intern the type name using
2719         g_intern_static_string()
2720
2721 2006-03-20  Wim Taymans  <wim@fluendo.com>
2722
2723         * gst/gstbin.c: (gst_bin_handle_message_func),
2724         (bin_query_max_init), (bin_query_position_fold),
2725         (bin_query_position_done), (gst_bin_query):
2726         Position query should also take max of all streams.
2727
2728 2006-03-20  Wim Taymans  <wim@fluendo.com>
2729
2730         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2731         (gst_fake_src_finalize):
2732         Fix leaks in fakesrc.
2733
2734         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2735         Fix leaks in the testcase.
2736
2737 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2738
2739         * gst/gst_private.h:
2740           add win32 specific import decoration(__declspec(dllimport)) 
2741           for all extern GstDebugCategory * variables
2742         * win32/common/libgstbase.def:
2743         * win32/common/libgstcontroller.def:
2744         * win32/common/libgstreamer.def:
2745           Add some exports, remove empty lines
2746         * win32/common/libgstdataprotocol.def:
2747         * win32/common/libgstdataprotocol.dsp:
2748         * win32/common/libgstnet.def:
2749         * win32/common/libgstnet.dsp:
2750           new project files and exportation files added
2751         
2752 2006-03-19  Wim Taymans  <wim@fluendo.com>
2753
2754         * tests/check/libs/basesrc.c: (eos_event_counter):
2755         Use proper return value for probe.
2756
2757 2006-03-17  Wim Taymans  <wim@fluendo.com>
2758
2759         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2760         (gst_pad_push):
2761         Don't leak buffers, caps and pads on negotiation errors.
2762
2763 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2764
2765         * docs/faq/cvs.xml:
2766         * docs/faq/dependencies.xml:
2767         * docs/faq/developing.xml:
2768         * docs/faq/faq.xml:
2769         * docs/faq/general.xml:
2770         * docs/faq/getting.xml:
2771         * docs/faq/legal.xml:
2772         * docs/faq/troubleshooting.xml:
2773         * docs/faq/using.xml:
2774         Faq review and update.
2775
2776 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2777
2778         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2779         (gst_pad_push):
2780         Don't pound the cpu to pieces by checking get_caps when accept_caps
2781         is called with the same caps as the pad already has.
2782         Use GST_DEBUG_OBJECT when outputting caps change information.
2783
2784 2006-03-15  Wim Taymans  <wim@fluendo.com>
2785
2786         * gst/gstclock.c: (gst_clock_class_init):
2787         Fix docs.
2788
2789 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2790
2791         * gst/gstbuffer.h:
2792         Documentation fix.
2793
2794         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2795         (gst_pad_accept_caps), (gst_pad_configure_sink),
2796         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2797         Make the default acceptcaps behaviour be to check the requested 
2798         caps against the gst_pad_get_caps output. 
2799
2800         Ensure that gst_pad_accept_caps is used to check caps when a pad
2801         doesn't have a setcaps function, so that pads automatically refuse 
2802         caps that they don't allow in their pad template. (Fixes #332986)
2803
2804         When a buffer with attached caps is pushed, ensure that the source 
2805         pad receives those caps even if the element didn't call
2806         gst_pad_set_caps first.
2807
2808 2006-03-15  Wim Taymans  <wim@fluendo.com>
2809
2810         * libs/gst/base/gstadapter.c:
2811         Add some docs.
2812
2813 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2814
2815         * win32/common/libgstbase.def:
2816         * win32/common/libgstcontroller.def:
2817         * win32/common/libgstreamer.def:
2818           Add a whole bunch of missing functions (#334434).
2819
2820 2006-03-14  Wim Taymans  <wim@fluendo.com>
2821
2822         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2823         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2824         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2825         Better debug info when we receive a segment event.
2826         Reorganize a bit so we can pass the get_times() results around.
2827         Use the segment format when calculating the running time.
2828         Don't do QoS is sync is disabled or we have no clock or the
2829         element does not want us to sync to the clock.
2830         Don't drop buffers if QoS is disabled for now.
2831
2832 2006-03-14  Wim Taymans  <wim@fluendo.com>
2833
2834         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2835         Marked the stats property as unimplemented so people don't get
2836         wild ideas.
2837         Add debug message when regression goes wrong.
2838         Added some more docs.
2839
2840 2006-03-14  Wim Taymans  <wim@fluendo.com>
2841
2842         * gst/gstsegment.c: (gst_segment_to_stream_time):
2843         Return correct return type in case of errors.
2844
2845 2006-03-14  Wim Taymans  <wim@fluendo.com>
2846
2847         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2848           Don't segfault on invalid formats.
2849
2850 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2851
2852         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2853           Can't use gst_segment_to_running_time() when the segment
2854           is not in GST_TIME_FORMAT (like with filesink, for example).
2855           Stops flac encoding pipelines from spewing critical warnings
2856           at EOS (#331248).
2857           
2858 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2859
2860         * gst/gstpipeline.c: (gst_pipeline_class_init):
2861           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2862
2863         * plugins/elements/gsttypefindelement.c:
2864         (gst_type_find_element_handle_event):
2865           Don't try to typefind empty streams.
2866
2867 2006-03-14  Wim Taymans  <wim@fluendo.com>
2868
2869         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2870         (gst_base_sink_do_qos):
2871         Separate QoS calculation.
2872         Only drop buffers when lateness is bigger than the 
2873         duration of the buffer.
2874
2875 2006-03-13  Wim Taymans  <wim@fluendo.com>
2876
2877         * gst/gstpipeline.c: (gst_pipeline_set_property),
2878         (gst_pipeline_get_property), (do_pipeline_seek),
2879         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2880         (gst_pipeline_get_delay):
2881         Don't deadlock when reading properties.
2882
2883 2006-03-13  Wim Taymans  <wim@fluendo.com>
2884
2885         * libs/gst/base/gstbasetransform.c:
2886         (gst_base_transform_class_init), (gst_base_transform_init),
2887         (gst_base_transform_sink_event),
2888         (gst_base_transform_sink_eventfunc),
2889         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2890         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2891         (gst_base_transform_set_property),
2892         (gst_base_transform_get_property),
2893         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2894         (gst_base_transform_set_qos_enabled),
2895         (gst_base_transform_is_qos_enabled):
2896         * libs/gst/base/gstbasetransform.h:
2897         Make basetransform virtual method for src events too.
2898         Handle QOS in basetransform.
2899         API: gst_base_transform_update_qos()
2900         API: gst_base_transform_set_qos_enabled()
2901         API: gst_base_transform_is_qos_enabled()
2902
2903 2006-03-13  Wim Taymans  <wim@fluendo.com>
2904
2905         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2906         (gst_base_sink_do_sync):
2907         Small cleanups.
2908         Use QOS debug category.
2909
2910 2006-03-13  Wim Taymans  <wim@fluendo.com>
2911
2912         * plugins/elements/gstqueue.c:
2913         Very small doc update.
2914
2915 2006-03-13  Wim Taymans  <wim@fluendo.com>
2916
2917         * gst/gst_private.h:
2918         * gst/gstinfo.c: (_gst_debug_init):
2919         Added QOS debug category
2920
2921 2006-03-13  Wim Taymans  <wim@fluendo.com>
2922
2923         * docs/gst/gstreamer-sections.txt:
2924         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2925         * gst/gstbin.h:
2926         * gst/gstbus.c: (gst_bus_class_init):
2927         * gst/gstbus.h:
2928         * gst/gstclock.c:
2929         * gst/gstelement.c: (gst_element_set_locked_state):
2930         * gst/gstsegment.c:
2931         Documentation updates.
2932
2933         * gst/gstpipeline.c: (gst_pipeline_get_type),
2934         (gst_pipeline_class_init), (gst_pipeline_init),
2935         (gst_pipeline_dispose), (gst_pipeline_set_property),
2936         (gst_pipeline_get_property), (do_pipeline_seek),
2937         (gst_pipeline_send_event), (gst_pipeline_change_state),
2938         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2939         (gst_pipeline_get_delay):
2940         * gst/gstpipeline.h:
2941         Added methods for setting the delay.
2942         API: gst_pipeline_set_delay()
2943         API: gst_pipeline_get_delay()
2944         Add pipeline debug category
2945         Various cleanups.
2946         Updated docs.
2947         Don't reset stream time when seek failed.
2948
2949 2006-03-13  Wim Taymans  <wim@fluendo.com>
2950
2951         * docs/design/draft-klass.txt:
2952         * docs/design/part-clocks.txt:
2953         * docs/design/part-events.txt:
2954         * docs/design/part-gstbin.txt:
2955         * docs/design/part-gstpipeline.txt:
2956         * docs/design/part-messages.txt:
2957         * docs/design/part-negotiation.txt:
2958         * docs/design/part-overview.txt:
2959         * docs/design/part-preroll.txt:
2960         * docs/design/part-seeking.txt:
2961         * docs/design/part-states.txt:
2962         * docs/design/part-streams.txt:
2963         Documentation updates.
2964
2965 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2966
2967         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2968         us to leak strings...
2969
2970 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2971
2972         * libs/gst/net/gstnettimeprovider.c:
2973           fix docs
2974         * win32/common/config.h:
2975           update
2976
2977 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2978
2979         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2980
2981         * configure.ac:
2982           Don't check for libgnomeui (leftover from old examples
2983           that aren't built or disted any longer) (#334303).
2984           
2985 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2986
2987         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2988         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2989           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2990           there's no space left on the device.
2991
2992 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2993
2994         * gst/gstclock.h:
2995           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2996           to cast the input to GstClockTime before comparing with
2997           another GstClockTime value.
2998
2999 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3000
3001         * configure.ac:
3002           back to trunk
3003
3004 === release 0.10.4 ===
3005
3006 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3007
3008         * configure.ac:
3009           releasing 0.10.4, "Light"
3010
3011 2006-03-10  Michael Smith  <msmith@fluendo.com>
3012
3013         * libs/gst/dataprotocol/dataprotocol.c:
3014           Fix docs for dataprocotol to not get the return types completely
3015           wrong for a few functions.
3016
3017 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * docs/gst/gstreamer-sections.txt:
3020         * gst/gstpipeline.c: (gst_pipeline_class_init),
3021         (gst_pipeline_init), (gst_pipeline_set_property),
3022         (gst_pipeline_get_property), (gst_pipeline_change_state),
3023         (gst_pipeline_set_auto_flush_bus),
3024         (gst_pipeline_get_auto_flush_bus):
3025         * gst/gstpipeline.h:
3026           Add new API: gst_pipeline_set_auto_flush_bus() and
3027           gst_pipeline_get_auto_flush_bus() to disable automatic
3028           flushing of the pipeline's GstBus when going from READY
3029           to NULL state (#332045).
3030
3031 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3032
3033         * docs/gst/gstreamer-sections.txt:
3034         * gst/gsturi.c: (gst_uri_has_protocol):
3035         * gst/gsturi.h:
3036            Add new API: gst_uri_has_protocol() (#333779).
3037
3038 2006-03-09  Wim Taymans  <wim@fluendo.com>
3039
3040         * gst/gstclock.c: (gst_clock_entry_new),
3041         (gst_clock_id_compare_func), (gst_clock_id_wait),
3042         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3043         (gst_clock_init), (gst_clock_get_internal_time),
3044         (gst_clock_set_master), (do_linear_regression),
3045         (gst_clock_add_observation), (gst_clock_set_property):
3046         * gst/gstclock.h:
3047         Review docs.
3048         Small cleanups.
3049         Fix a possible segfault when the window-size is made smaller.
3050         Calculate jitter before performing the clock wait. Ideally
3051         the clock implementation should calculate jitter but we need
3052         API breakage for that.
3053
3054         * gst/gstsystemclock.c: (gst_system_clock_init):
3055         Docs review.
3056         
3057         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3058         Remove leftover else
3059
3060         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3061         (gst_systemclock_suite):
3062         Added check to test GST_CLOCK_DIFF.
3063
3064 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3065
3066         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3067         (gst_type_find_helper_get_range):
3068           If we are provided with the size, we should implement
3069           GstTypeFind::get_length, so that typefind functions who
3070           want to can actually peek at the middle of a file.
3071
3072 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3073
3074         * docs/manual/advanced-dataaccess.xml:
3075           Add some very very basic error checking.
3076
3077         * docs/pwg/appendix-checklist.xml:
3078           Some updates to the list of things to check when writing an element.
3079
3080 2006-03-08  Wim Taymans  <wim@fluendo.com>
3081
3082         * docs/design/part-element-transform.txt:
3083         Added some docs about the design of tranform elements.
3084
3085         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3086         (gst_base_src_loop), (gst_base_src_change_state):
3087         Mark buffers with the DISCONT flag.
3088
3089 2006-03-08  Michael Smith  <msmith@fluendo.com>
3090
3091         * gst/gstregistry.h:
3092         * gst/gstregistryxml.c: (gst_registry_save),
3093         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3094         (gst_registry_xml_save_pad_template),
3095         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3096         (gst_registry_xml_write_cache):
3097           Rewrite registry-saving to avoid race conditions and check for
3098           failed writes.
3099
3100 2006-03-08  Wim Taymans  <wim@fluendo.com>
3101
3102         * libs/gst/base/gstbasetransform.c:
3103         (gst_base_transform_transform_caps),
3104         (gst_base_transform_transform_size),
3105         (gst_base_transform_prepare_output_buffer),
3106         (gst_base_transform_get_unit_size),
3107         (gst_base_transform_buffer_alloc),
3108         (gst_base_transform_handle_buffer),
3109         (gst_base_transform_change_state):
3110         Cleanups, separate normal flow from errors, add sensible
3111         DEBUG lines.
3112         Don't try to renegotiate when allocating an output buffer.
3113         Also copy DISCONT buffer flag when copying a buffer.
3114         Reset the transform after we finish streaming, not during.
3115
3116 2006-03-08  Wim Taymans  <wim@fluendo.com>
3117
3118         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3119         Use last buffer timestamp in qos message.
3120
3121 2006-03-07  Wim Taymans  <wim@fluendo.com>
3122
3123         Patch by: Christophe Fergeau
3124
3125         * docs/pwg/advanced-tagging.xml:
3126         * docs/pwg/building-pads.xml:
3127           fixes #333416
3128
3129 2006-03-07  Wim Taymans  <wim@fluendo.com>
3130
3131         * docs/libs/gstreamer-libs-sections.txt:
3132         Added basesink new methods.
3133
3134         * gst/gstevent.c:
3135         * gst/gstevent.h:
3136         Docs updates. Flesh out the QoS docs.
3137
3138         * libs/gst/base/gstadapter.c:
3139         Small doc clarification about ownership and flushing.
3140
3141         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3142         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3143         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3144         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3145         * libs/gst/base/gstbasesink.h:
3146         API additions: 
3147         Added new methods to allow subclass to control max-lateness 
3148         and sync.
3149         Generate very basic QoS events based on last sync observation.
3150         Updated docs, fix typo, added some QoS blurb.
3151
3152         * libs/gst/base/gstbasesrc.c:
3153         Remove obsolete _get_state() calls from docs.
3154
3155 2006-03-07  Wim Taymans  <wim@fluendo.com>
3156
3157         * docs/libs/gstreamer-libs-sections.txt:
3158         * libs/gst/base/gstbasetransform.h:
3159         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3160         Fix docs for GstBaseSrc.
3161
3162 2006-03-07  Wim Taymans  <wim@fluendo.com>
3163
3164         * docs/gst/gstreamer-sections.txt:
3165         * gst/gstbuffer.h:
3166         * gst/gstvalue.c:
3167         * libs/gst/base/gstbasetransform.h:
3168         Small documentation fixes.
3169
3170 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3171
3172         * gst/gstvalue.c:
3173           Document thread-unsafety of gst_value_register_foo_func()
3174           when used at the same time as gst_value_foo() (#322628).
3175
3176 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3177
3178         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3179         (gst_push_src_check_get_range):
3180           Push sources don't support pull mode by default.
3181
3182 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3183
3184         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3185         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3186         (gst_base_src_default_check_get_range):
3187         * libs/gst/base/gstbasesrc.h:
3188           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3189           provide default implementation, and rename
3190           gst_base_src_check_get_range() to
3191           gst_base_src_pad_check_get_range() for clarity.
3192
3193 2006-03-06  Wim Taymans  <wim@fluendo.com>
3194
3195         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3196         Make property overridable.
3197
3198 2006-03-06  Wim Taymans  <wim@fluendo.com>
3199
3200         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3201         (gst_base_sink_init), (gst_base_sink_set_property),
3202         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3203         * libs/gst/base/gstbasesink.h:
3204         API addition: Make max-lateness a property.
3205
3206 2006-03-06  Wim Taymans  <wim@fluendo.com>
3207
3208         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3209         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3210         Don't ever draw a frame that is >10ms late.
3211
3212 2006-03-06  Michael Smith  <msmith@fluendo.com>
3213
3214         * gst/gstmessage.c: (_gst_message_copy):
3215           When copying a message, set the parent_refcount of the enclosed
3216           structure to point at the copy, not the original message.
3217
3218 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3219
3220         Patch by: Christophe Fergeau
3221
3222         * gst/gstutils.h:
3223           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3224           usable in c++ code (#333417)
3225
3226 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3227
3228         * gst/gstclock.h:
3229           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3230
3231 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3232
3233         * libs/gst/base/gstbasetransform.c:
3234         (gst_base_transform_transform_caps):
3235           Make sure caps are writable before passing them to
3236           gst_caps_append().
3237
3238 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3239
3240         * gst/gsterror.h:
3241           Fix some minor docs errors.
3242
3243 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3244
3245           Patch by: Ross Burton <ross at burtonini dot com>
3246
3247         * gst/gsterror.c: (_gst_resource_errors_init):
3248         * gst/gsterror.h:
3249           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3250
3251 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3252
3253         * gst/gst.c:
3254         Add a check and output a g_warning when GStreamer is built
3255         against GLib 2.6 but running against 2.8 or higher, and vice 
3256         versa. (Closes: #323542)
3257
3258 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3259
3260         * gst/parse/parse.l:
3261           Commit patch for parse_launch syntax from #331255. Removes 
3262           support for quoted strings and mimetypes when writing filtered 
3263           caps. See the bug report for more details - I'm pretty sure this
3264           obscure feature is not in use by _anyone_ anywhere.
3265
3266           With this simple change, the size of the gstreamer.so here 
3267           drops from 2193KB to 1565KB.
3268
3269 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         * plugins/elements/gsttypefindelement.h:
3272         * plugins/elements/gsttypefindelement.c:
3273         (gst_type_find_element_src_event), (start_typefinding),
3274         (stop_typefinding), (gst_type_find_element_handle_event),
3275         (gst_type_find_element_chain),
3276         (gst_type_find_element_chain_do_typefinding):
3277           Use gst_type_find_helper_for_buffer() for chain-based
3278           typefinding.
3279
3280 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3281
3282         * plugins/elements/gsttypefindelement.c:
3283         (gst_type_find_element_class_init),
3284         (gst_type_find_element_set_property),
3285         (gst_type_find_element_get_property):
3286           Deprecate "maximum" property (not only was it only taken into
3287           account for typefinding in push-mode anyway, it also was never
3288           actually possible to set it in the first place because the
3289           property was registered with the numeric property ID for the
3290           "minimum" property). Register "maximum" property correctly,
3291           for the sake of future copy'n'pasters. Remove some cruft
3292           from property get/set functions.
3293
3294 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3295
3296         * plugins/elements/gsttypefindelement.c:
3297         (gst_type_find_element_activate):
3298           Use gst_type_find_helper_get_range() here, so we
3299           can honour the "minimum" property and also emit
3300           the signal with the correct probability of the found caps.
3301
3302 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3303
3304         * docs/libs/gstreamer-libs-sections.txt:
3305         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3306         (helper_find_suggest), (gst_type_find_helper_get_range),
3307         (gst_type_find_helper):
3308         * libs/gst/base/gsttypefindhelper.h:
3309           New API: gst_type_find_helper_get_range() (#333042).
3310
3311 2006-03-02  Michael Smith  <msmith@fluendo.com>
3312
3313         * gst/gstregistryxml.c: (load_feature):
3314           Asserting on a failure to read part of the registry is Not Cool.
3315           Just log a warning and return NULL (which is already handled)
3316
3317 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3318
3319         * win32/common/libgstbase.def:
3320           added export of gst_type_find_helper_for_buffer
3321         * win32/common/libgstbase.def:
3322           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3323           gst_ghost_pad_get_target
3324
3325 2006-02-28  Wim Taymans  <wim@fluendo.com>
3326
3327         * docs/design/draft-klass.txt:
3328         We use Filter now.
3329         Added Connector to mark elements that are only used to
3330         allow pipeline connections.
3331         Moved Debug to extra feature since most of them are 
3332         functionally something else.
3333
3334 2006-02-28  Wim Taymans  <wim@fluendo.com>
3335
3336         * docs/design/draft-klass.txt:
3337         Some updates and clarifications.
3338
3339 2006-02-28  Wim Taymans  <wim@fluendo.com>
3340
3341         * docs/design/draft-klass.txt:
3342         Proposal for klass field values.
3343
3344         * docs/design/part-streams.txt:
3345         Start of a doc describing stream anatomy.
3346
3347 2006-02-28  Wim Taymans  <wim@fluendo.com>
3348
3349         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3350         Help the compiler a bit with type registration.
3351         Use existing forward cod path instead of duplicating it when 
3352         handling a message.
3353         
3354         * gst/gstbus.c: (gst_bus_get_type):
3355         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3356         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3357         * gst/gstclock.c: (gst_clock_get_type):
3358         * gst/gstelement.c: (gst_element_get_type),
3359         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3360         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3361         * gst/gstminiobject.c: (gst_mini_object_get_type):
3362         * gst/gstpad.c: (gst_pad_get_type):
3363         * gst/gstsegment.c: (gst_segment_get_type):
3364         * gst/gststructure.c: (gst_structure_get_type):
3365         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3366         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3367         * gst/gstvalue.c:
3368         Help compiler with type registration.
3369
3370         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3371         Small doc update.
3372
3373 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3374
3375         * plugins/elements/gsttypefindelement.c:
3376         (gst_type_find_element_handle_event):
3377           When we get an EOS event and have not found a type yet
3378           (most likely because we had not yet accumulated
3379           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3380           type given the data we have so far. Fixes typefinding
3381           for very short streams again, most notably quicktime
3382           redirections as used on Apple's trailer site (#331701).
3383
3384 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3385
3386         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3387         (gst_type_find_helper):
3388           Try typefinding factories with the highest rank first.
3389
3390 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3391
3392         * docs/libs/gstreamer-libs-docs.sgml:
3393         * docs/libs/gstreamer-libs-sections.txt:
3394         * libs/gst/base/gsttypefindhelper.c:
3395           Add section for typefind helper and add documentation
3396           for the old and the new function.
3397
3398 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3399
3400         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3401         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3402         (gst_type_find_helper_for_buffer):
3403         * libs/gst/base/gsttypefindhelper.h:
3404           New API: gst_type_find_helper_for_buffer() (#332723).
3405           
3406 2006-02-27  Michael Smith  <msmith@fluendo.com>
3407
3408         Patch by: Loïc Minier
3409
3410         * configure.ac:
3411         * docs/Makefile.am:
3412         * docs/slides/Makefile.am:
3413           prevent CVS directories getting disted.
3414
3415 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3416
3417         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3418           Use the REFCOUNTING category for caps refcounting.
3419           
3420 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3421
3422         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3423           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3424
3425 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3426
3427         * plugins/elements/gsttypefindelement.c:
3428         (gst_type_find_element_activate):
3429           Use gst_pad_check_pull_range() before _activate_pull()
3430           to avoid unnecessary open/close (see #331690).
3431
3432 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3433
3434         * gst/gstutils.c:
3435           Docs enhancement: make it crystal clear what the
3436           gst_pad_add_*_probe() callbacks should look like.
3437
3438 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3439
3440         * libs/gst/base/gstbasesrc.c:
3441           Document how applications can stop recording from
3442           live sources (see #330996).
3443
3444 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3445
3446         * tests/check/Makefile.am:
3447         * tests/check/libs/basesrc.c: (eos_event_counter),
3448         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3449         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3450         (gst_basesrc_suite), (main):
3451           ... and add some tests for the base source EOS stuff.
3452
3453 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3454
3455         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3456           Test case originally showed the problem fixed below,
3457           but was then amended. Add checks back at the place
3458           where they used to be.
3459
3460 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3461
3462         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3463         (gst_base_src_init), (gst_base_src_loop),
3464         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3465         (gst_base_src_change_state):
3466         * libs/gst/base/gstbasesrc.h:
3467           Don't unconditionally send EOS when going from PAUSED to
3468           READY state, esp. make sure we don't send two EOS events
3469           in some cases (e.g. one when reaching EOS and one when
3470           going from PAUSED to READY). Also, we don't want to send
3471           EOS events when operating in pull mode. However, we do
3472           want to send an EOS event when shutting down a live
3473           source explicitly, for example (fixes #330996).
3474           
3475 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3476
3477         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3478           Update src->read_position after a seek when not using mmap.
3479           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3480
3481 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3482
3483         * gst/Makefile.am:
3484         * gst/gstparse.h:
3485         * gst/gstutils.c:
3486         * gst/gstutils.h:
3487         Make things work with --disable-parse as they do with 
3488         --disable-load-save - the symbols involved disappear, but the
3489         header is still installed and GST_DISABLE_PARSE is included via
3490         gstconfig.h
3491
3492 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3493
3494         * libs/gst/base/gstbasetransform.c:
3495         (gst_base_transform_change_state): Fix a stupid bug. I was 
3496         sure I compiled that.
3497
3498 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3499
3500         * gst/gstpad.c: (gst_pad_set_blocked_async):
3501         * gst/gstutils.c: (gst_pad_add_data_probe),
3502         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3503         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3504         (gst_pad_remove_buffer_probe): Make those function act on the
3505         ghostpad target when it's a ghostpad. (Closes #331727)
3506
3507 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3508
3509         * libs/gst/base/gstbasetransform.c:
3510         (gst_base_transform_change_state): Make basetransform reusable.
3511         (Closes #331898)
3512
3513 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3514
3515         * docs/random/release:
3516         Move the current documentation of how to do a release to the top
3517         of the file.
3518
3519         * gst/gstbin.c: (gst_bin_class_init),
3520         (gst_bin_handle_message_func):
3521         Allow multiple state-recalculation threads. (Closes #328873)
3522
3523 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3524
3525         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3526         * gst/gstpad.c: (gst_pad_set_event_function),
3527         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3528         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3529         2 strings. You can't use the STR_NULL macro on that.
3530
3531 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3532
3533         * gst/gstpad.c: (gst_pad_set_event_function),
3534         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3535         (gst_pad_set_getcaps_function)
3536         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3537           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3538           So now, we can use --gst-debug-level=5 on Windows
3539         * win32/common/libgstcontroller.def:
3540           Added export of gst_controller_init
3541         * win32/vs6/libgstcontroller.dsp:
3542           Fixed Release post build configuration
3543
3544 2006-02-17  Wim Taymans  <wim@fluendo.com>
3545
3546         * tests/check/gst/gstquery.c: (GST_START_TEST):
3547         Added another check.
3548
3549 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3550
3551         * plugins/elements/gsttypefindelement.c: (find_peek):
3552           We can do peeks at non-zero offsets, as long as they
3553           fall within the buffer we have.
3554
3555 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3556
3557         * tests/check/Makefile.am:
3558         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3559         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3560         (parse_suite), (main):
3561           Add testsuite for parse launch syntax
3562
3563 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3564
3565         * plugins/elements/gsttypefindelement.c:
3566         (gst_type_find_element_chain):
3567           When typefinding is unsuccessful in the chain function, don't
3568           error out immediately. Only error out with NO_CAPS_FOUND if
3569           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3570           otherwise simply wait for more data so we can try typefinding
3571           again with more data later. Also, don't attempt to typefind
3572           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3573           this should improve typefinding from network sources where the
3574           size of the first buffer can be somewhat random.
3575
3576 2006-02-14  Wim Taymans  <wim@fluendo.com>
3577
3578         * docs/gst/gstreamer-sections.txt:
3579         * gst/gstpadtemplate.c:
3580         * gst/gstpadtemplate.h:
3581         Fix padtemplate docs, fixes #328805.
3582
3583 2006-02-14  Wim Taymans  <wim@fluendo.com>
3584
3585         * tools/gst-launch.c: (main):
3586         NO_PREROLL is not an ERROR so don't send confusing messages
3587         to the user.
3588
3589 2006-02-14  Wim Taymans  <wim@fluendo.com>
3590
3591         Patch by: Torsten Schoenfeld
3592
3593         * gst/gstregistry.c: (gst_registry_get_default),
3594         (_gst_registry_cleanup):
3595         Protect default registry with lock and ref/sink it.
3596         Fixes #324818
3597
3598 2006-02-14  Wim Taymans  <wim@fluendo.com>
3599
3600         * gst/gstbuffer.c:
3601         * gst/gstquery.c: (gst_query_list_add_format),
3602         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3603         (gst_query_parse_formats_nth):
3604         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3605         Docs fixes.
3606
3607 2006-02-14  Wim Taymans  <wim@fluendo.com>
3608
3609         * docs/gst/gstreamer-sections.txt:
3610         Reworked query docs.
3611
3612         * gst/gstquery.c: (gst_query_new_formats),
3613         (gst_query_list_add_format), (gst_query_set_formats),
3614         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3615         (gst_query_parse_formats_nth):
3616         * gst/gstquery.h:
3617         Flesh out formats query, added some new methods.
3618         Fix part of #324398.
3619
3620         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3621         Added query creation tests.
3622
3623 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3624
3625         * gst/gstpad.c: (fixate_value):
3626         Add a default fixation for fraction lists.
3627
3628 2006-02-13  Wim Taymans  <wim@fluendo.com>
3629
3630         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3631         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3632         (gst_task_join):
3633         * gst/gsttask.h:
3634         Detect and warn for obvious deadlocks. fixes #320340
3635         Fix error case where lock was not released.
3636
3637         * tests/check/Makefile.am:
3638         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3639         (task_func), (gst_element_suite), (main):
3640         Add task check.
3641
3642 2006-02-13  Wim Taymans  <wim@fluendo.com>
3643
3644         * docs/gst/gstreamer-sections.txt:
3645         * gst/gstbus.c:
3646         Add new functions to docs.
3647
3648 2006-02-13  Wim Taymans  <wim@fluendo.com>
3649
3650         * docs/design/part-TODO.txt:
3651         Updated TODO list, basesrc supports seeking to non-bytes
3652         formats.
3653
3654         * docs/design/part-element-sink.txt:
3655         Update docs.
3656
3657         * gst/gstbin.c: (bin_replace_message),
3658         (gst_bin_handle_message_func):
3659         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3660         * gst/gstevent.c: (gst_event_finalize):
3661         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3662         (gst_pad_send_event):
3663         Use shiny new _TYPE_NAME macros.
3664
3665         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3666         Move debug statement up.
3667
3668         * gst/gstelement.c: (gst_element_set_locked_state):
3669         Add some debugging.
3670
3671 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3672
3673         * docs/gst/gstreamer-sections.txt:
3674         * gst/gstmessage.h:
3675         * gst/gstquery.h:
3676           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3677           macros (#330906). Also, document the already existing
3678           GST_QUERY_TYPE macro.
3679
3680 2006-02-13  Wim Taymans  <wim@fluendo.com>
3681
3682         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3683         (event_probe), (GST_START_TEST):
3684         Only events up to the pipeline EOS are counted, there are
3685         some more when going to NULL currently which we don't care
3686         about for now.
3687
3688 2006-02-13  Wim Taymans  <wim@fluendo.com>
3689
3690         * gst/gstpad.c: (gst_pad_send_event):
3691         Correctly check flushing and emit probes. fixes #330125
3692
3693 2006-02-10  Andy Wingo  <wingo@pobox.com>
3694
3695         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3696         structure.
3697         (gst_bus_init): Cache the location of the private data in the
3698         instance structure.
3699         (gst_bus_enable_sync_message_emission) 
3700         (gst_bus_disable_sync_message_emission): Implement new public
3701         functions.
3702         (gst_bus_post): Emit the sync-message signal if the user asked for
3703         it. Fixes #330684.
3704
3705         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3706         location of the bus-private structure.
3707         (gst_bus_enable_sync_message_emission)
3708         (gst_bus_disable_sync_message_emission): API addition
3709
3710 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3711
3712         Patch by: Vincent Torri
3713
3714         * docs/pwg/building-boiler.xml:
3715         PWG patch from #326800
3716
3717 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * configure.ac:
3720         * docs/Makefile.am:
3721         * docs/design/Makefile.am:
3722           Dist design docs.
3723
3724 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3725
3726         * configure.ac:
3727           back to CVS
3728
3729 === release 0.10.3 ===
3730
3731 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3732
3733         * configure.ac:
3734           releasing 0.10.3, "Like a virgin"
3735
3736 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3737
3738         * configure.ac:
3739           2nd prerelease of 0.10.3
3740           Bump libtool versioning.
3741
3742 2006-02-07  Andy Wingo  <wingo@pobox.com>
3743
3744         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3745         update last_stop if we're in TIME format and the timestamp is
3746         valid.
3747
3748         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3749         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3750         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3751         If we get a new newsegment with a different format, adapt
3752         accordingly.
3753
3754         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3755         of 0. Not a problem, really.
3756
3757         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3758         warn if sync=true.
3759
3760 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3761
3762         * configure.ac:
3763           Prelease of 0.10.3
3764
3765 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3766
3767         * win32/vs7:
3768           project files updated to the default vs7 configuration
3769         * win32/common/libgstbase.def:
3770         * win32/common/libgstreamer.def:
3771           added new symbols,
3772           removed empty lines,
3773           sorted all exported symbols alphabetically
3774         * win32/common/dirent.c:
3775         * win32/common/dirent.h:
3776         * win32/common/gchar.h:
3777           use windows line end.
3778           
3779 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3780
3781         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3782           Send EOS event when stopping.
3783
3784 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3785
3786         * docs/README:
3787           Tell folks what to do if the plugin-foobar.xml file
3788           hasn't been generated for a newly-added plugin.
3789
3790 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3791
3792         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3793         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3794         (gst_collect_pads_start), (gst_collect_pads_stop),
3795         (gst_collect_pads_event): Collectpads now holds a reference
3796         to the GstPad that was added. Indeed we don't want to look
3797         at pads that might just go away with no warning...
3798
3799 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3800
3801         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3802         (gst_collect_pads_start), (gst_collect_pads_stop),
3803         (gst_collect_pads_event), (gst_collect_pads_chain):
3804         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3805         Mark Nauwelaerts's patch on bug #328491.
3806
3807 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3808
3809         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3810         (gst_utils_suite):
3811           Add some simple tests for gst_parse_bin_from_description() and
3812           gst_bin_find_unconnected_pad() (#329069).
3813
3814 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3815
3816         * tools/gst-launch.c: (event_loop), (main):
3817           Catch errors during preroll (#320084).
3818
3819 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3820
3821         * plugins/elements/gsttypefindelement.c:
3822         (gst_type_find_element_activate):
3823           Post TYPE_NOT_FOUND error message when typefinding
3824           is unsuccessful in the activate function as well.
3825
3826 2006-02-02  Wim Taymans  <wim@fluendo.com>
3827
3828         * docs/design/part-element-sink.txt:
3829         Updated doc.
3830
3831 2006-02-02  Wim Taymans  <wim@fluendo.com>
3832
3833         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3834         (gst_base_sink_render_object),
3835         (gst_base_sink_queue_object_unlocked):
3836         Only keep track of prerollable items when we are 
3837         prerolling.
3838         Before rendering after preroll, always check if we
3839         have queued items.
3840         Added some more debugging.
3841
3842 2006-02-02  Wim Taymans  <wim@fluendo.com>
3843
3844         * gst/gstelement.c: (gst_element_continue_state),
3845         (gst_element_set_state_func), (gst_element_change_state):
3846         Fixed #326576, been running this for quite some time with
3847         no regressions at all.
3848
3849 2006-02-02  Wim Taymans  <wim@fluendo.com>
3850
3851         * common/gst.supp:
3852         Added more suppressions
3853
3854 2006-02-02  Wim Taymans  <wim@fluendo.com>
3855
3856         * docs/design/part-element-sink.txt:
3857         Updated document.
3858
3859         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3860         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3861         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3862         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3863         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3864         (gst_base_sink_preroll_object),
3865         (gst_base_sink_queue_object_unlocked),
3866         (gst_base_sink_queue_object), (gst_base_sink_event),
3867         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3868         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3869         (gst_base_sink_get_position), (gst_base_sink_change_state):
3870         * libs/gst/base/gstbasesink.h:
3871         Totally refactored matching the design doc.
3872         Use two segments, one to clip incomming buffers and another to
3873         perform sync.
3874         Handle queueing correctly, bypass the queue when playing.
3875         Make EOS cancelable.
3876         Handle errors correctly when operating in pull based mode.
3877
3878         * tests/check/elements/fakesink.c: (GST_START_TEST),
3879         (fakesink_suite):
3880         Added new check for sinks.
3881
3882 2006-02-02  Wim Taymans  <wim@fluendo.com>
3883
3884         * gst/gstsegment.c: (gst_segment_clip):
3885         No reason to refuse to clip when start == -1
3886
3887 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3888
3889         * docs/README:
3890         * docs/manual/intro-basics.xml:
3891         * docs/manual/intro-preface.xml:
3892         * docs/manual/manual.xml:
3893         * docs/pwg/advanced-dparams.xml:
3894         * docs/pwg/intro-basics.xml:
3895         * docs/pwg/intro-preface.xml:
3896         * docs/pwg/pwg.xml:
3897           describe dparams (controller) for plugins
3898           unify docs a little more
3899
3900 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3901
3902         * docs/gst/gstreamer-sections.txt:
3903         * gst/gstutils.c: (element_find_unconnected_pad),
3904         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3905         * gst/gstutils.h:
3906           Add new API: gst_parse_bin_from_description() and
3907           gst_bin_find_unconnected_pad() (#329069).
3908
3909 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3910
3911         * docs/manual/README:
3912           uncover a nasty detail of the docs build
3913
3914 2006-01-31  Wim Taymans  <wim@fluendo.com>
3915
3916         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3917         Don't cache duration messages if we're not going to use or
3918         free them.
3919
3920 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3921
3922         * docs/manual/advanced-dparams.xml:
3923         * docs/pwg/advanced-dparams.xml:
3924           more dparam docs
3925         * gst/gstindex.c:
3926           fix docs
3927         * libs/gst/controller/lib.c: (gst_controller_init):
3928           init just once
3929
3930 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3931
3932         * gst/gstelement.c: (gst_element_message_full):
3933           also show file/line/func if no additional debug was given
3934
3935 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3936         
3937         * win32/vs7/grammar.vcproj:
3938           activate copy of autogenerated files for Release mode
3939
3940 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3941         
3942         * win32/common/libgstreamer.def:
3943           export gst_value_compare
3944
3945 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3946
3947         * plugins/elements/Makefile.am:
3948         * plugins/elements/gstelements.c:
3949         * plugins/elements/gstfdsink.c: (_do_init),
3950         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3951         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3952         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3953         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3954         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3955         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3956         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3957         * plugins/elements/gstfdsink.h:
3958         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3959
3960 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3961
3962         * docs/manual/advanced-dparams.xml:
3963           describe controller
3964         * docs/manual/advanced-position.xml:
3965         * docs/manual/basics-init.xml:
3966         * docs/manual/manual.xml:
3967         * docs/manual/titlepage.xml:
3968         * docs/pwg/pwg.xml:
3969         * docs/pwg/titlepage.xml:
3970           cleanup xml (more to come)
3971         * libs/gst/controller/gstcontroller.c:
3972           fix typo
3973
3974 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3975         
3976         * win32/vs6/grammar.dsp:
3977           add autogen of gstmarshal.c,h for Release mode
3978                 
3979 2006-01-30  Wim Taymans  <wim@fluendo.com>
3980
3981         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3982         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3983         (gst_base_sink_handle_object), (gst_base_sink_event),
3984         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3985         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3986         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3987         (gst_base_sink_deactivate), (gst_base_sink_activate),
3988         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3989         (gst_base_sink_query), (gst_base_sink_change_state):
3990         Basesink cleanups, remove some old code.
3991         Handle the case where a subclass can preroll in the render
3992         method (mostly audiosinks).
3993         Handle more events.
3994         Remove some locks around variables that are now protected
3995         with the PREROLL_LOCK (clock_id, flushing, ..).
3996         Optimize position query some more, do correct locking.
3997         Remove old code to push queue in state change, this is not
3998         needed anymore since preroll blocks on all prerollable items 
3999         now.
4000         Almost implemented as described in design doc.
4001
4002 2006-01-30  Wim Taymans  <wim@fluendo.com>
4003
4004         * tests/check/gst/gstbin.c: (GST_START_TEST):
4005         Wait for refcount to settle down before checking.
4006
4007 2006-01-30  Wim Taymans  <wim@fluendo.com>
4008
4009         * docs/design/part-element-sink.txt:
4010         Pseudo code overview of desired sink behaviour regarding
4011         preroll.
4012
4013 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4014         * win32/vs6/grammar.dsp:
4015           fix some bugs in Release mode for autogenerated files
4016                 
4017 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4018         * win32/common/libgstbase.def:
4019         * win32/common/libgstreamer.def:
4020           export some new symbols: gst_base_src_set_format,
4021           gst_iterator_next, gst_structure_set_valist
4022
4023 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4024
4025         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4026         Set pad functions unconditionally. Fixes #329105.
4027
4028 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4029         * win32/vs8:
4030           add vs8 project files created by Sergey Scobich
4031
4032 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4033
4034         * gst/gstutils.c: (gst_element_unlink_pads):
4035         Don't leak pad references.
4036
4037         * tests/check/elements/fakesink.c: (GST_START_TEST):
4038         * tests/check/generic/sinks.c: (GST_START_TEST):
4039         * tests/check/generic/states.c: (GST_START_TEST):
4040         * tests/check/gst/gstbin.c: (GST_START_TEST):
4041         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4042         * tests/check/gst/gstelement.c: (GST_START_TEST):
4043         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4044         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4045         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4046         Fix a bunch of leaks. Make generic/sinks.c
4047         use a bit less cpu by slowing the buffer rate
4048         between fakesrc and fakesink.
4049         
4050 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4051         * gst/gstcaps.c:
4052         * gst/gstelement.c: (gst_element_send_event):
4053         * gst/gstevent.c:
4054         * gst/gstinfo.c:
4055         * gst/gstiterator.c:
4056         * gst/gstiterator.h:
4057         * gst/gstpad.c: (gst_pad_send_event):
4058         * gst/gststructure.c:
4059         * gst/gsturi.c:
4060         * gst/gstutils.c:
4061         * gst/gstvalue.c:
4062         * libs/gst/base/gstadapter.c:
4063           doc fixes, to link to function, just write gst_cool_function(), don't
4064           prefix with '#'
4065
4066 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4067
4068         * plugins/elements/gsttee.c: (gst_tee_do_push),
4069         (gst_tee_handle_buffer):
4070         Always prefer an actual return value from a src
4071         pad in place of NOT_LINKED. This means we return
4072         WRONG_STATE when all src pads are WRONG_STATE
4073         instead of NOT_LINKED.
4074
4075         Lock when replacing the last message to prevent
4076         racing with the get_property method.
4077
4078         Add debug output
4079
4080 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4081
4082         * tests/check/Makefile.am:
4083         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4084         (main):
4085         Add a very simple check that should have caught the memleak I fixed
4086         last night (if not for the slice allocator hiding it)
4087
4088 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4089
4090         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4091         (gst_bin_remove_func), (gst_bin_handle_message_func),
4092         (bin_query_duration_fold), (bin_query_generic_fold):
4093         Clean up references to the clock provider when disposed or when
4094         handling a clock-lost message from it.
4095
4096         Unref sinks when performing a query via gst_iterator_fold, as the
4097         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4098
4099         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4100         (gst_clock_set_master):
4101         Drop our reference to the master clock, if any, when we are disposed.
4102
4103         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4104         Chain up in dispose. 
4105
4106 2006-01-26  Wim Taymans  <wim@fluendo.com>
4107
4108         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4109         Add some debugging.
4110
4111 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4112
4113         * plugins/elements/gsttee.c: (gst_tee_do_push),
4114         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4115         handles pad being NOT_LINKED or in WRONG_STATE.
4116
4117 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4118
4119         * win32/MANIFEST:
4120           more updating
4121
4122 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4123
4124         * win32/MANIFEST:
4125           remove obsolete entry
4126
4127 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4128
4129         * docs/gst/gstreamer-sections.txt:
4130         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4131         (gst_bin_iterate_sources), (gst_bin_send_event):
4132         * gst/gstbin.h:
4133         * gst/gstelement.c: (gst_element_send_event):
4134         * gst/gstevent.c:
4135         * gst/gstpad.c: (gst_pad_send_event):
4136           added code for downstream events, reviewed docs in gstevent.c
4137
4138 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4139
4140         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4141         We only query position using the clock in the playing state.
4142         Query peer in the other cases.
4143         * win32/common/config.h: Updates.
4144
4145 2006-01-24  Wim Taymans  <wim@fluendo.com>
4146
4147         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4148         A clock entry that is scheduled for the exact time of the
4149         clock is still in time.
4150
4151         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4152         (gst_base_sink_do_sync):
4153         Add some more debug info.
4154
4155 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4156
4157         * win32/vs7:
4158           Add new vs7 project files and solution.
4159
4160 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4161
4162         * win32/vs7:
4163           all files removed as they were out-dated.
4164
4165 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4166
4167         * docs/random/release:
4168           update notes
4169         * gst/gstbin.c: (gst_bin_init):
4170         * gst/gstbus.c: (gst_bus_new):
4171         * gst/gstbus.h:
4172         * gst/gstpipeline.c: (gst_pipeline_init):
4173           use gst_bus_new(), improve logging, fix docs
4174         * win32/common/config.h:
4175           update for cvs build
4176
4177 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4178
4179         * autogen.sh:
4180           up required version of automake to 1.7
4181
4182 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4183
4184         * win32/common/libgstreamer.def:
4185           export gst_buffer_is_metadata_writable
4186
4187 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4188
4189         * docs/gst/gstreamer-sections.txt:
4190         * gst/gstevent.h:
4191           Add gst_event_replace() (#327001)
4192
4193 2006-01-20  Wim Taymans  <wim@fluendo.com>
4194
4195         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4196         Make it actually compile too..
4197
4198 2006-01-20  Wim Taymans  <wim@fluendo.com>
4199
4200         * gst/gstcaps.c:
4201         Clarify behaviour of _is_equal() when passing NULL parameters.
4202
4203         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4204         (gst_pad_set_caps):
4205         Cleanups. Don't unref NULL caps.
4206         When setting the same caps, protect caps of the pad with
4207         proper lock.
4208         Use full functionality of _is_equal() when comparing caps.
4209
4210 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4211
4212         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4213         Don't loop infinitely if there are no buffers to present. Partially
4214         fixes #327197, but collectpads is just broken for reusing elements
4215         to do multiple encodes atm.
4216
4217 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4218
4219         * tools/gst-inspect.c: (print_element_features):
4220         * tools/gst-xmlinspect.c: (main):
4221         URL_HANDLER is not a plugin feature we can search for in
4222         the registry.
4223
4224 2006-01-19  Edward Hervey  <edward@fluendo.com>
4225
4226         * gst/gstelement.c: (gst_element_pads_activate): 
4227         When activating, do src pads first, then sink pads.
4228         When de-activating, do sink pads first, then src pads.
4229
4230 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4231
4232         * docs/gst/gstreamer-sections.txt:
4233         Add gst_index_add_associationv to the docs
4234
4235 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4236
4237         * gst/gstevent.c:
4238           Fix docs typo
4239
4240         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4241         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4242           Do some refactoring. Doesn't actually change functionality,
4243           but makes landing the DRAIN event easier later.
4244
4245 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4246
4247         * docs/pwg/advanced-scheduling.xml:
4248           Update from 0.9.x to 0.10 API and make example a bit
4249           clearer.
4250
4251 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4252
4253         * docs/gst/gstreamer-sections.txt:
4254         Add gst_buffer_(is|make)_metadata_writable methods.
4255
4256 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4257
4258         * docs/design/part-sparsestreams.txt:
4259         Update sparse streams doc, hopefully for greater clarity
4260
4261 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4262
4263         * docs/design/part-events.txt:
4264         Remove mention of FILLER events.
4265         Add DRAIN event.
4266
4267         * docs/design/part-sparsestreams.txt:
4268         Write some things about using NEWSEGMENT to keep sparse streams
4269         flowing.
4270
4271 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4272
4273         * gst/gstbin.c: (gst_bin_dispose):
4274           Guard gst_object_unref call against a NULL object (dispose
4275           can theoretically be called multiple times).
4276           
4277 2006-01-18  Wim Taymans  <wim@fluendo.com>
4278
4279         * gst/gstbin.c: (gst_bin_element_set_state):
4280         * gst/gstclock.c: (gst_clock_id_wait):
4281         Added some more debug info.
4282
4283         * libs/gst/base/gstadapter.c:
4284         Added more docs.
4285
4286         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4287         (gst_base_sink_do_sync), (gst_base_sink_chain):
4288         Added some comments.
4289
4290 2006-01-18  Wim Taymans  <wim@fluendo.com>
4291
4292         * tests/check/Makefile.am:
4293         * tests/check/elements/fakesink.c: (chain_async_buffer),
4294         (chain_async), (chain_async_return), (GST_START_TEST),
4295         (fakesink_suite), (main):
4296         Added fakesink test that checks prerolling and clipping
4297         behaviour.
4298
4299         * tests/check/gst/gstutils.c: (GST_START_TEST):
4300         Make check run faster so that buildbots don't timeout.
4301
4302 2006-01-18  Wim Taymans  <wim@fluendo.com>
4303
4304         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4305         (gst_base_sink_do_sync):
4306         Some cleanups.
4307         When the sink finishes blocking on the preroll buffer, it can
4308         immediatly render it instead of rendering when the next buffer
4309         arrives.
4310
4311 2006-01-18  Wim Taymans  <wim@fluendo.com>
4312
4313         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4314         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4315         (gst_base_sink_chain):
4316         Small cleanups.
4317         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4318         Don't store _last_stop if the buffer is dropped.
4319
4320 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4321
4322         * plugins/elements/gsttypefindelement.c:
4323         (gst_type_find_element_class_init):
4324           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4325           object method handler that sets the caps on the pad and we want
4326           that to happen before we emit the signal (fixes e.g. feeding a
4327           plain text file to decodebin).
4328
4329 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4330
4331         * gst/gstplugin.c: Add MPL and Proprietary as license options
4332
4333 2006-01-18  Andy Wingo  <wingo@pobox.com>
4334
4335         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4336         symbol was exported before, it appears this was just an oversight.
4337         Fixes #168703.
4338         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4339
4340         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4341         prototype to gint. OK since this prototype was not in the header.
4342
4343 2006-01-17  Andy Wingo  <wingo@pobox.com>
4344
4345         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4346         registry while we remove plugins.
4347
4348         * tools/gst-inspect.c (print_element_info): Don't unref the
4349         factory arg, that should be the responsibility of whatever code
4350         received the ref. Fixes a double-free when called from
4351         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4352         (main): Unref the factory if we have one.
4353         (print_element_list): No change -- relies on the
4354         plugin_feature_list_free to free the list of features.
4355
4356 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4357
4358         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4359         (gst_buffer_make_metadata_writable):
4360         * gst/gstbuffer.h:
4361         * libs/gst/base/gstbasetransform.c:
4362         (gst_base_transform_prepare_output_buf):
4363         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4364         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4365           Replace gst_buffer_(make|is)_metadata_writable patch now
4366           that the release is out.
4367
4368 2006-01-17  Andy Wingo  <wingo@pobox.com>
4369
4370         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4371         in the present tense without reference to versions.
4372
4373         * gst/gstregistry.c (gst_registry_add_plugin)
4374         (gst_registry_remove_plugin, gst_registry_remove_feature)
4375         (gst_registry_find_feature, gst_registry_get_feature_list)
4376         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4377         (gst_registry_lookup, gst_registry_scan_path)
4378         (_gst_registry_remove_cache_plugins)
4379         (gst_registry_get_feature_list_by_plugin): Add argument
4380         validation.
4381
4382 === release 0.10.2 ===
4383
4384 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4385
4386         * configure.ac:
4387           releasing 0.10.2, "If man is five"
4388
4389 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4390
4391         * gst/gstbuffer.c:
4392         * gst/gstbuffer.h:
4393         * libs/gst/base/gstbasetransform.c:
4394         (gst_base_transform_prepare_output_buf):
4395         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4396         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4397           Back out patch until after the release.
4398
4399 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4400
4401         * gst/gstminiobject.c:
4402           Spelling fix in docs.
4403         * ChangeLog - remove conflict indicator
4404
4405 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4406
4407         Reviewed By: Andy Wingo
4408
4409         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4410         (gst_buffer_make_metadata_writable):
4411         * gst/gstbuffer.h:
4412           Add gst_buffer_(is|make)_metadata_writable as analogues of
4413           gst_buffer_(is|make)_writable.
4414
4415         * libs/gst/base/gstbasetransform.c:
4416         (gst_base_transform_prepare_output_buf):
4417         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4418           Use name gst_buffer_(is|make)_metadata_writable functions.
4419
4420         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4421           Test gst_buffer_(is|make)_metadata_writable
4422         
4423           (Closes: #324162)
4424
4425 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4426
4427         * docs/manual/Makefile.am:
4428           don't do parallel make
4429         * configure.ac:
4430           AC_SUBST HOST_CPU
4431         * win32/common/config.h.in:
4432           add generations for HOST_CPU and GST_MAJORMINOR
4433         * win32/common/config.h:
4434           commit generated result
4435
4436 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4437
4438         * docs/manual/appendix-integration.xml:
4439           Update GNOME integration section to use gst_init_get_option_group()
4440           instead of the old popt stuff (#322911). Also, GNOME applications
4441           should  now use gconf*sink and gconf*src instead of the old gconf
4442           helper lib we had.
4443
4444 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4445
4446
4447         * docs/gst/gstreamer-docs.sgml:
4448         * docs/gst/gstreamer-sections.txt:
4449         * docs/libs/gstreamer-libs-sections.txt:
4450           add new API entries to the docs
4451         * libs/gst/controller/Makefile.am:
4452         * libs/gst/controller/gstcontroller.c:
4453         * libs/gst/controller/gstcontroller.h:
4454         * libs/gst/controller/gstcontrollerprivate.h:
4455         * libs/gst/controller/gsthelper.c:
4456         * libs/gst/controller/gstinterpolation.c:
4457           move private structs to private header
4458         * po/README:
4459           gstreamer-0.7 -> gstreamer-0.10
4460         * tests/check/libs/struct_i386.h:
4461           remove private structs
4462
4463 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4464
4465         * plugins/indexers/Makefile.am:
4466           Fixes as part of #317048
4467
4468 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4469
4470         * plugins/indexers/Makefile.am:
4471           fix #316086 - compilation when mmap is missing
4472
4473 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4474
4475         * libs/gst/base/gstbasesink.c:
4476           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4477           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4478         * win32/common/config.h:
4479           added some defines GST_MAJORMINOR and HOST_CPU
4480         * win32/common/libgstbase.def:
4481         * win32/common/libgstreamer.def:
4482           added some exported functions.
4483
4484 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4485
4486         * libs/gst/controller/gstcontroller.c:
4487         (gst_controlled_property_set_interpolation_mode),
4488         (gst_controlled_property_new):
4489         * libs/gst/controller/gstcontroller.h:
4490         * libs/gst/controller/gstinterpolation.c:
4491         (interpolate_none_get_string_value_array):
4492           make G_TYPE_STRING controlable
4493
4494 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4495
4496         * tools/README:
4497         * tools/gst-feedback.1.in:
4498         * tools/gst-inspect.1.in:
4499         * tools/gst-launch.1.in:
4500         * tools/gst-md5sum.1.in:
4501         * tools/gst-typefind.1.in:
4502         * tools/gst-xmlinspect.1.in:
4503         * tools/gst-xmllaunch.1.in:
4504           cleanup man-pages, remove reference to gst-register, document env-vars
4505
4506 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4507
4508         * gst/gstbuffer.c: (gst_buffer_span):
4509           gst_buffer_span should copy the timestamp of the first buffer
4510           if they were both originally overlapping subbuffers of the 
4511           same parent, using the same logic as the 'slow copy' case.
4512
4513 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4514
4515         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4516           Need to awaken ALL the pads when we pop a buffer, otherwise
4517           collectpads only works when there is 2 input streams.
4518
4519 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4520
4521         * docs/random/ensonic/media-device-daemon.txt:
4522           more ideas (dbus)
4523         * gst/gstbuffer.c:
4524           fix doc example, add clarification
4525         * tools/gst-launch.1.in:
4526           add initial info about GST_PLUGIN_PATH, needs more work
4527
4528 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4529
4530         * docs/manual/basics-bins.xml:
4531         * docs/manual/basics-elements.xml:
4532         * docs/manual/intro-basics.xml:
4533           Some more minor docs additions and updates.
4534
4535 2006-01-11  Wim Taymans  <wim@fluendo.com>
4536
4537         * docs/manual/basics-bins.xml:
4538         * docs/manual/basics-elements.xml:
4539         Some small fixes as pointed out by Ser-ver on IRC.
4540
4541 2006-01-10  Edward Hervey  <edward@fluendo.com>
4542
4543         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4544         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4545         the single-segment mode.
4546
4547 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4548
4549         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4550
4551         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4552         (gst_base_src_perform_seek), (gst_base_src_send_event),
4553         (gst_base_src_set_property), (gst_base_src_get_property),
4554         (gst_base_src_loop), (gst_base_src_start),
4555         (gst_base_src_activate_push):
4556         * libs/gst/base/gstbasesrc.h:
4557           Name (private) union; makes Sun's Forte compiler happy (#324900).
4558
4559 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4560
4561         * README:
4562           gst-register is gone.
4563
4564 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4565
4566         * gst/gstvalue.c: (_gst_value_initialize):
4567           make the G_TYPE_DATE instantiation work if debug is disabled
4568
4569 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4570
4571         * gst/gstmessage.c: (gst_message_parse_tag),
4572         (gst_message_parse_error), (gst_message_parse_warning):
4573           Don't crash when return location for error/warning debug
4574           string is NULL; add fact that return locations can be
4575           NULL to docs where appropriate.
4576
4577 2006-01-05  Wim Taymans  <wim@fluendo.com>
4578
4579         * gst/gstplugin.c: (gst_plugin_load_file):
4580         Replace strdup by g_strdup.
4581
4582 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4583
4584         * docs/pwg/advanced-types.xml:
4585           fix doc borkage
4586
4587 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4588
4589         submitted by: Abel Cheung
4590
4591         * po/LINGUAS:
4592         * po/zh_TW.po:
4593           Added Chinese (traditional) translation
4594
4595 2006-01-04  Wim Taymans  <wim@fluendo.com>
4596
4597         * docs/manual/basics-pads.xml:
4598         * docs/plugins/Makefile.am:
4599         * docs/plugins/gstreamer-plugins-docs.sgml:
4600         * docs/plugins/gstreamer-plugins-sections.txt:
4601         * docs/pwg/advanced-clock.xml:
4602         * docs/pwg/advanced-scheduling.xml:
4603         * docs/pwg/advanced-types.xml:
4604         * plugins/elements/gstfdsink.c:
4605         * plugins/elements/gstfdsrc.c:
4606         * plugins/elements/gstfdsrc.h:
4607         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4608         * plugins/elements/gstidentity.h:
4609         * plugins/elements/gstqueue.h:
4610         * plugins/elements/gsttee.c:
4611         * plugins/elements/gsttee.h:
4612         * plugins/elements/gsttypefindelement.c:
4613         (gst_type_find_element_class_init):
4614         * plugins/elements/gsttypefindelement.h:
4615         Small updates to various docs.
4616         Added core plugins to docs.
4617
4618 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4619
4620         * common/gst.supp:
4621           add a suppression for liboil's uninitialized variable
4622
4623 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4624
4625         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4626
4627         * gst/gstutils.h:
4628           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4629           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4630           compiler switch is being used (#325429).
4631
4632 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * gst/gstbin.c: (gst_bin_query):
4635           Disable duration query caching in bins until it gets
4636           fixed (see #324807).
4637
4638 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4639
4640         * tools/gst-inspect.c: (print_element_properties_info):
4641           Handle properties of POINTER and BOXED type.
4642
4643 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4644
4645         * gst/gst.c: (init_post):
4646           Init tags stuff and some other things before loading
4647           any static plugins (there may be other static plugins
4648           than just the GStreamer ones, and they may want to
4649           register their own tags or formats or whatever, and
4650           preferably without segfaulting).
4651
4652         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4653           Print at least a warning in the debug logs if we drop a
4654           query just because we don't know how to adjust the value
4655           in the particular format.
4656
4657 2005-12-24  David Schleef  <ds@schleef.org>
4658
4659         * tools/gstreamer-completion:
4660           Replacement for gst-complete written in sh and sed.  Only
4661           completes names of features, but that's 90% of what I want
4662           it for.  Properties are not available in registry.xml.  (Maybe
4663           they should be...)
4664
4665 === release 0.10.1 ===
4666
4667 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4668
4669         * configure.ac:
4670           releasing 0.10.1, "Nollaig chridheil"
4671
4672 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4673
4674         * docs/faq/cvs.xml:
4675           Add missing quote, should be make ERROR_CFLAGS="".
4676
4677 2005-12-20  Wim Taymans  <wim@fluendo.com>
4678
4679         * docs/design/part-trickmodes.txt:
4680         More documentation on trickmodes.
4681
4682 2005-12-20  Edward Hervey  <edward@fluendo.com>
4683
4684         * gst/gstcaps.c: (gst_static_caps_get_type):
4685         * gst/gstcaps.h:
4686           API addition: GST_TYPE_STATIC_CAPS
4687         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4688         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4689         * gst/gstpadtemplate.h:
4690           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4691         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4692         bindings.
4693
4694 2005-12-18  Wim Taymans  <wim@fluendo.com>
4695
4696         * libs/gst/base/gstadapter.c:
4697         * libs/gst/base/gstadapter.h:
4698         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4699         (gst_base_sink_get_position):
4700         * libs/gst/base/gstbasesink.h:
4701         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4702         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4703         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4704         (gst_base_src_send_event), (gst_base_src_update_length),
4705         (gst_base_src_get_range), (gst_base_src_loop),
4706         (gst_base_src_start):
4707         * libs/gst/base/gstbasesrc.h:
4708         * libs/gst/base/gstbasetransform.h:
4709         * libs/gst/base/gstcollectpads.h:
4710         * libs/gst/base/gstpushsrc.c:
4711         * libs/gst/base/gstpushsrc.h:
4712         * libs/gst/dataprotocol/dataprotocol.c:
4713         * libs/gst/dataprotocol/dataprotocol.h:
4714         * libs/gst/net/gstnetclientclock.h:
4715         * libs/gst/net/gstnettimeprovider.h:
4716         Documentation updates.
4717
4718 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4719
4720         * docs/manual/basics-helloworld.xml:
4721           Remove superfluous closing bracket in helloworld example.
4722
4723 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4724
4725         * tools/gst-launch.1.in:
4726           Update gst-launch man page; add a section with useful
4727           environment variables. Fixes #323882.
4728
4729 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4730
4731         * gst/gst.c:
4732         * gst/gst_private.h:
4733           change some char* into char[]
4734
4735 2005-12-16  Wim Taymans  <wim@fluendo.com>
4736
4737         * gst/gstregistryxml.c: (load_feature):
4738         Cleanups.
4739         Don't use g_object_unref on GstObjects so that we avoid
4740         leaks on unsafe glibs.
4741
4742 2005-12-16  Wim Taymans  <wim@fluendo.com>
4743
4744         * gst/gstbin.c: (gst_bin_recalc_state):
4745         Small doc updates.
4746
4747 2005-12-16  Wim Taymans  <wim@fluendo.com>
4748
4749         * common/check.mak:
4750         Added make forever target for check.
4751
4752 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4753
4754         * gst/gst.c: (init_post):
4755           make the registry cache file HOST_CPU-dependent
4756
4757 2005-12-16  Andy Wingo  <wingo@pobox.com>
4758
4759         * plugins/elements/gstbufferstore.c
4760         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4761         return value.
4762
4763         * tests/check/gst/gstobject.c
4764         (test_fake_object_name_threaded_unique): Pay attention to
4765         g_list_sort return value.
4766
4767 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4768
4769         * tools/gst-feedback-m.m:
4770           Update for 0.9/0.10 (fixes #323870).
4771
4772 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4773
4774         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4775           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4776           
4777         * tests/check/gst/gstminiobject.c: (my_foo_init),
4778         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4779         (test_value_collection), (gst_mini_object_suite):
4780           Add test to ensure refcounts end up as expected when passing
4781           GstMiniObjects through g_object_get() and g_object_set().
4782
4783 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4784
4785         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4786         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4787         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4788         of collectpads. This version removes a lot of races without
4789         touching API/ABI. Yay !
4790
4791 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4792
4793         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4794           Don't allow activation of a srcpad in pull_range if it has no
4795           getrange function.
4796           Change some debug statements to be a little clearer
4797
4798         * plugins/elements/gsttypefindelement.c:
4799         (gst_type_find_handle_src_query):
4800           Check that we have a peer before executing queries thereupon.
4801
4802         * tests/examples/metadata/read-metadata.c: (message_loop):
4803           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4804           immediately return us any available message with 0 timeout.
4805
4806 2005-12-12  Michael Smith  <msmith@fluendo.com>
4807
4808         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4809           Don't unref factories after calling them.
4810         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4811         * plugins/elements/gsttypefindelement.c:
4812         (gst_type_find_element_chain):
4813           Free lists of factories after using them. Fixing typefinding memory
4814           leaks.
4815
4816 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4817
4818         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4819         (gst_plugin_feature_load):
4820           more meaningful debug output
4821         * configure.ac:
4822         * tests/Makefile.am:
4823         * tests/old/examples/Makefile.am:
4824           make make distcheck happy again
4825
4826 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4827
4828         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4829           Catch the special case where we are operating chain-based,
4830           but the downstream peer pad has no chain function. Emit a
4831           custom error message in this case instead of letting the
4832           core generate one implying that this is some sort of core
4833           bug. It's not, it just means that whatever got plugged
4834           into the pipeline downstream when we announced the type
4835           can only operate pull-based, while our source can only
4836           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4837           Error string has not been marked for translation yet, as
4838           it probably needs some more work first.
4839
4840         (gst_type_find_element_get_best_possibility):
4841           Add helper function to find the best of all available
4842           found possibilities that qualify given the min. threshold.
4843
4844         (gst_type_find_element_handle_event):
4845           Fix the case where we get an EOS while still in TYPEFIND
4846           mode (we want to chose the best of all possible types,
4847           not just the first type that happens to be in our unsorted
4848           list of possible types).
4849
4850         (gst_type_find_element_chain):
4851           Make sure we return GST_FLOW_ERROR when we errored out
4852           in stop_typefinding(); also, don't just find the best of
4853           all found type entries and then use the last examined
4854           type entry, but actually use the best entry.
4855
4856 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4857
4858         * tests/examples/typefind/typefind.c: (type_found):
4859         * tests/examples/xml/runxml.c: (xml_loaded):
4860           More gcc4 fixes and a mem leak fix.
4861
4862 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4863
4864         * tests/examples/xml/createxml.c: (object_saved):
4865           gcc 4 fixes
4866
4867 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4868
4869         * tests/Makefile.am:
4870           enable the examples even more
4871
4872 2005-12-12  Andy Wingo  <wingo@pobox.com>
4873
4874         * libs/gst/net/gstnettimeprovider.c
4875         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4876         (gst_net_time_provider_set_property)
4877         (gst_net_time_provider_get_property):
4878         API addition: Export "active" as a GObject property.
4879         (gst_net_time_provider_thread): Only respond to time queries if
4880         the time provider is active.
4881
4882         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4883         NetTimeProvider, preserving binary compat.
4884
4885 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4886
4887         * tests/examples/controller/audio-example.c: (main):
4888         * tests/examples/launch/Makefile.am:
4889           convert comments again
4890
4891 2005-12-12  Wim Taymans  <wim@fluendo.com>
4892
4893         * libs/gst/base/gstpushsrc.c:
4894         Fix typo.
4895
4896 2005-12-12  Wim Taymans  <wim@fluendo.com>
4897
4898         * docs/libs/gstreamer-libs-sections.txt:
4899         Added new symbol to docs.
4900
4901         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4902         (gst_base_src_init), (gst_base_src_set_format),
4903         (gst_base_src_default_query), (gst_base_src_query),
4904         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4905         (gst_base_src_perform_seek), (gst_base_src_send_event),
4906         (gst_base_src_default_event), (gst_base_src_event_handler),
4907         (gst_base_src_set_property), (gst_base_src_get_property),
4908         (gst_base_src_wait), (gst_base_src_do_sync),
4909         (gst_base_src_update_length), (gst_base_src_get_range),
4910         (gst_base_src_check_get_range), (gst_base_src_loop),
4911         (gst_base_src_default_negotiate), (gst_base_src_start),
4912         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4913         (gst_base_src_change_state):
4914         * libs/gst/base/gstbasesrc.h:
4915         Implement seeking to other formats than _BYTES.
4916         Implement more seeking methods correctly.
4917         Doc updates.
4918         Added query vmethod.
4919         Added do_seek vmethod to make life easier for subclasses
4920         when seeking.
4921         API addition: gst_base_src_set_format()
4922
4923 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4924
4925         * tests/examples/Makefile.am:
4926           added that too
4927
4928 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4929
4930         * configure.ac:
4931         * docs/random/ensonic/media-device-daemon.txt:
4932         * tests/examples/controller/.cvsignore:
4933         * tests/examples/controller/Makefile.am:
4934         * tests/examples/controller/audio-example.c: (main):
4935         * tests/examples/helloworld/.cvsignore:
4936         * tests/examples/helloworld/Makefile.am:
4937         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4938         * tests/examples/launch/.cvsignore:
4939         * tests/examples/launch/Makefile.am:
4940         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4941         * tests/examples/metadata/.cvsignore:
4942         * tests/examples/metadata/Makefile.am:
4943         * tests/examples/metadata/read-metadata.c: (message_loop),
4944         (make_pipeline), (print_tag), (main):
4945         * tests/examples/queue/.cvsignore:
4946         * tests/examples/queue/Makefile.am:
4947         * tests/examples/queue/queue.c: (event_loop), (main):
4948         * tests/examples/typefind/.cvsignore:
4949         * tests/examples/typefind/Makefile.am:
4950         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4951         (main):
4952         * tests/examples/xml/.cvsignore:
4953         * tests/examples/xml/Makefile.am:
4954         * tests/examples/xml/createxml.c: (object_saved), (main):
4955         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4956         * tests/old/examples/Makefile.am:
4957         * tests/old/examples/TODO:
4958         * tests/old/examples/controller/.cvsignore:
4959         * tests/old/examples/controller/Makefile.am:
4960         * tests/old/examples/controller/audio-example.c:
4961         * tests/old/examples/helloworld/.cvsignore:
4962         * tests/old/examples/helloworld/Makefile.am:
4963         * tests/old/examples/helloworld/helloworld.c:
4964         * tests/old/examples/launch/.cvsignore:
4965         * tests/old/examples/launch/Makefile.am:
4966         * tests/old/examples/launch/mp3parselaunch.c:
4967         * tests/old/examples/launch/mp3play:
4968         * tests/old/examples/manual/Makefile.am:
4969         * tests/old/examples/metadata/Makefile.am:
4970         * tests/old/examples/metadata/read-metadata.c:
4971         * tests/old/examples/queue/.cvsignore:
4972         * tests/old/examples/queue/Makefile.am:
4973         * tests/old/examples/queue/queue.c:
4974         * tests/old/examples/typefind/.cvsignore:
4975         * tests/old/examples/typefind/Makefile.am:
4976         * tests/old/examples/typefind/typefind.c:
4977         * tests/old/examples/xml/.cvsignore:
4978         * tests/old/examples/xml/Makefile.am:
4979         * tests/old/examples/xml/createxml.c:
4980         * tests/old/examples/xml/runxml.c:
4981           applied some simple fixing to some examples
4982           re-enabled the working examples
4983
4984 2005-12-12  Wim Taymans  <wim@fluendo.com>
4985
4986         * gst/gstsegment.c: (gst_segment_init),
4987         (gst_segment_set_last_stop), (gst_segment_set_seek),
4988         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4989         (gst_segment_to_running_time):
4990         Added more documentation.
4991         Make sure the last_pos value is updated properly.
4992         Make sure to_stream_time and to_running_time don't
4993         operate on wrong values.
4994
4995         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4996         Update check.
4997
4998 2005-12-12  Michael Smith  <msmith@fluendo.com>
4999
5000         * plugins/elements/gsttypefindelement.c: (free_entry),
5001         (gst_type_find_element_chain):
5002           Now that we're not leaking factories, make sure we keep references
5003           to them while we need them.
5004
5005 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5006
5007         * tests/check/gst/struct_i386.h:
5008           ifdef out the XML structs
5009
5010 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5011
5012         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5013           floor is not needed, F is always positive; this obviates the
5014           need for adding -lm when building without libxml
5015
5016 2005-12-12  Wim Taymans  <wim@fluendo.com>
5017
5018         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5019         Take current playback rate into account when reporting
5020         the position.
5021
5022 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5023
5024         * docs/manual/mime-world.fig:
5025           Let's try this again, this time with a file that is
5026           actually in XFig format.
5027
5028 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5029
5030         * docs/manual/mime-world.fig:
5031           Add audioconvert element to diagram so that it
5032           matches the text and the code (fixes #319526).
5033
5034 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5035
5036         * docs/pwg/building-chainfn.xml:
5037         * docs/pwg/building-pads.xml:
5038         * docs/pwg/building-state.xml:
5039         * docs/pwg/other-source.xml:
5040           Update state change stuff for 0.10 (fixes #322969).
5041
5042 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5043
5044         * docs/manual/advanced-dataaccess.xml:
5045         * docs/manual/appendix-checklist.xml:
5046         * docs/manual/appendix-programs.xml:
5047         * docs/manual/basics-pads.xml:
5048         * docs/manual/highlevel-components.xml:
5049         * docs/manual/manual.xml:
5050           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5051           add converters in front of pipelines; remove curly
5052           brackets for threads stuff, they no longer exist; use
5053           GST_TYPE_FRACTION for framerates; update some pieces of
5054           code to 0.10, but there's plenty more to do.
5055
5056         * docs/manual/appendix-porting.xml:
5057           Expand on asynchroneous state changes; s/0.9/0.10/;
5058           mention disappearance of gst_init_get_popt_table()
5059           (fixes #322916).
5060
5061 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5062
5063         * docs/faq/using.xml:
5064           Spider no longer exists, and neither does gst-launch-ext.
5065           Update examples to use decodebin and playbin and put
5066           converters in front of sinks (fixes #323726).
5067
5068 2005-12-09  Michael Smith  <msmith@fluendo.com>
5069
5070         * plugins/elements/gsttypefindelement.c: (find_peek),
5071         (gst_type_find_element_chain):
5072           Fix leaking element factories in typefinding.
5073           Fix problem where we forgot about a probable type on non-seekable
5074           files, and thus later mis-typefound it.
5075
5076 2005-12-09  Michael Smith  <msmith@fluendo.com>
5077
5078         * common/m4/gst-makecontext.m4:
5079         * common/m4/gst-mcsc.m4:
5080         * configure.ac:
5081         * win32/common/config.h:
5082         * win32/common/config.h.in:
5083           Remove makecontext stuff; not used in 0.10 and causes problems on
5084           HPUX according to bug #322441
5085
5086 2005-12-07  Wim Taymans  <wim@fluendo.com>
5087
5088         * tests/check/Makefile.am:
5089         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5090         (main):
5091         * tests/check/libs/struct_i386.h:
5092         Added ABI check for libs
5093
5094 2005-12-07  Wim Taymans  <wim@fluendo.com>
5095
5096         * tests/check/Makefile.am:
5097         And add the struct_i386.h to dist.
5098
5099 2005-12-07  Wim Taymans  <wim@fluendo.com>
5100
5101         * tests/check/Makefile.am:
5102         * tests/check/gst/.cvsignore:
5103         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5104         (main):
5105         * tests/check/gst/struct_i386.h:
5106         Added check for ABI compatibility.
5107
5108 2005-12-07  Wim Taymans  <wim@fluendo.com>
5109
5110         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5111         (gst_fake_src_get_times), (gst_fake_src_create):
5112         Fix broken sync option, fixes #323259
5113
5114 2005-12-07  Wim Taymans  <wim@fluendo.com>
5115
5116         * gst/gstbuffer.c:
5117         Small docs update.
5118
5119         * gst/gstcaps.c: (gst_caps_is_equal):
5120         Don't assert on NULL <--> X. Fixes #323260
5121
5122         * gst/gstminiobject.c: (gst_mini_object_replace):
5123         If we're doing atomic operations, we might just as well use
5124         the proper way to get an atomic pointer.
5125
5126         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5127         Clean up debugging.
5128
5129 2005-12-07  Michael Smith  <msmith@fluendo.com>
5130
5131         * gst/parse/grammar.y:
5132           Remove handling of { } for threads.
5133
5134 2005-12-06  David Schleef  <ds@schleef.org>
5135
5136         * libs/gst/base/gstbasetransform.c: speling fix.
5137
5138 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5139
5140         * docs/libs/tmpl/gstdataprotocol.sgml:
5141         * docs/random/omega/testing/gstobject.c:
5142         * gst/gst.c:
5143         * gst/gstclock.c:
5144         * gst/gstelement.c:
5145         * gst/gstelementfactory.c:
5146         * gst/gsterror.c:
5147         * gst/gstevent.c:
5148         * gst/gstghostpad.c:
5149         * gst/gstinfo.c:
5150         * gst/gstpadtemplate.c:
5151         * gst/gstregistryxml.c:
5152         * gst/gsttaglist.c:
5153         * gst/gsttagsetter.c:
5154         * gst/gsttypefind.c:
5155         * gst/gstvalue.c:
5156         * libs/gst/base/gstbasesrc.c:
5157         * libs/gst/net/gstnetclientclock.c:
5158         * libs/gst/net/gstnettimeprovider.c:
5159         * plugins/elements/gstfakesrc.c:
5160         * plugins/elements/gstfdsrc.c:
5161         * plugins/elements/gstfilesrc.c:
5162         * plugins/elements/gstidentity.c:
5163         * plugins/elements/gstqueue.c:
5164         * plugins/elements/gsttypefindelement.c:
5165         * plugins/indexers/gstfileindex.c:
5166         * plugins/indexers/gstmemindex.c:
5167         * tests/check/gst/gsttag.c:
5168         * tests/old/examples/cutter/cutter.c:
5169         * tests/old/examples/mixer/mixer.c:
5170         * tests/old/examples/xml/runxml.c: (main):
5171         * tests/old/testsuite/caps/normalisation.c:
5172         * tests/old/testsuite/debug/global.c:
5173         * tests/old/testsuite/parse/parse1.c:
5174         * tools/gst-xmlinspect.c:
5175         * win32/common/dirent.c:
5176           expand tabs
5177
5178 === release 0.10.0 ===
5179
5180 2005-12-05   <thomas (at) apestaart (dot) org>
5181
5182         * configure.ac:
5183           releasing 0.10.0, "Maroilles"
5184
5185 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5186
5187         submitted by: Funda Wang <fundawang@linux.net.cn>
5188
5189         * po/LINGUAS:
5190         * po/zh_CN.po:
5191           added Chinese (Traditional) translation
5192
5193 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5194
5195         * docs/gst/gstreamer-sections.txt:
5196         * docs/libs/tmpl/gstdataprotocol.sgml:
5197         * docs/random/thomasvs/TODO:
5198         * gst/gstutils.c:
5199         * gst/gstutils.h:
5200           fix docs
5201
5202 2005-12-05  Andy Wingo  <wingo@pobox.com>
5203
5204         patch by: Wim Taymans <wim@fluendo.com>
5205
5206         * libs/gst/base/gstbasetransform.c
5207         (gst_base_transform_prepare_output_buf)
5208         (gst_base_transform_buffer_alloc):
5209         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5210         alloc_buffer_and_set_caps.
5211
5212         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5213         set_caps on the source pad.
5214         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5215         alloc_buffer used to do. Fixes #322874.
5216
5217         * docs/gst/gstreamer-sections.txt: 
5218         * docs/design/part-negotiation.txt: 
5219         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5220         changes.
5221
5222 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5223
5224         patch by: Sebastien Moutte
5225
5226         * win32/MANIFEST:
5227         * win32/common/config.h.in:
5228         * win32/vs6/libgstcontroller.dsp:
5229           win32 build fixes
5230
5231 2005-12-05  Wim Taymans  <wim@fluendo.com>
5232
5233         * gst/gstcaps.c: (gst_caps_is_equal):
5234         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5235         (gst_fake_src_create):
5236         Back out previous code changes, leave doc updates, file bugs 
5237         instead. 
5238
5239 2005-12-05  Wim Taymans  <wim@fluendo.com>
5240
5241         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5242         (gst_fake_src_get_times), (gst_fake_src_create):
5243         * plugins/elements/gstfakesrc.h:
5244         Fix broken sync code.
5245
5246 2005-12-05  Wim Taymans  <wim@fluendo.com>
5247
5248         * gst/gstcaps.c: (gst_caps_is_equal):
5249         Comparing NULL against !NULL yields different caps, not a
5250         failure.
5251
5252 2005-12-05  Wim Taymans  <wim@fluendo.com>
5253
5254         * gst/gstpipeline.c:
5255         Fix small typo in docs.
5256
5257 2005-12-05  Andy Wingo  <wingo@pobox.com>
5258
5259         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5260
5261         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5262         registries/plugins with a MAJORMINOR one.
5263         (plugin_desc): Rename library from gstcoreleements to
5264         staticelements. Fixes #323222.
5265
5266 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5267
5268         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5269           Change debug category to 'collectpads' from 'collect_pads'
5270           (fixes #323250).
5271
5272 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5273
5274         patch by: Sebastien Moutte
5275
5276         * libs/gst/controller/gstinterpolation.c:
5277           use convert function for uint64/double
5278         * win32/vs6/libgstcontroller.dsp:
5279           link to GLib
5280
5281 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5282
5283         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5284         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5285         * gst/gstutils.h:
5286         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5287           add tests that seem to show that the guint64/gdouble conversions
5288           are correct.
5289
5290 2005-12-02  Wim Taymans  <wim@fluendo.com>
5291
5292         * gst/gstregistry.c: (gst_registry_add_path):
5293         * gst/gstregistry.h:
5294         * gst/gstregistryxml.c:
5295         Fix docs again.
5296
5297 2005-12-02  Wim Taymans  <wim@fluendo.com>
5298
5299         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5300         (gst_util_uint64_scale_int):
5301         Small cleanup.
5302
5303         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5304         Add debug log line.
5305
5306         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5307         Add FIXME.
5308
5309 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5310
5311         * win32/MANIFEST:
5312         * win32/common/config.h:
5313         * win32/vs6/gstreamer.dsw:
5314         * win32/vs6/libgstcoreelements.dsp:
5315         * win32/vs6/libgstelements.dsp:
5316           renamed core elements plugin
5317
5318 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5319
5320         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5321         (get_candidates):
5322           do piece-wise major/minor comparison so 0.9 < 0.10
5323           also allow .exe extensions for tools
5324
5325 2005-12-02  Michael Smith  <msmith@fluendo.com>
5326
5327         * gst/gst.c:
5328           Escape a % to make gtkdoc happier; bug 322958.
5329
5330 === release 0.9.7 ===
5331
5332 2005-12-01   <thomas (at) apestaart (dot) org>
5333
5334         * configure.ac:
5335           releasing 0.9.7, "My Dog Has No Nose"
5336
5337 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5338
5339         * common/gst-xmlinspect.py:
5340         * configure.ac:
5341         * docs/libs/tmpl/gstdataprotocol.sgml:
5342         * docs/random/release:
5343         * po/af.po:
5344         * po/az.po:
5345         * po/bg.po:
5346         * po/ca.po:
5347         * po/cs.po:
5348         * po/de.po:
5349         * po/en_GB.po:
5350         * po/fr.po:
5351         * po/it.po:
5352         * po/nb.po:
5353         * po/nl.po:
5354         * po/ru.po:
5355         * po/sq.po:
5356         * po/sr.po:
5357         * po/sv.po:
5358         * po/tr.po:
5359         * po/uk.po:
5360         * po/vi.po:
5361         * win32/common/config.h:
5362         * win32/common/config.h.in:
5363         * win32/vs6/gst_inspect.dsp:
5364         * win32/vs6/gst_launch.dsp:
5365         * win32/vs6/libgstbase.dsp:
5366         * win32/vs6/libgstelements.dsp:
5367         * win32/vs6/libgstreamer.dsp:
5368         * win32/vs7/GStreamer.vcproj:
5369         * win32/vs7/gst-inspect.vcproj:
5370         * win32/vs7/gst-launch.vcproj:
5371         * win32/vs7/libgstbase.vcproj:
5372           bump GST_MAJORMINOR to 0.10
5373           reset libtool version
5374
5375 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5376
5377         * po/LINGUAS:
5378         * po/bg.po:
5379           Added Bulgarian translation by (Alexander Shopov)
5380
5381 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5382
5383         * tests/check/gst/gstplugin.c:
5384           fix test
5385
5386 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5387
5388         * common/gst-xmlinspect.py:
5389         * common/gtk-doc-plugins.mak:
5390         * configure.ac:
5391         * docs/Makefile.am:
5392         * docs/gst/Makefile.am:
5393         * docs/gst/gstreamer-docs.sgml:
5394         * docs/gst/gstreamer-sections.txt:
5395         * docs/gst/gstreamer.types:
5396         * docs/gst/gstreamer.types.in:
5397         * docs/plugins/Makefile.am:
5398         * docs/plugins/gstreamer-plugins-docs.sgml:
5399         * docs/plugins/gstreamer-plugins-sections.txt:
5400         * docs/plugins/gstreamer-plugins.types:
5401         * docs/plugins/inspect.stamp:
5402         * docs/plugins/inspect/plugin-coreelements.xml:
5403         * docs/plugins/inspect/plugin-coreindexers.xml:
5404         * docs/plugins/scanobj-build.stamp:
5405         * gstreamer.spec.in:
5406         * plugins/elements/Makefile.am:
5407         * plugins/elements/gstelements.c:
5408         * plugins/elements/gstfakesink.c:
5409         * plugins/elements/gstfakesrc.c:
5410         * plugins/elements/gstfilesink.c:
5411         * plugins/elements/gstfilesrc.c:
5412         * plugins/elements/gstqueue.c:
5413         * plugins/indexers/Makefile.am:
5414         * plugins/indexers/gstindexers.c:
5415           document core plugins in a separate document just like all the
5416           others
5417           rename these plugins to something starting with core
5418
5419 2005-12-01  Andy Wingo  <wingo@pobox.com>
5420
5421         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5422         padding here before, but it missed the commit.
5423
5424 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5425
5426         * libs/gst/controller/gstinterpolation.c:
5427           whitespace prices have crashed, we should feel free to use some now
5428           use gst_guint64_to_gdouble
5429
5430 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5431
5432         * libs/gst/controller/gstcontroller.c:
5433         * libs/gst/controller/gsthelper.c:
5434         * libs/gst/controller/gstinterpolation.c:
5435         * libs/gst/controller/lib.c:
5436           wrap config.h include
5437
5438 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5439
5440         * docs/gst/gstreamer-sections.txt:
5441           update docs
5442
5443 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5444
5445         * plugins/elements/gstelements.c:
5446         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5447         (gst_fd_sink__class_init), (gst_fd_sink__init),
5448         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5449         (gst_fd_sink__get_property):
5450         * plugins/elements/gstfdsink.h:
5451         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5452         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5453         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5454         (gst_fd_src_unlock), (gst_fd_src_set_property),
5455         (gst_fd_src_get_property), (gst_fd_src_create),
5456         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5457         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5458         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5459         (gst_fd_src_uri_handler_init):
5460         * plugins/elements/gstfdsrc.h:
5461         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5462           more anal cleanup
5463
5464 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5465
5466         * docs/gst/Makefile.am:
5467         * docs/gst/gstreamer.types.in:
5468         * gst/Makefile.am:
5469           fix the docs build
5470
5471 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5472
5473         * configure.ac:
5474         * gst/Makefile.am:
5475         * gst/gst.c:
5476         * gst/gstplugin.h:
5477         * gst/gstregistry.h:
5478         * tests/benchmarks/complexity.c:
5479         * tests/benchmarks/mass-elements.c:
5480         * tests/check/Makefile.am:
5481         * tools/Makefile.am:
5482         * tools/gst-inspect.c:
5483         * tools/gst-xmlinspect.c:
5484           various fixes to make
5485           --disable-nls --disable-registry --disable-loadsave
5486           --disable-parse --disable-gst-debug
5487           work and get the core .so down to 360444 bytes after stripping
5488
5489 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5490
5491         * Makefile.am:
5492         * configure.ac:
5493           descend into tests
5494         * docs/random/thomasvs/TODO:
5495         * tests/Makefile.am:
5496         * tests/README:
5497           add a README
5498
5499 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5500
5501         * win32/GStreamer.vcproj:
5502         * win32/MANIFEST:
5503         * win32/Makefile:
5504         * win32/Makefile.inspect:
5505         * win32/Makefile.launch:
5506         * win32/Makefile.register:
5507         * win32/README.txt:
5508         * win32/gst-inspect.vcproj:
5509         * win32/gst-launch.vcproj:
5510         * win32/gst-register.vcproj:
5511         * win32/gstelements.vcproj:
5512         * win32/gstgetbits.def:
5513         * win32/gstgetbits.vcproj:
5514         * win32/gstreamer-dbg.def:
5515         * win32/gstreamer.def:
5516         * win32/libgstbase.def:
5517         * win32/libgstbase.vcproj:
5518         * win32/link_oldruntime.c:
5519         * win32/mman.c:
5520         * win32/mman.h:
5521         * win32/mman.inl:
5522         * win32/msvc71.sln:
5523           move even more stuff, win32/ is nice and clean now
5524
5525 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5526
5527         * libs/gst/control/.cvsignore:
5528         * win32/MANIFEST:
5529         * win32/config.h:
5530         * win32/dirent.c:
5531         * win32/dirent.h:
5532         * win32/gstbytestream.def:
5533         * win32/gstbytestream.vcproj:
5534         * win32/gstconfig.h:
5535         * win32/gstenumtypes.c:
5536         * win32/gstenumtypes.h:
5537         * win32/gstoptimalscheduler.vcproj:
5538         * win32/gstversion.h:
5539         * win32/gtchar.h:
5540         * win32/testsuite/bins.vcproj:
5541         * win32/testsuite/bytestream.vcproj:
5542         * win32/testsuite/caps.vcproj:
5543         * win32/testsuite/cleanup.vcproj:
5544         * win32/testsuite/clock.vcproj:
5545         * win32/testsuite/debug.vcproj:
5546         * win32/testsuite/dlopen.vcproj:
5547         * win32/testsuite/dynparams.vcproj:
5548         * win32/testsuite/elements.vcproj:
5549         * win32/testsuite/ghostpads.vcproj:
5550         * win32/testsuite/indexers.vcproj:
5551         * win32/testsuite/negotiation.vcproj:
5552         * win32/testsuite/parse.vcproj:
5553         * win32/testsuite/plugin.vcproj:
5554         * win32/testsuite/refcounting.vcproj:
5555         * win32/testsuite/schedulers.vcproj:
5556         * win32/testsuite/states.vcproj:
5557         * win32/testsuite/tags.vcproj:
5558         * win32/testsuite/threads.vcproj:
5559           remove old win32 stuff that isn't maintained and should be
5560           reorganized
5561
5562 2005-11-30  Andy Wingo  <wingo@pobox.com>
5563
5564         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5565         loading the gst.interfaces python module bork.
5566
5567         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5568         available since GLib 2.2. Fixes #318031.
5569
5570 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5571
5572         * Makefile.am:
5573         * check/.cvsignore:
5574         * check/Makefile.am:
5575         * check/elements/.cvsignore:
5576         * check/elements/fakesrc.c:
5577         * check/elements/fdsrc.c:
5578         * check/elements/identity.c:
5579         * check/generic/.cvsignore:
5580         * check/generic/states.c:
5581         * check/gst-libs/.cvsignore:
5582         * check/gst-libs/controller.c:
5583         * check/gst-libs/gdp.c:
5584         * check/gst/.cvsignore:
5585         * check/gst/capslist.h:
5586         * check/gst/gst.c:
5587         * check/gst/gstbin.c:
5588         * check/gst/gstbuffer.c:
5589         * check/gst/gstbus.c:
5590         * check/gst/gstcaps.c:
5591         * check/gst/gstelement.c:
5592         * check/gst/gstevent.c:
5593         * check/gst/gstghostpad.c:
5594         * check/gst/gstiterator.c:
5595         * check/gst/gstmessage.c:
5596         * check/gst/gstminiobject.c:
5597         * check/gst/gstobject.c:
5598         * check/gst/gstpad.c:
5599         * check/gst/gstpipeline.c:
5600         * check/gst/gstplugin.c:
5601         * check/gst/gstsegment.c:
5602         * check/gst/gststructure.c:
5603         * check/gst/gstsystemclock.c:
5604         * check/gst/gsttag.c:
5605         * check/gst/gstutils.c:
5606         * check/gst/gstvalue.c:
5607         * check/net/.cvsignore:
5608         * check/net/gstnetclientclock.c:
5609         * check/net/gstnettimeprovider.c:
5610         * check/pipelines/.cvsignore:
5611         * check/pipelines/cleanup.c:
5612         * check/pipelines/simple_launch_lines.c:
5613         * check/pipelines/stress.c:
5614         * check/states/.cvsignore:
5615         * check/states/sinks.c:
5616         * configure.ac:
5617         * examples/Makefile.am:
5618         * examples/appreader/.cvsignore:
5619         * examples/appreader/Makefile.am:
5620         * examples/appreader/appreader.c:
5621         * examples/controller/.cvsignore:
5622         * examples/controller/Makefile.am:
5623         * examples/controller/audio-example.c:
5624         * examples/cutter/.cvsignore:
5625         * examples/cutter/Makefile.am:
5626         * examples/cutter/cutter.c:
5627         * examples/cutter/cutter.h:
5628         * examples/events/Makefile.am:
5629         * examples/events/seek.c:
5630         * examples/helloworld/.cvsignore:
5631         * examples/helloworld/Makefile.am:
5632         * examples/helloworld/helloworld.c:
5633         * examples/helloworld2/.cvsignore:
5634         * examples/helloworld2/Makefile.am:
5635         * examples/helloworld2/helloworld2.c:
5636         * examples/launch/.cvsignore:
5637         * examples/launch/Makefile.am:
5638         * examples/launch/mp3parselaunch.c:
5639         * examples/launch/mp3play:
5640         * examples/manual/.cvsignore:
5641         * examples/manual/Makefile.am:
5642         * examples/manual/extract.pl:
5643         * examples/metadata/Makefile.am:
5644         * examples/metadata/read-metadata.c:
5645         * examples/mixer/.cvsignore:
5646         * examples/mixer/Makefile.am:
5647         * examples/mixer/mixer.c:
5648         * examples/mixer/mixer.h:
5649         * examples/pingpong/.cvsignore:
5650         * examples/pingpong/Makefile.am:
5651         * examples/pingpong/pingpong.c:
5652         * examples/plugins/.cvsignore:
5653         * examples/plugins/Makefile.am:
5654         * examples/plugins/example.c:
5655         * examples/plugins/example.h:
5656         * examples/pwg/.cvsignore:
5657         * examples/pwg/Makefile.am:
5658         * examples/pwg/extract.pl:
5659         * examples/queue/.cvsignore:
5660         * examples/queue/Makefile.am:
5661         * examples/queue/queue.c:
5662         * examples/queue2/.cvsignore:
5663         * examples/queue2/Makefile.am:
5664         * examples/queue2/queue2.c:
5665         * examples/queue3/.cvsignore:
5666         * examples/queue3/Makefile.am:
5667         * examples/queue3/queue3.c:
5668         * examples/queue4/.cvsignore:
5669         * examples/queue4/Makefile.am:
5670         * examples/queue4/queue4.c:
5671         * examples/retag/.cvsignore:
5672         * examples/retag/Makefile.am:
5673         * examples/retag/retag.c:
5674         * examples/retag/transcode.c:
5675         * examples/thread/.cvsignore:
5676         * examples/thread/Makefile.am:
5677         * examples/thread/thread.c:
5678         * examples/typefind/.cvsignore:
5679         * examples/typefind/Makefile.am:
5680         * examples/typefind/typefind.c:
5681         * examples/xml/.cvsignore:
5682         * examples/xml/Makefile.am:
5683         * examples/xml/createxml.c:
5684         * examples/xml/runxml.c:
5685         * tests/Makefile.am:
5686         * tests/check/Makefile.am:
5687         * testsuite/.cvsignore:
5688         * testsuite/Makefile.am:
5689         * testsuite/Rules:
5690         * testsuite/caps/.cvsignore:
5691         * testsuite/caps/Makefile.am:
5692         * testsuite/caps/app_fixate.c:
5693         * testsuite/caps/audioscale.c:
5694         * testsuite/caps/caps.c:
5695         * testsuite/caps/caps.h:
5696         * testsuite/caps/caps_strings:
5697         * testsuite/caps/compatibility.c:
5698         * testsuite/caps/deserialize.c:
5699         * testsuite/caps/enumcaps.c:
5700         * testsuite/caps/eratosthenes.c:
5701         * testsuite/caps/filtercaps.c:
5702         * testsuite/caps/fixed.c:
5703         * testsuite/caps/fraction-convert.c:
5704         * testsuite/caps/fraction-multiply-and-zero.c:
5705         * testsuite/caps/intersect2.c:
5706         * testsuite/caps/intersection.c:
5707         * testsuite/caps/normalisation.c:
5708         * testsuite/caps/random.c:
5709         * testsuite/caps/renegotiate.c:
5710         * testsuite/caps/sets.c:
5711         * testsuite/caps/simplify.c:
5712         * testsuite/caps/string-conversions.c:
5713         * testsuite/caps/structure.c:
5714         * testsuite/caps/subtract.c:
5715         * testsuite/caps/union.c:
5716         * testsuite/debug/.cvsignore:
5717         * testsuite/debug/Makefile.am:
5718         * testsuite/debug/category.c:
5719         * testsuite/debug/commandline.c:
5720         * testsuite/debug/global.c:
5721         * testsuite/debug/output.c:
5722         * testsuite/debug/printf_extension.c:
5723         * testsuite/dlopen/.cvsignore:
5724         * testsuite/dlopen/Makefile.am:
5725         * testsuite/dlopen/dlopen_gst.c:
5726         * testsuite/dlopen/loadgst.c:
5727         * testsuite/elements/.cvsignore:
5728         * testsuite/elements/Makefile.am:
5729         * testsuite/elements/gst-inspect-check.in:
5730         * testsuite/elements/struct_i386.h:
5731         * testsuite/elements/struct_size.c:
5732         * testsuite/indexers/.cvsignore:
5733         * testsuite/indexers/Makefile.am:
5734         * testsuite/indexers/cache1.c:
5735         * testsuite/indexers/indexdump.c:
5736         * testsuite/parse/.cvsignore:
5737         * testsuite/parse/Makefile.am:
5738         * testsuite/parse/parse1.c:
5739         * testsuite/parse/parse2.c:
5740         * testsuite/plugin/.cvsignore:
5741         * testsuite/plugin/Makefile.am:
5742         * testsuite/plugin/README:
5743         * testsuite/plugin/dynamic.c:
5744         * testsuite/plugin/linked.c:
5745         * testsuite/plugin/loading.c:
5746         * testsuite/plugin/registry.c:
5747         * testsuite/plugin/static.c:
5748         * testsuite/plugin/static2.c:
5749         * testsuite/plugin/testplugin.c:
5750         * testsuite/plugin/testplugin2.c:
5751         * testsuite/plugin/testplugin2_s.c:
5752         * testsuite/plugin/testplugin_s.c:
5753         * testsuite/refcounting/.cvsignore:
5754         * testsuite/refcounting/Makefile.am:
5755         * testsuite/refcounting/bin.c:
5756         * testsuite/refcounting/element.c:
5757         * testsuite/refcounting/element_pad.c:
5758         * testsuite/refcounting/mainloop.c:
5759         * testsuite/refcounting/mem.c:
5760         * testsuite/refcounting/mem.h:
5761         * testsuite/refcounting/object.c:
5762         * testsuite/refcounting/pad.c:
5763         * testsuite/refcounting/sched.c:
5764         * testsuite/refcounting/thread.c:
5765         * testsuite/states/.cvsignore:
5766         * testsuite/states/Makefile.am:
5767         * testsuite/states/bin.c:
5768         * testsuite/states/locked.c:
5769         * testsuite/states/parent.c:
5770         * testsuite/threads/.cvsignore:
5771         * testsuite/threads/159566.c:
5772         * testsuite/threads/159852.c:
5773         * testsuite/threads/Makefile.am:
5774         * testsuite/threads/queue.c:
5775         * testsuite/threads/signals.c:
5776         * testsuite/threads/staticrec.c:
5777         * testsuite/threads/thread.c:
5778         * testsuite/threads/threadb.c:
5779         * testsuite/threads/threadc.c:
5780         * testsuite/threads/threadd.c:
5781         * testsuite/threads/threade.c:
5782         * testsuite/threads/threadf.c:
5783         * testsuite/threads/threadg.c:
5784         * testsuite/threads/threadh.c:
5785         * testsuite/threads/threadi.c:
5786           move all of these under tests
5787
5788 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5789
5790         * configure.ac:
5791         * tests/Makefile.am:
5792           fix distcheck
5793
5794 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5795
5796         * docs/gst/gstreamer-sections.txt:
5797         * tests/sched/.cvsignore:
5798         * tests/sched/Makefile.am:
5799         * tests/sched/cases/(fs-fs).xml:
5800         * tests/sched/cases/(fs-i-fs).xml:
5801         * tests/sched/cases/(fs-i-i-fs).xml:
5802         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5803         * tests/sched/dynamic-pipeline.c:
5804         * tests/sched/interrupt1.c:
5805         * tests/sched/interrupt2.c:
5806         * tests/sched/interrupt3.c:
5807         * tests/sched/runtestcases:
5808         * tests/sched/runxml.c:
5809         * tests/sched/sched-stress.c:
5810         * tests/sched/sort.c:
5811         * tests/sched/testcases:
5812         * tests/sched/testcases1.tc:
5813         * tests/seeking/.cvsignore:
5814         * tests/seeking/Makefile.am:
5815         * tests/seeking/seeking1.c:
5816         * tests/threadstate/.cvsignore:
5817         * tests/threadstate/Makefile.am:
5818         * tests/threadstate/test1.c:
5819         * tests/threadstate/test2.c:
5820         * tests/threadstate/threadstate1.c:
5821         * tests/threadstate/threadstate2.c:
5822         * tests/threadstate/threadstate3.c:
5823         * tests/threadstate/threadstate4.c:
5824         * tests/threadstate/threadstate5.c:
5825           remove obsolete tests
5826         * configure.ac:
5827         * tests/bench-complexity.scm:
5828         * tests/bench-mass_elements.scm:
5829         * tests/complexity.c:
5830         * tests/complexity.gnuplot:
5831         * tests/instantiate/.cvsignore:
5832         * tests/instantiate/Makefile.am:
5833         * tests/instantiate/caps.c:
5834         * tests/mass_elements.c:
5835         * tests/network-clock-utils.scm:
5836         * tests/network-clock.scm:
5837         * tests/plot-data:
5838         First pass at cleaning up tests/ dir before moving the rest
5839         Combined with CVS surgery
5840
5841 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5842
5843         * po/POTFILES.in:
5844           queue has moved, update
5845
5846 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5847
5848         * docs/gst/gstreamer-sections.txt:
5849           remove double entries from the docs
5850         * gst/gst_private.h:
5851         * gst/gstinfo.c: (_gst_debug_init):
5852           remove the THREAD debug category
5853         * gst/Makefile.am:
5854         * gst/gstqueue.c:
5855         * gst/gstqueue.h:
5856         * docs/gst/gstreamer.types:
5857         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5858         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5859           completely move queue and fix up debugging categories
5860
5861 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5862
5863         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5864           make initialization portable, using LL is not
5865
5866 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5867
5868         * win32/common/gstconfig.h:
5869           add large padding
5870
5871 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5872
5873         * win32/common/libgstreamer.def:
5874           rename symbols; sort base section
5875
5876 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5877
5878         * gst/gstclock.c: (do_linear_regression):
5879           remove crack non-portable handrolled DEBUG macro
5880
5881 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5882
5883         * docs/random/release:
5884           update notes
5885         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5886         (gst_object_flags_get_type), (register_gst_bin_flags),
5887         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5888         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5889         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5890         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5891         (gst_caps_flags_get_type), (register_gst_clock_return),
5892         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5893         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5894         (gst_clock_flags_get_type), (register_gst_state),
5895         (gst_state_get_type), (register_gst_state_change_return),
5896         (gst_state_change_return_get_type), (register_gst_state_change),
5897         (gst_state_change_get_type), (register_gst_element_flags),
5898         (gst_element_flags_get_type), (register_gst_core_error),
5899         (gst_core_error_get_type), (register_gst_library_error),
5900         (gst_library_error_get_type), (register_gst_resource_error),
5901         (gst_resource_error_get_type), (register_gst_stream_error),
5902         (gst_stream_error_get_type), (register_gst_event_type_flags),
5903         (gst_event_type_flags_get_type), (register_gst_event_type),
5904         (gst_event_type_get_type), (register_gst_seek_type),
5905         (gst_seek_type_get_type), (register_gst_seek_flags),
5906         (gst_seek_flags_get_type), (register_gst_format),
5907         (gst_format_get_type), (register_gst_index_certainty),
5908         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5909         (gst_index_entry_type_get_type),
5910         (register_gst_index_lookup_method),
5911         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5912         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5913         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5914         (gst_index_flags_get_type), (register_gst_debug_level),
5915         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5916         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5917         (gst_iterator_result_get_type), (register_gst_iterator_item),
5918         (gst_iterator_item_get_type), (register_gst_message_type),
5919         (gst_message_type_get_type), (register_gst_mini_object_flags),
5920         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5921         (gst_pad_link_return_get_type), (register_gst_flow_return),
5922         (gst_flow_return_get_type), (register_gst_activate_mode),
5923         (gst_activate_mode_get_type), (register_gst_pad_direction),
5924         (gst_pad_direction_get_type), (register_gst_pad_flags),
5925         (gst_pad_flags_get_type), (register_gst_pad_presence),
5926         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5927         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5928         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5929         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5930         (gst_plugin_flags_get_type), (register_gst_rank),
5931         (gst_rank_get_type), (register_gst_query_type),
5932         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5933         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5934         (gst_tag_flag_get_type), (register_gst_task_state),
5935         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5936         (gst_alloc_trace_flags_get_type),
5937         (register_gst_type_find_probability),
5938         (gst_type_find_probability_get_type), (register_gst_uri_type),
5939         (gst_uri_type_get_type), (register_gst_parse_error),
5940         (gst_parse_error_get_type):
5941         * win32/common/gstenumtypes.h:
5942         * win32/common/gstversion.h:
5943           update visual studio generated files
5944
5945 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5946
5947         * win32/vs6/libgstbase.dsp:
5948         * win32/vs6/libgstelements.dsp:
5949           update project files for new locations
5950
5951 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5952
5953         * Makefile.am:
5954           remove some files
5955         * README:
5956           reinstate and update
5957         * DEVEL:
5958         * REQUIREMENTS:
5959           removed
5960         * LICENSE:
5961         * docs/random/LICENSE:
5962           moved to random
5963
5964 2005-11-30  Edward Hervey  <edward@fluendo.com>
5965
5966         * gst/gsttypefind.c: (gst_type_find_register):
5967         * gst/gsttypefind.h:
5968         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5969         (gst_type_find_factory_dispose):
5970         * gst/gsttypefindfactory.h:
5971         Fix memory leak in GstTypeFindFactory.
5972
5973 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5974
5975         * gst/gst.c:
5976         * plugins/elements/Makefile.am:
5977         * plugins/elements/gstelements.c:
5978         * plugins/elements/gstqueue.c:
5979           move queue from core to the elements plugin
5980
5981 2005-11-29  Andy Wingo  <wingo@pobox.com>
5982
5983         * libs/gst/base/gstbasetransform.h: 
5984         * libs/gst/base/gstbasesrc.h: 
5985         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5986
5987         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5988         of pointers by which to pad very extensible base classes (like the
5989         ones in libs/gst/base).
5990
5991 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5992
5993         * docs/gst/gstreamer-docs.sgml:
5994         * docs/gst/gstreamer-sections.txt:
5995         * docs/libs/gstreamer-libs-docs.sgml:
5996         * docs/libs/gstreamer-libs-sections.txt:
5997           moving documentation from core to lib
5998
5999 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6000
6001         * check/Makefile.am:
6002         * configure.ac:
6003         * docs/gst/Makefile.am:
6004         * gst/Makefile.am:
6005         * gst/base/.cvsignore:
6006         * gst/base/Makefile.am:
6007         * gst/base/README:
6008         * gst/base/gstadapter.c:
6009         * gst/base/gstadapter.h:
6010         * gst/base/gstbasesink.c:
6011         * gst/base/gstbasesink.h:
6012         * gst/base/gstbasesrc.c:
6013         * gst/base/gstbasesrc.h:
6014         * gst/base/gstbasetransform.c:
6015         * gst/base/gstbasetransform.h:
6016         * gst/base/gstcollectpads.c:
6017         * gst/base/gstcollectpads.h:
6018         * gst/base/gstpushsrc.c:
6019         * gst/base/gstpushsrc.h:
6020         * gst/base/gsttypefindhelper.c:
6021         * gst/base/gsttypefindhelper.h:
6022         * gst/check/Makefile.am:
6023         * gst/check/gstcheck.c:
6024         * gst/check/gstcheck.h:
6025         * gst/net/Makefile.am:
6026         * gst/net/gstnet.h:
6027         * gst/net/gstnetclientclock.c:
6028         * gst/net/gstnetclientclock.h:
6029         * gst/net/gstnettimepacket.c:
6030         * gst/net/gstnettimepacket.h:
6031         * gst/net/gstnettimeprovider.c:
6032         * gst/net/gstnettimeprovider.h:
6033         * libs/gst/Makefile.am:
6034         * libs/gst/base/Makefile.am:
6035         * libs/gst/base/gstbasetransform.c:
6036         * libs/gst/check/Makefile.am:
6037         * plugins/elements/Makefile.am:
6038         * po/POTFILES.in:
6039           CVS surgery + support to move base, check, and net out of gst
6040           and into libs/gst
6041
6042 2005-11-29  Andy Wingo  <wingo@pobox.com>
6043
6044         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6045
6046         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6047         padding.
6048
6049         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6050
6051         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6052
6053         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6054
6055         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6056         padding; reduces object size by about 30%. We don't expect
6057         anything else to go into gstobject.
6058
6059         * gst/gstminiobject.h (struct _GstMiniObject)
6060         (struct _GstMiniObjectClass): Only one pointer of padding; the
6061         payload is only a pointer and two ints anyway. For the class there
6062         are only two methods as well.
6063         
6064         * gst/gstelement.h (struct _GstElementClass): Removed
6065         the state_changed signal callback, it is not used.
6066
6067 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6068
6069         * docs/gst/gstreamer.types:
6070           fix includes, though they are a little dinky
6071
6072 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6073
6074         * check/Makefile.am:
6075           look in the right place for elements, a lot more chance of
6076           success
6077         * gst/Makefile.am:
6078           remove indexers and elements subdirs
6079         * plugins/Makefile.am:
6080           make indexers conditional
6081
6082 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6083
6084         * Makefile.am:
6085         * configure.ac:
6086         * plugins/elements/Makefile.am:
6087         * plugins/elements/gstcapsfilter.c:
6088         * plugins/elements/gstfilesink.c:
6089         * plugins/elements/gstfilesrc.c:
6090         * plugins/elements/gstidentity.c:
6091         * plugins/indexers/Makefile.am:
6092           do CVS surgery and related build fixery to move elements
6093           and indexers in a new gstreamer/plugins directory, out of the
6094           gst/ directory
6095
6096 2005-11-29  Andy Wingo  <wingo@pobox.com>
6097
6098         * check/Makefile.am:
6099         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6100         * pkgconfig/gstreamer-net.pc.in:
6101         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6102         #322257.
6103
6104 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6105
6106         * tools/Makefile.am:
6107         * tools/gst-complete.1.in:
6108         * tools/gst-complete.c:
6109         * tools/gst-compprep.1.in:
6110         * tools/gst-compprep.c:
6111           removing -compprep and -complete
6112
6113 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6114
6115         * gst/gstevent.c: (gst_event_new_new_segment),
6116         (gst_event_parse_new_segment):
6117         * gst/gstevent.h:
6118           fix #320529 - clean up new_segment API and structure.
6119           Let's hope everyone was using the methods, and not the structure.
6120
6121 2005-11-29  Edward Hervey  <edward@fluendo.com>
6122
6123         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6124         (gst_base_sink_event), (gst_base_sink_do_sync),
6125         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6126         Properly handle non GST_FORMAT_TIME segment
6127         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6128         Properly handle non GST_FORMAT_TIME segment
6129         * gst/gstsegment.c:
6130         This function is valid if the accumulator is 0 and the format
6131         is different from the requested format.
6132         
6133 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6134
6135         * docs/gst/gstreamer-sections.txt:
6136         Add gst_query_new_seeking and gst_query_parse_seeking to the
6137         docs.
6138
6139 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6140
6141         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6142           Treat a pad alloc with new caps the same as if we were not
6143           negotiated, in order to allow a changing upstream output
6144           to produce a new format of data.
6145
6146 2005-11-29  Edward Hervey  <edward@fluendo.com>
6147
6148         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6149         (gst_base_transform_event), (gst_base_transform_eventfunc):
6150         The event virtual method is now properly implemented, with a default
6151         handler
6152         Sub classes should call the parent_class event method. They should
6153         return FALSE if they had a problem handling the given event, or don't
6154         want GstBaseTransform to send that even downstream
6155         * gst/elements/gstidentity.c: (gst_identity_class_init),
6156         (gst_identity_init), (gst_identity_event),
6157         (gst_identity_transform_ip), (gst_identity_set_property),
6158         (gst_identity_get_property):
6159         * gst/elements/gstidentity.h:
6160         Added the single-segment boolean property.
6161         If set to TRUE, it will output a single segment of data, starting from
6162         0, will eat up all incoming newsegment, and modify the timestamp of the
6163         buffers accordingly
6164
6165 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6166
6167         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6168           Don't ref NULL target pad (#322751). Improve docs.
6169
6170 2005-11-29  Michael Smith  <msmith@fluendo.com>
6171
6172         * gst/gstregistryxml.c: (load_plugin):
6173           Don't crash if we failed to load a feature from a plugin. 
6174
6175 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6176
6177         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6178         (GST_START_TEST):
6179           use more check API and less GLib API
6180
6181 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6182
6183         * Makefile.am:
6184           don't run checks if we don't have check
6185         * common/check.mak:
6186           remove the registry when running make torture
6187         * docs/gst/gstreamer-sections.txt:
6188           remove second multiply
6189         * gst/gstqueue.c: (gst_queue_loop):
6190           fix a compile warning when disabling debug
6191
6192 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6193
6194         * gst/gstinfo.h:
6195         Hey! Let's print the pad name if the pointer != NULL instead
6196         of when it == NULL :-)
6197
6198 2005-11-28  Wim Taymans  <wim@fluendo.com>
6199
6200         * check/gst/gstutils.c: (GST_START_TEST):
6201         Updated check, add some scaling accuracy checking code.
6202
6203         * gst/gstutils.c: (gst_util_div128_64),
6204         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6205         (gst_util_uint64_scale_int):
6206         Fix 6 times faster division code. Optimize for common 
6207         1/1 and less common X/1 cases.
6208
6209 2005-11-28  Wim Taymans  <wim@fluendo.com>
6210
6211         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6212         More checks.
6213
6214         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6215         (do_linear_regression), (gst_clock_add_observation):
6216         Cleanups.
6217         Release lock when the clock cannot be slaved.
6218         Catch the case where the regression returned an invalid denominator.
6219
6220         * gst/gstutils.c: (gst_util_div128_64_iterate),
6221         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6222         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6223         Add protentially more performant non-iterative 128/64 divide function
6224         that unfortunatly does not work yet.
6225         Shortcut the trivial 0/X = 0 case.
6226         Remove the warnings on overflow.
6227
6228 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6229
6230         * gst/gstplugin.c: (gst_plugin_register_func):
6231           everything causing a plugin not to load should be at least a WARNING
6232
6233 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6234
6235         * docs/random/ensonic/dparams.txt:
6236           some TODOs for the next dev cycle
6237         * libs/gst/controller/gstcontroller.c:
6238         (gst_controlled_property_set_interpolation_mode),
6239         (gst_controlled_property_new):
6240         * libs/gst/controller/gstcontroller.h:
6241           use base type to assign acccessor functions
6242
6243 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6244
6245         * check/Makefile.am:
6246         Oops, that should have been top_srcdir
6247
6248 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6249
6250         * check/Makefile.am:
6251         * check/elements/fdsrc.c: (GST_START_TEST):
6252         Use a cmdline define to specify the location of a file to use for
6253         testing, to avoid breaking distcheck.
6254
6255 2005-11-28  Andy Wingo  <wingo@pobox.com>
6256
6257         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6258
6259 2005-11-28  Edward Hervey  <edward@fluendo.com>
6260
6261         * tools/gst-launch.c: (main):
6262         Clarify the output strings, makes it easier to translate.
6263         Fixes #322626
6264
6265 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6266
6267         * gst/Makefile.am:
6268           don't try and build net if we don't even have <sys/socket.h>
6269
6270 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6271
6272         * check/Makefile.am:
6273         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6274         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6275           Add tests for fdsrc seekability
6276
6277         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6278         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6279         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6280         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6281         * gst/elements/gstfdsrc.h:
6282           fdsrc should not be a 'live' source.
6283           Implement seeking on seekable fd's.
6284
6285         * gst/gstquery.c: (gst_query_new_seeking),
6286         (gst_query_parse_seeking):
6287         * gst/gstquery.h:
6288           Implement SEEKING query functions: 
6289             *_new_seeking and *_parse_seeking
6290
6291 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6292
6293         * gst/gstelement.c: (gst_element_dispose):
6294           don't loop forever
6295
6296         * gst/gstiterator.c:
6297         * gst/gststructure.c:
6298           doc fixes
6299
6300         * libs/gst/controller/gstcontroller.c:
6301         (gst_controlled_property_set_interpolation_mode):
6302         * libs/gst/controller/gstcontroller.h:
6303         * libs/gst/controller/gstinterpolation.c:
6304         (interpolate_none_get_enum_value_array):
6305           support controlling enums
6306
6307 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6308
6309         * gst/gstvalue.c:
6310           Improve documentation for gst_value_union().
6311
6312         * gst/gstvalue.h:
6313           Change return value for union, intersect and subtract functions
6314           from gint to gboolean.
6315
6316 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6317
6318         * gst/gstvalue.c: (gst_value_serialize_any_list),
6319         (gst_value_transform_any_list_string),
6320         (gst_value_deserialize_list), (gst_value_deserialize_array),
6321         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6322         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6323         (gst_value_set_fraction_range_full),
6324         (gst_value_deserialize_fraction_range),
6325         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6326         (gst_value_deserialize_boolean),
6327         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6328         (gst_value_serialize_float), (gst_value_deserialize_float),
6329         (gst_string_wrap), (gst_value_deserialize_string),
6330         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6331         (gst_value_union_int_range_int_range),
6332         (gst_value_intersect_int_range_int_range),
6333         (gst_value_intersect_double_range_double_range),
6334         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6335         (gst_value_subtract_int_range_int_range),
6336         (gst_value_subtract_double_double_range),
6337         (gst_value_subtract_double_range_double_range),
6338         (gst_value_deserialize_fraction):
6339         * gst/gstvalue.h:
6340           Use gint, gdouble and gchar in our API instead of int, double and
6341           char (and make usage in gstvalue.c more consistent).
6342
6343 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6344
6345         * check/Makefile.am:
6346         * libs/gst/controller/Makefile.am:
6347         * libs/gst/dataprotocol/Makefile.am:
6348           fix up Makefile.am and remove GST_ENABLE_NEW
6349
6350 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6351
6352         * configure.ac:
6353         * gst/Makefile.am:
6354         * gst/base/Makefile.am:
6355         * gst/check/Makefile.am:
6356         * gst/elements/Makefile.am:
6357         * gst/net/Makefile.am:
6358           update LDFLAGS use some more
6359
6360 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6361
6362         * common/m4/gst-doc.m4:
6363           Fixes #312589
6364
6365 2005-11-26  Edward Hervey  <edward@fluendo.com>
6366
6367         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6368         This shouldn't issue a g_warning since it returns NULL if it
6369         couldn't find the plugin, and all functions using this behave
6370         properly on a NULL return. Switching to a GST_WARNING.
6371
6372 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6373
6374         * gst/gstbin.c: (gst_bin_handle_message_func):
6375         Don't leak clock messages.
6376
6377 2005-11-25  Wim Taymans  <wim@fluendo.com>
6378
6379         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6380         (gst_util_uint64_scale_int):
6381         Optimisations, remove unneeded vars.
6382
6383 2005-11-25  Wim Taymans  <wim@fluendo.com>
6384
6385         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6386         Added more checks for the high precision uint64 cases.
6387
6388         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6389         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6390         Implement high precision (guint64 * guint64) / guint64.
6391
6392 2005-11-24  Wim Taymans  <wim@fluendo.com>
6393
6394         * gst/base/gstbasesrc.c: (gst_base_src_query):
6395         Fix wrong percentage query.
6396
6397         * gst/gstutils.c: (gst_util_uint64_scale),
6398         (gst_util_uint64_scale_int):
6399         Add some more common cases that can be handled 
6400         efficiently to _scale.
6401
6402 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6403
6404         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6405         (gst_mini_object_suite):
6406           don't use check calls from threads; check probably isn't
6407           threadsafe and using a lock to make it threadsafe would
6408           defeat the purpose of this check
6409         * gst/check/gstcheck.c:
6410         * gst/check/gstcheck.h:
6411           use GST_DEBUG some more
6412
6413 2005-11-24  Wim Taymans  <wim@fluendo.com>
6414
6415         * gst/gstutils.c: (gst_util_uint64_scale),
6416         (gst_util_uint64_scale_int):
6417         Chain trivial case to _scale_int.
6418
6419 2005-11-24  Wim Taymans  <wim@fluendo.com>
6420
6421         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6422         Added test for scaling.
6423
6424         * gst/gstclock.h:
6425         Small doc fix.
6426
6427         * gst/gstutils.c: (gst_util_uint64_scale_int):
6428         Implemented high precision scaling code.
6429
6430 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6431
6432         * gst/gstinfo.h:
6433           do not crash on pad==NULL
6434
6435 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6436
6437         Patch by: Stefan Kost
6438
6439         * common/gtk-doc.mak:
6440         * docs/gst/Makefile.am:
6441         * docs/libs/Makefile.am:
6442           Fix distcheck issues for the libraries docs build
6443           Closes #319599.
6444
6445 2005-11-24  Michael Smith <msmith@fluendo.com>
6446
6447         * docs/manual/basics-helloworld.xml:
6448           Fix bug #315027: memory leak in example code in docs.
6449
6450 2005-11-24  Michael Smith <msmith@fluendo.com>
6451
6452         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6453           Unlock the PREROLL_LOCK in a failure case.
6454
6455 2005-11-24  Wim Taymans  <wim@fluendo.com>
6456
6457         * docs/gst/gstreamer-sections.txt:
6458         * gst/base/gstadapter.h:
6459         * gst/base/gstbasesink.h:
6460         * gst/base/gstbasesrc.h:
6461         * gst/base/gstbasetransform.h:
6462         * gst/base/gstpushsrc.h:
6463         * gst/elements/gstfakesink.h:
6464         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6465         * gst/elements/gstfakesrc.h:
6466         * gst/elements/gstfilesink.h:
6467         * gst/elements/gstfilesrc.h:
6468         * gst/gst.c:
6469         * gst/gstbin.c:
6470         * gst/gstbuffer.c: (_gst_buffer_copy):
6471         * gst/gstbus.h:
6472         * gst/gstcaps.c:
6473         * gst/gstchildproxy.c:
6474         * gst/gstclock.c:
6475         * gst/gstelement.c:
6476         * gst/gstelementfactory.c:
6477         * gst/gstelementfactory.h:
6478         * gst/gstevent.c:
6479         * gst/gstghostpad.h:
6480         * gst/gstindex.h:
6481         * gst/gstinterface.h:
6482         * gst/gstminiobject.c:
6483         * gst/gstminiobject.h:
6484         * gst/gstpad.c:
6485         * gst/gstpad.h:
6486         * gst/gstpadtemplate.h:
6487         * gst/gstpipeline.h:
6488         * gst/gstpluginfeature.h:
6489         * gst/gstquery.h:
6490         * gst/gstqueue.h:
6491         * gst/gsttaglist.c:
6492         * gst/gsttaglist.h:
6493         * gst/gsttagsetter.c:
6494         * gst/gsttagsetter.h:
6495         * gst/gsttrace.c:
6496         * gst/gsttrace.h:
6497         * gst/gsttypefind.h:
6498         * gst/gsturi.h:
6499         * gst/gstvalue.c:
6500         * gst/net/gstnetclientclock.c:
6501         * gst/net/gstnetclientclock.h:
6502         * gst/net/gstnettimepacket.c:
6503         * gst/net/gstnettimeprovider.c:
6504         * gst/net/gstnettimeprovider.h:
6505         Doc fixes.
6506
6507 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6508
6509         * configure.ac: back to HEAD
6510
6511 === release 0.9.6 ===
6512
6513 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6514
6515         * configure.ac:
6516           releasing 0.9.6, "Always On Time"
6517
6518 2005-11-23  Wim Taymans  <wim@fluendo.com>
6519
6520         * docs/gst/gstreamer-sections.txt:
6521         * gst/glib-compat.c:
6522         * gst/gsttagsetter.c:
6523         * gst/gstvalue.c:
6524         * gst/net/gstnetclientclock.c:
6525         * gst/net/gstnettimepacket.h:
6526         Doc updates.
6527
6528 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6529
6530         * docs/faq/using.xml:
6531         * docs/libs/tmpl/gstcontrol.sgml:
6532         * docs/manual/advanced-dparams.xml:
6533         * docs/manual/appendix-checklist.xml:
6534         * docs/manual/basics-elements.xml:
6535         * docs/pwg/other-source.xml:
6536         * docs/random/moving-plugins:
6537         * gst/gstpad.c:
6538         * tools/gst-launch.1.in:
6539           remove mentions of sinesrc
6540
6541 2005-11-23  Michael Smith <msmith@fluendo.com>
6542
6543         * docs/gst/gstreamer-sections.txt:
6544           Update for new API and API changes.
6545         * gst/gstobject.h:
6546           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6547         * gst/gstvalue.c:
6548           Documentation typo fix.
6549         * gst/net/gstnettimepacket.c:
6550           Documentation fixes for arguments.
6551
6552 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6553
6554         * gst/gststructure.c: (gst_structure_get_fraction),
6555         (gst_structure_parse_value),
6556         (gst_structure_fixate_field_nearest_fraction):
6557         * gst/gststructure.h:
6558         * gst/gstutils.c: (gst_util_uint64_scale_int):
6559         * gst/gstutils.h:
6560         * scripts/update-funcnames:
6561         API Changes. 
6562         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6563         Make gst_structure_fixate_field_nearest_fraction take a numerator
6564         and denominator argument instead of a GValue
6565         add gst_structure_get_fraction helper function.
6566
6567 2005-11-23  Wim Taymans  <wim@fluendo.com>
6568
6569         * docs/design/part-TODO.txt:
6570         Update TODO.
6571
6572         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6573         * gst/net/gstnetclientclock.h:
6574         Use parent fields for timeout and window_size.
6575
6576 2005-11-23  Andy Wingo  <wingo@pobox.com>
6577
6578         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6579         rate_num/rate_denom change.
6580
6581         * gst/net/gstnetclientclock.c
6582         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6583         OBJECT_LOCK. Don't call add_observation with the lock.
6584
6585         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6586         fraction.
6587         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6588         rate fraction.
6589         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6590         deal with rate as a fraction whose numerator and denominator are
6591         GstClockTime values.
6592         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6593         master; the other fields are protected by the SLAVE_LOCK.
6594         (do_linear_regression): Note that this must be called with the
6595         SLAVE_LOCK.
6596         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6597         OBJECT_LOCK. Call set_calibration instead of touching the
6598         variables directly.
6599         (gst_clock_set_property, gst_clock_get_property): Protect
6600         master/slave parameters with the SLAVE_LOCK.
6601
6602         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6603         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6604         note that all of the instance variables that add_observation and
6605         the set_master functions use are protected by that lock and not
6606         the OBJECT_LOCK.
6607         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6608
6609         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6610         the caller to take the object lock.
6611
6612 2005-11-23  Wim Taymans  <wim@fluendo.com>
6613
6614         * gst/gsterror.c: (_gst_core_errors_init):
6615         * gst/gsterror.h:
6616         Add error for clock stuff.
6617
6618         * gst/gstpipeline.c: (gst_pipeline_change_state),
6619         (gst_pipeline_set_clock):
6620         Post clock error when clock cannot be used in a pipeline.
6621
6622 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6623
6624         * docs/gst/gstreamer-sections.txt:
6625           make two symbols from gstinfo private for the docs
6626         * gst/base/gstcollectpads.h:
6627         * gst/gstutils.c:
6628           fix doc typos, update docs
6629
6630 2005-11-22  Wim Taymans  <wim@fluendo.com>
6631
6632         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6633         (gst_base_sink_wait), (gst_base_sink_do_sync),
6634         (gst_base_sink_handle_event):
6635         * gst/base/gstbasesink.h:
6636         No need to store the clock, the parent element class already
6637         has it.
6638
6639         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6640         Updates for clock_set returning a gboolean
6641
6642         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6643         (gst_clock_id_wait_async), (gst_clock_class_init),
6644         (gst_clock_init), (gst_clock_finalize),
6645         (gst_clock_get_internal_time), (gst_clock_get_time),
6646         (gst_clock_slave_callback), (gst_clock_set_master),
6647         (gst_clock_get_master), (do_linear_regression),
6648         (gst_clock_add_observation), (gst_clock_set_property),
6649         (gst_clock_get_property):
6650         * gst/gstclock.h:
6651         Implement master/slave. When setting a clock as a slave, a
6652         periodic timeout is scheduled to sample master and slave times.
6653         Then the slave clock is recalibrated to match offset and rate
6654         of the master clock.
6655         Update logging a bit.
6656         Add flag so that a clock can state that is cannot be slaved to
6657         another clock.
6658
6659         * gst/gstelement.c: (gst_element_set_clock):
6660         * gst/gstelement.h:
6661         The set clock returns a gboolean for when an element cannot
6662         deal with the selected clock in the pipeline. 
6663
6664         * gst/gstpipeline.c: (gst_pipeline_change_state),
6665         (gst_pipeline_set_clock):
6666         * gst/gstpipeline.h:
6667         Handle the case where the selected clock cannot be set on
6668         the pipeline.
6669
6670         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6671         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6672         (gst_net_client_clock_set_property),
6673         (gst_net_client_clock_get_property),
6674         (gst_net_client_clock_observe_times):
6675         * gst/net/gstnetclientclock.h:
6676         Use regression code in GstClock parent, remove duplicated
6677         functionality.
6678
6679 2005-11-22  Michael Smith <msmith@fluendo.com>
6680
6681         * gst/gstutils.c: (gst_util_clock_time_scale):
6682         * gst/gstutils.h:
6683         * docs/gst/gstreamer-sections.txt:
6684           Rename method to have extra underscore.
6685
6686 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6687
6688         * gst/elements/Makefile.am:
6689         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6690         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6691         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6692         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6693         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6694         * gst/elements/gstfakesrc.h:
6695         * gst/gstqueue.c: (queue_leaky_get_type):
6696           correctly fix GEnumValues so that nick is the short lowercase
6697           dashed tag
6698         * tools/gst-inspect.c: (print_element_properties_info):
6699           also show the nick, since it's useful to use from parse_launch
6700           syntax
6701           Fixes #322139
6702
6703 2005-11-22  Michael Smith <msmith@fluendo.com>
6704
6705         * gst/gstutils.c: (gst_util_clocktime_scale):
6706         * gst/gstutils.h:
6707         * docs/gst/gstreamer-sections.txt:
6708           Add util method for scaling a clocktime by a fraction. Useful 
6709           implementation is left as an exercise for the reader.
6710
6711 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6712
6713         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6714         If needed, allocate storage in the destination value during
6715         collection.
6716
6717 2005-11-22  Edward Hervey  <edward@fluendo.com>
6718
6719         * docs/gst/gstreamer-sections.txt:
6720         * gst/Makefile.am:
6721         * gst/gst.h:
6722         * gst/gsturitype.c:
6723         * gst/gsturitype.h:
6724         * gst/gstutils.c: (gst_util_set_object_arg):
6725         * tools/gst-compprep.c: (main):
6726         * tools/gst-inspect.c: (print_element_properties_info):
6727         Removed GstURI, closes bug #321061
6728
6729 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6730
6731         * check/gst/gststructure.c: (GST_START_TEST):
6732         * gst/gststructure.c: (gst_structure_parse_value):
6733           Oops, broke automatic string type parsing.
6734           Add a test to catch it in future.
6735
6736 2005-11-22  Andy Wingo  <wingo@pobox.com>
6737
6738         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6739         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6740         Actually rename the function implementations. Grr.
6741
6742 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6743
6744         * check/gst/capslist.h:
6745           Comment test cases
6746         * check/gst/gststructure.c: (GST_START_TEST),
6747         (gst_structure_suite):
6748           Test automatic value type detection in gst_structure_from_string.
6749         * gst/gststructure.c: (gst_structure_parse_value):
6750           Add fraction as a type we try and guess automatically in
6751           caps/structure strings.
6752
6753 2005-11-22  Andy Wingo  <wingo@pobox.com>
6754
6755         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6756
6757         * gst/gsttagsetter.h:
6758         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6759         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6760         (gst_tag_setter_add_tag_valist)
6761         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6762         _add_values, _add_valist, and _add_valist_values. Since this is an
6763         interface the function suffixes should be more explicit so
6764         language binding don't end up with element.add_valist ->
6765         gst_tag_setter_add_valist, for example. Fixes #322069.
6766
6767 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6768
6769         * check/gst/gstcaps.c: (GST_START_TEST):
6770           Extend caps string tests to check that a caps to string
6771           conversion is reversible and produces the same caps.
6772
6773         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6774           Output "fraction" as the generic type fraction range, so caps
6775           serialisation and deserialisation works.
6776         * check/gst/capslist.h:
6777         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6778           Support 'MIN' and 'MAX' for deserialising fractions.
6779
6780 2005-11-22  Andy Wingo  <wingo@pobox.com>
6781
6782         * gst/gstevent.h (gst_event_new_new_segment)
6783         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6784         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6785         Renamed from *_newsegment, *_buffersize, *_notarget.
6786
6787         * scripts/update-funcnames: New script, performs the changes
6788         listed above.
6789
6790 2005-11-22  Wim Taymans  <wim@fluendo.com>
6791
6792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6793         Make sure the GstFlowReturn is returned.
6794
6795         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6796         (gst_bus_add_signal_watch):
6797         * gst/gstbus.h:
6798         add gst_bus_add_signal_watch_full.
6799
6800         * gst/gstplugin.c: (gst_plugin_load_file):
6801         Small style cleanup.
6802
6803 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6804
6805         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6806           Block the fakesrc srcpad when we send an event, to avoid
6807           contention on the stream_lock causing random test failures.
6808
6809 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6810
6811         * check/gst/gstvalue.c: (GST_START_TEST):
6812         * gst/gstvalue.c: (gst_value_fraction_subtract):
6813           Fix subtraction.
6814
6815 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6816
6817         * gst/gst.h:
6818           include "gstchildproxy.h"
6819         * gst/gstchildproxy.h:
6820         * libs/gst/controller/gstcontroller.h:
6821           use G_GNUC_NULL_TERMINATED
6822
6823 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6824
6825         * check/gst/capslist.h:
6826         * check/gst/gstcaps.c: (GST_START_TEST):
6827         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6828         * gst/gststructure.c: (gst_structure_parse_range),
6829         (gst_structure_fixate_field_nearest_fraction):
6830         * gst/gststructure.h:
6831         * gst/gstvalue.c: (gst_value_init_fraction_range),
6832         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6833         (gst_value_collect_fraction_range),
6834         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6835         (gst_value_set_fraction_range_full),
6836         (gst_value_get_fraction_range_min),
6837         (gst_value_get_fraction_range_max),
6838         (gst_value_serialize_fraction_range),
6839         (gst_value_transform_fraction_range_string),
6840         (gst_value_compare_fraction_range),
6841         (gst_value_deserialize_fraction_range),
6842         (gst_value_intersect_fraction_fraction_range),
6843         (gst_value_intersect_fraction_range_fraction_range),
6844         (gst_value_subtract_fraction_fraction_range),
6845         (gst_value_subtract_fraction_range_fraction),
6846         (gst_value_subtract_fraction_range_fraction_range),
6847         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6848         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6849         (gst_value_transform_string_fraction), (_gst_value_initialize):
6850         * gst/gstvalue.h:
6851           Implement fraction ranges and extend GstFraction to support
6852           arithmetic subtraction, as well as deserialization from integer
6853           strings such as "100"
6854           Add a testsuite as for int and double range set operations
6855
6856 2005-11-21  Andy Wingo  <wingo@pobox.com>
6857
6858         * gst/gsttaglist.h: 
6859         * gst/gstcaps.h: 
6860         * gst/gststructure.h: Add glib-compat.h.
6861
6862 2005-11-21  Wim Taymans  <wim@fluendo.com>
6863
6864         * gst/gstbin.c: (gst_bin_change_state_func):
6865         Fix for #321595
6866
6867 2005-11-21  Wim Taymans  <wim@fluendo.com>
6868
6869         * gst/gstsegment.h:
6870         And add a nice define too.
6871
6872 2005-11-21  Wim Taymans  <wim@fluendo.com>
6873
6874         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6875         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6876         (gst_segment_set_duration), (gst_segment_set_last_stop),
6877         (gst_segment_set_seek), (gst_segment_set_newsegment),
6878         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6879         (gst_segment_clip):
6880         * gst/gstsegment.h:
6881         Make binding friendly.
6882
6883 2005-11-21  Andy Wingo  <wingo@pobox.com>
6884
6885         * gst/gsttagsetter.h: 
6886         * gst/gsttaglist.h: 
6887         * gst/gststructure.h: 
6888         * gst/gstcaps.h: 
6889         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6890         #319940.
6891
6892         * gst/gsterror.c (_gst_core_errors_init):
6893         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6894         category.
6895
6896         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6897         (noinst_HEADERS): noinst the -private.
6898
6899 2005-11-21  Michael Smith <msmith@fluendo.com>
6900
6901         * gst/gstplugin.h:
6902         * gst/gstregistry.h:
6903           Remove unimplemented declarations for which we can see no sensible
6904           use.
6905
6906 2005-11-21  Andy Wingo  <wingo@pobox.com>
6907
6908         * gst/gst.h: Include glib-compat.h.
6909
6910         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6911
6912         * gst/glib-compat.c: Include the public and the private header.
6913
6914         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6915
6916         * gst/gstvalue.c: 
6917         * gst/gstpad.c: 
6918         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6919
6920         * check/gst/gstevent.c (create_custom_events): Check that
6921         FLUSH_STOP is serialized.
6922
6923         * check/elements/identity.c (event_func): 
6924         * check/elements/fakesrc.c (event_func): No stream lock, the core
6925         takes it.
6926
6927         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6928         stream lock taking, yay.
6929
6930         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6931         ensure that core takes the stream lock.
6932
6933         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6934         lock name change.
6935
6936         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6937         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6938         it already. For the flush start we do take it though so we get the
6939         right preroll state change messages.
6940
6941         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6942         the stream lock here, the core does it for us.
6943
6944         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6945         GST_STREAM_GET_LOCK.
6946         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6947         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6948         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6949         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6950         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6951         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6952
6953         * gst/gstpad.c: Update for stream lock name change.
6954
6955         * gst/base/gstbasesink.c: Update for preroll lock name change.
6956
6957 2005-11-21  Wim Taymans  <wim@fluendo.com>
6958
6959         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6960         (gst_clock_get_master):
6961         * gst/gstclock.h:
6962         * gst/gstsystemclock.c: (gst_system_clock_init):
6963         Convert Clock flags to object flags.
6964         Added methods to manage master/slave clocks.
6965
6966 2005-11-21  Wim Taymans  <wim@fluendo.com>
6967
6968         * check/gst/gstsegment.c: (GST_START_TEST):
6969         * docs/design/part-TODO.txt:
6970         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6971         (gst_base_sink_event), (gst_base_sink_do_sync),
6972         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6973         (gst_base_sink_query), (gst_base_sink_change_state):
6974         * gst/base/gstbasesink.h:
6975         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6976         (gst_base_src_default_newsegment),
6977         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6978         (gst_base_src_get_range), (gst_base_src_loop),
6979         (gst_base_src_change_state):
6980         * gst/base/gstbasesrc.h:
6981         * gst/base/gstbasetransform.c:
6982         (gst_base_transform_prepare_output_buf),
6983         (gst_base_transform_event), (gst_base_transform_change_state):
6984         * gst/base/gstbasetransform.h:
6985         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6986         (gst_collect_pads_event):
6987         * gst/base/gstcollectpads.h:
6988         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6989         (gst_fake_src_create):
6990         * gst/elements/gstfakesrc.h:
6991         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6992         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6993         (gst_segment_set_last_stop), (gst_segment_set_seek),
6994         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6995         (gst_segment_to_running_time), (gst_segment_clip):
6996         * gst/gstsegment.h:
6997         More segment updates, replace code in plugins with segment
6998         helper functions.
6999
7000 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7001
7002         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7003         Don't ignore sscanf results
7004
7005 2005-11-21  Andy Wingo  <wingo@pobox.com>
7006
7007         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7008
7009         * *.h:
7010         * *.c: Ran scripts/update-macros. Oh yes.
7011
7012         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7013         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7014         GST_GET_LOCK, etc.
7015
7016         * scripts/update-macros: New script. Run it on your files to
7017         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7018         well.
7019
7020 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7021
7022         * docs/gst/Makefile.am:
7023         * docs/gst/gstreamer-docs.sgml:
7024         * docs/gst/gstreamer-sections.txt:
7025         * docs/gst/gstreamer.types:
7026         * gst/gstinfo.h:
7027           more docs fixes, add new api to the docs
7028
7029 2005-11-21  Andy Wingo  <wingo@pobox.com>
7030
7031         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7032         state_broadcast call.
7033
7034         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7035
7036 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7037
7038         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7039         function calls for arrays.
7040
7041 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7042
7043         * docs/random/ensonic/media-device-daemon.txt:
7044           wild idea, can this be done?
7045         * docs/gst/gstreamer-sections.txt:
7046         * gst/gsterror.h:
7047         * gst/gstfilter.c:
7048         * gst/gstfilter.h:
7049         * gst/gstplugin.h:
7050         * gst/gstpluginfeature.c:
7051         * gst/gsttrace.c:
7052         * gst/gstvalue.c:
7053         * gst/gstvalue.h:
7054           doc fixes and additions
7055
7056 2005-11-21  Andy Wingo  <wingo@pobox.com>
7057
7058         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7059         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7060         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7061         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7062         private to the basesrc implementation.
7063
7064         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7065         behalf of event function if necessary. It should no longer be
7066         necessary to take the stream lock in pad's event functions. Fixes
7067         #320299.
7068
7069 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7070         * docs/gst/gstreamer-sections.txt:
7071         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7072         (gst_structure_fixate_field_nearest_double),
7073         (gst_structure_fixate_field_boolean):
7074         * gst/gststructure.h:
7075         * win32/common/libgstreamer.def:
7076         * win32/gstreamer.def:
7077
7078         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7079         (#322027)
7080
7081 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7082
7083         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7084         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7085         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7086         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7087         (gst_fdsrc_uri_handler_init):
7088         * gst/elements/gstfdsrc.h:
7089           Port fd:// URI handler from 0.8 to fdsrc
7090
7091 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7092
7093         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7094         (gst_value_serialize_fourcc):
7095         * gst/gstvalue.h:
7096           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7097           consistent with our other format defines (#320324).
7098
7099 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7100
7101         * gst/gstvalue.c: (gst_value_is_fixed):
7102           Revert previous commit. Value lists are by definition
7103           not fixed, as they are a list of possible values.
7104
7105 2005-11-21  Andy Wingo  <wingo@pobox.com>
7106
7107         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7108         during the stable series if we need it. Fixes #319178.
7109
7110         * gst/gstevent.c (gst_event_new_filler): Removed.
7111
7112         * check/gst/gstevent.c: Update comment about filler events.
7113
7114 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7115
7116         * gst/gstvalue.c: (gst_value_is_fixed):
7117           Should handle both value arrays and value lists.
7118
7119 2005-11-21  Andy Wingo  <wingo@pobox.com>
7120
7121         patch by: Alessandro Dessina <alessandro nnva org>
7122
7123         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7124         functions to access arrays. Fixes #321962.
7125
7126 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7127
7128         * docs/gst/gstreamer.types:
7129           gst_collectpads_get_type => gst_collect_pads_get_type.
7130           
7131         * gst/base/gstbasetransform.c:
7132           Remove unused SIGNAL_HANDOFF enum.
7133
7134 2005-11-21  Andy Wingo  <wingo@pobox.com>
7135
7136         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7137         the event type (upstream, downstream, serialized). Renamed
7138         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7139         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7140         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7141
7142         * gst/gstevent.c: Update for new CUSTOM event names.
7143
7144         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7145
7146         * gst/gstevent.h:
7147         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7148         bug #319392.
7149
7150 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7151
7152         * docs/gst/gstreamer-sections.txt:
7153         * win32/common/libgstbase.def:
7154         * win32/libgstbase.def:
7155         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7156         (gst_collect_pads_class_init), (gst_collect_pads_init),
7157         (gst_collect_pads_finalize), (gst_collect_pads_new),
7158         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7159         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7160         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7161         (gst_collect_pads_start), (gst_collect_pads_stop),
7162         (gst_collect_pads_peek), (gst_collect_pads_pop),
7163         (gst_collect_pads_available), (gst_collect_pads_read),
7164         (gst_collect_pads_flush), (gst_collect_pads_event),
7165         (gst_collect_pads_chain):
7166         * gst/base/gstcollectpads.h:
7167           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7168           unimplemented functions as unimplemented. Add padding to
7169           GstCollectData. (#320766, #320423)
7170
7171 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7172
7173         * gst/gstmessage.c:
7174           Improve docs for DURATION message (usage of duration parameter)
7175           (#320113)
7176
7177 2005-11-20  Wim Taymans  <wim@fluendo.com>
7178
7179         * check/Makefile.am:
7180         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7181         (main):
7182         * gst/Makefile.am:
7183         * gst/gst.h:
7184         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7185         (gst_segment_set_seek), (gst_segment_set_newsegment),
7186         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7187         (gst_segment_clip):
7188         * gst/gstsegment.h:
7189         Added segment helper structure and methods. Not fully implemented
7190         yet.
7191         Added segment check.
7192
7193 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7194
7195         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7196           Add a deserialisation test for fractions
7197         * examples/metadata/read-metadata.c: (message_loop),
7198         (make_pipeline), (main):
7199           Fix up metadata reading sample.
7200         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7201           Debug format fix
7202         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7203           Don't try and fixate empty caps
7204         * gst/gst_private.h:
7205           Wrap in G_BEGIN_DECLS/G_END_DECLS
7206         * gst/gstvalue.c: (gst_value_collect_fraction),
7207         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7208         (gst_value_transform_string_fraction),
7209         (gst_value_compare_fraction):
7210           Add some extra guards to ensure that we don't end up 
7211           with an invalid denominator of 0 in a gstfraction and
7212           that fractions always get reduced.
7213
7214 2005-11-20  Wim Taymans  <wim@fluendo.com>
7215
7216         * docs/gst/gstreamer-sections.txt:
7217         * gst/gstbuffer.h:
7218         * gst/gstelement.c:
7219         * gst/gstformat.c:
7220         * gst/gstformat.h:
7221         * gst/gstindex.h:
7222         * gst/gstquery.c:
7223         * gst/gstquery.h:
7224         * gst/gstvalue.c:
7225         Doc fixes.
7226
7227 2005-11-20  Wim Taymans  <wim@fluendo.com>
7228
7229         * docs/design/part-TODO.txt:
7230         * gst/gstcaps.h:
7231         Make a proper enum of the flag.
7232
7233 2005-11-19  Wim Taymans  <wim@fluendo.com>
7234
7235         * docs/design/part-TODO.txt:
7236         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7237         (gst_format_to_quark), (gst_format_register):
7238         * gst/gstformat.h:
7239         * gst/gstquery.c: (_gst_query_initialize),
7240         (gst_query_type_get_name), (gst_query_type_to_quark),
7241         (gst_query_type_register):
7242         * gst/gstquery.h:
7243         Add type to quark and type to string conversions.
7244
7245 2005-11-19  Andy Wingo  <wingo@pobox.com>
7246
7247         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7248         #320097.
7249
7250 2005-11-19  Wim Taymans  <wim@fluendo.com>
7251
7252         * docs/design/part-TODO.txt:
7253         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7254         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7255         (gst_bin_handle_message_func):
7256         * gst/gstbin.h:
7257         Make message handling overridable.
7258
7259 2005-11-19  Andy Wingo  <wingo@pobox.com>
7260
7261         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7262
7263         * gst/gstclock.h:
7264         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7265         be a GstClockTime.
7266         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7267         is a GstClockTime. Fixes #321710.
7268
7269         * gst/gstclock.h (GstClock): Remove offset property. Add
7270         internal_calibration and external_calibration. Fix padding. Pad
7271         also by GstClockTime so we don't run into problems.
7272
7273         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7274         (gst_clock_get_rate_offset): Remove.
7275         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7276
7277         * gst/gstutils.h:
7278         * gst/gstutils.c (g_static_rec_cond_wait)
7279         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7280
7281         * gst/gstbin.c: Remove terrible continue_state prototype.
7282
7283         * gst/gstelement.h (gst_element_continue_state): Make public.
7284
7285         * gst/gstelement.h:
7286         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7287         by continue_state. Fixes #319389.
7288
7289         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7290         Really fixes #168438. However I don't see anywhere where the
7291         filter function is called... stupid GStreamer...
7292         
7293         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7294         don't have a dispose function, so it won't get called when the
7295         object is unreffed, but oh well!
7296
7297         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7298         allows a destroy function to be set so user_data can be freed.
7299         Fixes #168438.
7300         (gst_index_set_filter): Call gst_index_set_filter_full.
7301
7302         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7303
7304         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7305         string should produce an error, given the lack of a way to
7306         represent NULL strings. Fixes #165650.
7307         
7308         * gst/gstvalue.h: 
7309         * gst/gstvalue.c (gst_value_array_append_value) 
7310         (gst_value_array_prepend_value, gst_value_array_get_size) 
7311         (gst_value_array_get_value): New API, copied from
7312         gst_value_list_*, only operates on arrays.
7313         (gst_value_list_append_value, gst_value_list_prepend_value) 
7314         (gst_value_list_concat, gst_value_list_get_size) 
7315         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7316
7317         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7318         init_list, because it works on both.
7319         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7320         (gst_value_copy_list_or_array): Renamed from copy_list.
7321         (gst_value_free_list_or_array): Renamed from free_list.
7322         (gst_value_collect_list_or_array): Renamed from collect_list.
7323         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7324         (gst_value_list_or_array_peek_pointer): Renamed from
7325         list_peek_pointer.
7326         (_gst_value_array_value_table, _gst_value_list_value_table):
7327         Update value table functions.
7328         (gst_value_compare_list_or_array): Renamed from compare_list.
7329
7330         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7331         some constness.
7332
7333         * gst/gsttaglist.c:
7334         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7335         GstTagList*. Fixes #143472.
7336
7337         * gst/gststructure.h: Clarify what the foreach/map functions can
7338         or can't do to their arguments.
7339
7340 2005-11-18  Wim Taymans  <wim@fluendo.com>
7341
7342         * gst/gstclock.c: (gst_clock_set_calibration),
7343         (gst_clock_get_calibration):
7344         Doc and API fixes.
7345         Calibration can be set with internal time equal to current
7346         internal time too.
7347
7348 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7349
7350         * gst/gsterror.c:
7351         * gst/gsterror.h:
7352           document
7353
7354 2005-11-18  Andy Wingo  <wingo@pobox.com>
7355
7356         * configure.ac: 
7357         * pkgconfig/gstreamer-net.pc.in:
7358         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7359         * pkgconfig/Makefile.am: Add net pkgconfig files.
7360
7361 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7362
7363         * gst/gstcaps.c:
7364         * gst/gstghostpad.c:
7365         * gst/gsttrace.c:
7366         * gst/gstvalue.c:
7367         * gst/gstvalue.h:
7368           docs fixes
7369
7370 2005-11-18  Andy Wingo  <wingo@pobox.com>
7371
7372         * gst/net/gstnetclientclock.c: Turn off debugging.
7373
7374         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7375         times connverge somewhat. Can't make a real test.
7376
7377         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7378         integer arithmetic. Return the minimum of the domain, which can be
7379         set as "internal" for gst_clock_set_calibration.
7380         (gst_net_client_clock_observe_times): Call _set_calibration.
7381         (gst_net_client_clock_new): Call _set_calibration instead of
7382         rate_offset.
7383
7384         * check/net/gstnetclientclock.c (test_functioning): Use the right
7385         adjustment api.
7386
7387         * gst/gstclock.h:
7388         * gst/gstclock.c (gst_clock_get_calibration) 
7389         (gst_clock_set_calibration): New functions, obsolete the ones I
7390         added yesterday. Doh. Precision issues mean we have to extrapolate
7391         from a point in the more recent past than 1970.
7392         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7393         obsolete.
7394         (gst_clock_adjust_unlocked): Use the right calibration data.
7395
7396 2005-11-18  Edward Hervey  <edward@fluendo.com>
7397
7398         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7399         Also reset the ->current_* values in READY->PAUSED
7400
7401 2005-11-18  Andy Wingo  <wingo@pobox.com>
7402
7403         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7404         Whoops, check the right fd. Also add some debugging.
7405         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7406         (do_linear_regression): Add a crapload of debugging. Subtract off
7407         the minimum values from the input series to discard unneeded bits.
7408         Use only int arithmetic. There is still double arithmetic when
7409         calculating the intercept that needs fixing. Return boolean to
7410         indicate success; FALSE would mean the domain or range is too
7411         great. Still needs fixes.
7412
7413 2005-11-18  Wim Taymans  <wim@fluendo.com>
7414
7415         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7416         For the current position in stream time, we need to subtract
7417         accumulated time.
7418         
7419         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7420         Release lock before calling the callback function of async
7421         entries.
7422
7423 2005-11-18  Andy Wingo  <wingo@pobox.com>
7424
7425         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7426         Port goes all the way to MAXUINT16.
7427
7428         * gst/net/gstnettimeprovider.c: Make the port range the same as
7429         for the kernel: 0 assigns, otherwise ports are less than
7430         MAXUINT16.
7431
7432         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7433         port change.
7434
7435         * check/net/gstnetclientclock.c (test_functioning): Add the start
7436         of another test. 
7437
7438 2005-11-18  Wim Taymans  <wim@fluendo.com>
7439
7440         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7441         (gst_bin_remove_func), (bin_bus_handler):
7442         * gst/gstbin.h:
7443         Removing a clock provider from a bin, triggers a clock lost message
7444         so that a new clock will be selected.
7445         Adding a clock to a bin triggers a clock provider message.
7446         Make sure we reselect a clock when we received a clock lost message.
7447         Keep a reference to the element that provided the clock.
7448
7449 2005-11-18  Andy Wingo  <wingo@pobox.com>
7450
7451         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7452         the clock initially so it produces values around the base time.
7453         (gst_net_client_clock_class_init): Typo fix.
7454         (gst_net_client_clock_thread): Add note on when the socket gets
7455         closed.
7456
7457 2005-11-17  Wim Taymans  <wim@fluendo.com>
7458
7459         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7460         Free remote and local time arrays.
7461
7462 2005-11-17  Wim Taymans  <wim@fluendo.com>
7463
7464         * gst/net/gstnetclientclock.c: (do_linear_regression),
7465         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7466         Fix compilation, uninitialized vars and a forgotten continue.
7467
7468 2005-11-17  Andy Wingo  <wingo@pobox.com>
7469
7470         * check/Makefile.am (check_PROGRAMS): 
7471         * check/net/gstnetclientclock.c: Add a most minimal test for the
7472         net client clock. More to come later.
7473
7474         * gst/net/gstnet.h: 
7475         * gst/net/Makefile.am: Add netclientclock.
7476
7477         * gst/net/gstnetclientclock.h:
7478         * gst/net/gstnetclientclock.c: New files, implement an untested
7479         GstClock that takes its time from a network time provider.
7480         Implements the algorithm in network-clock.scm.
7481
7482         * tests/network-clock.scm (*window-size*): Rename from
7483         *queue-length*.
7484         * tests/network-clock.scm (network-time): 
7485         * tests/network-clock-utils.scm (q-push): Update callers.
7486
7487 2005-11-17  Wim Taymans  <wim@fluendo.com>
7488
7489         * gst/gstbin.c: (gst_bin_provide_clock_func),
7490         (gst_bin_sort_iterator_new):
7491         And unref the child too..
7492
7493 2005-11-17  Wim Taymans  <wim@fluendo.com>
7494
7495         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7496         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7497         Refactor the sort iterator so it can be used while holding the
7498         LOCK too.
7499         Make clock selection select a clock closest to the source.
7500
7501 2005-11-17  Michael Smith <msmith@fluendo.com>
7502
7503         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7504         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7505         * gst/gstclock.h:
7506           Anonymous structs are a gcc (and some other compilers) extension, so
7507           don't use them. Since this is only for ABI-compatibility, and our
7508           API/ABI freeze is over in a few days, this whole thing will only
7509           last a few days, so don't bother trying to think up a meaningful
7510           name for the struct.
7511
7512 2005-11-17  Andy Wingo  <wingo@pobox.com>
7513
7514         * gst/gstclock.h (GstClock): Add rate and offset properties,
7515         preserving ABI stability. Add rate/offset accessors. Will file bug
7516         for the freeze break.
7517
7518         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7519         and offset, trying to keep precision and avoiding
7520         underflow/overflow.
7521         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7522         functions. Make gst_clock_set_time_adjust obsolete.
7523         (gst_clock_set_time_adjust): Note that this function is obsolete.
7524         Will file bug soon.
7525
7526         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7527         greppable by using GST_PADDING-1+1.
7528
7529 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7530
7531         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7532
7533         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7534           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7535
7536         * gst/gstpadtemplate.h:
7537         * gst/gstpluginfeature.h:
7538           Don't use c++ style comments in headers (#321638).
7539
7540 2005-11-16  Andy Wingo  <wingo@pobox.com>
7541
7542         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7543         buffer.
7544
7545         * check/net/gstnettimeprovider.c: Check to see that the time
7546         provider actually provides times. Works, yo!
7547
7548 2005-11-16  Wim Taymans  <wim@fluendo.com>
7549
7550         * check/Makefile.am:
7551         Enable more tests.
7552
7553         * check/elements/fakesrc.c: (GST_START_TEST):
7554         Set element to NULL before disposing it.
7555
7556 2005-11-16  Andy Wingo  <wingo@pobox.com>
7557
7558         * gst/net/Makefile.am:
7559         * gst/net/gstnet.h:
7560         * gst/net/gstnettimeprovider.c: 
7561         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7562         provider, include it from gstnet.h, and add it to the build.
7563
7564         * gst/net/gstnettimepacket.h: 
7565         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7566         sending and receiving.
7567
7568 2005-11-16  Wim Taymans  <wim@fluendo.com>
7569
7570         * check/Makefile.am:
7571         Enable valgrind check.
7572
7573         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7574         (gst_fake_src_alloc_buffer):
7575         Fix memleak.
7576
7577 2005-11-16  Wim Taymans  <wim@fluendo.com>
7578
7579         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7580         Call parent finalize too.
7581
7582 2005-11-16  Wim Taymans  <wim@fluendo.com>
7583
7584         * check/Makefile.am:
7585         Enable valgrind check that should work fine now.
7586
7587         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7588         * gst/gstqueue.c: (gst_queue_init):
7589         Fix memleaks in pad allocation.
7590
7591 2005-11-16  Andy Wingo  <wingo@pobox.com>
7592
7593         * gst/net/Makefile.am:
7594         * gst/net/gstnet.h: New part of core to hold network elements and
7595         objects. Put in core because it exposes API that applications want
7596         to use. The library is named libgstnet-tempname right now because
7597         of the existing libgstnet in gst-plugins-base. Solution is
7598         probably to rename the one in plugins-base; will file a bug for
7599         the freeze break.
7600
7601         * gst/net/gstnettimeprovider.c: 
7602         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7603         get_time call over the network.
7604
7605         * configure.ac: 
7606         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7607
7608         * check/Makefile.am:
7609         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7610         get additions shortly.
7611
7612 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7613
7614         * gst/gstpad.c: (gst_pad_new_from_static_template):
7615         * gst/gstpad.h:
7616           add gst_pad_new_from_static_template functions
7617         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7618         (gst_check_setup_sink_pad):
7619         * gst/elements/gsttee.c: (gst_tee_init):
7620           and use them
7621
7622 2005-11-16  Wim Taymans  <wim@fluendo.com>
7623
7624         * gst/gstpad.c: (gst_pad_pause_task):
7625         Removed warning, it's not really an error either.
7626
7627 2005-11-16  Wim Taymans  <wim@fluendo.com>
7628
7629         * gst/base/gstbasetransform.c:
7630         (gst_base_transform_prepare_output_buf),
7631         (gst_base_transform_event):
7632         Check if the caps are NULL, this can happen if the element
7633         is shutting down and the pad caps are set to NULL.
7634
7635 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7636
7637         * gst/elements/gsttee.c: (gst_tee_init):
7638           fix pad template leak in tee
7639
7640 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7641
7642         * gst/glib-compat.c: (g_value_dup_gst_object):
7643         * gst/glib-compat.h:
7644         * gst/gstpad.c: (gst_pad_set_property):
7645           use gst_object_ref when setting the pad template; this will
7646           trigger the pad template leaks on GLib 2.6 and the slaves
7647
7648 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7649
7650         * gst/glib-compat.c: (gst_flags_get_first_value):
7651         * gst/glib-compat.h:
7652         * gst/gstregistryxml.c:
7653           remove functions copied from GLib 2.6
7654
7655 2005-11-16  Michael Smith <msmith@fluendo.com>
7656
7657         * gst/Makefile.am:
7658           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7659           do, but only breaks with newer valgrind versions. We're not a
7660           valgrind tool, we have no link-time dependencies on libcoregrind.
7661
7662 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7663
7664         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7665           some debug changes
7666         * gst/gstmessage.h:
7667           typo fixes
7668
7669 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7670
7671         * gst/base/gstbasesrc.c: (gst_base_src_init):
7672         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7673         * gst/gstqueue.c: (gst_queue_init):
7674         * gst/gstregistryxml.c: (load_feature):
7675           Revert all these unrefs, they don't even pass make check !
7676
7677 2005-11-15  Johan Dahlin  <johan@gnome.org>
7678
7679         * gst/base/gstbasesrc.c: (gst_base_src_init):
7680         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7681         * gst/gstqueue.c: (gst_queue_init): 
7682         Free pad templates, fixes a couple of leaks.
7683
7684 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7685
7686         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7687
7688         * gst/gstpad.c: (gst_pad_get_property):
7689           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7690           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7691           (#321452)
7692
7693 2005-11-15  Wim Taymans  <wim@fluendo.com>
7694
7695         * gst/gstevent.c:
7696         Small doc update.
7697
7698 2005-11-15  Andy Wingo  <wingo@pobox.com>
7699
7700         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7701
7702         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7703         using GST_CLOCK_TIME_NONE to disable base time management.
7704         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7705         time if it was NONE before.
7706         (gst_pipeline_change_state): Only munge the base time if
7707         stream_time != GST_CLOCK_TIME_NONE.
7708
7709         * check/gst/gstpipeline.c (test_base_time): Punt around the
7710         problem of the probe not being called, because that's not the
7711         issue I'm looking at. Add a check that setting stream_time to NONE
7712         disables base time management.
7713         
7714 2005-11-15  Wim Taymans  <wim@fluendo.com>
7715
7716         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7717         segment_stop == -1 at startup.
7718
7719         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7720         (gst_base_transform_change_state):
7721         Init segment values at start.
7722
7723 2005-11-15  Wim Taymans  <wim@fluendo.com>
7724
7725         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7726         0 segment values are 0 in any format.
7727
7728         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7729         * gst/base/gstbasetransform.h:
7730         Parse newsegment correctly in basetransform
7731
7732         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7733         Sync to clock using updated segment values.
7734
7735 2005-11-15  Andy Wingo  <wingo@pobox.com>
7736
7737         * check/gst/gstpipeline.c (test_base_time): Add check that the
7738         base time and stream time are reset correctly.
7739
7740 2005-11-15  Wim Taymans  <wim@fluendo.com>
7741
7742         * docs/design/part-TODO.txt:
7743         Some more TODO items.
7744
7745 2005-11-15  Andy Wingo  <wingo@pobox.com>
7746
7747         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7748         error if the user selected "no clock" as the clocking method.
7749
7750         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7751         timestamps with live capture.
7752
7753         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7754         is 0 but we are a live source, timestamp the buffers using the
7755         element's clock.
7756
7757 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7758
7759         * docs/gst/gstreamer-sections.txt:
7760         * gst/gsterror.c:
7761         * gst/gstghostpad.c:
7762         * gst/gstobject.h:
7763         * gst/gstxml.c:
7764           more section docs
7765
7766 2005-11-14  Wim Taymans  <wim@fluendo.com>
7767
7768         * common/gst.supp:
7769           add suppressions from Wim's Debian machine
7770
7771 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7772
7773         * common/gst.supp:
7774           add suppressions from Andy's AMD64 Ubuntu machine
7775
7776 2005-11-14  Andy Wingo  <wingo@pobox.com>
7777
7778         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7779         STATE_LOCK not necessary. Fixes #311489.
7780
7781         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7782         #305291.
7783
7784         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7785         this function is not implemented.
7786
7787 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7788
7789         * gst/base/gstbasetransform.c:
7790         (gst_base_transform_prepare_output_buf):
7791         Ref the source pad caps while we need them.
7792         Fixes (#321386)
7793
7794 2005-11-11  Wim Taymans  <wim@fluendo.com>
7795
7796         * docs/gst/gstreamer-sections.txt:
7797         Added some docs for GstCollectData.
7798
7799         * gst/base/gstadapter.c:
7800         Some small code example fix.
7801
7802         * gst/base/gstcollectpads.c:
7803         * gst/base/gstcollectpads.h:
7804         Document some more.
7805
7806 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7807
7808         * configure.ac: back to HEAD
7809
7810 === release 0.9.5 ===
7811
7812 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7813
7814         * configure.ac:
7815           releasing 0.9.5, "Bike Lunch Day"
7816
7817 2005-11-11  Wim Taymans  <wim@fluendo.com>
7818
7819         * gst/gstbuffer.c: (_gst_buffer_copy):
7820         Copy more flags.
7821
7822         * gst/gstcaps.c: (gst_caps_is_equal):
7823         Fix some docs.
7824         Make _is_equal fast in the trivial cases.
7825
7826         * gst/gstminiobject.c:
7827         * gst/gstminiobject.h:
7828         More docs. Spifify .h file.
7829
7830         * gst/gstutils.c:
7831         Small doc update.
7832
7833 2005-11-11  Wim Taymans  <wim@fluendo.com>
7834
7835         * gst/base/gstbasetransform.c:
7836         (gst_base_transform_prepare_output_buf),
7837         (gst_base_transform_handle_buffer):
7838         Small cleanups.
7839         If we're processing a buffer and need to allocate an output
7840         buffer, we cannot accept a format change. If we did get a 
7841         format change, we have to alloc a buffer ourselves of the 
7842         right size.
7843
7844 2005-11-11  Wim Taymans  <wim@fluendo.com>
7845
7846         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7847         While checking the flag for reentrancy in the gstcaps function
7848         is nice to detect recursive invocations, it also makes it 
7849         impossible to call getcaps from multiple threads, which must be
7850         possible. So, checking for recursive calls has to go.
7851
7852 2005-11-11  Michael Smith <msmith@fluendo.com>
7853
7854         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7855           Don't sync on buffers that fall partially outside our current
7856           segment. Prevents an assertion failure/abort playing some files.
7857
7858 2005-11-10  Andy Wingo  <wingo@pobox.com>
7859
7860         * check/gst/gstbin.c (test_message_state_changed_children): Style
7861         fix..
7862
7863         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7864         gst_bus_poll with the signal watch. Ensures that poll and a signal
7865         watch see the same messages.
7866
7867         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7868         a poll and a watch at the same time get the same messages.
7869
7870 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7871
7872         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7873         * gst/gstcaps.c: (gst_caps_intersect):
7874           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7875           and it's not needed.
7876
7877 2005-11-10  Wim Taymans  <wim@fluendo.com>
7878
7879         * docs/design/part-TODO.txt:
7880         Updated todo.
7881
7882 2005-11-10  Wim Taymans  <wim@fluendo.com>
7883
7884         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7885         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7886         (gst_base_src_do_sync), (gst_base_src_get_range):
7887         Implement clock sync in base class.
7888
7889 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7890
7891         patch by: Tim-Philipp Müller <tim at centricular dot net>
7892
7893         * gst/gststructure.c: (gst_structure_parse_field),
7894         (gst_structure_from_string):
7895           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7896           so that gst_parse_launch() can deal with spaces in filtered link
7897           caps (fixes #164479)
7898         * check/gst/capslist.h:
7899         * check/gst/gststructure.c: (GST_START_TEST):
7900           add unit tests for this change
7901
7902 2005-11-10  Wim Taymans  <wim@fluendo.com>
7903
7904         * docs/gst/gstreamer-sections.txt:
7905         * gst/gstelement.c:
7906         * gst/gstelement.h:
7907         Fix docs, move some STATE macros to private.
7908
7909 2005-11-10  Wim Taymans  <wim@fluendo.com>
7910
7911         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7912         Added check for bug #317341
7913
7914         * gst/gstbuffer.c:
7915         * gst/gstbuffer.h:
7916         Some more spiffifying.
7917
7918         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7919         Call peer linkfunction if we are a source pad. Totally fixes
7920         #317341
7921
7922         * gst/gstpad.c:
7923         Update docs, source pads should call the peer linkfunction
7924         so they can atomically perform the pad link.
7925
7926 2005-11-09  Wim Taymans  <wim@fluendo.com>
7927
7928         * gst/gstbuffer.c:
7929         * gst/gstbuffer.h:
7930         Uber-spiffy-spiffify some more.
7931
7932 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7933
7934         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7935         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7936         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7937         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7938         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7939         * gst/gstpad.c: (gst_pad_init):
7940           Use GST_DEBUG_FUNCPTR() more extensively.
7941
7942 2005-11-09  Wim Taymans  <wim@fluendo.com>
7943
7944         * gst/gstobject.c: (gst_object_class_init):
7945         * gst/gstobject.h:
7946         Documentation fixes.
7947
7948 2005-11-09  Edward Hervey  <edward@fluendo.com>
7949
7950         * gst/gsttypefindfactory.c:
7951         Fix docs.
7952         
7953 2005-11-09  Edward Hervey  <edward@fluendo.com>
7954
7955         * gst/base/gsttypefindhelper.c:
7956         * gst/gsttypefind.c:
7957         * gst/gsttypefind.h:
7958         Fix docs.
7959
7960 2005-11-09  Wim Taymans  <wim@fluendo.com>
7961
7962         * gst/gstiterator.c:
7963         Fix revision data.
7964
7965         * gst/gsttask.c:
7966         * gst/gsttask.h:
7967         Fix docs.
7968
7969 2005-11-09  Wim Taymans  <wim@fluendo.com>
7970
7971         * gst/gstevent.h:
7972         * gst/gsturi.h:
7973         Fix docs.
7974
7975 2005-11-09  Wim Taymans  <wim@fluendo.com>
7976
7977         * docs/gst/gstreamer-sections.txt:
7978         Moved the message async delivery private lock and cond
7979         to the private section.
7980
7981         * gst/gstmessage.c:
7982         * gst/gstmessage.h:
7983         Fixed docs.
7984
7985 2005-11-09  Edward Hervey  <edward@fluendo.com>
7986
7987         * docs/gst/gstreamer-sections.txt:
7988         * gst/gsturi.c:
7989         * gst/gsturi.h:
7990         Document GstURIHandler
7991
7992 2005-11-09  Wim Taymans  <wim@fluendo.com>
7993
7994         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7995         (gst_iterator_find_custom):
7996         * gst/gstiterator.h:
7997         Fix iterator docs.
7998
7999 2005-11-09  Wim Taymans  <wim@fluendo.com>
8000
8001         * gst/gstbin.h:
8002         Document another field.
8003
8004         * gst/gststructure.c:
8005         * gst/gststructure.h:
8006         Document.
8007
8008 2005-11-09  Wim Taymans  <wim@fluendo.com>
8009
8010         * gst/gstbin.h:
8011         Documented structs.
8012
8013 2005-11-09  Wim Taymans  <wim@fluendo.com>
8014
8015         * docs/gst/gstreamer-sections.txt:
8016         Added some new macros.
8017
8018         * gst/gstclock.c:
8019         * gst/gstclock.h:
8020         * gst/gstobject.h:
8021         Docs updates.
8022
8023 2005-11-09  Wim Taymans  <wim@fluendo.com>
8024
8025         * docs/design/part-TODO.txt:
8026         Some more items for the TODO
8027
8028         * gst/gstcaps.c:
8029         * gst/gstcaps.h:
8030         Document GstCaps.
8031
8032 2005-11-09  Andy Wingo  <wingo@pobox.com>
8033
8034         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8035         to work on something else now tho...
8036
8037         * gst/base/gstadapter.c: More adapter docs.
8038
8039         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8040         (gst_file_sink_stop): New functions, replace the state change
8041         handler.
8042         (gst_file_sink_class_init): Hook up the start and stop functions.
8043         (gst_file_sink_base_init): Don't set the state change handler any
8044         more. It was a bit ugly too, being set from here...
8045         (gst_file_sink_get_property, gst_file_sink_set_property):
8046         Cleanups...
8047         (gst_file_sink_set_location): More robust check that doesn't call
8048         GST_STATE. Ugggggg.
8049
8050 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8051
8052         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8053           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8054
8055 2005-11-08  Wim Taymans  <wim@fluendo.com>
8056
8057         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8058         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8059         (gst_base_sink_chain), (gst_base_sink_change_state):
8060         * gst/base/gstbasesink.h:
8061         * gst/base/gstbasesrc.h:
8062         * gst/gstelement.h:
8063         * gst/gstevent.h:
8064         Avoid excessive typechecking in macros.
8065
8066         * gst/gstminiobject.c: (gst_mini_object_get_type),
8067         (gst_mini_object_init), (gst_mini_object_new),
8068         (gst_mini_object_free):
8069         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8070         (gst_object_finalize):
8071         Remove cruft code, optimize alloc_trace.
8072
8073 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8074
8075         * docs/faq/gst-uninstalled:
8076           fix up PS1 for systems that try to reset it
8077
8078 2005-11-07  Wim Taymans  <wim@fluendo.com>
8079
8080         * gst/base/gstbasesrc.c: (gst_base_src_init),
8081         (gst_base_src_get_range):
8082         Set the segment_end to -1 initially. Fixed typefind.
8083
8084 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8085
8086         * gst/base/gstadapter.c:
8087           Debug category should be 'adapter', not 'GstAdapter'.
8088           
8089         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8090         (gst_collectpads_class_init), (gst_collectpads_init),
8091         (gst_collectpads_peek), (gst_collectpads_pop),
8092         (gst_collectpads_event), (gst_collectpads_chain):
8093           Add debug category and some debugging output. Use boilerplate
8094           macros. Remove some extraneous words from docs.
8095
8096 2005-11-05  Andy Wingo  <wingo@pobox.com>
8097
8098         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8099         macro.
8100
8101 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8102
8103         * docs/gst/gstreamer-sections.txt:
8104         * gst/gstcaps.h:
8105         * gst/gstinfo.c:
8106         * gst/gstminiobject.h:
8107         * gst/gstobject.h:
8108         * gst/gstutils.h:
8109           more docs added
8110
8111 2005-11-04  Wim Taymans  <wim@fluendo.com>
8112
8113         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8114         Small update to stop at the configured segment_end
8115         position.
8116
8117 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8118
8119         * gst/gstregistry.c:
8120         * gst/gstregistry.h:
8121           added missing docs
8122
8123 2005-11-04  Edward Hervey  <edward@fluendo.com>
8124
8125         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8126         Check if we are doing a segment seek and have arrived at the
8127         end of that segment.
8128
8129 2005-11-04  Wim Taymans  <wim@fluendo.com>
8130
8131         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8132         Don't leak a mutex unlock in case of an error.
8133
8134         * gst/gstbus.h:
8135         Doc fixes.
8136
8137 2005-11-04  Wim Taymans  <wim@fluendo.com>
8138
8139         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8140         (gst_bus_post):
8141         Get the context to wake up only once.
8142
8143 2005-11-03  Wim Taymans  <wim@fluendo.com>
8144
8145         * check/states/sinks.c: (GST_START_TEST):
8146         Uncomment fixed check.
8147
8148         * docs/design/part-TODO.txt:
8149         Updated TODO.
8150
8151         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8152         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8153         (gst_base_sink_get_position):
8154         If we are going to PLAYING, post the right pending state
8155         when we post the intermediate paused message.
8156
8157         * gst/gstelement.c: (gst_element_continue_state),
8158         (gst_element_set_state_func), (gst_element_change_state):
8159         Don't post state changes that were between the same state
8160         and were not ASYNC.
8161
8162 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8163
8164         * docs/gst/gstreamer-sections.txt:
8165         * gst/gstcaps.h:
8166         * gst/gstinfo.c:
8167         * gst/gstminiobject.h:
8168         * gst/gstobject.h:
8169         * gst/gstutils.h:
8170           more docs and doc style fixes
8171
8172 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8173
8174         * docs/gst/gstreamer-sections.txt:
8175         * gst/gstelement.c:
8176         * gst/gstminiobject.c:
8177         doc fixes
8178
8179 2005-11-03  Andy Wingo  <wingo@pobox.com>
8180
8181         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8182         state-changed messages actually have the right order and the right
8183         values.
8184
8185 2005-11-03  Wim Taymans  <wim@fluendo.com>
8186
8187         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8188         Added some more checks. Specifically the case where NO_PREROLL
8189         elements are in the pipeline.
8190
8191         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8192         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8193         (gst_base_sink_get_position):
8194         Post READY->PAUSED state change messages too.
8195         Fix bug where VOID was posted as pending state...
8196
8197         * gst/gstbin.c: (gst_bin_recalc_state):
8198         use _element_continue_state() to continue the state change.
8199
8200         * gst/gstelement.c: (gst_element_continue_state),
8201         (gst_element_commit_state), (gst_element_set_state_func),
8202         (gst_element_change_state), (gst_element_change_state_func):
8203         Lots of state change cleanups, assign the STATE_RETURN in
8204         a new continue_state() function that also propagates the
8205         last return value from a state change to the app.
8206         Update some debug statements with proper category.
8207
8208 2005-11-03  Wim Taymans  <wim@fluendo.com>
8209
8210         * docs/design/part-events.txt:
8211         * docs/design/part-gstpipeline.txt:
8212         * docs/design/part-messages.txt:
8213         * docs/design/part-overview.txt:
8214         * docs/design/part-seeking.txt:
8215         * docs/design/part-states.txt:
8216         * docs/design/part-trickmodes.txt:
8217         * docs/manual/advanced-position.xml:
8218         Small docs updates.
8219
8220         * gst/gstobject.h:
8221         People think !! is ugly, this looks better.
8222
8223         * gst/gstpad.c: (gst_pad_set_blocked_async):
8224         Remove !! since it's fixed elsewhere now.
8225
8226 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8227
8228         * gst/gstminiobject.h:
8229         * gst/gstobject.h:
8230           Add !! to _FLAG_IS_SET macros to make the result boolean.
8231
8232 2005-11-03  Edward Hervey  <edward@fluendo.com>
8233
8234         * gst/gstpad.c: (gst_pad_set_blocked_async):
8235         comparing a flag and a gboolean rarely returns coherent results...
8236         Added two characters (!!) to make that work correctly.
8237         
8238 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8239
8240         * gst/gstbus.c: (gst_bus_class_init):
8241           Fix some typos.
8242           
8243         * gst/gstqueue.c: (gst_queue_loop):
8244           Don't assume a miniobject that isn't a buffer is an
8245           event (it could be that there is a refcounting
8246           problem somewhere and the pointer is stale and
8247           refers to an already destroyed miniobject).
8248
8249 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8250
8251         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8252
8253 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8254
8255         * docs/manual/advanced-position.xml:
8256           Update seek example and explanations to current 0.9 API.
8257
8258         * gst/elements/gsttypefindelement.c:
8259         (gst_type_find_element_activate):
8260           Remove FIXME comment now that the found caps
8261           are unreffed.
8262
8263 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8264
8265         * gst/gstregistryxml.c: (load_feature):
8266           Add another GST_STR_NULL instance
8267
8268 2005-11-02  Edward Hervey  <edward@fluendo.com>
8269
8270         * gst/gstpad.c: (handle_pad_block):
8271         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8272         
8273 2005-11-02  Wim Taymans  <wim@fluendo.com>
8274
8275         * gst/gstbin.c:
8276         Fix typo in docs.
8277
8278         * gst/gstelement.c: (gst_element_commit_state):
8279         Remove unused value.
8280
8281         * gst/gstiterator.c:
8282         Mention that the returned element is reffed in the docs.
8283
8284 2005-11-02  Wim Taymans  <wim@fluendo.com>
8285
8286         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8287         (gst_pad_push), (gst_pad_push_event):
8288         Unlock blocked pads when they are flushed.
8289
8290 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8291
8292         * docs/README:
8293         * docs/gst/gstreamer-sections.txt:
8294         * gst/gstbin.c:
8295           doc updates
8296         * gst/gstregistry.c: (gst_registry_scan_path_level):
8297           fix for a nasty little missed situation where an installed plug-in
8298           which was in the cache did not get overridden by an uninstalled one
8299           which was earlier in the plugin path because the newly created plugin
8300           for the uninstalled one (not in the registry) didn't get its
8301           ->registered set to TRUE
8302
8303 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8304
8305         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8306         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8307         (gst_collectpads_is_active), (gst_collectpads_collect),
8308         (gst_collectpads_collect_range), (gst_collectpads_start),
8309         (gst_collectpads_stop), (gst_collectpads_peek),
8310         (gst_collectpads_pop), (gst_collectpads_available),
8311         (gst_collectpads_read), (gst_collectpads_flush):
8312           Guard public API with assertions.
8313         
8314         * gst/gstpad.c:
8315           Fix docs for gst_pad_set_link_function().
8316
8317 2005-11-02  Johan Dahlin  <johan@gnome.org>
8318
8319         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8320         Unref found_caps after we used it.
8321
8322 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8323
8324         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8325           Don't try to ref NULL.
8326
8327 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8328
8329         * win32/common/config.h.in:
8330           provide a GST_FUNCTION that just gives a string for now
8331
8332 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8333
8334         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8335         (gst_object_flags_get_type), (register_gst_bin_flags),
8336         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8337         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8338         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8339         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8340         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8341         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8342         (gst_clock_flags_get_type), (register_gst_state),
8343         (gst_state_get_type), (register_gst_state_change_return),
8344         (gst_state_change_return_get_type), (register_gst_state_change),
8345         (gst_state_change_get_type), (register_gst_element_flags),
8346         (gst_element_flags_get_type), (register_gst_core_error),
8347         (gst_core_error_get_type), (register_gst_library_error),
8348         (gst_library_error_get_type), (register_gst_resource_error),
8349         (gst_resource_error_get_type), (register_gst_stream_error),
8350         (gst_stream_error_get_type), (register_gst_event_type),
8351         (gst_event_type_get_type), (register_gst_seek_type),
8352         (gst_seek_type_get_type), (register_gst_seek_flags),
8353         (gst_seek_flags_get_type), (register_gst_format),
8354         (gst_format_get_type), (register_gst_index_certainty),
8355         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8356         (gst_index_entry_type_get_type),
8357         (register_gst_index_lookup_method),
8358         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8359         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8360         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8361         (gst_index_flags_get_type), (register_gst_debug_level),
8362         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8363         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8364         (gst_iterator_result_get_type), (register_gst_iterator_item),
8365         (gst_iterator_item_get_type), (register_gst_message_type),
8366         (gst_message_type_get_type), (register_gst_mini_object_flags),
8367         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8368         (gst_pad_link_return_get_type), (register_gst_flow_return),
8369         (gst_flow_return_get_type), (register_gst_activate_mode),
8370         (gst_activate_mode_get_type), (register_gst_pad_direction),
8371         (gst_pad_direction_get_type), (register_gst_pad_flags),
8372         (gst_pad_flags_get_type), (register_gst_pad_presence),
8373         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8374         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8375         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8376         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8377         (gst_plugin_flags_get_type), (register_gst_rank),
8378         (gst_rank_get_type), (register_gst_query_type),
8379         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8380         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8381         (gst_tag_flag_get_type), (register_gst_task_state),
8382         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8383         (gst_alloc_trace_flags_get_type),
8384         (register_gst_type_find_probability),
8385         (gst_type_find_probability_get_type), (register_gst_uri_type),
8386         (gst_uri_type_get_type), (register_gst_parse_error),
8387         (gst_parse_error_get_type):
8388         * win32/common/gstversion.h:
8389           update win32 copies
8390
8391 2005-11-01  Luca Ognibene  <luogni@tin.it>
8392
8393         * gst/gst.c:
8394           fix docs. popt is dead, long live GOption.
8395
8396 2005-10-31  Wim Taymans  <wim@fluendo.com>
8397
8398         * gst/gstbuffer.h:
8399         Small doc fix.
8400
8401 2005-10-31  Andy Wingo  <wingo@pobox.com>
8402
8403         * Boo!
8404
8405         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8406
8407         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8408         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8409         the possibility of deadlocks here if code calling notify() or
8410         set() has a lock that can be taken in another notify handler (ABBA
8411         with class lock and e.g. python GIL state lock).
8412
8413 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8414
8415         * gst/gstbus.c: Doc updates.
8416
8417 2005-10-28  Wim Taymans  <wim@fluendo.com>
8418
8419         * docs/design/part-TODO.txt:
8420         * gst/gstiterator.c:
8421         * gst/gstsystemclock.c:
8422         * gst/gstsystemclock.h:
8423         Doc updates.
8424
8425 2005-10-28  Edward Hervey  <edward@fluendo.com>
8426
8427         * docs/gst/gstreamer-docs.sgml:
8428         * docs/gst/gstreamer-sections.txt:
8429         the GstURIType documentation page is private, it only defines GstURIType
8430         which should be defined in the GstURIHandler page
8431         
8432 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8433
8434         * gst/gstbin.c: (gst_bin_class_init):
8435         * gst/gstbin.h:
8436         * gst/gstutils.c:
8437         Documentation updates.
8438
8439 2005-10-28  Wim Taymans  <wim@fluendo.com>
8440
8441         * docs/gst/gstreamer-sections.txt:
8442         * gst/gstclock.c:
8443         * gst/gstclock.h:
8444         Documented the clocks.
8445
8446 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8447
8448         * docs/gst/gstreamer-sections.txt:
8449           move some macros to private sections
8450         * gst/gstminiobject.c:
8451         * gst/gstminiobject.h:
8452           add descriptions provided by ds and some more
8453         * gst/gstpad.h:
8454           mark macro as to be removed
8455
8456 2005-10-28  Wim Taymans  <wim@fluendo.com>
8457
8458         * docs/design/part-TODO.txt:
8459         Add an item to TODO.
8460
8461         * gst/gstiterator.c: (gst_iterator_fold),
8462         (gst_iterator_find_custom):
8463         * gst/gstiterator.h:
8464         Add iterator docs.
8465
8466 2005-10-28  Wim Taymans  <wim@fluendo.com>
8467
8468         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8469         (gst_base_transform_init):
8470         Don't leak class.
8471
8472         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8473         An EOS event marks the queue as completely filled.
8474
8475 2005-10-27  Wim Taymans  <wim@fluendo.com>
8476
8477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8478         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8479         Some more debugging.
8480
8481         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8482         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8483         (gst_base_transform_event), (gst_base_transform_getrange),
8484         (gst_base_transform_chain):
8485         * gst/base/gstbasetransform.h:
8486         Fix debugging,
8487         Protect transform and concurrent buffer alloc with a new lock.
8488         Try not to break ABI/API.
8489
8490 2005-10-27  Wim Taymans  <wim@fluendo.com>
8491
8492         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8493         (gst_base_src_init), (gst_base_src_query),
8494         (gst_base_src_default_newsegment),
8495         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8496         (gst_base_src_send_event), (gst_base_src_event_handler),
8497         (gst_base_src_pad_get_range), (gst_base_src_loop),
8498         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8499         (gst_base_src_start), (gst_base_src_deactivate),
8500         (gst_base_src_activate_push), (gst_base_src_change_state):
8501         Move some stuff around and cleanup things.
8502
8503 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8504
8505         * gst/base/gstbasesrc.c: (gst_base_src_query):
8506           Add missing break statements.
8507
8508 2005-10-27  Wim Taymans  <wim@fluendo.com>
8509
8510         * check/gst/gstbin.c: (GST_START_TEST):
8511         An extra refcount is taken in basesrc.
8512
8513         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8514         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8515         (gst_base_src_loop):
8516         Small cleanups, check for flushing after being unlocked from the 
8517         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8518         Don't send out EOS when going to READY.
8519
8520 2005-10-27  Wim Taymans  <wim@fluendo.com>
8521
8522         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8523         (gst_base_sink_get_position):
8524         Some more debug.
8525
8526         * gst/gstbin.c: (message_check), (bin_replace_message),
8527         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8528         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8529         (bin_query_duration_init), (bin_query_duration_fold),
8530         (bin_query_duration_done), (bin_query_generic_fold),
8531         (gst_bin_query):
8532         * tools/gst-launch.c: (main):
8533         Remove old option.
8534
8535 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8536
8537         * examples/controller/audio-example.c: (main):
8538         * examples/queue/queue.c: (event_loop):
8539         * gst/base/gstbasetransform.h:
8540         * gst/gstelement.c: (gst_element_send_event):
8541         * gst/gstevent.h:
8542         * gst/gstpad.c: (gst_pad_send_event):
8543           fixing examples
8544           fixing docs typos
8545           changing log priority in error situations
8546
8547 2005-10-25  Wim Taymans  <wim@fluendo.com>
8548
8549         * gst/gstbin.c: (message_check), (bin_replace_message),
8550         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8551         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8552         (bin_query_duration_init), (bin_query_duration_fold),
8553         (bin_query_duration_done), (bin_query_generic_fold),
8554         (gst_bin_query):
8555         Some doc and debug updates.
8556         Cache previously requested query DURATION for speed. invalidate
8557         cached duration if element posts a DURATION message.
8558
8559 2005-10-25  Wim Taymans  <wim@fluendo.com>
8560
8561         * docs/design/part-TODO.txt:
8562         Update TODO.
8563
8564         * gst/gstbin.c: (message_check), (bin_replace_message),
8565         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8566         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8567         (bin_query_duration_init), (bin_query_duration_fold),
8568         (bin_query_duration_done), (bin_query_generic_fold),
8569         (gst_bin_query):
8570         Handle SEGMENT_START/DONE messages correctly.
8571         More evolved query algorithm that handles duration queries
8572         correctly.
8573
8574         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8575         (gst_element_get_state_func), (gst_element_abort_state),
8576         (gst_element_commit_state), (gst_element_lost_state):
8577         Some more debugging.
8578
8579         * gst/gstmessage.h:
8580         Added doc.
8581
8582 2005-10-25  Wim Taymans  <wim@fluendo.com>
8583
8584         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8585         Don't use invalid stream_time.
8586
8587         * gst/gstevent.c: (gst_event_new_newsegment):
8588         stream_time in newsegment cannot be undefined.
8589
8590 2005-10-24  Wim Taymans  <wim@fluendo.com>
8591
8592         * gst/gstbus.c:
8593         Doc fix.
8594
8595         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8596         (gst_queue_loop):
8597         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8598
8599 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8600
8601         * docs/libs/tmpl/gstdparam.sgml:
8602         * docs/libs/tmpl/gstdplinint.sgml:
8603         * docs/libs/tmpl/gstdpman.sgml:
8604         * docs/libs/tmpl/gstdpsmooth.sgml:
8605         * docs/libs/tmpl/gstunitconvert.sgml:
8606           these are obsolete
8607
8608 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8609
8610         * configure.ac:
8611           back to HEAD
8612
8613 === release 0.9.4 ===
8614
8615 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8616
8617         * configure.ac:
8618           releasing 0.9.4, "Tyrannosaurus Rex"
8619
8620 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8621
8622         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8623         (gst_file_sink_get_current_offset):
8624           Use fseeko() and ftello() if available. When falling back on
8625           lseek() to get the current offset, fflush() first to make sure
8626           everything is up-to-date and we get the right offset.
8627
8628 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8629
8630         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8631         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8632         * gst/gsterror.c: (_gst_stream_errors_init):
8633         * gst/gsterror.h:
8634         * gst/gstqueue.c: (gst_queue_loop):
8635         * po/POTFILES.in:
8636           remove prematurely added error category and clean up the instances
8637
8638 2005-10-21  Wim Taymans  <wim@fluendo.com>
8639
8640         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8641         (gst_base_sink_get_position), (gst_base_sink_query),
8642         (gst_base_sink_change_state):
8643         Simply set the right flag when going to playing, that's all
8644         we need to do instead of calling a function inside the object
8645         lock (that could take the lock as well and deadlock)
8646
8647 2005-10-21  Wim Taymans  <wim@fluendo.com>
8648
8649         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8650         (gst_base_src_loop):
8651         Don't warn, the peer element knows what to do best when
8652         the seek failed, it might try something else.
8653
8654 2005-10-21  Wim Taymans  <wim@fluendo.com>
8655
8656         * gst/base/gstbasesrc.c: (gst_base_src_init),
8657         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8658         Fix seeking.
8659
8660 2005-10-21  Wim Taymans  <wim@fluendo.com>
8661
8662         * docs/design/part-segments.txt:
8663         More docs.
8664
8665         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8666         Correctly set caps, even on the subbufer.
8667
8668 2005-10-21  Wim Taymans  <wim@fluendo.com>
8669
8670         * docs/gst/gstreamer-docs.sgml:
8671         * docs/gst/gstreamer-sections.txt:
8672         * gst/gstelement.h:
8673         * gst/gstevent.c:
8674         * gst/gstevent.h:
8675         * gst/gstmessage.h:
8676         * gst/gstpad.h:
8677         * gst/gstparse.h:
8678         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8679         * gst/gsttask.h:
8680         * gst/gstutils.c:
8681         * gst/gstutils.h:
8682         And 2% more doc coverage.
8683
8684 2005-10-21  Andy Wingo  <wingo@pobox.com>
8685
8686         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8687         position reporting.
8688
8689 2005-10-20  Wim Taymans  <wim@fluendo.com>
8690
8691         * gst/gsterror.c: (gst_error_get_message):
8692         * gst/gstparse.h:
8693         * gst/gstquery.h:
8694         * gst/gststructure.c:
8695         * gst/gsttrace.c:
8696         * gst/gstutils.c:
8697         More docs.
8698
8699 2005-10-20  Wim Taymans  <wim@fluendo.com>
8700
8701         * gst/gstbuffer.h:
8702         * gst/gstpad.c:
8703         * gst/gstparse.c:
8704         Another 1% more coverage.
8705
8706 2005-10-20  Wim Taymans  <wim@fluendo.com>
8707
8708         * docs/gst/gstreamer-sections.txt:
8709         * gst/gstelement.c: (gst_element_get_state_func),
8710         (gst_element_abort_state), (gst_element_commit_state),
8711         (gst_element_lost_state):
8712         * gst/gstevent.h:
8713         * gst/gstquery.c: (gst_query_set_position),
8714         (gst_query_parse_position), (gst_query_set_duration),
8715         (gst_query_parse_duration), (gst_query_new_convert):
8716         * gst/gstutils.c:
8717         Yay! 1% more docs coverage.
8718
8719 2005-10-20  Wim Taymans  <wim@fluendo.com>
8720
8721         * gst/gstpad.h:
8722         * gst/gstquery.c: (gst_query_set_position),
8723         (gst_query_parse_position), (gst_query_set_duration),
8724         (gst_query_parse_duration), (gst_query_new_convert):
8725         * gst/gstquery.h:
8726         * gst/gstutils.c: (gst_element_query_convert):
8727         * gst/gstutils.h:
8728         Docs and consistency fixes.
8729
8730 2005-10-20  Wim Taymans  <wim@fluendo.com>
8731
8732         * gst/gsttask.c:
8733         * gst/gsttask.h:
8734         More docs.
8735
8736 2005-10-20  Wim Taymans  <wim@fluendo.com>
8737
8738         * gst/gstbin.c: (message_check), (bin_replace_message),
8739         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8740         (update_degree), (gst_bin_sort_iterator_next),
8741         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8742         Reworked the message handling a bit, cache the messages instead of
8743         only the senders. alows us to do more in the future.
8744
8745 2005-10-20  Wim Taymans  <wim@fluendo.com>
8746
8747         * docs/design/part-TODO.txt:
8748         Update TODO
8749
8750         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8751         (gst_base_sink_query):
8752         Don't use clock time to report position when in EOS.
8753
8754 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8755
8756         * tools/gst-inspect.c: (print_interfaces),
8757         (print_element_properties_info), (print_element_info):
8758           Fix interface output with gst-inspect -a; don't print
8759           newlines after double/float properties.
8760
8761 2005-10-20  Wim Taymans  <wim@fluendo.com>
8762
8763         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8764         (gst_base_sink_query):
8765         Speed up current position calculation.
8766
8767         * gst/base/gstbasesrc.c: (gst_base_src_query),
8768         (gst_base_src_default_newsegment):
8769         Correctly set stream position in newsegment.
8770
8771         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8772         (update_degree), (gst_bin_sort_iterator_next),
8773         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8774         * gst/gstmessage.c: (gst_message_new_custom):
8775         Clean up debugging info
8776
8777         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8778         (gst_queue_loop), (gst_queue_handle_src_query):
8779         Pause task faster.
8780
8781 2005-10-19  Wim Taymans  <wim@fluendo.com>
8782
8783         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8784         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8785         Fix query handling again.
8786
8787 2005-10-19  Wim Taymans  <wim@fluendo.com>
8788
8789         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8790         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8791         * gst/base/gstbasesrc.c: (gst_base_src_query):
8792         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8793         * gst/elements/gsttypefindelement.c:
8794         (gst_type_find_handle_src_query), (find_element_get_length),
8795         (gst_type_find_element_activate):
8796         API change fix.
8797
8798         * gst/gstquery.c: (gst_query_new_position),
8799         (gst_query_set_position), (gst_query_parse_position),
8800         (gst_query_new_duration), (gst_query_set_duration),
8801         (gst_query_parse_duration), (gst_query_set_segment),
8802         (gst_query_parse_segment):
8803         * gst/gstquery.h:
8804         Bundling query position/duration is not a good idea since duration
8805         does not change much and we don't want to recalculate it for every
8806         position query, so they are separated again..
8807         Base value in segment query is not needed.
8808
8809         * gst/gstqueue.c: (gst_queue_handle_src_query):
8810         * gst/gstutils.c: (gst_element_query_position),
8811         (gst_element_query_duration), (gst_pad_query_position),
8812         (gst_pad_query_duration):
8813         * gst/gstutils.h:
8814         Updates for query API change.
8815         Added some docs here and there.
8816
8817 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8818
8819         * check/gst/gstbin.c: (GST_START_TEST):
8820         * check/gst/gstghostpad.c: (GST_START_TEST):
8821         * check/pipelines/cleanup.c: (GST_START_TEST):
8822           wait on thread to die so we can check refcount correctly
8823
8824 2005-10-18  Wim Taymans  <wim@fluendo.com>
8825
8826         * check/pipelines/stress.c: (GST_START_TEST):
8827         Make check a little more time consuming.
8828
8829 2005-10-18  Wim Taymans  <wim@fluendo.com>
8830
8831         * check/Makefile.am:
8832         * check/pipelines/stress.c: (GST_START_TEST),
8833         (simple_launch_lines_suite), (main):
8834         Small state change torture test.
8835
8836         * docs/design/part-states.txt:
8837         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8838         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8839         (gst_base_sink_change_state):
8840         Never take state lock from streaming thread, clean up ugly
8841         hacks. Unfortunatly core does not yet support nice ways to
8842         async commit state.
8843         
8844         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8845         (bin_bus_handler):
8846         Start state recalc if a STATE_DIRTY message is posted, but only
8847         on the toplevel bin.
8848
8849         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8850         (gst_element_get_state_func), (gst_element_abort_state),
8851         (gst_element_commit_state), (gst_element_lost_state),
8852         (gst_element_set_state_func), (gst_element_change_state):
8853         * gst/gstelement.h:
8854         State variables are now protected with the LOCK, the state
8855         lock is only used to serialize _set_state().
8856
8857 2005-10-18  Wim Taymans  <wim@fluendo.com>
8858
8859         * check/gst/gstbin.c: (GST_START_TEST):
8860         * check/gst/gstmessage.c: (GST_START_TEST):
8861         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8862         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8863         (bin_bus_handler):
8864         * gst/gstelement.c: (gst_element_abort_state),
8865         (gst_element_commit_state), (gst_element_lost_state):
8866         * gst/gstmessage.c: (gst_message_new_state_changed),
8867         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8868         (gst_message_new_segment_done), (gst_message_new_duration),
8869         (gst_message_parse_state_changed),
8870         (gst_message_parse_segment_start),
8871         (gst_message_parse_segment_done), (gst_message_parse_duration):
8872         * gst/gstmessage.h:
8873         * tools/gst-launch.c: (event_loop):
8874         Seriously, this is better than a previous commit as we only need
8875         to notify the fact that an element changed state in a streaming
8876         thread, marking the state of the parents dirty, hence the 
8877         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8878         message.
8879
8880 2005-10-18  Wim Taymans  <wim@fluendo.com>
8881
8882         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8883         (gst_bin_recalc_func):
8884         * gst/gstelement.c: (gst_element_set_clock),
8885         (gst_element_abort_state), (gst_element_lost_state):
8886         Cleanups, prepare for state change fixes.
8887
8888 2005-10-18  Wim Taymans  <wim@fluendo.com>
8889
8890         * gst/gstbin.h:
8891         * gst/gstelement.c: (gst_element_class_init),
8892         (gst_element_set_state), (gst_element_set_state_func):
8893         * gst/gstelement.h:
8894         Pending ABI changes.
8895         GThreadPool in GstBinClass to monitor async state changes.
8896         state_cookie in GstElement to detect concurrent gst/set state.
8897         set_state is now virtual too in case a very complicated element
8898         has to be constructed.
8899
8900 2005-10-18  Wim Taymans  <wim@fluendo.com>
8901
8902         * check/gst/gstbin.c: (GST_START_TEST):
8903         * check/gst/gstmessage.c: (GST_START_TEST):
8904         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8905         * gst/gstbin.c: (bin_bus_handler):
8906         * gst/gstelement.c: (gst_element_commit_state),
8907         (gst_element_lost_state):
8908         * gst/gstmessage.c: (gst_message_new_state_changed),
8909         (gst_message_new_segment_start), (gst_message_new_segment_done),
8910         (gst_message_new_duration), (gst_message_parse_state_changed),
8911         (gst_message_parse_segment_start),
8912         (gst_message_parse_segment_done), (gst_message_parse_duration):
8913         * gst/gstmessage.h:
8914         * tools/gst-launch.c: (event_loop):
8915         Make messages future proof.
8916         state-change gets a flag if it was a message comming from the
8917         streaming thread.
8918         segment-start/stop can also be specified in other formats.
8919         A message to notify an app that a pipeline changed playback 
8920         duration.
8921         Also fix a GstMessage leak in -launch
8922
8923 2005-10-18  Andy Wingo  <wingo@pobox.com>
8924
8925         * gst/gstelement.c (gst_element_dispose): More helpful message.
8926
8927 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8928
8929         reviewed by: <delete if not using a buddy>
8930
8931         * common/gtk-doc.mak:
8932
8933 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8934
8935         * gst/gstregistry.c: (gst_registry_scan_path_level):
8936           unref a plug-in we get that was already initialized
8937
8938 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8939
8940         * docs/gst/gstreamer-sections.txt:
8941         * docs/libs/gstreamer-libs-sections.txt:
8942         * gst/gstelement.h:
8943           add new api entries
8944           hide internal macro
8945
8946 2005-10-17  Andy Wingo  <wingo@pobox.com>
8947
8948         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8949         cleanup.
8950
8951         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8952
8953         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8954
8955         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8956         (gst_element_get_state_func): Better debug message.
8957         (gst_element_commit_state): s/INFO/DEBUG/.
8958         (gst_element_lost_state, gst_element_change_state): 
8959
8960         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8961         (gst_message_new_custom): s/INFO/LOG/.
8962
8963 2005-10-17  Michael Smith <msmith@fluendo.com>
8964
8965         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8966           Check if end time is valid using end time, not start time.
8967
8968 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8969
8970         * check/gst-libs/controller.c: (GST_START_TEST),
8971         (gst_controller_suite):
8972         * libs/gst/controller/gstcontroller.c:
8973         (gst_controlled_property_set_interpolation_mode):
8974         * libs/gst/controller/gstcontroller.h:
8975         * libs/gst/controller/gstinterpolation.c:
8976         * testsuite/controller/.cvsignore:
8977         * testsuite/controller/Makefile.am:
8978         * testsuite/controller/interpolator.c:
8979           merge controller testsuites
8980           fix broken tests
8981           remove mem-chunk from docs
8982
8983 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8984
8985         * gst/gstmemchunk.c:
8986         * gst/gstmemchunk.h:
8987         * gst/gsttrashstack.c:
8988         * gst/gsttrashstack.h:
8989           out.  get out.  you're fired.  to the Attic !
8990
8991 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8992
8993         * gst/gstcaps.c: (gst_caps_intersect):
8994           fix signedness issues in a (hopefully) correct way
8995         * gst/gstelement.c: (gst_element_pads_activate):
8996           some debugging
8997         * gst/gstobject.c: (gst_object_set_parent):
8998           some debugging
8999
9000 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9001
9002         * gst/gstvalue.h: Fix prototypes.
9003
9004 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9005
9006         * docs/gst/gstreamer-sections.txt:
9007         * gst/gst.c: (gst_version_string):
9008         * gst/gst.h:
9009         * gst/gstversion.h.in:
9010         * win32/common/libgstreamer.def:
9011           add gst_version_string ()
9012
9013 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9014
9015         * configure.ac:
9016           clean up further
9017         * gst/gst.c: (init_post):
9018         * win32/common/config.h.in:
9019           it's PLUGINDIR now
9020         * gst/gstcaps.c: (gst_caps_intersect):
9021           use gint64, the range could be bigger than a guint
9022
9023 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9024
9025         * gst/gstclock.h:
9026           document potential problem in 2038
9027
9028 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9029
9030         * gst/gstcaps.c: (gst_caps_intersect):
9031           Fix guint j diving under 0
9032
9033 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9034
9035         * configure.ac:
9036         * win32/common/config.h:
9037         * win32/common/config.h.in:
9038           check for process.h, declares getpid() on Windows
9039         * gst/gstinfo.c:
9040           include process.h if we have it
9041         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9042         * gst/gstmemchunk.h:
9043           fix signedness issues
9044         * win32/common/libgstreamer.def:
9045           fix get_type's
9046
9047 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9048
9049         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9050         fix. Because of unsigned ints, caps intersection was going nuts and
9051         trying to access structures with G_MAXUINT index. That fixes
9052         videotestsrc ! ffmpegcolorspace ! fakesink
9053         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9054         consistency.
9055
9056 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9057
9058         * configure.ac:
9059           use the gettext macro
9060         * gst/elements/gstelements.c:
9061         * gst/gst.c:
9062         * gst/indexers/gstindexers.c:
9063           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9064         * win32/common/config.h:
9065           updated config.h
9066         * win32/common/config.h.in:
9067           add the template to generate config.h
9068         * win32/common/gstenumtypes.c:
9069         * win32/common/gstversion.h:
9070           updated copies
9071
9072 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9073
9074         * gst/gst.c: (gst_version):
9075         * gst/gstversion.h.in:
9076           add the nano
9077
9078 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9079
9080         * gst/gstevent.h:
9081           Oops, add missing closing bracket.
9082
9083 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9084
9085         * configure.ac:
9086           use common m4's for argument checking
9087
9088 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9089
9090         * docs/gst/gstreamer-sections.txt:
9091         * gst/gstevent.h:
9092           Add GST_EVENT_TYPE_NAME() macro.
9093
9094 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9095
9096         * gst/gstinfo.c:
9097         * gst/gstpluginfeature.c:
9098         * gst/gsttask.c:
9099           privatize more symbols
9100
9101 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9102
9103         * configure.ac:
9104           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9105           everything that uses GStreamer API should have the includes
9106
9107 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9108
9109         * docs/gst/gstreamer-sections.txt:
9110         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9111         * gst/gstvalue.h:
9112           give each value a _get_type, removes the DATA exports
9113
9114 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9115
9116         * gst/gst.c:
9117         * gst/gst.h:
9118           remove _gst_registry_auto_load, not used anymore
9119         * gst/gstbin.c: (gst_bin_get_type):
9120         * gst/gstbin.h:
9121         * gst/gstelement.c: (gst_element_get_type):
9122         * gst/gstelement.h:
9123         * gst/gstobject.c: (gst_object_get_type):
9124         * gst/gstobject.h:
9125         * gst/gstpad.c: (gst_pad_get_type):
9126         * gst/gstpad.h:
9127           make _get_type functions similar, fixes data export from library
9128
9129 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9130
9131         * configure.ac:
9132           correctly make conditionals
9133         * gst/elements/Makefile.am:
9134         * gst/elements/gstelements.c:
9135           fix typo causing fdsrc not to build
9136
9137 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9138
9139         * testsuite/Makefile.am:
9140         * testsuite/bytestream/.cvsignore:
9141         * testsuite/bytestream/Makefile.am:
9142         * testsuite/bytestream/filepadsink.c:
9143         * testsuite/bytestream/gstbstest.c:
9144         * testsuite/bytestream/test1.c:
9145         * testsuite/bytestream/testfile1:
9146         * testsuite/caps/normalisation.c:
9147         * testsuite/caps/random.c: (main):
9148         * testsuite/cleanup/.cvsignore:
9149         * testsuite/cleanup/Makefile.am:
9150         * testsuite/cleanup/cleanup1.c:
9151         * testsuite/cleanup/cleanup2.c:
9152         * testsuite/cleanup/cleanup3.c:
9153         * testsuite/cleanup/cleanup4.c:
9154         * testsuite/cleanup/cleanup5.c:
9155         * testsuite/controller/interpolator.c:
9156         * testsuite/debug/printf_extension.c: (main):
9157         * testsuite/elements/tee.c:
9158         * testsuite/negotiation/.cvsignore:
9159         * testsuite/negotiation/Makefile.am:
9160         * testsuite/negotiation/pad_link.c:
9161         * testsuite/pad/Makefile.am:
9162         * testsuite/pad/chainnopull.c:
9163         * testsuite/pad/getnopush.c:
9164         * testsuite/pad/link.c:
9165         * testsuite/refcounting/sched.c: (create_pipeline):
9166         * testsuite/registry/Makefile.am:
9167         * testsuite/registry/gst-print-formats.c:
9168         * testsuite/schedulers/.cvsignore:
9169         * testsuite/schedulers/142183-2.c:
9170         * testsuite/schedulers/142183.c:
9171         * testsuite/schedulers/143777-2.c:
9172         * testsuite/schedulers/143777.c:
9173         * testsuite/schedulers/147713.c:
9174         * testsuite/schedulers/147819.c:
9175         * testsuite/schedulers/147894-2.c:
9176         * testsuite/schedulers/147894.c:
9177         * testsuite/schedulers/Makefile.am:
9178         * testsuite/schedulers/group_link.c:
9179         * testsuite/schedulers/queue_link.c:
9180         * testsuite/schedulers/relink.c:
9181         * testsuite/schedulers/unlink.c:
9182         * testsuite/schedulers/unref.c:
9183         * testsuite/schedulers/useless_iteration.c:
9184         * testsuite/states/bin.c:
9185           clean out/remove some stuff from the testsuite directories
9186
9187 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9188
9189         * configure.ac:
9190           check for some headers
9191         * gst/elements/Makefile.am:
9192         * gst/elements/gstelements.c:
9193           don't compile fdsrc without sys/socket.h
9194         * gst/indexers/Makefile.am:
9195         * gst/indexers/gstindexers.c: (plugin_init):
9196           don't compile fileindex without mmap
9197
9198 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9199
9200         * configure.ac:
9201           reorganize
9202           clean up
9203           document more
9204           remove cruft
9205         * check/Makefile.am:
9206         * docs/gst/Makefile.am:
9207         * examples/helloworld/Makefile.am:
9208         * gst/Makefile.am:
9209         * gst/base/Makefile.am:
9210         * gst/check/Makefile.am:
9211         * gst/elements/Makefile.am:
9212         * gst/indexers/Makefile.am:
9213         * gst/parse/Makefile.am:
9214         * libs/gst/controller/Makefile.am:
9215         * libs/gst/dataprotocol/Makefile.am:
9216         * examples/helloworld/helloworld.c: (event_loop):
9217           compile fixes, though it's not being compiled currently
9218
9219 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9220
9221         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9222           Add some simple tests for the new taglist date API.
9223
9224 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9225
9226         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9227         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9228           Beautify 'last-message' output: print 'none' for buffer timestamps
9229           and durations if none is set; improve alignment with next messages.
9230
9231 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9232
9233         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9234         * gst/gstpluginfeature.h:
9235         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9236         * gst/gstregistry.h:
9237         * docs/gst/gstreamer-sections.txt:
9238           Add new API to check plugin feature version requirements.
9239
9240         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9241           Some basic tests for the above.         
9242
9243 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9244
9245         * gst/gststructure.c: (gst_structure_to_string):
9246           guard against NULL printf - happens when for example
9247           a message structure with GstClock gets serialized
9248
9249 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9250
9251         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9252           Fix presumable copy'n'pasto.
9253
9254 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9255
9256         * gst/elements/gstfakesrc.h:
9257         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9258         * gst/elements/gsttypefindelement.c:
9259           fix some signedness
9260         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9261           I wonder if this could actually write +2GB files before
9262
9263 2005-10-13  Andy Wingo  <wingo@pobox.com>
9264
9265         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9266         Fix Timmeke Waymans bug.
9267         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9268         string of the proper length to gst_caps_from_string. There's a
9269         potential for, before this fix, that this could cause someone
9270         connecting over the network to cause a segfault if the payload is
9271         not NUL-terminated.
9272
9273 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9274
9275         * docs/design/draft-push-pull.txt:
9276         * docs/design/part-overview.txt:
9277         * docs/random/TODO-pre-0.9:
9278         * docs/random/old/ChangeLog.gstreamer:
9279         * gst/base/gstpushsrc.c:
9280         * gst/gstclock.c:
9281           fixed typos
9282
9283 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9284
9285         * gst/glib-compat.c: (gst_flags_get_first_value):
9286         * gst/glib-compat.h:
9287         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9288         (gst_value_compare_double), (gst_value_serialize_flags):
9289           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9290           infinite loop
9291
9292 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9293
9294         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9295         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9296           fix up debugging
9297         * tools/gst-launch.c: (event_loop):
9298           print out clock nicely
9299
9300 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9301
9302         * docs/gst/gstreamer-sections.txt:
9303         * gst/gsttaglist.h:
9304         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9305         (gst_tag_list_get_date_index):
9306           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9307           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9308
9309 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9310
9311         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9312         (gst_collectpads_chain):
9313         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9314         in CollectData.
9315
9316 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9317
9318         * docs/gst/gstreamer-sections.txt:
9319         * gst/gst.c:
9320         * gst/gsterror.h:
9321         * tools/gst-inspect.c: (main):
9322         * tools/gst-launch.c: (main):
9323         * tools/gst-run.c: (main):
9324         * tools/gst-xmlinspect.c: (main):
9325           fix GOption context leaks
9326           doc fixes
9327
9328 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9329
9330         * gst/gstbus.c:
9331           use HAVE_UNISTD_H
9332         * win32/common/config.h:
9333           update config
9334         * win32/vs6/grammar.dsp:
9335         * win32/vs6/libgstelements.dsp:
9336         * win32/vs6/libgstreamer.dsp:
9337           update vs6 files
9338
9339 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9340
9341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9342         * gst/base/gstbasesrc.c: (gst_base_src_query):
9343           fix more guint64<->gdouble conversions
9344
9345 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9346
9347         * Makefile.am:
9348           add win32-update target
9349         * win32/common/gstconfig.h:
9350         * win32/common/gstenumtypes.c:
9351         * win32/common/gstenumtypes.h:
9352         * win32/common/gstversion.h:
9353           add files that visual studio can't generate
9354
9355 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9356
9357         * Makefile.am:
9358           add a win32-update target
9359         * configure.ac:
9360
9361 2005-10-12  Wim Taymans  <wim@fluendo.com>
9362
9363         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9364         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9365         * gst/gstelement.c: (gst_element_commit_state),
9366         (gst_element_set_state):
9367         Protect flags with proper lock.
9368         unref provided cached clock in dispose.
9369
9370 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9371
9372         * gst/gst.c:
9373         * gst/gstminiobject.h:
9374         * gst/gstpad.h:
9375         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9376           removed unused flags from miniobject
9377           doc fixes
9378
9379 2005-10-12  Wim Taymans  <wim@fluendo.com>
9380
9381         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9382         (gst_file_sink_event), (gst_file_sink_render):
9383         Flush before seeking.
9384
9385 2005-10-12  Andy Wingo  <wingo@pobox.com>
9386
9387         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9388         always been the case.
9389
9390 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9391
9392         * check/gst/gstbin.c: (GST_START_TEST):
9393         * docs/gst/gstreamer-sections.txt:
9394         * gst/base/gstbasesink.c: (gst_base_sink_init):
9395         * gst/base/gstbasesrc.c: (gst_base_src_init),
9396         (gst_base_src_get_range), (gst_base_src_check_get_range),
9397         (gst_base_src_start), (gst_base_src_stop):
9398         * gst/base/gstbasesrc.h:
9399         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9400         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9401         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9402         (bin_bus_handler):
9403         * gst/gstbin.h:
9404         * gst/gstbuffer.h:
9405         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9406         * gst/gstbus.h:
9407         * gst/gstelement.c: (gst_element_is_locked_state),
9408         (gst_element_set_locked_state), (gst_element_commit_state),
9409         (gst_element_set_state):
9410         * gst/gstelement.h:
9411         * gst/gstindex.c: (gst_index_init):
9412         * gst/gstindex.h:
9413         * gst/gstminiobject.h:
9414         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9415         (gst_object_set_parent):
9416         * gst/gstobject.h:
9417         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9418         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9419         * gst/gstpad.h:
9420         * gst/gstpadtemplate.h:
9421         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9422         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9423         * gst/gstpipeline.h:
9424         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9425         (gst_file_index_commit):
9426         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9427         * testsuite/pad/link.c: (gst_test_src_init),
9428         (gst_test_filter_init), (gst_test_sink_init):
9429         * testsuite/states/locked.c: (main):
9430           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9431           moved bitshift from macro to enum definition
9432
9433 2005-10-12  Wim Taymans  <wim@fluendo.com>
9434
9435         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9436         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9437         (gst_file_sink_render):
9438         Some more debugging info.
9439
9440 2005-10-12  Wim Taymans  <wim@fluendo.com>
9441
9442         * docs/design/part-states.txt:
9443         * tools/gst-launch.c: (main):
9444         Some doc updates.
9445         Revert non-intentional change.
9446
9447 2005-10-12  Wim Taymans  <wim@fluendo.com>
9448
9449         * check/gst/gstbin.c: (GST_START_TEST):
9450         * check/gst/gstelement.c: (GST_START_TEST):
9451         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9452         * check/gst/gstghostpad.c: (GST_START_TEST):
9453         * check/gst/gstpipeline.c: (GST_START_TEST):
9454         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9455         * check/states/sinks.c: (GST_START_TEST):
9456         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9457         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9458         (gst_bin_remove_func), (gst_bin_get_state_func),
9459         (gst_bin_recalc_state), (gst_bin_change_state_func),
9460         (bin_bus_handler):
9461         * gst/gstelement.c: (gst_element_get_state_func),
9462         (gst_element_get_state), (gst_element_abort_state),
9463         (gst_element_commit_state), (gst_element_set_state),
9464         (gst_element_change_state), (gst_element_change_state_func):
9465         * gst/gstelement.h:
9466         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9467         (gst_pipeline_provide_clock_func):
9468         * gst/gstutils.c: (gst_element_link_pads_filtered):
9469         * tools/gst-launch.c: (main):
9470         * tools/gst-typefind.c: (main):
9471         Use GstClockTime in _get_state() instead of GTimeVal.
9472         Remove old code in gstutils.c
9473
9474 2005-10-12  Andy Wingo  <wingo@pobox.com>
9475
9476         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9477         removed.
9478
9479         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9480         there is no task. Shouldn't affect any code, as nothing in our
9481         plugins checks this return value.
9482         (gst_pad_stop_task): Also take the stream lock if the pad has no
9483         task. Docs updated.
9484
9485 2005-10-12  Wim Taymans  <wim@fluendo.com>
9486
9487         * gst/gstpad.c: (pre_activate), (post_activate),
9488         (gst_pad_activate_pull), (gst_pad_activate_push):
9489         Cleanup activation code. Reset old state if
9490         activation failed.
9491
9492 2005-10-12  Wim Taymans  <wim@fluendo.com>
9493
9494         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9495         (gst_base_sink_change_state):
9496         No need to prerol after receiving EOS.
9497
9498         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9499         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9500         * gst/elements/gstidentity.c: (gst_identity_event):
9501         Print events more verbosely.
9502
9503 2005-10-12  Wim Taymans  <wim@fluendo.com>
9504
9505         * check/Makefile.am:
9506         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9507         * check/states/sinks2.c:
9508         Moved sinks2 testcode in sinks check.
9509
9510         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9511         (gst_bin_remove_func), (gst_bin_recalc_state),
9512         (gst_bin_change_state_func), (bin_bus_handler):
9513         Fix potential race condition when _get_state() iterated over an
9514         ASYNC element right before it posted a state completion.
9515
9516         * gst/gstclock.h:
9517         Do proper cast here.
9518
9519         * gst/gstevent.c: (gst_event_new_newsegment),
9520         (gst_event_parse_newsegment):
9521         A playback rate of 0.0 is not allowed.
9522
9523 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9524
9525         * win32/common/config.h:
9526         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9527         (_trewinddir), (_ttelldir), (_tseekdir):
9528         * win32/common/dirent.h:
9529         * win32/common/gtchar.h:
9530         * win32/common/libgstbase.def:
9531         * win32/common/libgstreamer.def:
9532         * win32/vs6/grammar.dsp:
9533         * win32/vs6/gst_inspect.dsp:
9534         * win32/vs6/gst_launch.dsp:
9535         * win32/vs6/gstreamer.dsw:
9536         * win32/vs6/libgstbase.dsp:
9537         * win32/vs6/libgstelements.dsp:
9538         * win32/vs6/libgstreamer.dsp:
9539           Visual Studio 6 project files, and a new common directory.
9540           Phear.
9541
9542 2005-10-11  Wim Taymans  <wim@fluendo.com>
9543
9544         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9545         (gst_base_sink_do_sync), (gst_base_sink_query),
9546         (gst_base_sink_change_state):
9547         * gst/base/gstbasesink.h:
9548         Correctly parse newsegment info.
9549
9550 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9551
9552         * gst/gst.c: (init_post):
9553           split plugin paths correctly
9554
9555 2005-10-11  Wim Taymans  <wim@fluendo.com>
9556
9557         * check/gst/gstevent.c: (GST_START_TEST):
9558         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9559         (gst_base_sink_change_state):
9560         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9561         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9562         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9563         * gst/gstevent.c: (gst_event_new_newsegment),
9564         (gst_event_parse_newsegment):
9565         * gst/gstevent.h:
9566         Added extra flag to newsegment for future API freeze.
9567         Updated check and base elements.
9568
9569 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9570
9571         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9572         (gst_collectpads_add_pad), (gst_collectpads_pop),
9573         (gst_collectpads_event), (gst_collectpads_chain):
9574         * gst/base/gstcollectpads.h: Handle EOS correctly.
9575
9576 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9577
9578         * tools/gst-launch.c: (main):
9579           more null protecting
9580
9581 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9582
9583         * gst/gst-i18n-lib.h:
9584           check for ENABLE_NLS, not GETTEXT_PACKAGE
9585         * gst/gstregistry.c: (gst_registry_add_plugin),
9586         (gst_registry_scan_path_level),
9587         (_gst_registry_remove_cache_plugins):
9588           protect possibly NULL strings
9589         * gst/parse/types.h:
9590           config.h already included before
9591         * tools/gst-inspect.c: (main):
9592           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9593           check for ENABLE_NLS, not GETTEXT_PACKAGE
9594         * tools/gst-launch.c: (main):
9595           check for ENABLE_NLS, not GETTEXT_PACKAGE
9596
9597 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9598
9599         * configure.ac:
9600           if we don't have glib, fail before testing 2.8
9601         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9602           fix a leak, should fix plugins-base testsuite
9603
9604 2005-10-11  Andy Wingo  <wingo@pobox.com>
9605
9606         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9607         take the mode we're going to as an arg. Go head and set the mode
9608         and flushing flags now, so that if the activate function starts a
9609         thread all the flags will be in the right state.
9610         (post_activate): Renamed also. Just handle making sure streaming
9611         finishes for the deactivation case, and setting the deactivated
9612         mode.
9613         (gst_pad_set_active): Complain loudly if deactivation fails.
9614         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9615         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9616         remove the terrible hack.
9617
9618 2005-10-11  Wim Taymans  <wim@fluendo.com>
9619
9620         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9621         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9622         (gst_bin_recalc_state), (gst_bin_change_state_func),
9623         (gst_bin_dispose), (bin_bus_handler):
9624         * gst/gstbin.h:
9625         Prepare to make current EOS message queue more generic.
9626         Fix some typos.
9627
9628         * gst/gstevent.c: (gst_event_new_newsegment),
9629         (gst_event_parse_newsegment):
9630         * gst/gstevent.h:
9631         Rename base to stream_time.
9632
9633         * gst/gstmessage.h:
9634         Fix typo in docs.
9635
9636 2005-10-11  Wim Taymans  <wim@fluendo.com>
9637
9638         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9639         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9640         (gst_bin_change_state_func), (bin_bus_handler):
9641         * gst/gstbin.h:
9642         Work on proper clock selection.
9643
9644 2005-10-11  Edward Hervey  <edward@fluendo.com>
9645
9646         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9647         * libs/gst/controller/gstcontroller.h:
9648         Added GList* version of _remove_properties() in order to be able to wrap
9649         it in bindings.
9650
9651 2005-10-11  Wim Taymans  <wim@fluendo.com>
9652
9653         * docs/design/part-states.txt:
9654         Some more docs.
9655
9656         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9657         (gst_bin_change_state_func), (bin_bus_handler):
9658         Doc updates. Don't distribute the same clock over and over again.
9659
9660         * gst/gstclock.c:
9661         * gst/gstclock.h:
9662         Doc updates.
9663
9664         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9665         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9666         (gst_pad_send_event):
9667         * gst/gstpad.h:
9668         Make probe emission threadsafe again.
9669         Register quarks and move _get_name() from utils.
9670         Doc updates.
9671
9672         * gst/gstpipeline.c: (gst_pipeline_class_init),
9673         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9674         Only redistribute the clock of it changed.
9675
9676         * gst/gstsystemclock.h:
9677         Doc updates. 
9678
9679         * gst/gstutils.c:
9680         * gst/gstutils.h:
9681         Moved the _flow_get_name() to GstPad.
9682
9683 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9684
9685         * check/gst-libs/gdp.c: (GST_START_TEST):
9686         * check/gst/gstcaps.c: (GST_START_TEST):
9687         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9688         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9689         (gst_dp_packet_from_caps):
9690           fix more valgrind warnings before turning up the heat
9691
9692 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9693
9694         * gst/parse/grammar.y:
9695           some cleanup before the hacking
9696
9697 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9698
9699         * gst/base/gstbasesrc.c: (gst_base_src_query):
9700           use conversions
9701         * gst/gstutils.c: (gst_guint64_to_gdouble),
9702         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9703         * gst/gstutils.h:
9704           externalize, basesrc uses it
9705           obviously the implementation needs testing
9706
9707 2005-10-10  Wim Taymans  <wim@fluendo.com>
9708
9709         * tests/sched/Makefile.am:
9710         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9711         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9712
9713 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9714
9715         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9716           apparently converting from guint64 to double is not implemented
9717           on MSVC
9718
9719 2005-10-10  Wim Taymans  <wim@fluendo.com>
9720
9721         * check/Makefile.am:
9722         * check/generic/states.c: (GST_START_TEST):
9723         * check/gst/gstbin.c: (GST_START_TEST):
9724         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9725         * check/states/sinks.c: (GST_START_TEST):
9726         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9727         (main):
9728         Check fixes, use API as stated in design docs, remove hacks.
9729
9730         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9731         (gst_base_sink_change_state):
9732         Catch stopping our task while we're shutting down.
9733
9734         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9735         (gst_bin_remove_func), (gst_bin_get_state_func),
9736         (gst_bin_recalc_state), (gst_bin_change_state_func),
9737         (bin_bus_handler):
9738         * gst/gstbin.h:
9739         * gst/gstelement.c: (gst_element_init),
9740         (gst_element_get_state_func), (gst_element_abort_state),
9741         (gst_element_commit_state), (gst_element_lost_state),
9742         (gst_element_set_state), (gst_element_change_state),
9743         (gst_element_change_state_func):
9744         * gst/gstelement.h:
9745         New state change algorithm (see #318116)
9746
9747         * gst/gstpipeline.c: (gst_pipeline_class_init),
9748         (gst_pipeline_init), (gst_pipeline_set_property),
9749         (gst_pipeline_get_property), (do_pipeline_seek),
9750         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9751         * gst/gstpipeline.h:
9752         Remove crude state change hacks.
9753
9754         * gst/gstutils.h:
9755         Remove crude hacks.
9756
9757         * tools/gst-launch.c: (main):
9758         Fixes for state change. Needs some more work to fully use the
9759         new stuff.
9760
9761 2005-10-10  Andy Wingo  <wingo@pobox.com>
9762
9763         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9764
9765         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9766         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9767         issue.
9768
9769 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9770
9771         * gst/gstiterator.c: (gst_iterator_new):
9772           Fix my previous commit: GTypes passed to gst_iterator_new()
9773           can be fundamental types.
9774
9775 2005-10-10  Wim Taymans  <wim@fluendo.com>
9776
9777         * gst/gstelement.c: (gst_element_iterate_pad_list),
9778         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9779         (gst_element_iterate_sink_pads):
9780         Use src/sink pads lists for the respective iterators instead
9781         of filtering.
9782
9783 2005-10-10  Andy Wingo  <wingo@pobox.com>
9784
9785         Merged in popt removal + GOption addition patch from Ronald, bug
9786         #169772.
9787
9788         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9789         GstElement macros around, remove popt-related symbols, add goption
9790         stuff.
9791
9792         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9793         
9794         * docs/gst/Makefile.am:
9795         * docs/libs/Makefile.am: No POPT_CFLAGS.
9796         
9797         * examples/manual/Makefile.am:
9798         * docs/manual/basics-init.xml: Doc updates with an example.
9799         
9800         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9801         (gst_init), (parse_one_option), (parse_goption_arg):
9802         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9803         bit of hand merging and debugging to get the GOption stuff working
9804         tho.
9805         
9806         * tests/Makefile.am:
9807         * tools/Makefile.am:
9808         * tools/gst-inspect.c: (main):
9809         * tools/gst-launch.c: (main):
9810         * tools/gst-run.c: (main):
9811         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9812
9813 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9814
9815         * gst/gstiterator.c: (gst_iterator_new):
9816           Add assertions to make sure passed GType is likely to really
9817           be a GType (as the compiler won't catch it if the size and
9818           GType arguments get mixed up, see #318447).
9819
9820 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9821
9822         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9823
9824         * gst/gstbin.c: (gst_bin_iterate_sorted):
9825           Pass GType and size arguments to gst_iterator_new() in the right
9826           order (maybe we should make _new() take the GType as first argument
9827           just like _new_list()?) (#318447).
9828           
9829
9830 2005-10-10  Wim Taymans  <wim@fluendo.com>
9831
9832         * gst/gstelement.c: (gst_element_finalize):
9833         And free the GStaticRecMutex too
9834
9835 2005-10-10  Andy Wingo  <wingo@pobox.com>
9836
9837         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9838         Allocate and free the mutex properly.
9839
9840         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9841         New macros.
9842         (GstElement): The state_lock is now recursive. Rebuild your
9843         plugins, suckers. Old macros adapted.
9844
9845         * docs/gst/gstreamer-sections.txt: Doc updates.
9846
9847         * gst/gstutils.h:
9848         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9849         (g_static_rec_cond_wait): Ported from state changes patch, while
9850         we wait on bug #317802 to be solved in a well-distributed GLib.
9851
9852         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9853         gst_element_change_state, variable name changes.
9854         (gst_element_change_state): Split out of gst_element_set_state in
9855         preparation for the state change merge. Doesn't pay attention to
9856         the 'transition' argument.
9857         (gst_element_set_state): Updates, hopefully purely cosmetic.
9858         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9859         state change patch.
9860         (gst_element_get_state_func): Renamed from get_state, cosmetic
9861         changes.
9862
9863 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9864
9865         * gst/elements/gstelements.c:
9866         * win32/GStreamer.vcproj:
9867         * win32/config.h:
9868         * win32/dirent.c: (_tseekdir):
9869         * win32/gst-inspect.vcproj:
9870         * win32/gst-launch.vcproj:
9871         * win32/gstconfig.h:
9872         * win32/gstelements.vcproj:
9873         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9874         * win32/gstreamer.def:
9875         * win32/msvc71.sln:
9876           updates for the win32 build (patch from Sebastien Moutte)
9877
9878 2005-10-10  Andy Wingo  <wingo@pobox.com>
9879
9880         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9881         gst_bin_get_state, cleaned up (but no logic changes).
9882         (bin_element_is_sink): Comment updates.
9883         (sink_iterator_filter): Remove needless cast.
9884         (gst_bin_iterate_sinks): Doc update.
9885         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9886         cleaned up (but no logic changes).
9887
9888         * check/states/sinks.c (test_src_sink): Cleanups from the state
9889         change patch.
9890         (test_livesrc_sink): Sync on the state.
9891
9892         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9893         the state change patch.
9894
9895         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9896         change patch.
9897
9898         * check/gst/gstbin.c: Merge in some style fixes and additional
9899         checks from Wim's state change patch.
9900
9901 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9902
9903         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9904         (gst_type_find_helper):
9905           Check whether we have the requested data already in our list of
9906           cached buffers before pulling a new buffer; also make the buffer
9907           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9908
9909 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * gst/gstcaps.c:
9912         * gst/gstevent.c:
9913           doc updates
9914         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9915           don't use long long, it's not portable.  Replacing with
9916           gint64 seems to work; let's hope no skeletons fall out of the closet.
9917
9918 2005-10-10  Andy Wingo  <wingo@pobox.com>
9919
9920         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9921
9922 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9923
9924         * docs/gst/gstreamer-sections.txt:
9925         * gst/gstevent.c:
9926         * gst/gstevent.h:
9927         * gst/gstinfo.c:
9928         * gst/gstinfo.h:
9929         * gst/gstmessage.c: (gst_message_parse_state_changed):
9930         * gst/gstpad.c:
9931         * gst/gstpad.h:
9932           more docs, fix compilation
9933
9934 2005-10-09  Philippe Khalaf <burger@speedy.org>
9935         * gst/gstmessage.c:
9936           Fixed a few forgotten variables on previous commit
9937
9938 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9939
9940         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9941           Fix evil typefind crasher: getrange() might return a short
9942           buffer at the end of a file, but gst_type_find_peek() must
9943           either return the full data as requested or NULL, but
9944           never a short buffer.
9945
9946 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9947
9948         * gst/gstmessage.c: (gst_message_new_state_changed),
9949         (gst_message_parse_state_changed):
9950         * gst/gstmessage.h:
9951           don't use "new", it's a C++ keyword
9952
9953 2005-10-08  Wim Taymans  <wim@fluendo.com>
9954
9955         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9956         * gst/gstelement.c: (gst_element_post_message):
9957         * gst/gstpipeline.c: (gst_pipeline_change_state):
9958         Small docs and debug updates.
9959
9960 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9961
9962         * docs/gst/gstreamer-sections.txt:
9963         * gst/gstelementfactory.c:
9964         * gst/gstevent.c:
9965         * gst/gsttaglist.c:
9966           more docs
9967
9968 2005-10-08  Wim Taymans  <wim@fluendo.com>
9969
9970         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9971         (gst_bin_dispose), (bin_bus_handler):
9972         Fix typos, add comments.
9973         Clear EOS list when going to PAUSED from any direction and do it
9974         in a threadsafe way.
9975         Get base time in a threadsafe way too.
9976         Fix confusing debug in the change_state function.
9977         Various other small cleanups.
9978         
9979         * gst/gstelement.c: (gst_element_post_message):
9980         Fix very verbose bus posting code.
9981
9982         * gst/gstpipeline.c: (gst_pipeline_class_init),
9983         (gst_pipeline_set_property), (gst_pipeline_get_property),
9984         (gst_pipeline_change_state):
9985         Small ARG_ -> PROP_ cleanup
9986
9987 2005-10-08  Wim Taymans  <wim@fluendo.com>
9988
9989         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9990         Do a less CPU demanding EOS check because we can.
9991
9992 2005-10-08  Wim Taymans  <wim@fluendo.com>
9993
9994         * libs/gst/dataprotocol/dataprotocol.c:
9995         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9996         (gst_dp_packet_from_event):
9997         * libs/gst/dataprotocol/dataprotocol.h:
9998         * libs/gst/dataprotocol/dp-private.h:
9999         It's about time we bump the version number.
10000         Since event types don't fit in the guint8 anymore describing
10001         the payload type, make payload type 16 bits wide.
10002
10003 2005-10-08  Wim Taymans  <wim@fluendo.com>
10004
10005         * docs/design/part-TODO.txt:
10006         * docs/design/part-clocks.txt:
10007         * docs/design/part-events.txt:
10008         * docs/design/part-gstbin.txt:
10009         * docs/design/part-gstelement.txt:
10010         * docs/design/part-gstpipeline.txt:
10011         * docs/design/part-live-source.txt:
10012         * docs/design/part-messages.txt:
10013         * docs/design/part-overview.txt:
10014         * docs/design/part-states.txt:
10015         Many doc updates.
10016
10017 2005-10-08  Wim Taymans  <wim@fluendo.com>
10018
10019         * gst/gstevent.c:
10020         * gst/gstevent.h:
10021         Fix event quark registration.
10022         Add some space between events so we can insert them in the
10023         right groups.
10024
10025 2005-10-08  Wim Taymans  <wim@fluendo.com>
10026
10027         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10028         (gst_base_sink_handle_buffer):
10029         Better log message.
10030
10031         * gst/gstbus.h:
10032         * gst/gstelement.h:
10033         More docs.
10034
10035         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10036         (gst_queue_set_property), (gst_queue_get_property):
10037         * gst/gstqueue.h:
10038         Remove old unused properties.
10039
10040 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10041         * docs/gst/gstreamer-sections.txt:
10042         * gst/gstmessage.c:
10043         * gst/gstmessage.h:
10044         * gst/gstminiobject.c:
10045         * gst/gstminiobject.h:
10046         * gst/gstobject.h:
10047         * gst/gstpad.h:
10048         * gst/gstutils.h:
10049           lots of new docs and doc fixes
10050
10051 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10052
10053         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10054         * gst/gstplugin.h:
10055         * gst/gstregistry.c: (gst_registry_lookup_locked),
10056         (gst_registry_scan_path_level):
10057         * gst/gstregistryxml.c: (load_plugin):
10058           Only ever load one plugin for a given plugin basename.
10059           This ensures correct overriding of GST_PLUGIN_PATH over
10060           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10061           system installed plugins.
10062
10063 2005-10-08  Wim Taymans  <wim@fluendo.com>
10064
10065         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10066         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10067         Prepare for doing QOS.
10068
10069 2005-10-08  Wim Taymans  <wim@fluendo.com>
10070
10071         * check/gst/gstbin.c: (GST_START_TEST):
10072         * check/pipelines/cleanup.c: (GST_START_TEST):
10073         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10074         Allow new clock message too.
10075
10076 2005-10-08  Wim Taymans  <wim@fluendo.com>
10077
10078         * gst/gstmessage.c: (gst_message_new_error),
10079         (gst_message_new_warning), (gst_message_new_tag),
10080         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10081         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10082         (gst_message_new_segment_start), (gst_message_new_segment_done),
10083         (gst_message_parse_state_changed),
10084         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10085         (gst_message_parse_new_clock):
10086         * gst/gstmessage.h:
10087         Also carry the clock in question.
10088
10089 2005-10-08  Wim Taymans  <wim@fluendo.com>
10090
10091         * gst/gstmessage.c: (gst_message_new_custom),
10092         (gst_message_new_eos), (gst_message_new_error),
10093         (gst_message_new_warning), (gst_message_new_tag),
10094         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10095         (gst_message_new_new_clock), (gst_message_new_segment_start),
10096         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10097         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10098         * gst/gstmessage.h:
10099         Clean up.
10100         Added clock related messages.
10101
10102         * gst/gstpipeline.c: (gst_pipeline_change_state):
10103         Post message when the clock changed.
10104
10105         * tools/gst-launch.c: (event_loop):
10106         Print new clock.
10107
10108 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10109
10110         * tools/gst-inspect.c: (print_element_properties_info):
10111           Can't pass NULL strings to g_print() on windows.
10112
10113 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10114
10115         * docs/Makefile.am:
10116         * docs/gst/Makefile.am:
10117         * docs/gst/gstreamer-docs.sgml:
10118         * docs/gst/running.xml:
10119         * docs/version.entities.in:
10120           add a chapter on running GStreamer.
10121           document GST_DEBUG and GST_PLUGIN* env vars
10122
10123 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10124
10125         * Makefile.am:
10126           remove include dir
10127         * configure.ac:
10128           remove PLUGINS_BUILDDIR stuff
10129         * gst/gst.c: (init_post):
10130           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10131         * idiottest.mak:
10132           remove, it was condescending and not needed
10133
10134 2005-10-08  Wim Taymans  <wim@fluendo.com>
10135
10136         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10137         (gst_base_sink_handle_object), (gst_base_sink_event),
10138         (gst_base_sink_wait), (gst_base_sink_handle_event),
10139         (gst_base_sink_change_state):
10140         * gst/base/gstbasesink.h:
10141         Repost EOS message while going to PLAYING if still EOS.
10142         Make sure that when receiving a FLUSH_START we don't attempt
10143         to sync on the clock anymore.
10144
10145 2005-10-08  Wim Taymans  <wim@fluendo.com>
10146
10147         * tools/gst-launch.c: (event_loop):
10148         Better message printout.
10149
10150 2005-10-08  Wim Taymans  <wim@fluendo.com>
10151
10152         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10153         (gst_bin_child_proxy_get_children_count):
10154         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10155         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10156         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10157         (gst_child_proxy_set_valist):
10158         * gst/parse/grammar.y:
10159         Make ChildProxy threadsafe and fix mem leaks.
10160
10161 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10162
10163         * gst/gst.c: (init_post):
10164           debug the GST_PLUGIN_ env vars
10165
10166 2005-10-08  Wim Taymans  <wim@fluendo.com>
10167
10168         * check/gst/gstbin.c: (GST_START_TEST):
10169         * check/gst/gstmessage.c: (GST_START_TEST):
10170         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10171         * gst/gstelement.c: (gst_element_commit_state),
10172         (gst_element_lost_state):
10173         * gst/gstmessage.c: (gst_message_new_state_changed),
10174         (gst_message_parse_state_changed):
10175         * gst/gstmessage.h:
10176         * tools/gst-launch.c: (event_loop):
10177         Added extra field to STATE_CHANGE message with the pending
10178         state, which will be different from the new state soon.
10179
10180 2005-10-08  Wim Taymans  <wim@fluendo.com>
10181
10182         * gst/gstbus.c: (gst_bus_pop):
10183         * gst/gstclock.c:
10184         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10185         Small cleanups and doc updates.
10186
10187 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10188
10189         * gst/gst.c: (init_pre):
10190         * gst/gstbin.c: (gst_bin_add_func):
10191           log distributing clocks and base time
10192         * gst/gstregistry.c: (gst_registry_add_plugin),
10193         (gst_registry_scan_path_level), (gst_registry_scan_path):
10194           clean up the debugging output a little
10195         * gst/gstutils.c: (gst_element_state_get_name):
10196           warn about a memleak (I've actually seen this be used, though
10197           it was probably a bug)
10198
10199 2005-10-07  Wim Taymans  <wim@fluendo.com>
10200
10201         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10202         (gst_base_src_init), (gst_base_src_default_newsegment),
10203         (gst_base_src_newsegment), (gst_base_src_do_seek),
10204         (gst_base_src_loop), (gst_base_src_start):
10205         * gst/base/gstbasesrc.h:
10206         Make the newsegment event customizable by subclasses.
10207
10208 2005-10-07  Wim Taymans  <wim@fluendo.com>
10209
10210         * gst/gstevent.c: (gst_event_new_buffersize),
10211         (gst_event_parse_buffersize):
10212         * gst/gstevent.h:
10213         New event for future idea.
10214
10215 2005-10-07  Andy Wingo  <wingo@pobox.com>
10216
10217         * gst/gstelement.c (gst_element_post_message): Doc update.
10218
10219         * docs/gst/gstreamer-sections.txt: Update.
10220
10221         * gst/gstmessage.c (gst_message_new_application): Made into a
10222         function like honest API calls.
10223         (gst_message_new_element): New message type.
10224
10225         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10226
10227         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10228         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10229         times.
10230
10231         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10232         NO_PREROLL from gst_element_change_state to fall through.
10233
10234 2005-10-07  Wim Taymans  <wim@fluendo.com>
10235
10236         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10237         (gst_ghost_pad_do_activate_push):
10238         Activating a ghostpad with no internal pad in push mode
10239         is ok.
10240
10241 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10242
10243         * gst/gstobject.h:
10244           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10245           Fixes compilation on Windows.
10246
10247 2005-10-07  Michael Smith <msmith@fluendo.com>
10248
10249         * tools/gst-inspect.c:
10250           Print out feature and plugin count at the end when printing out
10251           all features.
10252
10253 2005-10-04  Michael Smith <msmith@fluendo.com>
10254
10255         * gst/gsterror.c: (_gst_stream_errors_init):
10256           Add another error string used in a few existing plugins.
10257
10258         * gst/gstplugin.c:
10259         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10260         * tools/gst-inspect.c: (print_element_info):
10261           When a feature disappears from a plugin (and the feature exists in
10262           the cached registry file), things went horribly wrong. This isn't a
10263           complete fix, we should actually be removing the 'missing' features
10264           from the features list when we load the actual plugin. That's not
10265           yet implemented. 
10266
10267 2005-10-04  Johan Dahlin  <johan@gnome.org>
10268
10269         * check/gst/gstiterator.c: (GST_START_TEST):
10270         * gst/gstbin.c: (gst_bin_iterate_elements),
10271         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10272         * gst/gstelement.c: (gst_element_iterate_pads):
10273         * gst/gstformat.c: (gst_format_iterate_definitions):
10274         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10275         (gst_iterator_new_list), (gst_iterator_filter):
10276         * gst/gstiterator.h:
10277         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10278         Add a GType to GstIterator, update callsites and tests.
10279
10280 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10281
10282         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10283           give events a chance to be handled by event probes when the pad
10284           is not linked
10285
10286 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10287
10288         * gst/gstevent.c: (gst_event_type_get_name),
10289         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10290         * gst/gstevent.h:
10291           add string representations for event types
10292
10293 2005-10-06  Wim Taymans  <wim@fluendo.com>
10294
10295         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10296         Don't use NULL pointers.
10297
10298 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10299
10300         * gst/gst_private.h:
10301         * gst/gstbus.c:
10302         * gst/gstelement.c:
10303         * gst/gstinfo.c:
10304         * gst/gstpluginfeature.c:
10305           widen the debug category in output to fit the biggest one we have
10306           add a bus category and use it
10307           play with the colors
10308           fix up some categories
10309
10310 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10311
10312         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10313           add push activation of sink ghost pads.
10314           Andye, please verify
10315
10316 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10317
10318         * gst/gstutils.c: (gst_element_link_pads):
10319           fix a bug in the case where neither element has a pad
10320         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10321           add a test for that case
10322
10323 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10324
10325         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10326           emit have-data before checking for peers.  This allows
10327           for probe handlers to connect elements.  This helps autopluggers.
10328         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10329         (gst_pad_suite):
10330           add six checks, linked/unlinked with no/true/false probe
10331
10332 2005-10-04  Wim Taymans  <wim@fluendo.com>
10333
10334         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10335         (gst_fake_sink_event), (gst_fake_sink_preroll),
10336         (gst_fake_sink_render), (gst_fake_sink_change_state):
10337         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10338         (gst_fake_src_get_property), (gst_fake_src_create),
10339         (gst_fake_src_stop):
10340         * gst/elements/gstidentity.c: (gst_identity_stop):
10341         Protect last_message with lock.
10342
10343 2005-10-04  Edward Hervey  <edward@fluendo.com>
10344
10345         * gst/gstformat.h: 
10346         Added precision in the comments for GST_FORMAT_DEFAULT
10347
10348 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10349
10350         * tools/gst-launch.c: (main):
10351           Don't try to run erroneous pipelines.
10352
10353 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10354
10355         * gst/gstbus.c: We don't need this header.
10356
10357 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10358
10359         * configure.ac:
10360           back to development
10361
10362 === release 0.9.3 ===
10363
10364 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10365
10366         * README:
10367         * configure.ac:
10368           Releasing 0.9.3, "Unregistered"
10369
10370 2005-10-03  Andy Wingo  <wingo@pobox.com>
10371
10372         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10373         whereby calling a pad's activatepush() function can start a thread
10374         that starts to push or pull before the pad gets the FLUSHING flag
10375         unset. Hack around it by holding the stream lock until the flag is
10376         set. Need to replace this with a proper solution. Together with
10377         the ghost pad fixes, this fixes mp3 playing/tagreading.
10378
10379         * docs/design/part-gstghostpad.txt: Add a note about activation of
10380         proxy pads outside of ghost pads.
10381
10382         * gst/gstghostpad.c: Implement the ghost pad activation design.
10383
10384 2005-10-02  Andy Wingo  <wingo@pobox.com>
10385
10386         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10387         It is volatile, after all.
10388
10389         * docs/design/part-gstghostpad.txt: Flesh out activation with
10390         ghost pads.
10391
10392         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10393         GST_DEBUG_FUNCPTR.
10394
10395 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10396
10397         * configure.ac:
10398           Fix (unused) AM_CONDITIONAL tests.
10399
10400 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10401
10402         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10403
10404         * gst/gstutils.c: (gst_pad_query_convert):
10405           Add assertion that makes sure src_val is >=0, just like
10406           gst_query_new_convert() has. (#315895)
10407
10408 2005-09-30  Edward Hervey  <edward@fluendo.com>
10409
10410         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10411         Let's not iterate pads we're not interested in, it avoids getting 
10412         sky-high refcounts on sinkpad.
10413
10414 2005-09-30  Wim Taymans  <wim@fluendo.com>
10415
10416         * gst/gstelement.c: (gst_element_set_state),
10417         (gst_element_change_state):
10418         Small tweak, element in ASYNC remains ASYNC.
10419
10420 2005-09-30  Wim Taymans  <wim@fluendo.com>
10421
10422         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10423         Only error is an error.
10424
10425         * gst/gstbin.c: (gst_bin_change_state):
10426         Better debugging.
10427
10428         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10429         Also call pad_block in pad alloc.
10430
10431         * gst/gstutils.c: (gst_flow_get_name):
10432         Better debugging.
10433
10434 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10435
10436         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10437         (gst_base_src_get_range):
10438           Fix documentation typos. Add some more debug info.
10439
10440 2005-09-29  David Schleef  <ds@schleef.org>
10441
10442         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10443           more end-user friendly.
10444         * tools/gst-inspect.c: (main): Check if command-line argument is
10445           a file and attempt to load that file as a plugin.
10446
10447 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10448
10449         * check/gst/gstbin.c:
10450         * check/states/sinks.c:
10451           fix tests for the new warning
10452         * check/gst/gstpipeline.c:
10453           add a test for pipeline and bus interaction
10454         * gst/gstelement.c:
10455           elements should be NULL if they get disposed; add a warning if not
10456
10457 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10458
10459         * gst/gstobject.c:
10460           for 2.6 refcounting, make debug log more correct by printing
10461           the actual refcounts at the time of swap (Wim)
10462
10463 2005-09-29  Andy Wingo  <wingo@pobox.com>
10464
10465         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10466         removes signal watches previously added via
10467         gst_bus_add_signal_watch.
10468         (gst_bus_add_signal_watch): Don't return the source id, just store
10469         it on the bus if there wasn't an id already.
10470
10471         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10472         add_signal_watch and remove_signal_watch.
10473
10474 2005-09-29  Edward Hervey  <edward@fluendo.com>
10475
10476         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10477         Better if we actually iterate the list :)
10478
10479 2005-09-29  Wim Taymans  <wim@fluendo.com>
10480
10481         * check/gst/gstbin.c: (GST_START_TEST):
10482         Change for new bus API.
10483
10484         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10485         (send_messages), (GST_START_TEST), (gstbus_suite):
10486         Change for new bus signal API.
10487
10488         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10489         (gst_bus_source_prepare), (gst_bus_source_check),
10490         (gst_bus_create_watch), (gst_bus_add_watch_full),
10491         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10492         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10493         * gst/gstbus.h:
10494         Remove support for multiple GSources operating on different
10495         message types as it is too complex and unneeded when using
10496         signals.
10497         Added support for receiving signals from the bus.
10498
10499 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10500
10501         * docs/libs/tmpl/gstdataprotocol.sgml:
10502         * docs/manual/advanced-dataaccess.xml:
10503         * gst/elements/gstcapsfilter.c:
10504         * gst/gstutils.c:
10505           rename filter-caps to caps property
10506
10507 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10508
10509         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10510           More robust fraction string parsing.
10511
10512         * docs/pwg/appendix-porting.xml:
10513           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10514
10515 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10516
10517         * gst/gstcaps.c: (gst_caps_do_simplify):
10518           Thou shalt not free a structure and then continue using it
10519           in the next loop iteration.
10520
10521         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10522         (gst_caps_suite):
10523           Add test case for caps simplification.
10524
10525 2005-09-29  Wim Taymans  <wim@fluendo.com>
10526
10527         * check/gst/gstbin.c: (GST_START_TEST):
10528         Oops.
10529
10530 2005-09-29  Wim Taymans  <wim@fluendo.com>
10531
10532         * check/gst/gstbin.c: (GST_START_TEST):
10533         Add bus to bin.
10534
10535         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10536         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10537         (find_element), (gst_bin_sort_iterator_next),
10538         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10539         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10540         (gst_bin_change_state), (gst_bin_dispose):
10541         A bin does not have a bus, it gets the bus from the parent.
10542
10543         * gst/gstelement.c: (gst_element_requires_clock),
10544         (gst_element_provides_clock), (gst_element_is_indexable),
10545         (gst_element_is_locked_state), (gst_element_change_state),
10546         (gst_element_set_bus_func):
10547         Small cleanups.
10548
10549         * gst/gstpipeline.c: (gst_pipeline_class_init),
10550         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10551         The pipeline provides a bus.
10552
10553 2005-09-28  Johan Dahlin  <johan@gnome.org>
10554
10555         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10556         gst_structure_get_enum instead of gst_structure_get_int
10557
10558         * gst/gststructure.c (gst_structure_get_enum): Impl.
10559
10560         * gst/gststructure.h (gst_structure_get_enum): Add
10561
10562         * docs/gst/gstreamer-sections.txt: Ditto
10563
10564         * gst/gstmessage.c (gst_message_new_state_changed): Use
10565         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10566         which does introspection.
10567         Reviewed by Christian Schaller
10568
10569 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10570
10571         * gst/gstinfo.c: (gst_debug_log_default):
10572           don't do dummy g_strdup()s
10573         * libs/gst/controller/gstcontroller.c:
10574         (on_object_controlled_property_changed),
10575         (gst_controlled_property_new), (gst_controller_new_valist),
10576         (gst_controller_new_list),
10577         (gst_controller_remove_properties_valist), (gst_controller_set),
10578         (gst_controller_get), (gst_controller_sync_values),
10579         (gst_controller_get_value_array), (_gst_controller_class_init),
10580         (gst_controller_get_type):
10581         * libs/gst/controller/gstcontroller.h:
10582         * libs/gst/controller/gstinterpolation.c:
10583         (gst_controlled_property_find_timed_value_node):
10584           convert // to /**/ comments
10585
10586 2005-09-28  Wim Taymans  <wim@fluendo.com>
10587
10588         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10589         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10590         (gst_bus_sync_signal_handler):
10591         * gst/gstbus.h:
10592         Added async-message and sync-message signals to the bus.
10593         Added helper BusFunc to emit signals for all posted messages.
10594
10595         * gst/gstmessage.c: (gst_message_type_get_name),
10596         (gst_message_type_to_quark), (gst_message_get_type):
10597         * gst/gstmessage.h:
10598         Register quarks for message names.
10599
10600 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10601
10602         * docs/libs/gstreamer-libs-sections.txt:
10603         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10604         (gst_controller_new_list):
10605         * libs/gst/controller/gstcontroller.h:
10606           added another constructor for language bindings
10607
10608 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10609
10610         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10611           add another check
10612         * gst/gstbus.c:
10613           add some doc
10614         * gst/gstinfo.c: (_gst_debug_init):
10615           slightly more readable color for refcount debugging
10616
10617 2005-09-28  Wim Taymans  <wim@fluendo.com>
10618
10619         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10620         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10621         (find_element), (gst_bin_sort_iterator_next),
10622         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10623         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10624         (gst_bin_change_state), (gst_bin_dispose):
10625         Small doc fixes. get_clock -> provide_clock.
10626
10627         * gst/gstelement.c: (gst_element_class_init),
10628         (gst_element_provides_clock), (gst_element_provide_clock),
10629         (gst_element_get_clock), (gst_element_commit_state),
10630         (gst_element_lost_state):
10631         * gst/gstelement.h:
10632         Make get/set_clock() symetric. Add provide_clock vmethod since
10633         that is actually what this function does.
10634
10635         * gst/gstpipeline.c: (gst_pipeline_class_init),
10636         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10637         (gst_pipeline_get_clock):
10638         get_clock -> provide_clock.
10639
10640 2005-09-28  Andy Wingo  <wingo@pobox.com>
10641
10642         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10643         lieu of real docs...
10644
10645         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10646
10647 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10648
10649         * gst/elements/gstcapsfilter.c:
10650         * gst/elements/gstfakesink.c:
10651         * gst/elements/gstfakesrc.c:
10652         * gst/elements/gstfdsink.c:
10653         * gst/elements/gstfdsrc.c:
10654         * gst/elements/gstfilesink.c:
10655         * gst/elements/gstfilesrc.c:
10656         * gst/elements/gstidentity.c:
10657         * gst/elements/gsttee.c:
10658         * gst/elements/gsttypefindelement.c:
10659           Make element details static.
10660
10661 2005-09-28  Wim Taymans  <wim@fluendo.com>
10662
10663         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10664         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10665         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10666         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10667         (gst_bin_change_state), (gst_bin_dispose):
10668         Some documentation updates.
10669         Clean up dispose handlers.
10670
10671         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10672         * gst/gstpad.c: (gst_pad_dispose):
10673         Clean up dispose handler.
10674
10675         * gst/gstpipeline.c: (gst_pipeline_change_state):
10676         Removed spurious UNLOCK.
10677
10678 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10679
10680         * docs/gst/gstreamer-sections.txt:
10681         * gst/base/gstbasesrc.h:
10682         * gst/gstelement.h:
10683         * gst/gstevent.h:
10684         * gst/gstobject.h:
10685         * gst/gstpad.h:
10686         * gst/gstpipeline.c:
10687         * gst/gstpipeline.h:
10688         * gst/gstutils.h:
10689         * gst/gstxml.h:
10690           added two new functions to the docs
10691                 documents all undocumented GstXXXFlags
10692                 completed some incomplete docs 
10693
10694 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10695
10696         * gst/gstbin.c: (gst_bin_dispose):
10697         * gst/gstelement.c: (gst_element_dispose):
10698           remove now useless and leaky resurrection code in dispose
10699         * gst/base/gstbasesrc.c: (gst_base_src_init):
10700         * gst/gstelementfactory.c: (gst_element_factory_create):
10701         * gst/gstobject.c: (gst_object_set_parent):
10702           add some debugging
10703
10704 2005-09-27  Wim Taymans  <wim@fluendo.com>
10705
10706         * docs/design/part-TODO.txt:
10707         Update TODO.
10708
10709         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10710         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10711         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10712         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10713         (gst_bin_change_state):
10714         * gst/gstelement.h:
10715         Remove element variable, we keep element info in the iterator now.
10716
10717 2005-09-27  Andy Wingo  <wingo@pobox.com>
10718
10719         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10720         values.
10721
10722 2005-09-27  Wim Taymans  <wim@fluendo.com>
10723
10724         * check/gst/gstbin.c: (GST_START_TEST):
10725         Enable check that works now.
10726
10727         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10728         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10729         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10730         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10731         (gst_bin_change_state):
10732         * gst/gstbin.h:
10733         Redid the state change algorithm using a topological sort algo.
10734         Handles all cases correctly.
10735         Exposed iterator for state change order.
10736
10737         * gst/gstelement.h:
10738         Temp storage for state changes. Need to get rid of this soon.
10739
10740 2005-09-27  Wim Taymans  <wim@fluendo.com>
10741
10742         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10743         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10744         (link_fold_func), (gst_pad_proxy_setcaps):
10745         Leak fixes, the fold functions need to unref the passed object and
10746         _get_parent_*() returns ref to parent.
10747
10748 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10749
10750         * check/gst/gstbuffer.c: (test_make_writable):
10751           Plug leak in test case and fix 'make check-valgrind'
10752
10753 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10754
10755         * gst/gstbuffer.c: (gst_subbuffer_init):
10756           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10757           works correctly in all circumstances (we could have just copied
10758           the parent buffer's readonly flag, but conceptually it seems
10759           cleaner to mark all subbuffers as read-only). (based on patch
10760           by Alessandro Decina, #314710).
10761         
10762         * check/gst/gstbuffer.c: (create_read_only_buffer),
10763         (test_make_writable), (test_subbuffer_make_writable),
10764         (gst_test_suite):
10765           Add some tests for gst_buffer_make_writable().
10766
10767 2005-09-27  Wim Taymans  <wim@fluendo.com>
10768
10769         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10770         use gst_object_has_ancestor().
10771
10772         * gst/gstobject.c: (gst_object_has_ancestor):
10773         * gst/gstobject.h:
10774         gst_object_has_ancestor() copied from gstbin.c as it is a
10775         usefull function.
10776
10777         * tests/instantiate/create.c: (create_all_elements):
10778         * tests/lat.c: (handoff_src), (handoff_sink):
10779         * tests/sched/runxml.c: (main):
10780         * tests/seeking/seeking1.c: (main):
10781         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10782         (main):
10783         Fix compilation of some tests.
10784
10785 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10786
10787         * gst/gsterror.h:
10788           Remove comment. GST_TYPE_G_ERROR is here to stay,
10789           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10790           (#316961, #300610).
10791
10792 2005-09-26  Wim Taymans  <wim@fluendo.com>
10793
10794         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10795         Added check that shows error in state change order.
10796
10797 2005-09-26  Wim Taymans  <wim@fluendo.com>
10798
10799         * gst/gstbin.c: (gst_bin_change_state):
10800         Make state change function use 3 queues again, we were
10801         adding elements in the wrong order.
10802
10803         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10804         Some debug info,
10805
10806         * gst/gstpad.c: (gst_pad_dispose):
10807         Added some debug info first.
10808
10809 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10810
10811         * docs/design/draft-push-pull.txt:
10812         * docs/design/part-events.txt:
10813         * docs/design/part-overview.txt:
10814         * docs/design/part-scheduling.txt:
10815           Replace all _pull_region() with _pull_range()
10816           
10817 2005-09-26  Andy Wingo  <wingo@pobox.com>
10818
10819         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10820
10821         * check/gst-libs/controller.c: Update for controller api change.
10822
10823         * configure.ac: 
10824         * tests/Makefile.am:
10825         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10826         over by GLib bug 118439.
10827         
10828         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10829         routines to a function.
10830
10831         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10832
10833         * libs/gst/controller/gsthelper.c:
10834         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10835         (gst_object_sync_values): Renamed from sink_values. Ugh.
10836
10837         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10838
10839         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10840         Renamed from controller_key, as it is exported.
10841
10842         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10843
10844 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10845
10846         * gst/Makefile.am:
10847         * gst/gst.h:
10848         * gst/gstpad.h:
10849         * gst/gstpadtemplate.h:
10850         * gst/gstquery.c:
10851         * gst/gstquery.h:
10852         * gst/gstqueryutils.c:
10853         * gst/gstqueryutils.h:
10854           remove queryutils headers after moving the two used functions
10855           to gstquery.  also fixes build problem for gstsiddec
10856
10857 2005-09-26  Michael Smith <msmith@fluendo.com>
10858
10859         * tools/gst-launch.1.in:
10860         Correct documentation in manpage of debug syntax
10861
10862 2005-09-26  Wim Taymans  <wim@fluendo.com>
10863
10864         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10865         (gst_base_src_is_seekable), (gst_base_src_change_state):
10866         Some more debugging info.
10867
10868 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10869
10870         * docs/gst/gstreamer-sections.txt:
10871         * gst/base/gstbasetransform.h:
10872         * gst/gstindex.h:
10873           added more docs
10874
10875 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10876
10877         * docs/gst/.cvsignore:
10878         * docs/gst/tmpl/.cvsignore:
10879         * docs/gst/tmpl/gstpipeline.sgml:
10880         * docs/gst/tmpl/gstplugin.sgml:
10881         * gst/gstpipeline.c:
10882         * gst/gstplugin.c:
10883         * gst/gstplugin.h:
10884           inlined the last two docs files
10885           removed the tmpl directory from cvs (no more conflicts here!)
10886
10887 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10888
10889         * docs/gst/gstreamer-sections.txt:
10890         * docs/gst/tmpl/.cvsignore:
10891         * docs/gst/tmpl/gstpad.sgml:
10892         * docs/gst/tmpl/gstpadtemplate.sgml:
10893         * gst/Makefile.am:
10894         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10895         (gst_pad_finalize), (gst_pad_set_pad_template):
10896         * gst/gstpad.h:
10897         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10898         (gst_pad_template_class_init), (gst_pad_template_init),
10899         (gst_pad_template_dispose), (name_is_valid),
10900         (gst_static_pad_template_get), (gst_pad_template_new),
10901         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10902         (gst_pad_template_pad_created):
10903         * gst/gstpadtemplate.h:
10904           inlined two more docs
10905           factored gstpadtemplate out of gstpad
10906
10907 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10908
10909         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10910         (test_children_state_change_order_semi_sink):
10911           Fix test case: we can't rely on a fixed state change order when
10912           going from READY => PAUSED because the sink might commit its 
10913           new state first when the first buffer created by the source 
10914           reaches the sink before the source has finished its change state.
10915           (Test case still fails at times, see #316856, comment 5 onwards)
10916
10917 2005-09-24  Wim Taymans  <wim@fluendo.com>
10918
10919         * docs/design/part-events.txt:
10920         * docs/design/part-gstbus.txt:
10921         * docs/design/part-gstpipeline.txt:
10922         * docs/design/part-messages.txt:
10923         * docs/design/part-overview.txt:
10924         * docs/design/part-segments.txt:
10925         * gst/gstbin.c:
10926         * gst/gstbuffer.c:
10927         * gst/gstclock.c:
10928         * gst/gstelement.c:
10929         * gst/gstevent.c:
10930         * gst/gstfilter.c:
10931         * gst/gstiterator.c:
10932         Various documentation updates.
10933
10934 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10935
10936         * gst/gstclock.h:
10937           Well, that's embarassing.  Luckily we weren't using
10938           GST_CLOCK_DIFF anywhere.
10939
10940 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10941
10942         * common/gtk-doc.mak:
10943           don't fail on building XML, FC4 slave shows a bunch of doc
10944           missing bits that I don't get
10945         * gst/gstpad.c:
10946         * gst/gstpipeline.c:
10947         * gst/gststructure.c:
10948           some doc updates
10949
10950 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10951
10952         * docs/design/part-gstbin.txt:
10953         * docs/design/part-gstbus.txt:
10954         * gst/gstbus.c:
10955           Add blurb about how the bus goes into flushing mode and
10956           drops all messages when its bin goes from READY into NULL 
10957           state.
10958
10959 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * docs/gst/gstreamer-sections.txt:
10962         * gst/gststructure.c: (gst_structure_get_clock_time):
10963         * gst/gststructure.h:
10964           add a method to get a GstClockTime out of a structure
10965
10966 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10967
10968         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10969         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10970           Added test to check state change order in bins (can still be made
10971           to fail here under heavy disk load; bails out with 'Push on pad
10972           fakesink:sink0, but it was not activated in push mode').
10973
10974         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10975           Fix state change order when there is only a semi sink (#316856)
10976
10977         * gst/gstbus.c: (gst_bus_class_init):
10978           Use _class_peek_parent(), not _class_ref(); fix docs to say
10979           'default main context' instead of 'mainloop' where that is
10980           what's meant.
10981
10982         * gst/gstelement.c: (gst_element_commit_state),
10983         (gst_element_set_state):
10984           Fix typos in debug messages
10985
10986 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10987
10988         * docs/README:
10989         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10990         * gst/gstpluginfeature.c:
10991         * gst/gstutils.c:
10992           various doc updates
10993         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10994           change an assert into an error until it gets fixed properly
10995
10996 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10997
10998         * docs/gst/gstreamer-sections.txt:
10999         * docs/gst/tmpl/.cvsignore:
11000         * docs/gst/tmpl/gstelement.sgml:
11001         * docs/gst/tmpl/gstinfo.sgml:
11002         * docs/gst/tmpl/gstobject.sgml:
11003         * gst/gstelement.c:
11004         * gst/gstelement.h:
11005         * gst/gstinfo.c:
11006         * gst/gstinfo.h:
11007         * gst/gstobject.c: (gst_object_class_init):
11008         * gst/gstobject.h:
11009           inlined 3 more biiiig doc files and added some missing docs on the fly
11010
11011 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11012
11013         * check/gst/.cvsignore:
11014         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11015         * gst/gstregistryxml.c: (load_plugin),
11016         (gst_registry_xml_save_plugin):
11017           put back source in registry.  add checks for find_plugin.
11018         * testsuite/states/bin.c: (assert_state), (empty_bin),
11019         (test_adding_one_element), (main):
11020         * testsuite/states/locked.c: (main):
11021           some compile/run fixes
11022
11023 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11024
11025         * check/gst/gstvalue.c: (GST_START_TEST):
11026           fix leaks in the test itself
11027
11028 2005-09-22  Wim Taymans  <wim@fluendo.com>
11029
11030         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11031         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11032         (gst_base_sink_query):
11033         Prepare for more accurate position reporting and query
11034         handling.
11035
11036         * gst/gstelement.c: (gst_element_send_event),
11037         (gst_element_set_state):
11038         Add some comment.
11039
11040 2005-09-22  Wim Taymans  <wim@fluendo.com>
11041
11042         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11043         (gst_query_parse_segment):
11044         * gst/gstquery.h:
11045         More documentation.
11046         Add segment query for future use.
11047
11048 2005-09-22  Wim Taymans  <wim@fluendo.com>
11049
11050         * gst/gstbin.c: (gst_bin_add_func):
11051         Some more debug info.
11052
11053         * gst/gstelement.c: (gst_element_send_event):
11054         Simplify send_event
11055
11056         * gst/gstelement.h:
11057         Don't know how flags got broken.
11058
11059         * gst/gstquery.h:
11060         Added new query.
11061
11062 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11063
11064         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11065           Add simplistic test suite for GST_TYPE_DATE serialisation and
11066           deserialisation.
11067
11068 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11069
11070         * docs/gst/gstreamer-sections.txt:
11071         * gst/gststructure.c: (gst_structure_set_valist),
11072         (gst_structure_get_date):
11073         * gst/gststructure.h:
11074         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11075         (gst_date_copy), (gst_value_compare_date),
11076         (gst_value_serialize_date), (gst_value_deserialize_date),
11077         (gst_value_transform_date_string),
11078         (gst_value_transform_string_date), (_gst_value_initialize):
11079         * gst/gstvalue.h:
11080           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11081           bunch of utility functions along with a hack that checks that
11082           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11083           is required. Part of the grand scheme in #170777.
11084
11085 2005-09-22  Andy Wingo  <wingo@pobox.com>
11086
11087         * gst/gstconfig.h.in: Psych out gtk-doc.
11088
11089         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11090
11091         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11092
11093         * tools/gst-inspect.c (print_element_list): Plug some
11094         inconsequential leaks.
11095
11096         * gst/gstregistry.c (gst_registry_get_default): Doc.
11097
11098         * check/gst/gstplugin.c: 
11099         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11100         * gst/gstelementfactory.c (gst_element_factory_create): 
11101         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11102         refcount changes.
11103
11104         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11105         (gst_plugin_feature_load): Doc, don't eat refs.
11106
11107         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11108         (gst_plugin_list_free): Doc.
11109         (gst_plugin_load_file): Doc updates.
11110
11111         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11112         accessors returning refcounted objects, return a ref.
11113
11114         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11115         accessor for caps. IDEMPOTENCE. Oh yes.
11116
11117 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11118
11119         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11120
11121         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11122         (_gst_debug_register_funcptr):
11123           Add mutex to serialise access to the hash table with
11124           the function pointer => function name string mapping;
11125           make that hash table static scope (#316809).
11126
11127         * gst/registries/.cvsignore:
11128           Remove left-over file.
11129
11130 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11131
11132         * docs/pwg/appendix-porting.xml:
11133           And something about newsegment events and caps-on-buffers to
11134           the porting guide (feel free to improve).
11135
11136 2005-09-21  Andy Wingo  <wingo@pobox.com>
11137
11138         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11139         data and event probes on the same pad.
11140         (test_buffer_probe_once): Test that removing probes from within
11141         the probe functions works.
11142
11143 2005-09-21  Andy Wingo  <wingo@pobox.com>
11144
11145         * check/gst/gstutils.c: New file.
11146         (test_buffer_probe_n_times): A simple buffer probe test. More to
11147         come, foolios.
11148
11149         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11150         have-data::buffer, not have-data.
11151         (gst_pad_add_event_probe): Likewise for have-data::event.
11152         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11153         peer' isn't quite right yet though.
11154         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11155         (gst_pad_remove_data_probe): Change to take the guint handler_id
11156         as their arg, not the function+data, which is more glib-like.
11157
11158         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11159         the signal emission to indicate if the data is a buffer or an
11160         event.
11161         (gst_pad_get_type): Initialize buffer and event quarks.
11162         (gst_pad_class_init): have-data is now a detailed signal, yes it
11163         is.
11164
11165 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11166
11167         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11168         * gst/gstutils.c: (gst_util_set_value_from_string),
11169         (gst_util_set_object_arg):
11170           Don't put functional code in g_return_if_fail() or
11171           g_return_val_if_fail() statements, otherwise things will 
11172           break when G_DISABLE_CHECKS is defined during compilation.
11173
11174 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11175
11176         * docs/gst/tmpl/.cvsignore:
11177         * docs/gst/tmpl/gstvalue.sgml:
11178         * gst/gstvalue.c:
11179         * gst/gstvalue.h:
11180           inlied another one and added  some obvious docs
11181
11182 2005-09-21  Wim Taymans  <wim@fluendo.com>
11183
11184         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11185         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11186         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11187         (gst_fdsrc_get_property), (gst_fdsrc_create):
11188         * gst/elements/gstfdsrc.h:
11189         Properly implement fdsrc. Removed signal and timeout,
11190         better implemented somewhere else.
11191
11192 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11193
11194         * docs/gst/tmpl/.cvsignore:
11195         * docs/gst/tmpl/gstimplementsinterface.sgml:
11196         * gst/gstinterface.c:
11197           inlined more docs
11198
11199 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11200
11201         * docs/gst/gstreamer-sections.txt:
11202         * docs/gst/tmpl/.cvsignore:
11203         * docs/gst/tmpl/gstenumtypes.sgml:
11204           remove obsolete doc file
11205
11206 2005-09-21  David Schleef  <ds@schleef.org>
11207
11208         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11209         little beer, fix a little leak.
11210
11211 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11212
11213         * docs/gst/gstreamer-docs.sgml:
11214         * docs/gst/gstreamer-sections.txt:
11215         * docs/gst/tmpl/.cvsignore:
11216         * gst/Makefile.am:
11217         * gst/gst.h:
11218         * gst/gstbin.c:
11219         * gst/gstelement.h:
11220         * gst/gstindex.c: (gst_index_class_init):
11221         * gst/gstindex.h:
11222         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11223         (gst_index_factory_class_init), (gst_index_factory_init),
11224         (gst_index_factory_finalize), (gst_index_factory_new),
11225         (gst_index_factory_destroy), (gst_index_factory_find),
11226         (gst_index_factory_create), (gst_index_factory_make):
11227         * gst/gstindexfactory.h:
11228         * gst/gstpluginfeature.c:
11229         * gst/gstpluginfeature.h:
11230         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11231           more docs inlined, splitted gstindex.{c,h}
11232
11233 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11234
11235         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11236           fix a leak
11237
11238 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11239
11240         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11241           Set sync to FALSE by default.
11242
11243 2005-09-20  Wim Taymans  <wim@fluendo.com>
11244
11245         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11246         (gst_base_sink_init):
11247         Make sync property settable from subclass.
11248
11249         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11250         (gst_fake_sink_change_state):
11251         Set sync to FALSE by default.
11252
11253 2005-09-20  Wim Taymans  <wim@fluendo.com>
11254
11255         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11256         * tools/gst-launch.c: (main):
11257         The timeout handler should have lower priority than the source
11258         so we don't timeout before popping a message with 0 timeout.
11259         Dump error messages after failed state change.
11260
11261 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11262
11263         * tools/gst-inspect.c: (print_element_properties_info):
11264           Fix two typos.
11265
11266 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11267
11268         * check/gst/gstevent.c:
11269         * gst/elements/gstfakesink.c:
11270         * gst/elements/gstfakesink.h:
11271           remove the sync property from fakesink.
11272           has the side effect of setting sync TRUE
11273           for fakesink, which is a change.  Anyone who knows how
11274           to fix this nicely in a GObject-y way, feel free.
11275
11276 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11277
11278         * docs/gst/gstreamer-docs.sgml:
11279           remove probe refsection
11280
11281 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11282
11283         * check/Makefile.am:
11284           disable valgrinding the controller test again
11285         * docs/gst/gstreamer-sections.txt:
11286           update for api-changes
11287
11288 2005-09-20  Wim Taymans  <wim@fluendo.com>
11289
11290         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11291         (gst_base_sink_set_property), (gst_base_sink_get_property),
11292         (gst_base_sink_do_sync):
11293         * gst/base/gstbasesink.h:
11294         Added sync property to basesink to disable clock sync.
11295
11296 2005-09-20  Andy Wingo  <wingo@pobox.com>
11297
11298         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11299         eating the caller's refcount.
11300
11301         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11302         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11303         refcount.
11304
11305         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11306         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11307         of GLib 2.8 public, so we can know which refcount to check in
11308         tests.
11309
11310         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11311         (gst_object_init): Only set the gst refcount if we're going ahead
11312         with the refcount hack.
11313
11314 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11315
11316         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11317         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11318           more leaks plumbed, added more debug-logging
11319         * gst/gstmacros.h:
11320           whitespace fix
11321
11322 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11323
11324         * gst/gstmessage.c:
11325           remove include of gstmemchunk.h
11326
11327 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11328
11329         * gst/gstclock.c: (_gst_clock_id_free):
11330           Commit from the Political Party For More Atomic CVS Commits,
11331           so that people don't waste too much of their day fishing
11332           out obvious leaks out of massive commits.
11333           Oh, and fix a pretty damn obvious leak in the memchunk
11334           removal code.
11335
11336 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11337
11338         * check/Makefile.am:
11339         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11340           plug mem-leak, re-add to valgrindable tests
11341
11342 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11343
11344         * gst/gstplugin.h:
11345           unbreak the build for those who have chronic arthritis
11346           and typing "make check" is just too taxing on the hands
11347
11348 2005-09-20  Andy Wingo  <wingo@pobox.com>
11349
11350         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11351         really want it out, you should fix plugins at the same time.
11352
11353 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11354
11355         * configure.ac:
11356         * docs/gst/gstreamer-sections.txt:
11357         * gst/gstobject.c:
11358           added missing symbols to api docs
11359           disable ref-count hack if we have glib >= 2.8
11360
11361 2005-09-19  David Schleef  <ds@schleef.org>
11362
11363         * docs/gst/Makefile.am: Ignore a few more internal headers
11364         * docs/gst/gstreamer-docs.sgml: Remove old sections
11365         * docs/gst/gstreamer-sections.txt: Remove old sections
11366         * docs/gst/tmpl/gstobject.sgml: update
11367         * docs/gst/tmpl/gstplugin.sgml: update
11368         * docs/gst/tmpl/gstpluginfeature.sgml: update
11369         * docs/random/ds/0.9-suggested-changes: update.
11370         * gst/Makefile.am: remove memchunk and trashstack, since they're
11371           not used.
11372         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11373         * gst/gst.h: don't include some headers
11374         * gst/gstchildproxy.c: add gstmarshal.h
11375         * gst/gstclock.c: Don't use memchunks
11376         * gst/gstminiobject.c: Add some docs
11377         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11378         * gst/gstobject.h: same
11379         * gst/gstplugin.c: include gstmacros.h
11380         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11381         * gst/gstquery.c: don't use memchunks
11382         * gst/gstregistry.c: rename gst_registry_deinit()
11383         * gst/gstregistry.h: same
11384
11385 2005-09-19  David Schleef  <ds@schleef.org>
11386
11387         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11388         * docs/libs/gstreamer-libs-sections.txt:
11389         * docs/libs/tmpl/gstgetbits.sgml:
11390         * docs/libs/tmpl/gstputbits.sgml:
11391
11392 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11393
11394         * win32/gstenumtypes.c:
11395         * win32/gstenumtypes.h:
11396           Update.
11397
11398 2005-09-19  Wim Taymans  <wim@fluendo.com>
11399
11400         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11401         Automatically PAUSE and RESUME a pipeline when a flushing seek
11402         is performed.
11403
11404 2005-09-19  Andy Wingo  <wingo@pobox.com>
11405
11406         * gst/gstregistry.h: Spacing fixen.
11407
11408 2005-09-19  Wim Taymans  <wim@fluendo.com>
11409
11410         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11411         Handle state change failure more correctly.
11412
11413 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11414
11415         * check/Makefile.am:
11416         * check/pipelines/cleanup.c: (run_pipeline):
11417         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11418         (GST_START_TEST):
11419           enable cleanup again after fixing the leak
11420         * docs/README:
11421           some more info on docs
11422
11423 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11424
11425         * check/Makefile.am:
11426           re-enable tests now that leaks are plugged
11427         * check/gst/gst.c:
11428         * check/gst/gstbin.c:
11429         * check/gst/gstpipeline.c:
11430           add some more tests while fixing leaks
11431         * common/check.mak:
11432           make sure binaries are uptodate when valgrinding/gdbing
11433         * gst/gst.c:
11434         * gst/gstelementfactory.c:
11435           remove a ref too many, and add a FIXME for when we get
11436           round to disposing of classes
11437         * gst/gstplugin.c:
11438           fix the refcounting when loading a plugin from a file and
11439           the code pretends that the pointer is the same even though
11440           of course it can change
11441         * gst/gstpluginfeature.c:
11442           unref plugins marked cached (a bit confusing as a name)
11443           as the docs state should be done
11444           various doc additions to explain refcounting
11445         * gst/gstregistry.c:
11446         * gst/gstregistryxml.c:
11447           debugging
11448
11449 2005-09-19  Wim Taymans  <wim@fluendo.com>
11450
11451         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11452         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11453         (send_messages), (GST_START_TEST), (gstbus_suite):
11454         * check/gst/gstpipeline.c: (GST_START_TEST):
11455         * check/pipelines/cleanup.c: (run_pipeline):
11456         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11457         (GST_START_TEST):
11458         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11459         (gst_bus_source_check), (gst_bus_source_dispatch),
11460         (gst_bus_create_watch), (gst_bus_add_watch_full),
11461         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11462         * gst/gstbus.h:
11463         * tools/gst-launch.c: (event_loop):
11464         * tools/gst-md5sum.c: (event_loop):
11465         GstBusHandler -> GstBusFunc, return value has the same meaning as
11466         any other GSource (FALSE == remove source).
11467         _add_watch() and _add_watch_full() now take a MessageType mask to
11468         only handle specific types of messages.
11469         _poll() returns the GstMessage instead of the message type to avoid
11470         race conditions.
11471         _have_pending() takes a MessageType mask now too.
11472         Added testsuite for multiple bus watches.
11473         Fix testsuites and applications for new bus API.
11474
11475 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11476
11477         * check/Makefile.am:
11478           mark a bunch of the tests as to fix until we fix them
11479
11480 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11481
11482         * common/check.mak:
11483           use GST_PLUGIN settings for valgrind tests as well, so we're
11484           valgrinding the correct thing
11485         * gst/gst.c: (init_post):
11486           plug another leak
11487
11488 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11489
11490         * gst/gst.c: (init_post), (gst_deinit):
11491         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11492         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11493         * gst/gstindex.c: (gst_index_factory_class_init),
11494         (gst_index_factory_finalize):
11495         * gst/gstobject.c: (gst_object_dispose):
11496         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11497         (gst_plugin_load_file), (gst_plugin_desc_free):
11498         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11499         (gst_plugin_feature_finalize):
11500         * gst/gstregistry.c: (gst_registry_class_init),
11501         (gst_registry_init), (gst_registry_finalize),
11502         (gst_registry_get_default), (gst_registry_deinit):
11503         * gst/gstregistry.h:
11504         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11505           various cleanups and memleak plugging.  make valgrind is happy now.
11506
11507 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11508
11509         * common/check.mak:
11510           add a check-valgrind target
11511
11512 2005-09-18  David Schleef  <ds@schleef.org>
11513
11514         * tools/gst-inspect.c: Revert the GOption code.
11515
11516 2005-09-17  David Schleef  <ds@schleef.org>
11517
11518         * check/Makefile.am: Fix environment variables.
11519         * check/gst/gstplugin.c: Fix for API changes.
11520         * tools/gst-inspect.c: Fix for API changes.
11521         * tools/gst-xmlinspect.c: Fix for API changes.
11522         * gst/gstelementfactory.c:
11523         * gst/gstplugin.c:
11524         * gst/gstplugin.h:
11525         * gst/gstpluginfeature.c:
11526         * gst/gstpluginfeature.h:
11527         * gst/gstregistry.c:
11528         * gst/gstregistry.h:
11529         * gst/gstregistryxml.c:
11530         * gst/gsttypefind.c:
11531         * gst/gsttypefindfactory.c:
11532         * gst/indexers/gstfileindex.c:
11533         * gst/indexers/gstmemindex.c:
11534         * gst/schedulers/Makefile.am:
11535           Change registry to keep track of both plugins and features,
11536           removing the feature tracking from plugins themselves.
11537
11538 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11539
11540         * check/Makefile.am:
11541         * tools/gst-register.1.in:
11542           remove gst-register
11543
11544 2005-09-15  David Schleef  <ds@schleef.org>
11545
11546         * check/gst/gstplugin.c:
11547         * gst/gstelementfactory.c:
11548         * gst/gstplugin.c:
11549         * gst/gstpluginfeature.c:
11550         * gst/gstregistry.c:
11551           Getting tired of debugging.  Disabled all the unreffing of
11552           plugins and features, which fixes the segfaults, but of
11553           course leaks like crazy.  At least playbin works.
11554
11555 2005-09-15  David Schleef  <ds@schleef.org>
11556
11557         * check/gst/gstplugin.c: (register_check_elements),
11558         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11559         More testing
11560         * gst/elements/gsttypefindelement.c: Fix refcounting.
11561         * gst/gsttypefind.c:
11562         * gst/gsttypefindfactory.c:
11563         * gst/gsttypefindfactory.h:
11564
11565 2005-09-15  David Schleef  <ds@schleef.org>
11566
11567         * gst/gstindex.c: get refcounting correct.
11568         * gst/gstregistry.c: Handle the case where a feature/plugin is
11569           not found.
11570
11571 2005-09-15  David Schleef  <ds@schleef.org>
11572
11573         * check/Makefile.am:
11574         * check/gst/gstplugin.c: Add test
11575         * gst/gstplugin.c: Fix problems noticed by testsuite
11576         * gst/gstplugin.h:
11577         * gst/gstregistry.c: 
11578         * gst/gstregistry.h:
11579
11580 2005-09-15  David Schleef  <ds@schleef.org>
11581
11582         * gst/gstplugin.c: Implement semi-decent recounting and locking
11583           in plugins and plugin features.
11584         * gst/gstplugin.h:
11585         * gst/gstpluginfeature.c:
11586         * gst/gstpluginfeature.h:
11587         * gst/gstregistry.c:
11588
11589 2005-09-15  Michael Smith <msmith@fluendo.com>
11590
11591         * gst/gstregistry.c: (gst_registry_get_feature_list):
11592           Implement this. Makes oggdemux work; decodebin still broken.
11593
11594 2005-09-14  David Schleef  <ds@schleef.org>
11595
11596         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11597           #316076)
11598         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11599         * gst/check/Makefile.am:
11600         * libs/gst/controller/Makefile.am:
11601         * libs/gst/dataprotocol/Makefile.am:
11602
11603 2005-09-14  David Schleef  <ds@schleef.org>
11604
11605         * configure.ac: Remove getbits library.  Nothing uses it, and
11606           it should be in something like liboil if someone did want
11607           to use it.
11608         * libs/gst/Makefile.am:
11609         * libs/gst/getbits/Makefile.am:
11610         * libs/gst/getbits/gbtest.c:
11611         * libs/gst/getbits/getbits.c:
11612         * libs/gst/getbits/getbits.h:
11613         * libs/gst/getbits/gstgetbits_generic.c:
11614         * libs/gst/getbits/gstgetbits_i386.s:
11615         * libs/gst/getbits/gstgetbits_inl.h:
11616
11617 2005-09-14  David Schleef  <ds@schleef.org>
11618
11619         * gst/Makefile.am: Dist glib-compat.h
11620
11621 2005-09-14  David Schleef  <ds@schleef.org>
11622
11623         * configure.ac: Remove gst/registries, since it's no longer used.
11624         * gst/registries/Makefile.am:
11625         * gst/registries/gstlibxmlregistry.c:
11626         * gst/registries/gstlibxmlregistry.h:
11627         * gst/registries/gstxmlregistry.c:
11628         * gst/registries/gstxmlregistry.h:
11629         * gst/registries/registrytest.c:
11630
11631 2005-09-14  David Schleef  <ds@schleef.org>
11632
11633         * gst/glib-compat.h:
11634         * gst/gstregistryxml.c:
11635           Convergence is near.  Seriously.
11636
11637 2005-09-14  David Schleef  <ds@schleef.org>
11638
11639         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11640         * gst/glib-compat.h:
11641           Attempt #4 to appease the buildbots.
11642
11643 2005-09-14  David Schleef  <ds@schleef.org>
11644
11645         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11646           Attempt #3.
11647
11648 2005-09-14  David Schleef  <ds@schleef.org>
11649
11650         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11651         Attempt #2.
11652
11653 2005-09-14  David Schleef  <ds@schleef.org>
11654
11655         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11656           the new functions.
11657
11658 2005-09-14  David Schleef  <ds@schleef.org>
11659
11660         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11661         * gst/glib-compat.h: Add some functions that are in newer versions
11662           of glib than we care to require.
11663         * gst/gstregistryxml.c: Use them.
11664
11665 2005-09-14  David Schleef  <ds@schleef.org>
11666
11667         * po/POTFILES.in: remove gst-register.c
11668
11669 2005-09-14  David Schleef  <ds@schleef.org>
11670
11671         * docs/gst/gstreamer-docs.sgml:
11672         * docs/gst/gstreamer-sections.txt:
11673         * docs/gst/gstreamer.types:
11674         * docs/gst/tmpl/gstelement.sgml:
11675         * docs/gst/tmpl/gstplugin.sgml:
11676         * docs/gst/tmpl/gstpluginfeature.sgml:
11677           Documentation updates for registry changes.
11678
11679 2005-09-14  David Schleef  <ds@schleef.org>
11680
11681         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11682           because we don't require glib-2.8.
11683
11684 2005-09-14  David Schleef  <ds@schleef.org>
11685
11686         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11687           registries directory.
11688
11689 2005-09-14  David Schleef  <ds@schleef.org>
11690
11691         * check/Makefile.am:
11692         * check/generic/states.c:
11693         * gst/Makefile.am:
11694         * gst/gst.c:
11695         * gst/gst.h:
11696         * gst/gst_private.h:
11697         * gst/gstelementfactory.c:
11698         * gst/gstindex.c:
11699         * gst/gstinfo.c:
11700         * gst/gstplugin.c:
11701         * gst/gstplugin.h:
11702         * gst/gstpluginfeature.c:
11703         * gst/gstpluginfeature.h:
11704         * gst/gstregistry.c:
11705         * gst/gstregistry.h:
11706         * gst/gstregistrypool.c: remove
11707         * gst/gstregistrypool.h: remove
11708         * gst/gsttypefind.c:
11709         * gst/gsttypefindfactory.c:
11710         * gst/gsturi.c:
11711         * tools/Makefile.am:
11712         * tools/gst-compprep.c:
11713         * tools/gst-inspect.c:
11714         * tools/gst-register.c: remove
11715         * tools/gst-xmlinspect.c:
11716           Registry rewrite.  Changes registry from being a file created
11717           by a tool into a simple cache file created automatically by 
11718           libgstreamer.  Removed gst-register (because it's no longer
11719           needed).  Remove registry pools, because we only have one
11720           registry implementation (XML).  Fix up other subsystems as
11721           necessary.
11722
11723 2005-09-13  Michael Smith <msmith@fluendo.com>
11724
11725         * gst/gstconfig.h.in:
11726           Don't Use windows linking attributes for MinGW. Fixes #316157
11727
11728 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11729
11730         * gst/gstutils.c: (set_state_async_thread_func),
11731         (gst_element_set_state_async):
11732           Apparently people think it's better if this function doesn't
11733           try to set the state to whatever state was asked for on the first
11734           call to this function for any object.  Seriously.
11735
11736 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11737
11738         * check/gst/gstpipeline.c: (GST_START_TEST):
11739         * docs/gst/gstreamer-sections.txt:
11740         * gst/gstutils.c: (set_state_async_thread_func),
11741         (gst_element_set_state_async):
11742         * gst/gstutils.h:
11743           add a "gst_element_set_state_async" method that
11744           sets the state and starts a thread to make sure the state
11745           change completes as best as it can
11746
11747 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11748
11749         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11750           codify design+behaviour in testsuite after discussion
11751
11752 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11753
11754         * docs/gst/tmpl/gstelement.sgml:
11755         * docs/manual/appendix-quotes.xml:
11756           add a quote
11757         * gst/gstelement.c: (gst_element_set_state):
11758           add some debug
11759
11760 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11761
11762         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11763         (gst_base_transform_prepare_output_buf),
11764         (gst_base_transform_handle_buffer):
11765         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11766         (gst_capsfilter_prepare_buf):
11767           Remove the requirement for sub-classes to call the parent
11768           implementation of prepare_output_buffer with a wrapper function.
11769           
11770         * gst/gsttaglist.h:
11771         * gst/gsttagsetter.h:
11772           Fix #define wrapper
11773
11774 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11775
11776         * docs/gst/gstreamer-sections.txt:
11777           more doc cleanups
11778
11779 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11780
11781         * docs/gst/gstreamer-sections.txt:
11782         * docs/gst/tmpl/gstelement.sgml:
11783         * docs/gst/tmpl/gstplugin.sgml:
11784         * gst/gstminiobject.c:
11785         * gst/gstvalue.h:
11786           docs now stop throwing warnings
11787
11788 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11789
11790         * docs/gst/gstreamer-sections.txt:
11791         * docs/gst/gstreamer.types:
11792         * docs/gst/tmpl/gstpad.sgml:
11793         * docs/gst/tmpl/gsttypes.sgml:
11794         * gst/base/gstadapter.h:
11795         * gst/base/gstbasesink.h:
11796         * gst/base/gstbasesrc.h:
11797         * gst/gstbin.h:
11798         * gst/gstbuffer.h:
11799         * gst/gstbus.h:
11800         * gst/gstcaps.h:
11801         * gst/gstclock.h:
11802         * gst/gstelement.h:
11803         * gst/gstevent.h:
11804         * gst/gstmessage.h:
11805         * gst/gstpad.h:
11806         * gst/gststructure.c:
11807         * gst/registries/gstlibxmlregistry.h:
11808           various documentation fixes
11809
11810 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11811
11812         * docs/gst/gstreamer-sections.txt:
11813         * docs/gst/tmpl/gstvalue.sgml:
11814           rearrange gstvalue section
11815         * gst/gstutils.c: (gst_element_state_get_name):
11816           NONE -> VOID
11817         * gst/gstvalue.c: (_gst_value_initialize):
11818         * gst/gstvalue.h:
11819           doc updates
11820
11821 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11822
11823         * check/gst-libs/controller.c:
11824           Header include fix.
11825         * gst/base/gstbasetransform.c:
11826         (gst_base_transform_default_prepare_buf),
11827         (gst_base_transform_handle_buffer):
11828         * gst/base/gstbasetransform.h:
11829           Some more basetransform changes and fixes to enable sub-classes
11830           that modify buffer metadata only.
11831         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11832         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11833         (gst_capsfilter_prepare_buf):
11834           If the output pad has fixed allowed caps and input buffers 
11835           don't have any, set the fixed caps on outgoing buffers.
11836
11837 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11838         * check/elements/identity.c: (GST_START_TEST):
11839           Make the error a little clearer when the test fails because
11840           identity made a copy of the buffer.
11841         * docs/gst/gstreamer-sections.txt:
11842           New symbols in gstbasetransform.h
11843         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11844         (gst_base_transform_init), (gst_base_transform_transform_size),
11845         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11846         (gst_base_transform_default_prepare_buf),
11847         (gst_base_transform_get_unit_size),
11848         (gst_base_transform_buffer_alloc),
11849         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11850         (gst_base_transform_change_state),
11851         (gst_base_transform_set_passthrough),
11852         (gst_base_transform_set_in_place),
11853         (gst_base_transform_is_in_place):
11854         * gst/base/gstbasetransform.h:
11855           Change BaseTransform to separate in_place operate from same_caps
11856           output. in_place implies that the element can perform the transform
11857           on incoming buffers in-place, even if the caps on the output are
11858           different.
11859           Sub-class elements can now implement special buffer allocation
11860           methods for outgoing buffers if they wish to.
11861           Big documentation addition.
11862         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11863         * gst/elements/gstelements.c:
11864           Changes for basetransform modifications.
11865         * gst/elements/Makefile.am:
11866         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11867           Compile fix. Extra debug output.
11868
11869 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11872         (gst_pad_suite):
11873           add tests for valid pad naming
11874         * gst/check/gstcheck.c: (gst_check_log_message_func),
11875         (gst_check_log_critical_func):
11876           add ASSERT_WARNING
11877           remove printing of code, it is fragile when the code contains
11878           % and the line number is enough info
11879         * gst/check/gstcheck.h:
11880         * gst/gstpad.c: (gst_pad_template_new):
11881           fix memleaks
11882
11883 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11884
11885         * configure.ac:
11886           say what CHECK flags we use
11887         * docs/libs/gstreamer-libs.types:
11888         * libs/gst/controller/Makefile.am:
11889         * libs/gst/controller/gst-controller.c:
11890         * libs/gst/controller/gst-controller.h:
11891         * libs/gst/controller/gst-helper.c:
11892         * libs/gst/controller/gst-interpolation.c:
11893         * libs/gst/controller/gstcontroller.c:
11894         * libs/gst/controller/gsthelper.c:
11895         * libs/gst/controller/gstinterpolation.c:
11896         * tools/gst-inspect.c: (print_plugin_info):
11897           we don't use dashes in header names
11898
11899 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11900
11901         * check/Makefile.am:
11902         * check/gst/.cvsignore:
11903         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11904         (gst_pipeline_suite), (main):
11905           adding a test for pipelines and state changes
11906         * gst/gstutils.c: (get_state_func):
11907           add some debugging
11908         * gstreamer.spec.in:
11909           fix up spec file
11910
11911 2005-09-08  Michael Smith <msmith@fluendo.com>
11912
11913         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11914         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11915         (gst_file_src_is_seekable), (gst_file_src_get_size),
11916         (gst_file_src_start):
11917         * gst/elements/gstfilesrc.h:
11918           Various fixes for unseekable, unmmapable, and non-normal files, so
11919           that fallback to read() rather than mmap() works.
11920         * gst/gstevent.c: (gst_event_new_newsegment):
11921           Allow newsegment events with segment_start == segment_end, as will
11922           correctly happen if you use filesrc on a zero-size file, for
11923           example.
11924
11925 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11926
11927         * gst/gstplugin.c: (gst_plugin_load_file):
11928           Call g_module_close when we don't load the module
11929
11930         * gst/registries/gstlibxmlregistry.c:
11931         (gst_xml_registry_get_property):
11932           Port leak fix from 0.8
11933
11934 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11935
11936         * docs/gst/gstreamer-docs.sgml:
11937         * docs/gst/tmpl/.cvsignore:
11938         * docs/gst/tmpl/gsttrace.sgml:
11939         * docs/gst/tmpl/gsttrashstack.sgml:
11940         * gst/Makefile.am:
11941         * gst/gst.h:
11942         * gst/gstelement.h:
11943         * gst/gstevent.h:
11944         * gst/gstmessage.c:
11945         * gst/gstmessage.h:
11946         * gst/gsttag.c:
11947         * gst/gsttag.h:
11948         * gst/gsttaginterface.c:
11949         * gst/gsttaginterface.h:
11950         * gst/gsttaglist.c:
11951         * gst/gsttaglist.h:
11952         * gst/gsttagsetter.c:
11953         * gst/gsttagsetter.h:
11954         * gst/gsttrace.c:
11955         * gst/gsttrace.h:
11956         * gst/gsttrashstack.c:
11957           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11958           inlined docs for gsttrace, gsttrashstack
11959
11960 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11961
11962         * gst/Makefile.am:
11963         * gst/elements/gstbufferstore.h:
11964         * gst/elements/gsttypefindelement.c:
11965         * gst/elements/gsttypefindelement.h:
11966         * gst/gst.h:
11967         * gst/gsttypefind.c:
11968         * gst/gsttypefind.h:
11969         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11970         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11971         (gst_type_find_factory_dispose),
11972         (gst_type_find_factory_unload_thyself),
11973         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11974         (gst_type_find_factory_get_caps),
11975         (gst_type_find_factory_get_extensions),
11976         (gst_type_find_factory_call_function):
11977         * gst/gsttypefindfactory.h:
11978         * gst/registries/gstlibxmlregistry.c:
11979         * gst/registries/gstxmlregistry.c:
11980           splitted gsttypefind into gsttypefind, gsttypefindfactory
11981
11982 2005-09-07  Andy Wingo  <wingo@pobox.com>
11983
11984         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11985         condition whereby the pad's task function is entered before the
11986         pad_mode variable was set.
11987
11988 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11989
11990         * gst/gstpad.c: (gst_pad_alloc_buffer):
11991           Catch misbehaving pad_alloc functions that don't
11992           set up caps and do it for them.
11993
11994 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11995
11996         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11997           test for pipe!=NULL
11998         * docs/gst/tmpl/.cvsignore:
11999         * docs/gst/tmpl/gstmemchunk.sgml:
12000         * docs/gst/tmpl/gstparse.sgml:
12001         * docs/gst/tmpl/gsttaglist.sgml:
12002         * docs/gst/tmpl/gsttagsetter.sgml:
12003         * docs/gst/tmpl/gsttypefind.sgml:
12004         * docs/gst/tmpl/gsttypefindfactory.sgml:
12005         * gst/gstmemchunk.c:
12006         * gst/gstparse.c:
12007         * gst/gsttag.c:
12008         * gst/gsttaginterface.c:
12009         * gst/gsttypefind.c:
12010         * gst/gsttypefind.h:
12011           inlined more docs
12012
12013 === release 0.9.2 ===
12014
12015 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12016
12017         * NEWS:
12018         * RELEASE:
12019         * configure.ac:
12020           releasing 0.9.2, "South"
12021
12022 2005-09-05  Andy Wingo  <wingo@pobox.com>
12023
12024         * gst/registries/gstxmlregistry.h:
12025         * gst/registries/gstxmlregistry.c: Um... resurrect...
12026         
12027         * gst/registries/gstxmlregistry.h:
12028         * gst/registries/gstxmlregistry.c: and update to newer API.
12029         Incidentally they should be a bit faster now that they don't have
12030         to parse the caps.
12031         
12032 2005-09-05  Andy Wingo  <wingo@pobox.com>
12033
12034         * gst/registries/gstxmlregistry.h:
12035         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12036         replaced by the libxml registry a while back
12037
12038 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12039
12040         * docs/gst/tmpl/gstplugin.sgml:
12041         * gst/elements/gstelements.c:
12042         * gst/gst.c:
12043         * gst/gstplugin.c: (gst_plugin_register_func),
12044         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12045         (gst_plugin_get_source):
12046         * gst/gstplugin.h:
12047         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12048         (gst_xml_registry_save_plugin):
12049         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12050         (gst_xml_registry_save_plugin):
12051         * tools/gst-inspect.c: (print_plugin_info):
12052           add a "source" plugin description field, to represent the source
12053           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12054           will set it to PACKAGE, which is automake's idea of the name of
12055           the source project.
12056
12057 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12058
12059         * Makefile.am:
12060         * autogen.sh:
12061         * configure.ac:
12062         * docs/Makefile.am:
12063         * docs/faq/Makefile.am:
12064         * docs/gst/tmpl/gstelement.sgml:
12065         * docs/gst/tmpl/gsttypes.sgml:
12066         * docs/htmlinstall.mak:
12067         * docs/manual/Makefile.am:
12068         * docs/pwg/Makefile.am:
12069           reorganize doc build a little
12070           split out docbook and gtk-doc stuff
12071           have two separate --enable's and enable them through autogen
12072           but disable by default in configure (to be similar to other
12073           projects)
12074         * gstreamer.spec.in:
12075           clean up docs install
12076         * po/af.po:
12077         * po/az.po:
12078         * po/ca.po:
12079         * po/cs.po:
12080         * po/de.po:
12081         * po/en_GB.po:
12082         * po/fr.po:
12083         * po/it.po:
12084         * po/nb.po:
12085         * po/nl.po:
12086         * po/ru.po:
12087         * po/sq.po:
12088         * po/sr.po:
12089         * po/sv.po:
12090         * po/tr.po:
12091         * po/uk.po:
12092         * po/vi.po:
12093           translation updates
12094
12095 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12096
12097         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12098           Add comment.
12099           
12100         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12101         (gst_fake_sink_change_state):
12102           Make state change function thread-safe.
12103           
12104         * gst/gstpad.c: (gst_pad_alloc_buffer):
12105           Set offset on generic buffer allocated by fallback.
12106
12107 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12108
12109         * docs/gst/gstreamer-sections.txt:
12110         * docs/gst/tmpl/gstelement.sgml:
12111         * gst/gstpad.c:
12112         * libs/gst/controller/gst-controller.c:
12113         (gst_controlled_property_set_interpolation_mode),
12114         (gst_controlled_property_new),
12115         (gst_controller_find_controlled_property):
12116          run the wingo-magic script against the docs
12117
12118 2005-09-02  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/gstelementdetails.sgml:
12124         * docs/gst/tmpl/gstelementfactory.sgml:
12125         * gst/gst.c:
12126         * gst/gstbus.c:
12127         * gst/gstelementfactory.c:
12128         * gst/gstelementfactory.h:
12129           merged elementdetails docs into elementfactory docs
12130           inlined both
12131
12132 2005-09-02  Andy Wingo  <wingo@pobox.com>
12133
12134         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12135         consider this enum an enum and not a flags.
12136
12137 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12138
12139         * docs/gst/gstreamer-docs.sgml:
12140         * docs/gst/tmpl/.cvsignore:
12141         * docs/gst/tmpl/gstghostpad.sgml:
12142         * docs/gst/tmpl/gstiterator.sgml:
12143         * docs/gst/tmpl/gstmacros.sgml:
12144         * docs/gst/tmpl/gstrealpad.sgml:
12145         * docs/gst/tmpl/gstregistry.sgml:
12146         * docs/gst/tmpl/gstregistrypool.sgml:
12147         * docs/gst/tmpl/gststructure.sgml:
12148         * docs/gst/tmpl/gstsystemclock.sgml:
12149         * docs/gst/tmpl/gsttrace.sgml:
12150         * gst/gstghostpad.c:
12151         * gst/gstmacros.h:
12152         * gst/gstmemchunk.c:
12153         * gst/gstmemchunk.h:
12154         * gst/gstqueue.c:
12155         * gst/gstregistry.c:
12156         * gst/gstregistrypool.c:
12157         * gst/gststructure.c:
12158         * gst/gstsystemclock.c:
12159           more docs inlined
12160
12161 2005-09-02  Andy Wingo  <wingo@pobox.com>
12162
12163         * gst/gstelement.h (GstState): Renamed from GstElementState,
12164         changed to be a normal enum instead of flags.
12165         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12166         munged to be GST_STATE_CHANGE_*.
12167         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12168         work with the new state representation.
12169         (GstStateChange): New enumeration of possible state transitions.
12170         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12171         (GstElementClass::change_state): Pass the GstStateChange along as
12172         an argument. Helps language bindings, so they don't have to use
12173         tricky lock-needing macros like GST_STATE_CHANGE ().
12174
12175         * scripts/update-states (file): New script. Run it on a file to
12176         update it for state naming and API changes. Updates files in
12177         place.
12178
12179         * All files updated for the new API.
12180
12181 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12182
12183         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12184         * gst/gstutils.c: (gst_util_set_value_from_string),
12185         (gst_util_set_object_arg):
12186           fix a bunch of unchecked return values
12187         * tools/gst-complete.c: (main):
12188         * gstreamer.spec.in:
12189           clean up a little
12190
12191 2005-09-01  Wim Taymans  <wim@fluendo.com>
12192
12193         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12194         (gst_base_sink_event), (gst_base_sink_do_sync),
12195         (gst_base_sink_handle_event):
12196         * gst/base/gstbasesink.h:
12197         Handle newsegments more correctly.
12198
12199         * gst/gstbus.c:
12200         Fix docs.
12201
12202         * gst/gstevent.c: (gst_event_new_newsegment):
12203         A newsegment cannot have a start_time of -1
12204
12205 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12206
12207         * win32/gstenumtypes.c:
12208         * win32/gstenumtypes.h:
12209           Update
12210
12211 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12212
12213         * libs/gst/controller/gst-controller.c:
12214         (gst_controlled_property_set_interpolation_mode),
12215         (gst_controlled_property_new):
12216          fixed boolean again
12217
12218 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12219
12220         * docs/faq/gst-uninstalled:
12221           add -good
12222         * gst/gstevent.c:
12223         * gst/gstevent.h:
12224           remove wrong docs
12225         * gst/gstutils.c: (gst_element_link_filtered):
12226         * gst/gstutils.h:
12227           add gst_element_link_filtered
12228
12229 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12230
12231         * docs/gst/gstreamer-docs.sgml:
12232         * docs/gst/gstreamer-sections.txt:
12233         * docs/gst/tmpl/.cvsignore:
12234         * docs/gst/tmpl/gsterror.sgml:
12235         * docs/gst/tmpl/gstfilter.sgml:
12236         * docs/gst/tmpl/gsturihandler.sgml:
12237         * docs/gst/tmpl/gsturitype.sgml:
12238         * docs/gst/tmpl/gstutils.sgml:
12239         * docs/gst/tmpl/gstxml.sgml:
12240         * gst/gsterror.c:
12241         * gst/gsterror.h:
12242         * gst/gstfilter.c:
12243         * gst/gsturi.c:
12244         * gst/gsturitype.c:
12245         * gst/gstutils.c:
12246         * gst/gstxml.c:
12247           inlined more docs, fixed double id-ref
12248
12249 2005-08-31  Wim Taymans  <wim@fluendo.com>
12250
12251         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12252         (gst_base_transform_handle_buffer):
12253         Passthrough elements don't need the caps as they don't care.
12254
12255 2005-08-31  Wim Taymans  <wim@fluendo.com>
12256
12257         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12258         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12259         Don't leak refcounts on buffers.
12260
12261 2005-08-31  Wim Taymans  <wim@fluendo.com>
12262
12263         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12264         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12265         (gst_base_transform_chain), (gst_base_transform_change_state):
12266         * gst/base/gstbasetransform.h:
12267         Handle the case where we are not negotiated more gracefully.
12268
12269 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12270
12271         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12272         (gst_file_src_map_region):
12273           Set READONLY flag on mmap'ed buffers, otherwise
12274           gst_buffer_make_writable() won't work properly (#314708).
12275
12276 2005-08-31  Wim Taymans  <wim@fluendo.com>
12277
12278         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12279         passthrough elements can even do inplace on non writable
12280         buffers (as they don't touch them).
12281
12282 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12283
12284         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12285         (gst_test_mono_source_set_property),
12286         (gst_test_mono_source_class_init), (GST_START_TEST),
12287         (gst_controller_suite):
12288           more tests (hehe I have the most)
12289         * gst/gstbus.c:
12290           describe popping messages whenusing mulltiple sources
12291         * libs/gst/controller/gst-controller.c:
12292         (gst_controlled_property_set_interpolation_mode),
12293         (gst_controlled_property_new):
12294         * libs/gst/controller/gst-controller.h:
12295         * libs/gst/controller/gst-interpolation.c:
12296           implement boolean properties
12297
12298 2005-08-31  Wim Taymans  <wim@fluendo.com>
12299
12300         * gst/gstminiobject.c: (gst_mini_object_ref):
12301         Cannot assert that the refcount has to be positive
12302         since a disposed object can be resurrected.
12303
12304 2005-08-31  Wim Taymans  <wim@fluendo.com>
12305
12306         * gst/gstpad.c: (gst_pad_init):
12307         Revert change, need to first fix badly behaving 
12308         apps.
12309
12310 2005-08-30  Wim Taymans  <wim@fluendo.com>
12311
12312         * check/elements/fakesrc.c: (setup_fakesrc):
12313         * check/elements/identity.c: (setup_identity):
12314         Activate pads before using them.
12315
12316 2005-08-30  Wim Taymans  <wim@fluendo.com>
12317
12318         * gst/base/gstadapter.c: (gst_adapter_flush):
12319         Flushing out 0 bytes is ok for this function.
12320
12321         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12322         no newsegment gives a warning and sets the start/stop to 
12323         invalid.
12324
12325         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12326         (gst_base_transform_set_passthrough):
12327         Some debug info.
12328
12329         * gst/gstminiobject.c: (gst_mini_object_ref):
12330         Check refcount here too.
12331
12332         * gst/gstpad.c: (gst_pad_init):
12333         Pads are initially flushing and refusing data.
12334
12335         * gst/gstutils.c: (gst_element_link_pads_filtered):
12336         When adding a capsfilter element make sure it has the
12337         same state as the parent bin.
12338
12339 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12340
12341         * docs/gst/tmpl/.cvsignore:
12342         * docs/gst/tmpl/gstformat.sgml:
12343         * docs/gst/tmpl/gstversion.sgml:
12344         * gst/gstbus.h:
12345         * gst/gstformat.c:
12346         * gst/gstformat.h:
12347         * gst/gstversion.h.in:
12348           more docs and two more inlined
12349
12350 2005-08-30  Wim Taymans  <wim@fluendo.com>
12351
12352         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12353         Don't sync to clock.
12354
12355 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12356
12357         * docs/gst/gstreamer-sections.txt:
12358           ultral33t func10ns deserve to appear in the docs actually
12359         * docs/gst/tmpl/.cvsignore:
12360         * docs/gst/tmpl/gstcompat.sgml:
12361         * docs/gst/tmpl/gstconfig.sgml:
12362         * gst/check/gstcheck.c:
12363         * gst/gstcompat.h:
12364         * gst/gstconfig.h.in:
12365           inlined more docs
12366
12367 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12368
12369         * docs/gst/tmpl/.cvsignore:
12370         * docs/gst/tmpl/gstquery.sgml:
12371         * docs/gst/tmpl/gstutils.sgml:
12372         * gst/gstquery.c:
12373         * gst/gstquery.h:
12374           inlined and extended docs
12375
12376 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12377
12378         * check/gst-libs/controller.c: (GST_START_TEST),
12379         (gst_controller_suite):
12380           more tests
12381         * docs/gst/tmpl/gstutils.sgml:
12382         * docs/libs/gstreamer-libs-sections.txt:
12383         * docs/libs/tmpl/gstdataprotocol.sgml:
12384           include path fixes
12385         * examples/controller/audio-example.c: (main):
12386           controller example works now
12387         * gst/gstclock.h:
12388           doc fixes
12389         * tools/gst-inspect.c: (print_element_properties_info):
12390           show param spec flags
12391
12392 2005-08-29  Andy Wingo  <wingo@pobox.com>
12393
12394         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12395
12396 2005-08-28  Andy Wingo  <wingo@pobox.com>
12397
12398         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12399         as having two arguments instead of just one. Allows superclasses
12400         to access information on subclasses -- see the terrible for() loop
12401         in gtype.c:g_type_create_instance for the reason why. All callers
12402         changed.
12403
12404 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12405
12406         * docs/design/part-messages.txt:
12407           update info
12408         * docs/gst/tmpl/.cvsignore:
12409         * docs/gst/tmpl/gstcaps.sgml:
12410         * docs/gst/tmpl/gstclock.sgml:
12411         * gst/gstbus.c:
12412         * gst/gstcaps.c:
12413         * gst/gstcaps.h:
12414         * gst/gstclock.c:
12415         * gst/gstclock.h:
12416         * gst/gstmessage.c:
12417           added descriptions for bus and message
12418           inline caps and clock docs
12419
12420 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12421
12422         * gst/gstmessage.c:
12423         * gst/gstmessage.h:
12424           doc fixes
12425
12426 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12427
12428         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12429           fix div-by-zero
12430
12431 2005-08-26  Andy Wingo  <wingo@pobox.com>
12432
12433         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12434         element_set_state's return val.
12435         (test_2_elements): Add test that's been disabled for months.
12436
12437         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12438         can-activate-pull properties.
12439
12440         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12441         can-activate-pull properties. Implement is_seekable so fakesrc can
12442         operate in pull mode.
12443
12444         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12445         properties.
12446         (gst_base_sink_activate, gst_base_sink_activate_pull)
12447         (gst_base_sink_activate_push): Make activation mode choosing work.
12448         Cleanups.
12449         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12450         is right. Make pull mode work. Post an eos before pausing in pull
12451         mode.
12452         (gst_base_sink_change_state): Pay attention to the core's
12453         change_state() return val.
12454         
12455         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12456         has-getrange properties. Cleanups.
12457         
12458         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12459         has_getrange and replace with can_activate_pull and
12460         can_activate_push.
12461
12462         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12463         locking comments. Remove has_loop, has_chain and replace with
12464         can_activate_pull and can_activate_push.
12465
12466 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12467
12468         * configure.ac:
12469         * examples/Makefile.am:
12470         * examples/metadata/Makefile.am:
12471         * examples/metadata/read-metadata.c: (message_loop),
12472         (have_pad_handler), (make_pipeline), (print_tag), (main):
12473           Add metadata reading example that loops over a list of filenames,
12474           dumping any tags found.
12475
12476         * gst/gstbus.c: (gst_bus_dispose):
12477         * gst/gstelement.c: (gst_element_dispose):
12478           Release a few potentially-held references in dispose.
12479
12480 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12481
12482         * docs/gst/tmpl/gstminiobject.sgml:
12483           do *not* add tmpl/*.sgml files to CVS!
12484
12485 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12486
12487         * libs/gst/bytestream/.cvsignore:
12488         * libs/gst/bytestream/Makefile.am:
12489         * libs/gst/bytestream/adapter.c:
12490         * libs/gst/bytestream/adapter.h:
12491         * libs/gst/bytestream/bytestream.c:
12492         * libs/gst/bytestream/bytestream.h:
12493         * libs/gst/bytestream/filepad.c:
12494         * libs/gst/bytestream/filepad.h:
12495           removing obsolete files
12496
12497 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12498
12499         * docs/gst/gstreamer-docs.sgml:
12500         * docs/libs/gstreamer-libs-docs.sgml:
12501           disabed additional index entries again, as this makes docs-gen just
12502           slow and they aren't useful yet
12503         * docs/libs/gstreamer-libs-sections.txt:
12504           little -section.txt cleanup for libs
12505
12506 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12507
12508         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12509         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12510           fix up some debugging
12511         (gst_base_transform_get_unit_size),
12512         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12513         (gst_base_transform_handle_buffer):
12514         * gst/base/gstbasetransform.h:
12515           handle and store timed NEWSEGMENT events so that subclasses that
12516           calculate time by counting samples have a segment_start time they
12517           need to add to their timestamps - see audioresample
12518
12519 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12520
12521         * gst/gstbin.h:
12522           removed ';' from the end of macro defs
12523         * docs/gst/gstreamer-docs.sgml:
12524         * docs/gst/gstreamer-sections.txt:
12525         * docs/gst/tmpl/.cvsignore:
12526         * gst/gstbus.h:
12527         * gst/gstelement.c: (gst_element_class_init),
12528         (gst_element_set_state), (activate_pads),
12529         (gst_element_save_thyself):
12530         * gst/gstevent.c: (gst_event_new_newsegment):
12531         * gst/gstevent.h:
12532         * gst/gstiterator.c:
12533         * gst/gstiterator.h:
12534         * gst/gstpad.c:
12535         * gst/gstprobe.h:
12536         * gst/gstutils.c: (gst_pad_query_convert):
12537         * gst/gstutils.h:
12538           fixed parameter name mismatches between source, header and docs
12539           added some more docs, resolved the last batch of unused elements in
12540           docs (now someone needs to doc them)
12541
12542 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12543
12544         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12545         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12546           don't walk through the plugins backwards.  Where is all this
12547           reversed logic coming from ?
12548
12549 2005-08-25  Wim Taymans  <wim@fluendo.com>
12550
12551         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12552         (gst_base_transform_transform_size),
12553         (gst_base_transform_configure_caps),
12554         (gst_base_transform_get_unit_size),
12555         (gst_base_transform_buffer_alloc),
12556         (gst_base_transform_change_state):
12557         * gst/base/gstbasetransform.h:
12558         Cache caps unit_size.
12559         Make sure we cannot negotiate up and downstream at the
12560         same time.
12561
12562 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12563
12564         * gst/gst.c: (init_pre), (init_post):
12565           register the installed plugin path after the env var
12566         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12567         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12568           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12569           directories, so the tests can prefer uninstalled over installed
12570
12571 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12572
12573         * gst/base/gstbasetransform.h:
12574           comment
12575         * gst/gstpad.c:
12576           add to docs
12577
12578 2005-08-25  Wim Taymans  <wim@fluendo.com>
12579
12580         * gst/gstbin.c: (bin_bus_handler):
12581         Be a bit more conservative about the posted message.
12582         
12583         * gst/gstbus.c: (gst_bus_post):
12584         Some cleanups, warn wrong return values.
12585
12586 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12587
12588         * check/gst/gstbin.c: (GST_START_TEST):
12589         * gst/gstbin.c: (bin_bus_handler):
12590         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12591         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12592         (gst_message_new_warning), (gst_message_new_tag),
12593         (gst_message_new_state_changed), (gst_message_new_segment_start),
12594         (gst_message_new_segment_done), (gst_message_new_custom):
12595         * gst/gstmessage.h:
12596         * tools/gst-launch.c: (event_loop):
12597         * tools/gst-md5sum.c: (event_loop):
12598           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12599
12600 2005-08-25  Wim Taymans  <wim@fluendo.com>
12601
12602         * check/generic/states.c: (GST_START_TEST):
12603         Cleanup can be done at the end.
12604
12605         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12606         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12607         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12608         Oh boy.. Thanks for finding this, Thomas. 
12609
12610 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12611
12612         * docs/gst/gstreamer.types:
12613           added missing types
12614
12615 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12616
12617         * docs/gst/gstreamer-docs.sgml:
12618         * docs/gst/gstreamer-sections.txt:
12619         * docs/gst/tmpl/.cvsignore:
12620         * gst/gstbin.c:
12621         * gst/gstiterator.c:
12622         * gst/gstutils.c:
12623         * gst/registries/gstxmlregistry.h:
12624           added missing classes and symbols (123 more to go)
12625           removed removed symbols from section file
12626           fixed many doc-comments
12627
12628 2005-08-24  Wim Taymans  <wim@fluendo.com>
12629
12630         * check/generic/states.c: (GST_START_TEST):
12631         Make sure all tasks are stopped.
12632
12633         * check/gst/gstbin.c: (GST_START_TEST):
12634         Unref after usage for proper valgrinding.
12635
12636         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12637         Really wait for the task to stop before destroying the
12638         mutex.
12639
12640         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12641         (gst_queue_src_activate_push):
12642         Small cleanups. Don't stop the task when we did not start
12643         it.
12644
12645         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12646         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12647         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12648         (gst_task_join):
12649         * gst/gsttask.h:
12650         Protect the stream lock with the object lock.
12651         Disallow setting the stream lock when running.
12652         Add cleanup_all to wait for the threadpool to finish.
12653         Remove code to autoallocate a mutex if none was provided.
12654         Add _join() to wait for a task to stop.
12655         Protect the thread pool with a global lock.
12656
12657 2005-08-24  Wim Taymans  <wim@fluendo.com>
12658
12659         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12660         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12661         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12662         * gst/base/gstbasesink.h:
12663         Handle newsegment events correctly.
12664         Drop buffers out of the segment range.
12665
12666 2005-08-22  Andy Wingo  <wingo@pobox.com>
12667
12668         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12669         macro, implements an interface and gstimplementsinterface for a
12670         new type.
12671
12672 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12673
12674         * check/Makefile.am:
12675         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12676           add a test that does a bunch of state changes on elements
12677           needs some fixing for valgrind
12678         * check/states/sinks.c: (gst_object_suite):
12679           whitespace
12680         * gst/gstcaps.h:
12681           add prototype for gst_caps_is_equal_fixed
12682         * gst/gstplugin.c:
12683         * gst/gstregistrypool.c:
12684           doc fixes
12685
12686 2005-08-24  Andy Wingo  <wingo@pobox.com>
12687
12688         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12689         convert a negative value. Doesn't make much sense. Mostly this is
12690         here to force callers to ensure -1 maps to -1.
12691
12692 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12693
12694         * docs/pwg/advanced-types.xml:
12695           Well done to Michael for catching my deliberate introduction
12696           of this spelling mistake. 
12697         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12698         * gst/gstelement.h:
12699           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12700           unlink pads before removing the element from the bin.
12701
12702 2005-08-24  Andy Wingo  <wingo@pobox.com>
12703
12704         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12705         the same thing as GST_DEBUG=*:4.
12706         (parse_debug_level, parse_debug_category): New helper parsers.
12707
12708 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12709
12710         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12711         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12712         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12713         (gst_base_transform_buffer_alloc),
12714         (gst_base_transform_handle_buffer):
12715           use gboolean return values and pointers to size so we can use the
12716           full GST_BUFFER_SIZE range (guint) for buffer sizes
12717           use GstPadDirection for transform_caps
12718         * gst/base/gstbasetransform.h:
12719           rename get_size to get_unit_size since that's what it is
12720         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12721           use GstPadDirection for transform_caps
12722         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12723         * gst/gstutils.h:
12724           cleanup and debugging
12725
12726 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12727
12728         * gst/gstelement.c: (gst_element_class_init),
12729         (gst_element_set_state), (activate_pads),
12730         (gst_element_save_thyself):
12731         * tools/gst-compprep.c: (main):
12732         * tools/gst-inspect.c: (print_element_properties_info):
12733         * tools/gst-xmlinspect.c: (print_element_properties):
12734           Fixed long standing mem-leak
12735
12736 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12737
12738         * check/gst/gstbin.c: (GST_START_TEST):
12739         * gst/gstbin.c: (bin_bus_handler):
12740         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12741         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12742         (gst_message_new_warning), (gst_message_new_tag),
12743         (gst_message_new_state_changed), (gst_message_new_segment_start),
12744         (gst_message_new_segment_done), (gst_message_new_custom):
12745         * gst/gstmessage.h:
12746         * tools/gst-launch.c: (event_loop):
12747         * tools/gst-md5sum.c: (event_loop):
12748           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12749           that applications can sensibly post custom messages with references
12750           to their own objects.
12751
12752 2005-08-24  Andy Wingo  <wingo@pobox.com>
12753
12754         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12755         already.
12756
12757 2005-08-24  Wim Taymans  <wim@fluendo.com>
12758
12759         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12760         (gst_base_transform_transform_caps),
12761         (gst_base_transform_transform_size),
12762         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12763         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12764         (gst_base_transform_handle_buffer):
12765         * gst/base/gstbasetransform.h:
12766         Many fixes and new features added by Thomas. Can now also do
12767         transforms with variable sizes and a custom fixate_caps function.
12768
12769 2005-08-24  Wim Taymans  <wim@fluendo.com>
12770
12771         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12772         Some debugging.
12773
12774         * gst/gstclock.h:
12775         Cast to ClockTime before formatting to time.
12776
12777         * gst/gstutils.h:
12778         Cleanups.
12779
12780 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12781
12782         * check/gst-libs/controller.c: (GST_START_TEST),
12783         (gst_controller_suite):
12784         * docs/gst/tmpl/gstcaps.sgml:
12785         * docs/gst/tmpl/gstghostpad.sgml:
12786         * docs/gst/tmpl/gstquery.sgml:
12787         * docs/gst/tmpl/gstutils.sgml:
12788         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12789         (gst_object_sink_values), (gst_object_get_value_arrays),
12790         (gst_object_get_value_array):
12791           gracefully handle helper method calls to objects that are not beeing
12792           controlled, added test case for that          
12793
12794 2005-08-23  Wim Taymans  <wim@fluendo.com>
12795
12796         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12797         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12798         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12799         (gst_event_parse_qos), (gst_event_new_seek),
12800         (gst_event_parse_seek):
12801         * gst/gstevent.h:
12802         Some more debugging output and doc cleanups.
12803
12804         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12805         Fix possible deadlock.
12806
12807 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12808
12809         * docs/gst/gstreamer-docs.sgml:
12810         * docs/gst/gstreamer-sections.txt:
12811         * docs/gst/gstreamer.types:
12812         * docs/gst/tmpl/.cvsignore:
12813         * gst/gstbin.h:
12814         * gst/gstbus.c:
12815         * gst/gstelement.c:
12816         * gst/gstevent.h:
12817           added 100 symbols from gstreamer-unused.txt to the right sections
12818           fixed more broken comments
12819           added GstBus to docs
12820
12821 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12822
12823         * docs/gst/gstreamer-sections.txt:
12824         * docs/gst/tmpl/.cvsignore:
12825         * docs/gst/tmpl/gstbin.sgml:
12826         * docs/gst/tmpl/gstbuffer.sgml:
12827         * gst/base/gstbasesrc.c:
12828         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12829         * gst/gstbuffer.c:
12830         * gst/gstbuffer.h:
12831         * tools/gst-launch.1.in:
12832           inlined more doc comments, added missing comments and fixed comments
12833           fixed typos
12834
12835 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12836
12837         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12838           some debugging
12839         * gst/gstcaps.h:
12840           whitespace fixes
12841         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12842           more debugging
12843         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12844         * gst/gststructure.h:
12845           add a fixate function for booleans; add a FIXME that these func
12846           names should probably be gst_structure_fixate_*
12847
12848 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12849
12850         * docs/gst/gstreamer-docs.sgml:
12851         * docs/gst/gstreamer-sections.txt:
12852         * gst/Makefile.am:
12853         * gst/gstbin.c: (gst_bin_get_type),
12854         (gst_bin_child_proxy_get_child_by_index),
12855         (gst_bin_child_proxy_get_children_count),
12856         (gst_bin_child_proxy_init):
12857         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12858         (gst_child_proxy_get_child_by_index),
12859         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12860         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12861         (gst_child_proxy_get), (gst_child_proxy_set_property),
12862         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12863         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12864         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12865         * gst/gstchildproxy.h:
12866         * gst/parse/grammar.y:
12867         * tools/gst-inspect.c: (print_interfaces),
12868         (print_element_properties_info), (print_element_info):
12869           ported gstchildproxy over from 0.8
12870           ported gst-inspect fixes and enhancements over from 0.8
12871
12872 2005-08-22  Wim Taymans  <wim@fluendo.com>
12873
12874         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12875         (gst_base_transform_handle_buffer):
12876         Also call the transform function if we have ANY caps.
12877
12878         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12879         Fix debug info.
12880
12881 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12882
12883         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12884           Don't pretend to handle seek events if the source is not seekable
12885
12886 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12887
12888         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12889           Remove extra parameter to debug output
12890
12891         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12892         (gst_base_src_do_seek), (gst_base_src_activate_push):
12893           Fix seek event handling.
12894
12895         * gst/gstpipeline.c: (gst_pipeline_change_state):
12896         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12897         (gst_queue_src_activate_push):
12898           Don't start the src pad task on FLUSH_STOP if the pad
12899           isn't linked.
12900           Debug changes.
12901
12902 2005-08-22  Wim Taymans  <wim@fluendo.com>
12903
12904         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12905         Added check for gst_static_caps_get() refcounting.
12906
12907 2005-08-22  Wim Taymans  <wim@fluendo.com>
12908
12909         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12910         Make _static_caps_get() refcounting sane.
12911         
12912         * gst/gstelement.c: (gst_element_set_state):
12913         Add g_return_val_if_fail() to protect against segfaults.
12914
12915 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12916
12917         * docs/gst/tmpl/gstevent.sgml:
12918         * gst/gstevent.c:
12919         * gst/gstevent.h:
12920           inlined remaining docs, added missing doc comments
12921
12922 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12923
12924         * check/gst/gstbin.c: (GST_START_TEST):
12925           since we don't know when preroll is done, use refcount range
12926           check for the sink
12927         * gst/check/gstcheck.h:
12928           add macro for checking refcount range
12929
12930 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12931
12932         * check/Makefile.am:
12933           clean up environment for when registry gets built versus
12934           when actual tests are run; valgrind seems to not report
12935           leaks if GST_PLUGIN_PATH is set to some specific values
12936         * check/gst/gstbin.c: (GST_START_TEST):
12937           add more refcounting checks; maybe this exposes a
12938           preroll lock bug ?
12939         * common/check.mak:
12940         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12941         * gst/check/gstcheck.h:
12942         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12943         (gst_bin_change_state):
12944         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12945           add/fix debugging/whitespace
12946
12947 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12948
12949         * check/gst/gstevent.c: (event_probe), (test_event),
12950         (GST_START_TEST):
12951          Er, don't call gst_bin_watch_for_state_change you idiot.
12952
12953 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12954
12955         * check/Makefile.am:
12956           Use CHECK_CFLAGS and CHECK_LIBS
12957         * check/gst/gstevent.c: (event_probe), (test_event),
12958         (GST_START_TEST):
12959           Don't leak events.
12960         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12961         (gst_base_src_start), (gst_base_src_stop),
12962         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12963         (gst_base_src_change_state):
12964           Sprinkle gst_base_src_stop liberally around error paths to fix
12965           problems reusing a source after failed state changes.
12966         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12967         (helper_find_suggest), (gst_type_find_helper):
12968           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12969         * gst/gstevent.h:
12970         * docs/gst/tmpl/gstevent.sgml:
12971           Migrate part of the docs from the SGML file. Wait for ensonic to
12972           tell me how I did it wrong ;)
12973         * tools/gst-typefind.c: (main):
12974           Extra robustness to state changes between files.
12975
12976 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12977
12978         * check/Makefile.am:
12979           don't valgrind the controller test - it's leaking - Stefan, HELP
12980         * gst/check/gstcheck.c: (gst_check_message_error),
12981         (gst_check_chain_func), (gst_check_setup_element),
12982         (gst_check_teardown_element), (gst_check_setup_src_pad),
12983         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12984         (gst_check_teardown_sink_pad):
12985         * gst/check/gstcheck.h:
12986           add a bunch of methods to set up elements, and src and sink pads
12987         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12988         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12989         (GST_START_TEST):
12990           use them
12991         * gst/gstmessage.c:
12992         * gst/gsttag.h:
12993           whitespace/doc fixes
12994
12995 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12996
12997         * gst/gstelement.h:
12998           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12999           be handled by the application and not always printed as well
13000
13001 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13002
13003         * check/Makefile.am:
13004           set GST_TOOLS_DIR
13005         * gst/check/gstcheck.c: (gst_check_message_error):
13006         * gst/check/gstcheck.h:
13007           add a fail_unless_equals_int
13008           add fail_unless for error messages
13009
13010 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13011
13012         * check/Makefile.am:
13013         * check/gst.supp:
13014         * common/Makefile.am:
13015         * common/check.mak:
13016         * common/gst.supp:
13017           factor out some of the common stuff so we can use it
13018
13019 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13020
13021         * check/Makefile.am:
13022         * check/gst/gstiterator.c: (GST_START_TEST):
13023         * check/gst/gstsystemclock.c: (GST_START_TEST),
13024         (gst_systemclock_suite):
13025         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13026         * gst/gstclock.c:
13027           valgrind more tests
13028
13029 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13030
13031         * check/elements/.cvsignore:
13032         * check/elements/gstfakesrc.c:
13033           rename to name of element
13034         * check/elements/identity.c: (chain_func), (event_func),
13035         (setup_identity), (cleanup_identity), (GST_START_TEST),
13036         (identity_suite), (main):
13037           add a test for identity
13038         * check/Makefile.am:
13039         * pkgconfig/Makefile.am:
13040         * pkgconfig/gstreamer-check.pc.in:
13041         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13042         * gst/check:
13043         * gst/Makefile.am:
13044         * configure.ac:
13045           move the check stuff to a library that gets installed
13046         * check/gst-libs/controller.c: (GST_START_TEST):
13047         * check/gst-libs/gdp.c:
13048         * check/gst/gst.c: (GST_START_TEST):
13049         * check/gst/gstbin.c:
13050         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13051         * check/gst/gstbus.c:
13052         * check/gst/gstcaps.c: (GST_START_TEST):
13053         * check/gst/gstelement.c:
13054         * check/gst/gstghostpad.c:
13055         * check/gst/gstiterator.c:
13056         * check/gst/gstmessage.c:
13057         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13058         * check/gst/gstobject.c:
13059         * check/gst/gstpad.c: (GST_START_TEST):
13060         * check/gst/gststructure.c: (GST_START_TEST):
13061         * check/gst/gstsystemclock.c: (GST_START_TEST),
13062         (gst_systemclock_suite):
13063         * check/gst/gsttag.c: (gst_tag_suite):
13064         * check/gst/gstvalue.c:
13065         * check/pipelines/cleanup.c:
13066         * check/pipelines/simple_launch_lines.c:
13067         * check/states/sinks.c:
13068           change include statement
13069
13070         * docs/gst/gstreamer-sections.txt:
13071         * docs/gst/tmpl/gstpad.sgml:
13072           document more pad stuff
13073         * gst/gstminiobject.c: (gst_mini_object_ref),
13074         (gst_mini_object_unref):
13075           debug refcounting
13076
13077 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13078
13079         * docs/gst/tmpl/gst.sgml:
13080         * gst/gst.c:
13081           eliminate another tmpl file, fix spelling in the long-description
13082
13083 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13084
13085         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13086         (test_event), (timediff), (gstevents_suite):
13087           Should fix build on 64-bit arch's
13088
13089 2005-08-18  Andy Wingo  <wingo@pobox.com>
13090
13091         Make sure that when a pipeline goes to PLAYING, that data has
13092         actually hit the sink.
13093
13094         * check/states/sinks.c (test_sink): A sink that doesn't get any
13095         data shouldn't return SUCCESS for going to either PLAYING or
13096         PAUSED. Test also the return values on the way back down.
13097
13098         * gst/gstelement.c (gst_element_set_state): When changing the
13099         state of an element currently changing state asynchronously, go to
13100         lost-state after commiting the pending state. Makes future calls
13101         to get_state continue to return ASYNC.
13102
13103         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13104         ASYNC when going to PLAYING if we still don't have preroll, as can
13105         happen with live sources.
13106
13107 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13108
13109         * docs/pwg/advanced-types.xml:
13110           Hack long paragraph into 2 chunks as a workaround for buggy
13111           jadetex version in sid and breezy that loops infinitely and
13112           eats all RAM.
13113
13114 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13115
13116         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13117         (test_event), (timediff), (gstevents_suite):
13118           Provide more error margin in clock measurements to allow for 
13119           g_get_current_time inaccuracies.
13120
13121 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13122
13123         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13124         (test_event), (timediff), (gstevents_suite):
13125            Fix error message output so I might be able to tell why the
13126            test works here but fails on the build farm.
13127
13128 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13129
13130         * check/Makefile.am:
13131         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13132         (test_event), (timediff), (gstevents_suite), (main):
13133           I wrote a test!
13134
13135         * docs/design/part-seeking.txt:
13136           Spelling correction
13137
13138         * docs/gst/tmpl/gstevent.sgml:
13139         * docs/gst/tmpl/gstfakesrc.sgml:
13140           Docs updates.
13141
13142         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13143           Treat a buffer-without-newsegment the same as a receiving 
13144           a newsegment not in time format, and disable syncing to the clock
13145           with a warning.
13146
13147         * gst/gstbus.c: (gst_bus_set_sync_handler):
13148           Assert if anyone tries to replace the existing sync_handler for bus, 
13149           as only the owner should be setting it.
13150
13151         * gst/gstevent.h:
13152           Have a fixed set of custom event enums with events identified by
13153           their structure name (as in 0.8), rather than a free-for-all
13154           allowing collisions between enum values from different plugins.
13155
13156         * gst/gstpad.c: (gst_pad_class_init):
13157           Docs change.
13158           
13159         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13160           Handle out-of-band downstream events from the sending thread.
13161
13162 2005-08-17  Andy Wingo  <wingo@pobox.com>
13163
13164         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13165         play-timeout==0 to mean no timeout at all. In that case, don't
13166         bother with a get_state or a warning, just return directly, even
13167         if it's ASYNC.
13168
13169         * gst/base/gstbasetransform.c: Debug changes.
13170
13171         * gst/gstutils.h:
13172         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13173         ensure bins post state change messages. A bit of a hack but I can't
13174         think of a way to avoid it.
13175
13176         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13177
13178 2005-08-16  Andy Wingo  <wingo@pobox.com>
13179
13180         * gst/base/gstadapter.h:
13181         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13182         peek() but you own the data. Not terribly efficient atm.
13183
13184 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13185
13186         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13187         (gst_element_found_tags):
13188         * gst/gstutils.h:
13189           Add two utility functions for tag handling.
13190
13191 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13192
13193         * docs/manual/advanced-dataaccess.xml:
13194         * docs/manual/basics-helloworld.xml:
13195           Fix docs to use _bin_add() before _link(), which fixes the examples
13196           with recent core versions (reported by Madhan Raj M
13197           <raj_madan@rediffmail.com>, #313199).
13198
13199 2005-08-16  Wim Taymans  <wim@fluendo.com>
13200
13201         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13202         Added subtract checks.
13203
13204         * docs/design/part-events.txt:
13205         Some more docs about newsegment
13206
13207         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13208         Fix FIXME
13209
13210         * gst/gstcaps.c: (gst_caps_to_string):
13211         Add comments, cleanups.
13212         
13213         * gst/gstelement.c: (gst_element_save_thyself):
13214         cleanups
13215         
13216         * gst/gstvalue.c: (gst_value_collect_int_range),
13217         (gst_string_unwrap), (gst_value_union_int_int_range),
13218         (gst_value_union_int_range_int_range),
13219         (gst_value_intersect_int_int_range),
13220         (gst_value_intersect_int_range_int_range),
13221         (gst_value_intersect_double_double_range),
13222         (gst_value_intersect_double_range_double_range),
13223         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13224         (gst_value_subtract_int_range_int),
13225         (gst_value_subtract_double_range_double),
13226         (gst_value_subtract_double_range_double_range),
13227         (gst_value_subtract_from_list), (gst_value_subtract_list),
13228         (gst_value_can_compare), (gst_value_compare_fraction):
13229         Cleanups, add comments, remove unneeded asserts.
13230
13231 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13232
13233         * tools/gst-launch.c: (event_loop):
13234           don't convert NULL structures to strings
13235
13236 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13237
13238         * docs/gst/gstreamer-sections.txt:
13239           made some defines private
13240         * docs/gst/tmpl/gstconfig.sgml:
13241         * docs/gst/tmpl/gstqueue.sgml:
13242         * docs/gst/tmpl/gsttaglist.sgml:
13243         * docs/gst/tmpl/gsttypes.sgml:
13244         * docs/gst/tmpl/gstutils.sgml:
13245         * docs/pwg/appendix-porting.xml:
13246         * gst/base/gstbasesink.h:
13247         * gst/base/gstbasesrc.c:
13248         * gst/base/gstbasesrc.h:
13249         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13250         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13251         * gst/gstelement.c: (gst_element_class_init):
13252         * gst/gstpad.c: (gst_pad_class_init):
13253         * gst/gstqueue.c: (gst_queue_class_init):
13254         * gst/gstxml.c: (gst_xml_class_init):
13255           documented all undocumented signal inline
13256         * libs/gst/controller/gst-controller.h:
13257           added padding
13258
13259 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13260
13261         * docs/pwg/appendix-porting.xml:
13262           Document _set_link_function -> _set_setcaps_function.
13263
13264 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13265
13266         * check/Makefile.am:
13267           add a .check target for running the check
13268         * check/gst-libs/controller.c: (GST_START_TEST):
13269           cosmetic fixups
13270         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13271           complete checks for gstbuffer; would be nice if I could get the
13272           gcov stuff to work so I can see if I actually completed gstbuffer.c
13273         * check/gstcheck.h:
13274           add ASSERT_BUFFER_REFCOUNT
13275
13276 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13277
13278         * docs/gst/gstreamer-sections.txt:
13279         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13280         * gst/gsttag.h:
13281           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13282           spew out a warning if a tag that is already registered
13283           is re-registered, unless it is re-registered with a 
13284           different type (#308438).
13285
13286 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13287
13288         * docs/pwg/appendix-porting.xml:
13289         * docs/pwg/building-state.xml:
13290           Add some paragraphs about state changes in 0.9 to the PWG
13291           and the porting guide, in particular about the new meaning
13292           of GST_STATE_PAUSED and how to write state change functions
13293           with concurrent access by multiple threads in mind.
13294
13295 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13296
13297         * docs/gst/gstreamer-docs.sgml:
13298         * docs/libs/gstreamer-libs-docs.sgml:
13299           added deprecation and since indexes
13300         * libs/gst/controller/gst-controller.c:
13301         * libs/gst/controller/gst-helper.c:
13302           added since tags
13303
13304
13305 2005-08-11  Wim Taymans  <wim@fluendo.com>
13306
13307         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13308         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13309         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13310         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13311         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13312         (gst_ghost_pad_set_target):
13313         Actually implement (re)setting the target on a ghostpad
13314         as described in the docs.
13315
13316 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13317
13318         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13319           Check whether GST_DEBUG_NO_COLOR environment variable is
13320           set and disable coloured debug output if that is the case.
13321
13322 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13323
13324         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13325         (gst_type_find_helper):
13326           The memory returned by gst_type_find_peek() needs to
13327           stay valid until the end of a typefind function, and
13328           typefind functions may keep results from different 
13329           offsets around, so we can't just unref the buffer from
13330           the previous _peek(), but have to save all buffers 
13331           returned by _peek() until typefinding is done and only
13332           free them then.
13333
13334 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13335
13336         * docs/gst/gstreamer-sections.txt:
13337         * gst/gstutils.h:
13338           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13339
13340 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13341
13342         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13343           Fix a pretty good memleak.
13344
13345 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13346
13347         * gst/gstiterator.h:
13348           Fix wrong include and 'make distcheck'.
13349
13350 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13351
13352         * gst/gstbin.c: (bin_bus_handler):
13353           Use gst_element_post_message() instead.
13354
13355 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13356
13357         * gst/base/gstadapter.h:
13358         * gst/base/gstbasesink.h:
13359         * gst/base/gstbasesrc.h:
13360         * gst/base/gstbasetransform.h:
13361         * gst/base/gstcollectpads.h:
13362         * gst/base/gstpushsrc.h:
13363         * gst/gstiterator.h:
13364           Add padding to our base elements' class and instance structs and
13365           to GstIterator (you will need to rebuild all plugins and apps!)
13366
13367 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13368
13369         * gst/gstbin.c: (bin_bus_handler):
13370           Make default message forwarding from child->bus to bin->bus
13371           threadsafe and make it not emit warnings if the parent has no bus.
13372
13373 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13374
13375         * gst/gstelement.c: (activate_pads):
13376           On paused->ready, set pad->caps to NULL, as is the documented
13377           behaviour in this state change. Fixes playback of series of
13378           media files when visualization is enabled in Totem.
13379
13380 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13381
13382         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13383           Allow NULL as filter-caps (which means "any").
13384
13385 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13386
13387         * docs/libs/gstreamer-libs-sections.txt:
13388         * libs/gst/controller/gst-controller.c:
13389         * libs/gst/controller/gst-controller.h:
13390         * libs/gst/controller/gst-helper.c:
13391           adding more entries to the docs and fix small doc-bugs
13392
13393 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13394
13395         * docs/gst/gstreamer-docs.sgml:
13396         * docs/gst/gstreamer-sections.txt:
13397         * docs/gst/gstreamer.types:
13398         * docs/gst/tmpl/gstbasesink.sgml:
13399         * docs/gst/tmpl/gstbasesrc.sgml:
13400         * docs/gst/tmpl/gstbasetransform.sgml:
13401         * docs/gst/tmpl/gstfakesrc.sgml:
13402         * gst/base/gstcollectpads.c:
13403         * gst/base/gstcollectpads.h:
13404         * libs/gst/controller/gst-controller.c:
13405         * libs/gst/controller/gst-controller.h:
13406         * libs/gst/controller/gst-helper.c:
13407         * libs/gst/controller/gst-interpolation.c:
13408         * libs/gst/controller/lib.c:
13409           added long/short desc for controller docs
13410           added collectpads base class docs
13411           added correct includes to base-class docs
13412
13413 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13414
13415         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13416         (gst_test_mono_source_set_property),
13417         (gst_test_mono_source_class_init), (GST_START_TEST),
13418         (gst_controller_suite):
13419         * docs/gst/gstreamer-docs.sgml:
13420         * docs/gst/gstreamer-sections.txt:
13421         * docs/gst/gstreamer.types:
13422         * docs/libs/gstreamer-libs-docs.sgml:
13423         * docs/libs/gstreamer-libs-sections.txt:
13424         * gst/base/gstadapter.c:
13425         * libs/gst/controller/gst-controller.c:
13426         (gst_controlled_property_new), (gst_controlled_property_free),
13427         (gst_controller_new_valist),
13428         (gst_controller_remove_properties_valist),
13429         (gst_controller_sink_values), (_gst_controller_finalize):
13430         * libs/gst/controller/gst-controller.h:
13431         * libs/gst/controller/gst-helper.c:
13432         (gst_object_control_properties), (gst_object_uncontrol_properties),
13433         (gst_object_get_controller), (gst_object_set_controller),
13434         (gst_object_sink_values), (gst_object_get_value_arrays),
13435         (gst_object_get_value_array):
13436           more tests (and fixes) for the controller
13437           more docs for the controller
13438           integrated companies docs for the adapter 
13439
13440 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13441
13442         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13443         (GST_START_TEST), (fakesrc_suite):
13444           add tests for sizetype
13445
13446 2005-08-04  Andy Wingo  <wingo@pobox.com>
13447
13448         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13449         fixes buffer_alloc proxying among other things.
13450
13451         * gst/base/gstbasetransform.c:
13452         * gst/base/gstbasetransform.h:
13453         Revert patch to gstbasetransform from 7-28 removing
13454         delay_configure.
13455
13456         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13457         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13458         Semantics changed, should return not the size of the output buffer
13459         but the byte size of a buffer with a given caps.
13460
13461         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13462         debug object.
13463         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13464         out) are not the pad caps until setcaps finishes.
13465         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13466         not-in-place case as well. Deal with changing from in-place to
13467         not-in-place within calling pad_alloc_buffer. Still a bit
13468         concerned about the overhead here...
13469
13470 2005-08-03  Andy Wingo  <wingo@pobox.com>
13471
13472         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13473         fixating is an error.
13474
13475 2005-08-04  Edward Hervey  <edward@fluendo.com>
13476
13477         * gst/base/gstadapter.h: 
13478         Added gst_adapter_get_type() to the header
13479
13480 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13481
13482         * check/Makefile.am:
13483         * check/gst-libs/controller.c:
13484         * libs/gst/controller/gst-controller.c:
13485         (gst_controller_new_valist):
13486           added check test suite for the controller
13487         * gst/base/gstpushsrc.c:
13488           fixed a doc typo
13489
13490 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13491
13492         * docs/gst/Makefile.am:
13493         * docs/gst/gstreamer-docs.sgml:
13494         * docs/gst/gstreamer-sections.txt:
13495         * docs/gst/gstreamer.types:
13496         * docs/gst/tmpl/gstfakesrc.sgml:
13497         * gst/base/README:
13498         * gst/base/gstbasesink.c:
13499         * gst/base/gstbasesink.h:
13500         * gst/base/gstbasesrc.c:
13501         * gst/base/gstbasesrc.h:
13502         * gst/base/gstbasetransform.c:
13503         * gst/base/gstpushsrc.c:
13504         * gst/base/gstpushsrc.h:
13505           add short/long description docs to base classes
13506           add pushsrc to the docs
13507           remove consolidated doc fragments
13508
13509 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13510
13511         * configure.ac:
13512         * docs/libs/Makefile.am:
13513         * docs/libs/gstreamer-libs-docs.sgml:
13514         * docs/libs/gstreamer-libs-sections.txt:
13515         * docs/libs/gstreamer-libs.types:
13516         * examples/Makefile.am:
13517         * examples/controller/.cvsignore:
13518         * examples/controller/Makefile.am:
13519         * examples/controller/audio-example.c: (main):
13520         * libs/gst/Makefile.am:
13521         * libs/gst/controller/.cvsignore:
13522         * libs/gst/controller/Makefile.am:
13523         * libs/gst/controller/gst-controller.c:
13524         (on_object_controlled_property_changed), (gst_timed_value_compare),
13525         (gst_timed_value_find),
13526         (gst_controlled_property_set_interpolation_mode),
13527         (gst_controlled_property_new), (gst_controlled_property_free),
13528         (gst_controller_find_controlled_property),
13529         (gst_controller_new_valist), (gst_controller_new),
13530         (gst_controller_remove_properties_valist),
13531         (gst_controller_remove_properties), (gst_controller_set),
13532         (gst_controller_set_from_list), (gst_controller_unset),
13533         (gst_controller_get), (gst_controller_get_all),
13534         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13535         (gst_controller_get_value_array),
13536         (gst_controller_set_interpolation_mode),
13537         (_gst_controller_finalize), (_gst_controller_init),
13538         (_gst_controller_class_init), (gst_controller_get_type):
13539         * libs/gst/controller/gst-controller.h:
13540         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13541         (g_object_uncontrol_properties), (g_object_get_controller),
13542         (g_object_set_controller), (g_object_sink_values),
13543         (g_object_get_value_arrays), (g_object_get_value_array):
13544         * libs/gst/controller/gst-interpolation.c:
13545         (gst_controlled_property_find_timed_value_node),
13546         (interpolate_none_get), (interpolate_trigger_get),
13547         (interpolate_trigger_get_value_array):
13548         * libs/gst/controller/lib.c: (gst_controller_init):
13549         * pkgconfig/Makefile.am:
13550         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13551         * pkgconfig/gstreamer-control.pc.in:
13552         * testsuite/Makefile.am:
13553         * testsuite/controller/.cvsignore:
13554         * testsuite/controller/Makefile.am:
13555         * testsuite/controller/interpolator.c: (main):
13556           added controller code
13557           removed dparam pc files
13558
13559 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13560         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13561         (gst_collectpads_stop):
13562           Broadcast the condition when shutting down, to make sure we wake all
13563           threads up. Shut down pads on finalize, for safety.
13564
13565 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13566         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13567         (gst_base_transform_handle_buffer),
13568         (gst_base_transform_change_state):
13569           Handle PAUSED->READY->PAUSED transition after negotiation
13570           occurred already.
13571         * gst/gstmessage.c: (gst_message_init):
13572           Extra piece of debug for new messages.
13573
13574 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13575
13576         * configure.ac:
13577         * docs/gst/tmpl/gstbasesrc.sgml:
13578         * docs/gst/tmpl/gstelement.sgml:
13579         * docs/gst/tmpl/gstevent.sgml:
13580         * docs/gst/tmpl/gstfakesrc.sgml:
13581         * docs/gst/tmpl/gstformat.sgml:
13582         * docs/gst/tmpl/gstghostpad.sgml:
13583         * docs/gst/tmpl/gstpad.sgml:
13584         * docs/gst/tmpl/gstquery.sgml:
13585         * docs/gst/tmpl/gststructure.sgml:
13586         * docs/gst/tmpl/gsttaglist.sgml:
13587         * docs/gst/tmpl/gstvalue.sgml:
13588         * docs/libs/gstreamer-libs-docs.sgml:
13589         * docs/libs/gstreamer-libs-sections.txt:
13590         * docs/libs/gstreamer-libs.types:
13591         * libs/gst/Makefile.am:
13592         * libs/gst/control/.cvsignore:
13593         * libs/gst/control/Makefile.am:
13594         * libs/gst/control/control.c:
13595         * libs/gst/control/control.h:
13596         * libs/gst/control/dparam.c:
13597         * libs/gst/control/dparam.h:
13598         * libs/gst/control/dparam_smooth.c:
13599         * libs/gst/control/dparam_smooth.h:
13600         * libs/gst/control/dparamcommon.h:
13601         * libs/gst/control/dparammanager.c:
13602         * libs/gst/control/dparammanager.h:
13603         * libs/gst/control/dplinearinterp.c:
13604         * libs/gst/control/dplinearinterp.h:
13605         * libs/gst/control/unitconvert.c:
13606         * libs/gst/control/unitconvert.h:
13607         * testsuite/Makefile.am:
13608         * testsuite/dynparams/.cvsignore:
13609         * testsuite/dynparams/Makefile.am:
13610         * testsuite/dynparams/dparamstest.c:
13611         * tools/Makefile.am:
13612         * tools/gst-inspect.c: (print_element_info), (main):
13613         * tools/gst-xmlinspect.c: (print_element_info), (main):
13614           deactivate and remove dparams (libgstcontrol)
13615
13616 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13617
13618         * gst/elements/gsttypefindelement.c:
13619         (gst_type_find_element_have_type), (gst_type_find_element_init),
13620         (stop_typefinding), (gst_type_find_element_handle_event),
13621         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13622         * gst/elements/gsttypefindelement.h:
13623           Set caps on all outgoing buffers, not just the first one.
13624
13625 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13626
13627         * gst/elements/gsttypefindelement.c:
13628         (gst_type_find_element_have_type),
13629         (gst_type_find_element_check_set_buffer_caps),
13630         (gst_type_find_element_init), (stop_typefinding),
13631         (gst_type_find_element_handle_event),
13632         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13633         * gst/elements/gsttypefindelement.h:
13634           Set caps on first outgoing buffer when we've found the type.
13635
13636 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13637
13638         * docs/gst/gstreamer-docs.sgml:
13639         * docs/gst/gstreamer-sections.txt:
13640         * docs/gst/tmpl/gstscheduler.sgml:
13641         * docs/gst/tmpl/gstschedulerfactory.sgml:
13642           Remove some old cruft from docs.
13643
13644 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13645
13646         * gst/gstpad.h:
13647           Fix inline docs for GstPadLinkReturn.
13648           
13649         * gst/gststructure.c: (gst_structure_has_name):
13650         * gst/gststructure.h:
13651         * docs/gst/gstreamer-sections.txt:
13652           New API: gst_structure_has_name().
13653
13654 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13655
13656         * configure.ac:
13657           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13658           and _LARGEFILE_SOURCE in config.h as required. Do not 
13659           export those flags in our .pc files any longer (#142209).
13660
13661           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13662
13663         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13664         (gst_file_sink_do_seek), (gst_file_sink_event),
13665         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13666           Redo seek/tell calls with large file support in mind; add some
13667           debugging messages; add log message that tells us when large
13668           file support is unavailable or not enabled for some reason.
13669
13670         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13671           Add log message that tells us when large file support 
13672           is unavailable or not enabled for some reason.
13673
13674 2005-07-29  Wim Taymans  <wim@fluendo.com>
13675
13676         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13677         Added test for removing an element with ghostpad from a bin.
13678         Fixed test as current implementation does the right thing.
13679
13680         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13681         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13682         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13683         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13684         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13685         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13686         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13687         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13688         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13689         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13690         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13691         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13692         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13693         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13694         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13695         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13696         * gst/gstghostpad.h:
13697         Clean up ghostpads, remove properties for internal stuff.
13698         Make threadsafe.
13699         Fix refcounting.
13700         Prepare for switching targets, not all use cases work yet.
13701
13702 2005-07-29  Wim Taymans  <wim@fluendo.com>
13703
13704         * docs/design/part-gstghostpad.txt:
13705         Small update.
13706
13707         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13708         (gst_bin_remove_func):
13709         Unlinking pads while holding the bin LOCK is not a good
13710         idea.
13711
13712         * gst/gstpad.c: (gst_pad_class_init),
13713         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13714         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13715         No prob setting template after creating the pad.
13716
13717 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13718
13719         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13720         (gst_bus_peek), (gst_bus_source_dispatch),
13721         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13722         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13723           gst_bus_poll may be called from other threads. Handle
13724           this nicely by not making poll_data disappear off the
13725           stack once gst_bus_poll returns.
13726           gst_bus_peek now increments the refcount on the returned
13727           message.
13728
13729 2005-07-29  Wim Taymans  <wim@fluendo.com>
13730
13731         * docs/design/part-gstghostpad.txt:
13732         Overview of current GhostPad datastructures and use
13733         cases for changing the target.
13734
13735 2005-07-28  Wim Taymans  <wim@fluendo.com>
13736
13737         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13738         Added checks for hierarchy consistency whan adding linked
13739         elements to bins.
13740
13741         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13742         Added check to test element scheduling without bin/pipeline.
13743
13744         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13745         First add elements to bin, then link.
13746         
13747         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13748         (gst_bin_remove_func):
13749         Unlink pads from elements added/removed from bin to maintain
13750         hierarchy consistency.
13751
13752 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13753
13754         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13755         (gst_base_transform_handle_buffer):
13756         * gst/base/gstbasetransform.h:
13757           Remove broken delay_configure (fixes renegotiation of software
13758           scaling pipelines); remove some leftover printf()s.
13759
13760 2005-07-28  Wim Taymans  <wim@fluendo.com>
13761
13762         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13763         Added some more tests for wrong hierarchy
13764
13765         * docs/design/part-overview.txt:
13766         Some updates.
13767
13768         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13769         Cleanups.
13770
13771         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13772         (gst_element_dispose):
13773         Some more cleanups.
13774
13775         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13776         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13777         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13778         (gst_pad_set_caps), (gst_pad_send_event):
13779         Check for correct hierarchy when linking pads. Moving to
13780         strict requirement for ghostpads when linking elements in
13781         different bins.
13782
13783         * gst/gstpad.h:
13784         Clean ups. Added WRONG_HIERARCHY return value.
13785
13786 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13787
13788         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13789           Better debug if no transform is possible.
13790
13791 2005-07-27  Wim Taymans  <wim@fluendo.com>
13792
13793         * docs/random/wtay/network-transp:
13794         Some old doc I had.
13795
13796 2005-07-27  Wim Taymans  <wim@fluendo.com>
13797
13798         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13799         (gst_dp_event_from_packet):
13800         Fix serialization of seek events.
13801
13802 2005-07-27  Wim Taymans  <wim@fluendo.com>
13803
13804         * check/gst-libs/gdp.c: (GST_START_TEST):
13805         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13806         Fix compilation and fix event serialization.
13807
13808 2005-07-27  Wim Taymans  <wim@fluendo.com>
13809
13810         * CHANGES-0.9:
13811         * docs/design/part-TODO.txt:
13812         * docs/design/part-events.txt:
13813         Some docs updates
13814
13815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13816         (gst_base_sink_event), (gst_base_sink_do_sync),
13817         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13818         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13819         (gst_base_src_do_seek), (gst_base_src_event_handler),
13820         (gst_base_src_loop):
13821         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13822         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13823         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13824         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13825         (gst_base_transform_set_passthrough),
13826         (gst_base_transform_is_passthrough):
13827         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13828         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13829         Event updates.
13830
13831         * gst/gstbuffer.h:
13832         Use faster casts.
13833
13834         * gst/gstelement.c: (gst_element_seek):
13835         * gst/gstelement.h:
13836         Update gst_element_seek.
13837
13838         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13839         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13840         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13841         (gst_event_new_eos), (gst_event_new_newsegment),
13842         (gst_event_parse_newsegment), (gst_event_new_tag),
13843         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13844         (gst_event_parse_qos), (gst_event_new_seek),
13845         (gst_event_parse_seek), (gst_event_new_navigation):
13846         * gst/gstevent.h:
13847         Make GstEvent use GstStructure. Add parsing code, make sure the
13848         API is sufficiently generic.
13849         Mark possible directions of events and serialization.
13850
13851         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13852         (_gst_message_copy), (gst_message_new_segment_start),
13853         (gst_message_new_segment_done), (gst_message_new_custom),
13854         (gst_message_parse_segment_start),
13855         (gst_message_parse_segment_done):
13856         Small cleanups.
13857
13858         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13859         (gst_pad_set_caps), (gst_pad_send_event):
13860         Update for new events. 
13861         Catch events sent in wrong directions.
13862
13863         * gst/gstqueue.c: (gst_queue_link_src),
13864         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13865         (gst_queue_handle_src_query):
13866         Event updates.
13867
13868         * gst/gsttag.c:
13869         * gst/gsttag.h:
13870         Remove event code from this file.
13871
13872         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13873         (gst_dp_event_from_packet):
13874         Event updates.
13875
13876 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13877
13878         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13879         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13880         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13881           Make debugging actually useful.
13882
13883 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13884
13885         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13886         (gst_pad_fixate_caps):
13887           Implement default fixation once again, so that gst_pad_fixate()
13888           actually does anything at all. This probably needs to be some
13889           sort of a last resort, and use profile-based fixation first, but
13890           since that doesn't exist yet, this is the best we have. Fixes
13891           visualization in Totem.
13892
13893 2005-07-22  Wim Taymans  <wim@fluendo.com>
13894
13895         * docs/design/part-events.txt:
13896         Small update.
13897
13898         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13899         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13900         (gst_base_sink_activate_pull):
13901         Some more comments.
13902
13903         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13904         (gst_fake_src_create):
13905         Fix handoff marshall.
13906
13907         * gst/elements/gstidentity.c: (gst_identity_class_init),
13908         (gst_identity_transform_ip):
13909         We're a real inplace element.
13910
13911         * gst/gstbus.c: (gst_bus_post):
13912         Added some comments.
13913
13914         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13915         * tests/muxing/case1.c: (main):
13916         * tests/sched/dynamic-pipeline.c: (main):
13917         * tests/sched/interrupt1.c: (main):
13918         * tests/sched/interrupt2.c: (main):
13919         * tests/sched/interrupt3.c: (main):
13920         * tests/sched/runxml.c: (main):
13921         * tests/sched/sched-stress.c: (main):
13922         * tests/seeking/seeking1.c: (event_received), (main):
13923         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13924         (main):
13925         * tests/threadstate/threadstate3.c: (main):
13926         * tests/threadstate/threadstate4.c: (main):
13927         * tests/threadstate/threadstate5.c: (main):
13928         Fix the tests.
13929
13930 2005-07-21  Wim Taymans  <wim@fluendo.com>
13931
13932         * docs/design/part-seeking.txt:
13933         Some small additions.
13934
13935         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13936         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13937         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13938         * gst/base/gstbasesink.h:
13939         discont values are gint64, handle the math correctly.
13940
13941         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13942         Make the basesrc report error if the source pad is not linked.
13943
13944         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13945         (gst_queue_loop), (gst_queue_handle_src_query),
13946         (gst_queue_src_activate_push):
13947         Make queue collect data even if the srcpad is not linked.
13948         Start pushing out data as soon as it is linked.
13949
13950         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13951         * gst/gstutils.h:
13952         Added gst_flow_get_name() to ease error reporting.
13953
13954 2005-07-20  Wim Taymans  <wim@fluendo.com>
13955
13956         * gst/gstmessage.c: (gst_message_new_segment_start),
13957         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13958         (gst_message_parse_segment_done):
13959         * gst/gstmessage.h:
13960         Added a bunch of messages for advanced seeking.
13961
13962         * gst/parse/grammar.y:
13963         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13964         (gst_dpman_state_changed):
13965         Fix some new-pad -> pad-added signals
13966
13967 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13968
13969         * docs/manual/appendix-porting.xml:
13970         * docs/pwg/appendix-porting.xml:
13971           Document new-pad/state-change signal renames and the FixedList
13972           type rename.
13973
13974 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13975
13976         * docs/manual/advanced-autoplugging.xml:
13977         * docs/manual/basics-helloworld.xml:
13978         * docs/manual/basics-pads.xml:
13979         * docs/random/ds/0.9-suggested-changes:
13980         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13981         * gst/gstelement.h:
13982         * gst/gstevent.h:
13983         * gst/gstformat.h:
13984         * gst/gstquery.h:
13985         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13986         (gst_structure_parse_array), (gst_structure_parse_value):
13987         * gst/gstvalue.c: (gst_type_is_fixed),
13988         (gst_value_list_prepend_value), (gst_value_list_append_value),
13989         (gst_value_list_get_size), (gst_value_list_get_value),
13990         (gst_value_transform_array_string), (gst_value_serialize_array),
13991         (gst_value_deserialize_array), (gst_value_intersect_array),
13992         (gst_value_is_fixed), (_gst_value_initialize):
13993         * gst/gstvalue.h:
13994           GstElement::new-pad -> pad-added, GstElement::state-change ->
13995           state-changed, GstValueFixedList -> GstValueArray, add format and
13996           flags as their own arguments in gst_element_seek() (should improve
13997           "bindeability"), remove function generators since they don't work
13998           under a whole bunch of compilers (they were deprecated already
13999           anyway).
14000
14001 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14002
14003         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14004         (_gst_debug_register_funcptr):
14005         * gst/gstinfo.h:
14006           Fix illegal cast on some platforms (#309253).
14007
14008 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14009
14010         * gst/gstmessage.c: (gst_message_new_custom):
14011         * gst/gstmessage.h:
14012           Add _new_custom, make _new_application a macro to _new_custom.
14013
14014 2005-07-20  Wim Taymans  <wim@fluendo.com>
14015
14016         * gst/base/gstbasesrc.c: (gst_base_src_init),
14017         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14018         * gst/base/gstbasesrc.h:
14019         Add a gboolean to decide when to push out a discont.
14020
14021         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14022         (gst_queue_loop), (gst_queue_handle_src_query),
14023         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14024         (gst_queue_set_property), (gst_queue_get_property):
14025         Some cleanups.
14026
14027         * tests/threadstate/threadstate1.c: (main):
14028         Make a thread test compile and run... very silly..
14029
14030
14031 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14032
14033         * docs/manual/appendix-porting.xml:
14034           Mention removal of libgstgconf-0.9.la and existence of gconf
14035           elements.
14036
14037 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14038
14039         * docs/pwg/advanced-clock.xml:
14040         * docs/pwg/appendix-porting.xml:
14041         * docs/pwg/intro-preface.xml:
14042         * docs/pwg/other-base.xml:
14043         * docs/pwg/other-manager.xml:
14044         * docs/pwg/other-nton.xml:
14045         * docs/pwg/other-ntoone.xml:
14046         * docs/pwg/other-oneton.xml:
14047         * docs/pwg/pwg.xml:
14048           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14049           demuxer), remove n-to-n (was never written), fix some code examples
14050           and links and update the porting section to include all this.
14051
14052 2005-07-19  Wim Taymans  <wim@fluendo.com>
14053
14054         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14055         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14056         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14057         (gst_queue_src_activate_push), (gst_queue_change_state),
14058         (gst_queue_get_property):
14059         * gst/gstqueue.h:
14060         Propagate GstFlowReturn more intelligently upstream and output
14061         an ERROR/EOS when streaming stopped due to fatal error.
14062
14063 2005-07-19  Wim Taymans  <wim@fluendo.com>
14064
14065         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14066         Don't block forever for the state change to complete, the
14067         pipeline already did with a sensible timeout.
14068
14069 2005-07-19  Wim Taymans  <wim@fluendo.com>
14070
14071         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14072         Make sure we never call the create function is we
14073         got deactivated.
14074
14075 2005-07-19  Andy Wingo  <wingo@pobox.com>
14076
14077         * gst/parse/parse.l: Attempt to solve bug #172815.
14078
14079 2005-07-19  Wim Taymans  <wim@fluendo.com>
14080
14081         * docs/design/part-clocks.txt:
14082         * docs/design/part-events.txt:
14083         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14084         Small docs updates.
14085         Only update the seeking values when we are not
14086         busy streaming.
14087
14088 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14089
14090         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14091           Oops, ignore the result of gst_pad_push_event here.
14092
14093 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14094
14095         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14096         (gst_base_src_activate_push):
14097           Send discont event from the loop function, as pads
14098           aren't activated yet in the activate_push handler.
14099
14100         * gst/gstbin.c: (bin_bus_handler):
14101           Don't leak element name.
14102
14103 2005-07-18  Andy Wingo  <wingo@pobox.com>
14104
14105         * configure.ac: Use AS_LIBTOOL_TAGS.
14106
14107 2005-07-18  Wim Taymans  <wim@fluendo.com>
14108
14109         * docs/gst/gstreamer.types:
14110         Remove deleted types.
14111
14112 2005-07-18  Wim Taymans  <wim@fluendo.com>
14113
14114         * check/elements/gstfakesrc.c: (GST_START_TEST):
14115         * configure.ac:
14116         * gst/Makefile.am:
14117         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14118         (init_popt_callback):
14119         * gst/gst.h:
14120         * gst/gst_private.h:
14121         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14122         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14123         * gst/gstbin.h:
14124         * gst/gstbus.h:
14125         * gst/gstconfig.h.in:
14126         * gst/gstelement.c: (gst_element_class_init),
14127         (gst_element_set_base_time), (gst_element_get_base_time),
14128         (iterator_fold_with_resync), (gst_element_change_state),
14129         (gst_element_dispose), (gst_element_get_bus):
14130         * gst/gstelement.h:
14131         * gst/gstelementfactory.h:
14132         * gst/gsterror.c: (_gst_core_errors_init):
14133         * gst/gsterror.h:
14134         * gst/gstevent.h:
14135         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14136         * gst/gstindex.c:
14137         * gst/gstinfo.c: (_gst_debug_init):
14138         * gst/gstmessage.c: (_gst_message_copy):
14139         * gst/gstmessage.h:
14140         * gst/gstminiobject.h:
14141         * gst/gstobject.c:
14142         * gst/gstobject.h:
14143         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14144         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14145         * gst/gstpad.h:
14146         * gst/gstparse.h:
14147         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14148         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14149         (gst_pipeline_get_last_stream_time):
14150         * gst/gstpipeline.h:
14151         * gst/gstpluginfeature.h:
14152         * gst/gstquery.h:
14153         * gst/gstscheduler.c:
14154         * gst/gstscheduler.h:
14155         * gst/gststructure.h:
14156         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14157         (gst_task_finalize), (gst_task_func), (gst_task_create),
14158         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14159         (gst_task_stop), (gst_task_pause):
14160         * gst/gsttask.h:
14161         * gst/gsttypefind.h:
14162         * gst/gsttypes.h:
14163         * gst/registries/gstlibxmlregistry.c: (load_feature),
14164         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14165         * gst/registries/gstxmlregistry.c:
14166         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14167         * gst/schedulers/threadscheduler.c:
14168         * libs/gst/control/dparammanager.h:
14169         * tools/gst-inspect.c: (print_element_list),
14170         (print_plugin_features), (print_element_features):
14171         * tools/gst-xmlinspect.c: (print_element_list),
14172         (print_plugin_info), (main):
14173         Removed plugable schedulers.
14174         Removed Scheduler/Manager from elements.
14175         Removed gsttypes.h, rearranged includes.
14176         Removed dependency pad<->element, element<>pipeline, and
14177         various others,  fix includes.
14178         implement gst_pad_get_parent() with gst_object_get_parent()
14179         Make GstTask sefcontained.
14180         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14181         timeout.
14182         Fix endless loop in iterator_fold_with_resync.
14183
14184
14185 2005-07-18  Wim Taymans  <wim@fluendo.com>
14186
14187         * gst/Makefile.am:
14188         * gst/gstarch.h:
14189         Remove old file.
14190
14191 2005-07-18  Wim Taymans  <wim@fluendo.com>
14192
14193         * gst/Makefile.am:
14194         No more cothreads.h
14195
14196 2005-07-18  Wim Taymans  <wim@fluendo.com>
14197
14198         * gst/cothreads.c:
14199         * gst/cothreads.h:
14200         Let's remove these.
14201
14202 2005-07-18  Wim Taymans  <wim@fluendo.com>
14203
14204         * docs/design/part-dynamic.txt:
14205         * docs/design/part-events.txt:
14206         * docs/design/part-seeking.txt:
14207         Some more docs in the works.
14208
14209         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14210         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14211         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14212         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14213         (gst_base_transform_handle_buffer),
14214         (gst_base_transform_sink_activate_push),
14215         (gst_base_transform_src_activate_pull),
14216         (gst_base_transform_set_passthrough),
14217         (gst_base_transform_is_passthrough):
14218         Refcounting fixes.
14219
14220         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14221         Cleanups.
14222
14223         * gst/gstevent.c: (gst_event_finalize):
14224         Set SRC to NULL.
14225
14226         * gst/gstutils.c: (gst_element_unlink),
14227         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14228         (gst_pad_proxy_setcaps):
14229         * gst/gstutils.h:
14230         Add _get_parent_element() to get a pads parent as an element.
14231
14232 2005-07-18  Wim Taymans  <wim@fluendo.com>
14233
14234         * check/gst/gstbin.c: (GST_START_TEST):
14235         Remove bogus test.
14236
14237 2005-07-18  Wim Taymans  <wim@fluendo.com>
14238
14239         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14240         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14241         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14242         (gst_base_sink_event), (gst_base_sink_do_sync),
14243         (gst_base_sink_chain), (gst_base_sink_loop),
14244         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14245         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14246         Refcounting fixes.
14247         Fix logic for returning ASYNC when not prerolled.
14248
14249 2005-07-18  Wim Taymans  <wim@fluendo.com>
14250
14251         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14252         Fix nasty refcount bug.
14253
14254 2005-07-16 Philippe Khalaf <burger@speedy.org>
14255
14256         * gst/elements/gstfdsrc.c:
14257         * gst/elements/gstfdsrc.h:
14258         * gst/elements/gstelements.c:
14259         * gst/elements/Makefile.am:
14260         Ported fdsrc to 0.9.
14261
14262 2005-07-16  Wim Taymans  <wim@fluendo.com>
14263
14264         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14265         (gst_base_sink_do_sync):
14266         Fix compile error.
14267
14268 2005-07-16  Wim Taymans  <wim@fluendo.com>
14269
14270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14271         (gst_base_sink_event), (gst_base_sink_get_times),
14272         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14273         * gst/base/gstbasesink.h:
14274         Store and use discont values when syncing buffers as described
14275         in design docs.
14276         
14277         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14278         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14279         (gst_base_src_activate_push):
14280         Push discont event when starting.
14281
14282         * gst/elements/gstidentity.c: (gst_identity_transform):
14283         Small cleanups.
14284
14285         * gst/gstbin.c: (gst_bin_change_state):
14286         Small cleanups in base_time  distribution.
14287
14288         * gst/gstelement.c: (gst_element_set_base_time),
14289         (gst_element_get_base_time), (gst_element_change_state):
14290         * gst/gstelement.h:
14291         Added methods for the base_time of the element.
14292         Some MT fixes.
14293
14294         * gst/gstpipeline.c: (gst_pipeline_send_event),
14295         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14296         (gst_pipeline_get_last_stream_time):
14297         * gst/gstpipeline.h:
14298         MT fixes.
14299         Handle seeking as described in design doc, remove stream_time
14300         hack.
14301         Cleanups clock and stream_time selection code. Added accessors
14302         for the stream_time.
14303         
14304
14305 2005-07-16  Andy Wingo  <wingo@pobox.com>
14306
14307         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14308         (#305291).
14309
14310 2005-07-16  Wim Taymans  <wim@fluendo.com>
14311
14312         * check/gst/gstbin.c: (GST_START_TEST):
14313         Make elements silent as the deep_notify refs the
14314         parent, which might make the test fail.
14315
14316         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14317         Don't hold the lock for too long.
14318
14319 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14320
14321         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14322           Don't unref the caps we passed to gst_caps_make_writable() after
14323           passing them. gst_caps_make_writable() will do that for us.
14324
14325 2005-07-15  Andy Wingo  <wingo@pobox.com>
14326
14327         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14328         (#157311).
14329
14330         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14331         own marshalling function for the handoff signal. Properly type the
14332         buffer as a buffer. Fixes some warnings. Should do a more general
14333         solution.
14334         (gst_identity_class_init): Plug into the right marshaller.
14335
14336 2005-07-15  Wim Taymans  <wim@fluendo.com>
14337
14338         * docs/design/part-TODO.txt:
14339         * docs/design/part-clocks.txt:
14340         * docs/design/part-element-sink.txt:
14341         * docs/design/part-events.txt:
14342         * docs/design/part-gstpipeline.txt:
14343         Updated docs, mostly DISCONT related.
14344
14345 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14346
14347         * docs/pwg/building-pads.xml:
14348           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14349
14350 2005-07-15  Andy Wingo  <wingo@pobox.com>
14351
14352         * tools/gst-typefind.c: Update, add copyright block.
14353
14354         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14355         Normalize and truncate caps before fixation.
14356
14357         * gst/gstcaps.h:
14358         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14359         discards all but the first structure from its argument.
14360
14361 2005-07-15  Wim Taymans  <wim@fluendo.com>
14362
14363         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14364         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14365         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14366         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14367         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14368         (gst_base_transform_chain), (gst_base_transform_change_state),
14369         (gst_base_transform_set_passthrough),
14370         (gst_base_transform_is_passthrough):
14371         * gst/base/gstbasetransform.h:
14372         Make passthrough work using the bufferpools.
14373         Changed API a bit, subclasses have to write into a buffer
14374         provided by the base class.
14375         More debug info in nego functions.
14376         
14377         * gst/elements/gstidentity.c: (gst_identity_init),
14378         (gst_identity_transform):
14379         Port to new base class.
14380
14381 2005-07-15  Wim Taymans  <wim@fluendo.com>
14382
14383         * gst/gstmessage.c: (gst_message_new_state_changed):
14384         * tools/gst-launch.c: (event_loop), (main):
14385         Totally dump messages in -launch with the -m option.
14386         Fix message name for State messages,
14387
14388 2005-07-14  Wim Taymans  <wim@fluendo.com>
14389
14390         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14391         Post error messages on errors.
14392
14393 2005-07-14  Wim Taymans  <wim@fluendo.com>
14394
14395         * gst/gstcaps.c: (gst_caps_do_simplify):
14396         Remove debug info.
14397
14398         * gst/gsterror.h:
14399         Define error for stream stopped.
14400
14401         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14402         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14403         Do proper return values.
14404
14405         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14406         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14407         (gst_pad_get_range):
14408         Better return values.
14409
14410         * gst/gstpad.h:
14411         Reorganise return values, add macro to check for fatal errors.
14412
14413         * gst/gstqueue.c: (gst_queue_chain):
14414         Return proper GstFlowReturn values,
14415
14416 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14417
14418         * docs/gst/gstreamer-sections.txt:
14419         * docs/gst/gstreamer.types:
14420         * docs/gst/tmpl/gst.sgml:
14421         * docs/gst/tmpl/gstbasesink.sgml:
14422         * docs/gst/tmpl/gstbasesrc.sgml:
14423         * docs/gst/tmpl/gstbasetransform.sgml:
14424         * docs/gst/tmpl/gstbin.sgml:
14425         * docs/gst/tmpl/gstbuffer.sgml:
14426         * docs/gst/tmpl/gstcaps.sgml:
14427         * docs/gst/tmpl/gstclock.sgml:
14428         * docs/gst/tmpl/gstcompat.sgml:
14429         * docs/gst/tmpl/gstconfig.sgml:
14430         * docs/gst/tmpl/gstelement.sgml:
14431         * docs/gst/tmpl/gstelementdetails.sgml:
14432         * docs/gst/tmpl/gstelementfactory.sgml:
14433         * docs/gst/tmpl/gstenumtypes.sgml:
14434         * docs/gst/tmpl/gsterror.sgml:
14435         * docs/gst/tmpl/gstevent.sgml:
14436         * docs/gst/tmpl/gstfakesink.sgml:
14437         * docs/gst/tmpl/gstfakesrc.sgml:
14438         * docs/gst/tmpl/gstfilesink.sgml:
14439         * docs/gst/tmpl/gstfilesrc.sgml:
14440         * docs/gst/tmpl/gstfilter.sgml:
14441         * docs/gst/tmpl/gstformat.sgml:
14442         * docs/gst/tmpl/gstghostpad.sgml:
14443         * docs/gst/tmpl/gstimplementsinterface.sgml:
14444         * docs/gst/tmpl/gstindex.sgml:
14445         * docs/gst/tmpl/gstindexfactory.sgml:
14446         * docs/gst/tmpl/gstinfo.sgml:
14447         * docs/gst/tmpl/gstiterator.sgml:
14448         * docs/gst/tmpl/gstmacros.sgml:
14449         * docs/gst/tmpl/gstmemchunk.sgml:
14450         * docs/gst/tmpl/gstminiobject.sgml:
14451         * docs/gst/tmpl/gstobject.sgml:
14452         * docs/gst/tmpl/gstpad.sgml:
14453         * docs/gst/tmpl/gstpadtemplate.sgml:
14454         * docs/gst/tmpl/gstparse.sgml:
14455         * docs/gst/tmpl/gstpipeline.sgml:
14456         * docs/gst/tmpl/gstplugin.sgml:
14457         * docs/gst/tmpl/gstpluginfeature.sgml:
14458         * docs/gst/tmpl/gstquery.sgml:
14459         * docs/gst/tmpl/gstqueue.sgml:
14460         * docs/gst/tmpl/gstregistry.sgml:
14461         * docs/gst/tmpl/gstregistrypool.sgml:
14462         * docs/gst/tmpl/gstscheduler.sgml:
14463         * docs/gst/tmpl/gstschedulerfactory.sgml:
14464         * docs/gst/tmpl/gststructure.sgml:
14465         * docs/gst/tmpl/gstsystemclock.sgml:
14466         * docs/gst/tmpl/gsttaglist.sgml:
14467         * docs/gst/tmpl/gsttagsetter.sgml:
14468         * docs/gst/tmpl/gsttrace.sgml:
14469         * docs/gst/tmpl/gsttrashstack.sgml:
14470         * docs/gst/tmpl/gsttypefind.sgml:
14471         * docs/gst/tmpl/gsttypefindfactory.sgml:
14472         * docs/gst/tmpl/gsttypes.sgml:
14473         * docs/gst/tmpl/gsturihandler.sgml:
14474         * docs/gst/tmpl/gsturitype.sgml:
14475         * docs/gst/tmpl/gstutils.sgml:
14476         * docs/gst/tmpl/gstvalue.sgml:
14477         * docs/gst/tmpl/gstversion.sgml:
14478         * docs/gst/tmpl/gstxml.sgml:
14479         * docs/libs/tmpl/gstcontrol.sgml:
14480         * docs/libs/tmpl/gstdataprotocol.sgml:
14481         * docs/libs/tmpl/gstdparam.sgml:
14482         * docs/libs/tmpl/gstdplinint.sgml:
14483         * docs/libs/tmpl/gstdpman.sgml:
14484         * docs/libs/tmpl/gstdpsmooth.sgml:
14485         * docs/libs/tmpl/gstgetbits.sgml:
14486         * docs/libs/tmpl/gstunitconvert.sgml:
14487         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14488         (gst_push_src_base_init), (gst_push_src_class_init),
14489         (gst_push_src_init), (gst_push_src_create):
14490         * gst/base/gstpushsrc.h:
14491         * gst/elements/gstelements.c:
14492         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14493         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14494         (gst_fake_sink_init), (gst_fake_sink_set_property),
14495         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14496         (gst_fake_sink_event), (gst_fake_sink_preroll),
14497         (gst_fake_sink_render), (gst_fake_sink_change_state):
14498         * gst/elements/gstfakesink.h:
14499         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14500         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14501         (gst_fake_src_base_init), (gst_fake_src_class_init),
14502         (gst_fake_src_init), (gst_fake_src_event_handler),
14503         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14504         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14505         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14506         (gst_fake_src_create_buffer), (gst_fake_src_create),
14507         (gst_fake_src_start), (gst_fake_src_stop):
14508         * gst/elements/gstfakesrc.h:
14509         * gst/elements/gstfilesink.c: (_do_init),
14510         (gst_file_sink_base_init), (gst_file_sink_class_init),
14511         (gst_file_sink_init), (gst_file_sink_dispose),
14512         (gst_file_sink_set_location), (gst_file_sink_set_property),
14513         (gst_file_sink_get_property), (gst_file_sink_open_file),
14514         (gst_file_sink_close_file), (gst_file_sink_query),
14515         (gst_file_sink_event), (gst_file_sink_render),
14516         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14517         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14518         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14519         * gst/elements/gstfilesink.h:
14520         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14521         (gst_file_src_class_init), (gst_file_src_init),
14522         (gst_file_src_finalize), (gst_file_src_set_location),
14523         (gst_file_src_set_property), (gst_file_src_get_property),
14524         (gst_file_src_map_region), (gst_file_src_map_small_region),
14525         (gst_file_src_create_mmap), (gst_file_src_create_read),
14526         (gst_file_src_create), (gst_file_src_is_seekable),
14527         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14528         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14529         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14530         (gst_file_src_uri_handler_init):
14531         * gst/elements/gstfilesrc.h:
14532           more autistic cleanliness in functions/names/defines
14533
14534 2005-07-13  Andy Wingo  <wingo@pobox.com>
14535
14536         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14537         source couldn't negotiate.
14538
14539         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14540         connections again.
14541
14542         * gst/gstutils.h:
14543         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14544         function. I am channeling Hades. Put your boots on suckers!!!
14545
14546 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14547
14548         * testsuite/caps/Makefile.am:
14549         * testsuite/caps/value_compare.c:
14550         * testsuite/caps/value_intersect.c:
14551         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14552           move two testsuite apps over to the check dir
14553
14554 2005-07-12  Wim Taymans  <wim@fluendo.com>
14555
14556         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14557         Added more debug info in the negotiate process.
14558
14559         * gst/gstmessage.h:
14560         Prepare for segment playback.
14561
14562         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14563         Better debugging.
14564
14565         * gst/gstutils.c:
14566         Some more docs.
14567
14568         * tools/gst-launch.c: (main):
14569         NULL pipeline on errors.
14570
14571 2005-07-12  Andy Wingo  <wingo@pobox.com>
14572
14573         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14574         not it comes from a malloc region. Make sure our copy gets freed.
14575
14576 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14577
14578         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14579         * check/gst/gstmessage.c: (GST_START_TEST):
14580         * check/gst/gststructure.c: (GST_START_TEST),
14581         (gst_structure_suite), (main):
14582           more testing
14583         * gst/gstelement.c: (gst_element_message_full):
14584           clean up GError and debug string now that they get copied
14585         * gst/gstmessage.c: (gst_message_new_error),
14586         (gst_message_new_warning), (gst_message_parse_error),
14587         (gst_message_parse_warning):
14588           use GST_TYPE_G_ERROR for structure_new, and take copies of
14589           arguments, so that we don't mess up refcounting
14590
14591 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14592
14593         * check/Makefile.am:
14594           add per-test valgrind targets
14595         * check/gst-libs/gdp.c: (GST_START_TEST),
14596         (gst_data_protocol_suite), (main):
14597           clean up
14598
14599 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14600
14601         * check/Makefile.am:
14602           instate more valgrindable tests
14603         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14604         (GST_START_TEST), (fakesrc_suite):
14605         * check/gst/gstpad.c: (GST_START_TEST):
14606         * check/gst/gststructure.c: (GST_START_TEST):
14607           fix test leaks
14608         * docs/gst/tmpl/gstminiobject.sgml:
14609         * gst/gstpad.c: (gst_pad_finalize):
14610           fix the static mutex leak
14611
14612 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14613
14614         * check/Makefile.am:
14615           add two more tests for valgrinding
14616         * check/gst/gstvalue.c: (GST_START_TEST):
14617           test refcount of deserialized buffer, found a leak
14618         * docs/gst/gstreamer-docs.sgml:
14619         * docs/gst/gstreamer-sections.txt:
14620         * docs/gst/gstreamer.types:
14621         * docs/gst/tmpl/gstminiobject.sgml:
14622           add miniobject to docs
14623         * gst/gstminiobject.c:
14624           add some docs
14625         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14626         (gst_string_unwrap):
14627           fix a hard-to-find invalid write for one of the tests
14628           fix a leak for deserialized buffers
14629
14630 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14631
14632         * docs/pwg/advanced-events.xml:
14633         * docs/pwg/advanced-request.xml:
14634         * docs/pwg/advanced-scheduling.xml:
14635         * docs/pwg/appendix-porting.xml:
14636         * docs/pwg/building-boiler.xml:
14637         * docs/pwg/intro-preface.xml:
14638         * docs/pwg/other-ntoone.xml:
14639           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14640           of example code and explanation for pad activation, loop() and
14641           getrange() functions and a bit more. Remove old comments pointing
14642           to loop-functions.
14643         * examples/pwg/Makefile.am:
14644           Add loop/getrange examples.
14645
14646 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14647
14648         * configure.ac:
14649           check for valgrind binary + some fixes
14650         * check/gst.supp:
14651           valgrind suppressions for the tests
14652         * check/Makefile.am:
14653           add a valgrind: target that valgrinds the unit tests
14654         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14655         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14656         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14657         * check/gst/gstghostpad.c:
14658           added some cleanup
14659         * check/gst/gstdata.c:
14660           removed
14661         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14662         (thread_unref), (gst_mini_object_suite), (main):
14663           added
14664         * gst/gst.c: (gst_deinit):
14665         * gst/gst.h:
14666           add a method to clean up.
14667         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14668         (gst_system_clock_obtain):
14669           allow for disposing the system clock.
14670         * tools/gst-launch.c: (main):
14671           deinit
14672
14673 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14674
14675         * docs/gst/tmpl/gstbasesrc.sgml:
14676         * docs/gst/tmpl/gstfakesrc.sgml:
14677         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14678         (gst_base_src_init), (gst_base_src_set_property),
14679         (gst_base_src_get_property), (gst_base_src_get_range),
14680         (gst_base_src_start):
14681         * gst/base/gstbasesrc.h:
14682           add num-buffers property
14683         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14684         (gst_fakesrc_init), (gst_fakesrc_set_property),
14685         (gst_fakesrc_get_property), (gst_fakesrc_create),
14686         (gst_fakesrc_start):
14687           remove num-buffers property
14688
14689 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14690
14691         * docs/gst/gstreamer-sections.txt:
14692         * docs/gst/tmpl/gstbasesink.sgml:
14693         * docs/gst/tmpl/gstbasesrc.sgml:
14694         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14695         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14696         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14697         (gst_base_sink_set_property), (gst_base_sink_get_property),
14698         (gst_base_sink_handle_object), (gst_base_sink_event),
14699         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14700         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14701         (gst_base_sink_loop), (gst_base_sink_deactivate),
14702         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14703         (gst_base_sink_change_state):
14704         * gst/base/gstbasesink.h:
14705         * gst/base/gstbasesrc.h:
14706         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14707         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14708         (gst_filesink_init):
14709           more macro splitting
14710
14711 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14712
14713         * gst/gstelement.c: (gst_element_get_bus):
14714           add debug
14715         * tools/gst-launch.c: (check_intr), (event_loop):
14716           fix bus leaks
14717
14718 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14719
14720         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14721           fix a caps leak
14722
14723 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14724
14725         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14726         (gst_base_src_finalize):
14727           add finalize method and clean up properly
14728         * gst/gstpipeline.c: (gst_pipeline_dispose):
14729           add debug
14730
14731 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14732
14733         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14734         (gst_bin_suite):
14735           add more things to check
14736         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14737         * gst/gstelement.c:
14738           more debug
14739
14740 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14741
14742         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14743         (GST_START_TEST), (fakesrc_suite):
14744         * check/gst-libs/gdp.c: (GST_START_TEST):
14745         * check/gst/gst.c: (GST_START_TEST):
14746         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14747         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14748         * check/gst/gstbus.c: (GST_START_TEST):
14749         * check/gst/gstcaps.c: (GST_START_TEST):
14750         * check/gst/gstdata.c: (GST_START_TEST):
14751         * check/gst/gstelement.c: (GST_START_TEST):
14752         * check/gst/gstghostpad.c: (GST_START_TEST):
14753         * check/gst/gstiterator.c: (GST_START_TEST):
14754         * check/gst/gstmessage.c: (GST_START_TEST):
14755         * check/gst/gstobject.c: (GST_START_TEST):
14756         * check/gst/gstpad.c: (GST_START_TEST):
14757         * check/gst/gststructure.c: (GST_START_TEST):
14758         * check/gst/gstsystemclock.c: (GST_START_TEST),
14759         (gst_systemclock_suite):
14760         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14761         * check/gst/gstvalue.c: (GST_START_TEST):
14762         * check/pipelines/cleanup.c: (GST_START_TEST):
14763         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14764         * check/states/sinks.c: (GST_START_TEST):
14765         * check/gstcheck.c: (gst_check_init):
14766         * check/gstcheck.h:
14767           add debugging category
14768           use GST_START_TEST now, so we add a debug line
14769
14770 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14771
14772         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14773           add test for state change message on a bin
14774         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14775           add another test
14776         * gst/gstbin.c: (gst_bin_init):
14777         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14778         * gst/gstelement.c: (gst_element_post_message),
14779         (gst_element_set_state):
14780         * gst/gstelementfactory.c: (gst_element_factory_create):
14781         * gst/gstmessage.c: (gst_message_new):
14782         * gst/gstscheduler.c:
14783           various debugging additions and cleanups
14784
14785 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14786
14787         * check/Makefile.am:
14788         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14789         (main):
14790           adding tests for elements
14791         * gst/gstelement.c: (gst_element_dispose):
14792
14793 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14794
14795         * gst/registries/gstlibxmlregistry.c: (load_feature):
14796           plug more leaks.  A simple gst_init() now is leakfree, yay.
14797
14798 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14799
14800         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14801         (gst_xml_registry_load):
14802           plug another memleak
14803
14804 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14805
14806         * configure.ac:
14807           use GST_SET_ERROR_CFLAGS
14808         * docs/faq/cvs.xml:
14809           change to ERROR_CFLAGS
14810
14811 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14812
14813         * configure.ac:
14814           make GST_ERROR_CFLAGS overridable and re-enable Werror
14815         * docs/faq/cvs.xml:
14816           add a note about error CFLAGS
14817         * docs/gst/tmpl/gstfakesrc.sgml:
14818         * gst/elements/gstfakesrc.c:
14819           comment out some unused code
14820         * gst/gst.c: (split_and_iterate):
14821         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14822         (load_feature):
14823           plug some memleaks
14824
14825 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14826
14827         * common/Makefile.am:
14828         * common/gtk-doc.mak:
14829         * docs/gst/Makefile.am:
14830           factor out gtk-doc.mak
14831
14832 2005-07-07  Wim Taymans  <wim@fluendo.com>
14833
14834         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14835         (gst_thread_scheduler_dispose):
14836         Unlock the STREAM_LOCK completely.
14837
14838 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14839
14840         * check/Makefile.am:
14841         * check/elements/.cvsignore:
14842         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14843         (START_TEST), (fakesrc_suite), (main):
14844         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14845         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14846         (gst_fakesrc_create), (gst_fakesrc_start):
14847         * gst/elements/gstfakesrc.h:
14848           adding a first element test
14849
14850 2005-07-07  Andy Wingo  <wingo@pobox.com>
14851
14852         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14853         debug message.
14854
14855 2005-07-07  Wim Taymans  <wim@fluendo.com>
14856
14857         * gst/gstquery.c:
14858         * gst/gstquery.h:
14859         Remove old types
14860
14861 2005-07-07  Wim Taymans  <wim@fluendo.com>
14862
14863         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14864         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14865         Allow subclasses to implement their own negotiation.
14866
14867 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14868
14869         * docs/design/part-gstbin.txt:
14870         * docs/design/part-gstpipeline.txt:
14871           Update design notes to reflect the movement of
14872           responsibility for bus handling from GstPipeline to
14873           GstBin
14874
14875 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14876
14877         * configure.ac:
14878           Remove unnecessary queue2/3/4 examples.
14879
14880 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14881
14882         * examples/Makefile.am:
14883         * examples/helloworld/helloworld.c: (event_loop), (main):
14884         * examples/queue/queue.c: (event_loop), (main):
14885         * examples/queue2/queue2.c: (main):
14886           Update a couple of the examples to work again.
14887
14888         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14889         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14890          Spelling corrections and extra debug.
14891         
14892         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14893         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14894         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14895         * gst/gstbin.h:
14896         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14897         (gst_pipeline_change_state):
14898         * gst/gstpipeline.h:
14899           Move the bus handler for children to the GstBin, and create a
14900           separate bus for receiving messages from children to the one the
14901           bus sends 'upwards' on.
14902
14903 2005-07-06  Wim Taymans  <wim@fluendo.com>
14904
14905         * gst/base/README:
14906         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14907         (gst_base_sink_handle_object), (gst_base_sink_loop),
14908         (gst_base_sink_change_state):
14909         * gst/base/gstbasesink.h:
14910         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14911         (gst_base_src_init), (gst_base_src_setcaps),
14912         (gst_base_src_getcaps), (gst_base_src_loop),
14913         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14914         (gst_base_src_start), (gst_base_src_change_state):
14915         * gst/base/gstbasesrc.h:
14916         Make basesrc negotiate.
14917         Handle the case where preroll fails in basesink.
14918         Update README.
14919
14920 2005-07-06  Wim Taymans  <wim@fluendo.com>
14921
14922         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14923         Implement the fixate function.
14924         Clean up acceptcaps.
14925
14926 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14927
14928         * docs/pwg/building-filterfactory.xml:
14929         * docs/pwg/pwg.xml:
14930           Remove never-written filter-factory chapter; I'll add the various
14931           base classes to part 4 ("other element types") later on.
14932
14933 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14934
14935         * docs/pwg/advanced-negotiation.xml:
14936         * docs/pwg/building-boiler.xml:
14937         * docs/pwg/building-pads.xml:
14938         * docs/pwg/pwg.xml:
14939         * examples/pwg/Makefile.am:
14940           Add a chapter on caps negotiation, simplify the original code
14941           samples a bit w.r.t. caps negotiation, add link to the advanced
14942           section. Add a bunch of examples showing different use cases of
14943           different types of caps negotiation. Upstream renegotiation isn't
14944           fully documented yet since nobody knows how that works.
14945
14946 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14947
14948         * check/gst/gstpad.c:
14949         * check/gstcheck.c:
14950         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14951           if pad has no parent, return NULL as list of internal links
14952
14953 2005-07-05  Andy Wingo  <wingo@pobox.com>
14954
14955         * gst/elements/gstfilesrc.c:
14956         * gst/elements/gstfakesrc.c: 
14957         * gst/base/gstpushsrc.c:
14958         * gst/base/gstbasesrc.h: 
14959         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14960         
14961 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14962
14963         * Makefile.am:
14964           better report generation target (lcov needs a patch)
14965
14966 2005-07-05  Andy Wingo  <wingo@pobox.com>
14967
14968         * gst/elements, testsuite: Null if we got it...
14969
14970 2005-07-05  Wim Taymans  <wim@fluendo.com>
14971
14972         * configure.ac:
14973         * libs/gst/dataprotocol/Makefile.am:
14974         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14975         * libs/gst/dataprotocol/dataprotocol.h:
14976         * pkgconfig/Makefile.am:
14977         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14978         * pkgconfig/gstreamer-dataprotocol.pc.in:
14979         Ported dataprotol to 0.9. 
14980         Added pkgconfig files.
14981
14982 2005-07-05  Andy Wingo  <wingo@pobox.com>
14983
14984         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14985         Default to returning TRUE for the case when tranform_caps returns
14986         a fixed caps, like for identity or volume.
14987
14988         * check/gst/gstbus.c (pound_bus_with_messages): 
14989         * check/gst/gstmessage.c (START_TEST): 
14990         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14991         message API change.
14992
14993         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14994         logic weaks here: always run transform_caps, trying passthrough
14995         operation only if the original caps intersects with the transform.
14996
14997         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14998         source and sink caps.
14999
15000         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15001         Intersect the peer caps with the pad template before going into
15002         transform_caps.
15003         (gst_base_transform_transform_caps): More debugging.
15004
15005         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15006         src argument.
15007
15008 2005-07-04  Edward Hervey  <edward@fluendo.com>
15009
15010         * gst/gstutils.c:
15011         * gst/gstutils.h:
15012         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15013         in bindings.
15014
15015 2005-07-04  Andy Wingo  <wingo@pobox.com>
15016
15017         * check/gst/gstpad.c: Only set explicit caps on pads.
15018
15019 2005-07-01  Andy Wingo  <wingo@pobox.com>
15020
15021         * tests/network-clock.scm: Commentary update.
15022
15023         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15024         Didn't really make sense, not implementable with basetransform,
15025         etc.
15026         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15027         attempt at implementing the sync property, needs an unlock method.
15028
15029         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15030         New func, by default returns the same caps (the identity
15031         transformation).
15032         (gst_base_transform_getcaps): Uses transform_caps to return
15033         something sensible.
15034         (gst_base_transform_setcaps): Complicated logic to get caps on
15035         both pads, even if they are different, and to call set_caps once
15036         for every time both pads get their caps set.
15037         (gst_base_transform_handle_buffer): Give the ref to the transform
15038         function. Allows in-place modification of the buffer.
15039
15040         * gst/base/gstbasetransform.h (transform_caps): New class method.
15041         Given caps on one side, what can I do on the other.
15042         (set_caps): Take two caps, one for each side of the element.
15043
15044         * gst/gstpad.h:
15045         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15046         caps in place. This is safe because we can check the mutability of
15047         the caps, and a good idea because fixate functions are just called
15048         as a matter of last resort. (Not actually implemented.)
15049         (gst_pad_set_caps): If the caps we're setting is actually the same
15050         as the existing pad caps, just update the pointer without calling
15051         setcaps. Assert that caps is either NULL or fixed, as per the
15052         docs.
15053
15054         * gst/gstghostpad.c: Update for fixate changes.
15055
15056 2005-07-02  Andy Wingo  <wingo@pobox.com>
15057
15058         * gst/gstcaps.c:
15059         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15060         two refcounts makes it immutable, which is enough. Doc more.
15061
15062 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15063
15064         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15065           Put the mini_object into GValue as a mini_object,
15066           not a gpointer, since that's how we declared
15067           the signal.
15068
15069 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15070
15071         * examples/pwg/Makefile.am:
15072           Fix buildbot again.
15073
15074 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15075
15076         * docs/pwg/building-testapp.xml:
15077           Add extra check.
15078         * examples/pwg/Makefile.am:
15079           Fix buildbot.
15080
15081 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15082
15083         * configure.ac:
15084         * examples/Makefile.am:
15085         * examples/pwg/Makefile.am:
15086         * examples/pwg/extract.pl:
15087           Enable building the PWG examples.
15088         * docs/pwg/advanced-interfaces.xml:
15089           Add URI interface stub.
15090         * docs/pwg/advanced-types.xml:
15091         * docs/pwg/other-autoplugger.xml:
15092         * docs/pwg/appendix-porting.xml:
15093         * docs/pwg/pwg.xml:
15094           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15095         * docs/pwg/building-boiler.xml:
15096         * docs/pwg/building-chainfn.xml:
15097         * docs/pwg/building-pads.xml:
15098         * docs/pwg/building-props.xml:
15099         * docs/pwg/building-state.xml:
15100         * docs/pwg/building-testapp.xml:
15101           Update the building-*.xml parts for 0.9 changes. All examples
15102           code blocks compile in examples/pwg/*.
15103
15104 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15105
15106         * docs/manual/advanced-autoplugging.xml:
15107         * docs/manual/appendix-checklist.xml:
15108         * docs/manual/appendix-integration.xml:
15109         * docs/manual/highlevel-components.xml:
15110           Fix playbin/decodebin examples, update docs a bit, mention bus
15111           instead of signals in various places, mention kmplayer and
15112           kaffeine since they have a working GStreamer backend in the KDE
15113           section.
15114
15115 2005-06-30  Wim Taymans  <wim@fluendo.com>
15116
15117         * CHANGES-0.9:
15118         * docs/design/draft-ghostpads.txt:
15119         * docs/design/draft-push-pull.txt:
15120         * docs/design/draft-query.txt:
15121         * docs/design/part-TODO.txt:
15122         * docs/design/part-query.txt:
15123         Added CHANGES-0.9 doc, updated status of other docs.
15124         
15125         * gst/gstquery.h:
15126         Remove "hmm" macro
15127
15128 2005-06-30  Wim Taymans  <wim@fluendo.com>
15129
15130         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15131         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15132         (gst_base_sink_change_state):
15133         * gst/base/gstbasesink.h:
15134         Some tweaks, only EOS and a buffer complete a preroll.
15135
15136 2005-06-30  Andy Wingo  <wingo@pobox.com>
15137
15138         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15139         activate_push down to the internal pad as well.
15140
15141 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15142
15143         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15144
15145         * gst/gsttaginterface.c:
15146           Some documentation fixes (#307394 and #307397).
15147
15148 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15149
15150         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15151
15152         * gst/gstvalue.c: (gst_value_intersect_list):
15153           Fix memleak (#309125).
15154
15155 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15156
15157         * docs/manual/advanced-dataaccess.xml:
15158           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15159         * docs/manual/basics-pads.xml:
15160           Add reference for filtered caps to above chapter.
15161
15162 2005-06-30  Wim Taymans  <wim@fluendo.com>
15163
15164         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15165         (gst_bin_change_state):
15166         Probes are gone.
15167         Lame attempt at making the state change function a bit
15168         more readable.
15169
15170 2005-06-30  Wim Taymans  <wim@fluendo.com>
15171
15172         * docs/design/part-clocks.txt:
15173         * docs/design/part-element-sink.txt:
15174         * docs/design/part-events.txt:
15175         * docs/design/part-preroll.txt:
15176         * docs/design/part-states.txt:
15177         Some more tweeks and additions to the docs.
15178
15179 2005-06-30  Wim Taymans  <wim@fluendo.com>
15180
15181         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15182         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15183         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15184         (gst_pad_check_pull_range), (gst_pad_get_range),
15185         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15186         * gst/gstpad.h:
15187         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15188         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15189         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15190         (gst_pad_remove_buffer_probe):
15191         Removed atomic operations, use existing LOCK.
15192         Move exception handling out of main code path.
15193
15194 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15195
15196         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15197         (silly_return_true_function), (gst_pad_class_init),
15198         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15199         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15200         (gst_pad_send_event):
15201           Fix accumulator, add default value by using _emitv() instead
15202           of _emit() for signal emission.
15203
15204 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15205
15206         * docs/manual/advanced-dataaccess.xml:
15207         * examples/manual/Makefile.am:
15208           Add probe example.
15209         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15210           Make work (??).
15211
15212 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15213
15214         * gst/elements/gstfilesink.c: (gst_filesink_render):
15215           Simplify code so that we don't have to handle short
15216           writes and return GST_FLOW_ERROR if an error occured.
15217
15218 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15219
15220         * docs/gst/gstreamer-docs.sgml:
15221           Remove probes more.
15222
15223 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15224
15225         * docs/gst/gstreamer-sections.txt:
15226         * docs/gst/tmpl/gstpad.sgml:
15227         * docs/gst/tmpl/gstprobe.sgml:
15228         * gst/Makefile.am:
15229         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15230         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15231         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15232         (gst_pad_push_event), (gst_pad_send_event):
15233         * gst/gstpad.h:
15234         * gst/gstutils.c: (gst_pad_add_data_probe),
15235         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15236         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15237         (gst_pad_remove_buffer_probe):
15238         * gst/gstutils.h:
15239           Remove old probes, add new g-signal-based probes and some utility
15240           functions.
15241
15242 2005-06-29  Edward Hervey  <edward@fluendo.com>
15243
15244         * gst/gstelementfactory.c:
15245         * gst/gstutils.h:
15246         * gst/gstutils.c:
15247         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15248         the definition to the header file.
15249
15250 2005-06-29  Andy Wingo  <wingo@pobox.com>
15251
15252         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15253         plugins from the source directory.
15254
15255 2005-06-29  Wim Taymans  <wim@fluendo.com>
15256
15257         * docs/gst/tmpl/gstbuffer.sgml:
15258         * docs/gst/tmpl/gstclock.sgml:
15259         Some fixings for blantently wrong text.
15260
15261 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15262
15263         * check/Makefile.am:
15264         * gst/gst.c: (add_path_func), (init_pre):
15265         * gst/gstregistry.c: (gst_registry_add_path):
15266           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15267           only scan the GST_PLUGIN_PATH locations, and not add
15268           system locations
15269
15270 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15271
15272         * docs/gst/gstreamer-sections.txt:
15273         * docs/gst/tmpl/gstbasesrc.sgml:
15274         * gst/gstelement.c:
15275         * gst/gstelement.h:
15276         * gst/gstevent.c:
15277         * gst/gstutils.c:
15278           doc fixes
15279
15280 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15281
15282         * docs/manual/advanced-autoplugging.xml:
15283           Fix autoplugging example.
15284
15285 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15286
15287         * docs/manual/advanced-autoplugging.xml:
15288         * docs/manual/mime-world.fig:
15289           Try to get autoplugging working, fix type detection. Fix text
15290           in hello-world image.
15291
15292 2005-06-29  Wim Taymans  <wim@fluendo.com>
15293
15294         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15295         (gst_base_sink_change_state):
15296         Small debug line.
15297
15298         * gst/gstclock.h:
15299         map SIGNAL and BROADCAST to the right function.
15300
15301         * gst/gstobject.h:
15302         Remove redundant braces.
15303
15304         * gst/gstpad.c: (gst_pad_set_caps):
15305         Don't call setcaps function when reseting caps to NULL.
15306
15307         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15308         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15309         (gst_system_clock_id_unschedule):
15310         Use BROADCAST as this is what we do.
15311
15312 2005-06-29  Wim Taymans  <wim@fluendo.com>
15313
15314         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15315         We are actually prerolling before commiting the state
15316         change. 
15317
15318 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15319
15320         * docs/manual/advanced-clocks.xml:
15321         * docs/manual/advanced-interfaces.xml:
15322         * docs/manual/advanced-metadata.xml:
15323         * docs/manual/advanced-position.xml:
15324         * docs/manual/advanced-schedulers.xml:
15325         * docs/manual/advanced-threads.xml:
15326         * docs/manual/appendix-porting.xml:
15327         * docs/manual/basics-bins.xml:
15328         * docs/manual/basics-bus.xml:
15329         * docs/manual/basics-elements.xml:
15330         * docs/manual/basics-helloworld.xml:
15331         * docs/manual/basics-pads.xml:
15332         * docs/manual/highlevel-components.xml:
15333         * docs/manual/manual.xml:
15334         * docs/manual/thread.fig:
15335           Update (until threads/scheduling) Application Development Manual;
15336           remove GstThread, add GstBus, add simple porting checklist, add
15337           documentation for tag writing, clocks, make all examples until this
15338           part compile and run.
15339         * examples/manual/Makefile.am:
15340           Update from changes to Application Development Manual; add bus
15341           example, remove thread example.
15342
15343 2005-06-28  Wim Taymans  <wim@fluendo.com>
15344
15345         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15346         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15347         (gst_bus_source_dispatch):
15348         Add debugging messages.
15349         Make internal methods static.
15350         Handle the case where the bus is flushed in the handler.
15351         
15352         * gst/gstelement.c: (gst_element_get_bus):
15353         Fix refcount in _get_bus();
15354
15355         * gst/gstpipeline.c: (gst_pipeline_change_state),
15356         (gst_pipeline_get_clock_func):
15357         Clock refcounting fixes.
15358         Handle the case where preroll timed out more gracefully.
15359         
15360         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15361         Clean up the internal thread in dispose. This is needed
15362         for subclasses that actually get disposed.
15363         
15364         * gst/schedulers/threadscheduler.c:
15365         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15366         (gst_thread_scheduler_dispose):
15367         Free thread pool in dispose.
15368
15369 2005-06-28  Andy Wingo  <wingo@pobox.com>
15370
15371         * tests/network-clock-utils.scm (debug, print-event): New utils.
15372
15373         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15374         (*packet-loss*): Unified loss probability.
15375         (network-time): Report out-of-band events.
15376
15377         * tests/plot-data: Add support for out-of-band events. Hack it
15378         into this script instead of passing it down the pipe; should fix
15379         this later.
15380
15381 2005-06-28  Wim Taymans  <wim@fluendo.com>
15382
15383         * docs/gst/gstreamer.types:
15384         * docs/gst/tmpl/gstbasesrc.sgml:
15385         * docs/gst/tmpl/gstpad.sgml:
15386         Docs fixes.
15387
15388 2005-06-28  Wim Taymans  <wim@fluendo.com>
15389
15390         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15391         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15392         (gst_proxy_pad_do_fixatecaps):
15393         Correctly proxy the check_pull_range function.
15394
15395 2005-06-28  Andy Wingo  <wingo@pobox.com>
15396
15397         * tests/network-clock.scm: Removed need for slib.
15398         
15399 2005-06-28  Wim Taymans  <wim@fluendo.com>
15400
15401         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15402         (gst_basesink_preroll_queue_flush):
15403         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15404         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15405         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15406         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15407         (gst_proxy_pad_set_property):
15408         * gst/gstpad.c:
15409         * gst/gstpad.h:
15410         * gst/gstqueue.c: (gst_queue_init):
15411         The deprecated pad loop function is removed now.
15412
15413 2005-06-28  Andy Wingo  <wingo@pobox.com>
15414
15415         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15416         New parameters, simulate network packet loss.
15417
15418         * tests/network-clock-utils.scm: Initialize the RNG.
15419
15420 2005-06-28  Wim Taymans  <wim@fluendo.com>
15421
15422         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15423         (gst_basesink_event), (gst_basesink_deactivate):
15424         Flushing the preroll queue always needs to unlock the waiters.
15425
15426 2005-06-28  Edward Hervey  <edward@fluendo.com>
15427
15428         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15429         Wheen a seek was successful on a pipeline, set the stream_time to the
15430         seek offset in order to have a synchronized stream_time.
15431
15432 2005-06-28  Wim Taymans  <wim@fluendo.com>
15433
15434         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15435         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15436         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15437         (gst_proxy_pad_do_fixatecaps):
15438         Call wrapper function instead of just calling the function
15439         pointers. This takes care of any locking and whatmore.
15440
15441 2005-06-28  Wim Taymans  <wim@fluendo.com>
15442
15443         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15444         (gst_pad_pull_range):
15445         * gst/gstpad.h:
15446         CONNECTED -> LINKED.
15447
15448 2005-06-28  Andy Wingo  <wingo@pobox.com>
15449
15450         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15451         source-munging commit!!!
15452
15453         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15454         (gst_object_sink): Take gpointer arguments, not GstObject --
15455         avoids casts. Like GLib.
15456
15457         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15458         activate.
15459
15460 2005-06-27  Andy Wingo  <wingo@pobox.com>
15461
15462         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15463         remaining buffer.
15464
15465         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15466         returns a sorted copy of the trace list.
15467         (gst_alloc_trace_print_live): New API, only prints traces with
15468         live objects. Sort the list.
15469         (gst_alloc_trace_print_all): Sort the list.
15470         (gst_alloc_trace_print): Align columns.
15471
15472         * gst/elements/gstttypefindelement.c:
15473         * gst/elements/gsttee.c:
15474         * gst/base/gstbasesrc.c:
15475         * gst/base/gstbasesink.c:
15476         * gst/base/gstbasetransform.c:
15477         * gst/gstqueue.c: Adapt for pad activation changes.
15478
15479         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15480         sched.
15481         (gst_pipeline_dispose): Drop ref on sched.
15482
15483         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15484         (gst_pad_activate_default): Push mode by default.
15485         (pre_activate_switch, post_activate_switch): New stubs, things to
15486         do before and after switching activation modes on pads.
15487         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15488         the pad's activate function to choose which mode to activate.
15489         Shortcut on deactivation and call the right function directly.
15490         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15491         mode.
15492         (gst_pad_activate_push): New API, same for push mode.
15493         (gst_pad_set_activate_function) 
15494         (gst_pad_set_activatepull_function) 
15495         (gst_pad_set_activatepush_function): Setters for new API.
15496
15497         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15498         Trace all miniobjects.
15499         (gst_mini_object_make_writable): Unref the arg if we copy, like
15500         gst_caps_make_writable.
15501
15502         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15503
15504         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15505         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15506         Adapt for new pad API.
15507
15508         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15509
15510         * gst/gstelement.h:
15511         * gst/gstelement.c (gst_element_iterate_src_pads) 
15512         (gst_element_iterate_sink_pads): New API functions.
15513         
15514         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15515         should fold into gstiterator.c in some form.
15516         (gst_element_pads_activate): Simplified via use of fold and
15517         delegation of decisions to gstpad->activate.
15518
15519         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15520         help in debugging.
15521
15522         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15523         class once in init, like gstmessage. Didn't run into this issue
15524         but it seems correct. Don't initialize a trace, gstminiobject does
15525         that.
15526
15527         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15528         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15529         to the bus.
15530         (assert_live_count): New util function, uses alloc traces to check
15531         cleanup.
15532
15533         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15534         To be modified when unlink drops the internal pad.
15535
15536 2005-06-27  Wim Taymans  <wim@fluendo.com>
15537
15538         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15539         (gst_bin_change_state):
15540         Cleanup the get_state() function a little, make sure it
15541         iterates the same set of elements.
15542         Added stub iterate_state_order().
15543
15544 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15545
15546         * docs/gst/gstreamer-docs.sgml:
15547         * docs/gst/gstreamer-sections.txt:
15548         * docs/gst/gstreamer.types:
15549         * docs/gst/tmpl/gstbasesink.sgml:
15550         * docs/gst/tmpl/gstbasesrc.sgml:
15551         * docs/gst/tmpl/gstbasetransform.sgml:
15552         * docs/gst/tmpl/gstelement.sgml:
15553         * docs/gst/tmpl/gstiterator.sgml:
15554         * gst/base/gstbasesrc.c:
15555         * gst/base/gstbasesrc.h:
15556         * gst/base/gstbasetransform.h:
15557         * gst/gstelement.c:
15558         * gst/gstiterator.h:
15559           adding basetransform and iterator docs
15560
15561 2005-06-27  Andy Wingo  <wingo@pobox.com>
15562
15563         * docs/design/part-activation.txt: Notes on how activation should
15564         work -- not quite implemented yet.
15565
15566 2005-06-25  Wim Taymans  <wim@fluendo.com>
15567
15568         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15569         At least get the chain function correct, needs more
15570         fixing.
15571
15572 2005-06-25  Wim Taymans  <wim@fluendo.com>
15573
15574         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15575         (gst_basesink_handle_object), (gst_basesink_event),
15576         (gst_basesink_do_sync), (gst_basesink_handle_event),
15577         (gst_basesink_change_state):
15578         * gst/gsttask.h:
15579         Right, two problems here: ghostpads don't take locks and
15580         glib _rec_mutex_lock_full() with depth==0 still locks.
15581         Catch illegal locking and g_warn them.
15582
15583 2005-06-25  Wim Taymans  <wim@fluendo.com>
15584
15585         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15586         Have to check for completion now...
15587
15588 2005-06-25  Wim Taymans  <wim@fluendo.com>
15589
15590         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15591         (gst_basesink_handle_object), (gst_basesink_event),
15592         (gst_basesink_do_sync), (gst_basesink_handle_event),
15593         (gst_basesink_change_state):
15594         * gst/gstpad.h:
15595         Unlock STREAM_LOCK whatever the recursion was.
15596
15597 2005-06-25  Wim Taymans  <wim@fluendo.com>
15598
15599         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15600         (gst_basesink_preroll_queue_empty),
15601         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15602         (gst_basesink_event), (gst_basesink_do_sync),
15603         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15604         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15605         (gst_basesink_change_state):
15606         Reworked the base sink, handle event and buffer serialisation
15607         correctly and removed possible deadlock.
15608         Handle EOS correctly.
15609
15610 2005-06-25  Wim Taymans  <wim@fluendo.com>
15611
15612         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15613         (gst_pipeline_change_state):
15614         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15615         Allow elements to post EOS in the state change function.
15616         Fix up -launch, make it exit the poll loop when the
15617         pipeline actually changed state.
15618         Fix up warning parsing in -launch.
15619
15620 2005-06-25  Wim Taymans  <wim@fluendo.com>
15621
15622         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15623         (gst_tee_sink_activate):
15624         Core takes STREAM_LOCK for us now.
15625
15626 2005-06-25  Wim Taymans  <wim@fluendo.com>
15627
15628         * gst/gstelement.c: (gst_element_get_state_func),
15629         (gst_element_set_state):
15630         * gst/gstelement.h:
15631         * gst/gstmessage.c: (gst_message_parse_error),
15632         (gst_message_parse_warning):
15633         Keep track of current target state while performing a state
15634         change so that subclasses can do something interesting.
15635         Fix parsing of warning/error messages when GError is NULL.
15636
15637 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15638
15639         * docs/gst/Makefile.am:
15640         * docs/gst/gstreamer-docs.sgml:
15641         * docs/gst/gstreamer-sections.txt:
15642         * docs/gst/gstreamer.types:
15643         * docs/gst/tmpl/gstbasesink.sgml:
15644         * docs/gst/tmpl/gstbasesrc.sgml:
15645         * docs/gst/tmpl/gstbin.sgml:
15646         * docs/gst/tmpl/gstcompat.sgml:
15647         * docs/gst/tmpl/gstfakesink.sgml:
15648         * docs/gst/tmpl/gstfakesrc.sgml:
15649         * docs/gst/tmpl/gstfilesink.sgml:
15650         * docs/gst/tmpl/gstfilesrc.sgml:
15651         * docs/gst/tmpl/gstindex.sgml:
15652         * docs/manual/appendix-quotes.xml:
15653         * gst/base/gstbasesrc.h:
15654         * gst/elements/gstfakesrc.h:
15655         * gst/gstmessage.h:
15656           start pulling in base classes and elements in our docs
15657
15658 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15659
15660         * docs/gst/Makefile.am:
15661         * docs/libs/Makefile.am:
15662           fixed make distcheck with gtk-doc 1.3
15663
15664 2005-06-23  Wim Taymans  <wim@fluendo.com>
15665
15666         * gst/gstelement.c: (gst_element_get_state_func),
15667         (gst_element_set_state), (gst_element_change_state):
15668         When the state did not change, also report NO_PREROLL
15669         when it matters.
15670
15671 2005-06-23  Wim Taymans  <wim@fluendo.com>
15672
15673         * gst/gstpad.c: (gst_pad_event_default):
15674         * gst/gstqueue.c: (gst_queue_loop):
15675         No unsafe task pausing please.
15676
15677 2005-06-23  Wim Taymans  <wim@fluendo.com>
15678
15679         * gst/schedulers/threadscheduler.c:
15680         (gst_thread_scheduler_task_start),
15681         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15682         Ref the task before pushing it on the threadpool. This
15683         makes sure that we have a ref when the threadfunction is
15684         actually called.
15685
15686 2005-06-23  Andy Wingo  <wingo@pobox.com>
15687
15688         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15689         offset is greater than the file's size.
15690
15691         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15692         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15693         * gst/gstobject.c (gst_object_class_init): Make the class lock
15694         recursive. Wim won't let me drop deep_notify. Decodebin works
15695         again, whoopdy doo.
15696
15697         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15698         internal pad, and hacks accordingly. Doesn't do it on the target
15699         pad because we change its caps. Probably catches all cases of
15700         interest tho.
15701         (gst_ghost_pad_set_property): Connect to notify::caps as
15702         appropritate.
15703
15704         * tests/network-clock.scm (plot-simulation): Pipe data to the
15705         elite python skript.
15706
15707         * tests/network-clock-utils.scm (define-parameter): New macro,
15708         defines a parameter that can be set via the command line.
15709         (set-parameter!, parse-parameter-arguments): Command line args
15710         parser.
15711
15712         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15713         stdin.
15714
15715 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15716
15717         * gst/elements/gsttypefindelement.c:
15718         (gst_type_find_element_handle_event):
15719           Don't restart typefinding on a discont.
15720         * gst/gstelement.c: (gst_element_set_state):
15721           Debug spelling fix.
15722         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15723           Allow changing mode of an active pad.
15724           Debug output fixes.
15725         * gst/registries/gstlibxmlregistry.c: (load_feature):
15726           Don't cast a static pad template to a normal pad template.
15727
15728 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15729
15730         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15731         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15732           remove gst_strtoll completely, since it didn't actually do
15733           anything more than what g_ascii_strtoull already does.
15734           check for range errors when deserializing
15735           do a cast for the unsigned cases; but further fixing needs
15736           a decision on what the interpretation of "(int)" and
15737           deserialization should be for values that fall outside the
15738           type's boundaries (ie, refuse, or interpret as casting)
15739
15740 2005-06-23  Wim Taymans  <wim@fluendo.com>
15741
15742         * check/Makefile.am:
15743         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15744         * docs/design/part-live-source.txt:
15745         * docs/design/part-states.txt:
15746         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15747         (gst_basesrc_set_live), (gst_basesrc_is_live),
15748         (gst_basesrc_get_range), (gst_basesrc_activate),
15749         (gst_basesrc_change_state):
15750         * gst/base/gstbasesrc.h:
15751         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15752         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15753         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15754         * gst/gstelement.c: (gst_element_get_state_func),
15755         (gst_element_set_state):
15756         * gst/gstelement.h:
15757         * gst/gsttypes.h:
15758         * tools/gst-launch.c: (event_loop), (main):
15759         Added support for live sources and other elements that
15760         cannot do preroll.
15761         Updated design docs, added live-source design doc.
15762         Implemented live source functionality in basesrc
15763         Fix error condition in _bin_get_state()
15764         Implement live source handling in -launch.
15765         Added check for live sources.
15766         Fixed case in GstBin where elements were changed state
15767         multiple times.
15768
15769
15770 2005-06-23  Andy Wingo  <wingo@pobox.com>
15771
15772         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15773         borken refcounting.
15774
15775         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15776         gst_caps_replace takes care of this for us.
15777
15778         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15779         gst_pad_set_caps on the target, not just its setcaps() function.
15780
15781         * tests/network-clock.scm: 
15782         * tests/network-clock-utils.scm: A network clock simulator.
15783         Something of an algorithmic testbed before doing something in C.
15784
15785 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15786
15787         * check/Makefile.am:
15788         * check/gst/capslist.h:
15789           copy over from 0.8, and add two with bitmasks specified with
15790           (int) 0xFF...
15791         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15792           add test to parse everything from capslist.h
15793         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15794         (main):
15795           add test for structure deserialization
15796         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15797           add tests for deserialization of strings to int types
15798         * gst/gststructure.c: (gst_structure_nth_field_name):
15799         * gst/gststructure.h:
15800           add a way to get the name of a field referenced by index
15801         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15802           instead of checking if the resulting long long lies between
15803           min and max, we check if the long long would fit into
15804           a number of bytes for the final type.
15805           This fixes cases where a string represents 2^32 - 1, which
15806           when cast to int would be the (valid) -1, but is bigger than
15807           G_MAXINT
15808
15809 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15810
15811         * gst/parse/grammar.y:
15812           add a log line for type deserialization
15813
15814 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15815
15816         * check/gst/gstvalue.c: (START_TEST):
15817         * gst/gstvalue.c: (gst_value_deserialize):
15818           return long long, not int, so gint64 deserialization actually
15819           works.  Is there any flag that makes the compiler check this ?
15820           Fixes #308559
15821
15822 2005-06-22  Wim Taymans  <wim@fluendo.com>
15823
15824         * gst/gstbuffer.h:
15825         Added convenience macros for setting buffers in GValue.
15826
15827 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15828
15829         * check/gst/.cvsignore:
15830         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15831           add a test deserializing int64, and comment part out because
15832           it fails, yay !
15833
15834 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15835
15836         * check/Makefile.am:
15837         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15838         * testsuite/Makefile.am:
15839         * testsuite/caps/Makefile.am:
15840         * testsuite/caps/value_serialize.c:
15841         * testsuite/test_gst_init.c:
15842           move a value_serialize test over
15843
15844 2005-06-20  Wim Taymans  <wim@fluendo.com>
15845
15846         * gst/gstpad.c:
15847         Small doc updates.
15848         
15849         * gst/gstvalue.c: (gst_value_compare_buffer),
15850         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15851         (gst_value_compare_flags), (gst_value_serialize_flags),
15852         (gst_value_deserialize_flags), (_gst_value_initialize):
15853         Fix serialisation of buffers, they are not boxed types anymore
15854
15855 2005-06-20  Wim Taymans  <wim@fluendo.com>
15856
15857         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15858         Testcase to show error in buffer-on-caps serialisation.
15859
15860 2005-06-20  Andy Wingo  <wingo@pobox.com>
15861
15862         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15863         will be adding to later.
15864
15865         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15866         if its socks fill with rocks.
15867         (gst_system_clock_obtain): Set the name on object construction.
15868         Avoid double-checked locking.
15869
15870 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15871
15872         * gst/gsturi.c: (gst_element_make_from_uri):
15873           Fix potential endless loop.
15874
15875 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15876
15877         * check/Makefile.am:
15878           add gsttag
15879         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15880         (main):
15881           move over from testsuite dir and clean up
15882         * configure.ac:
15883         * gst/gsttag.c:
15884         * testsuite/Makefile.am:
15885         * testsuite/tags/.cvsignore:
15886         * testsuite/tags/Makefile.am:
15887         * testsuite/tags/merge.c:
15888           remove testsuite/tags
15889
15890 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15891
15892         * docs/gst/gstreamer-sections.txt:
15893         * docs/gst/tmpl/gstenumtypes.sgml:
15894         * win32/gstenumtypes.c:
15895           clean up documentation build a little
15896
15897 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15898
15899         * check/gstcheck.h:
15900           add macros for checking refcounts on objects and caps
15901         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15902           add some more unit tests
15903         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15904         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15905           fix leaked refcounts (I hope :)) so unittest works
15906         * gst/gstpad.h:
15907           whitespace removal
15908
15909 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15910
15911         * configure.ac: back to HEAD
15912
15913 === release 0.9.1 ===
15914
15915 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15916
15917         * NEWS:
15918         * RELEASE:
15919           updated
15920
15921 2005-06-17  Andy Wingo  <wingo@pobox.com>
15922
15923         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15924         assert; it's always possible that the pad gets deactivated in
15925         between the checks in gstpad.c and the implementation. Rely on
15926         finish_preroll() to return a FLUSHING or similar instead of on the
15927         assert.
15928         
15929         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15930         clock and post an EOS message if we come out of finish_preroll in
15931         the playing state.
15932
15933 2005-06-16  David Schleef  <ds@schleef.org>
15934
15935         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15936         (gst_capsfilter_set_property): Allow NULL as possible value
15937         for filter_caps property, indicating GST_CAPS_ANY.
15938
15939 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15940
15941         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15942           fix debug output
15943         * gst/schedulers/Makefile.am:
15944           use libgst prefix
15945         * gstreamer.spec.in:
15946           fix spec for it
15947
15948 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15949
15950         * gstreamer.spec.in:
15951           clean up
15952
15953 2005-06-08  Andy Wingo  <wingo@pobox.com>
15954
15955         * gst/gstutils.c: RPAD fixes all around.
15956         (gst_element_link_pads): Refcounting fixes.
15957
15958         * tools/gst-inspect.c:
15959         * tools/gst-xmlinspect.c:
15960         * parse/grammar.y:
15961         * gst/base/gsttypefindhelper.c:
15962         * gst/base/gstbasesink.c:
15963         * gst/gstqueue.c: RPAD fixes.
15964
15965         * gst/gstghostpad.h:
15966         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15967         pads. The tricky thing is they provide both source and sink
15968         interfaces, since they proxy the internal pad for the external
15969         pad, and vice versa. Implement with lower-level ProxyPad objects,
15970         with the interior proxy pad as a child of the exterior ghost pad.
15971         Should write a doc on this.
15972         
15973         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15974         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15975         gst_object API.
15976         
15977         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15978         pads are real pads. No ghost pads in this file. Not documenting
15979         the myriad s/RPAD/PAD/ and REALIZE fixes.
15980         (gst_pad_class_init): Add properties for "direction" and
15981         "template". Both are construct-only, so they can't change during
15982         the life of the pad. Fixes properly deriving from GstPad.
15983         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15984         derived objects, just set properties when creating the objects via
15985         g_object_new.
15986         (gst_pad_get_parent): Implement as a function, return NULL if the
15987         parent is not an element.
15988         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15989         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15990         
15991         * gst/gstobject.c (gst_object_class_init): Make name a construct
15992         property. Don't set it in the object init.
15993
15994         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15995         with UNKNOWN direction.
15996         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15997         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15998         (gst_element_remove_pad): Remove ghost-pad special cases.
15999         (gst_element_pads_activate): Remove rpad cruft.
16000
16001         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16002         catch the pad's-parent-not-an-element case.
16003
16004         * gst/gst.h: Include gstghostpad.h.
16005
16006         * gst/gst.c (init_post): No more real, ghost pads.
16007
16008         * gst/Makefile.am: Add gstghostpad.[ch].
16009
16010         * check/Makefile.am:
16011         * check/gst/gstbin.c:
16012         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16013         into a bin creates ghost pads, and that the refcounts are right.
16014         Partly moved from gstbin.c.
16015
16016 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16017
16018         * check/gst-libs/.cvsignore:
16019         * check/gst/.cvsignore:
16020         * check/pipelines/.cvsignore:
16021           ignore more
16022         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16023         (START_TEST), (cleanup_suite), (main):
16024           add some tests related to cleanup after running pipelines
16025
16026 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16027
16028         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16029           add a testsuite for GstBuffer
16030
16031 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16032
16033         * gst/gstminiobject.h:
16034           add defines for accessing the refcount
16035
16036 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16037
16038         * Makefile.am: added support for html unit test coverage reports
16039
16040 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16041
16042         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16043           Free existing caps if the capsfilter changes. Add a FIXME about
16044           setting those caps on the pads.
16045
16046         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16047           Before adding a ghost pad to a parent bin, check that there isn't
16048           already one for the element on the bin. Prevents infinite recursion
16049           when using decodebin in parse pipelines. Andy says he'll rewrite the
16050           way this works anyway, so ignore the hack.
16051
16052 2005-06-02  Andy Wingo  <wingo@pobox.com>
16053
16054         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16055         file size, pass it on to the type find helper.
16056
16057         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16058         segment_start and segment_end properly according to the seek
16059         method. Segment_end is still a bit flaky because offset can be
16060         negative for CUR and END cases, but it takes -1 as an "unset"
16061         value.
16062
16063 2005-06-02  Wim Taymans  <wim@fluendo.com>
16064
16065         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16066         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16067         (gst_basesink_activate):
16068         * gst/base/gstbasesink.h:
16069         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16070         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16071         (gst_pad_query), (gst_pad_start_task):
16072         * gst/gstpad.h:
16073         * gst/gstqueue.c: (gst_queue_bufferalloc),
16074         (gst_queue_handle_sink_event), (gst_queue_chain):
16075         Bufferalloc: return GstFlowReturn to more accuratly report
16076         why allocation failed.
16077
16078 2005-06-02  Wim Taymans  <wim@fluendo.com>
16079
16080         * gst/gstpipeline.c: (gst_pipeline_send_event):
16081         Take snapshot of state without blocking.
16082
16083 2005-06-02  Wim Taymans  <wim@fluendo.com>
16084
16085         * docs/design/part-TODO.txt:
16086         * docs/design/part-caps.txt:
16087         * docs/design/part-clocks.txt:
16088         * docs/design/part-negotiation.txt:
16089         * docs/design/part-preroll.txt:
16090         Small doc updates 
16091
16092 2005-05-30  Wim Taymans  <wim@fluendo.com>
16093
16094         * gst/elements/gstidentity.c: (gst_identity_event),
16095         (gst_identity_transform), (gst_identity_get_property):
16096         Protect last_message property as it is accessed from
16097         multiple threads.
16098
16099 2005-05-30  Wim Taymans  <wim@fluendo.com>
16100
16101         * gst/gstelement.c: (gst_element_init),
16102         (gst_element_pads_activate), (gst_element_change_state):
16103         Slicker pad activation code.
16104
16105 2005-05-30  Wim Taymans  <wim@fluendo.com>
16106
16107         * gst/Makefile.am:
16108         * gst/gstelement.h:
16109         * gst/gstelementfactory.h:
16110         * gst/gsttypes.h:
16111         Move elementfactory methods to separate .h file.
16112
16113 2005-05-30  Wim Taymans  <wim@fluendo.com>
16114
16115         * docs/design/part-overview.txt:
16116         * gst/gstsystemclock.h:
16117         Small typo fixes, doc updates.
16118
16119 2005-05-30  Wim Taymans  <wim@fluendo.com>
16120
16121         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16122         (init_popt_callback):
16123         Remove cpu-opt flag.
16124
16125 2005-05-30  Wim Taymans  <wim@fluendo.com>
16126
16127         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16128         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16129         * gst/gstbuffer.h:
16130         Avoid typechecking in places where not needed.
16131         Added accessor for malloc_data.
16132
16133 2005-05-30  Wim Taymans  <wim@fluendo.com>
16134
16135         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16136         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16137         (gst_pad_configure_sink), (gst_pad_configure_src),
16138         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16139         (gst_pad_start_task):
16140         Propagate errors from _set_caps() in configure_src/sink
16141         functions instead of returning TRUE.
16142         FLUSH events can travel up and downstream
16143
16144
16145 2005-05-30  Wim Taymans  <wim@fluendo.com>
16146
16147         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16148         (gst_basesink_activate):
16149         Handle EOS in preroll.
16150
16151 2005-05-30  Wim Taymans  <wim@fluendo.com>
16152
16153         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16154         (gst_queue_loop), (gst_queue_handle_src_event):
16155         Remove old pieces of code
16156         Flushing the queue in an upstream event is a very bad idea.
16157
16158 2005-05-26  Andy Wingo  <wingo@pobox.com>
16159
16160         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16161         gst_value_set_mini_object so as to add a ref on the object (which
16162         will be removed when the value is unset).
16163
16164         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16165         arg type in ::handoff.
16166
16167         * gst/gstelement.c (gst_element_change_state): Also deactivate
16168         pads in READY->NULL, just in case the element didn't make it to
16169         PAUSED. Wingo tested, Wim approved.
16170
16171 2005-05-26  Wim Taymans  <wim@fluendo.com>
16172
16173         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16174         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16175         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16176         A flushing pad cannot be used to alloc_buffer from.
16177
16178 2005-05-26  Wim Taymans  <wim@fluendo.com>
16179
16180         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16181         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16182         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16183         (gst_bus_create_watch), (gst_bus_add_watch_full):
16184         * gst/gstbus.h:
16185         Implement a real GSource and use g_main_context_wakeup() to
16186         signal new messages instead of the socketpair.
16187
16188 2005-05-25  Wim Taymans  <wim@fluendo.com>
16189
16190         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16191         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16192         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16193         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16194         (gst_pad_send_event), (gst_pad_start_task):
16195         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16196         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16197         (gst_queue_sink_activate), (gst_queue_src_activate),
16198         (gst_queue_change_state):
16199         * gst/gstqueue.h:
16200         Fix state changes for non sinks. We now change sinks, then elements
16201         with unconnected srcpads, then the rest.
16202         More efficient queue unlocking in flush and state changes.
16203         Set the pad activate mode even if it does not have an activate
16204         function.
16205
16206 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16207
16208         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16209           Don't go in pull mode for non-seekable sources.
16210         * gst/elements/gsttypefindelement.h:
16211         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16212         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16213         (free_entry), (stop_typefinding),
16214         (gst_type_find_element_handle_event), (find_peek),
16215         (gst_type_find_element_chain), (do_pull_typefind),
16216         (gst_type_find_element_change_state):
16217           Allow typefinding (w/o seeking) in push-mode, simplified version
16218           of what was in 0.8.
16219         * gst/gstutils.c: (gst_buffer_join):
16220         * gst/gstutils.h:
16221           gst_buffer_join() from 0.8.
16222
16223 2005-05-25  Wim Taymans  <wim@fluendo.com>
16224
16225         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16226         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16227         (gst_pad_send_event), (gst_pad_start_task):
16228         Disable attempt at mode switching until it is figured out.
16229
16230 2005-05-25  Wim Taymans  <wim@fluendo.com>
16231
16232         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16233         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16234         (gst_basesink_finish_preroll), (gst_basesink_chain),
16235         (gst_basesink_loop), (gst_basesink_activate),
16236         (gst_basesink_change_state):
16237         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16238         (gst_basesrc_get_range), (gst_basesrc_loop),
16239         (gst_basesrc_activate):
16240         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16241         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16242         (gst_real_pad_init), (gst_real_pad_set_property),
16243         (gst_real_pad_get_property), (gst_pad_set_active),
16244         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16245         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16246         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16247         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16248         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16249         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16250         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16251         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16252         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16253         (gst_pad_stop_task):
16254         * gst/gstpad.h:
16255         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16256         (gst_queue_loop), (gst_queue_src_activate):
16257         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16258         (gst_task_get_state):
16259         * gst/gsttask.h:
16260         * gst/schedulers/threadscheduler.c:
16261         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16262         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16263         in task function.
16264         Remove ACTIVE pad flag, use FLUSHING everywhere
16265         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16266         functions.
16267         Add locks around IS_FLUSHING when reading.
16268         Take STREAM lock in chain(), get_range() functions so plugins
16269         don't need to take it anymore.
16270         
16271
16272
16273 2005-05-25  Wim Taymans  <wim@fluendo.com>
16274
16275         * tools/gst-launch.c: (event_loop):
16276         Unref message after using its contents instead of
16277         before.
16278
16279 2005-05-24  Wim Taymans  <wim@fluendo.com>
16280
16281         * docs/design/draft-ghostpads.txt:
16282         * docs/design/draft-push-pull.txt:
16283         * docs/design/draft-query.txt:
16284         * docs/design/part-overview.txt:
16285         Docs updates, added general overview doc.
16286
16287 2005-05-21  David Schleef  <ds@schleef.org>
16288
16289         * docs/gst/tmpl/old/GstBin.sgml:
16290         * docs/gst/tmpl/old/GstBuffer.sgml:
16291         * docs/gst/tmpl/old/GstCaps.sgml:
16292         * docs/gst/tmpl/old/GstClock.sgml:
16293         * docs/gst/tmpl/old/GstCompat.sgml:
16294         * docs/gst/tmpl/old/GstData.sgml:
16295         * docs/gst/tmpl/old/GstElement.sgml:
16296         * docs/gst/tmpl/old/GstEvent.sgml:
16297         * docs/gst/tmpl/old/GstIndex.sgml:
16298         * docs/gst/tmpl/old/GstStructure.sgml:
16299         * docs/gst/tmpl/old/GstTag.sgml:
16300         * docs/gst/tmpl/old/cothreads.sgml:
16301         * docs/gst/tmpl/old/cothreads_compat.sgml:
16302         * docs/gst/tmpl/old/gettext.sgml:
16303         * docs/gst/tmpl/old/gobject2gtk.sgml:
16304         * docs/gst/tmpl/old/grammar.tab.sgml:
16305         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16306         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16307         * docs/gst/tmpl/old/gst_private.sgml:
16308         * docs/gst/tmpl/old/gstaggregator.sgml:
16309         * docs/gst/tmpl/old/gstarch.sgml:
16310         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16311         * docs/gst/tmpl/old/gstbufferstore.sgml:
16312         * docs/gst/tmpl/old/gstdata_private.sgml:
16313         * docs/gst/tmpl/old/gstdisksink.sgml:
16314         * docs/gst/tmpl/old/gstdisksrc.sgml:
16315         * docs/gst/tmpl/old/gstelementfactory.sgml:
16316         * docs/gst/tmpl/old/gstextratypes.sgml:
16317         * docs/gst/tmpl/old/gstfakesink.sgml:
16318         * docs/gst/tmpl/old/gstfakesrc.sgml:
16319         * docs/gst/tmpl/old/gstfdsink.sgml:
16320         * docs/gst/tmpl/old/gstfdsrc.sgml:
16321         * docs/gst/tmpl/old/gstfilesink.sgml:
16322         * docs/gst/tmpl/old/gstfilesrc.sgml:
16323         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16324         * docs/gst/tmpl/old/gstidentity.sgml:
16325         * docs/gst/tmpl/old/gstindexfactory.sgml:
16326         * docs/gst/tmpl/old/gstmarshal.sgml:
16327         * docs/gst/tmpl/old/gstmd5sink.sgml:
16328         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16329         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16330         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16331         * docs/gst/tmpl/old/gstpipefilter.sgml:
16332         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16333         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16334         * docs/gst/tmpl/old/gstshaper.sgml:
16335         * docs/gst/tmpl/old/gstspider.sgml:
16336         * docs/gst/tmpl/old/gstspideridentity.sgml:
16337         * docs/gst/tmpl/old/gststatistics.sgml:
16338         * docs/gst/tmpl/old/gsttee.sgml:
16339         * docs/gst/tmpl/old/gsttimecache.sgml:
16340         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16341         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16342         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16343         * docs/gst/tmpl/old/types.sgml:
16344           I didn't intend to add these or check them in.
16345
16346 2005-05-19  David Schleef  <ds@schleef.org>
16347
16348         * configure.ac: Use -no-common everywhere.  In a sane world, it
16349           would be the default in libtool, because without it, you can't
16350           build DLLs on Windows.
16351         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16352         * docs/gst/gstreamer-sections.txt:
16353         * docs/gst/tmpl/gstcpu.sgml:
16354         * docs/gst/tmpl/gstdata.sgml:
16355         * docs/gst/tmpl/gstthread.sgml:
16356
16357 2005-05-19  David Schleef  <ds@schleef.org>
16358
16359         * gst/gstminiobject.c: (gst_value_set_mini_object),
16360         (gst_value_take_mini_object), (gst_value_get_mini_object):
16361         * gst/gstminiobject.h: Add GValue set/get functions.
16362
16363 2005-05-19  Wim Taymans  <wim@fluendo.com>
16364
16365         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16366         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16367         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16368         * gst/gstbuffer.h:
16369         * gst/gstbus.c: (gst_bus_post):
16370         * gst/gstelement.c: (gst_element_get_random_pad):
16371         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16372         Make subbufer unref the parent in finalize.
16373         some more debugging info.
16374
16375
16376 2005-05-19  Wim Taymans  <wim@fluendo.com>
16377
16378         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16379         (gst_basesink_init), (gst_basesink_finalize),
16380         (gst_basesink_activate), (gst_basesink_change_state):
16381         Don't free preroll queue too early.
16382
16383 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16384
16385         * gst/Makefile.am:
16386         * gst/ROADMAP:
16387           Hi, I'm outdated. Please shoot me.
16388
16389 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16390
16391         * gst/gstpipeline.c: (gst_pipeline_send_event):
16392           Do not access variables after they have been deleted.
16393
16394 2005-05-19  Wim Taymans  <wim@fluendo.com>
16395
16396         * tools/gst-inspect.c: (print_plugin_features):
16397         A plugin feature does unfortunatly not use the
16398         object name yet...
16399
16400 2005-05-18  Wim Taymans  <wim@fluendo.com>
16401
16402         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16403         Port _span() functions to new subbuffers.
16404
16405 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16406
16407         * gst/gstbin.c: (gst_bin_add_func):
16408           Fix clock settery in bins when adding kids after the clock has
16409           been selected.
16410
16411 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16412
16413         * gst/elements/gstidentity.c: (gst_identity_class_init):
16414           Workaround until signals support GstMiniObject.
16415
16416 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16417
16418         * gst/gstbuffer.c:
16419         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16420
16421 2005-05-18  Wim Taymans  <wim@fluendo.com>
16422
16423         * gst/base/Makefile.am:
16424         * gst/base/gstadapter.c: (gst_adapter_base_init),
16425         (gst_adapter_class_init), (gst_adapter_init),
16426         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16427         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16428         (gst_adapter_flush), (gst_adapter_available),
16429         (gst_adapter_available_fast):
16430         * gst/base/gstadapter.h:
16431         Ported and added adapter to the base classes.
16432
16433 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16434
16435         * gst/gst.c:
16436         * gst/gstmessage.c:
16437           Make sure the class is reffed/unreffed once before threads can be
16438           used.  Fixes #304551.
16439
16440 2005-05-17  Wim Taymans  <wim@fluendo.com>
16441
16442         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16443         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16444         * gst/gstminiobject.c: (gst_mini_object_get_type),
16445         (gst_mini_object_free):
16446         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16447         (gst_pad_push), (gst_pad_push_event):
16448         * gst/gstqueue.c: (gst_queue_change_state):
16449         Don't queue buffers in basesink when we are flushing.
16450         Unref buffer when flushing in basesink.
16451         Flush queue when going to READY
16452         Unref buffer when _push() returns an error.
16453         Don't free MiniObject instance when refcount is incremented
16454         in _finalize() so that we can recover objects.
16455
16456 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16457
16458         * docs/manual/advanced-schedulers.xml:
16459         * docs/manual/appendix-checklist.xml:
16460         * docs/pwg/advanced-clock.xml:
16461         * docs/pwg/advanced-interfaces.xml:
16462         * docs/pwg/advanced-request.xml:
16463         * docs/pwg/advanced-types.xml:
16464         * docs/pwg/intro-preface.xml:
16465         * examples/plugins/example.c: (gst_example_get_type),
16466         (gst_example_class_init), (gst_example_chain),
16467         (gst_example_set_property), (gst_example_get_property),
16468         (gst_example_change_state), (plugin_init):
16469         * examples/plugins/example.h:
16470           small doc fixes
16471
16472 2005-05-17  Wim Taymans  <wim@fluendo.com>
16473
16474         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16475         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16476         * gst/gstqueue.c: (gst_queue_change_state):
16477         Clear queue when going to READY.
16478         Remove IN_SETCAPS flag too.
16479
16480 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16481
16482         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16483           Remove implicit cast from gboolean to GstElementStateReturn;
16484           make sure we still return failure in paused => ready case if
16485           the parent class fails to change state and our own stop 
16486           vfunc succeeds.
16487
16488 2005-05-17  Wim Taymans  <wim@fluendo.com>
16489
16490         * tools/gst-launch.c: (event_loop):
16491         Message was unreffed too soon.
16492
16493 2005-05-16  Andy Wingo  <wingo@pobox.com>
16494
16495         * gst/gstbin.c (sink_iterator_filter): Err... um...
16496
16497         * check/gst/gstbin.c (test_ghost_pads): New test for the
16498         ghosting-if-elements-not-in-same-bin behavior.
16499
16500 2005-05-16  David Schleef  <ds@schleef.org>
16501
16502         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16503         accessing refcount directly.
16504
16505 2005-05-15  David Schleef  <ds@schleef.org>
16506
16507         * check/Makefile.am: remove GstData checks
16508         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16509         * gst/Makefile.am: add miniobject, remove data
16510         * gst/gst.h: add miniobject, remove data
16511         * gst/gstdata.c: remove
16512         * gst/gstdata.h: remove
16513         * gst/gstdata_private.h: remove
16514         * gst/gsttypes.h: remove GstEvent and GstMessage
16515         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16516         * gst/gstmarshal.list: change BOXED -> OBJECT
16517
16518         Implement GstMiniObject.
16519         * gst/gstminiobject.c:
16520         * gst/gstminiobject.h:
16521
16522         Modify to be subclasses of GstMiniObject.
16523         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16524         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16525         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16526         (gst_subbuffer_get_type), (gst_subbuffer_init),
16527         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16528         (gst_buffer_span):
16529         * gst/gstbuffer.h:
16530         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16531         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16532         (_gst_event_copy), (gst_event_new):
16533         * gst/gstevent.h:
16534         * gst/gstmessage.c: (_gst_message_initialize),
16535         (gst_message_get_type), (gst_message_class_init),
16536         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16537         (gst_message_new), (gst_message_new_error),
16538         (gst_message_new_warning), (gst_message_new_tag),
16539         (gst_message_new_state_changed), (gst_message_new_application):
16540         * gst/gstmessage.h:
16541         * gst/gstprobe.c: (gst_probe_perform),
16542         (gst_probe_dispatcher_dispatch):
16543         * gst/gstprobe.h:
16544         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16545         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16546         (_gst_query_copy), (gst_query_new):
16547
16548         Update elements for GstData -> GstMiniObject changes
16549         * gst/gstquery.h:
16550         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16551         (gst_queue_chain), (gst_queue_loop):
16552         * gst/elements/gstbufferstore.c:
16553         (gst_buffer_store_add_buffer_func),
16554         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16555         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16556         (gst_fakesink_render):
16557         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16558         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16559         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16560         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16561         (gst_filesrc_create_read):
16562         * gst/elements/gstidentity.c: (gst_identity_class_init):
16563         * gst/elements/gsttypefindelement.c:
16564         (gst_type_find_element_src_event), (free_entry_buffers),
16565         (gst_type_find_element_handle_event):
16566         * libs/gst/dataprotocol/dataprotocol.c:
16567         (gst_dp_header_from_buffer):
16568         * libs/gst/dataprotocol/dataprotocol.h:
16569         * libs/gst/dataprotocol/dp-private.h:
16570
16571 2005-05-15  David Schleef  <ds@schleef.org>
16572
16573         * gst/elements/gstelements.c: Don't include headers that were
16574         just removed.
16575
16576 2005-05-15  David Schleef  <ds@schleef.org>
16577
16578         * gst/elements/Makefile.am: Remove some elements that don't
16579         need to be in the core (or even exist at all).
16580         * gst/elements/gstaggregator.c:
16581         * gst/elements/gstaggregator.h:
16582         * gst/elements/gstmd5sink.c:
16583         * gst/elements/gstmd5sink.h:
16584         * gst/elements/gstmultifilesrc.c:
16585         * gst/elements/gstmultifilesrc.h:
16586         * gst/elements/gstpipefilter.c:
16587         * gst/elements/gstpipefilter.h:
16588         * gst/elements/gstshaper.c:
16589         * gst/elements/gstshaper.h:
16590         * gst/elements/gststatistics.c:
16591         * gst/elements/gststatistics.h:
16592         * po/POTFILES.in: Remove above files.
16593
16594 2005-05-14  Andy Wingo  <wingo@pobox.com>
16595
16596         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16597         so as to get the refs right.
16598         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16599         unreffing objects that don't pass the filter.
16600
16601         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16602         gst_element_set_bus.
16603         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16604         normal cases, this will destroy the bus.
16605
16606         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16607         object.
16608
16609         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16610         has no sinks.
16611
16612 2005-05-13  Andy Wingo  <wingo@pobox.com>
16613
16614         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16615         gst_pad_link, call pad_link_maybe_ghosting,
16616         (pad_link_maybe_ghosting): Links pads, making sure that the
16617         elements being linked are in the same bin.
16618         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16619         Helpers for pad_link_maybe_ghosting.
16620
16621 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16622
16623         * configure.ac:
16624           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16625
16626 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16627
16628         * docs/design/part-element-source.txt:
16629           Mention GstPushSrc
16630
16631 2005-05-12  Wim Taymans  <wim@fluendo.com>
16632
16633         * gst/base/gstbasesink.c: (gst_basesink_init),
16634         (gst_basesink_activate):
16635         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16636         (gst_basesrc_is_seekable):
16637         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16638         (bin_element_is_sink), (gst_bin_change_state):
16639         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16640         * gst/gstelement.h:
16641         Identify sinks by their flag to avoid overly complicated
16642         checks (fow now).
16643         Do state changes even for elements not reachable from the
16644         sinks.
16645         BaseSink is a sink now :)
16646         Some more debugging info in the basesrc.
16647
16648
16649 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16650
16651         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16652           Implement _query on a bin, similar to _send_event.
16653
16654 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16655
16656         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16657           Discont event offset format should be GST_FORMAT_BYTES,
16658           not GST_FORMAT_TIME.
16659
16660 2005-05-12  Wim Taymans  <wim@fluendo.com>
16661
16662         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16663         Same fix as Ronald's but without the signal. 
16664
16665 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16666
16667         * gst/gstutils.c: (gst_element_query_position):
16668           No, an element is not a pad.
16669
16670 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16671
16672         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16673         (gst_bin_get_state):
16674           If a child is removed from a bin while we remove the child from
16675           the bin and while we're retrieving its state, signal this to the
16676           get_state function so we abort the wait (instead of waiting for
16677           a timeout) and can immediately re-iterate over all other elements.
16678
16679 2005-05-12  Wim Taymans  <wim@fluendo.com>
16680
16681         * gst/base/Makefile.am:
16682         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16683         (gst_basesrc_start):
16684         * gst/base/gstbasesrc.h:
16685         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16686         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16687         (gst_pushsrc_init), (gst_pushsrc_create):
16688         * gst/base/gstpushsrc.h:
16689         Added is_seekable to BaseSrc
16690         Added simple PushSrc.
16691
16692 2005-05-11  Wim Taymans  <wim@fluendo.com>
16693
16694         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16695         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16696         (gst_element_link_pads), (gst_element_query_position),
16697         (gst_element_query_convert), (intersect_caps_func),
16698         (gst_pad_query_position), (gst_pad_query_convert):
16699         Fix refcounting in utils function.
16700         No point in trying to activate a pad when it's added, it could
16701         be added from the state change function and then we deadlock, the
16702         element has to decide what to do.
16703
16704 2005-05-10  Andy Wingo  <wingo@pobox.com>
16705
16706         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16707         *all* the arguments.
16708
16709         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16710         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16711         lock (according to the docs -- if this is wrong change the docs).
16712
16713         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16714         flush messages in the NULL state.
16715
16716         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16717         message immediately and return.
16718         (gst_bus_set_flushing): New function. If a bus is flushing, it
16719         flushes out any queued messages and immediately unrefs new
16720         messages. This is so when an element goes to NULL, all of the
16721         unhandled messages coming from it can be freed, and their
16722         references to the element dropped. In other words: message source
16723         ref considered harmful :P
16724
16725         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16726         we're finished with it.
16727
16728         * gst/gstmessage.c (gst_message_new_state_changed): 
16729
16730 2005-05-10  Wim Taymans  <wim@fluendo.com>
16731
16732         * gst/gstvalue.c: (gst_value_compare_flags),
16733         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16734         (_gst_value_initialize):
16735         Added flags serialize/deserialize/compare code.
16736
16737 2005-05-09  Andy Wingo  <wingo@pobox.com>
16738
16739         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16740         Intersect the peer's caps with our caps.
16741
16742 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16743
16744         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16745         * gst/elements/gsttypefindelement.c: (find_peek):
16746           Handle negative offsets better. Fixes decodebin.
16747
16748 2005-05-09  Wim Taymans  <wim@fluendo.com>
16749
16750         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16751         (gst_base_transform_event):
16752         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16753         Implement accept_caps.
16754         Fix silly lock/unlock mismatch in base class.
16755
16756 2005-05-09  Wim Taymans  <wim@fluendo.com>
16757
16758         * docs/design/draft-push-pull.txt:
16759         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16760         * gst/elements/gstfilesink.c: (gst_filesink_init),
16761         (gst_filesink_query):
16762         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16763         (gst_type_find_handle_src_query), (find_element_get_length):
16764         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16765         * gst/gstelement.h:
16766         * gst/gstmessage.c:
16767         * gst/gstmessage.h:
16768         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16769         (gst_real_pad_get_caps_unlocked),
16770         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16771         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16772         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16773         (gst_real_pad_dispose), (gst_real_pad_finalize),
16774         (gst_pad_load_and_link), (gst_pad_save_thyself),
16775         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16776         (gst_pad_check_pull_range), (gst_pad_pull_range),
16777         (gst_pad_template_get_type), (gst_pad_template_class_init),
16778         (gst_pad_template_init), (gst_pad_template_dispose),
16779         (name_is_valid), (gst_static_pad_template_get),
16780         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16781         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16782         (gst_pad_get_element_private), (gst_pad_start_task),
16783         (gst_pad_pause_task), (gst_pad_stop_task),
16784         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16785         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16786         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16787         (gst_ghost_pad_new):
16788         * gst/gstpad.h:
16789         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16790         (gst_query_new_position), (gst_query_set_position),
16791         (gst_query_parse_position), (gst_query_new_convert),
16792         (gst_query_set_convert), (gst_query_parse_convert):
16793         * gst/gstquery.h:
16794         * gst/gstqueryutils.c:
16795         * gst/gstqueryutils.h:
16796         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16797         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16798         (gst_queue_handle_src_query):
16799         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16800         (gst_element_query_position), (gst_element_query_convert),
16801         (intersect_caps_func), (gst_pad_query_position),
16802         (gst_pad_query_convert):
16803         * gst/gstutils.h:
16804         * tools/gst-inspect.c: (print_pad_info):
16805         * tools/gst-xmlinspect.c: (print_element_info):
16806         Remove old query functions. Ported old code.
16807         Added position/convert helper functions to gstutils.
16808         Reordered gstpad.c code, grouping relevant things.
16809         Remove gst_message_new(), always need to speficy a specific
16810         message.
16811
16812
16813 2005-05-09  Andy Wingo  <wingo@pobox.com>
16814
16815         * gst/gstiterator.h: Add some includes.
16816
16817         * gst/gstqueryutils.h: Include more headers.
16818
16819         * gst/gstpad.h:
16820         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16821         some uses of gst_pad_query.
16822
16823         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16824         NULL out parameters.
16825         (gst_query_new_position): New proc, allocates a new position
16826         query.
16827
16828         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16829         gstqueryutils.c to the build.
16830
16831         * gst/gststructure.c (gst_structure_set_valist): Implement with
16832         the generic G_VALUE_COLLECT.
16833         
16834 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16835
16836         * gst/Makefile.am: (gst_headers):
16837         Added gstqueryutils.h to the list of headers to install, that was
16838         a 'nachty' move wingo :)
16839
16840 2005-05-06  Andy Wingo  <wingo@pobox.com>
16841
16842         * gst/gstquery.h
16843         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16844         GstData, init a memchunk.
16845         (standard_definitions): Add a few query types, deprecate a few.
16846         (gst_query_get_type): New proc.
16847         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16848         implementation.
16849         (gst_query_new_application, gst_query_get_structure): New public
16850         procs.
16851
16852         * docs/design/draft-query.txt: Removed LINKS from the query types,
16853         because all the rest can be dispatched to other pads -- seemed
16854         ugly to have a query that couldn't be dispatched. internal_links
16855         is fine as a pad method.
16856
16857         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16858         in gstpad.c, but maintain binary compatibility for the moment.
16859         Will fix before 0.9 is out.
16860
16861         * gst/gstqueryutils.c: 
16862         * gst/gstqueryutils.h: New files, implement 3 methods for each
16863         query type: parse_query, parse_response, and set. Probably need an
16864         allocator as well.
16865
16866         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16867
16868         * gst/elements/gstfilesink.c (gst_filesink_query2):
16869         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16870         query_types, and formats methods.
16871
16872         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16873         (gst_pad_set_query2_function): New functions.
16874         (gst_real_pad_init): Set query2_default as the default query2
16875         function. Basically just dispatches to internally linked pads.
16876
16877         Needs review!
16878         
16879         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16880         without using the atomic operations. Only one thread can possibly
16881         be accessing the data at this point. Changed so as to avoid
16882         gst_atomic operations.
16883
16884 2005-05-06  Wim Taymans  <wim@fluendo.com>
16885
16886         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16887         Also set caps if we use the fallback buffer alloc.
16888
16889 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16890
16891         * docs/gst/Makefile.am:
16892         * docs/gst/gstreamer-docs.sgml:
16893         * docs/gst/gstreamer-sections.txt:
16894         * docs/gst/tmpl/gstatomic.sgml:
16895         * docs/gst/tmpl/gstmemchunk.sgml:
16896         * testsuite/elements/struct_i386.h:
16897         * win32/GStreamer.vcproj:
16898         * win32/Makefile:
16899           Purge GstAtomic stuff from docs and win32 makefiles as well
16900
16901 2005-05-06  Wim Taymans  <wim@fluendo.com>
16902
16903         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16904         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16905         * gst/gstpad.c: (gst_pad_peer_get_caps):
16906         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16907         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16908         (gst_queue_src_activate), (gst_queue_change_state):
16909         * gst/gstqueue.h:
16910         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16911         (intersect_caps_func):
16912         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16913         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16914         Some fixes for the peer_get_caps() change.
16915
16916 2005-05-06  Wim Taymans  <wim@fluendo.com>
16917
16918         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16919         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16920         (gst_basesink_activate):
16921         Actually do something with error codes returned from the push
16922         functions.
16923
16924 2005-05-06  Wim Taymans  <wim@fluendo.com>
16925
16926         * docs/design/part-element-sink.txt:
16927         * docs/design/part-element-source.txt:
16928         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16929         (gst_basesink_event), (gst_basesink_activate):
16930         * gst/base/gstbasesink.h:
16931         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16932         (gst_basesrc_activate):
16933         * gst/base/gstbasesrc.h:
16934         * gst/gstelement.c: (gst_element_pads_activate):
16935         Some more documentation.
16936         Fixed scheduling decision in _pads_activate().
16937
16938 2005-05-05  Andy Wingo  <wingo@pobox.com>
16939
16940         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16941         the test suite.
16942
16943 2005-05-05  Wim Taymans  <wim@fluendo.com>
16944
16945         * gst/base/Makefile.am:
16946         * gst/base/gstbasesink.h:
16947         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16948         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16949         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16950         (gst_collectpads_class_init), (gst_collectpads_init),
16951         (gst_collectpads_finalize), (gst_collectpads_new),
16952         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16953         (find_pad), (gst_collectpads_remove_pad),
16954         (gst_collectpads_is_active), (gst_collectpads_collect),
16955         (gst_collectpads_collect_range), (gst_collectpads_start),
16956         (gst_collectpads_stop), (gst_collectpads_peek),
16957         (gst_collectpads_pop), (gst_collectpads_available),
16958         (gst_collectpads_read), (gst_collectpads_flush),
16959         (gst_collectpads_chain):
16960         * gst/base/gstcollectpads.h:
16961         * gst/elements/Makefile.am:
16962         * gst/elements/gstelements.c:
16963         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16964         (gst_fakesink_get_times), (gst_fakesink_event),
16965         (gst_fakesink_preroll), (gst_fakesink_render):
16966         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16967         (gst_filesink_init), (gst_filesink_set_location),
16968         (gst_filesink_open_file), (gst_filesink_close_file),
16969         (gst_filesink_pad_query), (gst_filesink_event),
16970         (gst_filesink_render), (gst_filesink_change_state):
16971         * gst/elements/gstfilesink.h:
16972         Added object to help in making collect pad based elements.
16973         Ported filesink.
16974         Make event function in sink baseclass return gboolean.
16975
16976 2005-05-05  Wim Taymans  <wim@fluendo.com>
16977
16978         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16979         (gst_bin_get_by_name):
16980         * gst/gstbuffer.h:
16981         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16982         (gst_clock_finalize):
16983         * gst/gstdata.c: (gst_data_replace):
16984         * gst/gstdata.h:
16985         * gst/gstelement.c: (gst_element_request_pad),
16986         (gst_element_pads_activate):
16987         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16988         (gst_object_unref):
16989         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16990         (gst_pad_set_checkgetrange_function),
16991         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16992         (gst_pad_check_pull_range), (gst_pad_pull_range),
16993         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16994         (gst_pad_pause_task), (gst_pad_stop_task):
16995         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16996         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16997         Fix name lookup in GstBin.
16998         Added _data_replace() function and _buffer_replace()
16999         Use finalize method to clean up clock.
17000         Fix refcounting on request pads.
17001         Fix pad schedule mode error.
17002         Some more object refcounting debug info,
17003
17004
17005 2005-05-04  Andy Wingo <wingo@pobox.com>
17006
17007         * check/Makefile.am:
17008         * docs/gst/tmpl/gstatomic.sgml:
17009         * docs/gst/tmpl/gstplugin.sgml:
17010         * gst/base/gstbasesink.c: (gst_basesink_activate):
17011         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17012         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17013         (gst_basesrc_query), (gst_basesrc_set_property),
17014         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17015         (gst_basesrc_activate):
17016         * gst/base/gstbasesrc.h:
17017         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17018         (gst_base_transform_src_activate):
17019         * gst/elements/gstelements.c:
17020         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17021         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17022         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17023         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17024         (gst_type_find_element_checkgetrange),
17025         (gst_type_find_element_activate):
17026         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17027         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17028         (gst_caps_load_thyself):
17029         * gst/gstelement.c: (gst_element_pads_activate),
17030         (gst_element_save_thyself), (gst_element_restore_thyself):
17031         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17032         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17033         * gst/gstpad.h:
17034         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17035         (gst_xml_parse_file), (gst_xml_parse_memory),
17036         (gst_xml_get_element), (gst_xml_make_element):
17037         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17038         (_file_index_id_save_xml), (gst_file_index_commit):
17039         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17040         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17041         (load_paths):
17042         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17043         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17044         * tools/gst-complete.c: (main):
17045         * tools/gst-compprep.c: (main):
17046         * tools/gst-inspect.c: (print_element_properties_info):
17047         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17048         * tools/gst-xmlinspect.c: (print_element_properties):
17049         GCC 4 fixen.
17050         
17051 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17052
17053         * gst/gstplugin.c: (gst_plugin_check_module),
17054         (gst_plugin_check_file), (gst_plugin_load_file):
17055             apply patch from #172526 to make register work on MacOSX
17056
17057 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17058
17059         * docs/gst/tmpl/gstconfig.sgml:
17060         * gst/gstconfig.h.in:
17061           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17062         * testsuite/debug/printf_extension.c: (main):
17063           Do not use GST_PTR_FORMAT on pointers to types with
17064           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17065         * testsuite/elements/property.h:
17066           use correct printf format
17067
17068 2005-05-02  Wim Taymans  <wim@fluendo.com>
17069
17070         * docs/design/draft-push-pull.txt:
17071         * docs/design/draft-query.txt:
17072         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17073         (gst_basesrc_start):
17074         Added draft for new query API.
17075         Added draft for better selecting scheduling methods.
17076         Make basesrc ignore length if the subclass does not support
17077         it.
17078
17079 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17080
17081         * gst/Makefile.am:
17082           possible fixes for automake-1.5 - _LIBADD is reserved
17083
17084 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17085
17086         * docs/faq/Makefile.am:
17087         * docs/manual/Makefile.am:
17088         * docs/manuals.mak:
17089         * docs/pwg/Makefile.am:
17090         * gst/Makefile.am:
17091           possible fixes for automake-1.5
17092
17093 2005-04-28  Wim Taymans  <wim@fluendo.com>
17094
17095         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17096         (gst_basesink_pad_getcaps), (gst_basesink_init),
17097         (gst_basesink_do_sync):
17098         * gst/gstclock.c: (gst_clock_entry_new):
17099         * gst/gstevent.c: (gst_event_discont_get_value):
17100         * gst/gstpipeline.c: (pipeline_bus_handler),
17101         (gst_pipeline_change_state):
17102         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17103         Better debugging of clocking info.
17104         Allow NULL values when getting discont values.
17105
17106 2005-04-27  Wim Taymans  <wim@fluendo.com>
17107
17108         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17109         * check/gst/gstpad.c: (gst_pad_suite):
17110         Increase timeout for checks.
17111
17112 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17113
17114         * check/Makefile.am:
17115           fix the broken rule for cleanup.  Apparently this rule is
17116           only needed on FC2, so maybe this warrants further autotool
17117           inspection.
17118
17119 2005-04-26  Wim Taymans  <wim@fluendo.com>
17120
17121         * gst/gsttrashstack.h:
17122         Ooohh. a nasty one! After having a failed pop() from the stack,
17123         it's possible that the stack is empty. In that case, don't
17124         follow the NULL pointer.
17125
17126 2005-04-25  Wim Taymans  <wim@fluendo.com>
17127
17128         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17129         (gst_pad_set_checkgetrange_function),
17130         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17131         (gst_pad_check_pull_range), (gst_pad_pull_range),
17132         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17133         (gst_pad_pause_task), (gst_pad_stop_task):
17134         * gst/gstplugin.c: (gst_plugin_load):
17135         * gst/gstplugin.h:
17136         Remove gst_library_load as it does more harm than good with
17137         the new g_module flags.
17138         Revert bogus caps template check in pad linking, pad caps
17139         are important when linking not the template, which is more
17140         general than the current caps.
17141
17142 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17143
17144         * gst/autoplug/.cvsignore:
17145         * gst/autoplug/Makefile.am:
17146         * gst/autoplug/gstsearchfuncs.c:
17147         * gst/autoplug/gstsearchfuncs.h:
17148         * gst/autoplug/gstspider.c:
17149         * gst/autoplug/gstspider.h:
17150         * gst/autoplug/gstspideridentity.c:
17151         * gst/autoplug/gstspideridentity.h:
17152         * gst/autoplug/spidertest.c:
17153           Die, spider, die.
17154
17155 2005-04-25  Wim Taymans  <wim@fluendo.com>
17156
17157         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17158         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17159         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17160         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17161         * gst/gstpad.h:
17162         Added stubs for unimplemented functions. 
17163
17164 2005-04-24  David Schleef  <ds@schleef.org>
17165
17166         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17167         please fix.
17168
17169 2005-04-24  David Schleef  <ds@schleef.org>
17170
17171         Convert everything from GstAtomicInt to g_atomic_int_*, and
17172         remove gstatomic.
17173         * gst/Makefile.am:
17174         * gst/gstatomic.c:
17175         * gst/gstatomic.h:
17176         * gst/gstatomic_impl.h:
17177         * gst/gstbuffer.c:
17178         * gst/gstcaps.c:
17179         * gst/gstcaps.h:
17180         * gst/gstclock.c:
17181         * gst/gstclock.h:
17182         * gst/gstdata.c:
17183         * gst/gstdata.h:
17184         * gst/gstdata_private.h:
17185         * gst/gstevent.c:
17186         * gst/gstinfo.c:
17187         * gst/gstinfo.h:
17188         * gst/gstmessage.c:
17189         * gst/gstobject.c:
17190         * gst/gstobject.h:
17191         * gst/gststructure.c:
17192         * gst/gststructure.h:
17193         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17194         * gst/gstutils.h:
17195
17196 2005-04-24  David Schleef  <ds@schleef.org>
17197
17198         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17199         make the regressions tests work.  Remove some code that is no
17200         longer true.
17201         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17202         Disable warning for pads without templates.
17203
17204 2005-04-24  David Schleef  <ds@schleef.org>
17205
17206         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17207         functions that handle filtered links.
17208         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17209         removed functions.
17210         * gst/gstutils.c: Fix/remove utility functions that handle
17211         filtered caps.
17212         * gst/gstutils.h:
17213         * gst/gstvalue.c: Add serialization/deserialization of caps
17214         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17215         requires fixing so that the filter caps notation creates
17216         a capsfilter element and sets the filter_caps property.  I
17217         think everyone probably wants to keep the shorthand notation.
17218         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17219         * docs/gst/tmpl/gstpad.sgml:
17220
17221         * gst/elements/gstelements.c: Register capsfilter element.
17222         * gst/Makefile.am: fix spacing
17223         * docs/random/ds/0.9-suggested-changes: random
17224
17225 2005-04-23  David Schleef  <ds@schleef.org>
17226
17227         * gst/elements/Makefile.am:
17228         * gst/elements/gstcapsfilter.c: New element that acts like an
17229         identity, but filters caps.  Will eventually replace filtered
17230         caps in pad linking.
17231         * gst/gstutils.c: (gst_element_create_all_pads): New function
17232         to create all the ALWAYS pads that are registered with an
17233         element class.  This functionality should eventually be
17234         merged in with GstElement initialization.
17235         * gst/gstutils.h:
17236         * testsuite/trigger/README: part of trigger test code that should
17237         have been checked in a long time ago.
17238
17239 2005-04-23  David Schleef  <ds@schleef.org>
17240
17241         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17242         needed with new versions of libtool (nobody will confirm this),
17243         and hard to carry around.
17244         * gst/autoplug/Makefile.am:
17245         * gst/base/Makefile.am:
17246         * gst/elements/Makefile.am:
17247         * gst/indexers/Makefile.am:
17248         * gst/schedulers/Makefile.am:
17249         * libs/gst/bytestream/Makefile.am:
17250         * libs/gst/control/Makefile.am:
17251         * libs/gst/dataprotocol/Makefile.am:
17252         * libs/gst/getbits/Makefile.am:
17253
17254 2005-04-21  Wim Taymans  <wim@fluendo.com>
17255
17256         * docs/design/draft-push-pull.txt:
17257         * docs/design/part-MT-refcounting.txt:
17258         * docs/design/part-TODO.txt:
17259         * docs/design/part-caps.txt:
17260         * docs/design/part-events.txt:
17261         * docs/design/part-gstbus.txt:
17262         * docs/design/part-gstpipeline.txt:
17263         * docs/design/part-messages.txt:
17264         * docs/design/part-push-pull.txt:
17265         * docs/design/part-query.txt:
17266         Some more docs.
17267
17268 2005-04-21  Wim Taymans  <wim@fluendo.com>
17269
17270         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17271         (gst_message_new), (gst_message_new_error),
17272         (gst_message_new_warning), (gst_message_new_tag),
17273         (gst_message_new_state_changed), (gst_message_new_application),
17274         (gst_message_get_structure):
17275         * gst/gstmessage.h:
17276         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17277         (gst_structure_copy_conditional):
17278         Use parent refcount in GstMessage to ensure GstStructure
17279         consistency.
17280         Cleaned up headers a bit.
17281         
17282
17283 2005-04-20  Wim Taymans  <wim@fluendo.com>
17284
17285         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17286         (gst_basesink_pad_getcaps), (gst_basesink_init),
17287         (gst_basesink_chain_unlocked):
17288         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17289         (gst_type_find_helper):
17290         * gst/elements/gsttypefindelement.c:
17291         (gst_type_find_element_have_type), (gst_type_find_element_init),
17292         (stop_typefinding), (gst_type_find_element_handle_event),
17293         (find_suggest), (gst_type_find_element_chain),
17294         (gst_type_find_element_checkgetrange),
17295         (gst_type_find_element_getrange), (do_typefind),
17296         (gst_type_find_element_activate):
17297         * gst/gstbuffer.c: (_gst_buffer_sub_free),
17298         (gst_buffer_default_free), (gst_buffer_default_copy),
17299         (gst_buffer_set_caps):
17300         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17301         (gst_caps_replace):
17302         * gst/gstmessage.c: (gst_message_new),
17303         (gst_message_new_state_changed):
17304         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17305         (gst_pad_set_checkgetrange_function),
17306         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17307         (gst_pad_set_caps), (gst_pad_check_pull_range),
17308         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17309         * gst/gstpad.h:
17310         * gst/gsttypefind.c: (gst_type_find_register):
17311         Make gst_caps_replace() work like other _replace() functions.
17312         Use _caps_replace() where possible.
17313         Make sure _message_new() initialises its field.
17314         Add gst_static_pad_template_get_caps()
17315
17316
17317 2005-04-18  Andy Wingo  <wingo@pobox.com>
17318
17319         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17320         on the peer, not the pad. I think that was a typo. Pass an extra
17321         arg to see if random access is possible. Activate the pads as
17322         PULL_RANGE if possible.
17323
17324         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17325
17326         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17327         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17328         to PROP_....
17329
17330 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17331
17332         * docs/faq/using.xml:
17333           Add note on gstreamer-properties (#154996).
17334
17335 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17336
17337         * docs/random/bbb/optional-properties:
17338           Some analysis on optional properties.
17339
17340 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17341
17342         * docs/gst/tmpl/gstelementfactory.sgml:
17343         * gst/gstelement.h:
17344         * gst/gstelementfactory.c: (gst_element_factory_init),
17345         (gst_element_factory_cleanup), (gst_element_register),
17346         (__gst_element_factory_add_static_pad_template),
17347         (gst_element_factory_get_static_pad_templates),
17348         (gst_element_factory_can_src_caps),
17349         (gst_element_factory_can_sink_caps):
17350         * gst/registries/Makefile.am:
17351         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17352         (gst_xml_registry_class_init), (gst_xml_registry_init),
17353         (gst_xml_registry_new), (gst_xml_registry_set_property),
17354         (gst_xml_registry_get_property), (get_time), (make_dir),
17355         (gst_xml_registry_get_perms_func),
17356         (plugin_times_older_than_recurse), (plugin_times_older_than),
17357         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17358         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17359         (add_to_char_array), (read_string), (read_uint), (read_enum),
17360         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17361         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17362         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17363         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17364         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17365         (gst_xml_registry_rebuild):
17366         * gst/registries/gstlibxmlregistry.h:
17367         * tools/gst-compprep.c: (main):
17368         * tools/gst-inspect.c: (print_pad_templates_info):
17369         * tools/gst-xmlinspect.c: (print_element_info):
17370           Use libxml2 for registry parsing, use staticpadtemplates in
17371           elementfactories. Makes gst_init() +/- 10x faster.
17372
17373 2005-04-12  Wim Taymans  <wim@fluendo.com>
17374
17375         * gst/base/Makefile.am:
17376         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17377         (gst_basesink_pad_getcaps), (gst_basesink_init),
17378         (gst_basesink_event), (gst_basesink_change_state):
17379         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17380         (gst_basesrc_init), (gst_basesrc_query),
17381         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17382         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17383         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17384         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17385         (gst_basesrc_stop), (gst_basesrc_activate),
17386         (gst_basesrc_change_state):
17387         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17388         (helper_find_suggest), (gst_type_find_helper):
17389         * gst/base/gsttypefindhelper.h:
17390         * gst/elements/Makefile.am:
17391         * gst/elements/gstelements.c:
17392         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17393         (gst_fakesink_get_times), (gst_fakesink_event),
17394         (gst_fakesink_preroll), (gst_fakesink_render):
17395         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17396         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17397         (gst_fakesrc_get_property), (gst_fakesrc_create),
17398         (gst_fakesrc_start), (gst_fakesrc_stop):
17399         * gst/elements/gstfakesrc.h:
17400         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17401         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17402         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17403         (gst_filesrc_create_read), (gst_filesrc_create),
17404         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17405         (gst_filesrc_start):
17406         * gst/elements/gsttypefindelement.c:
17407         (gst_type_find_element_have_type), (gst_type_find_element_init),
17408         (start_typefinding), (stop_typefinding), (push_buffer_store),
17409         (gst_type_find_element_handle_event),
17410         (gst_type_find_element_chain),
17411         (gst_type_find_element_checkgetrange),
17412         (gst_type_find_element_getrange), (do_typefind),
17413         (gst_type_find_element_activate),
17414         (gst_type_find_element_change_state):
17415         * gst/elements/gsttypefindelement.h:
17416         * gst/gstpipeline.c: (pipeline_bus_handler):
17417         Added typefind helper.
17418         Small preroll fix in the base sink.
17419         Disable typefind code in basesrc.
17420         Crude port of typefindelement.
17421         Fakesrc cleanups.
17422
17423
17424 2005-04-11  Wim Taymans  <wim@fluendo.com>
17425
17426         * check/gst/gstbus.c: (gstbus_suite):
17427         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17428         * check/gstcheck.h:
17429           Fix up the timeout so that the test does not fail.
17430
17431 2005-04-06  Wim Taymans  <wim@fluendo.com>
17432
17433         * gst/base/README:
17434         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17435         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17436         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17437         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17438         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17439         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17440         (gst_basesrc_stop), (gst_basesrc_activate),
17441         (gst_basesrc_change_state), (basesrc_find_peek),
17442         (basesrc_find_suggest), (gst_basesrc_type_find):
17443         * gst/base/gstbasesrc.h:
17444         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17445         (gst_filesrc_class_init), (gst_filesrc_init),
17446         (gst_filesrc_finalize), (gst_filesrc_set_location),
17447         (gst_filesrc_set_property), (gst_filesrc_get_property),
17448         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17449         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17450         (gst_filesrc_create_read), (gst_filesrc_create),
17451         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17452         * gst/elements/gstfilesrc.h:
17453         * gst/gstelement.c: (gst_element_get_state_func),
17454         (gst_element_lost_state), (gst_element_pads_activate):
17455         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17456         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17457         (gst_pad_pull_range):
17458         * gst/gstpad.h:
17459         More work on the generic source base class, implement seeking,
17460         query.
17461         Make filesrc extend the base source class.
17462         Added gst_pad_set_checkgetrange_function to GstPad.
17463
17464 2005-04-06  Andy Wingo  <wingo@pobox.com>
17465
17466         * pkgconfig/gstreamer-base.pc.in:
17467         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17468
17469         * pkgconfig/Makefile.am:
17470         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17471
17472 2005-04-04  Wim Taymans  <wim@fluendo.com>
17473
17474         * gst/base/Makefile.am:
17475         * gst/base/README:
17476         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17477         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17478         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17479         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17480         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17481         (gst_basesrc_base_init), (gst_basesrc_class_init),
17482         (gst_basesrc_init), (gst_basesrc_get_formats),
17483         (gst_basesrc_get_query_types), (gst_basesrc_query),
17484         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17485         (gst_basesrc_set_property), (gst_basesrc_get_property),
17486         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17487         (gst_basesrc_loop), (gst_basesrc_activate),
17488         (gst_basesrc_change_state):
17489         * gst/base/gstbasesrc.h:
17490         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17491         (gst_fakesrc_class_init), (gst_fakesrc_init),
17492         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17493         (gst_fakesrc_get_property), (gst_fakesrc_create):
17494         * gst/elements/gstfakesrc.h:
17495         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17496         (gst_filesrc_open_file), (gst_filesrc_loop),
17497         (gst_filesrc_activate), (filesrc_find_peek),
17498         (gst_filesrc_type_find):
17499         Made base source class, make fakesrc extend it.
17500         Add comments to basesink class.
17501         Some filesrc cleanup.
17502
17503 2005-03-31  David Schleef  <ds@schleef.org>
17504
17505         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17506         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17507         expected to link against libgstreamer.
17508         * gst/base/Makefile.am: link against libgstreamer
17509         * gst/elements/Makefile.am: same
17510
17511 2005-03-31  Andy Wingo  <wingo@pobox.com>
17512
17513         * tests/instantiate/Makefile.am:
17514         * tests/instantiate/caps.c: Add test to test speed of caps copy
17515         and free.
17516
17517         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17518         GMemChunk to be fair.
17519
17520         * gst/gsttrashstack.h: Remove warning about using the fallback
17521         trash stack implementation, it's still faster than malloc.
17522
17523 2005-03-30  Andy Wingo  <wingo@pobox.com>
17524
17525         * tests/complexity.c: Add a copyright.
17526
17527 2005-03-31  Wim Taymans  <wim@fluendo.com>
17528
17529         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17530         (gst_base_transform_class_init), (gst_base_transform_init),
17531         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17532         (gst_base_transform_get_property),
17533         (gst_base_transform_sink_activate),
17534         (gst_base_transform_src_activate),
17535         (gst_base_transform_change_state):
17536         * gst/base/gstbasetransform.h:
17537         * gst/elements/gstidentity.c: (gst_identity_class_init),
17538         (gst_identity_event), (gst_identity_check_perfect),
17539         (gst_identity_transform), (gst_identity_start),
17540         (gst_identity_stop):
17541         Added start/stop methods to transform base class so subclasses 
17542         don't need to deal with state changes even.
17543
17544 2005-03-31  Wim Taymans  <wim@fluendo.com>
17545
17546         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17547         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17548         * gst/gstevent.h:
17549         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17550         (gst_pad_pull_range):
17551         Added rate to the discont event to prepare for variable speed
17552         and reverse playback.
17553
17554 2005-03-29  David Schleef  <ds@schleef.org>
17555
17556         * configure.ac:
17557         * testsuite/trigger/Makefile.am:
17558         * testsuite/trigger/trigger.c: A little example program to show
17559         how trigger-based elements can work.
17560
17561 2005-03-29  Wim Taymans  <wim@fluendo.com>
17562
17563         * gst/base/Makefile.am:
17564         * gst/base/README:
17565         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17566         (gst_basesink_base_init), (gst_basesink_class_init),
17567         (gst_basesink_pad_getcaps), (gst_basesink_init),
17568         (gst_basesink_activate), (gst_basesink_change_state):
17569         * gst/base/gstbasesink.h:
17570         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17571         (gst_base_transform_base_init), (gst_base_transform_finalize),
17572         (gst_base_transform_class_init), (gst_base_transform_init),
17573         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17574         (gst_base_transform_event), (gst_base_transform_getrange),
17575         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17576         (gst_base_transform_set_property),
17577         (gst_base_transform_get_property),
17578         (gst_base_transform_sink_activate),
17579         (gst_base_transform_src_activate),
17580         (gst_base_transform_change_state):
17581         * gst/base/gstbasetransform.h:
17582         * gst/elements/gstidentity.c: (gst_identity_finalize),
17583         (gst_identity_class_init), (gst_identity_init),
17584         (gst_identity_event), (gst_identity_check_perfect),
17585         (gst_identity_transform), (gst_identity_set_property),
17586         (gst_identity_get_property), (gst_identity_change_state):
17587         * gst/elements/gstidentity.h:
17588         * gst/gstelement.c: (gst_element_get_state_func),
17589         (gst_element_lost_state), (gst_element_pads_activate):
17590         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17591         (gst_pad_check_pull_range), (gst_pad_pull_range):
17592         * gst/gstpad.h:
17593         Simplify pad activation.
17594         Added function to check if pull_range can be performed.
17595         Error out when pulling inactive or flushing pads.
17596         Removed const from refcounted types as it does not make sense.
17597         Simplify pad templates in basesink
17598         Added base class for simple 1-to-1 transforms.
17599         Make identity subclass the base transform.
17600
17601 2005-03-29  Andy Wingo  <wingo@pobox.com>
17602
17603         * docs/libs/gstreamer-libs-overrides.txt: 
17604         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17605         really don't understand what's going on, but like whatever. I want
17606         green buildbot!
17607
17608         * docs/gst/Makefile.am:
17609         * docs/libs/Makefile.am: Dist the overrides files.
17610
17611         * check/Makefile.am (clean-local): Remove .libs directories.
17612
17613         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17614         elements to EXTRA_DIST, so po/ files are happy.
17615
17616         * po/POTFILES.in: Er, remove it here.
17617
17618         * po/POTFILES: Remove gstspider.c.
17619
17620         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17621
17622         * docs/libs/gstreamer-libs-docs.sgml: 
17623         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17624         bytestream.
17625
17626         * tests/complexity.c (main): Set the length of the preroll queue
17627         on the sinks to prevent a lockup.
17628
17629         * libs/gst/dataprotocol/Makefile.am: 
17630         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17631         the same as the one in check/gst-libs/gdp.c.
17632
17633         * po/, docs/gst/: Commit automatic changes to docs and po files.
17634
17635         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17636         the versioned libgstbase.
17637
17638         * check/Makefile.am: Depend on an unversioned gst-register, seems
17639         to make autoconf happier.
17640
17641         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17642
17643 2005-03-28  Wim Taymans  <wim@fluendo.com>
17644
17645         * configure.ac:
17646         * docs/design/part-gstelement.txt:
17647         * docs/design/part-negotiation.txt:
17648         * docs/design/part-preroll.txt:
17649         * docs/design/part-scheduling.txt:
17650         * docs/design/part-states.txt:
17651         * gst/Makefile.am:
17652         * gst/base/Makefile.am:
17653         * gst/base/README:
17654         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17655         (gst_basesink_base_init), (gst_basesink_class_init),
17656         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17657         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17658         (gst_basesink_set_pad_functions),
17659         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17660         (gst_basesink_set_property), (gst_basesink_get_property),
17661         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17662         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17663         (gst_basesink_preroll_queue_push),
17664         (gst_basesink_preroll_queue_empty),
17665         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17666         (gst_basesink_event), (gst_basesink_get_times),
17667         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17668         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17669         (gst_basesink_loop), (gst_basesink_activate),
17670         (gst_basesink_change_state):
17671         * gst/base/gstbasesink.h:
17672         * gst/elements/Makefile.am:
17673         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17674         (gst_fakesink_class_init), (gst_fakesink_init),
17675         (gst_fakesink_set_property), (gst_fakesink_get_property),
17676         (gst_fakesink_get_times), (gst_fakesink_event),
17677         (gst_fakesink_preroll), (gst_fakesink_render),
17678         (gst_fakesink_change_state):
17679         * gst/elements/gstfakesink.h:
17680         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17681         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17682         * gst/gstelement.c: (gst_element_add_pad),
17683         (gst_element_get_state_func), (gst_element_abort_state),
17684         (gst_element_commit_state), (gst_element_lost_state),
17685         (gst_element_set_state), (gst_element_pads_activate):
17686         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17687         * gst/gstpipeline.c: (gst_pipeline_send_event),
17688         (gst_pipeline_change_state):
17689         Added state change code.
17690         Added/updated docs.
17691         Added sink base class, make fakesink extend the base class.
17692         Small cleanups in GstPipeline.
17693
17694 2005-03-26  David Schleef  <ds@schleef.org>
17695
17696         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17697         is broken and should be implemented in a different library.
17698         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17699         * gst/gst.h: remove gstcpu.h
17700         * gst/gstcpu.c: remove
17701         * gst/gstcpu.h: remove
17702         * gst/Makefile.am.future: Remove this file.  It's ancient.
17703
17704 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17705
17706         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17707         (gst_bin_send_event):
17708           Add default event/set_manager handlers. The set_manager handler
17709           takes care that the manager is distributed over kids that were
17710           already in the bin before the manager was set. The event handler
17711           is a utility virtual function that sends the event over all sinks,
17712           so that gst_element_send_event (bin, event); has the expected
17713           behaviour.
17714         * gst/gstpad.c: (gst_pad_event_default):
17715           Re-install default event handling for discontinuities, so that
17716           seeking works without requiring hacks in applications or extra
17717           code in sinks.
17718         * gst/gstpipeline.c: (gst_pipeline_class_init),
17719         (gst_pipeline_send_event):
17720           Half hack, half utility: set a pipeline to PAUSED for seek events,
17721           since that is the only way we can guarantee a/v sync. Means that
17722           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17723           and it "just works".
17724
17725 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17726
17727         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17728           Lock/unlock mismatch.
17729
17730 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17731
17732         * docs/faq/gst-uninstalled:
17733           add gst-plugins-base
17734         * docs/gst/Makefile.am:
17735           don't error out until docs are fixed
17736         * docs/gst/gstreamer.types:
17737           remove thread
17738
17739 2005-03-22  Wim Taymans  <wim@fluendo.com>
17740
17741         * check/Makefile.am:
17742         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17743         * gst/gststructure.c: (gst_structure_set_valist),
17744         (gst_structure_copy_conditional):
17745         Activated more tests.
17746         Added message test.
17747         Added G_TYPE_POINTER to GstStructure.
17748         
17749
17750 2005-03-22  Wim Taymans  <wim@fluendo.com>
17751
17752         * docs/design/part-TODO.txt:
17753         * docs/design/part-events.txt:
17754         * docs/design/part-gstbin.txt:
17755         * docs/design/part-gstbus.txt:
17756         * docs/design/part-gstpipeline.txt:
17757         * docs/design/part-messages.txt:
17758         * gst/gstbus.c:
17759         * gst/gstmessage.c:
17760         Docs updates
17761
17762 2005-03-21  Wim Taymans  <wim@fluendo.com>
17763
17764         * gst/gstbus.c: (gst_bus_post):
17765         Fix copy-and-paste error.
17766
17767 2005-03-21  Wim Taymans  <wim@fluendo.com>
17768
17769         * check/Makefile.am:
17770         * gst/Makefile.am:
17771         * gst/elements/Makefile.am:
17772         * gst/elements/gstelements.c:
17773         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17774         (gst_fakesink_event), (gst_fakesink_chain):
17775         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17776         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17777         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17778         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17779         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17780         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17781         (gst_fakesrc_loop), (gst_fakesrc_activate),
17782         (gst_fakesrc_change_state):
17783         * gst/elements/gstfakesrc.h:
17784         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17785         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17786         (gst_filesrc_open_file), (gst_filesrc_loop),
17787         (gst_filesrc_activate), (gst_filesrc_change_state),
17788         (filesrc_find_peek), (filesrc_find_suggest),
17789         (gst_filesrc_type_find):
17790         * gst/elements/gstidentity.c: (gst_identity_finalize),
17791         (gst_identity_class_init), (gst_identity_init),
17792         (gst_identity_proxy_getcaps), (identity_queue_push),
17793         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17794         (gst_identity_getrange), (gst_identity_chain),
17795         (gst_identity_sink_loop), (gst_identity_src_loop),
17796         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17797         (gst_identity_set_property), (gst_identity_get_property),
17798         (gst_identity_change_state):
17799         * gst/elements/gstidentity.h:
17800         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17801         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17802         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17803         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17804         (gst_tee_sink_activate):
17805         * gst/elements/gsttee.h:
17806         * gst/gst.c: (gst_register_core_elements), (init_post):
17807         * gst/gst.h:
17808         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17809         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17810         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17811         (gst_bin_change_state):
17812         * gst/gstbin.h:
17813         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17814         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17815         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17816         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17817         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17818         (bus_watch_callback), (bus_watch_destroy),
17819         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17820         (poll_timeout), (gst_bus_poll):
17821         * gst/gstbus.h:
17822         * gst/gstcaps.h:
17823         * gst/gstdata.h:
17824         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17825         (gst_element_post_message), (gst_element_message_full),
17826         (gst_element_get_state_func), (gst_element_get_state),
17827         (gst_element_abort_state), (gst_element_commit_state),
17828         (gst_element_lost_state), (gst_element_set_state),
17829         (gst_element_pads_activate), (gst_element_change_state),
17830         (gst_element_dispose), (gst_element_set_manager_func),
17831         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17832         (gst_element_set_manager), (gst_element_get_manager),
17833         (gst_element_set_bus), (gst_element_get_bus),
17834         (gst_element_set_scheduler), (gst_element_get_scheduler):
17835         * gst/gstelement.h:
17836         * gst/gstevent.c: (gst_event_new_segment_seek),
17837         (gst_event_new_flush):
17838         * gst/gstevent.h:
17839         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17840         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17841         (gst_message_new_eos), (gst_message_new_error),
17842         (gst_message_new_warning), (gst_message_new_tag),
17843         (gst_message_new_state_changed), (gst_message_new_application),
17844         (gst_message_get_structure), (gst_message_parse_tag),
17845         (gst_message_parse_state_changed), (gst_message_parse_error),
17846         (gst_message_parse_warning):
17847         * gst/gstmessage.h:
17848         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17849         (gst_real_pad_set_property), (gst_pad_set_active),
17850         (gst_pad_is_active), (gst_pad_set_blocked_async),
17851         (gst_pad_set_blocked), (gst_pad_is_blocked),
17852         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17853         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17854         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17855         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17856         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17857         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17858         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17859         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17860         (gst_pad_set_caps), (gst_pad_configure_sink),
17861         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17862         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17863         (gst_real_pad_dispose), (gst_real_pad_finalize),
17864         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17865         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17866         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17867         * gst/gstpad.h:
17868         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17869         (pipeline_bus_handler), (gst_pipeline_change_state),
17870         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17871         * gst/gstpipeline.h:
17872         * gst/gstprobe.h:
17873         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17874         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17875         (gst_queue_link_src), (gst_queue_bufferalloc),
17876         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17877         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17878         (gst_queue_loop), (gst_queue_handle_src_event),
17879         (gst_queue_handle_src_query), (gst_queue_src_activate),
17880         (gst_queue_change_state):
17881         * gst/gstqueue.h:
17882         * gst/gstscheduler.c: (gst_scheduler_init),
17883         (gst_scheduler_dispose), (gst_scheduler_create_task),
17884         (gst_scheduler_factory_create):
17885         * gst/gstscheduler.h:
17886         * gst/gststructure.c: (gst_structure_get_type),
17887         (gst_structure_copy_conditional):
17888         * gst/gststructure.h:
17889         * gst/gsttaginterface.h:
17890         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17891         (gst_task_init), (gst_task_dispose), (gst_task_create),
17892         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17893         (gst_task_pause):
17894         * gst/gsttask.h:
17895         * gst/gstthread.c:
17896         * gst/gstthread.h:
17897         * gst/gsttypes.h:
17898         * gst/schedulers/Makefile.am:
17899         * gst/schedulers/cothreads_compat.h:
17900         * gst/schedulers/entryscheduler.c:
17901         * gst/schedulers/faircothreads.c:
17902         * gst/schedulers/faircothreads.h:
17903         * gst/schedulers/fairscheduler.c:
17904         * gst/schedulers/gstbasicscheduler.c:
17905         * gst/schedulers/gstoptimalscheduler.c:
17906         * gst/schedulers/gthread-cothreads.h:
17907         * gst/schedulers/threadscheduler.c:
17908         (gst_thread_scheduler_task_get_type),
17909         (gst_thread_scheduler_task_class_init),
17910         (gst_thread_scheduler_task_init),
17911         (gst_thread_scheduler_task_start),
17912         (gst_thread_scheduler_task_stop),
17913         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17914         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17915         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17916         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17917         (plugin_init):
17918         * libs/gst/Makefile.am:
17919         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17920         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17921         (gst_file_pad_parent_set):
17922         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17923         (gst_dp_event_from_packet):
17924         * tests/complexity.c: (main):
17925         * tests/mass_elements.c: (main):
17926         * testsuite/states/locked.c: (message_received), (main):
17927         * testsuite/states/parent.c: (main):
17928         * tools/gst-inspect.c: (print_element_flag_info),
17929         (print_implementation_info), (print_pad_info):
17930         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17931         (main):
17932         * tools/gst-md5sum.c: (event_loop), (main):
17933         * tools/gst-typefind.c: (main):
17934         * tools/gst-xmlinspect.c: (print_element_info):
17935         Next big merge.
17936         Added GstBus for mainloop integration.
17937         Added GstMessage for sending notifications on the bus.
17938         Added GstTask as an abstraction for pipeline entry points.
17939         Removed GstThread.
17940         Removed Schedulers.
17941         Simplified GstQueue for multithreaded core.
17942         Made _link threadsafe, removed old capsnego.
17943         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17944         Added pad blocking functions.
17945         Reworked scheduling functions in GstPad to prepare for
17946         scheduling updates soon.
17947         Moved events out of data stream.
17948         Simplified GstEvent types.
17949         Added return values to push/pull.
17950         Removed clocking from GstElement.
17951         Added prototypes for state change function for next merge.
17952         Removed iterate from bins and state change management.
17953         Fixed some elements, disabled others for now.
17954         Fixed -inspect and -launch.
17955         Added check for GstBus.
17956
17957 2005-03-10  Wim Taymans  <wim@fluendo.com>
17958
17959         * docs/design/part-MT-refcounting.txt:
17960         * docs/design/part-clocks.txt:
17961         * docs/design/part-gstelement.txt:
17962         * docs/design/part-gstobject.txt:
17963         * docs/design/part-standards.txt:
17964         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17965         (gst_bin_remove_func), (gst_bin_remove):
17966         * gst/gstbin.h:
17967         * gst/gstbuffer.c:
17968         * gst/gstcaps.h:
17969         * testsuite/clock/clock1.c: (main):
17970         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17971         (main):
17972         * testsuite/dlopen/loadgst.c: (do_test):
17973         * testsuite/refcounting/bin.c: (add_remove_test1),
17974         (add_remove_test2), (main):
17975         * testsuite/refcounting/element.c: (main):
17976         * testsuite/refcounting/element_pad.c: (main):
17977         * testsuite/refcounting/pad.c: (main):
17978         * tools/gst-launch.c: (sigint_handler_sighandler):
17979         * tools/gst-typefind.c: (main):
17980         Doc updates.
17981         Added doc about clock.
17982         removed gst_bin_iterate_recurse_up(), marked methods
17983         for removal.
17984         Fix more testsuites.
17985
17986 2005-03-09  Wim Taymans  <wim@fluendo.com>
17987
17988         * gst/gstpad.c: (gst_pad_get_direction),
17989         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17990         (gst_pad_collect_valist):
17991         * testsuite/bins/interface.c: (main):
17992         * testsuite/caps/audioscale.c: (test_caps):
17993         * testsuite/caps/caps.c: (test1), (test2), (test3):
17994         * testsuite/caps/deserialize.c: (main):
17995         * testsuite/caps/enumcaps.c: (main):
17996         * testsuite/caps/filtercaps.c: (main):
17997         * testsuite/caps/intersect2.c: (main):
17998         * testsuite/caps/random.c: (main):
17999         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18000         * testsuite/caps/sets.c: (check_caps):
18001         * testsuite/caps/simplify.c: (check_caps), (main):
18002         * testsuite/caps/subtract.c: (check_caps):
18003         Fix _pad_get_direction wrt ghostpads.
18004         Fix caps testsuite.
18005
18006 2005-03-09  Wim Taymans  <wim@fluendo.com>
18007
18008         * check/Makefile.am:
18009         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18010         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18011         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18012         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18013         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18014         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18015         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18016         (bin_element_is_sink), (gst_bin_iterate_sinks),
18017         (gst_bin_iterate_all_by_interface):
18018         * gst/gstbin.h:
18019         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18020         (gst_element_change_state), (gst_element_dispose),
18021         (gst_element_finalize), (gst_element_set_loop_function):
18022         * gst/gstelement.h:
18023         * gst/gstiterator.c: (find_custom_fold_func):
18024         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18025         (gst_pad_collectv), (gst_pad_collect_valist),
18026         (gst_pad_template_new):
18027         * gst/gstpipeline.c: (gst_pipeline_class_init),
18028         (gst_pipeline_dispose), (gst_pipeline_set_property),
18029         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18030         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18031         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18032         * gst/gstutils.h:
18033         * gst/schedulers/entryscheduler.c:
18034         * gst/schedulers/gstbasicscheduler.c:
18035         (gst_basic_scheduler_cothreaded_chain),
18036         (gst_basic_scheduler_chain_add_element):
18037         * testsuite/bins/interface.c: (main):
18038         Added GstBin test.
18039         Added GstSystemClock test.
18040         Implemented clock distribution code in GstBin.
18041         Implemented iterate sinks method for future use.
18042         Rearranged gstelement.h
18043         Fix GstIterator comparison bug.
18044         Moved some code to GstPipeline, mostly clocking related.
18045
18046 2005-03-09  Wim Taymans  <wim@fluendo.com>
18047
18048         * configure.ac:
18049         * gst/gst_private.h:
18050         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18051         (gst_bin_remove_func), (gst_bin_remove),
18052         (gst_bin_get_by_name_recurse_up):
18053         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18054         (gst_clock_id_compare_func), (gst_clock_id_wait),
18055         (gst_clock_id_wait_async), (gst_clock_init),
18056         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18057         * gst/gstelement.h:
18058         * gst/gstinfo.c: (_gst_debug_init):
18059         * gst/gstobject.h:
18060         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18061         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18062         * gst/gstpad.h:
18063         Bump version number, we're now 0.9.0
18064         Add future debugging category.
18065         Fix NULL _unref() in _get_by_name_recurse_up
18066         Rearrange gstpad.h.
18067         Update some docs.
18068
18069 2005-03-08  Wim Taymans  <wim@fluendo.com>
18070
18071         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18072         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18073         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18074         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18075         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18076         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18077         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18078         * gst/elements/gstidentity.c: (gst_identity_class_init):
18079         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18080         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18081         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18082         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18083         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18084         (gst_tee_link):
18085         * gst/gstelement.c: (gst_element_class_init),
18086         (gst_element_base_class_init), (gst_element_init),
18087         (gst_element_get_random_pad), (gst_element_wait_state_change),
18088         (gst_element_change_state), (gst_element_dispose),
18089         (gst_element_finalize), (gst_element_set_loop_function):
18090         * gst/gstelement.h:
18091         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18092         * gst/gstthread.c: (gst_thread_class_init),
18093         (gst_thread_release_children_locks), (gst_thread_change_state):
18094         * gst/schedulers/gstbasicscheduler.c:
18095         (gst_basic_scheduler_loopfunc_wrapper),
18096         (gst_basic_scheduler_chain_wrapper),
18097         (gst_basic_scheduler_src_wrapper),
18098         (gst_basic_scheduler_remove_element):
18099         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18100         Remove threadsafe properties. Fix elements because GObject
18101         complains when installing a property before declaring a
18102         set/get_property handler.
18103         Rearrange gstelement.h file, use STATE macros for state locks.
18104         Free mutexes in the finalize method instead of dispose.
18105
18106 2005-03-08  Wim Taymans  <wim@fluendo.com>
18107
18108         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18109         * gst/gstthread.c: (gst_thread_release_children_locks):
18110         Added parentage check.
18111         Fix build og GstThread again.
18112
18113 2005-03-08  Wim Taymans  <wim@fluendo.com>
18114
18115         * docs/design/part-MT-refcounting.txt:
18116         * docs/design/part-conventions.txt:
18117         * docs/design/part-gstobject.txt:
18118         * docs/design/part-relations.txt:
18119         * docs/design/part-standards.txt:
18120         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18121         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18122         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18123         (gst_bin_iterate_all_by_interface):
18124         * gst/gstbuffer.h:
18125         * gst/gstclock.h:
18126         * gst/gstelement.c: (gst_element_class_init),
18127         (gst_element_change_state), (gst_element_set_loop_function):
18128         * gst/gstelement.h:
18129         * gst/gstiterator.c:
18130         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18131         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18132         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18133         (gst_object_set_parent), (gst_object_unparent),
18134         (gst_object_check_uniqueness):
18135         * gst/gstobject.h:
18136         Docs updates, clean up some headers.
18137
18138 2005-03-07  Wim Taymans  <wim@fluendo.com>
18139
18140         * check/.cvsignore:
18141         * check/Makefile.am:
18142         * check/gst-libs/.cvsignore:
18143         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18144         * check/gst/.cvsignore:
18145         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18146         (START_TEST), (gstbus_suite), (main):
18147         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18148         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18149         (gst_data_suite), (main):
18150         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18151         (add_fold_func), (gstiterator_suite), (main):
18152         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18153         (thread_name_object), (thread_name_object_default),
18154         (gst_object_name_compare), (gst_object_suite), (main):
18155         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18156         (gst_pad_suite), (main):
18157         * check/gstcheck.c: (gst_check_log_message_func),
18158         (gst_check_log_critical_func), (gst_check_init):
18159         * check/gstcheck.h:
18160         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18161         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18162         Added checks.
18163
18164 2005-03-07  Wim Taymans  <wim@fluendo.com>
18165
18166         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18167         (gst_list_iterator_next), (gst_list_iterator_resync),
18168         (gst_list_iterator_free), (gst_iterator_new_list),
18169         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18170         (gst_iterator_free), (gst_iterator_push), (filter_next),
18171         (filter_resync), (filter_uninit), (filter_free),
18172         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18173         (gst_iterator_foreach), (find_custom_fold_func),
18174         (gst_iterator_find_custom):
18175         * gst/gstiterator.h:
18176         Added missing files.
18177
18178 2005-03-07  Wim Taymans  <wim@fluendo.com>
18179
18180         * Makefile.am:
18181         * configure.ac:
18182         * docs/design/part-MT-refcounting.txt:
18183         * docs/design/part-conventions.txt:
18184         * docs/design/part-gstobject.txt:
18185         * docs/design/part-relations.txt:
18186         * examples/mixer/mixer.c: (main):
18187         * examples/thread/thread.c: (eos), (main):
18188         * gst/Makefile.am:
18189         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18190         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18191         (gst_spider_plug_from_srcpad):
18192         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18193         (gst_spider_identity_change_state),
18194         (gst_spider_identity_sink_loop_type_finding):
18195         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18196         * gst/elements/gstidentity.c: (gst_identity_init):
18197         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18198         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18199         * gst/elements/gsttypefindelement.c: (free_entry):
18200         * gst/gst.c:
18201         * gst/gst.h:
18202         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18203         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18204         (gst_bin_set_index), (gst_bin_set_element_sched),
18205         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18206         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18207         (gst_bin_iterate_elements), (iterate_child_recurse),
18208         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18209         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18210         (compare_interface), (gst_bin_get_by_interface),
18211         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18212         * gst/gstbin.h:
18213         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18214         (gst_buffer_default_free), (gst_buffer_default_copy),
18215         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18216         (gst_buffer_create_sub):
18217         * gst/gstbuffer.h:
18218         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18219         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18220         (gst_caps_unref), (gst_static_caps_get),
18221         (gst_caps_remove_and_get_structure), (gst_caps_append),
18222         (gst_caps_append_structure), (gst_caps_remove_structure),
18223         (gst_caps_copy_nth), (gst_caps_set_simple),
18224         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18225         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18226         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18227         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18228         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18229         (gst_caps_structure_figure_out_union),
18230         (gst_caps_switch_structures), (gst_caps_do_simplify),
18231         (gst_caps_replace), (gst_caps_from_string),
18232         (gst_caps_copy_conditional):
18233         * gst/gstcaps.h:
18234         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18235         (_gst_clock_id_free), (gst_clock_id_unref),
18236         (gst_clock_id_compare_func), (gst_clock_id_wait),
18237         (gst_clock_id_wait_async), (gst_clock_class_init),
18238         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18239         (gst_clock_get_time), (gst_clock_set_time_adjust),
18240         (gst_clock_set_property), (gst_clock_get_property):
18241         * gst/gstclock.h:
18242         * gst/gstcompat.h:
18243         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18244         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18245         * gst/gstdata.h:
18246         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18247         (gst_element_requires_clock), (gst_element_provides_clock),
18248         (gst_element_set_clock), (gst_element_clock_wait),
18249         (gst_element_wait), (gst_element_set_time_delay),
18250         (gst_element_is_indexable), (gst_element_add_pad),
18251         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18252         (pad_compare_name), (gst_element_get_static_pad),
18253         (gst_element_request_pad), (gst_element_get_request_pad),
18254         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18255         (gst_element_class_get_pad_template_list),
18256         (gst_element_class_get_pad_template), (gst_element_error_func),
18257         (gst_element_get_random_pad), (gst_element_get_event_masks),
18258         (gst_element_send_event), (gst_element_seek),
18259         (gst_element_get_query_types), (gst_element_query),
18260         (gst_element_get_formats), (gst_element_convert),
18261         (gst_element_is_locked_state), (gst_element_set_locked_state),
18262         (gst_element_sync_state_with_parent), (gst_element_change_state),
18263         (gst_element_finalize), (gst_element_yield),
18264         (gst_element_interrupt), (gst_element_set_scheduler),
18265         (gst_element_get_scheduler), (gst_element_set_loop_function):
18266         * gst/gstelement.h:
18267         * gst/gstevent.h:
18268         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18269         (gst_format_get_by_nick), (gst_format_get_details),
18270         (gst_format_iterate_definitions):
18271         * gst/gstformat.h:
18272         * gst/gstindex.c: (gst_index_gtype_resolver):
18273         * gst/gstinfo.c:
18274         * gst/gstinfo.h:
18275         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18276         (gst_mem_chunk_free):
18277         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18278         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18279         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18280         (gst_object_dispatch_properties_changed),
18281         (gst_object_set_name_default), (gst_object_set_name),
18282         (gst_object_get_name), (gst_object_set_name_prefix),
18283         (gst_object_get_name_prefix), (gst_object_set_parent),
18284         (gst_object_get_parent), (gst_object_unparent),
18285         (gst_object_check_uniqueness), (gst_object_save_thyself),
18286         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18287         (gst_object_set_property), (gst_object_get_property),
18288         (gst_object_get_path_string):
18289         * gst/gstobject.h:
18290         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18291         (gst_real_pad_init), (gst_real_pad_get_property),
18292         (gst_pad_custom_new), (gst_pad_get_direction),
18293         (gst_pad_set_active), (gst_pad_is_active),
18294         (gst_pad_set_event_function), (gst_pad_is_linked),
18295         (gst_pad_link_free), (gst_pad_link_intersect),
18296         (gst_pad_link_fixate), (gst_pad_set_caps),
18297         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18298         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18299         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18300         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18301         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18302         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18303         (gst_pad_realize), (gst_pad_get_allowed_caps),
18304         (gst_real_pad_dispose), (gst_real_pad_finalize),
18305         (gst_pad_collectv), (gst_pad_collect_valist),
18306         (gst_pad_template_dispose), (gst_pad_template_new),
18307         (gst_pad_get_internal_links):
18308         * gst/gstpad.h:
18309         * gst/gstpipeline.c: (gst_pipeline_dispose),
18310         (gst_pipeline_change_state):
18311         * gst/gstpipeline.h:
18312         * gst/gstplugin.c:
18313         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18314         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18315         * gst/gstpluginfeature.h:
18316         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18317         * gst/gstquery.c: (_gst_query_type_initialize),
18318         (gst_query_type_register), (gst_query_type_get_by_nick),
18319         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18320         * gst/gstquery.h:
18321         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18322         * gst/gstscheduler.c: (gst_scheduler_add_element),
18323         (gst_scheduler_factory_create):
18324         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18325         (gst_structure_free), (gst_structure_set_name),
18326         (gst_structure_id_set_value), (gst_structure_set_value),
18327         (gst_structure_set_valist), (gst_structure_remove_field),
18328         (gst_structure_remove_fields),
18329         (gst_structure_remove_fields_valist),
18330         (gst_structure_remove_all_fields), (gst_structure_foreach),
18331         (gst_structure_map_in_place),
18332         (gst_caps_structure_fixate_field_nearest_int),
18333         (gst_caps_structure_fixate_field_nearest_double):
18334         * gst/gststructure.h:
18335         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18336         (gst_system_clock_init), (gst_system_clock_dispose),
18337         (gst_system_clock_async_thread),
18338         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18339         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18340         * gst/gstsystemclock.h:
18341         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18342         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18343         * gst/gsttaginterface.c:
18344         * gst/gstthread.c: (gst_thread_dispose),
18345         (gst_thread_release_children_locks), (gst_thread_change_state),
18346         (gst_thread_main_loop):
18347         * gst/gsttrashstack.h:
18348         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18349         * gst/gsttypes.h:
18350         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18351         (gst_element_request_pad), (gst_element_get_pad_from_template),
18352         (gst_element_request_compatible_pad),
18353         (gst_element_get_compatible_pad_filtered),
18354         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18355         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18356         (gst_element_link_many), (gst_element_link),
18357         (gst_element_link_pads), (gst_element_unlink_pads),
18358         (gst_element_unlink_many), (gst_element_unlink),
18359         (gst_pad_can_link_filtered), (gst_pad_can_link),
18360         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18361         (gst_object_default_error), (gst_bin_add_many),
18362         (gst_bin_remove_many), (gst_element_populate_std_props),
18363         (gst_element_class_install_std_props), (gst_buffer_merge),
18364         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18365         (link_fold_func), (gst_pad_proxy_setcaps):
18366         * gst/gstutils.h:
18367         * gst/gstvalue.c: (gst_value_deserialize_string):
18368         * gst/parse/grammar.y:
18369         * gst/schedulers/gstbasicscheduler.c:
18370         (gst_basic_scheduler_cothreaded_chain),
18371         (gst_basic_scheduler_chain_recursive_add),
18372         (gst_basic_scheduler_pad_link):
18373         * gst/schedulers/gstoptimalscheduler.c:
18374         (get_group_schedule_function),
18375         (gst_opt_scheduler_state_transition),
18376         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18377         * libs/gst/bytestream/bytestream.c:
18378         * libs/gst/dataprotocol/dataprotocol.c:
18379         (gst_dp_header_from_buffer):
18380         * po/nb.po:
18381         * po/ru.po:
18382         * tests/threadstate/threadstate2.c: (eos):
18383         * tools/gst-compprep.c: (main):
18384         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18385         (print_pad_info), (print_children_info):
18386         * tools/gst-launch.c: (idle_func), (main):
18387         * tools/gst-md5sum.c: (idle_func), (main):
18388         * tools/gst-xmlinspect.c: (print_element_info):
18389         First THREADED backport attempt, focusing on adding locks and
18390         making sure the API is threadsafe. Needs more work. More docs
18391         follow this week.
18392
18393 2005-02-24  Andy Wingo  <wingo@pobox.com>
18394
18395         * tests/bench-complexity.scm:
18396         * tests/complexity.gnuplot: New files, good for running complexity
18397         benchmarks.
18398
18399         * tests/Makefile.am:
18400         * tests/complexity.c: New test, sets up N elements, at each level
18401         teeing into M streams per element. Eeeenteresting.
18402
18403         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18404         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18405         running bench-mass_elements.scm.
18406
18407         * tests/bench-mass_elements.scm: New script, runs mass_elements
18408         for various numbers of identities, outputting the results to a
18409         file. Requires guile 1.6. Just for testing.
18410
18411 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18412
18413         * gst/schedulers/fairscheduler.c:
18414           compile with debug disabled
18415
18416 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18417
18418         * configure.ac:
18419           hunting season on 0.9 is now OPEN