Original commit message from CVS:
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
2
3         * configure.ac:
4         * gst/gstparse.c: (gst_parse_launch):
5
6 2006-07-21  Wim Taymans  <wim@fluendo.com>
7
8         * gst/gstparse.c: (gst_parse_launch):
9         Protect recursive calls to _parse with a recursive mutex
10         and busy flag.
11
12 2006-07-21  Wim Taymans  <wim@fluendo.com>
13
14         * tests/check/gst/gstpad.c: (GST_START_TEST):
15         Fix leak in test.
16
17 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
18
19         * gst/gstparse.c: (gst_parse_launch):
20           Do not hange on recursive uasge of gst_parse_launch()
21
22 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
23
24         * gst/gsttaglist.c:
25           Add some more docs, comments and FIXME 0.11s here and there
26           and  also fix some typos.
27
28 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
29
30         * gst/gstsegment.h:
31           Convert tabs to spaces for better readability. 
32
33 2006-07-20  Edward Hervey  <edward@fluendo.com>
34
35         * tests/check/libs/gdp.c: (gst_dp_suite):
36         the test_buffer test fails at line 140 on ppc64 at the following
37         check:
38         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
39                 "GST_BUFFER_IN_CAPS flag should have been copied !");
40         See bug #348114 for more details.
41
42 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
43
44         * docs/pwg/advanced-scheduling.xml:
45         * gst/gstpad.c:
46           Fix typos (#348000).
47
48 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
49
50         * docs/pwg/intro-basics.xml:
51           Fix wrong links (#347927).
52
53 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
54
55         * gst/gstregistry.h:
56         * gst/gstregistryxml.c: (load_feature),
57         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
58         * win32/common/config.h:
59         make --disable-index work (#342564)
60
61 2006-07-18  Wim Taymans  <wim@fluendo.com>
62
63         Patch by: Peter Kjellerstedt <pkj at axis dot com>
64
65         * gst/Makefile.am:
66         * gst/gsttrace.h:
67         The attached patch adds two missing defines to gsttrace.h when tracing
68         is disabled.  It also corrects one existing define.
69         Fixes #347756.
70
71 2006-07-17  Wim Taymans  <wim@fluendo.com>
72
73         * docs/gst/gstreamer-sections.txt:
74         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
75         * gst/gst.h:
76         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
77         Add two functions to check and change the SIGSEGV behaviour
78         when loading plugins.
79         Don't mess with the SIGSEGV handler when we were told not to.
80         Fixes #347794.
81         API: gst_segtrap_is_enabled
82         API: gst_segtrap_set_enabled
83
84 2006-07-14  Wim Taymans  <wim@fluendo.com>
85
86         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
87         * tests/check/elements/filesrc.c: (GST_START_TEST):
88         Revert fix for regression in #347408 after release.
89
90 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
91
92         Patch by: Antoine Tremblay <hexa00 at gmail com>
93
94         * gst/gstutils.c: (gst_element_unlink):
95           Free iterator when done (#347311).
96
97         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
98           And add a test case for this.
99
100 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
101
102         * configure.ac:
103         Bump nano back to CVS
104
105 === release 0.10.9 ===
106
107 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
108
109         * configure.ac:
110           releasing 0.10.9, "On the road again"
111
112 2006-07-13  Wim Taymans  <wim@fluendo.com>
113
114         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
115         * tests/check/elements/filesrc.c: (GST_START_TEST):
116         Revert pull-0 fix for release. Disable check. Fixes #347408.
117
118 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
119
120         * libs/gst/dataprotocol/dataprotocol.c:
121         (gst_dp_event_from_packet_1_0):
122           Fixes #347337: failure to deserialize event packets with
123           empty payload (only event type)
124
125 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
126
127         * gst/Makefile.am:
128           do not install a .c file in the header directory
129
130 2006-07-13  Edward Hervey  <edward@fluendo.com>
131
132         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
133         GhostPad no longer implicitely use the padtemplates of the targets.
134         Fixes #347384
135
136 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
137
138         * gst/gstvalue.c: (gst_value_compare_list),
139         (gst_value_compare_array), (_gst_value_initialize):
140         * tests/check/gst/gstvalue.c: (GST_START_TEST):
141         Make GstValueArray comparison be order dependent as designed.
142         Add checks for value lists and value array comparisons.
143         Fixes #347221
144
145 2006-07-11  Edward Hervey  <edward@fluendo.com>
146
147         * gst/gstbin.c: (activate_pads),
148         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
149         (gst_bin_change_state_func):
150         (de)activate src pads before calling state_change on the childs.
151         This is to avoid the case where a src ghostpad is blocked (holding the
152         stream lock), which would block the deactivation of the ghostpad's
153         target pad.
154         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
155         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
156         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
157         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
158         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
159         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
160         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
161         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
162         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
163         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
164         (gst_ghost_pad_class_init),
165         (gst_ghost_pad_internal_do_activate_push),
166         (gst_ghost_pad_internal_do_activate_pull),
167         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
168         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
169         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
170         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
171         GhostPads now create their internal GstProxyPad at creation (and not
172         when they're linked, as it was being done previously).
173         The internal and target pads are linked straight away.
174         The data will also travel through the other pad in order to make
175         pad blocking and probes non-hackish (the probe/block now really happens
176         on the GhostPad and not on the target).
177         * gst/gstpad.c: (gst_pad_set_blocked_async),
178         (gst_pad_link_prepare), (gst_pad_push_event):
179         Remove previous ghostpad cruft.
180         * gst/gstutils.c: (gst_pad_add_data_probe),
181         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
182         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
183         (gst_pad_remove_buffer_probe):
184         Remove previous ghost pad cruft.
185         Added more detailed debug statements.
186         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
187         Fix the testsuite for refcounting changes.
188         The comments about who has references were correct, but the refcount
189         being checked wasn't the same (!?!).
190
191         Fixes #341029
192
193 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
194
195         * docs/gst/gstreamer-sections.txt:
196         * gst/gstconfig.h.in:
197         More docs for configuration options, add docs to gtk-doc.
198
199 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
200
201         * gst/Makefile.am:
202         * gst/gstconfig.h.in:
203         * win32/common/config.h:
204         Fix build when disabling tracing (fixes #344016). Also start to document
205         the defines that disable the sub-systems.
206
207 2006-07-10  Edward Hervey  <edward@fluendo.com>
208
209         * gst/gst.c: (ensure_current_registry_forking):
210         let's make valgrind happy...
211
212 2006-07-09  Wim Taymans  <wim@fluendo.com>
213
214         * gst/gstelement.c: (activate_pads),
215         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
216         Better pad activation code: Reset the collect value too on resync.
217         Add some comments.
218
219 2006-07-09  Wim Taymans  <wim@fluendo.com>
220
221         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
222         (gst_pad_activate_push):
223         Use some more macros where it makes sense.
224         Allow pad mode switching instead of asserting. When a pad
225         is activated in one mode and we activate it in another, 
226         deactivate it first before activating it in a different mode.
227         Fixes #329198.
228
229 2006-07-08  Andy Wingo  <wingo@pobox.com>
230
231         * tools/gst-launch.c (main): Handle err == NULL.
232
233         * gst/gst.c (init_post, ensure_current_registry)
234         (ensure_current_registry_forking)
235         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
236         factoring out the registry scanning into separate functions. Don't
237         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
238         Better environment var name/interface suggestions accepted.
239
240 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
241
242         * gst/gstobject.c: (gst_object_set_name_default),
243         (gst_object_set_name):
244           Random micro-optimisation: don't use a hash table
245           with strings as keys and the usual strdup/strcmp
246           involved, but rather just use the GQuark of the
247           type name as key, since it needs to be looked up
248           anyway to get the type name string.
249
250         * tests/check/gst/gstobject.c: (GST_START_TEST):
251           Fix various leaks.
252
253 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
254
255         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
256         (gst_bin_iterate_all_by_interface):
257           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
258           GTypes are gulongs and thus the top 4 bytes might be cut
259           off on some platforms when doing GPOINTER_TO_INT, leading
260           to invalid GTypes and bad things happening.
261           Also add a check to make sure the type passed in is really
262           an interface type.
263
264 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
265
266         * .cvsignore:
267           Ignore more.
268
269 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
270
271         * Makefile.am:
272         * configure.ac:
273         * gst-element-check.m4:
274         * gst-element-check.m4.in:
275           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
276           instead of the unversioned gst-inspect (#324176, #168659).
277
278 2006-07-06  Wim Taymans  <wim@fluendo.com>
279
280         * gst/gstmessage.h:
281         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
282         warnings.
283
284 2006-07-06  Wim Taymans  <wim@fluendo.com>
285
286         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
287         (gst_base_src_wait), (gst_base_src_update_length),
288         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
289         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
290         (gst_base_src_loop), (gst_base_src_start),
291         (gst_base_src_activate_pull):
292         Update docs.
293         blocksize == 0 now means the default blocksize when working in push
294         based mode.
295         Remove some pointless asserts in _wait function.
296         Fix offset/length calculations and EOS handling. We can now pull 0
297         bytes as well, which is allowed.
298         use _check_get_range() to decide if we can operate in _pull based
299         mode.
300         Fix refcounting leak when check_get_range function was not 
301         implemented.
302         API GstBaseSrc::blocksize range can be 0 too now (default)
303
304         * tests/check/elements/filesrc.c: (GST_START_TEST),
305         (filesrc_suite):
306         Added check to test _get_range() behaviour.
307
308 2006-07-06  Wim Taymans  <wim@fluendo.com>
309
310         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
311         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
312         (gst_pad_pull_range):
313         * gst/gstpad.h:
314         Lots of comments and docs added to the pad functions.
315         Flesh out the expected behaviour of the get_range() functions.
316
317 2006-07-06  Wim Taymans  <wim@fluendo.com>
318
319         * gst/gstbus.h:
320         * gst/gstclock.h:
321         * gst/gstevent.h:
322         * gst/gstiterator.h:
323         * gst/gstpad.h:
324         * gst/gstplugin.h:
325         * gst/gsttask.h:
326         Remove comma at end of enumerator list. 
327
328 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
329
330         * win32/common/libgstbase.def:
331         * win32/common/libgstdataprotocol.def:
332         * win32/common/libsgtreamer.def:
333         Add new exported functions.
334
335 2006-07-05  Wim Taymans  <wim@fluendo.com>
336
337         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
338         Add some more docs here and there.
339
340 2006-07-05  Wim Taymans  <wim@fluendo.com>
341
342         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
343         (gst_base_sink_loop), (gst_base_sink_get_position):
344         When operating in pull mode update the offset so that we
345         read sequentially.
346
347 2006-07-05  Wim Taymans  <wim@fluendo.com>
348
349         * gst/gstregistryxml.c: (read_string):
350         Avoid strdup. (will happen in libxml, but hey!)
351
352         * gst/gsturi.c:
353         Add some more docs.
354
355 2006-07-05  Wim Taymans  <wim@fluendo.com>
356
357         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
358         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
359         (gst_buffer_suite):
360         No point in checking if the size of the subbuffer > 0, the
361         code handles it correclty as demonstrated by unit test.
362         Also add a unit test for the zero sized _new_and_alloc and
363         _copy. Fixes #346663.
364
365 2006-07-05  Wim Taymans  <wim@fluendo.com>
366
367         * libs/gst/base/gstbasetransform.c:
368         (gst_base_transform_prepare_output_buffer),
369         (gst_base_transform_buffer_alloc),
370         (gst_base_transform_handle_buffer):
371         Make sure the buffer we pass to transform_ip has a refcount of
372         1 and thus is writable. Fixes #343196
373
374 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
375
376         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
377         (gst_file_src_init), (gst_file_src_set_property),
378         (gst_file_src_get_property), (gst_file_src_map_region):
379         * plugins/elements/gstfilesrc.h:
380         Add "sequential" property, off by default, to use madvise and hint
381         to the kernel that sequential access is desired.
382         Touch all retrieved pages by default to ensure they are pulled
383         into memory. (Closes #345720)
384
385 2006-07-03  Wim Taymans  <wim@fluendo.com>
386
387         * docs/design/part-block.txt:
388         * docs/design/part-dynamic.txt:
389         Small docs updates.
390
391 2006-07-03  Wim Taymans  <wim@fluendo.com>
392
393         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
394         (gst_caps_unref), (gst_static_caps_get),
395         (gst_caps_append_structure):
396         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
397         Use GSlice when the glib we build against is >= 2.10
398
399 2006-07-03  Wim Taymans  <wim@fluendo.com>
400
401         * gst/gstelement.c: (gst_element_pads_activate):
402         Small cleanup in pad activation code.
403
404 2006-07-03  Wim Taymans  <wim@fluendo.com>
405
406         Patch by: Peter Kjellerstedt <pkj at axis dot com>
407
408         * gst/gst-i18n-app.h:
409         * gst/gst-i18n-lib.h:
410         * tools/gst-inspect.c: (print_signal_info):
411         The attached patch will make the inclusion of gettext.h unconditional in
412         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
413         libintl.h in tools/gst-inspect.c.
414         This allows use of --disable-nls again and fixes #344642.
415
416 2006-07-03  Edward Hervey  <edward@fluendo.com>
417
418         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
419         Implement pad blocking on events according to part-block.txt.
420         More comments on behaviour.
421         * tests/check/gst/gstevent.c: (test_event):
422         Send event to peer pad of blocked pad (else it will block).
423
424 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
425
426         * libs/gst/check/gstcheck.c: (gst_check_message_error),
427         (gst_check_run_suite):
428           if we get the wrong message, give us the types as string
429         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
430           Fix a translatable
431         * tests/check/elements/filesrc.c: (GST_START_TEST):
432           add a test for trying to open a non-existing file
433
434 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
435
436         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
437           add a test for adding self
438
439 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
440
441         * libs/gst/check/gstcheck.h:
442           add some assert_ as alias for fail_unless_*
443         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
444           increase test coverage
445
446 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
447
448         * Makefile.am:
449           include lcov.mak for lcov coverage generation
450         * tools/Makefile.am:
451           add to CLEANFILES
452
453 2006-07-02  Edward Hervey  <edward@fluendo.com>
454
455         * tests/check/elements/.cvsignore:
456         moaping
457
458 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
459
460         * configure.ac:
461           don't set CFLAGS and friends for gcov, done from GST_GCOV now
462         * tests/check/Makefile.am:
463           clean up gcov files
464
465 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
466
467         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
468           remove gst_caps_simplify; it was not declared and not used
469           and deprecated in 0.8
470
471 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
472
473         * docs/faq/gst-uninstalled:
474           don't put empty paths on PYTHONPATH
475         * docs/gst/gstreamer-sections.txt:
476           remove some symbols that are not there
477
478 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
479
480         * gst/gstcaps.c: (gst_caps_compare_structures):
481           whitespace fixes
482         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
483         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
484           add more tests
485
486 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
487
488         * libs/gst/dataprotocol/Makefile.am:
489           build dataprotocol test by linking to the lib, instead of
490           compiling the source, so we get coverage
491         * tests/check/Makefile.am:
492         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
493         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
494           add a test for filesrc
495
496 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
497
498         * tests/check/gst/gststructure.c: (GST_START_TEST),
499         (gst_structure_suite):
500           Push coverage from 59.04% to 70.00%
501
502 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
503
504         * tests/check/Makefile.am:
505           gst-inspect every element; this makes sure that we also get
506           coverage on element's get/set functions
507
508 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
509
510         * configure.ac:
511           set CFLAGS and friends to -O0 if gcov is being used
512           add GCOV LIBS
513         * gst/Makefile.am:
514         * libs/gst/base/Makefile.am:
515         * libs/gst/check/Makefile.am:
516         * libs/gst/controller/Makefile.am:
517         * libs/gst/dataprotocol/Makefile.am:
518         * libs/gst/net/Makefile.am:
519         * plugins/elements/Makefile.am:
520         * plugins/indexers/Makefile.am:
521           add makefile rules to generate gcov data and clean up
522         * tests/check/Makefile.am:
523           add a coverage target that generates an html overview
524           of coverage data
525
526 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
527
528         * tests/check/elements/fakesink.c:
529         * tests/check/elements/fakesrc.c:
530         * tests/check/elements/fdsrc.c:
531         * tests/check/elements/identity.c:
532         * tests/check/generic/sinks.c: (gst_sinks_suite):
533         * tests/check/generic/states.c:
534         * tests/check/gst/gst.c:
535         * tests/check/gst/gstabi.c:
536         * tests/check/gst/gstbin.c:
537         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
538         * tests/check/gst/gstbus.c: (gst_bus_suite):
539         * tests/check/gst/gstcaps.c: (GST_START_TEST):
540         * tests/check/gst/gstelement.c:
541         * tests/check/gst/gstevent.c: (gst_event_suite):
542         * tests/check/gst/gstghostpad.c:
543         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
544         * tests/check/gst/gstmessage.c: (gst_message_suite):
545         * tests/check/gst/gstminiobject.c:
546         * tests/check/gst/gstobject.c:
547         * tests/check/gst/gstpad.c:
548         * tests/check/gst/gstpipeline.c:
549         * tests/check/gst/gstplugin.c:
550         * tests/check/gst/gstquery.c: (gst_query_suite):
551         * tests/check/gst/gstsegment.c: (gst_segment_suite):
552         * tests/check/gst/gststructure.c:
553         * tests/check/gst/gstsystemclock.c:
554         * tests/check/gst/gsttag.c:
555         * tests/check/gst/gsttask.c: (gst_task_suite):
556         * tests/check/gst/gstutils.c:
557         * tests/check/gst/gstvalue.c:
558         * tests/check/libs/adapter.c:
559         * tests/check/libs/basesrc.c:
560         * tests/check/libs/collectpads.c:
561         * tests/check/libs/controller.c:
562         * tests/check/libs/gdp.c: (gst_dp_suite):
563         * tests/check/libs/gstnetclientclock.c:
564         * tests/check/libs/gstnettimeprovider.c:
565         * tests/check/libs/libsabi.c: (libsabi_suite):
566         * tests/check/libs/typefindhelper.c:
567         * tests/check/pipelines/cleanup.c:
568         * tests/check/pipelines/parse-launch.c:
569         * tests/check/pipelines/simple-launch-lines.c:
570         * tests/check/pipelines/stress.c: (stress_suite):
571           use the new macro
572
573 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
574
575         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
576         * libs/gst/check/gstcheck.h:
577           create a macro and function so that the simple unit test
578           case can be just one macro to create main()
579
580 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
581
582         * gst/gstbin.c: (gst_bin_restore_thyself):
583         * gst/gstxml.c: (gst_xml_make_element):
584           Fix deserialisation from XML. Set parent manually
585           instead of using gst_bin_add(), since gst_bin_add()
586           will unlink all pads of the element being added.
587           Fixes #341667.
588
589 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
590
591         Patch by: Peter Kjellerstedt <pkj at axis com>
592
593         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
594           Fix missing g_strdup() and double free when using the
595           --gst-plugin-load command line option (#346097).
596
597 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
598
599         * gst/gstinfo.c:
600           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
601
602         * libs/gst/net/gstnetclientclock.c:
603         * libs/gst/net/gstnettimeprovider.c:
604           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
605
606 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
607
608         * docs/manual/advanced-dataaccess.xml:
609           Fix buffer probe example compilation in
610           ADM (#345708).
611         
612 2006-06-22  Edward Hervey  <edward@fluendo.com>
613
614         * gst/gstelement.c: (gst_element_pads_activate):
615         We need to deactivate src pads first and then sink pads.
616         The reason is the src pads might be blocking while holding the streaming
617         lock, so we need to deactivate them first so that deactivating the sink
618         pads doesn't block (since it will require the streaming lock).
619
620 2006-06-22  Wim Taymans  <wim@fluendo.com>
621
622         * libs/gst/base/gstbasetransform.c:
623         (gst_base_transform_buffer_alloc):
624         Forgot to remove two unneeded unrefs.
625         Simplify a check _is_equal allready checks the obvious case.
626
627 2006-06-22  Wim Taymans  <wim@fluendo.com>
628
629         * docs/design/part-block.txt:
630         Some docs about what pad_block should do.
631
632 2006-06-22  Wim Taymans  <wim@fluendo.com>
633
634         * gst/gstcaps.c: (gst_caps_replace):
635         Fix crasher when passed NULL. Doc clarification.
636         Optimize for the trivial case.
637
638         * gst/gstpipeline.c: (gst_pipeline_change_state):
639         Small cleanups.
640
641         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
642         Small documentation cleanup.
643
644         * libs/gst/base/gstbasetransform.c:
645         (gst_base_transform_buffer_alloc):
646         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
647         is what we need and it avoids a whole lot of redundant 
648         refcount operations.
649
650 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
651
652         Patch by: Philip Jägenstedt  <philip at lysator liu se>
653
654         * docs/manual/advanced-dataaccess.xml:
655           Fix 'Embedding static elements' section to use
656           GST_PLUGIN_DEFINE_STATIC (#345607).
657
658 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
659
660         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
661           Attempt to 'fix' spuriously failing test case: it seems like the
662           timeout of half a second is simply too small when the system is under
663           load otherwise, and the timeout doesn't really seem to serve any
664           particular purpose here. Give the pipeline a few seconds to preroll
665           first, and then give it another half a second to go from PAUSED to
666           PLAYING and marshal the message into the main thread.
667
668 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
669
670         * tools/gst-feedback-m.m:
671           Don't only use unversioned tools, try versioned tools as well
672           (#345086).
673
674 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
675
676         * gst/gstbus.c: (gst_bus_class_init):
677           Fix some typos, make docs more explicit.
678
679 2006-06-20  Wim Taymans  <wim@fluendo.com>
680
681         * tests/check/gst/gstghostpad.c: (block_callback),
682         (GST_START_TEST), (gst_ghost_pad_suite):
683         Added some more ghostpad tests, mainly blocking
684         and probes.
685
686 2006-06-16  Wim Taymans  <wim@fluendo.com>
687
688         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
689         (gst_file_sink_close_file), (gst_file_sink_do_seek),
690         (gst_file_sink_event), (gst_file_sink_render):
691         * plugins/elements/gstfilesink.h:
692         Check if we can seek in the file instead of assuming
693         we always can. Post an error when we are asked to seek in a
694         non-seekable file (like a fifo). Fixes #343312.
695         Some cleanups.
696
697 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
698
699         * tools/gst-launch.1.in:
700           Un-garble (fourcc) bit in filtered caps section.
701
702 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
703
704         * docs/manual/advanced-autoplugging.xml:
705         * docs/manual/basics-helloworld.xml:
706         * docs/manual/highlevel-components.xml:
707           Don't leak bus reference in sample code.
708
709 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
710
711         * autogen.sh:
712           Add default for new --enable-plugin-docs switch.
713
714         * configure.ac:
715           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
716           Fixes #344039.
717
718         * docs/Makefile.am:
719           Use new ENABLE_PLUGIN_DOCS conditional.
720
721 2006-06-14  Wim Taymans  <wim@fluendo.com>
722
723         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
724         Make it clear with a FIXME and a real define what the #if 0
725         previously disabled.
726
727 2006-06-14  Wim Taymans  <wim@fluendo.com>
728
729         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
730         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
731         * libs/gst/base/gstbasetransform.c:
732         (gst_base_transform_sink_eventfunc):
733         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
734         Don't randomly and silently reset a segment when the format 
735         changes as this is a bug somewhere upstream. Fixes #330379.
736
737 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
738
739         Patch by: Wouter Paesen  <wouter at kangaroot net>
740
741         * libs/gst/controller/gstcontroller.c:
742         (gst_controlled_property_new):
743           Fix controlling of float properties (#344849).
744
745         * tests/check/libs/controller.c:
746         (gst_test_mono_source_get_property),
747         (gst_test_mono_source_set_property),
748         (gst_test_mono_source_class_init), (GST_START_TEST):
749           While we're at it, add some float stuff to unit test.
750
751 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
752
753         * docs/README:
754         * docs/images/gdp-header.svg:
755           add a gdp image
756         * docs/libs/Makefile.am:
757         * docs/libs/gdp-header.png:
758         * libs/gst/dataprotocol/dataprotocol.c:
759           add it to the API docs
760         * docs/manual/intro-motivation.xml:
761           fix typo
762
763 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
764
765         * gst/gst.c: (scan_and_update_registry), (init_post):
766           If the fork()'ed child process can't write the updated registry cache
767           file to disk for some reason, make it exit with a failure exit code,
768           so that the parent can then re-scan the plugins itself and update the
769           registry structures in memory and work with that (rather than failing
770           when creating elements because seemingly no plugins are available).
771           Refactor registry scanning code into separate function for this and
772           also separate fork() and non-fork() code paths. Fixes #344748.
773
774 2006-06-13  Wim Taymans  <wim@fluendo.com>
775
776         * docs/manual/advanced-dataaccess.xml:
777         Fix wrong PluginDesc. Fixes #344755.
778
779 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
780
781         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
782           Fix silly bug that prevented us from creating
783           ~/.gstreamer-0.10 and writing the registry in one
784           go (the first call to g_mkstemp() would overwrite the
785           placeholder in the template string, so the second call
786           to g_mkstemp() after creating the missing directory
787           would then error out with 'invalid argument').
788
789 2006-06-13  Edward Hervey  <edward@fluendo.com>
790
791         * gst/gst.c: (init_post):
792         Free string.
793
794 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
795
796         * gst/glib-compat-private.h:
797         * gst/glib-compat.c:
798         * gst/glib-compat.h:
799         * gst/gstvalue.c: (gst_value_serialize_flags):
800           remove GLib 2.6 compatibility code
801
802 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
803
804         * gst/parse/Makefile.am:
805           Fix build with 'make -j N' even more (#340016).
806
807 2006-06-12  Wim Taymans  <wim@fluendo.com>
808
809         * docs/gst/gstreamer-sections.txt:
810         Fix docs.
811
812 2006-06-12  Wim Taymans  <wim@fluendo.com>
813
814         * gst/gstsegment.c: (gst_segment_set_duration),
815         (gst_segment_set_last_stop), (gst_segment_set_seek),
816         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
817         (gst_segment_to_running_time), (gst_segment_clip):
818         Use G_UNLIKELY to help the compiler a bit.
819
820 2006-06-12  Wim Taymans  <wim@fluendo.com>
821
822         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
823
824         * gst/gstevent.c: (gst_event_get_type):
825         * gst/gstmessage.c:
826         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
827         (gst_pad_push):
828         constify quark registration strings. Fixes #344115
829         Avoid unneeded type checking is _pad_push() by internally
830         calling gst_pad_chain_unchecked().
831
832 2006-06-12  Wim Taymans  <wim@fluendo.com>
833
834         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
835         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
836         (gst_subbuffer_finalize), (gst_buffer_create_sub),
837         (gst_buffer_is_span_fast), (gst_buffer_span):
838         Init _type for consistency.
839         Use _FLAGS macro to avoid type check.
840         Avoid unneeded type checks in subbufer code.
841
842 2006-06-12  Wim Taymans  <wim@fluendo.com>
843
844         * gst/gst.c: (gst_debug_help):
845         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
846         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
847         (gst_plugin_feature_list_free):
848         * gst/gstregistry.c: (gst_registry_add_plugin),
849         (gst_registry_add_feature), (gst_registry_plugin_filter),
850         (gst_registry_feature_filter), (gst_registry_find_plugin),
851         (gst_registry_find_feature), (gst_registry_get_plugin_list),
852         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
853         * gst/gstregistryxml.c: (load_feature),
854         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
855         * gst/gstminiobject.c: (gst_mini_object_unref),
856         (gst_mini_object_replace), (gst_value_mini_object_free),
857         (gst_value_mini_object_copy):
858         Use _CAST macros to avoid unneeded type checking.
859         Added some more G_UNLIKELY.
860
861 2006-06-12  Wim Taymans  <wim@fluendo.com>
862
863         * gst/gstbuffer.h:
864         Avoid unneeded type checking.
865         API: GST_BUFFER_IS_DISCONT
866
867         * gst/gstminiobject.h:
868         Avoid type check in flag accessor.
869
870         * gst/gstelementfactory.h:
871         * gst/gstplugin.h:
872         * gst/gstpluginfeature.h:
873         Add _CAST macros.
874         API: GST_ELEMENT_FACTORY_CAST
875         API: GST_PLUGIN_CAST
876         API: GST_PLUGIN_FEATURE_CAST
877
878 2006-06-12  Wim Taymans  <wim@fluendo.com>
879
880         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
881         (gst_object_unref):
882         Add G_UNLIKELY in type registration.
883         Avoid type check in _ref/_unref since that is also
884         done in glib.
885
886 2006-06-12  Wim Taymans  <wim@fluendo.com>
887
888         * gst/gsterror.c: (gst_g_error_get_type):
889         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
890         (gst_static_pad_template_get_type):
891         * gst/gsttaglist.c: (gst_tag_list_get_type):
892         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
893         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
894         * gst/gsturi.c: (gst_uri_handler_get_type):
895         * gst/gstvalue.c: (gst_date_get_type):
896         * gst/gstxml.c: (gst_xml_get_type):
897         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
898         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
899         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
900         Add G_UNLIKELY in type registration.
901
902 2006-06-12  Wim Taymans  <wim@fluendo.com>
903
904         * tools/gst-inspect.c: (print_signal_info):
905         Properly print enum values.
906
907 2006-06-12  Wim Taymans  <wim@fluendo.com>
908
909         * gst/gstinfo.c: (gst_debug_set_active),
910         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
911         * gst/gstinfo.h:
912         Add some G_[UN]LIKELY.
913         Maintain __gst_debug_min to avoid formatting the arguments of
914         debug messages that will be dropped anyway to avoid a lot of 
915         overhead from the debugging system.
916
917 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
918
919         * po/POTFILES.in:
920         * po/POTFILES.skip:
921           add missing files containing translatable strings, tell intltool about
922           one exception
923
924 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
925
926         * tests/check/libs/.cvsignore:
927         add test-binary to ignore list
928
929 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
930
931         * docs/libs/gstreamer-libs-docs.sgml:
932         reorder (put dp into a chapter) and indent
933
934 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
935
936         * configure.ac:
937           back to HEAD
938
939 === release 0.10.8 ===
940
941 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
942
943         * configure.ac:
944           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
945
946 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
947
948         * gst/gst.c: (init_post):
949           move pid declaration to declaration block
950
951 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
952
953         * gst/gst.c: (init_post):
954           use _exit() instead of exit() in our forked child; this ensures
955           that none of the registered exit handlers from whatever is using
956           GStreamer get executed.  This fixes gnome-mixer-applet failing
957           to load, because ORBit would shut down.
958           Spotted by: Edward Hervey  <edward@fluendo.com>
959           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
960           Fixes #344474
961
962 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
963
964         * configure.ac:
965           back to TRUNK
966
967 === release 0.10.7 ===
968
969 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
970
971         * configure.ac:
972           releasing 0.10.7, "Soepeke, ik zie ou"
973
974 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
975
976         * configure.ac:
977         * po/af.po:
978         * po/az.po:
979         * po/bg.po:
980         * po/ca.po:
981         * po/cs.po:
982         * po/de.po:
983         * po/en_GB.po:
984         * po/fr.po:
985         * po/it.po:
986         * po/nb.po:
987         * po/nl.po:
988         * po/ru.po:
989         * po/sq.po:
990         * po/sr.po:
991         * po/sv.po:
992         * po/tr.po:
993         * po/uk.po:
994         * po/vi.po:
995         * po/zh_CN.po:
996         * po/zh_TW.po:
997         * win32/common/config.h:
998           0.10.6.2 prerelease
999
1000 2006-06-07  Wim Taymans  <wim@fluendo.com>
1001
1002         * gst/gstindex.c: (gst_index_gtype_resolver):
1003         * tools/gst-xmlinspect.c: (print_plugin_info):
1004         Fix leak spotted by coverity checker. Fixes #343827
1005         Fix another other leak found by paolo borelli.
1006
1007 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1008
1009         * libs/gst/dataprotocol/dataprotocol.c:
1010         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1011         (gst_dp_version_get_type), (gst_dp_init),
1012         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
1013         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
1014         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
1015         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
1016         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
1017         (gst_dp_packetizer_free):
1018         * libs/gst/dataprotocol/dataprotocol.h:
1019           API: add a GstDPPacketizer object, and create/free functions
1020           API: add GstDPVersion enum
1021           Add 1.0 event function that uses the string serialization
1022           Serialize more useful buffer flags
1023           Fixes #343988
1024
1025 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1026
1027         * tests/check/Makefile.am:
1028         * tests/check/gst/gstabi.c:
1029         * tests/check/gst/struct_ppc64.h:
1030         * tests/check/libs/libsabi.c:
1031         * tests/check/libs/struct_ppc64.h:
1032           add ppc64 structure sizes
1033
1034 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1035
1036         * tests/check/Makefile.am:
1037         * tests/check/gst/gstabi.c:
1038         * tests/check/gst/struct_x86_64.h:
1039         * tests/check/libs/libsabi.c:
1040         * tests/check/libs/struct_x86_64.h:
1041           generate and add structure size lists for x86_64
1042
1043 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1044
1045         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1046         * libs/gst/check/gstcheck.h:
1047           factor out the method from tests that checks size of structures,
1048           and add code to generate the header containing these sizes
1049         * tests/check/gst/gstabi.c: (GST_START_TEST):
1050         * tests/check/gst/struct_i386.h:
1051         * tests/check/libs/libsabi.c: (GST_START_TEST):
1052         * tests/check/libs/struct_i386.h:
1053           use it
1054
1055 2006-06-06  Michael Smith  <msmith@fluendo.com>
1056
1057         * gst/gstsegment.h:
1058           Don't use c++-style comments, fixes #343929
1059
1060 2006-06-05  Edward Hervey  <edward@fluendo.com>
1061
1062         * gst/gst.c:
1063         plugin_paths is not used if we build without registry support.
1064
1065         * gst/gstsegment.c: (gst_segment_copy): 
1066         _copy() was always returning NULL...
1067
1068 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1069
1070         * libs/gst/dataprotocol/dataprotocol.c:
1071         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1072         (gst_dp_packet_from_event):
1073           factor out CRC code
1074
1075 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1076
1077         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
1078           make sure we unset caps
1079
1080 2006-06-02  Michael Smith  <msmith@fluendo.com>
1081
1082         * libs/gst/check/gstcheck.c: (gst_check_init),
1083         (gst_check_chain_func):
1084         * libs/gst/check/gstcheck.h:
1085           Add a cond/mutex to the check support lib, signal this whenever we
1086           add to the buffers list. This will allow tests to not busy-wait on
1087           the buffer-list.
1088
1089 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1090
1091         * libs/gst/dataprotocol/dataprotocol.c:
1092         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
1093         (gst_dp_packet_from_event):
1094           factor out some common header init code
1095
1096 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1097
1098         * docs/libs/gstreamer-libs-sections.txt:
1099         * docs/libs/tmpl/gstdataprotocol.sgml:
1100         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
1101         * libs/gst/dataprotocol/dataprotocol.h:
1102           API: make gst_dp_crc() public
1103
1104 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1105
1106         * plugins/indexers/gstindexers.c: (plugin_init):
1107         conditionally register fileindexer (fixes #343598)
1108
1109 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
1110
1111         * gst/gsttagsetter.h:
1112         Can't cast ifaces to a class
1113
1114         * libs/gst/net/gstnetclientclock.h:
1115         * libs/gst/net/gstnettimeprovider.h:
1116         * plugins/elements/gstfakesink.h:
1117         * plugins/elements/gstfakesrc.h:
1118         * plugins/elements/gstfdsink.h:
1119         * plugins/elements/gstfdsrc.h:
1120         * plugins/elements/gstfilesink.h:
1121         * plugins/elements/gstfilesrc.h:
1122         * plugins/elements/gstidentity.h:
1123         * plugins/elements/gstqueue.h:
1124         * plugins/elements/gsttee.h:
1125         * plugins/indexers/gstfileindex.c:
1126         * plugins/indexers/gstmemindex.c:
1127         * tests/old/examples/plugins/example.h:
1128         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
1129
1130 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1131
1132         * libs/gst/dataprotocol/dataprotocol.c:
1133         (gst_dp_header_from_buffer):
1134           make sure we zero the whole ABI-compatible area
1135
1136 2006-06-01  Wim Taymans  <wim@fluendo.com>
1137
1138         Patch by: Alessandro Decina <alessandro at nnva dot org>
1139
1140         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
1141         Make sure the EOS flag is cleared from pads after a flush
1142         or stop. Fixes #343538.
1143
1144         * tests/check/libs/collectpads.c: (GST_START_TEST),
1145         (gst_collect_pads_suite):
1146         Added test for collectpads reusage after EOS.
1147
1148 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
1149
1150         * gst/gst.c:
1151          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
1152         * win32/common/libgstbase.def:
1153          export gst_collect_pads_set_flushing
1154         * win32/common/libgstreamer.def:
1155          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
1156          gst_value_fraction_multiply
1157         * win32/vs6/gst_inspect.dsp:
1158          add a link to intl.lib
1159
1160 2006-05-30  Wim Taymans  <wim@fluendo.com>
1161
1162         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1163         (gst_collect_pads_chain):
1164         Handle the case where a pad is removed from the collection
1165         that could cause the other pads to become collectable.
1166
1167 2006-05-30  Wim Taymans  <wim@fluendo.com>
1168
1169         * gst/gstelement.c:
1170         Clarify the use of _release_request_pad() and
1171         _get_request_pad() a bit better.
1172
1173         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
1174         (gst_adapter_take_buffer):
1175         Fix some doc and comment typos.
1176
1177 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1178
1179         * docs/gst/gstreamer-sections.txt:
1180         * docs/libs/gstreamer-libs-sections.txt:
1181           add declared symbols
1182
1183 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
1184
1185         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
1186         Add debug that can be enabled using a #define at the top of the file,
1187         for dumping stats about how late/early we were when waking up from
1188         waiting on the clock.
1189
1190 2006-05-30  Wim Taymans  <wim@fluendo.com>
1191
1192         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
1193         When rebuilding the pad list, don't leak the previous list.
1194
1195 2006-05-30  Wim Taymans  <wim@fluendo.com>
1196
1197         Patch by: Lutz Mueller <lutz at topfrose dot de>
1198
1199         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1200         (gst_base_src_get_query_types), (gst_base_src_update_length):
1201         Publish supported query types.
1202         Update last_stop field in get_range mode so the position
1203         query works. Fixes #342321.
1204
1205 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
1206
1207         * docs/gst/gstreamer-sections.txt:
1208         * gst/gsttaglist.c: (_gst_tag_initialize):
1209         * gst/gsttaglist.h:
1210           API: add GST_TAG_PREVIEW_IMAGE (#343341).
1211
1212 2006-05-30  Wim Taymans  <wim@fluendo.com>
1213
1214         Patch by: Alessandro Decina <alessandro at nnva dot org>
1215
1216         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1217         Unlock mutex when removing an unknown pad.
1218         Fixes #343334.
1219
1220         * tests/check/Makefile.am:
1221         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
1222         (push_event), (setup), (teardown), (GST_START_TEST),
1223         (gst_collect_pads_suite), (main):
1224         Added collecpads check, disabled for now as check crashes for
1225         some reason.
1226
1227 2006-05-29  Wim Taymans  <wim@fluendo.com>
1228
1229         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
1230         Don't leak pads lists.
1231
1232 2006-05-29  Wim Taymans  <wim@fluendo.com>
1233
1234         * docs/libs/gstreamer-libs-sections.txt:
1235         * libs/gst/base/gstcollectpads.c:
1236         (gst_collect_pads_set_flushing_unlocked),
1237         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1238         (gst_collect_pads_stop):
1239         * libs/gst/base/gstcollectpads.h:
1240         API: gst_collect_pads_set_flushing()
1241         Added api to set the pads to flushing, useful for seeking
1242         code in elements using collectpads.
1243         Clear segment when receiving a flush.
1244
1245 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
1246
1247         * gst/gst.c: (add_path_func), (init_post):
1248           Don't scan registry paths passed via --gst-plugin-path immediately
1249           (will crash, because absolutely nothing is set up and no types are
1250           registered etc.); do this later in init_post(). Fixes #343057.
1251
1252 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1253
1254         * gst/gst.c: (init_post):
1255           if we have fork, fork while reading/rebuilding the registry
1256           so the parent doesn't take the hit of having all plugins loaded
1257           in memory.  Fixes #342777.
1258         * configure.ac:
1259           Check if we have fork()
1260         * win32/common/config.h.in:
1261           no fork() on win32
1262
1263 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1264
1265         * plugins/elements/gstelements.c:
1266         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1267         (gst_file_src_init), (gst_file_src_set_property),
1268         (gst_file_src_get_property), (gst_file_src_start):
1269         * plugins/elements/gstfilesrc.h:
1270           API: GstFileSrc::use-mmap
1271
1272         Add a use-mmap property to enable easier testing of all code paths.
1273         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
1274         in the absence of gnomevfssrc. (Closes #340501)
1275
1276 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1277
1278         * tools/gst-inspect.c:
1279         Add missing include, removes warning of ngettext not being defined on
1280         some arches.
1281
1282 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
1283
1284         * gst/gstvalue.c: (gst_value_deserialize_fraction):
1285         Handle NULL input and output pointers silently as a failed conversion,
1286         rather than g_warnings.
1287
1288 2006-05-25  Wim Taymans  <wim@fluendo.com>
1289
1290         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
1291         Initialize variable before using. Fixes #342820.
1292
1293 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
1294
1295         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
1296           Fix off-by-one bug that would only allow peeks of N-1 bytes
1297           from the start even if the buffer to typefind on contains
1298           in fact N bytes of data (makes vorbis typefinding from a
1299           vorbis identification header buffer work).
1300
1301         * tests/check/Makefile.am:
1302         * tests/check/libs/.cvsignore:
1303         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
1304         (gst_typefindhelper_suite), (main), (foobar_typefind),
1305         (plugin_init):
1306           Add very basic unit test for gst_type_find_helper_for_buffer()
1307           that checks for the problem fixed above.
1308
1309 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1310
1311         * tools/gst-inspect.c: (print_interfaces),
1312         (print_element_properties_info), (print_element_list), (main):
1313           add more translatable strings
1314
1315 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
1316
1317         Patch by: Julien Moutte  <julien at moutte net>
1318
1319         * docs/gst/gstreamer-sections.txt:
1320           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
1321           
1322         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
1323         (gst_fake_sink_preroll):
1324         * plugins/elements/gstfakesink.h:
1325           API: Add new GstFakeSink::preroll-handoff signal (#337100).
1326
1327 2006-05-23  Wim Taymans  <wim@fluendo.com>
1328
1329         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
1330         * gst/gstpad.h:
1331         Added _CUSTOM error and success GstFlowReturn that can be
1332         used be elements internally. 
1333         Added macro to check for SUCCESS flowreturns.
1334         API: GST_FLOW_CUSTOM_SUCCESS
1335         API: GST_FLOW_CUSTOM_ERROR
1336         API: GST_FLOW_IS_SUCCESS
1337
1338         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1339         Added check for GstFlowReturn sanity.
1340
1341 2006-05-23  Wim Taymans  <wim@fluendo.com>
1342
1343         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
1344
1345         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1346         (gst_collect_pads_event):
1347         clear/reset segment info in FLUSH_STOP.
1348         Fixes #336929.
1349
1350 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
1351
1352         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
1353         (gst_collect_pads_check_collected):
1354         Flush queued buffer on _stop(), fixes playing again (#342454)
1355
1356 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1357
1358         * tests/check/gst/gststructure.c: (GST_START_TEST),
1359         (gst_structure_suite):
1360           add a test for a complete structure
1361
1362 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1363
1364         * docs/faq/developing.xml:
1365         * docs/faq/faq.xml:
1366         * docs/faq/troubleshooting.xml:
1367         * docs/faq/using.xml:
1368           Some minor FAQ updates that won't change the fact that
1369           our FAQ is badly structured, full of information hardly
1370           anyone new to GStreamer needs to know and lacking lots
1371           of information people constantly ask for.
1372           
1373 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
1374
1375         * gst/gstpad.c: (gst_pad_set_caps):
1376           Short-circuit gst_pad_set_caps if setting the existing
1377           caps pointer again, and avoid printing debug and 
1378           reffing/unreffing the caps.
1379
1380         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1381           There's actually no need to set the caps before pushing -
1382           the acceptcaps method will handle it anyway.
1383
1384 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
1385
1386         * docs/gst/gstreamer-sections.txt:
1387         * win32/common/libgstreamer.def:
1388         * gst/gstutils.c: (gst_element_seek_simple):
1389         * gst/gstutils.h:
1390           API: add gst_element_seek_simple() (#342238).
1391
1392 2006-05-18  Edward Hervey  <edward@fluendo.com>
1393
1394         * gst/gsttypefind.c: (gst_type_find_get_type):
1395         * gst/gsttypefind.h:
1396         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
1397         registered for GstTypeFind pointers. This allows wrapping the structure
1398         in bindings (i.e. gst-python).
1399
1400 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1401
1402         * gst/gsttagsetter.c:
1403           Docs additions and fixes (see #339918).
1404
1405 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
1406
1407         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1408         The caps intersection algorithm can produce multiple copies of the
1409         caps. Until that is fixed, we need to simplify the result to be
1410         sure whether the allowed caps are fixed or not.
1411
1412         * plugins/elements/gstqueue.c: (gst_queue_init),
1413         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
1414         (gst_queue_push_one):
1415         Proxied buffer alloc should not set the caps on the source pad.
1416         When pushing buffers, we always accept the caps change that triggers.
1417         This prevents negotiation errors caused by caps changing mid-stream 
1418         and then being refused on our source pad (because upstream is now
1419         refusing those caps).
1420
1421 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
1422
1423         * tests/examples/helloworld/helloworld.c: (main):
1424           Must plug audioconvert and audioresample between decoder
1425           and audio sink.
1426
1427 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
1428
1429         * gst/gstregistryxml.c: (read_string), (load_pad_template),
1430         (load_feature), (load_plugin):
1431         Allow empty strings for some of the plugin fields so we don't 
1432         drop valid plugin entries that were written out correctly
1433         (Fixes #341479)
1434
1435 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
1436         
1437         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
1438           Use g_remove and g_rename instead of remove and rename that don't 
1439           handle utf8 characters. rename was failing for users who had specific
1440           characters in their name then the registry was built at each 
1441           gstreamer init.
1442         * win32/vs6/gst_inspect.dsp:
1443         * win32/vs6/gst_launch.dsp:
1444         * win32/vs6/libgstbase.dsp:
1445         * win32/vs6/libgstcoreelements.dsp:
1446         * win32/vs6/libgstreamer.dsp:
1447           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
1448           build of libgstreamer and clean unused libraries in projects link 
1449           settings.
1450
1451 2006-05-17  Edward Hervey  <edward@fluendo.com>
1452
1453         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1454         The queue is not responsible for pushing an EOS when receiving a fatal
1455         flow error. It's up to the real element driving the pipeline to do that.
1456
1457 2006-05-16  Edward Hervey  <edward@fluendo.com>
1458
1459         * plugins/elements/gstqueue.c: (gst_queue_push_one):
1460         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
1461         buffer returned a fatal error. It should just send an EOS and stop
1462         its task.
1463         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
1464         when pushing buffers on the queue and will be able to handle the event.
1465
1466 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
1467
1468         * docs/manual/basics-bins.xml:
1469         * docs/manual/basics-init.xml:
1470           Fix typos and minor errors in sample code (#341856).
1471
1472 2006-05-16  Wim Taymans  <wim@fluendo.com>
1473
1474         * docs/design/part-qos.txt:
1475         Fix indexes in formulas to make more sense.
1476
1477 2006-05-15  Wim Taymans  <wim@fluendo.com>
1478
1479         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1480         Don't report POSITION based on clock time if sync is
1481         disabled in a sink.
1482
1483 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
1484
1485         * gst/gstobject.h:
1486           Add cast to make compiler happy - refcount variable was a gint
1487           in GstObject but is a guint in GObject and g_atomic_int_get()
1488           wants a gint *.
1489
1490 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
1491
1492         * gst/parse/Makefile.am:
1493           chain commands using &&, which also makes parallel make work
1494
1495 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
1496
1497         * docs/gst/gstreamer-sections.txt:
1498         * gst/gstevent.c:
1499         * gst/gstevent.h:
1500         * gst/gstmessage.h:
1501           Minor docs fixes.
1502
1503 === release 0.10.6 ===
1504
1505 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
1506
1507         * configure.ac:
1508           releasing 0.10.6, "Take the cannoli"
1509
1510 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1511
1512         * tools/gst-launch.c: (print_tag):
1513           Fix use of uninitialized variable in the hypothetical
1514           case that some broken plugin creates a GST_TAG_IMAGE
1515           tag containing a NULL buffer (#341667).
1516
1517 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1518
1519         * tools/gst-launch.c: (print_tag):
1520           Print something more intelligible for image tags when
1521           using the -t switch (#341556).
1522
1523 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1524
1525         * Makefile.am:
1526           updates for win32
1527         * configure.ac:
1528           define GST_MAJORMINOR so we have it available in win32/common/config.h
1529           Possibly remove it from our Makefile.am files later
1530         * win32/common/config.h:
1531         * win32/common/config.h.in:
1532           added GST_MAJORMINOR
1533         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1534         * win32/common/gstversion.h:
1535           updated
1536
1537 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1538
1539         * win32/MANIFEST:
1540           Update win32 files listing.
1541         * win32/common/gstversion.h:
1542           Add GST_MAJORMINOR definition.
1543         * win32/common/libgstreamer.def:
1544           Add new exported functions.
1545           
1546 2006-05-12  Michael Smith  <msmith@fluendo.com>
1547
1548         * gst/gstplugin.c: (gst_plugin_load_file):
1549           If an so file has no plugin entry point, unload the module.
1550
1551 2006-05-11  Wim Taymans  <wim@fluendo.com>
1552
1553         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1554         (gst_queue_set_property):
1555         Don't forget to signal the _chain or _loop function 
1556         when the queue size or thresholds change since that might
1557         cause them to make progres again.
1558
1559 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1560
1561         * gst/gstclock.c: (gst_clock_class_init):
1562         * gst/gstindex.c: (gst_index_class_init):
1563         * gst/gstobject.c: (gst_object_class_init):
1564         * gst/gstpad.c: (gst_pad_class_init):
1565         * gst/gstpipeline.c: (gst_pipeline_class_init):
1566         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1567         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1568         * libs/gst/base/gstbasetransform.c:
1569         (gst_base_transform_class_init):
1570         * libs/gst/net/gstnetclientclock.c:
1571         (gst_net_client_clock_class_init):
1572         * libs/gst/net/gstnettimeprovider.c:
1573         (gst_net_time_provider_class_init):
1574         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1575         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1576         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1577         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1578         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1579         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1580         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1581         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1582         * plugins/elements/gsttee.c: (gst_tee_class_init):
1583         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1584         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1585           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1586
1587 2006-05-11  Wim Taymans  <wim@fluendo.com>
1588
1589         * gst/gstbuffer.c: (_gst_buffer_initialize):
1590         Register subbufer along with the buffer type so that
1591         it does not accidentally gets registered from N
1592         different streaming threads in a non threadsafe way.
1593
1594 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1595
1596         * gst/gstbuffer.h:
1597         * gst/gstevent.h:
1598         * gst/gstmessage.h:
1599           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1600           gst_event_ref() and gst_message_ref() functions again
1601           (ugly hack, please do fix if there's a better way besides
1602           overrides.txt, which doesn't seem to work).
1603
1604 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1605
1606         * libs/gst/check/gstcheck.h:
1607           add an assert for setting state to avoid lots of repetitive code
1608           in the future
1609
1610 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1611
1612         * gst/gstvalue.c: (gst_value_serialize_flags):
1613           fix a leak if no flags are set
1614         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1615           fix leak in tests
1616
1617 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1618
1619         * docs/manual/basics-pads.xml:
1620           Expand a bit on caps and filtered links and update
1621           examples that were still using the no longer existing
1622           gst_pad_link_filtered() (#338206).
1623
1624 2006-05-10  Wim Taymans  <wim@fluendo.com>
1625
1626         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1627         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1628         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1629         (gst_collect_pads_stop):
1630         * libs/gst/base/gstcollectpads.h:
1631         No need to call _stop in _finalize.
1632         Iterate the main pad list in _finalize.
1633         Added some more debug.
1634         Free lists and data in the right order.
1635         Also free data whem doing _remove_pad when stopped for
1636         backward compatibility protect ::started with PAD_LOCK as
1637         well.
1638
1639 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1640
1641         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1642         (gst_structure_parse_value):
1643           add some comments
1644           rename a method so that it actually says what it does better
1645
1646 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1647
1648         * gst/gstevent.c: (_gst_event_initialize):
1649         * gst/gstformat.c: (_gst_format_initialize):
1650           make sure some essential types used by events are registered
1651           as part of gst_init()
1652         * gst/gstvalue.c: (gst_value_serialize_flags):
1653           if no flags are set, serialize them to a value that represents NONE
1654           so that deserializing them works
1655         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1656           add tests for serialization and deserialization of flags
1657
1658 2006-05-10  Wim Taymans  <wim@fluendo.com>
1659
1660         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1661         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1662         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1663         (gst_collect_pads_event), (gst_collect_pads_chain):
1664         Update docs.
1665         Better debug info.
1666         Catch and return errors from the collect function
1667         Refuse data on eos pads.
1668
1669 2006-05-10  Edward Hervey  <edward@fluendo.com>
1670
1671         * gst/gstinterface.h:
1672         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1673         GInterface type checking.
1674         They were previously using non-defined macros.
1675
1676 2006-05-09  Wim Taymans  <wim@fluendo.com>
1677
1678         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1679         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1680         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1681         (gst_collect_pads_start), (gst_collect_pads_stop),
1682         (gst_collect_pads_peek), (gst_collect_pads_pop),
1683         (gst_collect_pads_available), (gst_collect_pads_read),
1684         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1685         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1686         (gst_collect_pads_chain):
1687         * libs/gst/base/gstcollectpads.h:
1688         Clean up the mess that is collectpads, add comments and
1689         FIXMEs where needed.
1690         Maintain a separate pad list so we can add pads while
1691         collecting the other ones. For this we need a new separate 
1692         lock (see comics).
1693         Fix memory leak in finalize.
1694         Refactor some weird code to set/unset pad flushing flags, mark
1695         with comments.
1696         Don't crash in _available, _read, _flush when we're EOS.
1697
1698         * tests/check/libs/.cvsignore:
1699         Ignore adapter check binary.
1700
1701 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1702
1703         * gst/gstindex.c: (gst_index_resolver_get_type):
1704         * plugins/elements/gstfakesink.c:
1705         (gst_fake_sink_state_error_get_type):
1706         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1707         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1708         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1709           Const-ify GEnumValue arrays.
1710
1711 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1712
1713         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1714           Add test case for flags + gst_buffer_make_metadata_writable().
1715
1716 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1717
1718         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1719           gst_buffer_make_metadata_writable() should maintain the
1720           buffer flags (those that make sense at least) (see #340859).
1721
1722 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1723
1724         * tools/gst-inspect.c:
1725         * tools/gst-launch.c:
1726         * tools/gst-typefind.c:
1727         * tools/gst-xmlinspect.c:
1728         * tools/tools.h:
1729           Fix up includes: need to include stdlib.h in tools.h for exit().
1730
1731 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1732
1733         * gst/gsttaglist.c: (_gst_tag_initialize):
1734         * gst/gsttaglist.h:
1735           API: add GST_TAG_IMAGE tag (#340721).
1736
1737 2006-05-08  Wim Taymans  <wim@fluendo.com>
1738
1739         * gst/gstquery.c:
1740         Added some docs for the segment query.
1741
1742 2006-05-08  Wim Taymans  <wim@fluendo.com>
1743
1744         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1745         (gst_base_src_loop), (gst_base_src_change_state):
1746         Always push non-flushing serialized events in the streaming 
1747         thread.
1748
1749 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1750
1751         * gst/gsterror.c: (_gst_stream_errors_init):
1752           Add a missing error string.
1753
1754 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1755
1756         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1757         Add applied_rate to the debug
1758
1759         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1760         Copy applied_rate into the outgoing NEWSEGMENT event
1761
1762 2006-05-08  Wim Taymans  <wim@fluendo.com>
1763
1764         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1765
1766         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1767         (gst_base_sink_change_state):
1768         call ::unlock before taking the PREROLL_LOCK so we can safely
1769         handle elements that lock in ::render.
1770         Fixes #340174.
1771
1772 2006-05-08  Edward Hervey  <edward@fluendo.com>
1773
1774         * autogen.sh: (CONFIGURE_DEF_OPT): 
1775         Darwin's libtoolize is in fact called glibtoolize.
1776         Adding glibtoolize to the list of accepted names for libtoolize.
1777
1778 2006-05-08  Wim Taymans  <wim@fluendo.com>
1779
1780         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1781         Unify error handling, don't post an error message
1782         when a push() returns EOS but perform our normal EOS
1783         handling code. Fixes #340772.
1784
1785 2006-05-08  Wim Taymans  <wim@fluendo.com>
1786
1787         * docs/design/part-overview.txt:
1788         Make upsteam/downstream concepts more clear.
1789         Give an example of serialized/non-serialized events.
1790
1791         * docs/design/part-events.txt:
1792         * docs/design/part-streams.txt:
1793         Mention applied_rate.
1794
1795         * docs/design/part-trickmodes.txt:
1796         Mention applied rate, flesh out some more use cases.
1797
1798         * gst/gstevent.c: (gst_event_new_new_segment),
1799         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1800         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1801         (gst_event_parse_tag), (gst_event_new_buffer_size),
1802         (gst_event_parse_buffer_size), (gst_event_new_qos),
1803         (gst_event_parse_qos), (gst_event_parse_seek),
1804         (gst_event_new_navigation):
1805         * gst/gstevent.h:
1806         Add applied_rate field to NEWSEGMENT event.
1807         API: gst_event_new_new_segment_full()
1808         API: gst_event_parse_new_segment_full()
1809
1810         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1811         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1812         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1813         * gst/gstsegment.h:
1814         Add applied_rate to GstSegment structure.
1815         Make calculation of stream_time and running_time more correct
1816         wrt rate/applied_rate.
1817         Add some more docs.
1818         API: GstSegment::applied_rate field
1819         API: gst_segment_set_newsegment_full();
1820
1821         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1822         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1823         * libs/gst/base/gstbasetransform.c:
1824         (gst_base_transform_sink_eventfunc),
1825         (gst_base_transform_handle_buffer):
1826         Parse and use applied_rate in the GstSegment field.
1827
1828         * tests/check/gst/gstevent.c: (GST_START_TEST):
1829         Add check for applied_rate field.
1830
1831         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1832         (gstsegments_suite):
1833         Add more checks for various GstSegment operations.
1834
1835 2006-05-08  Wim Taymans  <wim@fluendo.com>
1836
1837         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1838         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1839         (gst_base_sink_get_position), (gst_base_sink_change_state):
1840         Store the sync time of the buffer end position separatly in a
1841         new variable eos_rtime so we can properly sync the EOS event.
1842         Fixes #340697.
1843         Fix the docs for gst_base_sink_set_qos_enabled().
1844         Don't set segment start to invalid value when we receive a 
1845         non TIME newsegment.
1846         get closer to handling position reporting for negative rates 
1847         correctly.
1848
1849 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1850
1851         * gst/gstcaps.c:
1852         Docs about how to print caps for debug purposes.
1853
1854         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1855         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1856
1857 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1858
1859         * gst/gstelement.c:
1860           use full enum names and preprend a '%' in docs strings to make recent 
1861           gtk-doc turn that into a link
1862
1863 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1864
1865         * docs/manual/basics-bins.xml:
1866         * docs/manual/basics-bus.xml:
1867         * docs/manual/basics-pads.xml:
1868           Some typo fixes, some additions, some clarifications. 
1869
1870 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * tools/gst-inspect.c: (main):
1873         * tools/gst-launch.c: (main):
1874         * tools/gst-run.c: (main):
1875         * tools/gst-typefind.c: (main):
1876         * tools/gst-xmlinspect.c: (main):
1877           Use the string passed to g_option_context_new() for
1878           what it's intended for - the program name is already
1879           printed elsewhere.
1880
1881 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1882
1883         * tools/Makefile.am:
1884         * tools/gst-inspect.c: (main):
1885         * tools/gst-launch.c: (main):
1886         * tools/gst-xmlinspect.c: (main):
1887         * tools/tools.h:
1888           Add back --version command line option (#340460).
1889
1890         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1891           Add --version option and use GOption for argument parsing; refactor a
1892           bit; accept directories as arguments and recurse into them; lastly,
1893           print a decent error message when things go wrong.
1894
1895 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1896
1897         * docs/manual/basics-bins.xml:
1898         Don't mention GstThread (#340611)
1899         * docs/manual/basics-elements.xml:
1900         Update link to GObject tutorial (#340607)
1901         
1902 2006-05-05  Wim Taymans  <wim@fluendo.com>
1903
1904         * gst/gstbuffer.h:
1905         * gst/gstminiobject.c:
1906         Add note about refcounting and miniobject/buffer writeability
1907         to docs. Fixes #340604
1908
1909         * gst/gstelementfactory.h:
1910         Added some explanation about @klass.
1911
1912 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1913
1914         * docs/manual/intro-motivation.xml:
1915         * docs/manual/manual.xml:
1916         Avoid CORBA & Bonobo references (#340598)
1917
1918 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1919
1920         * docs/manual/basics-bus.xml:
1921         * docs/manual/basics-pads.xml:
1922         Fix up some inaccuracies and omissions (#340609)
1923         
1924 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1925
1926         * gst/gstghostpad.c:
1927           Small typo in docs (#340625)
1928
1929 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1930
1931         * gst/parse/Makefile.am:
1932           Make 'make -j' proof (see #340698).
1933
1934 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1935
1936         * configure.ac:
1937           Require GLib-2.8 here as well.
1938
1939 2006-05-05  Wim Taymans  <wim@fluendo.com>
1940
1941         * gst/glib-compat.c:
1942         * gst/gst.c: (init_pre):
1943         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1944         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1945         (gst_object_dispatch_properties_changed):
1946         * gst/gstobject.h:
1947         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1948         * gst/gststructure.c: (gst_structure_set_valist):
1949         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1950         Remove pre glib2.8 compatibility, fixes #340508
1951
1952 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1953
1954         * gst/gsttaglist.h:
1955           Mention type of tags in doc blurbs.
1956
1957 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1958
1959         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1960         (gst_pad_configure_src), (gst_pad_push):
1961         Restore acceptcaps checking behaviour now that good plugins have
1962         been released.
1963
1964 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1965
1966         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1967
1968         * gst/gst.c:
1969         * gst/gstbus.c:
1970         * gst/gstclock.c:
1971         * gst/gstevent.c:
1972         * gst/gstformat.c:
1973         * gst/gstmessage.c:
1974         * gst/gstparse.c:
1975         * gst/gstquery.c:
1976         * gst/gstutils.c:
1977         * gst/parse/Makefile.am:
1978         * libs/gst/base/gstadapter.c:
1979         * libs/gst/base/gstbasesrc.c:
1980         * libs/gst/base/gstpushsrc.c:
1981         * libs/gst/base/gsttypefindhelper.c:
1982         * plugins/elements/gstfakesrc.c:
1983         * plugins/elements/gstidentity.c:
1984           Make sure gstprivate.h and/or config.h are
1985           always included first, otherwise some of our
1986           defines (like _FILE_OFFSET_BITS) might be
1987           redefined in the system headers. Fixes build
1988           on opensolaris (#340016).
1989
1990 2006-05-04  Wim Taymans  <wim@fluendo.com>
1991
1992         * docs/libs/gstreamer-libs-sections.txt:
1993         API: addition: gst_adapter_take_buffer()
1994         
1995         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1996         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1997         (gst_adapter_available_fast):
1998         * libs/gst/base/gstadapter.h:
1999         Prepare for optimizing the hell out of this hugely inefficient
2000         piece of code. 
2001         Added gst_adapter_take_buffer() so we can at least start thinking
2002         about subbuffering and merging.
2003         Added some comments.
2004
2005         * tests/check/Makefile.am:
2006         * tests/check/libs/adapter.c: (GST_START_TEST),
2007         (gst_adapter_suite), (main):
2008         Added GstAdapter check.
2009
2010 2006-05-04  Wim Taymans  <wim@fluendo.com>
2011
2012         * docs/design/part-overview.txt:
2013         Fix some typos, add blurb about buffer flags.
2014
2015 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2016
2017         * docs/libs/gstreamer-libs-sections.txt:
2018           make sure GstBaseTransformClass shows up in the docs
2019         * libs/gst/base/gstbasetransform.c:
2020         * libs/gst/base/gstbasetransform.h:
2021           move docs so gtk-doc picks it up now
2022
2023 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2024
2025         * docs/libs/gstreamer-libs-sections.txt:
2026           add missing symbols to docs
2027
2028 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
2029
2030         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2031           back out the newsegment handling change, see #340060 for ongoing
2032           discussion
2033
2034 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
2035
2036         * tools/gst-run.c: (get_candidates), (main):
2037           Fix wrong g_file_test() usage (see glib docs for why it doesn't
2038           work); fix typo in error message. Fixes #340079.
2039
2040 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2041
2042         * common/Makefile.am:
2043         * docs/Makefile.am:
2044         * docs/faq/Makefile.am:
2045         * docs/gst/Makefile.am:
2046         * docs/libs/Makefile.am:
2047         * docs/manual/Makefile.am:
2048         * docs/plugins/Makefile.am:
2049         * docs/pwg/Makefile.am:
2050         * docs/slides/Makefile.am:
2051         * docs/upload.mak:
2052         * common/upload.mak:
2053           move upload.mak to common
2054
2055 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2056
2057         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2058           add more asserts on refcounts
2059           do more cleanup at end of tests
2060           fix test leaks showing in FC5
2061
2062 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
2063
2064         * plugins/elements/gsttypefindelement.c:
2065         (gst_type_find_element_handle_event):
2066         reverted wrong change and reflowed code to avoid others falling into
2067         this trap
2068
2069 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2070
2071         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2072           fix changelog entry about last collectpads change,
2073           add notes about proper fix
2074
2075 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2076
2077         * gst/gst.c:
2078         * gst/gstregistry.c: (gst_registry_scan_path_level),
2079         (gst_registry_scan_path):
2080         * gst/gstregistry.h:
2081           only write out registry if it has changed, fixes #338339
2082
2083 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2084
2085         * gst/gstbin.c:
2086         * gst/gstpipeline.c:
2087         * plugins/elements/gstcapsfilter.c:
2088         * plugins/elements/gstfakesink.c:
2089         * plugins/elements/gstfakesrc.c:
2090         * plugins/elements/gstfdsink.c:
2091         * plugins/elements/gstfdsrc.c:
2092         * plugins/elements/gstfilesink.c:
2093         * plugins/elements/gstfilesrc.c:
2094         * plugins/elements/gstidentity.c:
2095         * plugins/elements/gstqueue.c:
2096         * plugins/elements/gsttee.c:
2097         * plugins/elements/gsttypefindelement.c:
2098         (gst_type_find_element_handle_event):
2099           make GstElementDetails const
2100
2101 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2102
2103         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2104         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
2105         (gst_collect_pads_is_collected), (gst_collect_pads_event):
2106           more detailed debug and formatting cleanup,
2107           forward newsegments to src-pad (so that e.g. adder not eats them)
2108
2109 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2110
2111         * gst/gstutils.c: (gst_element_link_pads):
2112           cleanup double code
2113
2114 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
2115
2116         * libs/gst/controller/gstcontroller.c:
2117         (gst_controller_sync_values):
2118           some little tuning
2119         * tests/check/libs/controller.c: (GST_START_TEST),
2120         (gst_controller_suite):
2121           a new test for live value handling
2122
2123 2006-04-28  Wim Taymans  <wim@fluendo.com>
2124
2125         * gst/gstutils.c: (push_and_ref):
2126         Added some more docs.
2127         Fix refcount issue whith gst_element_found_tags() helper 
2128         function. Fixes #338335
2129
2130         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2131         Added testsuite for gst_element_found_tags().
2132
2133 2006-04-28  Michael Smith  <msmith@fluendo.com>
2134
2135         * gst/gstvalue.c: (gst_value_serialize_flags):
2136           Avoid NULL dereference when trying to serialize flags containing
2137           invalid values.
2138
2139 2006-04-28  Michael Smith  <msmith@fluendo.com>
2140
2141         * plugins/elements/gsttypefindelement.c:
2142         (gst_type_find_element_handle_event):
2143           If we get EOS before any data is accumulated, don't use
2144           uninitialised local variables.
2145
2146 2006-04-28  Michael Smith  <msmith@fluendo.com>
2147
2148         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
2149         (gst_dp_event_from_packet):
2150           Fixes in reading/writing events over GDP (not currently used?) - 
2151           dereferencing NULL events for unknown/invalid event types, memory
2152           leak, and change g_warning to GST_WARNING.
2153
2154 2006-04-28  Wim Taymans  <wim@fluendo.com>
2155
2156         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
2157         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2158         (gst_base_sink_get_position), (gst_base_sink_change_state):
2159         When frame dropping is enabled, we should not ignore frames
2160         without a duration.
2161         Update some documentation.
2162
2163 2006-04-28  Wim Taymans  <wim@fluendo.com>
2164
2165         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2166         (gst_base_src_send_event), (gst_base_src_change_state):
2167         Documentation updates.
2168
2169 2006-04-28  Wim Taymans  <wim@fluendo.com>
2170
2171         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
2172         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
2173         handle EAGAIN, EINTR and short writes correctly. Also clean
2174         up some error cases, avoid a deadlock on bad file descriptors and
2175         use GST_DEBUG_OBJECT.
2176         Fixes #339843
2177
2178 2006-04-28  Wim Taymans  <wim@fluendo.com>
2179
2180         * gst/gstvalue.c: (gst_value_serialize_buffer),
2181         (gst_value_deserialize_buffer):
2182         Don't try to serialize a GValue with a NULL buffer. 
2183         Fixes #339821.
2184
2185         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2186         Added check for serialisation of NULL buffers.
2187
2188 2006-04-28  Wim Taymans  <wim@fluendo.com>
2189
2190         * gst/gstminiobject.c: (gst_value_take_mini_object):
2191         Taking a NULL miniobject is valid, fix the case where
2192         we try to unref the NULL miniobject.
2193
2194 2006-04-28  Wim Taymans  <wim@fluendo.com>
2195
2196         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2197
2198         * gst/gstbin.c: (gst_bin_handle_message_func):
2199         Update docs.
2200         Don't leak bin refcount when a state recalc is
2201         in progress and we delay another one #339808.
2202
2203 2006-04-28  Wim Taymans  <wim@fluendo.com>
2204
2205         * docs/design/part-TODO.txt:
2206         Mention QoS as an ongoing work item.
2207
2208         * docs/design/part-buffering.txt:
2209         New doc about buffering that needs to be fleshed out
2210         at some point.
2211
2212         * docs/design/part-qos.txt:
2213         More QoS policy for decoders/demuxers/transforms
2214
2215         * docs/design/part-trickmodes.txt:
2216         Small update.
2217
2218 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2219
2220         * configure.ac:
2221           back to HEAD
2222
2223 === release 0.10.5 ===
2224
2225 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
2226
2227         * configure.ac:
2228           releasing 0.10.5, "Fogo"
2229
2230 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2231
2232         patch by: Wim Taymans
2233
2234         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
2235         (gst_pad_configure_src), (gst_pad_push):
2236         * gst/gstpipeline.c: (gst_pipeline_init):
2237           Fix internal data flow errors.  Fixes #338711.
2238
2239 2006-04-12  Wim Taymans  <wim@fluendo.com>
2240
2241         * tests/check/gst/gstelement.c: (GST_START_TEST):
2242         Don't leak the factory.
2243
2244 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2245
2246         * configure.ac:
2247         * win32/common/config.h:
2248           prerelease
2249
2250 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
2251
2252         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2253         (gst_controller_unset_all):
2254           Free allocated GstTimedValues when freeing list nodes.
2255           Should fix leaks 'make check-valgrind' complains about.
2256
2257         * win32/common/libgstcontroller.def:
2258           Add gst_controller_unset_all.
2259
2260 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
2261
2262         * docs/libs/gstreamer-libs-sections.txt:
2263         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
2264         (gst_controller_unset_all):
2265         * libs/gst/controller/gstcontroller.h:
2266         API: Added new method gst_controller_unset_all()
2267         fixed gst_controller_unset()
2268         * tests/check/libs/controller.c: (GST_START_TEST),
2269         (gst_controller_suite):
2270         Added two testcases for new and fixed method
2271
2272 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
2273
2274         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2275           MSG_DONTWAIT is not defined on Cygwin, so work
2276           around that (fixes #317048).
2277           
2278 2006-04-11  Wim Taymans  <wim@fluendo.com>
2279
2280         * gst/gstelementfactory.c: (gst_element_register),
2281         (gst_element_factory_create), (gst_element_factory_make):
2282         Some cleanups.
2283         Fixed a FIXME.
2284         Updated docs (Fixes #131079)
2285
2286         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2287         Small cleanups.
2288
2289         * tests/check/gst/gstelement.c: (GST_START_TEST),
2290         (gst_element_suite):
2291         Added testcase for elementfactory class field.
2292
2293 2006-04-10  Wim Taymans  <wim@fluendo.com>
2294
2295         * gst/gstsegment.c:
2296         Added some more docs.
2297
2298         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
2299         (gst_base_sink_reset_qos):
2300         Calculate more accurate rate values.
2301
2302 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
2303
2304         * gst/gst_private.h:
2305           add a new #ifdef to use __declspec(dllimport) only for
2306           other modules and not for gstreamer core
2307         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
2308           use gst_guint64_to_gdouble for conversion
2309         * win32/common/libgstreamer.def:
2310           add new exported functions
2311         * win32/vs6/gst_inspect.dsp:
2312         * win32/vs6/gst_launch.dsp:
2313         * win32/vs6/libgstbase.dsp:
2314         * win32/vs6/libgstcontroller.dsp:
2315         * win32/vs6/libgstcoreelements.dsp:
2316         * win32/vs6/libgstdataprotocol.dsp:
2317         * win32/vs6/libgstnet.dsp:
2318           update project files
2319
2320 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2321
2322         * gst/gstbuffer.c: (gst_subbuffer_class_init):
2323         * gst/gstclock.c: (gst_clock_class_init):
2324         * gst/gstelement.c: (gst_element_class_init):
2325         * gst/gstindex.c: (gst_index_class_init):
2326         * gst/gstindexfactory.c: (gst_index_factory_class_init):
2327         * gst/gstobject.c: (gst_object_class_init),
2328         (gst_signal_object_class_init):
2329         * gst/gstpad.c: (gst_pad_class_init):
2330         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
2331         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
2332         * gst/gstregistry.c: (gst_registry_class_init):
2333         * gst/gstsystemclock.c: (gst_system_clock_class_init):
2334         * gst/gsttask.c: (gst_task_class_init):
2335         * gst/gstxml.c: (gst_xml_class_init):
2336         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2337         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2338         (gst_base_src_loop):
2339         * libs/gst/controller/gstcontroller.c:/
2340         (_gst_controller_class_init):
2341         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2342         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
2343         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
2344         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2345         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2346         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2347
2348 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
2349
2350         * gst/gstpad.c: (gst_pad_link):
2351           Must set peer pads before calling the link function, otherwise
2352           a task started from a link function might get a flow-not-linked
2353           result when trying to push because the other thread where the
2354           linking happens hasn't had a chance to set the peers yet. This
2355           might happen for example when a queue gets linked to a downstream
2356           element, as queue starts a streaming task when its source pad
2357           gets linked. Happens in real life when playing back flac/musepack
2358           files in playbin (#332390).
2359           
2360 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
2361
2362         * gst/gstindex.h:
2363         * gst/gstxml.h:
2364         * libs/gst/base/gstadapter.h:
2365         * libs/gst/base/gstbasesink.h:
2366         * libs/gst/base/gstbasesrc.h:
2367         * libs/gst/base/gstbasetransform.h:
2368         * libs/gst/base/gstcollectpads.h:
2369         * libs/gst/base/gstpushsrc.h:
2370         Fix broken GObject macros
2371
2372 2006-04-07  Wim Taymans  <wim@fluendo.com>
2373
2374         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2375         Initialize start and stop times, thanks valgrind.
2376
2377 2006-04-07  Wim Taymans  <wim@fluendo.com>
2378
2379         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2380         Be a bit nicer to badly behaving upstream elements that expect
2381         us to deal with non TIME segments and timestamps (such as fakesrc
2382         in the testsuite).
2383
2384 2006-04-07  Wim Taymans  <wim@fluendo.com>
2385
2386         * gst/gstbus.c:
2387         Small documentation clarification about the signal watch.
2388
2389         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2390         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2391         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2392         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
2393         (gst_base_sink_get_position_last),
2394         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
2395         Convert and store timestamps in stream time and running time, the
2396         raw timestamps are not usefull, also document this better.
2397         Use different window sizes for good and bad QoS observations so
2398         we react to badness a little quicker.
2399         Keep track of the amount of rendered and dropped buffers.
2400         Send QoS timestamps in running time.
2401
2402         * libs/gst/base/gstbasetransform.c:
2403         (gst_base_transform_sink_eventfunc),
2404         (gst_base_transform_handle_buffer):
2405         Compare QoS timestamps against running time.
2406
2407 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2408
2409         * gst/gstpad.c:
2410           Typo fixes in docs.
2411
2412 2006-04-06  Michael Smith  <msmith@fluendo.com>
2413
2414         * gst/gstpad.c: (gst_pad_set_property):
2415           Use g_value_get_object() instead of g_value_dup_gst_object(),
2416           to avoid double-reffing the pad template (which we then sink,
2417           so this worked previously if (and only if) the pad template
2418           was floating.
2419
2420         * gst/gstpadtemplate.c: (gst_pad_template_init),
2421         (gst_pad_template_pad_created):
2422           Never return floating references to pad templates, create
2423           them as initially-sunken.
2424
2425           Document an extra function (and make this stop sinking our
2426           pad template, since that is now guaranteed to do nothing,
2427           since we created it sunken).
2428
2429         * gst/gstghostpad.c:
2430           Fix docs typo.
2431
2432 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
2433
2434         * gst/gstinfo.c: (__gst_in_valgrind):
2435           Add some newlines.
2436
2437         * plugins/elements/gsttypefindelement.c:
2438         (gst_type_find_element_chain):
2439           Don't leak buffer caps.
2440
2441 2006-04-06  Michael Smith  <msmith@fluendo.com>
2442
2443         * gst/parse/grammar.y:
2444           Fix a leak in parse-launch for any source-or-sink named element 
2445           references used.
2446
2447         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2448           Unref the pipeline if it exists after we've failed parsing.
2449
2450 2006-04-05  Michael Smith  <msmith@fluendo.com>
2451
2452         * gst/gstpipeline.c: (gst_pipeline_init):
2453           When we create a pipeline bus, initially create it in flushing mode.
2454           Fixes leaks in at least one test, and makes a new pipeline work the
2455           same as one that has gone to READY and then back to NULL.
2456
2457         * gst/gstelement.c:
2458           Typo fix in docs.
2459
2460 2006-04-05  Michael Smith  <msmith@fluendo.com>
2461
2462         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2463           Unref a pad we reffed.
2464         * tests/check/gst/gstutils.c: (GST_START_TEST):
2465           Unref bins
2466
2467 2006-04-05  Michael Smith  <msmith@fluendo.com>
2468
2469         * gst/gstquery.c: (gst_query_set_formats),
2470         (gst_query_set_formatsv):
2471           Fix leaking GValues in queries, as shown by valgrind/testsuite.
2472
2473 2006-04-05  Michael Smith  <msmith@fluendo.com>
2474
2475         * tests/check/generic/sinks.c: (GST_START_TEST):
2476           Fix a variety of memleaks in sinks check, which are only sometimes 
2477           shown by running the tests under valgrind (weird?).
2478
2479 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
2480
2481         * docs/version.entities.in:
2482           Fix the substituted entity name after thomas' changes on the
2483           weekend.
2484
2485 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2486
2487         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
2488         VALGRIND_PRINTF
2489         
2490 2006-04-05  Andy Wingo  <wingo@pobox.com>
2491
2492         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
2493
2494         * libs/gst/base/gstbasetransform.c
2495         (gst_base_transform_sink_eventfunc): When resetting our segment on
2496         FLUSH_STOP, also update the flag saying we haven't seen a
2497         newsegment.
2498
2499 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2500
2501         Patch by: Paolo Borelli  <pborelli at katamail dot com>
2502
2503         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
2504         (gst_plugin_check_license):
2505           minor clean-ups: G_DEFINE_TYPE already takes care of the
2506           parent_class stuff, no need to do it twice. Mark array of
2507           license strings as constant. (#337103)
2508           
2509 2006-04-04  Michael Smith  <msmith@fluendo.com>
2510
2511         * tools/gst-inspect.c: (print_element_list):
2512           Free the right plugin list; fixes a memory leak.
2513
2514 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2517
2518         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2519           Don't error out on empty buffers (#336945).
2520           
2521 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2522
2523         * docs/libs/gstreamer-libs-sections.txt:
2524         * gst/gsttaglist.c:
2525         * libs/gst/base/gstbasesink.c:
2526         * libs/gst/base/gstbasesink.h:
2527         * libs/gst/base/gstbasesrc.c:
2528         * libs/gst/base/gstbasesrc.h:
2529           Documentation updates. Make BaseSink and BaseSrc docs contain the
2530           class structure so that people can actually see the prototypes for
2531           virtual functions they're supposed to be overriding.
2532
2533 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2534
2535         * plugins/elements/gsttypefindelement.c:
2536         (gst_type_find_element_chain):
2537           More debug info; when skipping typefinding, send cached
2538           events in all cases.
2539
2540 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2541
2542         * configure.ac:
2543           use new AS_VERSION and AS_NANO macros
2544         * gst/gst-i18n-lib.h:
2545         * gst/gst.c:
2546         * gst/gsterror.c:
2547         * gst/gstversion.h.in:
2548         * win32/common/config.h:
2549         * win32/common/config.h.in:
2550           update accordingly
2551
2552 2006-03-31  Michael Smith  <msmith@fluendo.com>
2553
2554         * plugins/elements/gsttypefindelement.c:
2555         (gst_type_find_element_chain):
2556           Do not typefind content if the buffers already have caps.
2557           Neccesary for icydemux (#333657), and the right thing to do anyway.
2558
2559 2006-03-30  Wim Taymans  <wim@fluendo.com>
2560
2561         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2562         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2563         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2564         (gst_base_sink_record_qos_observation),
2565         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2566         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2567         (gst_base_sink_change_state):
2568         More QoS measurements as described in the design doc.
2569         Get rid of ringbuffer with observations, running average is
2570         more simple and equally good.
2571         Calculates valid proportion now.
2572         Added beginning of flood measurement.
2573
2574 2006-03-29  Wim Taymans  <wim@fluendo.com>
2575
2576         * docs/design/part-qos.txt:
2577         * gst/gstclock.c:
2578         Small documentation updates and additions.
2579
2580 2006-03-29  Wim Taymans  <wim@fluendo.com>
2581
2582         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2583         (gst_base_src_send_event), (gst_base_src_loop),
2584         (gst_base_src_change_state):
2585         Perform the EOS logic when we reach the segment stop position.
2586         Fix compilation on gcc4.1
2587
2588 2006-03-29  Wim Taymans  <wim@fluendo.com>
2589
2590         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2591
2592         * plugins/elements/gstqueue.c: (gst_queue_init),
2593         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2594         (gst_queue_set_property):
2595         * plugins/elements/gstqueue.h:
2596         In queue, when EOS is received, if minimum threshold > max_size -
2597         current_level, there is chance that queue blocks forever in conditional
2598         item del wait. This is because the queue is not emptied completely due
2599         to minimum threshold.  Here is another approach. Instead of setting
2600         cur_levels to max in EOS, just zero all minimum threshold levels. This
2601         should make sure that queue gives out all data. When going to READY
2602         (stop) state, just reset the original minimum threshold levels.
2603         Fixes #336336.
2604
2605 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2606
2607         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2608         (gst_type_find_element_handle_event),
2609         (gst_type_find_element_send_cached_events),
2610         (gst_type_find_element_change_state):
2611         * plugins/elements/gsttypefindelement.h:
2612           When typefinding is done in push mode, we should cache
2613           events we receive during typefinding instead of just
2614           dropping them (e.g. newsegment, custom events from
2615           dvdreadsrc etc.) and then send them out once we've
2616           determined the type of the stream (and decodebin
2617           has had a chance to plug in a decoder/demuxer).
2618           
2619 2006-03-27  Wim Taymans  <wim@fluendo.com>
2620
2621         * docs/design/part-qos.txt:
2622         First QoS ideas.
2623
2624 2006-03-27  Wim Taymans  <wim@fluendo.com>
2625
2626         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2627
2628         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2629         (gst_base_src_send_event), (gst_base_src_change_state):
2630         Handle element seek correctly when we are streaming.
2631         Fixes #326998.
2632
2633 2006-03-24  Michael Smith  <msmith@fluendo.com>
2634
2635         * docs/faq/gst-uninstalled:
2636           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2637           allow you to correctly run intalled applications built against old 
2638           core, using plugins that require updated core (e.g. running
2639           installed totem against a full uninstalled gstreamer stack)
2640
2641 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2642
2643         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2644         more debug details
2645
2646 2006-03-24  Wim Taymans  <wim@fluendo.com>
2647
2648         * docs/gst/gstreamer-sections.txt:
2649         Rearrange the order of the methods so that related methods
2650         are grouped together in sections.
2651
2652 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2653
2654         * gst/gstelement.c:
2655           Little clarification in the docs
2656
2657 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2658
2659         * docs/README:
2660         formatting fix
2661         * plugins/elements/gstidentity.c:
2662         * plugins/elements/gstqueue.c:
2663         * plugins/elements/gsttee.c:
2664         * plugins/elements/gsttypefindelement.c:
2665         GST_ELEMENT_DETAILS formatting
2666
2667 2006-03-24  Wim Taymans  <wim@fluendo.com>
2668
2669         * libs/gst/base/gstbasesink.h:
2670         Only add fields, not insert or we break ABI.
2671
2672 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2673
2674         * win32/common/libgstbase.def:
2675         * win32/common/libgstreamer.def:
2676           Update, add recently added functions.
2677
2678 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2679
2680         * docs/gst/gstreamer-sections.txt:
2681         * gst/gstutils.c: (gst_pad_query_peer_position),
2682         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2683         * gst/gstutils.h:
2684           API: add some new utility functions:
2685            - gst_pad_query_peer_position()
2686            - gst_pad_query_peer_duration()
2687            - gst_pad_query_peer_convert()
2688           
2689 2006-03-23  Wim Taymans  <wim@fluendo.com>
2690
2691         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2692         (gst_base_sink_init), (gst_base_sink_finalize),
2693         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2694         (gst_base_sink_set_property), (gst_base_sink_get_property),
2695         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2696         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2697         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2698         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2699         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2700         (gst_base_sink_preroll_object), (gst_base_sink_event),
2701         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2702         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2703         (gst_base_sink_query), (gst_base_sink_change_state):
2704         Decouple max-lateness and the fact that QoS messages are generated
2705         with a new property (qos).
2706         added API: GstBaseSink::async_play()
2707         Add vmethod so subclasses can be notified of ASYNC playing
2708         state changes.
2709         Collect timestamp start and stop to report better current
2710         position in EOS/PLAYING/PAUSED/READY/NULL.
2711         Refactor QoS/frame dropping and other measurements.
2712         API: GstBaseSrc::qos
2713         Fixes #326311
2714
2715         * libs/gst/base/gstbasesink.h:
2716         Added Private struct.
2717         API: gst_base_sink_set_qos_enabled()
2718         API: gst_base_sink_is_qos_enabled()
2719
2720 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2721
2722         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2723           If compiling against GLib-2.8 or newer, try to read the
2724           registry file using GMappedFile first before falling back
2725           to fopen() + fread() (#332151).
2726
2727 2006-03-22  Wim Taymans  <wim@fluendo.com>
2728
2729         * gst/gstinfo.c: (gst_debug_set_active),
2730         (gst_debug_category_set_threshold):
2731         Disable debugging unless explicitly activated.
2732         Fixes #335480.
2733
2734 2006-03-22  Wim Taymans  <wim@fluendo.com>
2735
2736         * gst/gstelement.c: (gst_element_set_locked_state),
2737         (gst_element_dispose):
2738         Cleanup the error case.
2739
2740         * gst/gstobject.c: (gst_object_dispose):
2741         print a critical when some object was disposed with
2742         a parent, also revive the object since it might
2743         crash the parent.
2744
2745 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2746
2747         * tools/gst-launch.1.in:
2748           Fix another typo.
2749
2750 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2751
2752         * configure.ac:
2753         * tests/check/Makefile.am:
2754           disable some tests when we don't have a registry
2755         * tests/check/gst/gstutils.c: (gst_utils_suite):
2756           don't build the part that needs parsing
2757
2758 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2759
2760         * gst/Makefile.am
2761         * tests/examples/Makefile.am:
2762           fix --disable-parse build
2763
2764 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2765
2766         * tools/gst-feedback.1.in:
2767           Fix typo: s/feeback/feedback/ (#133494).
2768
2769 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2770
2771         * tools/Makefile.am:
2772         * tools/gst-launch.1.in:
2773           Add FILES section and correct entry about GST_REGISTRY_PATH
2774           environment variable (#133495; #133494).
2775
2776 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2777
2778         * tools/Makefile.am:
2779         * tools/gst-md5sum.1.in:
2780         * tools/gst-md5sum.c:
2781           Remove gst-md5sum and man page (the md5sink element
2782           required was removed ages ago)
2783
2784 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2785
2786         * gst/gststructure.c: (gst_structure_id_set_value):
2787           Make sure that string fields in structures/taglists
2788           contain valid UTF-8 - we don't want to pass rubbish to
2789           applications because of a buggy plugin (cp. #334167).
2790
2791 2006-03-21  Edward Hervey  <edward@fluendo.com>
2792
2793         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2794         (gst_bin_handle_message_func):
2795         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2796         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2797         (gst_element_set_bus_func):
2798         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2799         * gst/gstminiobject.c: (gst_value_set_mini_object),
2800         (gst_value_take_mini_object):
2801         * gst/gstpad.c: (gst_pad_set_pad_template):
2802         * gst/gstpipeline.c: (gst_pipeline_dispose),
2803         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2804         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2805         (gst_collect_pads_chain):
2806         * libs/gst/net/gstnettimeprovider.c:
2807         (gst_net_time_provider_set_property):
2808         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2809         It's in fact all issues with gst_*object_replace().
2810
2811 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2812
2813         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2814         
2815         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2816         * pkgconfig/gstreamer-check.pc.in:
2817           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2818
2819 2006-03-21  Edward Hervey  <edward@fluendo.com>
2820
2821         * gst/gstbuffer.h:
2822         * gst/gstevent.h:
2823         * gst/gstmessage.h:
2824         gst_[buffer|event|message]_ref() macros are replaced by a static
2825         inline functions because gcc-4.1 will about if the return value
2826         isn't used.
2827         * tests/check/gst/gstevent.c: (event_probe):
2828         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2829
2830 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2831
2832         * gst/gstutils.h:
2833         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2834         the type' case. (Closes: #335195 for now). In the future, when we
2835         depend on GLib 2.10, we could also intern the type name using
2836         g_intern_static_string()
2837
2838 2006-03-20  Wim Taymans  <wim@fluendo.com>
2839
2840         * gst/gstbin.c: (gst_bin_handle_message_func),
2841         (bin_query_max_init), (bin_query_position_fold),
2842         (bin_query_position_done), (gst_bin_query):
2843         Position query should also take max of all streams.
2844
2845 2006-03-20  Wim Taymans  <wim@fluendo.com>
2846
2847         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2848         (gst_fake_src_finalize):
2849         Fix leaks in fakesrc.
2850
2851         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2852         Fix leaks in the testcase.
2853
2854 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2855
2856         * gst/gst_private.h:
2857           add win32 specific import decoration(__declspec(dllimport)) 
2858           for all extern GstDebugCategory * variables
2859         * win32/common/libgstbase.def:
2860         * win32/common/libgstcontroller.def:
2861         * win32/common/libgstreamer.def:
2862           Add some exports, remove empty lines
2863         * win32/common/libgstdataprotocol.def:
2864         * win32/common/libgstdataprotocol.dsp:
2865         * win32/common/libgstnet.def:
2866         * win32/common/libgstnet.dsp:
2867           new project files and exportation files added
2868         
2869 2006-03-19  Wim Taymans  <wim@fluendo.com>
2870
2871         * tests/check/libs/basesrc.c: (eos_event_counter):
2872         Use proper return value for probe.
2873
2874 2006-03-17  Wim Taymans  <wim@fluendo.com>
2875
2876         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2877         (gst_pad_push):
2878         Don't leak buffers, caps and pads on negotiation errors.
2879
2880 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2881
2882         * docs/faq/cvs.xml:
2883         * docs/faq/dependencies.xml:
2884         * docs/faq/developing.xml:
2885         * docs/faq/faq.xml:
2886         * docs/faq/general.xml:
2887         * docs/faq/getting.xml:
2888         * docs/faq/legal.xml:
2889         * docs/faq/troubleshooting.xml:
2890         * docs/faq/using.xml:
2891         Faq review and update.
2892
2893 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2894
2895         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2896         (gst_pad_push):
2897         Don't pound the cpu to pieces by checking get_caps when accept_caps
2898         is called with the same caps as the pad already has.
2899         Use GST_DEBUG_OBJECT when outputting caps change information.
2900
2901 2006-03-15  Wim Taymans  <wim@fluendo.com>
2902
2903         * gst/gstclock.c: (gst_clock_class_init):
2904         Fix docs.
2905
2906 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2907
2908         * gst/gstbuffer.h:
2909         Documentation fix.
2910
2911         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2912         (gst_pad_accept_caps), (gst_pad_configure_sink),
2913         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2914         Make the default acceptcaps behaviour be to check the requested 
2915         caps against the gst_pad_get_caps output. 
2916
2917         Ensure that gst_pad_accept_caps is used to check caps when a pad
2918         doesn't have a setcaps function, so that pads automatically refuse 
2919         caps that they don't allow in their pad template. (Fixes #332986)
2920
2921         When a buffer with attached caps is pushed, ensure that the source 
2922         pad receives those caps even if the element didn't call
2923         gst_pad_set_caps first.
2924
2925 2006-03-15  Wim Taymans  <wim@fluendo.com>
2926
2927         * libs/gst/base/gstadapter.c:
2928         Add some docs.
2929
2930 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2931
2932         * win32/common/libgstbase.def:
2933         * win32/common/libgstcontroller.def:
2934         * win32/common/libgstreamer.def:
2935           Add a whole bunch of missing functions (#334434).
2936
2937 2006-03-14  Wim Taymans  <wim@fluendo.com>
2938
2939         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2940         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2941         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2942         Better debug info when we receive a segment event.
2943         Reorganize a bit so we can pass the get_times() results around.
2944         Use the segment format when calculating the running time.
2945         Don't do QoS is sync is disabled or we have no clock or the
2946         element does not want us to sync to the clock.
2947         Don't drop buffers if QoS is disabled for now.
2948
2949 2006-03-14  Wim Taymans  <wim@fluendo.com>
2950
2951         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2952         Marked the stats property as unimplemented so people don't get
2953         wild ideas.
2954         Add debug message when regression goes wrong.
2955         Added some more docs.
2956
2957 2006-03-14  Wim Taymans  <wim@fluendo.com>
2958
2959         * gst/gstsegment.c: (gst_segment_to_stream_time):
2960         Return correct return type in case of errors.
2961
2962 2006-03-14  Wim Taymans  <wim@fluendo.com>
2963
2964         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2965           Don't segfault on invalid formats.
2966
2967 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2968
2969         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2970           Can't use gst_segment_to_running_time() when the segment
2971           is not in GST_TIME_FORMAT (like with filesink, for example).
2972           Stops flac encoding pipelines from spewing critical warnings
2973           at EOS (#331248).
2974           
2975 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2976
2977         * gst/gstpipeline.c: (gst_pipeline_class_init):
2978           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2979
2980         * plugins/elements/gsttypefindelement.c:
2981         (gst_type_find_element_handle_event):
2982           Don't try to typefind empty streams.
2983
2984 2006-03-14  Wim Taymans  <wim@fluendo.com>
2985
2986         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2987         (gst_base_sink_do_qos):
2988         Separate QoS calculation.
2989         Only drop buffers when lateness is bigger than the 
2990         duration of the buffer.
2991
2992 2006-03-13  Wim Taymans  <wim@fluendo.com>
2993
2994         * gst/gstpipeline.c: (gst_pipeline_set_property),
2995         (gst_pipeline_get_property), (do_pipeline_seek),
2996         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2997         (gst_pipeline_get_delay):
2998         Don't deadlock when reading properties.
2999
3000 2006-03-13  Wim Taymans  <wim@fluendo.com>
3001
3002         * libs/gst/base/gstbasetransform.c:
3003         (gst_base_transform_class_init), (gst_base_transform_init),
3004         (gst_base_transform_sink_event),
3005         (gst_base_transform_sink_eventfunc),
3006         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
3007         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
3008         (gst_base_transform_set_property),
3009         (gst_base_transform_get_property),
3010         (gst_base_transform_change_state), (gst_base_transform_update_qos),
3011         (gst_base_transform_set_qos_enabled),
3012         (gst_base_transform_is_qos_enabled):
3013         * libs/gst/base/gstbasetransform.h:
3014         Make basetransform virtual method for src events too.
3015         Handle QOS in basetransform.
3016         API: gst_base_transform_update_qos()
3017         API: gst_base_transform_set_qos_enabled()
3018         API: gst_base_transform_is_qos_enabled()
3019
3020 2006-03-13  Wim Taymans  <wim@fluendo.com>
3021
3022         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3023         (gst_base_sink_do_sync):
3024         Small cleanups.
3025         Use QOS debug category.
3026
3027 2006-03-13  Wim Taymans  <wim@fluendo.com>
3028
3029         * plugins/elements/gstqueue.c:
3030         Very small doc update.
3031
3032 2006-03-13  Wim Taymans  <wim@fluendo.com>
3033
3034         * gst/gst_private.h:
3035         * gst/gstinfo.c: (_gst_debug_init):
3036         Added QOS debug category
3037
3038 2006-03-13  Wim Taymans  <wim@fluendo.com>
3039
3040         * docs/gst/gstreamer-sections.txt:
3041         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
3042         * gst/gstbin.h:
3043         * gst/gstbus.c: (gst_bus_class_init):
3044         * gst/gstbus.h:
3045         * gst/gstclock.c:
3046         * gst/gstelement.c: (gst_element_set_locked_state):
3047         * gst/gstsegment.c:
3048         Documentation updates.
3049
3050         * gst/gstpipeline.c: (gst_pipeline_get_type),
3051         (gst_pipeline_class_init), (gst_pipeline_init),
3052         (gst_pipeline_dispose), (gst_pipeline_set_property),
3053         (gst_pipeline_get_property), (do_pipeline_seek),
3054         (gst_pipeline_send_event), (gst_pipeline_change_state),
3055         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
3056         (gst_pipeline_get_delay):
3057         * gst/gstpipeline.h:
3058         Added methods for setting the delay.
3059         API: gst_pipeline_set_delay()
3060         API: gst_pipeline_get_delay()
3061         Add pipeline debug category
3062         Various cleanups.
3063         Updated docs.
3064         Don't reset stream time when seek failed.
3065
3066 2006-03-13  Wim Taymans  <wim@fluendo.com>
3067
3068         * docs/design/draft-klass.txt:
3069         * docs/design/part-clocks.txt:
3070         * docs/design/part-events.txt:
3071         * docs/design/part-gstbin.txt:
3072         * docs/design/part-gstpipeline.txt:
3073         * docs/design/part-messages.txt:
3074         * docs/design/part-negotiation.txt:
3075         * docs/design/part-overview.txt:
3076         * docs/design/part-preroll.txt:
3077         * docs/design/part-seeking.txt:
3078         * docs/design/part-states.txt:
3079         * docs/design/part-streams.txt:
3080         Documentation updates.
3081
3082 2006-03-12  Julien MOUTTE  <julien@moutte.net>
3083
3084         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
3085         us to leak strings...
3086
3087 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3088
3089         * libs/gst/net/gstnettimeprovider.c:
3090           fix docs
3091         * win32/common/config.h:
3092           update
3093
3094 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
3095
3096         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
3097
3098         * configure.ac:
3099           Don't check for libgnomeui (leftover from old examples
3100           that aren't built or disted any longer) (#334303).
3101           
3102 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
3103
3104         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3105         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3106           Emit RESOURCE_NO_SPACE_LEFT error here as well when
3107           there's no space left on the device.
3108
3109 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
3110
3111         * gst/gstclock.h:
3112           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
3113           to cast the input to GstClockTime before comparing with
3114           another GstClockTime value.
3115
3116 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3117
3118         * configure.ac:
3119           back to trunk
3120
3121 === release 0.10.4 ===
3122
3123 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
3124
3125         * configure.ac:
3126           releasing 0.10.4, "Light"
3127
3128 2006-03-10  Michael Smith  <msmith@fluendo.com>
3129
3130         * libs/gst/dataprotocol/dataprotocol.c:
3131           Fix docs for dataprocotol to not get the return types completely
3132           wrong for a few functions.
3133
3134 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3135
3136         * docs/gst/gstreamer-sections.txt:
3137         * gst/gstpipeline.c: (gst_pipeline_class_init),
3138         (gst_pipeline_init), (gst_pipeline_set_property),
3139         (gst_pipeline_get_property), (gst_pipeline_change_state),
3140         (gst_pipeline_set_auto_flush_bus),
3141         (gst_pipeline_get_auto_flush_bus):
3142         * gst/gstpipeline.h:
3143           Add new API: gst_pipeline_set_auto_flush_bus() and
3144           gst_pipeline_get_auto_flush_bus() to disable automatic
3145           flushing of the pipeline's GstBus when going from READY
3146           to NULL state (#332045).
3147
3148 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3149
3150         * docs/gst/gstreamer-sections.txt:
3151         * gst/gsturi.c: (gst_uri_has_protocol):
3152         * gst/gsturi.h:
3153            Add new API: gst_uri_has_protocol() (#333779).
3154
3155 2006-03-09  Wim Taymans  <wim@fluendo.com>
3156
3157         * gst/gstclock.c: (gst_clock_entry_new),
3158         (gst_clock_id_compare_func), (gst_clock_id_wait),
3159         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
3160         (gst_clock_init), (gst_clock_get_internal_time),
3161         (gst_clock_set_master), (do_linear_regression),
3162         (gst_clock_add_observation), (gst_clock_set_property):
3163         * gst/gstclock.h:
3164         Review docs.
3165         Small cleanups.
3166         Fix a possible segfault when the window-size is made smaller.
3167         Calculate jitter before performing the clock wait. Ideally
3168         the clock implementation should calculate jitter but we need
3169         API breakage for that.
3170
3171         * gst/gstsystemclock.c: (gst_system_clock_init):
3172         Docs review.
3173         
3174         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3175         Remove leftover else
3176
3177         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
3178         (gst_systemclock_suite):
3179         Added check to test GST_CLOCK_DIFF.
3180
3181 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
3182
3183         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
3184         (gst_type_find_helper_get_range):
3185           If we are provided with the size, we should implement
3186           GstTypeFind::get_length, so that typefind functions who
3187           want to can actually peek at the middle of a file.
3188
3189 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
3190
3191         * docs/manual/advanced-dataaccess.xml:
3192           Add some very very basic error checking.
3193
3194         * docs/pwg/appendix-checklist.xml:
3195           Some updates to the list of things to check when writing an element.
3196
3197 2006-03-08  Wim Taymans  <wim@fluendo.com>
3198
3199         * docs/design/part-element-transform.txt:
3200         Added some docs about the design of tranform elements.
3201
3202         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3203         (gst_base_src_loop), (gst_base_src_change_state):
3204         Mark buffers with the DISCONT flag.
3205
3206 2006-03-08  Michael Smith  <msmith@fluendo.com>
3207
3208         * gst/gstregistry.h:
3209         * gst/gstregistryxml.c: (gst_registry_save),
3210         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
3211         (gst_registry_xml_save_pad_template),
3212         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
3213         (gst_registry_xml_write_cache):
3214           Rewrite registry-saving to avoid race conditions and check for
3215           failed writes.
3216
3217 2006-03-08  Wim Taymans  <wim@fluendo.com>
3218
3219         * libs/gst/base/gstbasetransform.c:
3220         (gst_base_transform_transform_caps),
3221         (gst_base_transform_transform_size),
3222         (gst_base_transform_prepare_output_buffer),
3223         (gst_base_transform_get_unit_size),
3224         (gst_base_transform_buffer_alloc),
3225         (gst_base_transform_handle_buffer),
3226         (gst_base_transform_change_state):
3227         Cleanups, separate normal flow from errors, add sensible
3228         DEBUG lines.
3229         Don't try to renegotiate when allocating an output buffer.
3230         Also copy DISCONT buffer flag when copying a buffer.
3231         Reset the transform after we finish streaming, not during.
3232
3233 2006-03-08  Wim Taymans  <wim@fluendo.com>
3234
3235         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3236         Use last buffer timestamp in qos message.
3237
3238 2006-03-07  Wim Taymans  <wim@fluendo.com>
3239
3240         Patch by: Christophe Fergeau
3241
3242         * docs/pwg/advanced-tagging.xml:
3243         * docs/pwg/building-pads.xml:
3244           fixes #333416
3245
3246 2006-03-07  Wim Taymans  <wim@fluendo.com>
3247
3248         * docs/libs/gstreamer-libs-sections.txt:
3249         Added basesink new methods.
3250
3251         * gst/gstevent.c:
3252         * gst/gstevent.h:
3253         Docs updates. Flesh out the QoS docs.
3254
3255         * libs/gst/base/gstadapter.c:
3256         Small doc clarification about ownership and flushing.
3257
3258         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
3259         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3260         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
3261         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3262         * libs/gst/base/gstbasesink.h:
3263         API additions: 
3264         Added new methods to allow subclass to control max-lateness 
3265         and sync.
3266         Generate very basic QoS events based on last sync observation.
3267         Updated docs, fix typo, added some QoS blurb.
3268
3269         * libs/gst/base/gstbasesrc.c:
3270         Remove obsolete _get_state() calls from docs.
3271
3272 2006-03-07  Wim Taymans  <wim@fluendo.com>
3273
3274         * docs/libs/gstreamer-libs-sections.txt:
3275         * libs/gst/base/gstbasetransform.h:
3276         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
3277         Fix docs for GstBaseSrc.
3278
3279 2006-03-07  Wim Taymans  <wim@fluendo.com>
3280
3281         * docs/gst/gstreamer-sections.txt:
3282         * gst/gstbuffer.h:
3283         * gst/gstvalue.c:
3284         * libs/gst/base/gstbasetransform.h:
3285         Small documentation fixes.
3286
3287 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3288
3289         * gst/gstvalue.c:
3290           Document thread-unsafety of gst_value_register_foo_func()
3291           when used at the same time as gst_value_foo() (#322628).
3292
3293 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
3294
3295         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
3296         (gst_push_src_check_get_range):
3297           Push sources don't support pull mode by default.
3298
3299 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3300
3301         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3302         (gst_base_src_init), (gst_base_src_pad_check_get_range),
3303         (gst_base_src_default_check_get_range):
3304         * libs/gst/base/gstbasesrc.h:
3305           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
3306           provide default implementation, and rename
3307           gst_base_src_check_get_range() to
3308           gst_base_src_pad_check_get_range() for clarity.
3309
3310 2006-03-06  Wim Taymans  <wim@fluendo.com>
3311
3312         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3313         Make property overridable.
3314
3315 2006-03-06  Wim Taymans  <wim@fluendo.com>
3316
3317         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3318         (gst_base_sink_init), (gst_base_sink_set_property),
3319         (gst_base_sink_get_property), (gst_base_sink_do_sync):
3320         * libs/gst/base/gstbasesink.h:
3321         API addition: Make max-lateness a property.
3322
3323 2006-03-06  Wim Taymans  <wim@fluendo.com>
3324
3325         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
3326         (gst_base_sink_do_sync), (gst_base_sink_render_object):
3327         Don't ever draw a frame that is >10ms late.
3328
3329 2006-03-06  Michael Smith  <msmith@fluendo.com>
3330
3331         * gst/gstmessage.c: (_gst_message_copy):
3332           When copying a message, set the parent_refcount of the enclosed
3333           structure to point at the copy, not the original message.
3334
3335 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
3336
3337         Patch by: Christophe Fergeau
3338
3339         * gst/gstutils.h:
3340           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
3341           usable in c++ code (#333417)
3342
3343 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3344
3345         * gst/gstclock.h:
3346           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
3347
3348 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
3349
3350         * libs/gst/base/gstbasetransform.c:
3351         (gst_base_transform_transform_caps):
3352           Make sure caps are writable before passing them to
3353           gst_caps_append().
3354
3355 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3356
3357         * gst/gsterror.h:
3358           Fix some minor docs errors.
3359
3360 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
3361
3362           Patch by: Ross Burton <ross at burtonini dot com>
3363
3364         * gst/gsterror.c: (_gst_resource_errors_init):
3365         * gst/gsterror.h:
3366           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
3367
3368 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3369
3370         * gst/gst.c:
3371         Add a check and output a g_warning when GStreamer is built
3372         against GLib 2.6 but running against 2.8 or higher, and vice 
3373         versa. (Closes: #323542)
3374
3375 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
3376
3377         * gst/parse/parse.l:
3378           Commit patch for parse_launch syntax from #331255. Removes 
3379           support for quoted strings and mimetypes when writing filtered 
3380           caps. See the bug report for more details - I'm pretty sure this
3381           obscure feature is not in use by _anyone_ anywhere.
3382
3383           With this simple change, the size of the gstreamer.so here 
3384           drops from 2193KB to 1565KB.
3385
3386 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3387
3388         * plugins/elements/gsttypefindelement.h:
3389         * plugins/elements/gsttypefindelement.c:
3390         (gst_type_find_element_src_event), (start_typefinding),
3391         (stop_typefinding), (gst_type_find_element_handle_event),
3392         (gst_type_find_element_chain),
3393         (gst_type_find_element_chain_do_typefinding):
3394           Use gst_type_find_helper_for_buffer() for chain-based
3395           typefinding.
3396
3397 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3398
3399         * plugins/elements/gsttypefindelement.c:
3400         (gst_type_find_element_class_init),
3401         (gst_type_find_element_set_property),
3402         (gst_type_find_element_get_property):
3403           Deprecate "maximum" property (not only was it only taken into
3404           account for typefinding in push-mode anyway, it also was never
3405           actually possible to set it in the first place because the
3406           property was registered with the numeric property ID for the
3407           "minimum" property). Register "maximum" property correctly,
3408           for the sake of future copy'n'pasters. Remove some cruft
3409           from property get/set functions.
3410
3411 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3412
3413         * plugins/elements/gsttypefindelement.c:
3414         (gst_type_find_element_activate):
3415           Use gst_type_find_helper_get_range() here, so we
3416           can honour the "minimum" property and also emit
3417           the signal with the correct probability of the found caps.
3418
3419 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
3420
3421         * docs/libs/gstreamer-libs-sections.txt:
3422         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3423         (helper_find_suggest), (gst_type_find_helper_get_range),
3424         (gst_type_find_helper):
3425         * libs/gst/base/gsttypefindhelper.h:
3426           New API: gst_type_find_helper_get_range() (#333042).
3427
3428 2006-03-02  Michael Smith  <msmith@fluendo.com>
3429
3430         * gst/gstregistryxml.c: (load_feature):
3431           Asserting on a failure to read part of the registry is Not Cool.
3432           Just log a warning and return NULL (which is already handled)
3433
3434 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
3435
3436         * win32/common/libgstbase.def:
3437           added export of gst_type_find_helper_for_buffer
3438         * win32/common/libgstbase.def:
3439           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
3440           gst_ghost_pad_get_target
3441
3442 2006-02-28  Wim Taymans  <wim@fluendo.com>
3443
3444         * docs/design/draft-klass.txt:
3445         We use Filter now.
3446         Added Connector to mark elements that are only used to
3447         allow pipeline connections.
3448         Moved Debug to extra feature since most of them are 
3449         functionally something else.
3450
3451 2006-02-28  Wim Taymans  <wim@fluendo.com>
3452
3453         * docs/design/draft-klass.txt:
3454         Some updates and clarifications.
3455
3456 2006-02-28  Wim Taymans  <wim@fluendo.com>
3457
3458         * docs/design/draft-klass.txt:
3459         Proposal for klass field values.
3460
3461         * docs/design/part-streams.txt:
3462         Start of a doc describing stream anatomy.
3463
3464 2006-02-28  Wim Taymans  <wim@fluendo.com>
3465
3466         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
3467         Help the compiler a bit with type registration.
3468         Use existing forward cod path instead of duplicating it when 
3469         handling a message.
3470         
3471         * gst/gstbus.c: (gst_bus_get_type):
3472         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
3473         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
3474         * gst/gstclock.c: (gst_clock_get_type):
3475         * gst/gstelement.c: (gst_element_get_type),
3476         * gst/gstelementfactory.c: (gst_element_factory_get_type):
3477         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3478         * gst/gstminiobject.c: (gst_mini_object_get_type):
3479         * gst/gstpad.c: (gst_pad_get_type):
3480         * gst/gstsegment.c: (gst_segment_get_type):
3481         * gst/gststructure.c: (gst_structure_get_type):
3482         * gst/gstsystemclock.c: (gst_system_clock_get_type):
3483         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
3484         * gst/gstvalue.c:
3485         Help compiler with type registration.
3486
3487         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3488         Small doc update.
3489
3490 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3491
3492         * plugins/elements/gsttypefindelement.c:
3493         (gst_type_find_element_handle_event):
3494           When we get an EOS event and have not found a type yet
3495           (most likely because we had not yet accumulated
3496           TYPE_FIND_MIN_SIZE of data yet), try to determine the
3497           type given the data we have so far. Fixes typefinding
3498           for very short streams again, most notably quicktime
3499           redirections as used on Apple's trailer site (#331701).
3500
3501 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3502
3503         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
3504         (gst_type_find_helper):
3505           Try typefinding factories with the highest rank first.
3506
3507 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3508
3509         * docs/libs/gstreamer-libs-docs.sgml:
3510         * docs/libs/gstreamer-libs-sections.txt:
3511         * libs/gst/base/gsttypefindhelper.c:
3512           Add section for typefind helper and add documentation
3513           for the old and the new function.
3514
3515 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3516
3517         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3518         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3519         (gst_type_find_helper_for_buffer):
3520         * libs/gst/base/gsttypefindhelper.h:
3521           New API: gst_type_find_helper_for_buffer() (#332723).
3522           
3523 2006-02-27  Michael Smith  <msmith@fluendo.com>
3524
3525         Patch by: Loïc Minier
3526
3527         * configure.ac:
3528         * docs/Makefile.am:
3529         * docs/slides/Makefile.am:
3530           prevent CVS directories getting disted.
3531
3532 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3533
3534         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3535           Use the REFCOUNTING category for caps refcounting.
3536           
3537 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3538
3539         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3540           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3541
3542 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3543
3544         * plugins/elements/gsttypefindelement.c:
3545         (gst_type_find_element_activate):
3546           Use gst_pad_check_pull_range() before _activate_pull()
3547           to avoid unnecessary open/close (see #331690).
3548
3549 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3550
3551         * gst/gstutils.c:
3552           Docs enhancement: make it crystal clear what the
3553           gst_pad_add_*_probe() callbacks should look like.
3554
3555 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3556
3557         * libs/gst/base/gstbasesrc.c:
3558           Document how applications can stop recording from
3559           live sources (see #330996).
3560
3561 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3562
3563         * tests/check/Makefile.am:
3564         * tests/check/libs/basesrc.c: (eos_event_counter),
3565         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3566         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3567         (gst_basesrc_suite), (main):
3568           ... and add some tests for the base source EOS stuff.
3569
3570 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3571
3572         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3573           Test case originally showed the problem fixed below,
3574           but was then amended. Add checks back at the place
3575           where they used to be.
3576
3577 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3578
3579         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3580         (gst_base_src_init), (gst_base_src_loop),
3581         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3582         (gst_base_src_change_state):
3583         * libs/gst/base/gstbasesrc.h:
3584           Don't unconditionally send EOS when going from PAUSED to
3585           READY state, esp. make sure we don't send two EOS events
3586           in some cases (e.g. one when reaching EOS and one when
3587           going from PAUSED to READY). Also, we don't want to send
3588           EOS events when operating in pull mode. However, we do
3589           want to send an EOS event when shutting down a live
3590           source explicitly, for example (fixes #330996).
3591           
3592 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3593
3594         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3595           Update src->read_position after a seek when not using mmap.
3596           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3597
3598 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3599
3600         * gst/Makefile.am:
3601         * gst/gstparse.h:
3602         * gst/gstutils.c:
3603         * gst/gstutils.h:
3604         Make things work with --disable-parse as they do with 
3605         --disable-load-save - the symbols involved disappear, but the
3606         header is still installed and GST_DISABLE_PARSE is included via
3607         gstconfig.h
3608
3609 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3610
3611         * libs/gst/base/gstbasetransform.c:
3612         (gst_base_transform_change_state): Fix a stupid bug. I was 
3613         sure I compiled that.
3614
3615 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3616
3617         * gst/gstpad.c: (gst_pad_set_blocked_async):
3618         * gst/gstutils.c: (gst_pad_add_data_probe),
3619         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3620         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3621         (gst_pad_remove_buffer_probe): Make those function act on the
3622         ghostpad target when it's a ghostpad. (Closes #331727)
3623
3624 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3625
3626         * libs/gst/base/gstbasetransform.c:
3627         (gst_base_transform_change_state): Make basetransform reusable.
3628         (Closes #331898)
3629
3630 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3631
3632         * docs/random/release:
3633         Move the current documentation of how to do a release to the top
3634         of the file.
3635
3636         * gst/gstbin.c: (gst_bin_class_init),
3637         (gst_bin_handle_message_func):
3638         Allow multiple state-recalculation threads. (Closes #328873)
3639
3640 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3641
3642         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3643         * gst/gstpad.c: (gst_pad_set_event_function),
3644         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3645         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3646         2 strings. You can't use the STR_NULL macro on that.
3647
3648 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3649
3650         * gst/gstpad.c: (gst_pad_set_event_function),
3651         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3652         (gst_pad_set_getcaps_function)
3653         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3654           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3655           So now, we can use --gst-debug-level=5 on Windows
3656         * win32/common/libgstcontroller.def:
3657           Added export of gst_controller_init
3658         * win32/vs6/libgstcontroller.dsp:
3659           Fixed Release post build configuration
3660
3661 2006-02-17  Wim Taymans  <wim@fluendo.com>
3662
3663         * tests/check/gst/gstquery.c: (GST_START_TEST):
3664         Added another check.
3665
3666 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3667
3668         * plugins/elements/gsttypefindelement.c: (find_peek):
3669           We can do peeks at non-zero offsets, as long as they
3670           fall within the buffer we have.
3671
3672 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3673
3674         * tests/check/Makefile.am:
3675         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3676         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3677         (parse_suite), (main):
3678           Add testsuite for parse launch syntax
3679
3680 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3681
3682         * plugins/elements/gsttypefindelement.c:
3683         (gst_type_find_element_chain):
3684           When typefinding is unsuccessful in the chain function, don't
3685           error out immediately. Only error out with NO_CAPS_FOUND if
3686           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3687           otherwise simply wait for more data so we can try typefinding
3688           again with more data later. Also, don't attempt to typefind
3689           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3690           this should improve typefinding from network sources where the
3691           size of the first buffer can be somewhat random.
3692
3693 2006-02-14  Wim Taymans  <wim@fluendo.com>
3694
3695         * docs/gst/gstreamer-sections.txt:
3696         * gst/gstpadtemplate.c:
3697         * gst/gstpadtemplate.h:
3698         Fix padtemplate docs, fixes #328805.
3699
3700 2006-02-14  Wim Taymans  <wim@fluendo.com>
3701
3702         * tools/gst-launch.c: (main):
3703         NO_PREROLL is not an ERROR so don't send confusing messages
3704         to the user.
3705
3706 2006-02-14  Wim Taymans  <wim@fluendo.com>
3707
3708         Patch by: Torsten Schoenfeld
3709
3710         * gst/gstregistry.c: (gst_registry_get_default),
3711         (_gst_registry_cleanup):
3712         Protect default registry with lock and ref/sink it.
3713         Fixes #324818
3714
3715 2006-02-14  Wim Taymans  <wim@fluendo.com>
3716
3717         * gst/gstbuffer.c:
3718         * gst/gstquery.c: (gst_query_list_add_format),
3719         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3720         (gst_query_parse_formats_nth):
3721         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3722         Docs fixes.
3723
3724 2006-02-14  Wim Taymans  <wim@fluendo.com>
3725
3726         * docs/gst/gstreamer-sections.txt:
3727         Reworked query docs.
3728
3729         * gst/gstquery.c: (gst_query_new_formats),
3730         (gst_query_list_add_format), (gst_query_set_formats),
3731         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3732         (gst_query_parse_formats_nth):
3733         * gst/gstquery.h:
3734         Flesh out formats query, added some new methods.
3735         Fix part of #324398.
3736
3737         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3738         Added query creation tests.
3739
3740 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3741
3742         * gst/gstpad.c: (fixate_value):
3743         Add a default fixation for fraction lists.
3744
3745 2006-02-13  Wim Taymans  <wim@fluendo.com>
3746
3747         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3748         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3749         (gst_task_join):
3750         * gst/gsttask.h:
3751         Detect and warn for obvious deadlocks. fixes #320340
3752         Fix error case where lock was not released.
3753
3754         * tests/check/Makefile.am:
3755         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3756         (task_func), (gst_element_suite), (main):
3757         Add task check.
3758
3759 2006-02-13  Wim Taymans  <wim@fluendo.com>
3760
3761         * docs/gst/gstreamer-sections.txt:
3762         * gst/gstbus.c:
3763         Add new functions to docs.
3764
3765 2006-02-13  Wim Taymans  <wim@fluendo.com>
3766
3767         * docs/design/part-TODO.txt:
3768         Updated TODO list, basesrc supports seeking to non-bytes
3769         formats.
3770
3771         * docs/design/part-element-sink.txt:
3772         Update docs.
3773
3774         * gst/gstbin.c: (bin_replace_message),
3775         (gst_bin_handle_message_func):
3776         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3777         * gst/gstevent.c: (gst_event_finalize):
3778         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3779         (gst_pad_send_event):
3780         Use shiny new _TYPE_NAME macros.
3781
3782         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3783         Move debug statement up.
3784
3785         * gst/gstelement.c: (gst_element_set_locked_state):
3786         Add some debugging.
3787
3788 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3789
3790         * docs/gst/gstreamer-sections.txt:
3791         * gst/gstmessage.h:
3792         * gst/gstquery.h:
3793           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3794           macros (#330906). Also, document the already existing
3795           GST_QUERY_TYPE macro.
3796
3797 2006-02-13  Wim Taymans  <wim@fluendo.com>
3798
3799         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3800         (event_probe), (GST_START_TEST):
3801         Only events up to the pipeline EOS are counted, there are
3802         some more when going to NULL currently which we don't care
3803         about for now.
3804
3805 2006-02-13  Wim Taymans  <wim@fluendo.com>
3806
3807         * gst/gstpad.c: (gst_pad_send_event):
3808         Correctly check flushing and emit probes. fixes #330125
3809
3810 2006-02-10  Andy Wingo  <wingo@pobox.com>
3811
3812         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3813         structure.
3814         (gst_bus_init): Cache the location of the private data in the
3815         instance structure.
3816         (gst_bus_enable_sync_message_emission) 
3817         (gst_bus_disable_sync_message_emission): Implement new public
3818         functions.
3819         (gst_bus_post): Emit the sync-message signal if the user asked for
3820         it. Fixes #330684.
3821
3822         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3823         location of the bus-private structure.
3824         (gst_bus_enable_sync_message_emission)
3825         (gst_bus_disable_sync_message_emission): API addition
3826
3827 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3828
3829         Patch by: Vincent Torri
3830
3831         * docs/pwg/building-boiler.xml:
3832         PWG patch from #326800
3833
3834 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3835
3836         * configure.ac:
3837         * docs/Makefile.am:
3838         * docs/design/Makefile.am:
3839           Dist design docs.
3840
3841 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3842
3843         * configure.ac:
3844           back to CVS
3845
3846 === release 0.10.3 ===
3847
3848 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3849
3850         * configure.ac:
3851           releasing 0.10.3, "Like a virgin"
3852
3853 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3854
3855         * configure.ac:
3856           2nd prerelease of 0.10.3
3857           Bump libtool versioning.
3858
3859 2006-02-07  Andy Wingo  <wingo@pobox.com>
3860
3861         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3862         update last_stop if we're in TIME format and the timestamp is
3863         valid.
3864
3865         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3866         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3867         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3868         If we get a new newsegment with a different format, adapt
3869         accordingly.
3870
3871         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3872         of 0. Not a problem, really.
3873
3874         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3875         warn if sync=true.
3876
3877 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3878
3879         * configure.ac:
3880           Prelease of 0.10.3
3881
3882 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3883
3884         * win32/vs7:
3885           project files updated to the default vs7 configuration
3886         * win32/common/libgstbase.def:
3887         * win32/common/libgstreamer.def:
3888           added new symbols,
3889           removed empty lines,
3890           sorted all exported symbols alphabetically
3891         * win32/common/dirent.c:
3892         * win32/common/dirent.h:
3893         * win32/common/gchar.h:
3894           use windows line end.
3895           
3896 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3897
3898         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3899           Send EOS event when stopping.
3900
3901 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3902
3903         * docs/README:
3904           Tell folks what to do if the plugin-foobar.xml file
3905           hasn't been generated for a newly-added plugin.
3906
3907 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3908
3909         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3910         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3911         (gst_collect_pads_start), (gst_collect_pads_stop),
3912         (gst_collect_pads_event): Collectpads now holds a reference
3913         to the GstPad that was added. Indeed we don't want to look
3914         at pads that might just go away with no warning...
3915
3916 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3917
3918         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3919         (gst_collect_pads_start), (gst_collect_pads_stop),
3920         (gst_collect_pads_event), (gst_collect_pads_chain):
3921         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3922         Mark Nauwelaerts's patch on bug #328491.
3923
3924 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3925
3926         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3927         (gst_utils_suite):
3928           Add some simple tests for gst_parse_bin_from_description() and
3929           gst_bin_find_unconnected_pad() (#329069).
3930
3931 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3932
3933         * tools/gst-launch.c: (event_loop), (main):
3934           Catch errors during preroll (#320084).
3935
3936 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3937
3938         * plugins/elements/gsttypefindelement.c:
3939         (gst_type_find_element_activate):
3940           Post TYPE_NOT_FOUND error message when typefinding
3941           is unsuccessful in the activate function as well.
3942
3943 2006-02-02  Wim Taymans  <wim@fluendo.com>
3944
3945         * docs/design/part-element-sink.txt:
3946         Updated doc.
3947
3948 2006-02-02  Wim Taymans  <wim@fluendo.com>
3949
3950         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3951         (gst_base_sink_render_object),
3952         (gst_base_sink_queue_object_unlocked):
3953         Only keep track of prerollable items when we are 
3954         prerolling.
3955         Before rendering after preroll, always check if we
3956         have queued items.
3957         Added some more debugging.
3958
3959 2006-02-02  Wim Taymans  <wim@fluendo.com>
3960
3961         * gst/gstelement.c: (gst_element_continue_state),
3962         (gst_element_set_state_func), (gst_element_change_state):
3963         Fixed #326576, been running this for quite some time with
3964         no regressions at all.
3965
3966 2006-02-02  Wim Taymans  <wim@fluendo.com>
3967
3968         * common/gst.supp:
3969         Added more suppressions
3970
3971 2006-02-02  Wim Taymans  <wim@fluendo.com>
3972
3973         * docs/design/part-element-sink.txt:
3974         Updated document.
3975
3976         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3977         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3978         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3979         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3980         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3981         (gst_base_sink_preroll_object),
3982         (gst_base_sink_queue_object_unlocked),
3983         (gst_base_sink_queue_object), (gst_base_sink_event),
3984         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3985         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3986         (gst_base_sink_get_position), (gst_base_sink_change_state):
3987         * libs/gst/base/gstbasesink.h:
3988         Totally refactored matching the design doc.
3989         Use two segments, one to clip incomming buffers and another to
3990         perform sync.
3991         Handle queueing correctly, bypass the queue when playing.
3992         Make EOS cancelable.
3993         Handle errors correctly when operating in pull based mode.
3994
3995         * tests/check/elements/fakesink.c: (GST_START_TEST),
3996         (fakesink_suite):
3997         Added new check for sinks.
3998
3999 2006-02-02  Wim Taymans  <wim@fluendo.com>
4000
4001         * gst/gstsegment.c: (gst_segment_clip):
4002         No reason to refuse to clip when start == -1
4003
4004 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
4005
4006         * docs/README:
4007         * docs/manual/intro-basics.xml:
4008         * docs/manual/intro-preface.xml:
4009         * docs/manual/manual.xml:
4010         * docs/pwg/advanced-dparams.xml:
4011         * docs/pwg/intro-basics.xml:
4012         * docs/pwg/intro-preface.xml:
4013         * docs/pwg/pwg.xml:
4014           describe dparams (controller) for plugins
4015           unify docs a little more
4016
4017 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
4018
4019         * docs/gst/gstreamer-sections.txt:
4020         * gst/gstutils.c: (element_find_unconnected_pad),
4021         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
4022         * gst/gstutils.h:
4023           Add new API: gst_parse_bin_from_description() and
4024           gst_bin_find_unconnected_pad() (#329069).
4025
4026 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
4027
4028         * docs/manual/README:
4029           uncover a nasty detail of the docs build
4030
4031 2006-01-31  Wim Taymans  <wim@fluendo.com>
4032
4033         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
4034         Don't cache duration messages if we're not going to use or
4035         free them.
4036
4037 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
4038
4039         * docs/manual/advanced-dparams.xml:
4040         * docs/pwg/advanced-dparams.xml:
4041           more dparam docs
4042         * gst/gstindex.c:
4043           fix docs
4044         * libs/gst/controller/lib.c: (gst_controller_init):
4045           init just once
4046
4047 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
4048
4049         * gst/gstelement.c: (gst_element_message_full):
4050           also show file/line/func if no additional debug was given
4051
4052 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
4053         
4054         * win32/vs7/grammar.vcproj:
4055           activate copy of autogenerated files for Release mode
4056
4057 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4058         
4059         * win32/common/libgstreamer.def:
4060           export gst_value_compare
4061
4062 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
4063
4064         * plugins/elements/Makefile.am:
4065         * plugins/elements/gstelements.c:
4066         * plugins/elements/gstfdsink.c: (_do_init),
4067         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
4068         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
4069         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
4070         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
4071         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
4072         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
4073         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
4074         * plugins/elements/gstfdsink.h:
4075         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
4076
4077 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
4078
4079         * docs/manual/advanced-dparams.xml:
4080           describe controller
4081         * docs/manual/advanced-position.xml:
4082         * docs/manual/basics-init.xml:
4083         * docs/manual/manual.xml:
4084         * docs/manual/titlepage.xml:
4085         * docs/pwg/pwg.xml:
4086         * docs/pwg/titlepage.xml:
4087           cleanup xml (more to come)
4088         * libs/gst/controller/gstcontroller.c:
4089           fix typo
4090
4091 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
4092         
4093         * win32/vs6/grammar.dsp:
4094           add autogen of gstmarshal.c,h for Release mode
4095                 
4096 2006-01-30  Wim Taymans  <wim@fluendo.com>
4097
4098         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4099         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
4100         (gst_base_sink_handle_object), (gst_base_sink_event),
4101         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
4102         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4103         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
4104         (gst_base_sink_deactivate), (gst_base_sink_activate),
4105         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
4106         (gst_base_sink_query), (gst_base_sink_change_state):
4107         Basesink cleanups, remove some old code.
4108         Handle the case where a subclass can preroll in the render
4109         method (mostly audiosinks).
4110         Handle more events.
4111         Remove some locks around variables that are now protected
4112         with the PREROLL_LOCK (clock_id, flushing, ..).
4113         Optimize position query some more, do correct locking.
4114         Remove old code to push queue in state change, this is not
4115         needed anymore since preroll blocks on all prerollable items 
4116         now.
4117         Almost implemented as described in design doc.
4118
4119 2006-01-30  Wim Taymans  <wim@fluendo.com>
4120
4121         * tests/check/gst/gstbin.c: (GST_START_TEST):
4122         Wait for refcount to settle down before checking.
4123
4124 2006-01-30  Wim Taymans  <wim@fluendo.com>
4125
4126         * docs/design/part-element-sink.txt:
4127         Pseudo code overview of desired sink behaviour regarding
4128         preroll.
4129
4130 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4131         * win32/vs6/grammar.dsp:
4132           fix some bugs in Release mode for autogenerated files
4133                 
4134 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4135         * win32/common/libgstbase.def:
4136         * win32/common/libgstreamer.def:
4137           export some new symbols: gst_base_src_set_format,
4138           gst_iterator_next, gst_structure_set_valist
4139
4140 2006-01-29  Julien MOUTTE  <julien@moutte.net>
4141
4142         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4143         Set pad functions unconditionally. Fixes #329105.
4144
4145 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
4146         * win32/vs8:
4147           add vs8 project files created by Sergey Scobich
4148
4149 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
4150
4151         * gst/gstutils.c: (gst_element_unlink_pads):
4152         Don't leak pad references.
4153
4154         * tests/check/elements/fakesink.c: (GST_START_TEST):
4155         * tests/check/generic/sinks.c: (GST_START_TEST):
4156         * tests/check/generic/states.c: (GST_START_TEST):
4157         * tests/check/gst/gstbin.c: (GST_START_TEST):
4158         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4159         * tests/check/gst/gstelement.c: (GST_START_TEST):
4160         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4161         * tests/check/gst/gstiterator.c: (GST_START_TEST):
4162         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4163         Fix a bunch of leaks. Make generic/sinks.c
4164         use a bit less cpu by slowing the buffer rate
4165         between fakesrc and fakesink.
4166         
4167 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
4168         * gst/gstcaps.c:
4169         * gst/gstelement.c: (gst_element_send_event):
4170         * gst/gstevent.c:
4171         * gst/gstinfo.c:
4172         * gst/gstiterator.c:
4173         * gst/gstiterator.h:
4174         * gst/gstpad.c: (gst_pad_send_event):
4175         * gst/gststructure.c:
4176         * gst/gsturi.c:
4177         * gst/gstutils.c:
4178         * gst/gstvalue.c:
4179         * libs/gst/base/gstadapter.c:
4180           doc fixes, to link to function, just write gst_cool_function(), don't
4181           prefix with '#'
4182
4183 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4184
4185         * plugins/elements/gsttee.c: (gst_tee_do_push),
4186         (gst_tee_handle_buffer):
4187         Always prefer an actual return value from a src
4188         pad in place of NOT_LINKED. This means we return
4189         WRONG_STATE when all src pads are WRONG_STATE
4190         instead of NOT_LINKED.
4191
4192         Lock when replacing the last message to prevent
4193         racing with the get_property method.
4194
4195         Add debug output
4196
4197 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4198
4199         * tests/check/Makefile.am:
4200         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
4201         (main):
4202         Add a very simple check that should have caught the memleak I fixed
4203         last night (if not for the slice allocator hiding it)
4204
4205 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
4206
4207         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4208         (gst_bin_remove_func), (gst_bin_handle_message_func),
4209         (bin_query_duration_fold), (bin_query_generic_fold):
4210         Clean up references to the clock provider when disposed or when
4211         handling a clock-lost message from it.
4212
4213         Unref sinks when performing a query via gst_iterator_fold, as the
4214         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
4215
4216         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
4217         (gst_clock_set_master):
4218         Drop our reference to the master clock, if any, when we are disposed.
4219
4220         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
4221         Chain up in dispose. 
4222
4223 2006-01-26  Wim Taymans  <wim@fluendo.com>
4224
4225         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
4226         Add some debugging.
4227
4228 2006-01-26  Julien MOUTTE  <julien@moutte.net>
4229
4230         * plugins/elements/gsttee.c: (gst_tee_do_push),
4231         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
4232         handles pad being NOT_LINKED or in WRONG_STATE.
4233
4234 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4235
4236         * win32/MANIFEST:
4237           more updating
4238
4239 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4240
4241         * win32/MANIFEST:
4242           remove obsolete entry
4243
4244 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
4245
4246         * docs/gst/gstreamer-sections.txt:
4247         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
4248         (gst_bin_iterate_sources), (gst_bin_send_event):
4249         * gst/gstbin.h:
4250         * gst/gstelement.c: (gst_element_send_event):
4251         * gst/gstevent.c:
4252         * gst/gstpad.c: (gst_pad_send_event):
4253           added code for downstream events, reviewed docs in gstevent.c
4254
4255 2006-01-25  Julien MOUTTE  <julien@moutte.net>
4256
4257         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4258         We only query position using the clock in the playing state.
4259         Query peer in the other cases.
4260         * win32/common/config.h: Updates.
4261
4262 2006-01-24  Wim Taymans  <wim@fluendo.com>
4263
4264         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
4265         A clock entry that is scheduled for the exact time of the
4266         clock is still in time.
4267
4268         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4269         (gst_base_sink_do_sync):
4270         Add some more debug info.
4271
4272 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4273
4274         * win32/vs7:
4275           Add new vs7 project files and solution.
4276
4277 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
4278
4279         * win32/vs7:
4280           all files removed as they were out-dated.
4281
4282 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4283
4284         * docs/random/release:
4285           update notes
4286         * gst/gstbin.c: (gst_bin_init):
4287         * gst/gstbus.c: (gst_bus_new):
4288         * gst/gstbus.h:
4289         * gst/gstpipeline.c: (gst_pipeline_init):
4290           use gst_bus_new(), improve logging, fix docs
4291         * win32/common/config.h:
4292           update for cvs build
4293
4294 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
4295
4296         * autogen.sh:
4297           up required version of automake to 1.7
4298
4299 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
4300
4301         * win32/common/libgstreamer.def:
4302           export gst_buffer_is_metadata_writable
4303
4304 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4305
4306         * docs/gst/gstreamer-sections.txt:
4307         * gst/gstevent.h:
4308           Add gst_event_replace() (#327001)
4309
4310 2006-01-20  Wim Taymans  <wim@fluendo.com>
4311
4312         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
4313         Make it actually compile too..
4314
4315 2006-01-20  Wim Taymans  <wim@fluendo.com>
4316
4317         * gst/gstcaps.c:
4318         Clarify behaviour of _is_equal() when passing NULL parameters.
4319
4320         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
4321         (gst_pad_set_caps):
4322         Cleanups. Don't unref NULL caps.
4323         When setting the same caps, protect caps of the pad with
4324         proper lock.
4325         Use full functionality of _is_equal() when comparing caps.
4326
4327 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4328
4329         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4330         Don't loop infinitely if there are no buffers to present. Partially
4331         fixes #327197, but collectpads is just broken for reusing elements
4332         to do multiple encodes atm.
4333
4334 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
4335
4336         * tools/gst-inspect.c: (print_element_features):
4337         * tools/gst-xmlinspect.c: (main):
4338         URL_HANDLER is not a plugin feature we can search for in
4339         the registry.
4340
4341 2006-01-19  Edward Hervey  <edward@fluendo.com>
4342
4343         * gst/gstelement.c: (gst_element_pads_activate): 
4344         When activating, do src pads first, then sink pads.
4345         When de-activating, do sink pads first, then src pads.
4346
4347 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4348
4349         * docs/gst/gstreamer-sections.txt:
4350         Add gst_index_add_associationv to the docs
4351
4352 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4353
4354         * gst/gstevent.c:
4355           Fix docs typo
4356
4357         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
4358         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
4359           Do some refactoring. Doesn't actually change functionality,
4360           but makes landing the DRAIN event easier later.
4361
4362 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
4363
4364         * docs/pwg/advanced-scheduling.xml:
4365           Update from 0.9.x to 0.10 API and make example a bit
4366           clearer.
4367
4368 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4369
4370         * docs/gst/gstreamer-sections.txt:
4371         Add gst_buffer_(is|make)_metadata_writable methods.
4372
4373 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
4374
4375         * docs/design/part-sparsestreams.txt:
4376         Update sparse streams doc, hopefully for greater clarity
4377
4378 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
4379
4380         * docs/design/part-events.txt:
4381         Remove mention of FILLER events.
4382         Add DRAIN event.
4383
4384         * docs/design/part-sparsestreams.txt:
4385         Write some things about using NEWSEGMENT to keep sparse streams
4386         flowing.
4387
4388 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4389
4390         * gst/gstbin.c: (gst_bin_dispose):
4391           Guard gst_object_unref call against a NULL object (dispose
4392           can theoretically be called multiple times).
4393           
4394 2006-01-18  Wim Taymans  <wim@fluendo.com>
4395
4396         * gst/gstbin.c: (gst_bin_element_set_state):
4397         * gst/gstclock.c: (gst_clock_id_wait):
4398         Added some more debug info.
4399
4400         * libs/gst/base/gstadapter.c:
4401         Added more docs.
4402
4403         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4404         (gst_base_sink_do_sync), (gst_base_sink_chain):
4405         Added some comments.
4406
4407 2006-01-18  Wim Taymans  <wim@fluendo.com>
4408
4409         * tests/check/Makefile.am:
4410         * tests/check/elements/fakesink.c: (chain_async_buffer),
4411         (chain_async), (chain_async_return), (GST_START_TEST),
4412         (fakesink_suite), (main):
4413         Added fakesink test that checks prerolling and clipping
4414         behaviour.
4415
4416         * tests/check/gst/gstutils.c: (GST_START_TEST):
4417         Make check run faster so that buildbots don't timeout.
4418
4419 2006-01-18  Wim Taymans  <wim@fluendo.com>
4420
4421         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4422         (gst_base_sink_do_sync):
4423         Some cleanups.
4424         When the sink finishes blocking on the preroll buffer, it can
4425         immediatly render it instead of rendering when the next buffer
4426         arrives.
4427
4428 2006-01-18  Wim Taymans  <wim@fluendo.com>
4429
4430         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
4431         (gst_base_sink_get_property), (gst_base_sink_do_sync),
4432         (gst_base_sink_chain):
4433         Small cleanups.
4434         GST_ELEMENT_CLOCK and sync are protected with LOCK.
4435         Don't store _last_stop if the buffer is dropped.
4436
4437 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
4438
4439         * plugins/elements/gsttypefindelement.c:
4440         (gst_type_find_element_class_init):
4441           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
4442           object method handler that sets the caps on the pad and we want
4443           that to happen before we emit the signal (fixes e.g. feeding a
4444           plain text file to decodebin).
4445
4446 2006-01-18  Christian Schaller  <Christian@fluendo.com>
4447
4448         * gst/gstplugin.c: Add MPL and Proprietary as license options
4449
4450 2006-01-18  Andy Wingo  <wingo@pobox.com>
4451
4452         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
4453         symbol was exported before, it appears this was just an oversight.
4454         Fixes #168703.
4455         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
4456
4457         * gst/gstindex.c (gst_index_add_associationv): Changed int in
4458         prototype to gint. OK since this prototype was not in the header.
4459
4460 2006-01-17  Andy Wingo  <wingo@pobox.com>
4461
4462         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
4463         registry while we remove plugins.
4464
4465         * tools/gst-inspect.c (print_element_info): Don't unref the
4466         factory arg, that should be the responsibility of whatever code
4467         received the ref. Fixes a double-free when called from
4468         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
4469         (main): Unref the factory if we have one.
4470         (print_element_list): No change -- relies on the
4471         plugin_feature_list_free to free the list of features.
4472
4473 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
4474
4475         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4476         (gst_buffer_make_metadata_writable):
4477         * gst/gstbuffer.h:
4478         * libs/gst/base/gstbasetransform.c:
4479         (gst_base_transform_prepare_output_buf):
4480         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4481         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4482           Replace gst_buffer_(make|is)_metadata_writable patch now
4483           that the release is out.
4484
4485 2006-01-17  Andy Wingo  <wingo@pobox.com>
4486
4487         * gst/gstregistry.c: Reflow design comment. Update so as to speak
4488         in the present tense without reference to versions.
4489
4490         * gst/gstregistry.c (gst_registry_add_plugin)
4491         (gst_registry_remove_plugin, gst_registry_remove_feature)
4492         (gst_registry_find_feature, gst_registry_get_feature_list)
4493         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
4494         (gst_registry_lookup, gst_registry_scan_path)
4495         (_gst_registry_remove_cache_plugins)
4496         (gst_registry_get_feature_list_by_plugin): Add argument
4497         validation.
4498
4499 === release 0.10.2 ===
4500
4501 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
4502
4503         * configure.ac:
4504           releasing 0.10.2, "If man is five"
4505
4506 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4507
4508         * gst/gstbuffer.c:
4509         * gst/gstbuffer.h:
4510         * libs/gst/base/gstbasetransform.c:
4511         (gst_base_transform_prepare_output_buf):
4512         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4513         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4514           Back out patch until after the release.
4515
4516 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4517
4518         * gst/gstminiobject.c:
4519           Spelling fix in docs.
4520         * ChangeLog - remove conflict indicator
4521
4522 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4523
4524         Reviewed By: Andy Wingo
4525
4526         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4527         (gst_buffer_make_metadata_writable):
4528         * gst/gstbuffer.h:
4529           Add gst_buffer_(is|make)_metadata_writable as analogues of
4530           gst_buffer_(is|make)_writable.
4531
4532         * libs/gst/base/gstbasetransform.c:
4533         (gst_base_transform_prepare_output_buf):
4534         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4535           Use name gst_buffer_(is|make)_metadata_writable functions.
4536
4537         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4538           Test gst_buffer_(is|make)_metadata_writable
4539         
4540           (Closes: #324162)
4541
4542 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4543
4544         * docs/manual/Makefile.am:
4545           don't do parallel make
4546         * configure.ac:
4547           AC_SUBST HOST_CPU
4548         * win32/common/config.h.in:
4549           add generations for HOST_CPU and GST_MAJORMINOR
4550         * win32/common/config.h:
4551           commit generated result
4552
4553 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4554
4555         * docs/manual/appendix-integration.xml:
4556           Update GNOME integration section to use gst_init_get_option_group()
4557           instead of the old popt stuff (#322911). Also, GNOME applications
4558           should  now use gconf*sink and gconf*src instead of the old gconf
4559           helper lib we had.
4560
4561 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4562
4563
4564         * docs/gst/gstreamer-docs.sgml:
4565         * docs/gst/gstreamer-sections.txt:
4566         * docs/libs/gstreamer-libs-sections.txt:
4567           add new API entries to the docs
4568         * libs/gst/controller/Makefile.am:
4569         * libs/gst/controller/gstcontroller.c:
4570         * libs/gst/controller/gstcontroller.h:
4571         * libs/gst/controller/gstcontrollerprivate.h:
4572         * libs/gst/controller/gsthelper.c:
4573         * libs/gst/controller/gstinterpolation.c:
4574           move private structs to private header
4575         * po/README:
4576           gstreamer-0.7 -> gstreamer-0.10
4577         * tests/check/libs/struct_i386.h:
4578           remove private structs
4579
4580 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4581
4582         * plugins/indexers/Makefile.am:
4583           Fixes as part of #317048
4584
4585 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4586
4587         * plugins/indexers/Makefile.am:
4588           fix #316086 - compilation when mmap is missing
4589
4590 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4591
4592         * libs/gst/base/gstbasesink.c:
4593           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4594           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4595         * win32/common/config.h:
4596           added some defines GST_MAJORMINOR and HOST_CPU
4597         * win32/common/libgstbase.def:
4598         * win32/common/libgstreamer.def:
4599           added some exported functions.
4600
4601 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4602
4603         * libs/gst/controller/gstcontroller.c:
4604         (gst_controlled_property_set_interpolation_mode),
4605         (gst_controlled_property_new):
4606         * libs/gst/controller/gstcontroller.h:
4607         * libs/gst/controller/gstinterpolation.c:
4608         (interpolate_none_get_string_value_array):
4609           make G_TYPE_STRING controlable
4610
4611 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4612
4613         * tools/README:
4614         * tools/gst-feedback.1.in:
4615         * tools/gst-inspect.1.in:
4616         * tools/gst-launch.1.in:
4617         * tools/gst-md5sum.1.in:
4618         * tools/gst-typefind.1.in:
4619         * tools/gst-xmlinspect.1.in:
4620         * tools/gst-xmllaunch.1.in:
4621           cleanup man-pages, remove reference to gst-register, document env-vars
4622
4623 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4624
4625         * gst/gstbuffer.c: (gst_buffer_span):
4626           gst_buffer_span should copy the timestamp of the first buffer
4627           if they were both originally overlapping subbuffers of the 
4628           same parent, using the same logic as the 'slow copy' case.
4629
4630 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4631
4632         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4633           Need to awaken ALL the pads when we pop a buffer, otherwise
4634           collectpads only works when there is 2 input streams.
4635
4636 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4637
4638         * docs/random/ensonic/media-device-daemon.txt:
4639           more ideas (dbus)
4640         * gst/gstbuffer.c:
4641           fix doc example, add clarification
4642         * tools/gst-launch.1.in:
4643           add initial info about GST_PLUGIN_PATH, needs more work
4644
4645 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4646
4647         * docs/manual/basics-bins.xml:
4648         * docs/manual/basics-elements.xml:
4649         * docs/manual/intro-basics.xml:
4650           Some more minor docs additions and updates.
4651
4652 2006-01-11  Wim Taymans  <wim@fluendo.com>
4653
4654         * docs/manual/basics-bins.xml:
4655         * docs/manual/basics-elements.xml:
4656         Some small fixes as pointed out by Ser-ver on IRC.
4657
4658 2006-01-10  Edward Hervey  <edward@fluendo.com>
4659
4660         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4661         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4662         the single-segment mode.
4663
4664 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4665
4666         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4667
4668         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4669         (gst_base_src_perform_seek), (gst_base_src_send_event),
4670         (gst_base_src_set_property), (gst_base_src_get_property),
4671         (gst_base_src_loop), (gst_base_src_start),
4672         (gst_base_src_activate_push):
4673         * libs/gst/base/gstbasesrc.h:
4674           Name (private) union; makes Sun's Forte compiler happy (#324900).
4675
4676 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4677
4678         * README:
4679           gst-register is gone.
4680
4681 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4682
4683         * gst/gstvalue.c: (_gst_value_initialize):
4684           make the G_TYPE_DATE instantiation work if debug is disabled
4685
4686 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4687
4688         * gst/gstmessage.c: (gst_message_parse_tag),
4689         (gst_message_parse_error), (gst_message_parse_warning):
4690           Don't crash when return location for error/warning debug
4691           string is NULL; add fact that return locations can be
4692           NULL to docs where appropriate.
4693
4694 2006-01-05  Wim Taymans  <wim@fluendo.com>
4695
4696         * gst/gstplugin.c: (gst_plugin_load_file):
4697         Replace strdup by g_strdup.
4698
4699 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4700
4701         * docs/pwg/advanced-types.xml:
4702           fix doc borkage
4703
4704 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4705
4706         submitted by: Abel Cheung
4707
4708         * po/LINGUAS:
4709         * po/zh_TW.po:
4710           Added Chinese (traditional) translation
4711
4712 2006-01-04  Wim Taymans  <wim@fluendo.com>
4713
4714         * docs/manual/basics-pads.xml:
4715         * docs/plugins/Makefile.am:
4716         * docs/plugins/gstreamer-plugins-docs.sgml:
4717         * docs/plugins/gstreamer-plugins-sections.txt:
4718         * docs/pwg/advanced-clock.xml:
4719         * docs/pwg/advanced-scheduling.xml:
4720         * docs/pwg/advanced-types.xml:
4721         * plugins/elements/gstfdsink.c:
4722         * plugins/elements/gstfdsrc.c:
4723         * plugins/elements/gstfdsrc.h:
4724         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4725         * plugins/elements/gstidentity.h:
4726         * plugins/elements/gstqueue.h:
4727         * plugins/elements/gsttee.c:
4728         * plugins/elements/gsttee.h:
4729         * plugins/elements/gsttypefindelement.c:
4730         (gst_type_find_element_class_init):
4731         * plugins/elements/gsttypefindelement.h:
4732         Small updates to various docs.
4733         Added core plugins to docs.
4734
4735 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4736
4737         * common/gst.supp:
4738           add a suppression for liboil's uninitialized variable
4739
4740 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4741
4742         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4743
4744         * gst/gstutils.h:
4745           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4746           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4747           compiler switch is being used (#325429).
4748
4749 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4750
4751         * gst/gstbin.c: (gst_bin_query):
4752           Disable duration query caching in bins until it gets
4753           fixed (see #324807).
4754
4755 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4756
4757         * tools/gst-inspect.c: (print_element_properties_info):
4758           Handle properties of POINTER and BOXED type.
4759
4760 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4761
4762         * gst/gst.c: (init_post):
4763           Init tags stuff and some other things before loading
4764           any static plugins (there may be other static plugins
4765           than just the GStreamer ones, and they may want to
4766           register their own tags or formats or whatever, and
4767           preferably without segfaulting).
4768
4769         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4770           Print at least a warning in the debug logs if we drop a
4771           query just because we don't know how to adjust the value
4772           in the particular format.
4773
4774 2005-12-24  David Schleef  <ds@schleef.org>
4775
4776         * tools/gstreamer-completion:
4777           Replacement for gst-complete written in sh and sed.  Only
4778           completes names of features, but that's 90% of what I want
4779           it for.  Properties are not available in registry.xml.  (Maybe
4780           they should be...)
4781
4782 === release 0.10.1 ===
4783
4784 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4785
4786         * configure.ac:
4787           releasing 0.10.1, "Nollaig chridheil"
4788
4789 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4790
4791         * docs/faq/cvs.xml:
4792           Add missing quote, should be make ERROR_CFLAGS="".
4793
4794 2005-12-20  Wim Taymans  <wim@fluendo.com>
4795
4796         * docs/design/part-trickmodes.txt:
4797         More documentation on trickmodes.
4798
4799 2005-12-20  Edward Hervey  <edward@fluendo.com>
4800
4801         * gst/gstcaps.c: (gst_static_caps_get_type):
4802         * gst/gstcaps.h:
4803           API addition: GST_TYPE_STATIC_CAPS
4804         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4805         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4806         * gst/gstpadtemplate.h:
4807           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4808         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4809         bindings.
4810
4811 2005-12-18  Wim Taymans  <wim@fluendo.com>
4812
4813         * libs/gst/base/gstadapter.c:
4814         * libs/gst/base/gstadapter.h:
4815         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4816         (gst_base_sink_get_position):
4817         * libs/gst/base/gstbasesink.h:
4818         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4819         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4820         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4821         (gst_base_src_send_event), (gst_base_src_update_length),
4822         (gst_base_src_get_range), (gst_base_src_loop),
4823         (gst_base_src_start):
4824         * libs/gst/base/gstbasesrc.h:
4825         * libs/gst/base/gstbasetransform.h:
4826         * libs/gst/base/gstcollectpads.h:
4827         * libs/gst/base/gstpushsrc.c:
4828         * libs/gst/base/gstpushsrc.h:
4829         * libs/gst/dataprotocol/dataprotocol.c:
4830         * libs/gst/dataprotocol/dataprotocol.h:
4831         * libs/gst/net/gstnetclientclock.h:
4832         * libs/gst/net/gstnettimeprovider.h:
4833         Documentation updates.
4834
4835 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4836
4837         * docs/manual/basics-helloworld.xml:
4838           Remove superfluous closing bracket in helloworld example.
4839
4840 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4841
4842         * tools/gst-launch.1.in:
4843           Update gst-launch man page; add a section with useful
4844           environment variables. Fixes #323882.
4845
4846 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4847
4848         * gst/gst.c:
4849         * gst/gst_private.h:
4850           change some char* into char[]
4851
4852 2005-12-16  Wim Taymans  <wim@fluendo.com>
4853
4854         * gst/gstregistryxml.c: (load_feature):
4855         Cleanups.
4856         Don't use g_object_unref on GstObjects so that we avoid
4857         leaks on unsafe glibs.
4858
4859 2005-12-16  Wim Taymans  <wim@fluendo.com>
4860
4861         * gst/gstbin.c: (gst_bin_recalc_state):
4862         Small doc updates.
4863
4864 2005-12-16  Wim Taymans  <wim@fluendo.com>
4865
4866         * common/check.mak:
4867         Added make forever target for check.
4868
4869 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4870
4871         * gst/gst.c: (init_post):
4872           make the registry cache file HOST_CPU-dependent
4873
4874 2005-12-16  Andy Wingo  <wingo@pobox.com>
4875
4876         * plugins/elements/gstbufferstore.c
4877         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4878         return value.
4879
4880         * tests/check/gst/gstobject.c
4881         (test_fake_object_name_threaded_unique): Pay attention to
4882         g_list_sort return value.
4883
4884 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4885
4886         * tools/gst-feedback-m.m:
4887           Update for 0.9/0.10 (fixes #323870).
4888
4889 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4890
4891         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4892           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4893           
4894         * tests/check/gst/gstminiobject.c: (my_foo_init),
4895         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4896         (test_value_collection), (gst_mini_object_suite):
4897           Add test to ensure refcounts end up as expected when passing
4898           GstMiniObjects through g_object_get() and g_object_set().
4899
4900 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4901
4902         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4903         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4904         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4905         of collectpads. This version removes a lot of races without
4906         touching API/ABI. Yay !
4907
4908 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4909
4910         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4911           Don't allow activation of a srcpad in pull_range if it has no
4912           getrange function.
4913           Change some debug statements to be a little clearer
4914
4915         * plugins/elements/gsttypefindelement.c:
4916         (gst_type_find_handle_src_query):
4917           Check that we have a peer before executing queries thereupon.
4918
4919         * tests/examples/metadata/read-metadata.c: (message_loop):
4920           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4921           immediately return us any available message with 0 timeout.
4922
4923 2005-12-12  Michael Smith  <msmith@fluendo.com>
4924
4925         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4926           Don't unref factories after calling them.
4927         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4928         * plugins/elements/gsttypefindelement.c:
4929         (gst_type_find_element_chain):
4930           Free lists of factories after using them. Fixing typefinding memory
4931           leaks.
4932
4933 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4934
4935         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4936         (gst_plugin_feature_load):
4937           more meaningful debug output
4938         * configure.ac:
4939         * tests/Makefile.am:
4940         * tests/old/examples/Makefile.am:
4941           make make distcheck happy again
4942
4943 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4944
4945         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4946           Catch the special case where we are operating chain-based,
4947           but the downstream peer pad has no chain function. Emit a
4948           custom error message in this case instead of letting the
4949           core generate one implying that this is some sort of core
4950           bug. It's not, it just means that whatever got plugged
4951           into the pipeline downstream when we announced the type
4952           can only operate pull-based, while our source can only
4953           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4954           Error string has not been marked for translation yet, as
4955           it probably needs some more work first.
4956
4957         (gst_type_find_element_get_best_possibility):
4958           Add helper function to find the best of all available
4959           found possibilities that qualify given the min. threshold.
4960
4961         (gst_type_find_element_handle_event):
4962           Fix the case where we get an EOS while still in TYPEFIND
4963           mode (we want to chose the best of all possible types,
4964           not just the first type that happens to be in our unsorted
4965           list of possible types).
4966
4967         (gst_type_find_element_chain):
4968           Make sure we return GST_FLOW_ERROR when we errored out
4969           in stop_typefinding(); also, don't just find the best of
4970           all found type entries and then use the last examined
4971           type entry, but actually use the best entry.
4972
4973 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4974
4975         * tests/examples/typefind/typefind.c: (type_found):
4976         * tests/examples/xml/runxml.c: (xml_loaded):
4977           More gcc4 fixes and a mem leak fix.
4978
4979 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4980
4981         * tests/examples/xml/createxml.c: (object_saved):
4982           gcc 4 fixes
4983
4984 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4985
4986         * tests/Makefile.am:
4987           enable the examples even more
4988
4989 2005-12-12  Andy Wingo  <wingo@pobox.com>
4990
4991         * libs/gst/net/gstnettimeprovider.c
4992         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4993         (gst_net_time_provider_set_property)
4994         (gst_net_time_provider_get_property):
4995         API addition: Export "active" as a GObject property.
4996         (gst_net_time_provider_thread): Only respond to time queries if
4997         the time provider is active.
4998
4999         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
5000         NetTimeProvider, preserving binary compat.
5001
5002 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5003
5004         * tests/examples/controller/audio-example.c: (main):
5005         * tests/examples/launch/Makefile.am:
5006           convert comments again
5007
5008 2005-12-12  Wim Taymans  <wim@fluendo.com>
5009
5010         * libs/gst/base/gstpushsrc.c:
5011         Fix typo.
5012
5013 2005-12-12  Wim Taymans  <wim@fluendo.com>
5014
5015         * docs/libs/gstreamer-libs-sections.txt:
5016         Added new symbol to docs.
5017
5018         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5019         (gst_base_src_init), (gst_base_src_set_format),
5020         (gst_base_src_default_query), (gst_base_src_query),
5021         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
5022         (gst_base_src_perform_seek), (gst_base_src_send_event),
5023         (gst_base_src_default_event), (gst_base_src_event_handler),
5024         (gst_base_src_set_property), (gst_base_src_get_property),
5025         (gst_base_src_wait), (gst_base_src_do_sync),
5026         (gst_base_src_update_length), (gst_base_src_get_range),
5027         (gst_base_src_check_get_range), (gst_base_src_loop),
5028         (gst_base_src_default_negotiate), (gst_base_src_start),
5029         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5030         (gst_base_src_change_state):
5031         * libs/gst/base/gstbasesrc.h:
5032         Implement seeking to other formats than _BYTES.
5033         Implement more seeking methods correctly.
5034         Doc updates.
5035         Added query vmethod.
5036         Added do_seek vmethod to make life easier for subclasses
5037         when seeking.
5038         API addition: gst_base_src_set_format()
5039
5040 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5041
5042         * tests/examples/Makefile.am:
5043           added that too
5044
5045 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
5046
5047         * configure.ac:
5048         * docs/random/ensonic/media-device-daemon.txt:
5049         * tests/examples/controller/.cvsignore:
5050         * tests/examples/controller/Makefile.am:
5051         * tests/examples/controller/audio-example.c: (main):
5052         * tests/examples/helloworld/.cvsignore:
5053         * tests/examples/helloworld/Makefile.am:
5054         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
5055         * tests/examples/launch/.cvsignore:
5056         * tests/examples/launch/Makefile.am:
5057         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
5058         * tests/examples/metadata/.cvsignore:
5059         * tests/examples/metadata/Makefile.am:
5060         * tests/examples/metadata/read-metadata.c: (message_loop),
5061         (make_pipeline), (print_tag), (main):
5062         * tests/examples/queue/.cvsignore:
5063         * tests/examples/queue/Makefile.am:
5064         * tests/examples/queue/queue.c: (event_loop), (main):
5065         * tests/examples/typefind/.cvsignore:
5066         * tests/examples/typefind/Makefile.am:
5067         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
5068         (main):
5069         * tests/examples/xml/.cvsignore:
5070         * tests/examples/xml/Makefile.am:
5071         * tests/examples/xml/createxml.c: (object_saved), (main):
5072         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
5073         * tests/old/examples/Makefile.am:
5074         * tests/old/examples/TODO:
5075         * tests/old/examples/controller/.cvsignore:
5076         * tests/old/examples/controller/Makefile.am:
5077         * tests/old/examples/controller/audio-example.c:
5078         * tests/old/examples/helloworld/.cvsignore:
5079         * tests/old/examples/helloworld/Makefile.am:
5080         * tests/old/examples/helloworld/helloworld.c:
5081         * tests/old/examples/launch/.cvsignore:
5082         * tests/old/examples/launch/Makefile.am:
5083         * tests/old/examples/launch/mp3parselaunch.c:
5084         * tests/old/examples/launch/mp3play:
5085         * tests/old/examples/manual/Makefile.am:
5086         * tests/old/examples/metadata/Makefile.am:
5087         * tests/old/examples/metadata/read-metadata.c:
5088         * tests/old/examples/queue/.cvsignore:
5089         * tests/old/examples/queue/Makefile.am:
5090         * tests/old/examples/queue/queue.c:
5091         * tests/old/examples/typefind/.cvsignore:
5092         * tests/old/examples/typefind/Makefile.am:
5093         * tests/old/examples/typefind/typefind.c:
5094         * tests/old/examples/xml/.cvsignore:
5095         * tests/old/examples/xml/Makefile.am:
5096         * tests/old/examples/xml/createxml.c:
5097         * tests/old/examples/xml/runxml.c:
5098           applied some simple fixing to some examples
5099           re-enabled the working examples
5100
5101 2005-12-12  Wim Taymans  <wim@fluendo.com>
5102
5103         * gst/gstsegment.c: (gst_segment_init),
5104         (gst_segment_set_last_stop), (gst_segment_set_seek),
5105         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
5106         (gst_segment_to_running_time):
5107         Added more documentation.
5108         Make sure the last_pos value is updated properly.
5109         Make sure to_stream_time and to_running_time don't
5110         operate on wrong values.
5111
5112         * tests/check/gst/gstsegment.c: (GST_START_TEST):
5113         Update check.
5114
5115 2005-12-12  Michael Smith  <msmith@fluendo.com>
5116
5117         * plugins/elements/gsttypefindelement.c: (free_entry),
5118         (gst_type_find_element_chain):
5119           Now that we're not leaking factories, make sure we keep references
5120           to them while we need them.
5121
5122 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5123
5124         * tests/check/gst/struct_i386.h:
5125           ifdef out the XML structs
5126
5127 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5128
5129         * gst/gstvalue.c: (gst_value_transform_double_fraction):
5130           floor is not needed, F is always positive; this obviates the
5131           need for adding -lm when building without libxml
5132
5133 2005-12-12  Wim Taymans  <wim@fluendo.com>
5134
5135         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5136         Take current playback rate into account when reporting
5137         the position.
5138
5139 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5140
5141         * docs/manual/mime-world.fig:
5142           Let's try this again, this time with a file that is
5143           actually in XFig format.
5144
5145 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5146
5147         * docs/manual/mime-world.fig:
5148           Add audioconvert element to diagram so that it
5149           matches the text and the code (fixes #319526).
5150
5151 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5152
5153         * docs/pwg/building-chainfn.xml:
5154         * docs/pwg/building-pads.xml:
5155         * docs/pwg/building-state.xml:
5156         * docs/pwg/other-source.xml:
5157           Update state change stuff for 0.10 (fixes #322969).
5158
5159 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5160
5161         * docs/manual/advanced-dataaccess.xml:
5162         * docs/manual/appendix-checklist.xml:
5163         * docs/manual/appendix-programs.xml:
5164         * docs/manual/basics-pads.xml:
5165         * docs/manual/highlevel-components.xml:
5166         * docs/manual/manual.xml:
5167           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
5168           add converters in front of pipelines; remove curly
5169           brackets for threads stuff, they no longer exist; use
5170           GST_TYPE_FRACTION for framerates; update some pieces of
5171           code to 0.10, but there's plenty more to do.
5172
5173         * docs/manual/appendix-porting.xml:
5174           Expand on asynchroneous state changes; s/0.9/0.10/;
5175           mention disappearance of gst_init_get_popt_table()
5176           (fixes #322916).
5177
5178 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
5179
5180         * docs/faq/using.xml:
5181           Spider no longer exists, and neither does gst-launch-ext.
5182           Update examples to use decodebin and playbin and put
5183           converters in front of sinks (fixes #323726).
5184
5185 2005-12-09  Michael Smith  <msmith@fluendo.com>
5186
5187         * plugins/elements/gsttypefindelement.c: (find_peek),
5188         (gst_type_find_element_chain):
5189           Fix leaking element factories in typefinding.
5190           Fix problem where we forgot about a probable type on non-seekable
5191           files, and thus later mis-typefound it.
5192
5193 2005-12-09  Michael Smith  <msmith@fluendo.com>
5194
5195         * common/m4/gst-makecontext.m4:
5196         * common/m4/gst-mcsc.m4:
5197         * configure.ac:
5198         * win32/common/config.h:
5199         * win32/common/config.h.in:
5200           Remove makecontext stuff; not used in 0.10 and causes problems on
5201           HPUX according to bug #322441
5202
5203 2005-12-07  Wim Taymans  <wim@fluendo.com>
5204
5205         * tests/check/Makefile.am:
5206         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
5207         (main):
5208         * tests/check/libs/struct_i386.h:
5209         Added ABI check for libs
5210
5211 2005-12-07  Wim Taymans  <wim@fluendo.com>
5212
5213         * tests/check/Makefile.am:
5214         And add the struct_i386.h to dist.
5215
5216 2005-12-07  Wim Taymans  <wim@fluendo.com>
5217
5218         * tests/check/Makefile.am:
5219         * tests/check/gst/.cvsignore:
5220         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
5221         (main):
5222         * tests/check/gst/struct_i386.h:
5223         Added check for ABI compatibility.
5224
5225 2005-12-07  Wim Taymans  <wim@fluendo.com>
5226
5227         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5228         (gst_fake_src_get_times), (gst_fake_src_create):
5229         Fix broken sync option, fixes #323259
5230
5231 2005-12-07  Wim Taymans  <wim@fluendo.com>
5232
5233         * gst/gstbuffer.c:
5234         Small docs update.
5235
5236         * gst/gstcaps.c: (gst_caps_is_equal):
5237         Don't assert on NULL <--> X. Fixes #323260
5238
5239         * gst/gstminiobject.c: (gst_mini_object_replace):
5240         If we're doing atomic operations, we might just as well use
5241         the proper way to get an atomic pointer.
5242
5243         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5244         Clean up debugging.
5245
5246 2005-12-07  Michael Smith  <msmith@fluendo.com>
5247
5248         * gst/parse/grammar.y:
5249           Remove handling of { } for threads.
5250
5251 2005-12-06  David Schleef  <ds@schleef.org>
5252
5253         * libs/gst/base/gstbasetransform.c: speling fix.
5254
5255 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5256
5257         * docs/libs/tmpl/gstdataprotocol.sgml:
5258         * docs/random/omega/testing/gstobject.c:
5259         * gst/gst.c:
5260         * gst/gstclock.c:
5261         * gst/gstelement.c:
5262         * gst/gstelementfactory.c:
5263         * gst/gsterror.c:
5264         * gst/gstevent.c:
5265         * gst/gstghostpad.c:
5266         * gst/gstinfo.c:
5267         * gst/gstpadtemplate.c:
5268         * gst/gstregistryxml.c:
5269         * gst/gsttaglist.c:
5270         * gst/gsttagsetter.c:
5271         * gst/gsttypefind.c:
5272         * gst/gstvalue.c:
5273         * libs/gst/base/gstbasesrc.c:
5274         * libs/gst/net/gstnetclientclock.c:
5275         * libs/gst/net/gstnettimeprovider.c:
5276         * plugins/elements/gstfakesrc.c:
5277         * plugins/elements/gstfdsrc.c:
5278         * plugins/elements/gstfilesrc.c:
5279         * plugins/elements/gstidentity.c:
5280         * plugins/elements/gstqueue.c:
5281         * plugins/elements/gsttypefindelement.c:
5282         * plugins/indexers/gstfileindex.c:
5283         * plugins/indexers/gstmemindex.c:
5284         * tests/check/gst/gsttag.c:
5285         * tests/old/examples/cutter/cutter.c:
5286         * tests/old/examples/mixer/mixer.c:
5287         * tests/old/examples/xml/runxml.c: (main):
5288         * tests/old/testsuite/caps/normalisation.c:
5289         * tests/old/testsuite/debug/global.c:
5290         * tests/old/testsuite/parse/parse1.c:
5291         * tools/gst-xmlinspect.c:
5292         * win32/common/dirent.c:
5293           expand tabs
5294
5295 === release 0.10.0 ===
5296
5297 2005-12-05   <thomas (at) apestaart (dot) org>
5298
5299         * configure.ac:
5300           releasing 0.10.0, "Maroilles"
5301
5302 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5303
5304         submitted by: Funda Wang <fundawang@linux.net.cn>
5305
5306         * po/LINGUAS:
5307         * po/zh_CN.po:
5308           added Chinese (Traditional) translation
5309
5310 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5311
5312         * docs/gst/gstreamer-sections.txt:
5313         * docs/libs/tmpl/gstdataprotocol.sgml:
5314         * docs/random/thomasvs/TODO:
5315         * gst/gstutils.c:
5316         * gst/gstutils.h:
5317           fix docs
5318
5319 2005-12-05  Andy Wingo  <wingo@pobox.com>
5320
5321         patch by: Wim Taymans <wim@fluendo.com>
5322
5323         * libs/gst/base/gstbasetransform.c
5324         (gst_base_transform_prepare_output_buf)
5325         (gst_base_transform_buffer_alloc):
5326         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
5327         alloc_buffer_and_set_caps.
5328
5329         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
5330         set_caps on the source pad.
5331         (gst_pad_alloc_buffer_and_set_caps): New function, does what
5332         alloc_buffer used to do. Fixes #322874.
5333
5334         * docs/gst/gstreamer-sections.txt: 
5335         * docs/design/part-negotiation.txt: 
5336         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
5337         changes.
5338
5339 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5340
5341         patch by: Sebastien Moutte
5342
5343         * win32/MANIFEST:
5344         * win32/common/config.h.in:
5345         * win32/vs6/libgstcontroller.dsp:
5346           win32 build fixes
5347
5348 2005-12-05  Wim Taymans  <wim@fluendo.com>
5349
5350         * gst/gstcaps.c: (gst_caps_is_equal):
5351         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5352         (gst_fake_src_create):
5353         Back out previous code changes, leave doc updates, file bugs 
5354         instead. 
5355
5356 2005-12-05  Wim Taymans  <wim@fluendo.com>
5357
5358         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5359         (gst_fake_src_get_times), (gst_fake_src_create):
5360         * plugins/elements/gstfakesrc.h:
5361         Fix broken sync code.
5362
5363 2005-12-05  Wim Taymans  <wim@fluendo.com>
5364
5365         * gst/gstcaps.c: (gst_caps_is_equal):
5366         Comparing NULL against !NULL yields different caps, not a
5367         failure.
5368
5369 2005-12-05  Wim Taymans  <wim@fluendo.com>
5370
5371         * gst/gstpipeline.c:
5372         Fix small typo in docs.
5373
5374 2005-12-05  Andy Wingo  <wingo@pobox.com>
5375
5376         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
5377
5378         * gst/gst.c (init_post): remove hard-coded 0.9 location for
5379         registries/plugins with a MAJORMINOR one.
5380         (plugin_desc): Rename library from gstcoreleements to
5381         staticelements. Fixes #323222.
5382
5383 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
5384
5385         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
5386           Change debug category to 'collectpads' from 'collect_pads'
5387           (fixes #323250).
5388
5389 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5390
5391         patch by: Sebastien Moutte
5392
5393         * libs/gst/controller/gstinterpolation.c:
5394           use convert function for uint64/double
5395         * win32/vs6/libgstcontroller.dsp:
5396           link to GLib
5397
5398 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
5399
5400         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
5401         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
5402         * gst/gstutils.h:
5403         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5404           add tests that seem to show that the guint64/gdouble conversions
5405           are correct.
5406
5407 2005-12-02  Wim Taymans  <wim@fluendo.com>
5408
5409         * gst/gstregistry.c: (gst_registry_add_path):
5410         * gst/gstregistry.h:
5411         * gst/gstregistryxml.c:
5412         Fix docs again.
5413
5414 2005-12-02  Wim Taymans  <wim@fluendo.com>
5415
5416         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5417         (gst_util_uint64_scale_int):
5418         Small cleanup.
5419
5420         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5421         Add debug log line.
5422
5423         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
5424         Add FIXME.
5425
5426 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5427
5428         * win32/MANIFEST:
5429         * win32/common/config.h:
5430         * win32/vs6/gstreamer.dsw:
5431         * win32/vs6/libgstcoreelements.dsp:
5432         * win32/vs6/libgstelements.dsp:
5433           renamed core elements plugin
5434
5435 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5436
5437         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
5438         (get_candidates):
5439           do piece-wise major/minor comparison so 0.9 < 0.10
5440           also allow .exe extensions for tools
5441
5442 2005-12-02  Michael Smith  <msmith@fluendo.com>
5443
5444         * gst/gst.c:
5445           Escape a % to make gtkdoc happier; bug 322958.
5446
5447 === release 0.9.7 ===
5448
5449 2005-12-01   <thomas (at) apestaart (dot) org>
5450
5451         * configure.ac:
5452           releasing 0.9.7, "My Dog Has No Nose"
5453
5454 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5455
5456         * common/gst-xmlinspect.py:
5457         * configure.ac:
5458         * docs/libs/tmpl/gstdataprotocol.sgml:
5459         * docs/random/release:
5460         * po/af.po:
5461         * po/az.po:
5462         * po/bg.po:
5463         * po/ca.po:
5464         * po/cs.po:
5465         * po/de.po:
5466         * po/en_GB.po:
5467         * po/fr.po:
5468         * po/it.po:
5469         * po/nb.po:
5470         * po/nl.po:
5471         * po/ru.po:
5472         * po/sq.po:
5473         * po/sr.po:
5474         * po/sv.po:
5475         * po/tr.po:
5476         * po/uk.po:
5477         * po/vi.po:
5478         * win32/common/config.h:
5479         * win32/common/config.h.in:
5480         * win32/vs6/gst_inspect.dsp:
5481         * win32/vs6/gst_launch.dsp:
5482         * win32/vs6/libgstbase.dsp:
5483         * win32/vs6/libgstelements.dsp:
5484         * win32/vs6/libgstreamer.dsp:
5485         * win32/vs7/GStreamer.vcproj:
5486         * win32/vs7/gst-inspect.vcproj:
5487         * win32/vs7/gst-launch.vcproj:
5488         * win32/vs7/libgstbase.vcproj:
5489           bump GST_MAJORMINOR to 0.10
5490           reset libtool version
5491
5492 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5493
5494         * po/LINGUAS:
5495         * po/bg.po:
5496           Added Bulgarian translation by (Alexander Shopov)
5497
5498 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5499
5500         * tests/check/gst/gstplugin.c:
5501           fix test
5502
5503 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5504
5505         * common/gst-xmlinspect.py:
5506         * common/gtk-doc-plugins.mak:
5507         * configure.ac:
5508         * docs/Makefile.am:
5509         * docs/gst/Makefile.am:
5510         * docs/gst/gstreamer-docs.sgml:
5511         * docs/gst/gstreamer-sections.txt:
5512         * docs/gst/gstreamer.types:
5513         * docs/gst/gstreamer.types.in:
5514         * docs/plugins/Makefile.am:
5515         * docs/plugins/gstreamer-plugins-docs.sgml:
5516         * docs/plugins/gstreamer-plugins-sections.txt:
5517         * docs/plugins/gstreamer-plugins.types:
5518         * docs/plugins/inspect.stamp:
5519         * docs/plugins/inspect/plugin-coreelements.xml:
5520         * docs/plugins/inspect/plugin-coreindexers.xml:
5521         * docs/plugins/scanobj-build.stamp:
5522         * gstreamer.spec.in:
5523         * plugins/elements/Makefile.am:
5524         * plugins/elements/gstelements.c:
5525         * plugins/elements/gstfakesink.c:
5526         * plugins/elements/gstfakesrc.c:
5527         * plugins/elements/gstfilesink.c:
5528         * plugins/elements/gstfilesrc.c:
5529         * plugins/elements/gstqueue.c:
5530         * plugins/indexers/Makefile.am:
5531         * plugins/indexers/gstindexers.c:
5532           document core plugins in a separate document just like all the
5533           others
5534           rename these plugins to something starting with core
5535
5536 2005-12-01  Andy Wingo  <wingo@pobox.com>
5537
5538         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5539         padding here before, but it missed the commit.
5540
5541 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * libs/gst/controller/gstinterpolation.c:
5544           whitespace prices have crashed, we should feel free to use some now
5545           use gst_guint64_to_gdouble
5546
5547 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5548
5549         * libs/gst/controller/gstcontroller.c:
5550         * libs/gst/controller/gsthelper.c:
5551         * libs/gst/controller/gstinterpolation.c:
5552         * libs/gst/controller/lib.c:
5553           wrap config.h include
5554
5555 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5556
5557         * docs/gst/gstreamer-sections.txt:
5558           update docs
5559
5560 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5561
5562         * plugins/elements/gstelements.c:
5563         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5564         (gst_fd_sink__class_init), (gst_fd_sink__init),
5565         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5566         (gst_fd_sink__get_property):
5567         * plugins/elements/gstfdsink.h:
5568         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5569         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5570         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5571         (gst_fd_src_unlock), (gst_fd_src_set_property),
5572         (gst_fd_src_get_property), (gst_fd_src_create),
5573         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5574         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5575         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5576         (gst_fd_src_uri_handler_init):
5577         * plugins/elements/gstfdsrc.h:
5578         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5579           more anal cleanup
5580
5581 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5582
5583         * docs/gst/Makefile.am:
5584         * docs/gst/gstreamer.types.in:
5585         * gst/Makefile.am:
5586           fix the docs build
5587
5588 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5589
5590         * configure.ac:
5591         * gst/Makefile.am:
5592         * gst/gst.c:
5593         * gst/gstplugin.h:
5594         * gst/gstregistry.h:
5595         * tests/benchmarks/complexity.c:
5596         * tests/benchmarks/mass-elements.c:
5597         * tests/check/Makefile.am:
5598         * tools/Makefile.am:
5599         * tools/gst-inspect.c:
5600         * tools/gst-xmlinspect.c:
5601           various fixes to make
5602           --disable-nls --disable-registry --disable-loadsave
5603           --disable-parse --disable-gst-debug
5604           work and get the core .so down to 360444 bytes after stripping
5605
5606 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5607
5608         * Makefile.am:
5609         * configure.ac:
5610           descend into tests
5611         * docs/random/thomasvs/TODO:
5612         * tests/Makefile.am:
5613         * tests/README:
5614           add a README
5615
5616 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5617
5618         * win32/GStreamer.vcproj:
5619         * win32/MANIFEST:
5620         * win32/Makefile:
5621         * win32/Makefile.inspect:
5622         * win32/Makefile.launch:
5623         * win32/Makefile.register:
5624         * win32/README.txt:
5625         * win32/gst-inspect.vcproj:
5626         * win32/gst-launch.vcproj:
5627         * win32/gst-register.vcproj:
5628         * win32/gstelements.vcproj:
5629         * win32/gstgetbits.def:
5630         * win32/gstgetbits.vcproj:
5631         * win32/gstreamer-dbg.def:
5632         * win32/gstreamer.def:
5633         * win32/libgstbase.def:
5634         * win32/libgstbase.vcproj:
5635         * win32/link_oldruntime.c:
5636         * win32/mman.c:
5637         * win32/mman.h:
5638         * win32/mman.inl:
5639         * win32/msvc71.sln:
5640           move even more stuff, win32/ is nice and clean now
5641
5642 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * libs/gst/control/.cvsignore:
5645         * win32/MANIFEST:
5646         * win32/config.h:
5647         * win32/dirent.c:
5648         * win32/dirent.h:
5649         * win32/gstbytestream.def:
5650         * win32/gstbytestream.vcproj:
5651         * win32/gstconfig.h:
5652         * win32/gstenumtypes.c:
5653         * win32/gstenumtypes.h:
5654         * win32/gstoptimalscheduler.vcproj:
5655         * win32/gstversion.h:
5656         * win32/gtchar.h:
5657         * win32/testsuite/bins.vcproj:
5658         * win32/testsuite/bytestream.vcproj:
5659         * win32/testsuite/caps.vcproj:
5660         * win32/testsuite/cleanup.vcproj:
5661         * win32/testsuite/clock.vcproj:
5662         * win32/testsuite/debug.vcproj:
5663         * win32/testsuite/dlopen.vcproj:
5664         * win32/testsuite/dynparams.vcproj:
5665         * win32/testsuite/elements.vcproj:
5666         * win32/testsuite/ghostpads.vcproj:
5667         * win32/testsuite/indexers.vcproj:
5668         * win32/testsuite/negotiation.vcproj:
5669         * win32/testsuite/parse.vcproj:
5670         * win32/testsuite/plugin.vcproj:
5671         * win32/testsuite/refcounting.vcproj:
5672         * win32/testsuite/schedulers.vcproj:
5673         * win32/testsuite/states.vcproj:
5674         * win32/testsuite/tags.vcproj:
5675         * win32/testsuite/threads.vcproj:
5676           remove old win32 stuff that isn't maintained and should be
5677           reorganized
5678
5679 2005-11-30  Andy Wingo  <wingo@pobox.com>
5680
5681         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5682         loading the gst.interfaces python module bork.
5683
5684         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5685         available since GLib 2.2. Fixes #318031.
5686
5687 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5688
5689         * Makefile.am:
5690         * check/.cvsignore:
5691         * check/Makefile.am:
5692         * check/elements/.cvsignore:
5693         * check/elements/fakesrc.c:
5694         * check/elements/fdsrc.c:
5695         * check/elements/identity.c:
5696         * check/generic/.cvsignore:
5697         * check/generic/states.c:
5698         * check/gst-libs/.cvsignore:
5699         * check/gst-libs/controller.c:
5700         * check/gst-libs/gdp.c:
5701         * check/gst/.cvsignore:
5702         * check/gst/capslist.h:
5703         * check/gst/gst.c:
5704         * check/gst/gstbin.c:
5705         * check/gst/gstbuffer.c:
5706         * check/gst/gstbus.c:
5707         * check/gst/gstcaps.c:
5708         * check/gst/gstelement.c:
5709         * check/gst/gstevent.c:
5710         * check/gst/gstghostpad.c:
5711         * check/gst/gstiterator.c:
5712         * check/gst/gstmessage.c:
5713         * check/gst/gstminiobject.c:
5714         * check/gst/gstobject.c:
5715         * check/gst/gstpad.c:
5716         * check/gst/gstpipeline.c:
5717         * check/gst/gstplugin.c:
5718         * check/gst/gstsegment.c:
5719         * check/gst/gststructure.c:
5720         * check/gst/gstsystemclock.c:
5721         * check/gst/gsttag.c:
5722         * check/gst/gstutils.c:
5723         * check/gst/gstvalue.c:
5724         * check/net/.cvsignore:
5725         * check/net/gstnetclientclock.c:
5726         * check/net/gstnettimeprovider.c:
5727         * check/pipelines/.cvsignore:
5728         * check/pipelines/cleanup.c:
5729         * check/pipelines/simple_launch_lines.c:
5730         * check/pipelines/stress.c:
5731         * check/states/.cvsignore:
5732         * check/states/sinks.c:
5733         * configure.ac:
5734         * examples/Makefile.am:
5735         * examples/appreader/.cvsignore:
5736         * examples/appreader/Makefile.am:
5737         * examples/appreader/appreader.c:
5738         * examples/controller/.cvsignore:
5739         * examples/controller/Makefile.am:
5740         * examples/controller/audio-example.c:
5741         * examples/cutter/.cvsignore:
5742         * examples/cutter/Makefile.am:
5743         * examples/cutter/cutter.c:
5744         * examples/cutter/cutter.h:
5745         * examples/events/Makefile.am:
5746         * examples/events/seek.c:
5747         * examples/helloworld/.cvsignore:
5748         * examples/helloworld/Makefile.am:
5749         * examples/helloworld/helloworld.c:
5750         * examples/helloworld2/.cvsignore:
5751         * examples/helloworld2/Makefile.am:
5752         * examples/helloworld2/helloworld2.c:
5753         * examples/launch/.cvsignore:
5754         * examples/launch/Makefile.am:
5755         * examples/launch/mp3parselaunch.c:
5756         * examples/launch/mp3play:
5757         * examples/manual/.cvsignore:
5758         * examples/manual/Makefile.am:
5759         * examples/manual/extract.pl:
5760         * examples/metadata/Makefile.am:
5761         * examples/metadata/read-metadata.c:
5762         * examples/mixer/.cvsignore:
5763         * examples/mixer/Makefile.am:
5764         * examples/mixer/mixer.c:
5765         * examples/mixer/mixer.h:
5766         * examples/pingpong/.cvsignore:
5767         * examples/pingpong/Makefile.am:
5768         * examples/pingpong/pingpong.c:
5769         * examples/plugins/.cvsignore:
5770         * examples/plugins/Makefile.am:
5771         * examples/plugins/example.c:
5772         * examples/plugins/example.h:
5773         * examples/pwg/.cvsignore:
5774         * examples/pwg/Makefile.am:
5775         * examples/pwg/extract.pl:
5776         * examples/queue/.cvsignore:
5777         * examples/queue/Makefile.am:
5778         * examples/queue/queue.c:
5779         * examples/queue2/.cvsignore:
5780         * examples/queue2/Makefile.am:
5781         * examples/queue2/queue2.c:
5782         * examples/queue3/.cvsignore:
5783         * examples/queue3/Makefile.am:
5784         * examples/queue3/queue3.c:
5785         * examples/queue4/.cvsignore:
5786         * examples/queue4/Makefile.am:
5787         * examples/queue4/queue4.c:
5788         * examples/retag/.cvsignore:
5789         * examples/retag/Makefile.am:
5790         * examples/retag/retag.c:
5791         * examples/retag/transcode.c:
5792         * examples/thread/.cvsignore:
5793         * examples/thread/Makefile.am:
5794         * examples/thread/thread.c:
5795         * examples/typefind/.cvsignore:
5796         * examples/typefind/Makefile.am:
5797         * examples/typefind/typefind.c:
5798         * examples/xml/.cvsignore:
5799         * examples/xml/Makefile.am:
5800         * examples/xml/createxml.c:
5801         * examples/xml/runxml.c:
5802         * tests/Makefile.am:
5803         * tests/check/Makefile.am:
5804         * testsuite/.cvsignore:
5805         * testsuite/Makefile.am:
5806         * testsuite/Rules:
5807         * testsuite/caps/.cvsignore:
5808         * testsuite/caps/Makefile.am:
5809         * testsuite/caps/app_fixate.c:
5810         * testsuite/caps/audioscale.c:
5811         * testsuite/caps/caps.c:
5812         * testsuite/caps/caps.h:
5813         * testsuite/caps/caps_strings:
5814         * testsuite/caps/compatibility.c:
5815         * testsuite/caps/deserialize.c:
5816         * testsuite/caps/enumcaps.c:
5817         * testsuite/caps/eratosthenes.c:
5818         * testsuite/caps/filtercaps.c:
5819         * testsuite/caps/fixed.c:
5820         * testsuite/caps/fraction-convert.c:
5821         * testsuite/caps/fraction-multiply-and-zero.c:
5822         * testsuite/caps/intersect2.c:
5823         * testsuite/caps/intersection.c:
5824         * testsuite/caps/normalisation.c:
5825         * testsuite/caps/random.c:
5826         * testsuite/caps/renegotiate.c:
5827         * testsuite/caps/sets.c:
5828         * testsuite/caps/simplify.c:
5829         * testsuite/caps/string-conversions.c:
5830         * testsuite/caps/structure.c:
5831         * testsuite/caps/subtract.c:
5832         * testsuite/caps/union.c:
5833         * testsuite/debug/.cvsignore:
5834         * testsuite/debug/Makefile.am:
5835         * testsuite/debug/category.c:
5836         * testsuite/debug/commandline.c:
5837         * testsuite/debug/global.c:
5838         * testsuite/debug/output.c:
5839         * testsuite/debug/printf_extension.c:
5840         * testsuite/dlopen/.cvsignore:
5841         * testsuite/dlopen/Makefile.am:
5842         * testsuite/dlopen/dlopen_gst.c:
5843         * testsuite/dlopen/loadgst.c:
5844         * testsuite/elements/.cvsignore:
5845         * testsuite/elements/Makefile.am:
5846         * testsuite/elements/gst-inspect-check.in:
5847         * testsuite/elements/struct_i386.h:
5848         * testsuite/elements/struct_size.c:
5849         * testsuite/indexers/.cvsignore:
5850         * testsuite/indexers/Makefile.am:
5851         * testsuite/indexers/cache1.c:
5852         * testsuite/indexers/indexdump.c:
5853         * testsuite/parse/.cvsignore:
5854         * testsuite/parse/Makefile.am:
5855         * testsuite/parse/parse1.c:
5856         * testsuite/parse/parse2.c:
5857         * testsuite/plugin/.cvsignore:
5858         * testsuite/plugin/Makefile.am:
5859         * testsuite/plugin/README:
5860         * testsuite/plugin/dynamic.c:
5861         * testsuite/plugin/linked.c:
5862         * testsuite/plugin/loading.c:
5863         * testsuite/plugin/registry.c:
5864         * testsuite/plugin/static.c:
5865         * testsuite/plugin/static2.c:
5866         * testsuite/plugin/testplugin.c:
5867         * testsuite/plugin/testplugin2.c:
5868         * testsuite/plugin/testplugin2_s.c:
5869         * testsuite/plugin/testplugin_s.c:
5870         * testsuite/refcounting/.cvsignore:
5871         * testsuite/refcounting/Makefile.am:
5872         * testsuite/refcounting/bin.c:
5873         * testsuite/refcounting/element.c:
5874         * testsuite/refcounting/element_pad.c:
5875         * testsuite/refcounting/mainloop.c:
5876         * testsuite/refcounting/mem.c:
5877         * testsuite/refcounting/mem.h:
5878         * testsuite/refcounting/object.c:
5879         * testsuite/refcounting/pad.c:
5880         * testsuite/refcounting/sched.c:
5881         * testsuite/refcounting/thread.c:
5882         * testsuite/states/.cvsignore:
5883         * testsuite/states/Makefile.am:
5884         * testsuite/states/bin.c:
5885         * testsuite/states/locked.c:
5886         * testsuite/states/parent.c:
5887         * testsuite/threads/.cvsignore:
5888         * testsuite/threads/159566.c:
5889         * testsuite/threads/159852.c:
5890         * testsuite/threads/Makefile.am:
5891         * testsuite/threads/queue.c:
5892         * testsuite/threads/signals.c:
5893         * testsuite/threads/staticrec.c:
5894         * testsuite/threads/thread.c:
5895         * testsuite/threads/threadb.c:
5896         * testsuite/threads/threadc.c:
5897         * testsuite/threads/threadd.c:
5898         * testsuite/threads/threade.c:
5899         * testsuite/threads/threadf.c:
5900         * testsuite/threads/threadg.c:
5901         * testsuite/threads/threadh.c:
5902         * testsuite/threads/threadi.c:
5903           move all of these under tests
5904
5905 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5906
5907         * configure.ac:
5908         * tests/Makefile.am:
5909           fix distcheck
5910
5911 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5912
5913         * docs/gst/gstreamer-sections.txt:
5914         * tests/sched/.cvsignore:
5915         * tests/sched/Makefile.am:
5916         * tests/sched/cases/(fs-fs).xml:
5917         * tests/sched/cases/(fs-i-fs).xml:
5918         * tests/sched/cases/(fs-i-i-fs).xml:
5919         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5920         * tests/sched/dynamic-pipeline.c:
5921         * tests/sched/interrupt1.c:
5922         * tests/sched/interrupt2.c:
5923         * tests/sched/interrupt3.c:
5924         * tests/sched/runtestcases:
5925         * tests/sched/runxml.c:
5926         * tests/sched/sched-stress.c:
5927         * tests/sched/sort.c:
5928         * tests/sched/testcases:
5929         * tests/sched/testcases1.tc:
5930         * tests/seeking/.cvsignore:
5931         * tests/seeking/Makefile.am:
5932         * tests/seeking/seeking1.c:
5933         * tests/threadstate/.cvsignore:
5934         * tests/threadstate/Makefile.am:
5935         * tests/threadstate/test1.c:
5936         * tests/threadstate/test2.c:
5937         * tests/threadstate/threadstate1.c:
5938         * tests/threadstate/threadstate2.c:
5939         * tests/threadstate/threadstate3.c:
5940         * tests/threadstate/threadstate4.c:
5941         * tests/threadstate/threadstate5.c:
5942           remove obsolete tests
5943         * configure.ac:
5944         * tests/bench-complexity.scm:
5945         * tests/bench-mass_elements.scm:
5946         * tests/complexity.c:
5947         * tests/complexity.gnuplot:
5948         * tests/instantiate/.cvsignore:
5949         * tests/instantiate/Makefile.am:
5950         * tests/instantiate/caps.c:
5951         * tests/mass_elements.c:
5952         * tests/network-clock-utils.scm:
5953         * tests/network-clock.scm:
5954         * tests/plot-data:
5955         First pass at cleaning up tests/ dir before moving the rest
5956         Combined with CVS surgery
5957
5958 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5959
5960         * po/POTFILES.in:
5961           queue has moved, update
5962
5963 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5964
5965         * docs/gst/gstreamer-sections.txt:
5966           remove double entries from the docs
5967         * gst/gst_private.h:
5968         * gst/gstinfo.c: (_gst_debug_init):
5969           remove the THREAD debug category
5970         * gst/Makefile.am:
5971         * gst/gstqueue.c:
5972         * gst/gstqueue.h:
5973         * docs/gst/gstreamer.types:
5974         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5975         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5976           completely move queue and fix up debugging categories
5977
5978 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5979
5980         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5981           make initialization portable, using LL is not
5982
5983 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5984
5985         * win32/common/gstconfig.h:
5986           add large padding
5987
5988 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5989
5990         * win32/common/libgstreamer.def:
5991           rename symbols; sort base section
5992
5993 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5994
5995         * gst/gstclock.c: (do_linear_regression):
5996           remove crack non-portable handrolled DEBUG macro
5997
5998 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5999
6000         * docs/random/release:
6001           update notes
6002         * win32/common/gstenumtypes.c: (register_gst_object_flags),
6003         (gst_object_flags_get_type), (register_gst_bin_flags),
6004         (gst_bin_flags_get_type), (register_gst_buffer_flag),
6005         (gst_buffer_flag_get_type), (register_gst_bus_flags),
6006         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
6007         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
6008         (gst_caps_flags_get_type), (register_gst_clock_return),
6009         (gst_clock_return_get_type), (register_gst_clock_entry_type),
6010         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
6011         (gst_clock_flags_get_type), (register_gst_state),
6012         (gst_state_get_type), (register_gst_state_change_return),
6013         (gst_state_change_return_get_type), (register_gst_state_change),
6014         (gst_state_change_get_type), (register_gst_element_flags),
6015         (gst_element_flags_get_type), (register_gst_core_error),
6016         (gst_core_error_get_type), (register_gst_library_error),
6017         (gst_library_error_get_type), (register_gst_resource_error),
6018         (gst_resource_error_get_type), (register_gst_stream_error),
6019         (gst_stream_error_get_type), (register_gst_event_type_flags),
6020         (gst_event_type_flags_get_type), (register_gst_event_type),
6021         (gst_event_type_get_type), (register_gst_seek_type),
6022         (gst_seek_type_get_type), (register_gst_seek_flags),
6023         (gst_seek_flags_get_type), (register_gst_format),
6024         (gst_format_get_type), (register_gst_index_certainty),
6025         (gst_index_certainty_get_type), (register_gst_index_entry_type),
6026         (gst_index_entry_type_get_type),
6027         (register_gst_index_lookup_method),
6028         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
6029         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
6030         (gst_index_resolver_method_get_type), (register_gst_index_flags),
6031         (gst_index_flags_get_type), (register_gst_debug_level),
6032         (gst_debug_level_get_type), (register_gst_debug_color_flags),
6033         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
6034         (gst_iterator_result_get_type), (register_gst_iterator_item),
6035         (gst_iterator_item_get_type), (register_gst_message_type),
6036         (gst_message_type_get_type), (register_gst_mini_object_flags),
6037         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
6038         (gst_pad_link_return_get_type), (register_gst_flow_return),
6039         (gst_flow_return_get_type), (register_gst_activate_mode),
6040         (gst_activate_mode_get_type), (register_gst_pad_direction),
6041         (gst_pad_direction_get_type), (register_gst_pad_flags),
6042         (gst_pad_flags_get_type), (register_gst_pad_presence),
6043         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
6044         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
6045         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
6046         (gst_plugin_error_get_type), (register_gst_plugin_flags),
6047         (gst_plugin_flags_get_type), (register_gst_rank),
6048         (gst_rank_get_type), (register_gst_query_type),
6049         (gst_query_type_get_type), (register_gst_tag_merge_mode),
6050         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
6051         (gst_tag_flag_get_type), (register_gst_task_state),
6052         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
6053         (gst_alloc_trace_flags_get_type),
6054         (register_gst_type_find_probability),
6055         (gst_type_find_probability_get_type), (register_gst_uri_type),
6056         (gst_uri_type_get_type), (register_gst_parse_error),
6057         (gst_parse_error_get_type):
6058         * win32/common/gstenumtypes.h:
6059         * win32/common/gstversion.h:
6060           update visual studio generated files
6061
6062 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6063
6064         * win32/vs6/libgstbase.dsp:
6065         * win32/vs6/libgstelements.dsp:
6066           update project files for new locations
6067
6068 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6069
6070         * Makefile.am:
6071           remove some files
6072         * README:
6073           reinstate and update
6074         * DEVEL:
6075         * REQUIREMENTS:
6076           removed
6077         * LICENSE:
6078         * docs/random/LICENSE:
6079           moved to random
6080
6081 2005-11-30  Edward Hervey  <edward@fluendo.com>
6082
6083         * gst/gsttypefind.c: (gst_type_find_register):
6084         * gst/gsttypefind.h:
6085         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
6086         (gst_type_find_factory_dispose):
6087         * gst/gsttypefindfactory.h:
6088         Fix memory leak in GstTypeFindFactory.
6089
6090 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6091
6092         * gst/gst.c:
6093         * plugins/elements/Makefile.am:
6094         * plugins/elements/gstelements.c:
6095         * plugins/elements/gstqueue.c:
6096           move queue from core to the elements plugin
6097
6098 2005-11-29  Andy Wingo  <wingo@pobox.com>
6099
6100         * libs/gst/base/gstbasetransform.h: 
6101         * libs/gst/base/gstbasesrc.h: 
6102         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
6103
6104         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
6105         of pointers by which to pad very extensible base classes (like the
6106         ones in libs/gst/base).
6107
6108 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6109
6110         * docs/gst/gstreamer-docs.sgml:
6111         * docs/gst/gstreamer-sections.txt:
6112         * docs/libs/gstreamer-libs-docs.sgml:
6113         * docs/libs/gstreamer-libs-sections.txt:
6114           moving documentation from core to lib
6115
6116 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6117
6118         * check/Makefile.am:
6119         * configure.ac:
6120         * docs/gst/Makefile.am:
6121         * gst/Makefile.am:
6122         * gst/base/.cvsignore:
6123         * gst/base/Makefile.am:
6124         * gst/base/README:
6125         * gst/base/gstadapter.c:
6126         * gst/base/gstadapter.h:
6127         * gst/base/gstbasesink.c:
6128         * gst/base/gstbasesink.h:
6129         * gst/base/gstbasesrc.c:
6130         * gst/base/gstbasesrc.h:
6131         * gst/base/gstbasetransform.c:
6132         * gst/base/gstbasetransform.h:
6133         * gst/base/gstcollectpads.c:
6134         * gst/base/gstcollectpads.h:
6135         * gst/base/gstpushsrc.c:
6136         * gst/base/gstpushsrc.h:
6137         * gst/base/gsttypefindhelper.c:
6138         * gst/base/gsttypefindhelper.h:
6139         * gst/check/Makefile.am:
6140         * gst/check/gstcheck.c:
6141         * gst/check/gstcheck.h:
6142         * gst/net/Makefile.am:
6143         * gst/net/gstnet.h:
6144         * gst/net/gstnetclientclock.c:
6145         * gst/net/gstnetclientclock.h:
6146         * gst/net/gstnettimepacket.c:
6147         * gst/net/gstnettimepacket.h:
6148         * gst/net/gstnettimeprovider.c:
6149         * gst/net/gstnettimeprovider.h:
6150         * libs/gst/Makefile.am:
6151         * libs/gst/base/Makefile.am:
6152         * libs/gst/base/gstbasetransform.c:
6153         * libs/gst/check/Makefile.am:
6154         * plugins/elements/Makefile.am:
6155         * po/POTFILES.in:
6156           CVS surgery + support to move base, check, and net out of gst
6157           and into libs/gst
6158
6159 2005-11-29  Andy Wingo  <wingo@pobox.com>
6160
6161         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
6162
6163         * gst/gststructure.h (struct _GstStructure): Only one pointer of
6164         padding.
6165
6166         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
6167
6168         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
6169
6170         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
6171
6172         * gst/gstobject.h: (struct _GstObject): Only one pointer of
6173         padding; reduces object size by about 30%. We don't expect
6174         anything else to go into gstobject.
6175
6176         * gst/gstminiobject.h (struct _GstMiniObject)
6177         (struct _GstMiniObjectClass): Only one pointer of padding; the
6178         payload is only a pointer and two ints anyway. For the class there
6179         are only two methods as well.
6180         
6181         * gst/gstelement.h (struct _GstElementClass): Removed
6182         the state_changed signal callback, it is not used.
6183
6184 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6185
6186         * docs/gst/gstreamer.types:
6187           fix includes, though they are a little dinky
6188
6189 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6190
6191         * check/Makefile.am:
6192           look in the right place for elements, a lot more chance of
6193           success
6194         * gst/Makefile.am:
6195           remove indexers and elements subdirs
6196         * plugins/Makefile.am:
6197           make indexers conditional
6198
6199 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6200
6201         * Makefile.am:
6202         * configure.ac:
6203         * plugins/elements/Makefile.am:
6204         * plugins/elements/gstcapsfilter.c:
6205         * plugins/elements/gstfilesink.c:
6206         * plugins/elements/gstfilesrc.c:
6207         * plugins/elements/gstidentity.c:
6208         * plugins/indexers/Makefile.am:
6209           do CVS surgery and related build fixery to move elements
6210           and indexers in a new gstreamer/plugins directory, out of the
6211           gst/ directory
6212
6213 2005-11-29  Andy Wingo  <wingo@pobox.com>
6214
6215         * check/Makefile.am:
6216         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6217         * pkgconfig/gstreamer-net.pc.in:
6218         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
6219         #322257.
6220
6221 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6222
6223         * tools/Makefile.am:
6224         * tools/gst-complete.1.in:
6225         * tools/gst-complete.c:
6226         * tools/gst-compprep.1.in:
6227         * tools/gst-compprep.c:
6228           removing -compprep and -complete
6229
6230 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6231
6232         * gst/gstevent.c: (gst_event_new_new_segment),
6233         (gst_event_parse_new_segment):
6234         * gst/gstevent.h:
6235           fix #320529 - clean up new_segment API and structure.
6236           Let's hope everyone was using the methods, and not the structure.
6237
6238 2005-11-29  Edward Hervey  <edward@fluendo.com>
6239
6240         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6241         (gst_base_sink_event), (gst_base_sink_do_sync),
6242         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
6243         Properly handle non GST_FORMAT_TIME segment
6244         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6245         Properly handle non GST_FORMAT_TIME segment
6246         * gst/gstsegment.c:
6247         This function is valid if the accumulator is 0 and the format
6248         is different from the requested format.
6249         
6250 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6251
6252         * docs/gst/gstreamer-sections.txt:
6253         Add gst_query_new_seeking and gst_query_parse_seeking to the
6254         docs.
6255
6256 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
6257
6258         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
6259           Treat a pad alloc with new caps the same as if we were not
6260           negotiated, in order to allow a changing upstream output
6261           to produce a new format of data.
6262
6263 2005-11-29  Edward Hervey  <edward@fluendo.com>
6264
6265         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
6266         (gst_base_transform_event), (gst_base_transform_eventfunc):
6267         The event virtual method is now properly implemented, with a default
6268         handler
6269         Sub classes should call the parent_class event method. They should
6270         return FALSE if they had a problem handling the given event, or don't
6271         want GstBaseTransform to send that even downstream
6272         * gst/elements/gstidentity.c: (gst_identity_class_init),
6273         (gst_identity_init), (gst_identity_event),
6274         (gst_identity_transform_ip), (gst_identity_set_property),
6275         (gst_identity_get_property):
6276         * gst/elements/gstidentity.h:
6277         Added the single-segment boolean property.
6278         If set to TRUE, it will output a single segment of data, starting from
6279         0, will eat up all incoming newsegment, and modify the timestamp of the
6280         buffers accordingly
6281
6282 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
6283
6284         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
6285           Don't ref NULL target pad (#322751). Improve docs.
6286
6287 2005-11-29  Michael Smith  <msmith@fluendo.com>
6288
6289         * gst/gstregistryxml.c: (load_plugin):
6290           Don't crash if we failed to load a feature from a plugin. 
6291
6292 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6293
6294         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
6295         (GST_START_TEST):
6296           use more check API and less GLib API
6297
6298 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6299
6300         * Makefile.am:
6301           don't run checks if we don't have check
6302         * common/check.mak:
6303           remove the registry when running make torture
6304         * docs/gst/gstreamer-sections.txt:
6305           remove second multiply
6306         * gst/gstqueue.c: (gst_queue_loop):
6307           fix a compile warning when disabling debug
6308
6309 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6310
6311         * gst/gstinfo.h:
6312         Hey! Let's print the pad name if the pointer != NULL instead
6313         of when it == NULL :-)
6314
6315 2005-11-28  Wim Taymans  <wim@fluendo.com>
6316
6317         * check/gst/gstutils.c: (GST_START_TEST):
6318         Updated check, add some scaling accuracy checking code.
6319
6320         * gst/gstutils.c: (gst_util_div128_64),
6321         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
6322         (gst_util_uint64_scale_int):
6323         Fix 6 times faster division code. Optimize for common 
6324         1/1 and less common X/1 cases.
6325
6326 2005-11-28  Wim Taymans  <wim@fluendo.com>
6327
6328         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6329         More checks.
6330
6331         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
6332         (do_linear_regression), (gst_clock_add_observation):
6333         Cleanups.
6334         Release lock when the clock cannot be slaved.
6335         Catch the case where the regression returned an invalid denominator.
6336
6337         * gst/gstutils.c: (gst_util_div128_64_iterate),
6338         (gst_util_div128_64), (gst_util_uint64_scale_int64),
6339         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6340         Add protentially more performant non-iterative 128/64 divide function
6341         that unfortunatly does not work yet.
6342         Shortcut the trivial 0/X = 0 case.
6343         Remove the warnings on overflow.
6344
6345 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6346
6347         * gst/gstplugin.c: (gst_plugin_register_func):
6348           everything causing a plugin not to load should be at least a WARNING
6349
6350 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
6351
6352         * docs/random/ensonic/dparams.txt:
6353           some TODOs for the next dev cycle
6354         * libs/gst/controller/gstcontroller.c:
6355         (gst_controlled_property_set_interpolation_mode),
6356         (gst_controlled_property_new):
6357         * libs/gst/controller/gstcontroller.h:
6358           use base type to assign acccessor functions
6359
6360 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6361
6362         * check/Makefile.am:
6363         Oops, that should have been top_srcdir
6364
6365 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
6366
6367         * check/Makefile.am:
6368         * check/elements/fdsrc.c: (GST_START_TEST):
6369         Use a cmdline define to specify the location of a file to use for
6370         testing, to avoid breaking distcheck.
6371
6372 2005-11-28  Andy Wingo  <wingo@pobox.com>
6373
6374         * gst/gstpad.c (fixate_value): Use array functions for arrays.
6375
6376 2005-11-28  Edward Hervey  <edward@fluendo.com>
6377
6378         * tools/gst-launch.c: (main):
6379         Clarify the output strings, makes it easier to translate.
6380         Fixes #322626
6381
6382 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6383
6384         * gst/Makefile.am:
6385           don't try and build net if we don't even have <sys/socket.h>
6386
6387 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
6388
6389         * check/Makefile.am:
6390         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
6391         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
6392           Add tests for fdsrc seekability
6393
6394         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
6395         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
6396         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
6397         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
6398         * gst/elements/gstfdsrc.h:
6399           fdsrc should not be a 'live' source.
6400           Implement seeking on seekable fd's.
6401
6402         * gst/gstquery.c: (gst_query_new_seeking),
6403         (gst_query_parse_seeking):
6404         * gst/gstquery.h:
6405           Implement SEEKING query functions: 
6406             *_new_seeking and *_parse_seeking
6407
6408 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
6409
6410         * gst/gstelement.c: (gst_element_dispose):
6411           don't loop forever
6412
6413         * gst/gstiterator.c:
6414         * gst/gststructure.c:
6415           doc fixes
6416
6417         * libs/gst/controller/gstcontroller.c:
6418         (gst_controlled_property_set_interpolation_mode):
6419         * libs/gst/controller/gstcontroller.h:
6420         * libs/gst/controller/gstinterpolation.c:
6421         (interpolate_none_get_enum_value_array):
6422           support controlling enums
6423
6424 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6425
6426         * gst/gstvalue.c:
6427           Improve documentation for gst_value_union().
6428
6429         * gst/gstvalue.h:
6430           Change return value for union, intersect and subtract functions
6431           from gint to gboolean.
6432
6433 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
6434
6435         * gst/gstvalue.c: (gst_value_serialize_any_list),
6436         (gst_value_transform_any_list_string),
6437         (gst_value_deserialize_list), (gst_value_deserialize_array),
6438         (gst_value_set_int_range), (gst_value_deserialize_int_range),
6439         (gst_value_set_double_range), (gst_value_deserialize_double_range),
6440         (gst_value_set_fraction_range_full),
6441         (gst_value_deserialize_fraction_range),
6442         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
6443         (gst_value_deserialize_boolean),
6444         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
6445         (gst_value_serialize_float), (gst_value_deserialize_float),
6446         (gst_string_wrap), (gst_value_deserialize_string),
6447         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
6448         (gst_value_union_int_range_int_range),
6449         (gst_value_intersect_int_range_int_range),
6450         (gst_value_intersect_double_range_double_range),
6451         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
6452         (gst_value_subtract_int_range_int_range),
6453         (gst_value_subtract_double_double_range),
6454         (gst_value_subtract_double_range_double_range),
6455         (gst_value_deserialize_fraction):
6456         * gst/gstvalue.h:
6457           Use gint, gdouble and gchar in our API instead of int, double and
6458           char (and make usage in gstvalue.c more consistent).
6459
6460 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6461
6462         * check/Makefile.am:
6463         * libs/gst/controller/Makefile.am:
6464         * libs/gst/dataprotocol/Makefile.am:
6465           fix up Makefile.am and remove GST_ENABLE_NEW
6466
6467 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6468
6469         * configure.ac:
6470         * gst/Makefile.am:
6471         * gst/base/Makefile.am:
6472         * gst/check/Makefile.am:
6473         * gst/elements/Makefile.am:
6474         * gst/net/Makefile.am:
6475           update LDFLAGS use some more
6476
6477 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
6478
6479         * common/m4/gst-doc.m4:
6480           Fixes #312589
6481
6482 2005-11-26  Edward Hervey  <edward@fluendo.com>
6483
6484         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6485         This shouldn't issue a g_warning since it returns NULL if it
6486         couldn't find the plugin, and all functions using this behave
6487         properly on a NULL return. Switching to a GST_WARNING.
6488
6489 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
6490
6491         * gst/gstbin.c: (gst_bin_handle_message_func):
6492         Don't leak clock messages.
6493
6494 2005-11-25  Wim Taymans  <wim@fluendo.com>
6495
6496         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6497         (gst_util_uint64_scale_int):
6498         Optimisations, remove unneeded vars.
6499
6500 2005-11-25  Wim Taymans  <wim@fluendo.com>
6501
6502         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6503         Added more checks for the high precision uint64 cases.
6504
6505         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6506         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6507         Implement high precision (guint64 * guint64) / guint64.
6508
6509 2005-11-24  Wim Taymans  <wim@fluendo.com>
6510
6511         * gst/base/gstbasesrc.c: (gst_base_src_query):
6512         Fix wrong percentage query.
6513
6514         * gst/gstutils.c: (gst_util_uint64_scale),
6515         (gst_util_uint64_scale_int):
6516         Add some more common cases that can be handled 
6517         efficiently to _scale.
6518
6519 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6520
6521         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6522         (gst_mini_object_suite):
6523           don't use check calls from threads; check probably isn't
6524           threadsafe and using a lock to make it threadsafe would
6525           defeat the purpose of this check
6526         * gst/check/gstcheck.c:
6527         * gst/check/gstcheck.h:
6528           use GST_DEBUG some more
6529
6530 2005-11-24  Wim Taymans  <wim@fluendo.com>
6531
6532         * gst/gstutils.c: (gst_util_uint64_scale),
6533         (gst_util_uint64_scale_int):
6534         Chain trivial case to _scale_int.
6535
6536 2005-11-24  Wim Taymans  <wim@fluendo.com>
6537
6538         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6539         Added test for scaling.
6540
6541         * gst/gstclock.h:
6542         Small doc fix.
6543
6544         * gst/gstutils.c: (gst_util_uint64_scale_int):
6545         Implemented high precision scaling code.
6546
6547 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6548
6549         * gst/gstinfo.h:
6550           do not crash on pad==NULL
6551
6552 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6553
6554         Patch by: Stefan Kost
6555
6556         * common/gtk-doc.mak:
6557         * docs/gst/Makefile.am:
6558         * docs/libs/Makefile.am:
6559           Fix distcheck issues for the libraries docs build
6560           Closes #319599.
6561
6562 2005-11-24  Michael Smith <msmith@fluendo.com>
6563
6564         * docs/manual/basics-helloworld.xml:
6565           Fix bug #315027: memory leak in example code in docs.
6566
6567 2005-11-24  Michael Smith <msmith@fluendo.com>
6568
6569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6570           Unlock the PREROLL_LOCK in a failure case.
6571
6572 2005-11-24  Wim Taymans  <wim@fluendo.com>
6573
6574         * docs/gst/gstreamer-sections.txt:
6575         * gst/base/gstadapter.h:
6576         * gst/base/gstbasesink.h:
6577         * gst/base/gstbasesrc.h:
6578         * gst/base/gstbasetransform.h:
6579         * gst/base/gstpushsrc.h:
6580         * gst/elements/gstfakesink.h:
6581         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6582         * gst/elements/gstfakesrc.h:
6583         * gst/elements/gstfilesink.h:
6584         * gst/elements/gstfilesrc.h:
6585         * gst/gst.c:
6586         * gst/gstbin.c:
6587         * gst/gstbuffer.c: (_gst_buffer_copy):
6588         * gst/gstbus.h:
6589         * gst/gstcaps.c:
6590         * gst/gstchildproxy.c:
6591         * gst/gstclock.c:
6592         * gst/gstelement.c:
6593         * gst/gstelementfactory.c:
6594         * gst/gstelementfactory.h:
6595         * gst/gstevent.c:
6596         * gst/gstghostpad.h:
6597         * gst/gstindex.h:
6598         * gst/gstinterface.h:
6599         * gst/gstminiobject.c:
6600         * gst/gstminiobject.h:
6601         * gst/gstpad.c:
6602         * gst/gstpad.h:
6603         * gst/gstpadtemplate.h:
6604         * gst/gstpipeline.h:
6605         * gst/gstpluginfeature.h:
6606         * gst/gstquery.h:
6607         * gst/gstqueue.h:
6608         * gst/gsttaglist.c:
6609         * gst/gsttaglist.h:
6610         * gst/gsttagsetter.c:
6611         * gst/gsttagsetter.h:
6612         * gst/gsttrace.c:
6613         * gst/gsttrace.h:
6614         * gst/gsttypefind.h:
6615         * gst/gsturi.h:
6616         * gst/gstvalue.c:
6617         * gst/net/gstnetclientclock.c:
6618         * gst/net/gstnetclientclock.h:
6619         * gst/net/gstnettimepacket.c:
6620         * gst/net/gstnettimeprovider.c:
6621         * gst/net/gstnettimeprovider.h:
6622         Doc fixes.
6623
6624 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6625
6626         * configure.ac: back to HEAD
6627
6628 === release 0.9.6 ===
6629
6630 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6631
6632         * configure.ac:
6633           releasing 0.9.6, "Always On Time"
6634
6635 2005-11-23  Wim Taymans  <wim@fluendo.com>
6636
6637         * docs/gst/gstreamer-sections.txt:
6638         * gst/glib-compat.c:
6639         * gst/gsttagsetter.c:
6640         * gst/gstvalue.c:
6641         * gst/net/gstnetclientclock.c:
6642         * gst/net/gstnettimepacket.h:
6643         Doc updates.
6644
6645 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6646
6647         * docs/faq/using.xml:
6648         * docs/libs/tmpl/gstcontrol.sgml:
6649         * docs/manual/advanced-dparams.xml:
6650         * docs/manual/appendix-checklist.xml:
6651         * docs/manual/basics-elements.xml:
6652         * docs/pwg/other-source.xml:
6653         * docs/random/moving-plugins:
6654         * gst/gstpad.c:
6655         * tools/gst-launch.1.in:
6656           remove mentions of sinesrc
6657
6658 2005-11-23  Michael Smith <msmith@fluendo.com>
6659
6660         * docs/gst/gstreamer-sections.txt:
6661           Update for new API and API changes.
6662         * gst/gstobject.h:
6663           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6664         * gst/gstvalue.c:
6665           Documentation typo fix.
6666         * gst/net/gstnettimepacket.c:
6667           Documentation fixes for arguments.
6668
6669 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6670
6671         * gst/gststructure.c: (gst_structure_get_fraction),
6672         (gst_structure_parse_value),
6673         (gst_structure_fixate_field_nearest_fraction):
6674         * gst/gststructure.h:
6675         * gst/gstutils.c: (gst_util_uint64_scale_int):
6676         * gst/gstutils.h:
6677         * scripts/update-funcnames:
6678         API Changes. 
6679         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6680         Make gst_structure_fixate_field_nearest_fraction take a numerator
6681         and denominator argument instead of a GValue
6682         add gst_structure_get_fraction helper function.
6683
6684 2005-11-23  Wim Taymans  <wim@fluendo.com>
6685
6686         * docs/design/part-TODO.txt:
6687         Update TODO.
6688
6689         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6690         * gst/net/gstnetclientclock.h:
6691         Use parent fields for timeout and window_size.
6692
6693 2005-11-23  Andy Wingo  <wingo@pobox.com>
6694
6695         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6696         rate_num/rate_denom change.
6697
6698         * gst/net/gstnetclientclock.c
6699         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6700         OBJECT_LOCK. Don't call add_observation with the lock.
6701
6702         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6703         fraction.
6704         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6705         rate fraction.
6706         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6707         deal with rate as a fraction whose numerator and denominator are
6708         GstClockTime values.
6709         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6710         master; the other fields are protected by the SLAVE_LOCK.
6711         (do_linear_regression): Note that this must be called with the
6712         SLAVE_LOCK.
6713         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6714         OBJECT_LOCK. Call set_calibration instead of touching the
6715         variables directly.
6716         (gst_clock_set_property, gst_clock_get_property): Protect
6717         master/slave parameters with the SLAVE_LOCK.
6718
6719         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6720         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6721         note that all of the instance variables that add_observation and
6722         the set_master functions use are protected by that lock and not
6723         the OBJECT_LOCK.
6724         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6725
6726         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6727         the caller to take the object lock.
6728
6729 2005-11-23  Wim Taymans  <wim@fluendo.com>
6730
6731         * gst/gsterror.c: (_gst_core_errors_init):
6732         * gst/gsterror.h:
6733         Add error for clock stuff.
6734
6735         * gst/gstpipeline.c: (gst_pipeline_change_state),
6736         (gst_pipeline_set_clock):
6737         Post clock error when clock cannot be used in a pipeline.
6738
6739 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6740
6741         * docs/gst/gstreamer-sections.txt:
6742           make two symbols from gstinfo private for the docs
6743         * gst/base/gstcollectpads.h:
6744         * gst/gstutils.c:
6745           fix doc typos, update docs
6746
6747 2005-11-22  Wim Taymans  <wim@fluendo.com>
6748
6749         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6750         (gst_base_sink_wait), (gst_base_sink_do_sync),
6751         (gst_base_sink_handle_event):
6752         * gst/base/gstbasesink.h:
6753         No need to store the clock, the parent element class already
6754         has it.
6755
6756         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6757         Updates for clock_set returning a gboolean
6758
6759         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6760         (gst_clock_id_wait_async), (gst_clock_class_init),
6761         (gst_clock_init), (gst_clock_finalize),
6762         (gst_clock_get_internal_time), (gst_clock_get_time),
6763         (gst_clock_slave_callback), (gst_clock_set_master),
6764         (gst_clock_get_master), (do_linear_regression),
6765         (gst_clock_add_observation), (gst_clock_set_property),
6766         (gst_clock_get_property):
6767         * gst/gstclock.h:
6768         Implement master/slave. When setting a clock as a slave, a
6769         periodic timeout is scheduled to sample master and slave times.
6770         Then the slave clock is recalibrated to match offset and rate
6771         of the master clock.
6772         Update logging a bit.
6773         Add flag so that a clock can state that is cannot be slaved to
6774         another clock.
6775
6776         * gst/gstelement.c: (gst_element_set_clock):
6777         * gst/gstelement.h:
6778         The set clock returns a gboolean for when an element cannot
6779         deal with the selected clock in the pipeline. 
6780
6781         * gst/gstpipeline.c: (gst_pipeline_change_state),
6782         (gst_pipeline_set_clock):
6783         * gst/gstpipeline.h:
6784         Handle the case where the selected clock cannot be set on
6785         the pipeline.
6786
6787         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6788         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6789         (gst_net_client_clock_set_property),
6790         (gst_net_client_clock_get_property),
6791         (gst_net_client_clock_observe_times):
6792         * gst/net/gstnetclientclock.h:
6793         Use regression code in GstClock parent, remove duplicated
6794         functionality.
6795
6796 2005-11-22  Michael Smith <msmith@fluendo.com>
6797
6798         * gst/gstutils.c: (gst_util_clock_time_scale):
6799         * gst/gstutils.h:
6800         * docs/gst/gstreamer-sections.txt:
6801           Rename method to have extra underscore.
6802
6803 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6804
6805         * gst/elements/Makefile.am:
6806         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6807         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6808         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6809         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6810         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6811         * gst/elements/gstfakesrc.h:
6812         * gst/gstqueue.c: (queue_leaky_get_type):
6813           correctly fix GEnumValues so that nick is the short lowercase
6814           dashed tag
6815         * tools/gst-inspect.c: (print_element_properties_info):
6816           also show the nick, since it's useful to use from parse_launch
6817           syntax
6818           Fixes #322139
6819
6820 2005-11-22  Michael Smith <msmith@fluendo.com>
6821
6822         * gst/gstutils.c: (gst_util_clocktime_scale):
6823         * gst/gstutils.h:
6824         * docs/gst/gstreamer-sections.txt:
6825           Add util method for scaling a clocktime by a fraction. Useful 
6826           implementation is left as an exercise for the reader.
6827
6828 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6829
6830         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6831         If needed, allocate storage in the destination value during
6832         collection.
6833
6834 2005-11-22  Edward Hervey  <edward@fluendo.com>
6835
6836         * docs/gst/gstreamer-sections.txt:
6837         * gst/Makefile.am:
6838         * gst/gst.h:
6839         * gst/gsturitype.c:
6840         * gst/gsturitype.h:
6841         * gst/gstutils.c: (gst_util_set_object_arg):
6842         * tools/gst-compprep.c: (main):
6843         * tools/gst-inspect.c: (print_element_properties_info):
6844         Removed GstURI, closes bug #321061
6845
6846 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6847
6848         * check/gst/gststructure.c: (GST_START_TEST):
6849         * gst/gststructure.c: (gst_structure_parse_value):
6850           Oops, broke automatic string type parsing.
6851           Add a test to catch it in future.
6852
6853 2005-11-22  Andy Wingo  <wingo@pobox.com>
6854
6855         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6856         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6857         Actually rename the function implementations. Grr.
6858
6859 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6860
6861         * check/gst/capslist.h:
6862           Comment test cases
6863         * check/gst/gststructure.c: (GST_START_TEST),
6864         (gst_structure_suite):
6865           Test automatic value type detection in gst_structure_from_string.
6866         * gst/gststructure.c: (gst_structure_parse_value):
6867           Add fraction as a type we try and guess automatically in
6868           caps/structure strings.
6869
6870 2005-11-22  Andy Wingo  <wingo@pobox.com>
6871
6872         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6873
6874         * gst/gsttagsetter.h:
6875         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6876         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6877         (gst_tag_setter_add_tag_valist)
6878         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6879         _add_values, _add_valist, and _add_valist_values. Since this is an
6880         interface the function suffixes should be more explicit so
6881         language binding don't end up with element.add_valist ->
6882         gst_tag_setter_add_valist, for example. Fixes #322069.
6883
6884 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6885
6886         * check/gst/gstcaps.c: (GST_START_TEST):
6887           Extend caps string tests to check that a caps to string
6888           conversion is reversible and produces the same caps.
6889
6890         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6891           Output "fraction" as the generic type fraction range, so caps
6892           serialisation and deserialisation works.
6893         * check/gst/capslist.h:
6894         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6895           Support 'MIN' and 'MAX' for deserialising fractions.
6896
6897 2005-11-22  Andy Wingo  <wingo@pobox.com>
6898
6899         * gst/gstevent.h (gst_event_new_new_segment)
6900         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6901         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6902         Renamed from *_newsegment, *_buffersize, *_notarget.
6903
6904         * scripts/update-funcnames: New script, performs the changes
6905         listed above.
6906
6907 2005-11-22  Wim Taymans  <wim@fluendo.com>
6908
6909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6910         Make sure the GstFlowReturn is returned.
6911
6912         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6913         (gst_bus_add_signal_watch):
6914         * gst/gstbus.h:
6915         add gst_bus_add_signal_watch_full.
6916
6917         * gst/gstplugin.c: (gst_plugin_load_file):
6918         Small style cleanup.
6919
6920 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6921
6922         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6923           Block the fakesrc srcpad when we send an event, to avoid
6924           contention on the stream_lock causing random test failures.
6925
6926 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6927
6928         * check/gst/gstvalue.c: (GST_START_TEST):
6929         * gst/gstvalue.c: (gst_value_fraction_subtract):
6930           Fix subtraction.
6931
6932 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6933
6934         * gst/gst.h:
6935           include "gstchildproxy.h"
6936         * gst/gstchildproxy.h:
6937         * libs/gst/controller/gstcontroller.h:
6938           use G_GNUC_NULL_TERMINATED
6939
6940 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6941
6942         * check/gst/capslist.h:
6943         * check/gst/gstcaps.c: (GST_START_TEST):
6944         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6945         * gst/gststructure.c: (gst_structure_parse_range),
6946         (gst_structure_fixate_field_nearest_fraction):
6947         * gst/gststructure.h:
6948         * gst/gstvalue.c: (gst_value_init_fraction_range),
6949         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6950         (gst_value_collect_fraction_range),
6951         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6952         (gst_value_set_fraction_range_full),
6953         (gst_value_get_fraction_range_min),
6954         (gst_value_get_fraction_range_max),
6955         (gst_value_serialize_fraction_range),
6956         (gst_value_transform_fraction_range_string),
6957         (gst_value_compare_fraction_range),
6958         (gst_value_deserialize_fraction_range),
6959         (gst_value_intersect_fraction_fraction_range),
6960         (gst_value_intersect_fraction_range_fraction_range),
6961         (gst_value_subtract_fraction_fraction_range),
6962         (gst_value_subtract_fraction_range_fraction),
6963         (gst_value_subtract_fraction_range_fraction_range),
6964         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6965         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6966         (gst_value_transform_string_fraction), (_gst_value_initialize):
6967         * gst/gstvalue.h:
6968           Implement fraction ranges and extend GstFraction to support
6969           arithmetic subtraction, as well as deserialization from integer
6970           strings such as "100"
6971           Add a testsuite as for int and double range set operations
6972
6973 2005-11-21  Andy Wingo  <wingo@pobox.com>
6974
6975         * gst/gsttaglist.h: 
6976         * gst/gstcaps.h: 
6977         * gst/gststructure.h: Add glib-compat.h.
6978
6979 2005-11-21  Wim Taymans  <wim@fluendo.com>
6980
6981         * gst/gstbin.c: (gst_bin_change_state_func):
6982         Fix for #321595
6983
6984 2005-11-21  Wim Taymans  <wim@fluendo.com>
6985
6986         * gst/gstsegment.h:
6987         And add a nice define too.
6988
6989 2005-11-21  Wim Taymans  <wim@fluendo.com>
6990
6991         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6992         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6993         (gst_segment_set_duration), (gst_segment_set_last_stop),
6994         (gst_segment_set_seek), (gst_segment_set_newsegment),
6995         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6996         (gst_segment_clip):
6997         * gst/gstsegment.h:
6998         Make binding friendly.
6999
7000 2005-11-21  Andy Wingo  <wingo@pobox.com>
7001
7002         * gst/gsttagsetter.h: 
7003         * gst/gsttaglist.h: 
7004         * gst/gststructure.h: 
7005         * gst/gstcaps.h: 
7006         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
7007         #319940.
7008
7009         * gst/gsterror.c (_gst_core_errors_init):
7010         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
7011         category.
7012
7013         * gst/Makefile.am (gst_headers): Add glib-compat.h.
7014         (noinst_HEADERS): noinst the -private.
7015
7016 2005-11-21  Michael Smith <msmith@fluendo.com>
7017
7018         * gst/gstplugin.h:
7019         * gst/gstregistry.h:
7020           Remove unimplemented declarations for which we can see no sensible
7021           use.
7022
7023 2005-11-21  Andy Wingo  <wingo@pobox.com>
7024
7025         * gst/gst.h: Include glib-compat.h.
7026
7027         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
7028
7029         * gst/glib-compat.c: Include the public and the private header.
7030
7031         * gst/glib-compat-private.h: Copied here from glib-compat.h.
7032
7033         * gst/gstvalue.c: 
7034         * gst/gstpad.c: 
7035         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
7036
7037         * check/gst/gstevent.c (create_custom_events): Check that
7038         FLUSH_STOP is serialized.
7039
7040         * check/elements/identity.c (event_func): 
7041         * check/elements/fakesrc.c (event_func): No stream lock, the core
7042         takes it.
7043
7044         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
7045         stream lock taking, yay.
7046
7047         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
7048         ensure that core takes the stream lock.
7049
7050         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
7051         lock name change.
7052
7053         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
7054         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
7055         it already. For the flush start we do take it though so we get the
7056         right preroll state change messages.
7057
7058         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
7059         the stream lock here, the core does it for us.
7060
7061         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
7062         GST_STREAM_GET_LOCK.
7063         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
7064         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
7065         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
7066         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
7067         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
7068         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
7069
7070         * gst/gstpad.c: Update for stream lock name change.
7071
7072         * gst/base/gstbasesink.c: Update for preroll lock name change.
7073
7074 2005-11-21  Wim Taymans  <wim@fluendo.com>
7075
7076         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
7077         (gst_clock_get_master):
7078         * gst/gstclock.h:
7079         * gst/gstsystemclock.c: (gst_system_clock_init):
7080         Convert Clock flags to object flags.
7081         Added methods to manage master/slave clocks.
7082
7083 2005-11-21  Wim Taymans  <wim@fluendo.com>
7084
7085         * check/gst/gstsegment.c: (GST_START_TEST):
7086         * docs/design/part-TODO.txt:
7087         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7088         (gst_base_sink_event), (gst_base_sink_do_sync),
7089         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
7090         (gst_base_sink_query), (gst_base_sink_change_state):
7091         * gst/base/gstbasesink.h:
7092         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7093         (gst_base_src_default_newsegment),
7094         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7095         (gst_base_src_get_range), (gst_base_src_loop),
7096         (gst_base_src_change_state):
7097         * gst/base/gstbasesrc.h:
7098         * gst/base/gstbasetransform.c:
7099         (gst_base_transform_prepare_output_buf),
7100         (gst_base_transform_event), (gst_base_transform_change_state):
7101         * gst/base/gstbasetransform.h:
7102         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7103         (gst_collect_pads_event):
7104         * gst/base/gstcollectpads.h:
7105         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
7106         (gst_fake_src_create):
7107         * gst/elements/gstfakesrc.h:
7108         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7109         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7110         (gst_segment_set_last_stop), (gst_segment_set_seek),
7111         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7112         (gst_segment_to_running_time), (gst_segment_clip):
7113         * gst/gstsegment.h:
7114         More segment updates, replace code in plugins with segment
7115         helper functions.
7116
7117 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7118
7119         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
7120         Don't ignore sscanf results
7121
7122 2005-11-21  Andy Wingo  <wingo@pobox.com>
7123
7124         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
7125
7126         * *.h:
7127         * *.c: Ran scripts/update-macros. Oh yes.
7128
7129         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
7130         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
7131         GST_GET_LOCK, etc.
7132
7133         * scripts/update-macros: New script. Run it on your files to
7134         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
7135         well.
7136
7137 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7138
7139         * docs/gst/Makefile.am:
7140         * docs/gst/gstreamer-docs.sgml:
7141         * docs/gst/gstreamer-sections.txt:
7142         * docs/gst/gstreamer.types:
7143         * gst/gstinfo.h:
7144           more docs fixes, add new api to the docs
7145
7146 2005-11-21  Andy Wingo  <wingo@pobox.com>
7147
7148         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
7149         state_broadcast call.
7150
7151         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
7152
7153 2005-11-21  Julien MOUTTE  <julien@moutte.net>
7154
7155         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
7156         function calls for arrays.
7157
7158 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
7159
7160         * docs/random/ensonic/media-device-daemon.txt:
7161           wild idea, can this be done?
7162         * docs/gst/gstreamer-sections.txt:
7163         * gst/gsterror.h:
7164         * gst/gstfilter.c:
7165         * gst/gstfilter.h:
7166         * gst/gstplugin.h:
7167         * gst/gstpluginfeature.c:
7168         * gst/gsttrace.c:
7169         * gst/gstvalue.c:
7170         * gst/gstvalue.h:
7171           doc fixes and additions
7172
7173 2005-11-21  Andy Wingo  <wingo@pobox.com>
7174
7175         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
7176         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
7177         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
7178         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
7179         private to the basesrc implementation.
7180
7181         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
7182         behalf of event function if necessary. It should no longer be
7183         necessary to take the stream lock in pad's event functions. Fixes
7184         #320299.
7185
7186 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7187         * docs/gst/gstreamer-sections.txt:
7188         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
7189         (gst_structure_fixate_field_nearest_double),
7190         (gst_structure_fixate_field_boolean):
7191         * gst/gststructure.h:
7192         * win32/common/libgstreamer.def:
7193         * win32/gstreamer.def:
7194
7195         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
7196         (#322027)
7197
7198 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
7199
7200         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
7201         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
7202         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
7203         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
7204         (gst_fdsrc_uri_handler_init):
7205         * gst/elements/gstfdsrc.h:
7206           Port fd:// URI handler from 0.8 to fdsrc
7207
7208 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7209
7210         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
7211         (gst_value_serialize_fourcc):
7212         * gst/gstvalue.h:
7213           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
7214           consistent with our other format defines (#320324).
7215
7216 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7217
7218         * gst/gstvalue.c: (gst_value_is_fixed):
7219           Revert previous commit. Value lists are by definition
7220           not fixed, as they are a list of possible values.
7221
7222 2005-11-21  Andy Wingo  <wingo@pobox.com>
7223
7224         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
7225         during the stable series if we need it. Fixes #319178.
7226
7227         * gst/gstevent.c (gst_event_new_filler): Removed.
7228
7229         * check/gst/gstevent.c: Update comment about filler events.
7230
7231 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7232
7233         * gst/gstvalue.c: (gst_value_is_fixed):
7234           Should handle both value arrays and value lists.
7235
7236 2005-11-21  Andy Wingo  <wingo@pobox.com>
7237
7238         patch by: Alessandro Dessina <alessandro nnva org>
7239
7240         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
7241         functions to access arrays. Fixes #321962.
7242
7243 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7244
7245         * docs/gst/gstreamer.types:
7246           gst_collectpads_get_type => gst_collect_pads_get_type.
7247           
7248         * gst/base/gstbasetransform.c:
7249           Remove unused SIGNAL_HANDOFF enum.
7250
7251 2005-11-21  Andy Wingo  <wingo@pobox.com>
7252
7253         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
7254         the event type (upstream, downstream, serialized). Renamed
7255         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
7256         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
7257         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
7258
7259         * gst/gstevent.c: Update for new CUSTOM event names.
7260
7261         * check/gst/gstevent.c: Update check for new CUSTOM event names.
7262
7263         * gst/gstevent.h:
7264         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
7265         bug #319392.
7266
7267 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7268
7269         * docs/gst/gstreamer-sections.txt:
7270         * win32/common/libgstbase.def:
7271         * win32/libgstbase.def:
7272         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7273         (gst_collect_pads_class_init), (gst_collect_pads_init),
7274         (gst_collect_pads_finalize), (gst_collect_pads_new),
7275         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
7276         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
7277         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
7278         (gst_collect_pads_start), (gst_collect_pads_stop),
7279         (gst_collect_pads_peek), (gst_collect_pads_pop),
7280         (gst_collect_pads_available), (gst_collect_pads_read),
7281         (gst_collect_pads_flush), (gst_collect_pads_event),
7282         (gst_collect_pads_chain):
7283         * gst/base/gstcollectpads.h:
7284           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
7285           unimplemented functions as unimplemented. Add padding to
7286           GstCollectData. (#320766, #320423)
7287
7288 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
7289
7290         * gst/gstmessage.c:
7291           Improve docs for DURATION message (usage of duration parameter)
7292           (#320113)
7293
7294 2005-11-20  Wim Taymans  <wim@fluendo.com>
7295
7296         * check/Makefile.am:
7297         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
7298         (main):
7299         * gst/Makefile.am:
7300         * gst/gst.h:
7301         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
7302         (gst_segment_set_seek), (gst_segment_set_newsegment),
7303         (gst_segment_to_stream_time), (gst_segment_to_running_time),
7304         (gst_segment_clip):
7305         * gst/gstsegment.h:
7306         Added segment helper structure and methods. Not fully implemented
7307         yet.
7308         Added segment check.
7309
7310 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
7311
7312         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
7313           Add a deserialisation test for fractions
7314         * examples/metadata/read-metadata.c: (message_loop),
7315         (make_pipeline), (main):
7316           Fix up metadata reading sample.
7317         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7318           Debug format fix
7319         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7320           Don't try and fixate empty caps
7321         * gst/gst_private.h:
7322           Wrap in G_BEGIN_DECLS/G_END_DECLS
7323         * gst/gstvalue.c: (gst_value_collect_fraction),
7324         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
7325         (gst_value_transform_string_fraction),
7326         (gst_value_compare_fraction):
7327           Add some extra guards to ensure that we don't end up 
7328           with an invalid denominator of 0 in a gstfraction and
7329           that fractions always get reduced.
7330
7331 2005-11-20  Wim Taymans  <wim@fluendo.com>
7332
7333         * docs/gst/gstreamer-sections.txt:
7334         * gst/gstbuffer.h:
7335         * gst/gstelement.c:
7336         * gst/gstformat.c:
7337         * gst/gstformat.h:
7338         * gst/gstindex.h:
7339         * gst/gstquery.c:
7340         * gst/gstquery.h:
7341         * gst/gstvalue.c:
7342         Doc fixes.
7343
7344 2005-11-20  Wim Taymans  <wim@fluendo.com>
7345
7346         * docs/design/part-TODO.txt:
7347         * gst/gstcaps.h:
7348         Make a proper enum of the flag.
7349
7350 2005-11-19  Wim Taymans  <wim@fluendo.com>
7351
7352         * docs/design/part-TODO.txt:
7353         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
7354         (gst_format_to_quark), (gst_format_register):
7355         * gst/gstformat.h:
7356         * gst/gstquery.c: (_gst_query_initialize),
7357         (gst_query_type_get_name), (gst_query_type_to_quark),
7358         (gst_query_type_register):
7359         * gst/gstquery.h:
7360         Add type to quark and type to string conversions.
7361
7362 2005-11-19  Andy Wingo  <wingo@pobox.com>
7363
7364         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
7365         #320097.
7366
7367 2005-11-19  Wim Taymans  <wim@fluendo.com>
7368
7369         * docs/design/part-TODO.txt:
7370         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7371         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
7372         (gst_bin_handle_message_func):
7373         * gst/gstbin.h:
7374         Make message handling overridable.
7375
7376 2005-11-19  Andy Wingo  <wingo@pobox.com>
7377
7378         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
7379
7380         * gst/gstclock.h:
7381         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
7382         be a GstClockTime.
7383         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
7384         is a GstClockTime. Fixes #321710.
7385
7386         * gst/gstclock.h (GstClock): Remove offset property. Add
7387         internal_calibration and external_calibration. Fix padding. Pad
7388         also by GstClockTime so we don't run into problems.
7389
7390         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
7391         (gst_clock_get_rate_offset): Remove.
7392         (gst_clock_set_time_adjust): Remove. Fixes #321712.
7393
7394         * gst/gstutils.h:
7395         * gst/gstutils.c (g_static_rec_cond_wait)
7396         (g_static_rec_cond_timed_wait): Removed, no longer needed.
7397
7398         * gst/gstbin.c: Remove terrible continue_state prototype.
7399
7400         * gst/gstelement.h (gst_element_continue_state): Make public.
7401
7402         * gst/gstelement.h:
7403         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
7404         by continue_state. Fixes #319389.
7405
7406         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
7407         Really fixes #168438. However I don't see anywhere where the
7408         filter function is called... stupid GStreamer...
7409         
7410         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
7411         don't have a dispose function, so it won't get called when the
7412         object is unreffed, but oh well!
7413
7414         * gst/gstindex.c (gst_index_set_filter_full): New API function,
7415         allows a destroy function to be set so user_data can be freed.
7416         Fixes #168438.
7417         (gst_index_set_filter): Call gst_index_set_filter_full.
7418
7419         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
7420
7421         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
7422         string should produce an error, given the lack of a way to
7423         represent NULL strings. Fixes #165650.
7424         
7425         * gst/gstvalue.h: 
7426         * gst/gstvalue.c (gst_value_array_append_value) 
7427         (gst_value_array_prepend_value, gst_value_array_get_size) 
7428         (gst_value_array_get_value): New API, copied from
7429         gst_value_list_*, only operates on arrays.
7430         (gst_value_list_append_value, gst_value_list_prepend_value) 
7431         (gst_value_list_concat, gst_value_list_get_size) 
7432         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
7433
7434         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
7435         init_list, because it works on both.
7436         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
7437         (gst_value_copy_list_or_array): Renamed from copy_list.
7438         (gst_value_free_list_or_array): Renamed from free_list.
7439         (gst_value_collect_list_or_array): Renamed from collect_list.
7440         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
7441         (gst_value_list_or_array_peek_pointer): Renamed from
7442         list_peek_pointer.
7443         (_gst_value_array_value_table, _gst_value_list_value_table):
7444         Update value table functions.
7445         (gst_value_compare_list_or_array): Renamed from compare_list.
7446
7447         * gsttaglist.h: Whoops, foreach function returns void. Also fix
7448         some constness.
7449
7450         * gst/gsttaglist.c:
7451         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
7452         GstTagList*. Fixes #143472.
7453
7454         * gst/gststructure.h: Clarify what the foreach/map functions can
7455         or can't do to their arguments.
7456
7457 2005-11-18  Wim Taymans  <wim@fluendo.com>
7458
7459         * gst/gstclock.c: (gst_clock_set_calibration),
7460         (gst_clock_get_calibration):
7461         Doc and API fixes.
7462         Calibration can be set with internal time equal to current
7463         internal time too.
7464
7465 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7466
7467         * gst/gsterror.c:
7468         * gst/gsterror.h:
7469           document
7470
7471 2005-11-18  Andy Wingo  <wingo@pobox.com>
7472
7473         * configure.ac: 
7474         * pkgconfig/gstreamer-net.pc.in:
7475         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7476         * pkgconfig/Makefile.am: Add net pkgconfig files.
7477
7478 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
7479
7480         * gst/gstcaps.c:
7481         * gst/gstghostpad.c:
7482         * gst/gsttrace.c:
7483         * gst/gstvalue.c:
7484         * gst/gstvalue.h:
7485           docs fixes
7486
7487 2005-11-18  Andy Wingo  <wingo@pobox.com>
7488
7489         * gst/net/gstnetclientclock.c: Turn off debugging.
7490
7491         * check/net/gstnetclientclock.c (test_functioning): Assert that the
7492         times connverge somewhat. Can't make a real test.
7493
7494         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
7495         integer arithmetic. Return the minimum of the domain, which can be
7496         set as "internal" for gst_clock_set_calibration.
7497         (gst_net_client_clock_observe_times): Call _set_calibration.
7498         (gst_net_client_clock_new): Call _set_calibration instead of
7499         rate_offset.
7500
7501         * check/net/gstnetclientclock.c (test_functioning): Use the right
7502         adjustment api.
7503
7504         * gst/gstclock.h:
7505         * gst/gstclock.c (gst_clock_get_calibration) 
7506         (gst_clock_set_calibration): New functions, obsolete the ones I
7507         added yesterday. Doh. Precision issues mean we have to extrapolate
7508         from a point in the more recent past than 1970.
7509         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7510         obsolete.
7511         (gst_clock_adjust_unlocked): Use the right calibration data.
7512
7513 2005-11-18  Edward Hervey  <edward@fluendo.com>
7514
7515         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7516         Also reset the ->current_* values in READY->PAUSED
7517
7518 2005-11-18  Andy Wingo  <wingo@pobox.com>
7519
7520         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7521         Whoops, check the right fd. Also add some debugging.
7522         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7523         (do_linear_regression): Add a crapload of debugging. Subtract off
7524         the minimum values from the input series to discard unneeded bits.
7525         Use only int arithmetic. There is still double arithmetic when
7526         calculating the intercept that needs fixing. Return boolean to
7527         indicate success; FALSE would mean the domain or range is too
7528         great. Still needs fixes.
7529
7530 2005-11-18  Wim Taymans  <wim@fluendo.com>
7531
7532         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7533         For the current position in stream time, we need to subtract
7534         accumulated time.
7535         
7536         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7537         Release lock before calling the callback function of async
7538         entries.
7539
7540 2005-11-18  Andy Wingo  <wingo@pobox.com>
7541
7542         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7543         Port goes all the way to MAXUINT16.
7544
7545         * gst/net/gstnettimeprovider.c: Make the port range the same as
7546         for the kernel: 0 assigns, otherwise ports are less than
7547         MAXUINT16.
7548
7549         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7550         port change.
7551
7552         * check/net/gstnetclientclock.c (test_functioning): Add the start
7553         of another test. 
7554
7555 2005-11-18  Wim Taymans  <wim@fluendo.com>
7556
7557         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7558         (gst_bin_remove_func), (bin_bus_handler):
7559         * gst/gstbin.h:
7560         Removing a clock provider from a bin, triggers a clock lost message
7561         so that a new clock will be selected.
7562         Adding a clock to a bin triggers a clock provider message.
7563         Make sure we reselect a clock when we received a clock lost message.
7564         Keep a reference to the element that provided the clock.
7565
7566 2005-11-18  Andy Wingo  <wingo@pobox.com>
7567
7568         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7569         the clock initially so it produces values around the base time.
7570         (gst_net_client_clock_class_init): Typo fix.
7571         (gst_net_client_clock_thread): Add note on when the socket gets
7572         closed.
7573
7574 2005-11-17  Wim Taymans  <wim@fluendo.com>
7575
7576         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7577         Free remote and local time arrays.
7578
7579 2005-11-17  Wim Taymans  <wim@fluendo.com>
7580
7581         * gst/net/gstnetclientclock.c: (do_linear_regression),
7582         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7583         Fix compilation, uninitialized vars and a forgotten continue.
7584
7585 2005-11-17  Andy Wingo  <wingo@pobox.com>
7586
7587         * check/Makefile.am (check_PROGRAMS): 
7588         * check/net/gstnetclientclock.c: Add a most minimal test for the
7589         net client clock. More to come later.
7590
7591         * gst/net/gstnet.h: 
7592         * gst/net/Makefile.am: Add netclientclock.
7593
7594         * gst/net/gstnetclientclock.h:
7595         * gst/net/gstnetclientclock.c: New files, implement an untested
7596         GstClock that takes its time from a network time provider.
7597         Implements the algorithm in network-clock.scm.
7598
7599         * tests/network-clock.scm (*window-size*): Rename from
7600         *queue-length*.
7601         * tests/network-clock.scm (network-time): 
7602         * tests/network-clock-utils.scm (q-push): Update callers.
7603
7604 2005-11-17  Wim Taymans  <wim@fluendo.com>
7605
7606         * gst/gstbin.c: (gst_bin_provide_clock_func),
7607         (gst_bin_sort_iterator_new):
7608         And unref the child too..
7609
7610 2005-11-17  Wim Taymans  <wim@fluendo.com>
7611
7612         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7613         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7614         Refactor the sort iterator so it can be used while holding the
7615         LOCK too.
7616         Make clock selection select a clock closest to the source.
7617
7618 2005-11-17  Michael Smith <msmith@fluendo.com>
7619
7620         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7621         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7622         * gst/gstclock.h:
7623           Anonymous structs are a gcc (and some other compilers) extension, so
7624           don't use them. Since this is only for ABI-compatibility, and our
7625           API/ABI freeze is over in a few days, this whole thing will only
7626           last a few days, so don't bother trying to think up a meaningful
7627           name for the struct.
7628
7629 2005-11-17  Andy Wingo  <wingo@pobox.com>
7630
7631         * gst/gstclock.h (GstClock): Add rate and offset properties,
7632         preserving ABI stability. Add rate/offset accessors. Will file bug
7633         for the freeze break.
7634
7635         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7636         and offset, trying to keep precision and avoiding
7637         underflow/overflow.
7638         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7639         functions. Make gst_clock_set_time_adjust obsolete.
7640         (gst_clock_set_time_adjust): Note that this function is obsolete.
7641         Will file bug soon.
7642
7643         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7644         greppable by using GST_PADDING-1+1.
7645
7646 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7647
7648         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7649
7650         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7651           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7652
7653         * gst/gstpadtemplate.h:
7654         * gst/gstpluginfeature.h:
7655           Don't use c++ style comments in headers (#321638).
7656
7657 2005-11-16  Andy Wingo  <wingo@pobox.com>
7658
7659         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7660         buffer.
7661
7662         * check/net/gstnettimeprovider.c: Check to see that the time
7663         provider actually provides times. Works, yo!
7664
7665 2005-11-16  Wim Taymans  <wim@fluendo.com>
7666
7667         * check/Makefile.am:
7668         Enable more tests.
7669
7670         * check/elements/fakesrc.c: (GST_START_TEST):
7671         Set element to NULL before disposing it.
7672
7673 2005-11-16  Andy Wingo  <wingo@pobox.com>
7674
7675         * gst/net/Makefile.am:
7676         * gst/net/gstnet.h:
7677         * gst/net/gstnettimeprovider.c: 
7678         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7679         provider, include it from gstnet.h, and add it to the build.
7680
7681         * gst/net/gstnettimepacket.h: 
7682         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7683         sending and receiving.
7684
7685 2005-11-16  Wim Taymans  <wim@fluendo.com>
7686
7687         * check/Makefile.am:
7688         Enable valgrind check.
7689
7690         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7691         (gst_fake_src_alloc_buffer):
7692         Fix memleak.
7693
7694 2005-11-16  Wim Taymans  <wim@fluendo.com>
7695
7696         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7697         Call parent finalize too.
7698
7699 2005-11-16  Wim Taymans  <wim@fluendo.com>
7700
7701         * check/Makefile.am:
7702         Enable valgrind check that should work fine now.
7703
7704         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7705         * gst/gstqueue.c: (gst_queue_init):
7706         Fix memleaks in pad allocation.
7707
7708 2005-11-16  Andy Wingo  <wingo@pobox.com>
7709
7710         * gst/net/Makefile.am:
7711         * gst/net/gstnet.h: New part of core to hold network elements and
7712         objects. Put in core because it exposes API that applications want
7713         to use. The library is named libgstnet-tempname right now because
7714         of the existing libgstnet in gst-plugins-base. Solution is
7715         probably to rename the one in plugins-base; will file a bug for
7716         the freeze break.
7717
7718         * gst/net/gstnettimeprovider.c: 
7719         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7720         get_time call over the network.
7721
7722         * configure.ac: 
7723         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7724
7725         * check/Makefile.am:
7726         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7727         get additions shortly.
7728
7729 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7730
7731         * gst/gstpad.c: (gst_pad_new_from_static_template):
7732         * gst/gstpad.h:
7733           add gst_pad_new_from_static_template functions
7734         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7735         (gst_check_setup_sink_pad):
7736         * gst/elements/gsttee.c: (gst_tee_init):
7737           and use them
7738
7739 2005-11-16  Wim Taymans  <wim@fluendo.com>
7740
7741         * gst/gstpad.c: (gst_pad_pause_task):
7742         Removed warning, it's not really an error either.
7743
7744 2005-11-16  Wim Taymans  <wim@fluendo.com>
7745
7746         * gst/base/gstbasetransform.c:
7747         (gst_base_transform_prepare_output_buf),
7748         (gst_base_transform_event):
7749         Check if the caps are NULL, this can happen if the element
7750         is shutting down and the pad caps are set to NULL.
7751
7752 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7753
7754         * gst/elements/gsttee.c: (gst_tee_init):
7755           fix pad template leak in tee
7756
7757 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7758
7759         * gst/glib-compat.c: (g_value_dup_gst_object):
7760         * gst/glib-compat.h:
7761         * gst/gstpad.c: (gst_pad_set_property):
7762           use gst_object_ref when setting the pad template; this will
7763           trigger the pad template leaks on GLib 2.6 and the slaves
7764
7765 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7766
7767         * gst/glib-compat.c: (gst_flags_get_first_value):
7768         * gst/glib-compat.h:
7769         * gst/gstregistryxml.c:
7770           remove functions copied from GLib 2.6
7771
7772 2005-11-16  Michael Smith <msmith@fluendo.com>
7773
7774         * gst/Makefile.am:
7775           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7776           do, but only breaks with newer valgrind versions. We're not a
7777           valgrind tool, we have no link-time dependencies on libcoregrind.
7778
7779 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7780
7781         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7782           some debug changes
7783         * gst/gstmessage.h:
7784           typo fixes
7785
7786 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7787
7788         * gst/base/gstbasesrc.c: (gst_base_src_init):
7789         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7790         * gst/gstqueue.c: (gst_queue_init):
7791         * gst/gstregistryxml.c: (load_feature):
7792           Revert all these unrefs, they don't even pass make check !
7793
7794 2005-11-15  Johan Dahlin  <johan@gnome.org>
7795
7796         * gst/base/gstbasesrc.c: (gst_base_src_init):
7797         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7798         * gst/gstqueue.c: (gst_queue_init): 
7799         Free pad templates, fixes a couple of leaks.
7800
7801 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7802
7803         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7804
7805         * gst/gstpad.c: (gst_pad_get_property):
7806           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7807           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7808           (#321452)
7809
7810 2005-11-15  Wim Taymans  <wim@fluendo.com>
7811
7812         * gst/gstevent.c:
7813         Small doc update.
7814
7815 2005-11-15  Andy Wingo  <wingo@pobox.com>
7816
7817         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7818
7819         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7820         using GST_CLOCK_TIME_NONE to disable base time management.
7821         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7822         time if it was NONE before.
7823         (gst_pipeline_change_state): Only munge the base time if
7824         stream_time != GST_CLOCK_TIME_NONE.
7825
7826         * check/gst/gstpipeline.c (test_base_time): Punt around the
7827         problem of the probe not being called, because that's not the
7828         issue I'm looking at. Add a check that setting stream_time to NONE
7829         disables base time management.
7830         
7831 2005-11-15  Wim Taymans  <wim@fluendo.com>
7832
7833         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7834         segment_stop == -1 at startup.
7835
7836         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7837         (gst_base_transform_change_state):
7838         Init segment values at start.
7839
7840 2005-11-15  Wim Taymans  <wim@fluendo.com>
7841
7842         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7843         0 segment values are 0 in any format.
7844
7845         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7846         * gst/base/gstbasetransform.h:
7847         Parse newsegment correctly in basetransform
7848
7849         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7850         Sync to clock using updated segment values.
7851
7852 2005-11-15  Andy Wingo  <wingo@pobox.com>
7853
7854         * check/gst/gstpipeline.c (test_base_time): Add check that the
7855         base time and stream time are reset correctly.
7856
7857 2005-11-15  Wim Taymans  <wim@fluendo.com>
7858
7859         * docs/design/part-TODO.txt:
7860         Some more TODO items.
7861
7862 2005-11-15  Andy Wingo  <wingo@pobox.com>
7863
7864         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7865         error if the user selected "no clock" as the clocking method.
7866
7867         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7868         timestamps with live capture.
7869
7870         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7871         is 0 but we are a live source, timestamp the buffers using the
7872         element's clock.
7873
7874 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7875
7876         * docs/gst/gstreamer-sections.txt:
7877         * gst/gsterror.c:
7878         * gst/gstghostpad.c:
7879         * gst/gstobject.h:
7880         * gst/gstxml.c:
7881           more section docs
7882
7883 2005-11-14  Wim Taymans  <wim@fluendo.com>
7884
7885         * common/gst.supp:
7886           add suppressions from Wim's Debian machine
7887
7888 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7889
7890         * common/gst.supp:
7891           add suppressions from Andy's AMD64 Ubuntu machine
7892
7893 2005-11-14  Andy Wingo  <wingo@pobox.com>
7894
7895         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7896         STATE_LOCK not necessary. Fixes #311489.
7897
7898         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7899         #305291.
7900
7901         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7902         this function is not implemented.
7903
7904 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7905
7906         * gst/base/gstbasetransform.c:
7907         (gst_base_transform_prepare_output_buf):
7908         Ref the source pad caps while we need them.
7909         Fixes (#321386)
7910
7911 2005-11-11  Wim Taymans  <wim@fluendo.com>
7912
7913         * docs/gst/gstreamer-sections.txt:
7914         Added some docs for GstCollectData.
7915
7916         * gst/base/gstadapter.c:
7917         Some small code example fix.
7918
7919         * gst/base/gstcollectpads.c:
7920         * gst/base/gstcollectpads.h:
7921         Document some more.
7922
7923 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7924
7925         * configure.ac: back to HEAD
7926
7927 === release 0.9.5 ===
7928
7929 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7930
7931         * configure.ac:
7932           releasing 0.9.5, "Bike Lunch Day"
7933
7934 2005-11-11  Wim Taymans  <wim@fluendo.com>
7935
7936         * gst/gstbuffer.c: (_gst_buffer_copy):
7937         Copy more flags.
7938
7939         * gst/gstcaps.c: (gst_caps_is_equal):
7940         Fix some docs.
7941         Make _is_equal fast in the trivial cases.
7942
7943         * gst/gstminiobject.c:
7944         * gst/gstminiobject.h:
7945         More docs. Spifify .h file.
7946
7947         * gst/gstutils.c:
7948         Small doc update.
7949
7950 2005-11-11  Wim Taymans  <wim@fluendo.com>
7951
7952         * gst/base/gstbasetransform.c:
7953         (gst_base_transform_prepare_output_buf),
7954         (gst_base_transform_handle_buffer):
7955         Small cleanups.
7956         If we're processing a buffer and need to allocate an output
7957         buffer, we cannot accept a format change. If we did get a 
7958         format change, we have to alloc a buffer ourselves of the 
7959         right size.
7960
7961 2005-11-11  Wim Taymans  <wim@fluendo.com>
7962
7963         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7964         While checking the flag for reentrancy in the gstcaps function
7965         is nice to detect recursive invocations, it also makes it 
7966         impossible to call getcaps from multiple threads, which must be
7967         possible. So, checking for recursive calls has to go.
7968
7969 2005-11-11  Michael Smith <msmith@fluendo.com>
7970
7971         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7972           Don't sync on buffers that fall partially outside our current
7973           segment. Prevents an assertion failure/abort playing some files.
7974
7975 2005-11-10  Andy Wingo  <wingo@pobox.com>
7976
7977         * check/gst/gstbin.c (test_message_state_changed_children): Style
7978         fix..
7979
7980         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7981         gst_bus_poll with the signal watch. Ensures that poll and a signal
7982         watch see the same messages.
7983
7984         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7985         a poll and a watch at the same time get the same messages.
7986
7987 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7988
7989         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7990         * gst/gstcaps.c: (gst_caps_intersect):
7991           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7992           and it's not needed.
7993
7994 2005-11-10  Wim Taymans  <wim@fluendo.com>
7995
7996         * docs/design/part-TODO.txt:
7997         Updated todo.
7998
7999 2005-11-10  Wim Taymans  <wim@fluendo.com>
8000
8001         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8002         * gst/base/gstbasesrc.c: (gst_base_src_wait),
8003         (gst_base_src_do_sync), (gst_base_src_get_range):
8004         Implement clock sync in base class.
8005
8006 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8007
8008         patch by: Tim-Philipp Müller <tim at centricular dot net>
8009
8010         * gst/gststructure.c: (gst_structure_parse_field),
8011         (gst_structure_from_string):
8012           Forward-port a 0.8 patch to handle escaped spaces in structure string,
8013           so that gst_parse_launch() can deal with spaces in filtered link
8014           caps (fixes #164479)
8015         * check/gst/capslist.h:
8016         * check/gst/gststructure.c: (GST_START_TEST):
8017           add unit tests for this change
8018
8019 2005-11-10  Wim Taymans  <wim@fluendo.com>
8020
8021         * docs/gst/gstreamer-sections.txt:
8022         * gst/gstelement.c:
8023         * gst/gstelement.h:
8024         Fix docs, move some STATE macros to private.
8025
8026 2005-11-10  Wim Taymans  <wim@fluendo.com>
8027
8028         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
8029         Added check for bug #317341
8030
8031         * gst/gstbuffer.c:
8032         * gst/gstbuffer.h:
8033         Some more spiffifying.
8034
8035         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
8036         Call peer linkfunction if we are a source pad. Totally fixes
8037         #317341
8038
8039         * gst/gstpad.c:
8040         Update docs, source pads should call the peer linkfunction
8041         so they can atomically perform the pad link.
8042
8043 2005-11-09  Wim Taymans  <wim@fluendo.com>
8044
8045         * gst/gstbuffer.c:
8046         * gst/gstbuffer.h:
8047         Uber-spiffy-spiffify some more.
8048
8049 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
8050
8051         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
8052         * gst/elements/gstfilesink.c: (gst_file_sink_init):
8053         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
8054         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
8055         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
8056         * gst/gstpad.c: (gst_pad_init):
8057           Use GST_DEBUG_FUNCPTR() more extensively.
8058
8059 2005-11-09  Wim Taymans  <wim@fluendo.com>
8060
8061         * gst/gstobject.c: (gst_object_class_init):
8062         * gst/gstobject.h:
8063         Documentation fixes.
8064
8065 2005-11-09  Edward Hervey  <edward@fluendo.com>
8066
8067         * gst/gsttypefindfactory.c:
8068         Fix docs.
8069         
8070 2005-11-09  Edward Hervey  <edward@fluendo.com>
8071
8072         * gst/base/gsttypefindhelper.c:
8073         * gst/gsttypefind.c:
8074         * gst/gsttypefind.h:
8075         Fix docs.
8076
8077 2005-11-09  Wim Taymans  <wim@fluendo.com>
8078
8079         * gst/gstiterator.c:
8080         Fix revision data.
8081
8082         * gst/gsttask.c:
8083         * gst/gsttask.h:
8084         Fix docs.
8085
8086 2005-11-09  Wim Taymans  <wim@fluendo.com>
8087
8088         * gst/gstevent.h:
8089         * gst/gsturi.h:
8090         Fix docs.
8091
8092 2005-11-09  Wim Taymans  <wim@fluendo.com>
8093
8094         * docs/gst/gstreamer-sections.txt:
8095         Moved the message async delivery private lock and cond
8096         to the private section.
8097
8098         * gst/gstmessage.c:
8099         * gst/gstmessage.h:
8100         Fixed docs.
8101
8102 2005-11-09  Edward Hervey  <edward@fluendo.com>
8103
8104         * docs/gst/gstreamer-sections.txt:
8105         * gst/gsturi.c:
8106         * gst/gsturi.h:
8107         Document GstURIHandler
8108
8109 2005-11-09  Wim Taymans  <wim@fluendo.com>
8110
8111         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
8112         (gst_iterator_find_custom):
8113         * gst/gstiterator.h:
8114         Fix iterator docs.
8115
8116 2005-11-09  Wim Taymans  <wim@fluendo.com>
8117
8118         * gst/gstbin.h:
8119         Document another field.
8120
8121         * gst/gststructure.c:
8122         * gst/gststructure.h:
8123         Document.
8124
8125 2005-11-09  Wim Taymans  <wim@fluendo.com>
8126
8127         * gst/gstbin.h:
8128         Documented structs.
8129
8130 2005-11-09  Wim Taymans  <wim@fluendo.com>
8131
8132         * docs/gst/gstreamer-sections.txt:
8133         Added some new macros.
8134
8135         * gst/gstclock.c:
8136         * gst/gstclock.h:
8137         * gst/gstobject.h:
8138         Docs updates.
8139
8140 2005-11-09  Wim Taymans  <wim@fluendo.com>
8141
8142         * docs/design/part-TODO.txt:
8143         Some more items for the TODO
8144
8145         * gst/gstcaps.c:
8146         * gst/gstcaps.h:
8147         Document GstCaps.
8148
8149 2005-11-09  Andy Wingo  <wingo@pobox.com>
8150
8151         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
8152         to work on something else now tho...
8153
8154         * gst/base/gstadapter.c: More adapter docs.
8155
8156         * gst/elements/gstfilesink.c (gst_file_sink_start) 
8157         (gst_file_sink_stop): New functions, replace the state change
8158         handler.
8159         (gst_file_sink_class_init): Hook up the start and stop functions.
8160         (gst_file_sink_base_init): Don't set the state change handler any
8161         more. It was a bit ugly too, being set from here...
8162         (gst_file_sink_get_property, gst_file_sink_set_property):
8163         Cleanups...
8164         (gst_file_sink_set_location): More robust check that doesn't call
8165         GST_STATE. Ugggggg.
8166
8167 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
8168
8169         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8170           Hold STREAM_LOCK while pushing newsegment or tag events as well.
8171
8172 2005-11-08  Wim Taymans  <wim@fluendo.com>
8173
8174         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
8175         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8176         (gst_base_sink_chain), (gst_base_sink_change_state):
8177         * gst/base/gstbasesink.h:
8178         * gst/base/gstbasesrc.h:
8179         * gst/gstelement.h:
8180         * gst/gstevent.h:
8181         Avoid excessive typechecking in macros.
8182
8183         * gst/gstminiobject.c: (gst_mini_object_get_type),
8184         (gst_mini_object_init), (gst_mini_object_new),
8185         (gst_mini_object_free):
8186         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
8187         (gst_object_finalize):
8188         Remove cruft code, optimize alloc_trace.
8189
8190 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
8191
8192         * docs/faq/gst-uninstalled:
8193           fix up PS1 for systems that try to reset it
8194
8195 2005-11-07  Wim Taymans  <wim@fluendo.com>
8196
8197         * gst/base/gstbasesrc.c: (gst_base_src_init),
8198         (gst_base_src_get_range):
8199         Set the segment_end to -1 initially. Fixed typefind.
8200
8201 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
8202
8203         * gst/base/gstadapter.c:
8204           Debug category should be 'adapter', not 'GstAdapter'.
8205           
8206         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
8207         (gst_collectpads_class_init), (gst_collectpads_init),
8208         (gst_collectpads_peek), (gst_collectpads_pop),
8209         (gst_collectpads_event), (gst_collectpads_chain):
8210           Add debug category and some debugging output. Use boilerplate
8211           macros. Remove some extraneous words from docs.
8212
8213 2005-11-05  Andy Wingo  <wingo@pobox.com>
8214
8215         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
8216         macro.
8217
8218 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8219
8220         * docs/gst/gstreamer-sections.txt:
8221         * gst/gstcaps.h:
8222         * gst/gstinfo.c:
8223         * gst/gstminiobject.h:
8224         * gst/gstobject.h:
8225         * gst/gstutils.h:
8226           more docs added
8227
8228 2005-11-04  Wim Taymans  <wim@fluendo.com>
8229
8230         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8231         Small update to stop at the configured segment_end
8232         position.
8233
8234 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
8235
8236         * gst/gstregistry.c:
8237         * gst/gstregistry.h:
8238           added missing docs
8239
8240 2005-11-04  Edward Hervey  <edward@fluendo.com>
8241
8242         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8243         Check if we are doing a segment seek and have arrived at the
8244         end of that segment.
8245
8246 2005-11-04  Wim Taymans  <wim@fluendo.com>
8247
8248         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
8249         Don't leak a mutex unlock in case of an error.
8250
8251         * gst/gstbus.h:
8252         Doc fixes.
8253
8254 2005-11-04  Wim Taymans  <wim@fluendo.com>
8255
8256         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
8257         (gst_bus_post):
8258         Get the context to wake up only once.
8259
8260 2005-11-03  Wim Taymans  <wim@fluendo.com>
8261
8262         * check/states/sinks.c: (GST_START_TEST):
8263         Uncomment fixed check.
8264
8265         * docs/design/part-TODO.txt:
8266         Updated TODO.
8267
8268         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8269         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8270         (gst_base_sink_get_position):
8271         If we are going to PLAYING, post the right pending state
8272         when we post the intermediate paused message.
8273
8274         * gst/gstelement.c: (gst_element_continue_state),
8275         (gst_element_set_state_func), (gst_element_change_state):
8276         Don't post state changes that were between the same state
8277         and were not ASYNC.
8278
8279 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8280
8281         * docs/gst/gstreamer-sections.txt:
8282         * gst/gstcaps.h:
8283         * gst/gstinfo.c:
8284         * gst/gstminiobject.h:
8285         * gst/gstobject.h:
8286         * gst/gstutils.h:
8287           more docs and doc style fixes
8288
8289 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
8290
8291         * docs/gst/gstreamer-sections.txt:
8292         * gst/gstelement.c:
8293         * gst/gstminiobject.c:
8294         doc fixes
8295
8296 2005-11-03  Andy Wingo  <wingo@pobox.com>
8297
8298         * check/states/sinks.c (test_livesrc_sink): Add checks that the
8299         state-changed messages actually have the right order and the right
8300         values.
8301
8302 2005-11-03  Wim Taymans  <wim@fluendo.com>
8303
8304         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8305         Added some more checks. Specifically the case where NO_PREROLL
8306         elements are in the pipeline.
8307
8308         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8309         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
8310         (gst_base_sink_get_position):
8311         Post READY->PAUSED state change messages too.
8312         Fix bug where VOID was posted as pending state...
8313
8314         * gst/gstbin.c: (gst_bin_recalc_state):
8315         use _element_continue_state() to continue the state change.
8316
8317         * gst/gstelement.c: (gst_element_continue_state),
8318         (gst_element_commit_state), (gst_element_set_state_func),
8319         (gst_element_change_state), (gst_element_change_state_func):
8320         Lots of state change cleanups, assign the STATE_RETURN in
8321         a new continue_state() function that also propagates the
8322         last return value from a state change to the app.
8323         Update some debug statements with proper category.
8324
8325 2005-11-03  Wim Taymans  <wim@fluendo.com>
8326
8327         * docs/design/part-events.txt:
8328         * docs/design/part-gstpipeline.txt:
8329         * docs/design/part-messages.txt:
8330         * docs/design/part-overview.txt:
8331         * docs/design/part-seeking.txt:
8332         * docs/design/part-states.txt:
8333         * docs/design/part-trickmodes.txt:
8334         * docs/manual/advanced-position.xml:
8335         Small docs updates.
8336
8337         * gst/gstobject.h:
8338         People think !! is ugly, this looks better.
8339
8340         * gst/gstpad.c: (gst_pad_set_blocked_async):
8341         Remove !! since it's fixed elsewhere now.
8342
8343 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8344
8345         * gst/gstminiobject.h:
8346         * gst/gstobject.h:
8347           Add !! to _FLAG_IS_SET macros to make the result boolean.
8348
8349 2005-11-03  Edward Hervey  <edward@fluendo.com>
8350
8351         * gst/gstpad.c: (gst_pad_set_blocked_async):
8352         comparing a flag and a gboolean rarely returns coherent results...
8353         Added two characters (!!) to make that work correctly.
8354         
8355 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8356
8357         * gst/gstbus.c: (gst_bus_class_init):
8358           Fix some typos.
8359           
8360         * gst/gstqueue.c: (gst_queue_loop):
8361           Don't assume a miniobject that isn't a buffer is an
8362           event (it could be that there is a refcounting
8363           problem somewhere and the pointer is stale and
8364           refers to an already destroyed miniobject).
8365
8366 2005-11-03  Julien MOUTTE  <julien@moutte.net>
8367
8368         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
8369
8370 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
8371
8372         * docs/manual/advanced-position.xml:
8373           Update seek example and explanations to current 0.9 API.
8374
8375         * gst/elements/gsttypefindelement.c:
8376         (gst_type_find_element_activate):
8377           Remove FIXME comment now that the found caps
8378           are unreffed.
8379
8380 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8381
8382         * gst/gstregistryxml.c: (load_feature):
8383           Add another GST_STR_NULL instance
8384
8385 2005-11-02  Edward Hervey  <edward@fluendo.com>
8386
8387         * gst/gstpad.c: (handle_pad_block):
8388         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
8389         
8390 2005-11-02  Wim Taymans  <wim@fluendo.com>
8391
8392         * gst/gstbin.c:
8393         Fix typo in docs.
8394
8395         * gst/gstelement.c: (gst_element_commit_state):
8396         Remove unused value.
8397
8398         * gst/gstiterator.c:
8399         Mention that the returned element is reffed in the docs.
8400
8401 2005-11-02  Wim Taymans  <wim@fluendo.com>
8402
8403         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
8404         (gst_pad_push), (gst_pad_push_event):
8405         Unlock blocked pads when they are flushed.
8406
8407 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8408
8409         * docs/README:
8410         * docs/gst/gstreamer-sections.txt:
8411         * gst/gstbin.c:
8412           doc updates
8413         * gst/gstregistry.c: (gst_registry_scan_path_level):
8414           fix for a nasty little missed situation where an installed plug-in
8415           which was in the cache did not get overridden by an uninstalled one
8416           which was earlier in the plugin path because the newly created plugin
8417           for the uninstalled one (not in the registry) didn't get its
8418           ->registered set to TRUE
8419
8420 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8421
8422         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
8423         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
8424         (gst_collectpads_is_active), (gst_collectpads_collect),
8425         (gst_collectpads_collect_range), (gst_collectpads_start),
8426         (gst_collectpads_stop), (gst_collectpads_peek),
8427         (gst_collectpads_pop), (gst_collectpads_available),
8428         (gst_collectpads_read), (gst_collectpads_flush):
8429           Guard public API with assertions.
8430         
8431         * gst/gstpad.c:
8432           Fix docs for gst_pad_set_link_function().
8433
8434 2005-11-02  Johan Dahlin  <johan@gnome.org>
8435
8436         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
8437         Unref found_caps after we used it.
8438
8439 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
8440
8441         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
8442           Don't try to ref NULL.
8443
8444 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8445
8446         * win32/common/config.h.in:
8447           provide a GST_FUNCTION that just gives a string for now
8448
8449 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8450
8451         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8452         (gst_object_flags_get_type), (register_gst_bin_flags),
8453         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8454         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8455         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8456         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
8457         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8458         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8459         (gst_clock_flags_get_type), (register_gst_state),
8460         (gst_state_get_type), (register_gst_state_change_return),
8461         (gst_state_change_return_get_type), (register_gst_state_change),
8462         (gst_state_change_get_type), (register_gst_element_flags),
8463         (gst_element_flags_get_type), (register_gst_core_error),
8464         (gst_core_error_get_type), (register_gst_library_error),
8465         (gst_library_error_get_type), (register_gst_resource_error),
8466         (gst_resource_error_get_type), (register_gst_stream_error),
8467         (gst_stream_error_get_type), (register_gst_event_type),
8468         (gst_event_type_get_type), (register_gst_seek_type),
8469         (gst_seek_type_get_type), (register_gst_seek_flags),
8470         (gst_seek_flags_get_type), (register_gst_format),
8471         (gst_format_get_type), (register_gst_index_certainty),
8472         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8473         (gst_index_entry_type_get_type),
8474         (register_gst_index_lookup_method),
8475         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8476         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8477         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8478         (gst_index_flags_get_type), (register_gst_debug_level),
8479         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8480         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8481         (gst_iterator_result_get_type), (register_gst_iterator_item),
8482         (gst_iterator_item_get_type), (register_gst_message_type),
8483         (gst_message_type_get_type), (register_gst_mini_object_flags),
8484         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8485         (gst_pad_link_return_get_type), (register_gst_flow_return),
8486         (gst_flow_return_get_type), (register_gst_activate_mode),
8487         (gst_activate_mode_get_type), (register_gst_pad_direction),
8488         (gst_pad_direction_get_type), (register_gst_pad_flags),
8489         (gst_pad_flags_get_type), (register_gst_pad_presence),
8490         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8491         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8492         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8493         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8494         (gst_plugin_flags_get_type), (register_gst_rank),
8495         (gst_rank_get_type), (register_gst_query_type),
8496         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8497         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8498         (gst_tag_flag_get_type), (register_gst_task_state),
8499         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8500         (gst_alloc_trace_flags_get_type),
8501         (register_gst_type_find_probability),
8502         (gst_type_find_probability_get_type), (register_gst_uri_type),
8503         (gst_uri_type_get_type), (register_gst_parse_error),
8504         (gst_parse_error_get_type):
8505         * win32/common/gstversion.h:
8506           update win32 copies
8507
8508 2005-11-01  Luca Ognibene  <luogni@tin.it>
8509
8510         * gst/gst.c:
8511           fix docs. popt is dead, long live GOption.
8512
8513 2005-10-31  Wim Taymans  <wim@fluendo.com>
8514
8515         * gst/gstbuffer.h:
8516         Small doc fix.
8517
8518 2005-10-31  Andy Wingo  <wingo@pobox.com>
8519
8520         * Boo!
8521
8522         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8523
8524         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8525         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8526         the possibility of deadlocks here if code calling notify() or
8527         set() has a lock that can be taken in another notify handler (ABBA
8528         with class lock and e.g. python GIL state lock).
8529
8530 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8531
8532         * gst/gstbus.c: Doc updates.
8533
8534 2005-10-28  Wim Taymans  <wim@fluendo.com>
8535
8536         * docs/design/part-TODO.txt:
8537         * gst/gstiterator.c:
8538         * gst/gstsystemclock.c:
8539         * gst/gstsystemclock.h:
8540         Doc updates.
8541
8542 2005-10-28  Edward Hervey  <edward@fluendo.com>
8543
8544         * docs/gst/gstreamer-docs.sgml:
8545         * docs/gst/gstreamer-sections.txt:
8546         the GstURIType documentation page is private, it only defines GstURIType
8547         which should be defined in the GstURIHandler page
8548         
8549 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8550
8551         * gst/gstbin.c: (gst_bin_class_init):
8552         * gst/gstbin.h:
8553         * gst/gstutils.c:
8554         Documentation updates.
8555
8556 2005-10-28  Wim Taymans  <wim@fluendo.com>
8557
8558         * docs/gst/gstreamer-sections.txt:
8559         * gst/gstclock.c:
8560         * gst/gstclock.h:
8561         Documented the clocks.
8562
8563 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8564
8565         * docs/gst/gstreamer-sections.txt:
8566           move some macros to private sections
8567         * gst/gstminiobject.c:
8568         * gst/gstminiobject.h:
8569           add descriptions provided by ds and some more
8570         * gst/gstpad.h:
8571           mark macro as to be removed
8572
8573 2005-10-28  Wim Taymans  <wim@fluendo.com>
8574
8575         * docs/design/part-TODO.txt:
8576         Add an item to TODO.
8577
8578         * gst/gstiterator.c: (gst_iterator_fold),
8579         (gst_iterator_find_custom):
8580         * gst/gstiterator.h:
8581         Add iterator docs.
8582
8583 2005-10-28  Wim Taymans  <wim@fluendo.com>
8584
8585         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8586         (gst_base_transform_init):
8587         Don't leak class.
8588
8589         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8590         An EOS event marks the queue as completely filled.
8591
8592 2005-10-27  Wim Taymans  <wim@fluendo.com>
8593
8594         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8595         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8596         Some more debugging.
8597
8598         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8599         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8600         (gst_base_transform_event), (gst_base_transform_getrange),
8601         (gst_base_transform_chain):
8602         * gst/base/gstbasetransform.h:
8603         Fix debugging,
8604         Protect transform and concurrent buffer alloc with a new lock.
8605         Try not to break ABI/API.
8606
8607 2005-10-27  Wim Taymans  <wim@fluendo.com>
8608
8609         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8610         (gst_base_src_init), (gst_base_src_query),
8611         (gst_base_src_default_newsegment),
8612         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8613         (gst_base_src_send_event), (gst_base_src_event_handler),
8614         (gst_base_src_pad_get_range), (gst_base_src_loop),
8615         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8616         (gst_base_src_start), (gst_base_src_deactivate),
8617         (gst_base_src_activate_push), (gst_base_src_change_state):
8618         Move some stuff around and cleanup things.
8619
8620 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8621
8622         * gst/base/gstbasesrc.c: (gst_base_src_query):
8623           Add missing break statements.
8624
8625 2005-10-27  Wim Taymans  <wim@fluendo.com>
8626
8627         * check/gst/gstbin.c: (GST_START_TEST):
8628         An extra refcount is taken in basesrc.
8629
8630         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8631         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8632         (gst_base_src_loop):
8633         Small cleanups, check for flushing after being unlocked from the 
8634         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8635         Don't send out EOS when going to READY.
8636
8637 2005-10-27  Wim Taymans  <wim@fluendo.com>
8638
8639         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8640         (gst_base_sink_get_position):
8641         Some more debug.
8642
8643         * gst/gstbin.c: (message_check), (bin_replace_message),
8644         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8645         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8646         (bin_query_duration_init), (bin_query_duration_fold),
8647         (bin_query_duration_done), (bin_query_generic_fold),
8648         (gst_bin_query):
8649         * tools/gst-launch.c: (main):
8650         Remove old option.
8651
8652 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8653
8654         * examples/controller/audio-example.c: (main):
8655         * examples/queue/queue.c: (event_loop):
8656         * gst/base/gstbasetransform.h:
8657         * gst/gstelement.c: (gst_element_send_event):
8658         * gst/gstevent.h:
8659         * gst/gstpad.c: (gst_pad_send_event):
8660           fixing examples
8661           fixing docs typos
8662           changing log priority in error situations
8663
8664 2005-10-25  Wim Taymans  <wim@fluendo.com>
8665
8666         * gst/gstbin.c: (message_check), (bin_replace_message),
8667         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8668         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8669         (bin_query_duration_init), (bin_query_duration_fold),
8670         (bin_query_duration_done), (bin_query_generic_fold),
8671         (gst_bin_query):
8672         Some doc and debug updates.
8673         Cache previously requested query DURATION for speed. invalidate
8674         cached duration if element posts a DURATION message.
8675
8676 2005-10-25  Wim Taymans  <wim@fluendo.com>
8677
8678         * docs/design/part-TODO.txt:
8679         Update TODO.
8680
8681         * gst/gstbin.c: (message_check), (bin_replace_message),
8682         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8683         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8684         (bin_query_duration_init), (bin_query_duration_fold),
8685         (bin_query_duration_done), (bin_query_generic_fold),
8686         (gst_bin_query):
8687         Handle SEGMENT_START/DONE messages correctly.
8688         More evolved query algorithm that handles duration queries
8689         correctly.
8690
8691         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8692         (gst_element_get_state_func), (gst_element_abort_state),
8693         (gst_element_commit_state), (gst_element_lost_state):
8694         Some more debugging.
8695
8696         * gst/gstmessage.h:
8697         Added doc.
8698
8699 2005-10-25  Wim Taymans  <wim@fluendo.com>
8700
8701         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8702         Don't use invalid stream_time.
8703
8704         * gst/gstevent.c: (gst_event_new_newsegment):
8705         stream_time in newsegment cannot be undefined.
8706
8707 2005-10-24  Wim Taymans  <wim@fluendo.com>
8708
8709         * gst/gstbus.c:
8710         Doc fix.
8711
8712         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8713         (gst_queue_loop):
8714         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8715
8716 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8717
8718         * docs/libs/tmpl/gstdparam.sgml:
8719         * docs/libs/tmpl/gstdplinint.sgml:
8720         * docs/libs/tmpl/gstdpman.sgml:
8721         * docs/libs/tmpl/gstdpsmooth.sgml:
8722         * docs/libs/tmpl/gstunitconvert.sgml:
8723           these are obsolete
8724
8725 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8726
8727         * configure.ac:
8728           back to HEAD
8729
8730 === release 0.9.4 ===
8731
8732 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8733
8734         * configure.ac:
8735           releasing 0.9.4, "Tyrannosaurus Rex"
8736
8737 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8738
8739         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8740         (gst_file_sink_get_current_offset):
8741           Use fseeko() and ftello() if available. When falling back on
8742           lseek() to get the current offset, fflush() first to make sure
8743           everything is up-to-date and we get the right offset.
8744
8745 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8746
8747         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8748         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8749         * gst/gsterror.c: (_gst_stream_errors_init):
8750         * gst/gsterror.h:
8751         * gst/gstqueue.c: (gst_queue_loop):
8752         * po/POTFILES.in:
8753           remove prematurely added error category and clean up the instances
8754
8755 2005-10-21  Wim Taymans  <wim@fluendo.com>
8756
8757         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8758         (gst_base_sink_get_position), (gst_base_sink_query),
8759         (gst_base_sink_change_state):
8760         Simply set the right flag when going to playing, that's all
8761         we need to do instead of calling a function inside the object
8762         lock (that could take the lock as well and deadlock)
8763
8764 2005-10-21  Wim Taymans  <wim@fluendo.com>
8765
8766         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8767         (gst_base_src_loop):
8768         Don't warn, the peer element knows what to do best when
8769         the seek failed, it might try something else.
8770
8771 2005-10-21  Wim Taymans  <wim@fluendo.com>
8772
8773         * gst/base/gstbasesrc.c: (gst_base_src_init),
8774         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8775         Fix seeking.
8776
8777 2005-10-21  Wim Taymans  <wim@fluendo.com>
8778
8779         * docs/design/part-segments.txt:
8780         More docs.
8781
8782         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8783         Correctly set caps, even on the subbufer.
8784
8785 2005-10-21  Wim Taymans  <wim@fluendo.com>
8786
8787         * docs/gst/gstreamer-docs.sgml:
8788         * docs/gst/gstreamer-sections.txt:
8789         * gst/gstelement.h:
8790         * gst/gstevent.c:
8791         * gst/gstevent.h:
8792         * gst/gstmessage.h:
8793         * gst/gstpad.h:
8794         * gst/gstparse.h:
8795         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8796         * gst/gsttask.h:
8797         * gst/gstutils.c:
8798         * gst/gstutils.h:
8799         And 2% more doc coverage.
8800
8801 2005-10-21  Andy Wingo  <wingo@pobox.com>
8802
8803         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8804         position reporting.
8805
8806 2005-10-20  Wim Taymans  <wim@fluendo.com>
8807
8808         * gst/gsterror.c: (gst_error_get_message):
8809         * gst/gstparse.h:
8810         * gst/gstquery.h:
8811         * gst/gststructure.c:
8812         * gst/gsttrace.c:
8813         * gst/gstutils.c:
8814         More docs.
8815
8816 2005-10-20  Wim Taymans  <wim@fluendo.com>
8817
8818         * gst/gstbuffer.h:
8819         * gst/gstpad.c:
8820         * gst/gstparse.c:
8821         Another 1% more coverage.
8822
8823 2005-10-20  Wim Taymans  <wim@fluendo.com>
8824
8825         * docs/gst/gstreamer-sections.txt:
8826         * gst/gstelement.c: (gst_element_get_state_func),
8827         (gst_element_abort_state), (gst_element_commit_state),
8828         (gst_element_lost_state):
8829         * gst/gstevent.h:
8830         * gst/gstquery.c: (gst_query_set_position),
8831         (gst_query_parse_position), (gst_query_set_duration),
8832         (gst_query_parse_duration), (gst_query_new_convert):
8833         * gst/gstutils.c:
8834         Yay! 1% more docs coverage.
8835
8836 2005-10-20  Wim Taymans  <wim@fluendo.com>
8837
8838         * gst/gstpad.h:
8839         * gst/gstquery.c: (gst_query_set_position),
8840         (gst_query_parse_position), (gst_query_set_duration),
8841         (gst_query_parse_duration), (gst_query_new_convert):
8842         * gst/gstquery.h:
8843         * gst/gstutils.c: (gst_element_query_convert):
8844         * gst/gstutils.h:
8845         Docs and consistency fixes.
8846
8847 2005-10-20  Wim Taymans  <wim@fluendo.com>
8848
8849         * gst/gsttask.c:
8850         * gst/gsttask.h:
8851         More docs.
8852
8853 2005-10-20  Wim Taymans  <wim@fluendo.com>
8854
8855         * gst/gstbin.c: (message_check), (bin_replace_message),
8856         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8857         (update_degree), (gst_bin_sort_iterator_next),
8858         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8859         Reworked the message handling a bit, cache the messages instead of
8860         only the senders. alows us to do more in the future.
8861
8862 2005-10-20  Wim Taymans  <wim@fluendo.com>
8863
8864         * docs/design/part-TODO.txt:
8865         Update TODO
8866
8867         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8868         (gst_base_sink_query):
8869         Don't use clock time to report position when in EOS.
8870
8871 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8872
8873         * tools/gst-inspect.c: (print_interfaces),
8874         (print_element_properties_info), (print_element_info):
8875           Fix interface output with gst-inspect -a; don't print
8876           newlines after double/float properties.
8877
8878 2005-10-20  Wim Taymans  <wim@fluendo.com>
8879
8880         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8881         (gst_base_sink_query):
8882         Speed up current position calculation.
8883
8884         * gst/base/gstbasesrc.c: (gst_base_src_query),
8885         (gst_base_src_default_newsegment):
8886         Correctly set stream position in newsegment.
8887
8888         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8889         (update_degree), (gst_bin_sort_iterator_next),
8890         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8891         * gst/gstmessage.c: (gst_message_new_custom):
8892         Clean up debugging info
8893
8894         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8895         (gst_queue_loop), (gst_queue_handle_src_query):
8896         Pause task faster.
8897
8898 2005-10-19  Wim Taymans  <wim@fluendo.com>
8899
8900         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8901         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8902         Fix query handling again.
8903
8904 2005-10-19  Wim Taymans  <wim@fluendo.com>
8905
8906         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8907         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8908         * gst/base/gstbasesrc.c: (gst_base_src_query):
8909         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8910         * gst/elements/gsttypefindelement.c:
8911         (gst_type_find_handle_src_query), (find_element_get_length),
8912         (gst_type_find_element_activate):
8913         API change fix.
8914
8915         * gst/gstquery.c: (gst_query_new_position),
8916         (gst_query_set_position), (gst_query_parse_position),
8917         (gst_query_new_duration), (gst_query_set_duration),
8918         (gst_query_parse_duration), (gst_query_set_segment),
8919         (gst_query_parse_segment):
8920         * gst/gstquery.h:
8921         Bundling query position/duration is not a good idea since duration
8922         does not change much and we don't want to recalculate it for every
8923         position query, so they are separated again..
8924         Base value in segment query is not needed.
8925
8926         * gst/gstqueue.c: (gst_queue_handle_src_query):
8927         * gst/gstutils.c: (gst_element_query_position),
8928         (gst_element_query_duration), (gst_pad_query_position),
8929         (gst_pad_query_duration):
8930         * gst/gstutils.h:
8931         Updates for query API change.
8932         Added some docs here and there.
8933
8934 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8935
8936         * check/gst/gstbin.c: (GST_START_TEST):
8937         * check/gst/gstghostpad.c: (GST_START_TEST):
8938         * check/pipelines/cleanup.c: (GST_START_TEST):
8939           wait on thread to die so we can check refcount correctly
8940
8941 2005-10-18  Wim Taymans  <wim@fluendo.com>
8942
8943         * check/pipelines/stress.c: (GST_START_TEST):
8944         Make check a little more time consuming.
8945
8946 2005-10-18  Wim Taymans  <wim@fluendo.com>
8947
8948         * check/Makefile.am:
8949         * check/pipelines/stress.c: (GST_START_TEST),
8950         (simple_launch_lines_suite), (main):
8951         Small state change torture test.
8952
8953         * docs/design/part-states.txt:
8954         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8955         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8956         (gst_base_sink_change_state):
8957         Never take state lock from streaming thread, clean up ugly
8958         hacks. Unfortunatly core does not yet support nice ways to
8959         async commit state.
8960         
8961         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8962         (bin_bus_handler):
8963         Start state recalc if a STATE_DIRTY message is posted, but only
8964         on the toplevel bin.
8965
8966         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8967         (gst_element_get_state_func), (gst_element_abort_state),
8968         (gst_element_commit_state), (gst_element_lost_state),
8969         (gst_element_set_state_func), (gst_element_change_state):
8970         * gst/gstelement.h:
8971         State variables are now protected with the LOCK, the state
8972         lock is only used to serialize _set_state().
8973
8974 2005-10-18  Wim Taymans  <wim@fluendo.com>
8975
8976         * check/gst/gstbin.c: (GST_START_TEST):
8977         * check/gst/gstmessage.c: (GST_START_TEST):
8978         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8979         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8980         (bin_bus_handler):
8981         * gst/gstelement.c: (gst_element_abort_state),
8982         (gst_element_commit_state), (gst_element_lost_state):
8983         * gst/gstmessage.c: (gst_message_new_state_changed),
8984         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8985         (gst_message_new_segment_done), (gst_message_new_duration),
8986         (gst_message_parse_state_changed),
8987         (gst_message_parse_segment_start),
8988         (gst_message_parse_segment_done), (gst_message_parse_duration):
8989         * gst/gstmessage.h:
8990         * tools/gst-launch.c: (event_loop):
8991         Seriously, this is better than a previous commit as we only need
8992         to notify the fact that an element changed state in a streaming
8993         thread, marking the state of the parents dirty, hence the 
8994         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8995         message.
8996
8997 2005-10-18  Wim Taymans  <wim@fluendo.com>
8998
8999         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
9000         (gst_bin_recalc_func):
9001         * gst/gstelement.c: (gst_element_set_clock),
9002         (gst_element_abort_state), (gst_element_lost_state):
9003         Cleanups, prepare for state change fixes.
9004
9005 2005-10-18  Wim Taymans  <wim@fluendo.com>
9006
9007         * gst/gstbin.h:
9008         * gst/gstelement.c: (gst_element_class_init),
9009         (gst_element_set_state), (gst_element_set_state_func):
9010         * gst/gstelement.h:
9011         Pending ABI changes.
9012         GThreadPool in GstBinClass to monitor async state changes.
9013         state_cookie in GstElement to detect concurrent gst/set state.
9014         set_state is now virtual too in case a very complicated element
9015         has to be constructed.
9016
9017 2005-10-18  Wim Taymans  <wim@fluendo.com>
9018
9019         * check/gst/gstbin.c: (GST_START_TEST):
9020         * check/gst/gstmessage.c: (GST_START_TEST):
9021         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9022         * gst/gstbin.c: (bin_bus_handler):
9023         * gst/gstelement.c: (gst_element_commit_state),
9024         (gst_element_lost_state):
9025         * gst/gstmessage.c: (gst_message_new_state_changed),
9026         (gst_message_new_segment_start), (gst_message_new_segment_done),
9027         (gst_message_new_duration), (gst_message_parse_state_changed),
9028         (gst_message_parse_segment_start),
9029         (gst_message_parse_segment_done), (gst_message_parse_duration):
9030         * gst/gstmessage.h:
9031         * tools/gst-launch.c: (event_loop):
9032         Make messages future proof.
9033         state-change gets a flag if it was a message comming from the
9034         streaming thread.
9035         segment-start/stop can also be specified in other formats.
9036         A message to notify an app that a pipeline changed playback 
9037         duration.
9038         Also fix a GstMessage leak in -launch
9039
9040 2005-10-18  Andy Wingo  <wingo@pobox.com>
9041
9042         * gst/gstelement.c (gst_element_dispose): More helpful message.
9043
9044 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9045
9046         reviewed by: <delete if not using a buddy>
9047
9048         * common/gtk-doc.mak:
9049
9050 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9051
9052         * gst/gstregistry.c: (gst_registry_scan_path_level):
9053           unref a plug-in we get that was already initialized
9054
9055 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
9056
9057         * docs/gst/gstreamer-sections.txt:
9058         * docs/libs/gstreamer-libs-sections.txt:
9059         * gst/gstelement.h:
9060           add new api entries
9061           hide internal macro
9062
9063 2005-10-17  Andy Wingo  <wingo@pobox.com>
9064
9065         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
9066         cleanup.
9067
9068         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
9069
9070         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
9071
9072         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
9073         (gst_element_get_state_func): Better debug message.
9074         (gst_element_commit_state): s/INFO/DEBUG/.
9075         (gst_element_lost_state, gst_element_change_state): 
9076
9077         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
9078         (gst_message_new_custom): s/INFO/LOG/.
9079
9080 2005-10-17  Michael Smith <msmith@fluendo.com>
9081
9082         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9083           Check if end time is valid using end time, not start time.
9084
9085 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
9086
9087         * check/gst-libs/controller.c: (GST_START_TEST),
9088         (gst_controller_suite):
9089         * libs/gst/controller/gstcontroller.c:
9090         (gst_controlled_property_set_interpolation_mode):
9091         * libs/gst/controller/gstcontroller.h:
9092         * libs/gst/controller/gstinterpolation.c:
9093         * testsuite/controller/.cvsignore:
9094         * testsuite/controller/Makefile.am:
9095         * testsuite/controller/interpolator.c:
9096           merge controller testsuites
9097           fix broken tests
9098           remove mem-chunk from docs
9099
9100 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9101
9102         * gst/gstmemchunk.c:
9103         * gst/gstmemchunk.h:
9104         * gst/gsttrashstack.c:
9105         * gst/gsttrashstack.h:
9106           out.  get out.  you're fired.  to the Attic !
9107
9108 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
9109
9110         * gst/gstcaps.c: (gst_caps_intersect):
9111           fix signedness issues in a (hopefully) correct way
9112         * gst/gstelement.c: (gst_element_pads_activate):
9113           some debugging
9114         * gst/gstobject.c: (gst_object_set_parent):
9115           some debugging
9116
9117 2005-10-17  Julien MOUTTE  <julien@moutte.net>
9118
9119         * gst/gstvalue.h: Fix prototypes.
9120
9121 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9122
9123         * docs/gst/gstreamer-sections.txt:
9124         * gst/gst.c: (gst_version_string):
9125         * gst/gst.h:
9126         * gst/gstversion.h.in:
9127         * win32/common/libgstreamer.def:
9128           add gst_version_string ()
9129
9130 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9131
9132         * configure.ac:
9133           clean up further
9134         * gst/gst.c: (init_post):
9135         * win32/common/config.h.in:
9136           it's PLUGINDIR now
9137         * gst/gstcaps.c: (gst_caps_intersect):
9138           use gint64, the range could be bigger than a guint
9139
9140 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9141
9142         * gst/gstclock.h:
9143           document potential problem in 2038
9144
9145 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9146
9147         * gst/gstcaps.c: (gst_caps_intersect):
9148           Fix guint j diving under 0
9149
9150 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9151
9152         * configure.ac:
9153         * win32/common/config.h:
9154         * win32/common/config.h.in:
9155           check for process.h, declares getpid() on Windows
9156         * gst/gstinfo.c:
9157           include process.h if we have it
9158         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
9159         * gst/gstmemchunk.h:
9160           fix signedness issues
9161         * win32/common/libgstreamer.def:
9162           fix get_type's
9163
9164 2005-10-16  Julien MOUTTE  <julien@moutte.net>
9165
9166         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
9167         fix. Because of unsigned ints, caps intersection was going nuts and
9168         trying to access structures with G_MAXUINT index. That fixes
9169         videotestsrc ! ffmpegcolorspace ! fakesink
9170         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
9171         consistency.
9172
9173 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9174
9175         * configure.ac:
9176           use the gettext macro
9177         * gst/elements/gstelements.c:
9178         * gst/gst.c:
9179         * gst/indexers/gstindexers.c:
9180           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
9181         * win32/common/config.h:
9182           updated config.h
9183         * win32/common/config.h.in:
9184           add the template to generate config.h
9185         * win32/common/gstenumtypes.c:
9186         * win32/common/gstversion.h:
9187           updated copies
9188
9189 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9190
9191         * gst/gst.c: (gst_version):
9192         * gst/gstversion.h.in:
9193           add the nano
9194
9195 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9196
9197         * gst/gstevent.h:
9198           Oops, add missing closing bracket.
9199
9200 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9201
9202         * configure.ac:
9203           use common m4's for argument checking
9204
9205 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
9206
9207         * docs/gst/gstreamer-sections.txt:
9208         * gst/gstevent.h:
9209           Add GST_EVENT_TYPE_NAME() macro.
9210
9211 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9212
9213         * gst/gstinfo.c:
9214         * gst/gstpluginfeature.c:
9215         * gst/gsttask.c:
9216           privatize more symbols
9217
9218 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9219
9220         * configure.ac:
9221           add srcdir, builddir includes to GST_ALL_CFLAGS, since
9222           everything that uses GStreamer API should have the includes
9223
9224 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9225
9226         * docs/gst/gstreamer-sections.txt:
9227         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
9228         * gst/gstvalue.h:
9229           give each value a _get_type, removes the DATA exports
9230
9231 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9232
9233         * gst/gst.c:
9234         * gst/gst.h:
9235           remove _gst_registry_auto_load, not used anymore
9236         * gst/gstbin.c: (gst_bin_get_type):
9237         * gst/gstbin.h:
9238         * gst/gstelement.c: (gst_element_get_type):
9239         * gst/gstelement.h:
9240         * gst/gstobject.c: (gst_object_get_type):
9241         * gst/gstobject.h:
9242         * gst/gstpad.c: (gst_pad_get_type):
9243         * gst/gstpad.h:
9244           make _get_type functions similar, fixes data export from library
9245
9246 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9247
9248         * configure.ac:
9249           correctly make conditionals
9250         * gst/elements/Makefile.am:
9251         * gst/elements/gstelements.c:
9252           fix typo causing fdsrc not to build
9253
9254 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9255
9256         * testsuite/Makefile.am:
9257         * testsuite/bytestream/.cvsignore:
9258         * testsuite/bytestream/Makefile.am:
9259         * testsuite/bytestream/filepadsink.c:
9260         * testsuite/bytestream/gstbstest.c:
9261         * testsuite/bytestream/test1.c:
9262         * testsuite/bytestream/testfile1:
9263         * testsuite/caps/normalisation.c:
9264         * testsuite/caps/random.c: (main):
9265         * testsuite/cleanup/.cvsignore:
9266         * testsuite/cleanup/Makefile.am:
9267         * testsuite/cleanup/cleanup1.c:
9268         * testsuite/cleanup/cleanup2.c:
9269         * testsuite/cleanup/cleanup3.c:
9270         * testsuite/cleanup/cleanup4.c:
9271         * testsuite/cleanup/cleanup5.c:
9272         * testsuite/controller/interpolator.c:
9273         * testsuite/debug/printf_extension.c: (main):
9274         * testsuite/elements/tee.c:
9275         * testsuite/negotiation/.cvsignore:
9276         * testsuite/negotiation/Makefile.am:
9277         * testsuite/negotiation/pad_link.c:
9278         * testsuite/pad/Makefile.am:
9279         * testsuite/pad/chainnopull.c:
9280         * testsuite/pad/getnopush.c:
9281         * testsuite/pad/link.c:
9282         * testsuite/refcounting/sched.c: (create_pipeline):
9283         * testsuite/registry/Makefile.am:
9284         * testsuite/registry/gst-print-formats.c:
9285         * testsuite/schedulers/.cvsignore:
9286         * testsuite/schedulers/142183-2.c:
9287         * testsuite/schedulers/142183.c:
9288         * testsuite/schedulers/143777-2.c:
9289         * testsuite/schedulers/143777.c:
9290         * testsuite/schedulers/147713.c:
9291         * testsuite/schedulers/147819.c:
9292         * testsuite/schedulers/147894-2.c:
9293         * testsuite/schedulers/147894.c:
9294         * testsuite/schedulers/Makefile.am:
9295         * testsuite/schedulers/group_link.c:
9296         * testsuite/schedulers/queue_link.c:
9297         * testsuite/schedulers/relink.c:
9298         * testsuite/schedulers/unlink.c:
9299         * testsuite/schedulers/unref.c:
9300         * testsuite/schedulers/useless_iteration.c:
9301         * testsuite/states/bin.c:
9302           clean out/remove some stuff from the testsuite directories
9303
9304 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9305
9306         * configure.ac:
9307           check for some headers
9308         * gst/elements/Makefile.am:
9309         * gst/elements/gstelements.c:
9310           don't compile fdsrc without sys/socket.h
9311         * gst/indexers/Makefile.am:
9312         * gst/indexers/gstindexers.c: (plugin_init):
9313           don't compile fileindex without mmap
9314
9315 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9316
9317         * configure.ac:
9318           reorganize
9319           clean up
9320           document more
9321           remove cruft
9322         * check/Makefile.am:
9323         * docs/gst/Makefile.am:
9324         * examples/helloworld/Makefile.am:
9325         * gst/Makefile.am:
9326         * gst/base/Makefile.am:
9327         * gst/check/Makefile.am:
9328         * gst/elements/Makefile.am:
9329         * gst/indexers/Makefile.am:
9330         * gst/parse/Makefile.am:
9331         * libs/gst/controller/Makefile.am:
9332         * libs/gst/dataprotocol/Makefile.am:
9333         * examples/helloworld/helloworld.c: (event_loop):
9334           compile fixes, though it's not being compiled currently
9335
9336 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9337
9338         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
9339           Add some simple tests for the new taglist date API.
9340
9341 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9342
9343         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
9344         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
9345           Beautify 'last-message' output: print 'none' for buffer timestamps
9346           and durations if none is set; improve alignment with next messages.
9347
9348 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
9349
9350         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
9351         * gst/gstpluginfeature.h:
9352         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
9353         * gst/gstregistry.h:
9354         * docs/gst/gstreamer-sections.txt:
9355           Add new API to check plugin feature version requirements.
9356
9357         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
9358           Some basic tests for the above.         
9359
9360 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * gst/gststructure.c: (gst_structure_to_string):
9363           guard against NULL printf - happens when for example
9364           a message structure with GstClock gets serialized
9365
9366 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9367
9368         * gst/base/gstcollectpads.c: (gst_collectpads_event):
9369           Fix presumable copy'n'pasto.
9370
9371 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9372
9373         * gst/elements/gstfakesrc.h:
9374         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
9375         * gst/elements/gsttypefindelement.c:
9376           fix some signedness
9377         * gst/elements/gstfilesink.c: (gst_file_sink_render):
9378           I wonder if this could actually write +2GB files before
9379
9380 2005-10-13  Andy Wingo  <wingo@pobox.com>
9381
9382         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
9383         Fix Timmeke Waymans bug.
9384         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
9385         string of the proper length to gst_caps_from_string. There's a
9386         potential for, before this fix, that this could cause someone
9387         connecting over the network to cause a segfault if the payload is
9388         not NUL-terminated.
9389
9390 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9391
9392         * docs/design/draft-push-pull.txt:
9393         * docs/design/part-overview.txt:
9394         * docs/random/TODO-pre-0.9:
9395         * docs/random/old/ChangeLog.gstreamer:
9396         * gst/base/gstpushsrc.c:
9397         * gst/gstclock.c:
9398           fixed typos
9399
9400 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9401
9402         * gst/glib-compat.c: (gst_flags_get_first_value):
9403         * gst/glib-compat.h:
9404         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
9405         (gst_value_compare_double), (gst_value_serialize_flags):
9406           GLib 2.6 g_flags_get_first_value has a bug that triggers an
9407           infinite loop
9408
9409 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9410
9411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9412         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9413           fix up debugging
9414         * tools/gst-launch.c: (event_loop):
9415           print out clock nicely
9416
9417 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
9418
9419         * docs/gst/gstreamer-sections.txt:
9420         * gst/gsttaglist.h:
9421         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
9422         (gst_tag_list_get_date_index):
9423           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
9424           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
9425
9426 2005-10-13  Julien MOUTTE  <julien@moutte.net>
9427
9428         * gst/base/gstcollectpads.c: (gst_collectpads_event),
9429         (gst_collectpads_chain):
9430         * gst/base/gstcollectpads.h: Handle newsegment and store informations
9431         in CollectData.
9432
9433 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
9434
9435         * docs/gst/gstreamer-sections.txt:
9436         * gst/gst.c:
9437         * gst/gsterror.h:
9438         * tools/gst-inspect.c: (main):
9439         * tools/gst-launch.c: (main):
9440         * tools/gst-run.c: (main):
9441         * tools/gst-xmlinspect.c: (main):
9442           fix GOption context leaks
9443           doc fixes
9444
9445 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9446
9447         * gst/gstbus.c:
9448           use HAVE_UNISTD_H
9449         * win32/common/config.h:
9450           update config
9451         * win32/vs6/grammar.dsp:
9452         * win32/vs6/libgstelements.dsp:
9453         * win32/vs6/libgstreamer.dsp:
9454           update vs6 files
9455
9456 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9457
9458         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9459         * gst/base/gstbasesrc.c: (gst_base_src_query):
9460           fix more guint64<->gdouble conversions
9461
9462 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9463
9464         * Makefile.am:
9465           add win32-update target
9466         * win32/common/gstconfig.h:
9467         * win32/common/gstenumtypes.c:
9468         * win32/common/gstenumtypes.h:
9469         * win32/common/gstversion.h:
9470           add files that visual studio can't generate
9471
9472 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9473
9474         * Makefile.am:
9475           add a win32-update target
9476         * configure.ac:
9477
9478 2005-10-12  Wim Taymans  <wim@fluendo.com>
9479
9480         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9481         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
9482         * gst/gstelement.c: (gst_element_commit_state),
9483         (gst_element_set_state):
9484         Protect flags with proper lock.
9485         unref provided cached clock in dispose.
9486
9487 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9488
9489         * gst/gst.c:
9490         * gst/gstminiobject.h:
9491         * gst/gstpad.h:
9492         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
9493           removed unused flags from miniobject
9494           doc fixes
9495
9496 2005-10-12  Wim Taymans  <wim@fluendo.com>
9497
9498         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
9499         (gst_file_sink_event), (gst_file_sink_render):
9500         Flush before seeking.
9501
9502 2005-10-12  Andy Wingo  <wingo@pobox.com>
9503
9504         * gst/gst.c (gst_init_check): Ignore unknown options, as has
9505         always been the case.
9506
9507 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9508
9509         * check/gst/gstbin.c: (GST_START_TEST):
9510         * docs/gst/gstreamer-sections.txt:
9511         * gst/base/gstbasesink.c: (gst_base_sink_init):
9512         * gst/base/gstbasesrc.c: (gst_base_src_init),
9513         (gst_base_src_get_range), (gst_base_src_check_get_range),
9514         (gst_base_src_start), (gst_base_src_stop):
9515         * gst/base/gstbasesrc.h:
9516         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9517         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9518         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9519         (bin_bus_handler):
9520         * gst/gstbin.h:
9521         * gst/gstbuffer.h:
9522         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9523         * gst/gstbus.h:
9524         * gst/gstelement.c: (gst_element_is_locked_state),
9525         (gst_element_set_locked_state), (gst_element_commit_state),
9526         (gst_element_set_state):
9527         * gst/gstelement.h:
9528         * gst/gstindex.c: (gst_index_init):
9529         * gst/gstindex.h:
9530         * gst/gstminiobject.h:
9531         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9532         (gst_object_set_parent):
9533         * gst/gstobject.h:
9534         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9535         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9536         * gst/gstpad.h:
9537         * gst/gstpadtemplate.h:
9538         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9539         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9540         * gst/gstpipeline.h:
9541         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9542         (gst_file_index_commit):
9543         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9544         * testsuite/pad/link.c: (gst_test_src_init),
9545         (gst_test_filter_init), (gst_test_sink_init):
9546         * testsuite/states/locked.c: (main):
9547           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9548           moved bitshift from macro to enum definition
9549
9550 2005-10-12  Wim Taymans  <wim@fluendo.com>
9551
9552         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9553         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9554         (gst_file_sink_render):
9555         Some more debugging info.
9556
9557 2005-10-12  Wim Taymans  <wim@fluendo.com>
9558
9559         * docs/design/part-states.txt:
9560         * tools/gst-launch.c: (main):
9561         Some doc updates.
9562         Revert non-intentional change.
9563
9564 2005-10-12  Wim Taymans  <wim@fluendo.com>
9565
9566         * check/gst/gstbin.c: (GST_START_TEST):
9567         * check/gst/gstelement.c: (GST_START_TEST):
9568         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9569         * check/gst/gstghostpad.c: (GST_START_TEST):
9570         * check/gst/gstpipeline.c: (GST_START_TEST):
9571         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9572         * check/states/sinks.c: (GST_START_TEST):
9573         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9574         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9575         (gst_bin_remove_func), (gst_bin_get_state_func),
9576         (gst_bin_recalc_state), (gst_bin_change_state_func),
9577         (bin_bus_handler):
9578         * gst/gstelement.c: (gst_element_get_state_func),
9579         (gst_element_get_state), (gst_element_abort_state),
9580         (gst_element_commit_state), (gst_element_set_state),
9581         (gst_element_change_state), (gst_element_change_state_func):
9582         * gst/gstelement.h:
9583         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9584         (gst_pipeline_provide_clock_func):
9585         * gst/gstutils.c: (gst_element_link_pads_filtered):
9586         * tools/gst-launch.c: (main):
9587         * tools/gst-typefind.c: (main):
9588         Use GstClockTime in _get_state() instead of GTimeVal.
9589         Remove old code in gstutils.c
9590
9591 2005-10-12  Andy Wingo  <wingo@pobox.com>
9592
9593         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9594         removed.
9595
9596         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9597         there is no task. Shouldn't affect any code, as nothing in our
9598         plugins checks this return value.
9599         (gst_pad_stop_task): Also take the stream lock if the pad has no
9600         task. Docs updated.
9601
9602 2005-10-12  Wim Taymans  <wim@fluendo.com>
9603
9604         * gst/gstpad.c: (pre_activate), (post_activate),
9605         (gst_pad_activate_pull), (gst_pad_activate_push):
9606         Cleanup activation code. Reset old state if
9607         activation failed.
9608
9609 2005-10-12  Wim Taymans  <wim@fluendo.com>
9610
9611         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9612         (gst_base_sink_change_state):
9613         No need to prerol after receiving EOS.
9614
9615         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9616         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9617         * gst/elements/gstidentity.c: (gst_identity_event):
9618         Print events more verbosely.
9619
9620 2005-10-12  Wim Taymans  <wim@fluendo.com>
9621
9622         * check/Makefile.am:
9623         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9624         * check/states/sinks2.c:
9625         Moved sinks2 testcode in sinks check.
9626
9627         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9628         (gst_bin_remove_func), (gst_bin_recalc_state),
9629         (gst_bin_change_state_func), (bin_bus_handler):
9630         Fix potential race condition when _get_state() iterated over an
9631         ASYNC element right before it posted a state completion.
9632
9633         * gst/gstclock.h:
9634         Do proper cast here.
9635
9636         * gst/gstevent.c: (gst_event_new_newsegment),
9637         (gst_event_parse_newsegment):
9638         A playback rate of 0.0 is not allowed.
9639
9640 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9641
9642         * win32/common/config.h:
9643         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9644         (_trewinddir), (_ttelldir), (_tseekdir):
9645         * win32/common/dirent.h:
9646         * win32/common/gtchar.h:
9647         * win32/common/libgstbase.def:
9648         * win32/common/libgstreamer.def:
9649         * win32/vs6/grammar.dsp:
9650         * win32/vs6/gst_inspect.dsp:
9651         * win32/vs6/gst_launch.dsp:
9652         * win32/vs6/gstreamer.dsw:
9653         * win32/vs6/libgstbase.dsp:
9654         * win32/vs6/libgstelements.dsp:
9655         * win32/vs6/libgstreamer.dsp:
9656           Visual Studio 6 project files, and a new common directory.
9657           Phear.
9658
9659 2005-10-11  Wim Taymans  <wim@fluendo.com>
9660
9661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9662         (gst_base_sink_do_sync), (gst_base_sink_query),
9663         (gst_base_sink_change_state):
9664         * gst/base/gstbasesink.h:
9665         Correctly parse newsegment info.
9666
9667 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9668
9669         * gst/gst.c: (init_post):
9670           split plugin paths correctly
9671
9672 2005-10-11  Wim Taymans  <wim@fluendo.com>
9673
9674         * check/gst/gstevent.c: (GST_START_TEST):
9675         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9676         (gst_base_sink_change_state):
9677         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9678         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9679         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9680         * gst/gstevent.c: (gst_event_new_newsegment),
9681         (gst_event_parse_newsegment):
9682         * gst/gstevent.h:
9683         Added extra flag to newsegment for future API freeze.
9684         Updated check and base elements.
9685
9686 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9687
9688         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9689         (gst_collectpads_add_pad), (gst_collectpads_pop),
9690         (gst_collectpads_event), (gst_collectpads_chain):
9691         * gst/base/gstcollectpads.h: Handle EOS correctly.
9692
9693 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9694
9695         * tools/gst-launch.c: (main):
9696           more null protecting
9697
9698 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9699
9700         * gst/gst-i18n-lib.h:
9701           check for ENABLE_NLS, not GETTEXT_PACKAGE
9702         * gst/gstregistry.c: (gst_registry_add_plugin),
9703         (gst_registry_scan_path_level),
9704         (_gst_registry_remove_cache_plugins):
9705           protect possibly NULL strings
9706         * gst/parse/types.h:
9707           config.h already included before
9708         * tools/gst-inspect.c: (main):
9709           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9710           check for ENABLE_NLS, not GETTEXT_PACKAGE
9711         * tools/gst-launch.c: (main):
9712           check for ENABLE_NLS, not GETTEXT_PACKAGE
9713
9714 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9715
9716         * configure.ac:
9717           if we don't have glib, fail before testing 2.8
9718         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9719           fix a leak, should fix plugins-base testsuite
9720
9721 2005-10-11  Andy Wingo  <wingo@pobox.com>
9722
9723         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9724         take the mode we're going to as an arg. Go head and set the mode
9725         and flushing flags now, so that if the activate function starts a
9726         thread all the flags will be in the right state.
9727         (post_activate): Renamed also. Just handle making sure streaming
9728         finishes for the deactivation case, and setting the deactivated
9729         mode.
9730         (gst_pad_set_active): Complain loudly if deactivation fails.
9731         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9732         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9733         remove the terrible hack.
9734
9735 2005-10-11  Wim Taymans  <wim@fluendo.com>
9736
9737         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9738         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9739         (gst_bin_recalc_state), (gst_bin_change_state_func),
9740         (gst_bin_dispose), (bin_bus_handler):
9741         * gst/gstbin.h:
9742         Prepare to make current EOS message queue more generic.
9743         Fix some typos.
9744
9745         * gst/gstevent.c: (gst_event_new_newsegment),
9746         (gst_event_parse_newsegment):
9747         * gst/gstevent.h:
9748         Rename base to stream_time.
9749
9750         * gst/gstmessage.h:
9751         Fix typo in docs.
9752
9753 2005-10-11  Wim Taymans  <wim@fluendo.com>
9754
9755         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9756         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9757         (gst_bin_change_state_func), (bin_bus_handler):
9758         * gst/gstbin.h:
9759         Work on proper clock selection.
9760
9761 2005-10-11  Edward Hervey  <edward@fluendo.com>
9762
9763         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9764         * libs/gst/controller/gstcontroller.h:
9765         Added GList* version of _remove_properties() in order to be able to wrap
9766         it in bindings.
9767
9768 2005-10-11  Wim Taymans  <wim@fluendo.com>
9769
9770         * docs/design/part-states.txt:
9771         Some more docs.
9772
9773         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9774         (gst_bin_change_state_func), (bin_bus_handler):
9775         Doc updates. Don't distribute the same clock over and over again.
9776
9777         * gst/gstclock.c:
9778         * gst/gstclock.h:
9779         Doc updates.
9780
9781         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9782         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9783         (gst_pad_send_event):
9784         * gst/gstpad.h:
9785         Make probe emission threadsafe again.
9786         Register quarks and move _get_name() from utils.
9787         Doc updates.
9788
9789         * gst/gstpipeline.c: (gst_pipeline_class_init),
9790         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9791         Only redistribute the clock of it changed.
9792
9793         * gst/gstsystemclock.h:
9794         Doc updates. 
9795
9796         * gst/gstutils.c:
9797         * gst/gstutils.h:
9798         Moved the _flow_get_name() to GstPad.
9799
9800 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9801
9802         * check/gst-libs/gdp.c: (GST_START_TEST):
9803         * check/gst/gstcaps.c: (GST_START_TEST):
9804         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9805         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9806         (gst_dp_packet_from_caps):
9807           fix more valgrind warnings before turning up the heat
9808
9809 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9810
9811         * gst/parse/grammar.y:
9812           some cleanup before the hacking
9813
9814 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9815
9816         * gst/base/gstbasesrc.c: (gst_base_src_query):
9817           use conversions
9818         * gst/gstutils.c: (gst_guint64_to_gdouble),
9819         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9820         * gst/gstutils.h:
9821           externalize, basesrc uses it
9822           obviously the implementation needs testing
9823
9824 2005-10-10  Wim Taymans  <wim@fluendo.com>
9825
9826         * tests/sched/Makefile.am:
9827         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9828         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9829
9830 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9831
9832         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9833           apparently converting from guint64 to double is not implemented
9834           on MSVC
9835
9836 2005-10-10  Wim Taymans  <wim@fluendo.com>
9837
9838         * check/Makefile.am:
9839         * check/generic/states.c: (GST_START_TEST):
9840         * check/gst/gstbin.c: (GST_START_TEST):
9841         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9842         * check/states/sinks.c: (GST_START_TEST):
9843         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9844         (main):
9845         Check fixes, use API as stated in design docs, remove hacks.
9846
9847         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9848         (gst_base_sink_change_state):
9849         Catch stopping our task while we're shutting down.
9850
9851         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9852         (gst_bin_remove_func), (gst_bin_get_state_func),
9853         (gst_bin_recalc_state), (gst_bin_change_state_func),
9854         (bin_bus_handler):
9855         * gst/gstbin.h:
9856         * gst/gstelement.c: (gst_element_init),
9857         (gst_element_get_state_func), (gst_element_abort_state),
9858         (gst_element_commit_state), (gst_element_lost_state),
9859         (gst_element_set_state), (gst_element_change_state),
9860         (gst_element_change_state_func):
9861         * gst/gstelement.h:
9862         New state change algorithm (see #318116)
9863
9864         * gst/gstpipeline.c: (gst_pipeline_class_init),
9865         (gst_pipeline_init), (gst_pipeline_set_property),
9866         (gst_pipeline_get_property), (do_pipeline_seek),
9867         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9868         * gst/gstpipeline.h:
9869         Remove crude state change hacks.
9870
9871         * gst/gstutils.h:
9872         Remove crude hacks.
9873
9874         * tools/gst-launch.c: (main):
9875         Fixes for state change. Needs some more work to fully use the
9876         new stuff.
9877
9878 2005-10-10  Andy Wingo  <wingo@pobox.com>
9879
9880         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9881
9882         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9883         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9884         issue.
9885
9886 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9887
9888         * gst/gstiterator.c: (gst_iterator_new):
9889           Fix my previous commit: GTypes passed to gst_iterator_new()
9890           can be fundamental types.
9891
9892 2005-10-10  Wim Taymans  <wim@fluendo.com>
9893
9894         * gst/gstelement.c: (gst_element_iterate_pad_list),
9895         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9896         (gst_element_iterate_sink_pads):
9897         Use src/sink pads lists for the respective iterators instead
9898         of filtering.
9899
9900 2005-10-10  Andy Wingo  <wingo@pobox.com>
9901
9902         Merged in popt removal + GOption addition patch from Ronald, bug
9903         #169772.
9904
9905         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9906         GstElement macros around, remove popt-related symbols, add goption
9907         stuff.
9908
9909         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9910         
9911         * docs/gst/Makefile.am:
9912         * docs/libs/Makefile.am: No POPT_CFLAGS.
9913         
9914         * examples/manual/Makefile.am:
9915         * docs/manual/basics-init.xml: Doc updates with an example.
9916         
9917         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9918         (gst_init), (parse_one_option), (parse_goption_arg):
9919         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9920         bit of hand merging and debugging to get the GOption stuff working
9921         tho.
9922         
9923         * tests/Makefile.am:
9924         * tools/Makefile.am:
9925         * tools/gst-inspect.c: (main):
9926         * tools/gst-launch.c: (main):
9927         * tools/gst-run.c: (main):
9928         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9929
9930 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9931
9932         * gst/gstiterator.c: (gst_iterator_new):
9933           Add assertions to make sure passed GType is likely to really
9934           be a GType (as the compiler won't catch it if the size and
9935           GType arguments get mixed up, see #318447).
9936
9937 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9938
9939         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9940
9941         * gst/gstbin.c: (gst_bin_iterate_sorted):
9942           Pass GType and size arguments to gst_iterator_new() in the right
9943           order (maybe we should make _new() take the GType as first argument
9944           just like _new_list()?) (#318447).
9945           
9946
9947 2005-10-10  Wim Taymans  <wim@fluendo.com>
9948
9949         * gst/gstelement.c: (gst_element_finalize):
9950         And free the GStaticRecMutex too
9951
9952 2005-10-10  Andy Wingo  <wingo@pobox.com>
9953
9954         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9955         Allocate and free the mutex properly.
9956
9957         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9958         New macros.
9959         (GstElement): The state_lock is now recursive. Rebuild your
9960         plugins, suckers. Old macros adapted.
9961
9962         * docs/gst/gstreamer-sections.txt: Doc updates.
9963
9964         * gst/gstutils.h:
9965         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9966         (g_static_rec_cond_wait): Ported from state changes patch, while
9967         we wait on bug #317802 to be solved in a well-distributed GLib.
9968
9969         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9970         gst_element_change_state, variable name changes.
9971         (gst_element_change_state): Split out of gst_element_set_state in
9972         preparation for the state change merge. Doesn't pay attention to
9973         the 'transition' argument.
9974         (gst_element_set_state): Updates, hopefully purely cosmetic.
9975         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9976         state change patch.
9977         (gst_element_get_state_func): Renamed from get_state, cosmetic
9978         changes.
9979
9980 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9981
9982         * gst/elements/gstelements.c:
9983         * win32/GStreamer.vcproj:
9984         * win32/config.h:
9985         * win32/dirent.c: (_tseekdir):
9986         * win32/gst-inspect.vcproj:
9987         * win32/gst-launch.vcproj:
9988         * win32/gstconfig.h:
9989         * win32/gstelements.vcproj:
9990         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9991         * win32/gstreamer.def:
9992         * win32/msvc71.sln:
9993           updates for the win32 build (patch from Sebastien Moutte)
9994
9995 2005-10-10  Andy Wingo  <wingo@pobox.com>
9996
9997         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9998         gst_bin_get_state, cleaned up (but no logic changes).
9999         (bin_element_is_sink): Comment updates.
10000         (sink_iterator_filter): Remove needless cast.
10001         (gst_bin_iterate_sinks): Doc update.
10002         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
10003         cleaned up (but no logic changes).
10004
10005         * check/states/sinks.c (test_src_sink): Cleanups from the state
10006         change patch.
10007         (test_livesrc_sink): Sync on the state.
10008
10009         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
10010         the state change patch.
10011
10012         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
10013         change patch.
10014
10015         * check/gst/gstbin.c: Merge in some style fixes and additional
10016         checks from Wim's state change patch.
10017
10018 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
10019
10020         * gst/base/gsttypefindhelper.c: (helper_find_peek),
10021         (gst_type_find_helper):
10022           Check whether we have the requested data already in our list of
10023           cached buffers before pulling a new buffer; also make the buffer
10024           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
10025
10026 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10027
10028         * gst/gstcaps.c:
10029         * gst/gstevent.c:
10030           doc updates
10031         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
10032           don't use long long, it's not portable.  Replacing with
10033           gint64 seems to work; let's hope no skeletons fall out of the closet.
10034
10035 2005-10-10  Andy Wingo  <wingo@pobox.com>
10036
10037         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
10038
10039 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
10040
10041         * docs/gst/gstreamer-sections.txt:
10042         * gst/gstevent.c:
10043         * gst/gstevent.h:
10044         * gst/gstinfo.c:
10045         * gst/gstinfo.h:
10046         * gst/gstmessage.c: (gst_message_parse_state_changed):
10047         * gst/gstpad.c:
10048         * gst/gstpad.h:
10049           more docs, fix compilation
10050
10051 2005-10-09  Philippe Khalaf <burger@speedy.org>
10052         * gst/gstmessage.c:
10053           Fixed a few forgotten variables on previous commit
10054
10055 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
10056
10057         * gst/base/gsttypefindhelper.c: (helper_find_peek):
10058           Fix evil typefind crasher: getrange() might return a short
10059           buffer at the end of a file, but gst_type_find_peek() must
10060           either return the full data as requested or NULL, but
10061           never a short buffer.
10062
10063 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10064
10065         * gst/gstmessage.c: (gst_message_new_state_changed),
10066         (gst_message_parse_state_changed):
10067         * gst/gstmessage.h:
10068           don't use "new", it's a C++ keyword
10069
10070 2005-10-08  Wim Taymans  <wim@fluendo.com>
10071
10072         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
10073         * gst/gstelement.c: (gst_element_post_message):
10074         * gst/gstpipeline.c: (gst_pipeline_change_state):
10075         Small docs and debug updates.
10076
10077 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10078
10079         * docs/gst/gstreamer-sections.txt:
10080         * gst/gstelementfactory.c:
10081         * gst/gstevent.c:
10082         * gst/gsttaglist.c:
10083           more docs
10084
10085 2005-10-08  Wim Taymans  <wim@fluendo.com>
10086
10087         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
10088         (gst_bin_dispose), (bin_bus_handler):
10089         Fix typos, add comments.
10090         Clear EOS list when going to PAUSED from any direction and do it
10091         in a threadsafe way.
10092         Get base time in a threadsafe way too.
10093         Fix confusing debug in the change_state function.
10094         Various other small cleanups.
10095         
10096         * gst/gstelement.c: (gst_element_post_message):
10097         Fix very verbose bus posting code.
10098
10099         * gst/gstpipeline.c: (gst_pipeline_class_init),
10100         (gst_pipeline_set_property), (gst_pipeline_get_property),
10101         (gst_pipeline_change_state):
10102         Small ARG_ -> PROP_ cleanup
10103
10104 2005-10-08  Wim Taymans  <wim@fluendo.com>
10105
10106         * gst/gstbin.c: (is_eos), (bin_bus_handler):
10107         Do a less CPU demanding EOS check because we can.
10108
10109 2005-10-08  Wim Taymans  <wim@fluendo.com>
10110
10111         * libs/gst/dataprotocol/dataprotocol.c:
10112         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10113         (gst_dp_packet_from_event):
10114         * libs/gst/dataprotocol/dataprotocol.h:
10115         * libs/gst/dataprotocol/dp-private.h:
10116         It's about time we bump the version number.
10117         Since event types don't fit in the guint8 anymore describing
10118         the payload type, make payload type 16 bits wide.
10119
10120 2005-10-08  Wim Taymans  <wim@fluendo.com>
10121
10122         * docs/design/part-TODO.txt:
10123         * docs/design/part-clocks.txt:
10124         * docs/design/part-events.txt:
10125         * docs/design/part-gstbin.txt:
10126         * docs/design/part-gstelement.txt:
10127         * docs/design/part-gstpipeline.txt:
10128         * docs/design/part-live-source.txt:
10129         * docs/design/part-messages.txt:
10130         * docs/design/part-overview.txt:
10131         * docs/design/part-states.txt:
10132         Many doc updates.
10133
10134 2005-10-08  Wim Taymans  <wim@fluendo.com>
10135
10136         * gst/gstevent.c:
10137         * gst/gstevent.h:
10138         Fix event quark registration.
10139         Add some space between events so we can insert them in the
10140         right groups.
10141
10142 2005-10-08  Wim Taymans  <wim@fluendo.com>
10143
10144         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10145         (gst_base_sink_handle_buffer):
10146         Better log message.
10147
10148         * gst/gstbus.h:
10149         * gst/gstelement.h:
10150         More docs.
10151
10152         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
10153         (gst_queue_set_property), (gst_queue_get_property):
10154         * gst/gstqueue.h:
10155         Remove old unused properties.
10156
10157 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
10158         * docs/gst/gstreamer-sections.txt:
10159         * gst/gstmessage.c:
10160         * gst/gstmessage.h:
10161         * gst/gstminiobject.c:
10162         * gst/gstminiobject.h:
10163         * gst/gstobject.h:
10164         * gst/gstpad.h:
10165         * gst/gstutils.h:
10166           lots of new docs and doc fixes
10167
10168 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10169
10170         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
10171         * gst/gstplugin.h:
10172         * gst/gstregistry.c: (gst_registry_lookup_locked),
10173         (gst_registry_scan_path_level):
10174         * gst/gstregistryxml.c: (load_plugin):
10175           Only ever load one plugin for a given plugin basename.
10176           This ensures correct overriding of GST_PLUGIN_PATH over
10177           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
10178           system installed plugins.
10179
10180 2005-10-08  Wim Taymans  <wim@fluendo.com>
10181
10182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10183         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
10184         Prepare for doing QOS.
10185
10186 2005-10-08  Wim Taymans  <wim@fluendo.com>
10187
10188         * check/gst/gstbin.c: (GST_START_TEST):
10189         * check/pipelines/cleanup.c: (GST_START_TEST):
10190         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10191         Allow new clock message too.
10192
10193 2005-10-08  Wim Taymans  <wim@fluendo.com>
10194
10195         * gst/gstmessage.c: (gst_message_new_error),
10196         (gst_message_new_warning), (gst_message_new_tag),
10197         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10198         (gst_message_new_clock_lost), (gst_message_new_new_clock),
10199         (gst_message_new_segment_start), (gst_message_new_segment_done),
10200         (gst_message_parse_state_changed),
10201         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
10202         (gst_message_parse_new_clock):
10203         * gst/gstmessage.h:
10204         Also carry the clock in question.
10205
10206 2005-10-08  Wim Taymans  <wim@fluendo.com>
10207
10208         * gst/gstmessage.c: (gst_message_new_custom),
10209         (gst_message_new_eos), (gst_message_new_error),
10210         (gst_message_new_warning), (gst_message_new_tag),
10211         (gst_message_new_state_changed), (gst_message_new_clock_provide),
10212         (gst_message_new_new_clock), (gst_message_new_segment_start),
10213         (gst_message_new_segment_done), (gst_message_parse_state_changed),
10214         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
10215         * gst/gstmessage.h:
10216         Clean up.
10217         Added clock related messages.
10218
10219         * gst/gstpipeline.c: (gst_pipeline_change_state):
10220         Post message when the clock changed.
10221
10222         * tools/gst-launch.c: (event_loop):
10223         Print new clock.
10224
10225 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
10226
10227         * tools/gst-inspect.c: (print_element_properties_info):
10228           Can't pass NULL strings to g_print() on windows.
10229
10230 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10231
10232         * docs/Makefile.am:
10233         * docs/gst/Makefile.am:
10234         * docs/gst/gstreamer-docs.sgml:
10235         * docs/gst/running.xml:
10236         * docs/version.entities.in:
10237           add a chapter on running GStreamer.
10238           document GST_DEBUG and GST_PLUGIN* env vars
10239
10240 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10241
10242         * Makefile.am:
10243           remove include dir
10244         * configure.ac:
10245           remove PLUGINS_BUILDDIR stuff
10246         * gst/gst.c: (init_post):
10247           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
10248         * idiottest.mak:
10249           remove, it was condescending and not needed
10250
10251 2005-10-08  Wim Taymans  <wim@fluendo.com>
10252
10253         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
10254         (gst_base_sink_handle_object), (gst_base_sink_event),
10255         (gst_base_sink_wait), (gst_base_sink_handle_event),
10256         (gst_base_sink_change_state):
10257         * gst/base/gstbasesink.h:
10258         Repost EOS message while going to PLAYING if still EOS.
10259         Make sure that when receiving a FLUSH_START we don't attempt
10260         to sync on the clock anymore.
10261
10262 2005-10-08  Wim Taymans  <wim@fluendo.com>
10263
10264         * tools/gst-launch.c: (event_loop):
10265         Better message printout.
10266
10267 2005-10-08  Wim Taymans  <wim@fluendo.com>
10268
10269         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
10270         (gst_bin_child_proxy_get_children_count):
10271         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
10272         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
10273         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
10274         (gst_child_proxy_set_valist):
10275         * gst/parse/grammar.y:
10276         Make ChildProxy threadsafe and fix mem leaks.
10277
10278 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10279
10280         * gst/gst.c: (init_post):
10281           debug the GST_PLUGIN_ env vars
10282
10283 2005-10-08  Wim Taymans  <wim@fluendo.com>
10284
10285         * check/gst/gstbin.c: (GST_START_TEST):
10286         * check/gst/gstmessage.c: (GST_START_TEST):
10287         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10288         * gst/gstelement.c: (gst_element_commit_state),
10289         (gst_element_lost_state):
10290         * gst/gstmessage.c: (gst_message_new_state_changed),
10291         (gst_message_parse_state_changed):
10292         * gst/gstmessage.h:
10293         * tools/gst-launch.c: (event_loop):
10294         Added extra field to STATE_CHANGE message with the pending
10295         state, which will be different from the new state soon.
10296
10297 2005-10-08  Wim Taymans  <wim@fluendo.com>
10298
10299         * gst/gstbus.c: (gst_bus_pop):
10300         * gst/gstclock.c:
10301         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10302         Small cleanups and doc updates.
10303
10304 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
10305
10306         * gst/gst.c: (init_pre):
10307         * gst/gstbin.c: (gst_bin_add_func):
10308           log distributing clocks and base time
10309         * gst/gstregistry.c: (gst_registry_add_plugin),
10310         (gst_registry_scan_path_level), (gst_registry_scan_path):
10311           clean up the debugging output a little
10312         * gst/gstutils.c: (gst_element_state_get_name):
10313           warn about a memleak (I've actually seen this be used, though
10314           it was probably a bug)
10315
10316 2005-10-07  Wim Taymans  <wim@fluendo.com>
10317
10318         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10319         (gst_base_src_init), (gst_base_src_default_newsegment),
10320         (gst_base_src_newsegment), (gst_base_src_do_seek),
10321         (gst_base_src_loop), (gst_base_src_start):
10322         * gst/base/gstbasesrc.h:
10323         Make the newsegment event customizable by subclasses.
10324
10325 2005-10-07  Wim Taymans  <wim@fluendo.com>
10326
10327         * gst/gstevent.c: (gst_event_new_buffersize),
10328         (gst_event_parse_buffersize):
10329         * gst/gstevent.h:
10330         New event for future idea.
10331
10332 2005-10-07  Andy Wingo  <wingo@pobox.com>
10333
10334         * gst/gstelement.c (gst_element_post_message): Doc update.
10335
10336         * docs/gst/gstreamer-sections.txt: Update.
10337
10338         * gst/gstmessage.c (gst_message_new_application): Made into a
10339         function like honest API calls.
10340         (gst_message_new_element): New message type.
10341
10342         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
10343
10344         * check/elements/fakesrc.c (test_no_preroll): New check, checks
10345         that setting a live fakesrc to PAUSED returns NO_PREROLL both
10346         times.
10347
10348         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
10349         NO_PREROLL from gst_element_change_state to fall through.
10350
10351 2005-10-07  Wim Taymans  <wim@fluendo.com>
10352
10353         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
10354         (gst_ghost_pad_do_activate_push):
10355         Activating a ghostpad with no internal pad in push mode
10356         is ok.
10357
10358 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10359
10360         * gst/gstobject.h:
10361           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
10362           Fixes compilation on Windows.
10363
10364 2005-10-07  Michael Smith <msmith@fluendo.com>
10365
10366         * tools/gst-inspect.c:
10367           Print out feature and plugin count at the end when printing out
10368           all features.
10369
10370 2005-10-04  Michael Smith <msmith@fluendo.com>
10371
10372         * gst/gsterror.c: (_gst_stream_errors_init):
10373           Add another error string used in a few existing plugins.
10374
10375         * gst/gstplugin.c:
10376         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10377         * tools/gst-inspect.c: (print_element_info):
10378           When a feature disappears from a plugin (and the feature exists in
10379           the cached registry file), things went horribly wrong. This isn't a
10380           complete fix, we should actually be removing the 'missing' features
10381           from the features list when we load the actual plugin. That's not
10382           yet implemented. 
10383
10384 2005-10-04  Johan Dahlin  <johan@gnome.org>
10385
10386         * check/gst/gstiterator.c: (GST_START_TEST):
10387         * gst/gstbin.c: (gst_bin_iterate_elements),
10388         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
10389         * gst/gstelement.c: (gst_element_iterate_pads):
10390         * gst/gstformat.c: (gst_format_iterate_definitions):
10391         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
10392         (gst_iterator_new_list), (gst_iterator_filter):
10393         * gst/gstiterator.h:
10394         * gst/gstquery.c: (gst_query_type_iterate_definitions):
10395         Add a GType to GstIterator, update callsites and tests.
10396
10397 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10398
10399         * gst/gstpad.c: (gst_pad_event_default_dispatch):
10400           give events a chance to be handled by event probes when the pad
10401           is not linked
10402
10403 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10404
10405         * gst/gstevent.c: (gst_event_type_get_name),
10406         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
10407         * gst/gstevent.h:
10408           add string representations for event types
10409
10410 2005-10-06  Wim Taymans  <wim@fluendo.com>
10411
10412         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
10413         Don't use NULL pointers.
10414
10415 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10416
10417         * gst/gst_private.h:
10418         * gst/gstbus.c:
10419         * gst/gstelement.c:
10420         * gst/gstinfo.c:
10421         * gst/gstpluginfeature.c:
10422           widen the debug category in output to fit the biggest one we have
10423           add a bus category and use it
10424           play with the colors
10425           fix up some categories
10426
10427 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10428
10429         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
10430           add push activation of sink ghost pads.
10431           Andye, please verify
10432
10433 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10434
10435         * gst/gstutils.c: (gst_element_link_pads):
10436           fix a bug in the case where neither element has a pad
10437         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10438           add a test for that case
10439
10440 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10441
10442         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
10443           emit have-data before checking for peers.  This allows
10444           for probe handlers to connect elements.  This helps autopluggers.
10445         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
10446         (gst_pad_suite):
10447           add six checks, linked/unlinked with no/true/false probe
10448
10449 2005-10-04  Wim Taymans  <wim@fluendo.com>
10450
10451         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
10452         (gst_fake_sink_event), (gst_fake_sink_preroll),
10453         (gst_fake_sink_render), (gst_fake_sink_change_state):
10454         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
10455         (gst_fake_src_get_property), (gst_fake_src_create),
10456         (gst_fake_src_stop):
10457         * gst/elements/gstidentity.c: (gst_identity_stop):
10458         Protect last_message with lock.
10459
10460 2005-10-04  Edward Hervey  <edward@fluendo.com>
10461
10462         * gst/gstformat.h: 
10463         Added precision in the comments for GST_FORMAT_DEFAULT
10464
10465 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
10466
10467         * tools/gst-launch.c: (main):
10468           Don't try to run erroneous pipelines.
10469
10470 2005-10-04  Julien MOUTTE  <julien@moutte.net>
10471
10472         * gst/gstbus.c: We don't need this header.
10473
10474 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10475
10476         * configure.ac:
10477           back to development
10478
10479 === release 0.9.3 ===
10480
10481 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10482
10483         * README:
10484         * configure.ac:
10485           Releasing 0.9.3, "Unregistered"
10486
10487 2005-10-03  Andy Wingo  <wingo@pobox.com>
10488
10489         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
10490         whereby calling a pad's activatepush() function can start a thread
10491         that starts to push or pull before the pad gets the FLUSHING flag
10492         unset. Hack around it by holding the stream lock until the flag is
10493         set. Need to replace this with a proper solution. Together with
10494         the ghost pad fixes, this fixes mp3 playing/tagreading.
10495
10496         * docs/design/part-gstghostpad.txt: Add a note about activation of
10497         proxy pads outside of ghost pads.
10498
10499         * gst/gstghostpad.c: Implement the ghost pad activation design.
10500
10501 2005-10-02  Andy Wingo  <wingo@pobox.com>
10502
10503         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
10504         It is volatile, after all.
10505
10506         * docs/design/part-gstghostpad.txt: Flesh out activation with
10507         ghost pads.
10508
10509         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10510         GST_DEBUG_FUNCPTR.
10511
10512 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10513
10514         * configure.ac:
10515           Fix (unused) AM_CONDITIONAL tests.
10516
10517 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10518
10519         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10520
10521         * gst/gstutils.c: (gst_pad_query_convert):
10522           Add assertion that makes sure src_val is >=0, just like
10523           gst_query_new_convert() has. (#315895)
10524
10525 2005-09-30  Edward Hervey  <edward@fluendo.com>
10526
10527         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10528         Let's not iterate pads we're not interested in, it avoids getting 
10529         sky-high refcounts on sinkpad.
10530
10531 2005-09-30  Wim Taymans  <wim@fluendo.com>
10532
10533         * gst/gstelement.c: (gst_element_set_state),
10534         (gst_element_change_state):
10535         Small tweak, element in ASYNC remains ASYNC.
10536
10537 2005-09-30  Wim Taymans  <wim@fluendo.com>
10538
10539         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10540         Only error is an error.
10541
10542         * gst/gstbin.c: (gst_bin_change_state):
10543         Better debugging.
10544
10545         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10546         Also call pad_block in pad alloc.
10547
10548         * gst/gstutils.c: (gst_flow_get_name):
10549         Better debugging.
10550
10551 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10552
10553         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10554         (gst_base_src_get_range):
10555           Fix documentation typos. Add some more debug info.
10556
10557 2005-09-29  David Schleef  <ds@schleef.org>
10558
10559         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10560           more end-user friendly.
10561         * tools/gst-inspect.c: (main): Check if command-line argument is
10562           a file and attempt to load that file as a plugin.
10563
10564 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10565
10566         * check/gst/gstbin.c:
10567         * check/states/sinks.c:
10568           fix tests for the new warning
10569         * check/gst/gstpipeline.c:
10570           add a test for pipeline and bus interaction
10571         * gst/gstelement.c:
10572           elements should be NULL if they get disposed; add a warning if not
10573
10574 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10575
10576         * gst/gstobject.c:
10577           for 2.6 refcounting, make debug log more correct by printing
10578           the actual refcounts at the time of swap (Wim)
10579
10580 2005-09-29  Andy Wingo  <wingo@pobox.com>
10581
10582         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10583         removes signal watches previously added via
10584         gst_bus_add_signal_watch.
10585         (gst_bus_add_signal_watch): Don't return the source id, just store
10586         it on the bus if there wasn't an id already.
10587
10588         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10589         add_signal_watch and remove_signal_watch.
10590
10591 2005-09-29  Edward Hervey  <edward@fluendo.com>
10592
10593         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10594         Better if we actually iterate the list :)
10595
10596 2005-09-29  Wim Taymans  <wim@fluendo.com>
10597
10598         * check/gst/gstbin.c: (GST_START_TEST):
10599         Change for new bus API.
10600
10601         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10602         (send_messages), (GST_START_TEST), (gstbus_suite):
10603         Change for new bus signal API.
10604
10605         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10606         (gst_bus_source_prepare), (gst_bus_source_check),
10607         (gst_bus_create_watch), (gst_bus_add_watch_full),
10608         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10609         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10610         * gst/gstbus.h:
10611         Remove support for multiple GSources operating on different
10612         message types as it is too complex and unneeded when using
10613         signals.
10614         Added support for receiving signals from the bus.
10615
10616 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10617
10618         * docs/libs/tmpl/gstdataprotocol.sgml:
10619         * docs/manual/advanced-dataaccess.xml:
10620         * gst/elements/gstcapsfilter.c:
10621         * gst/gstutils.c:
10622           rename filter-caps to caps property
10623
10624 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10625
10626         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10627           More robust fraction string parsing.
10628
10629         * docs/pwg/appendix-porting.xml:
10630           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10631
10632 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10633
10634         * gst/gstcaps.c: (gst_caps_do_simplify):
10635           Thou shalt not free a structure and then continue using it
10636           in the next loop iteration.
10637
10638         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10639         (gst_caps_suite):
10640           Add test case for caps simplification.
10641
10642 2005-09-29  Wim Taymans  <wim@fluendo.com>
10643
10644         * check/gst/gstbin.c: (GST_START_TEST):
10645         Oops.
10646
10647 2005-09-29  Wim Taymans  <wim@fluendo.com>
10648
10649         * check/gst/gstbin.c: (GST_START_TEST):
10650         Add bus to bin.
10651
10652         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10653         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10654         (find_element), (gst_bin_sort_iterator_next),
10655         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10656         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10657         (gst_bin_change_state), (gst_bin_dispose):
10658         A bin does not have a bus, it gets the bus from the parent.
10659
10660         * gst/gstelement.c: (gst_element_requires_clock),
10661         (gst_element_provides_clock), (gst_element_is_indexable),
10662         (gst_element_is_locked_state), (gst_element_change_state),
10663         (gst_element_set_bus_func):
10664         Small cleanups.
10665
10666         * gst/gstpipeline.c: (gst_pipeline_class_init),
10667         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10668         The pipeline provides a bus.
10669
10670 2005-09-28  Johan Dahlin  <johan@gnome.org>
10671
10672         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10673         gst_structure_get_enum instead of gst_structure_get_int
10674
10675         * gst/gststructure.c (gst_structure_get_enum): Impl.
10676
10677         * gst/gststructure.h (gst_structure_get_enum): Add
10678
10679         * docs/gst/gstreamer-sections.txt: Ditto
10680
10681         * gst/gstmessage.c (gst_message_new_state_changed): Use
10682         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10683         which does introspection.
10684         Reviewed by Christian Schaller
10685
10686 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10687
10688         * gst/gstinfo.c: (gst_debug_log_default):
10689           don't do dummy g_strdup()s
10690         * libs/gst/controller/gstcontroller.c:
10691         (on_object_controlled_property_changed),
10692         (gst_controlled_property_new), (gst_controller_new_valist),
10693         (gst_controller_new_list),
10694         (gst_controller_remove_properties_valist), (gst_controller_set),
10695         (gst_controller_get), (gst_controller_sync_values),
10696         (gst_controller_get_value_array), (_gst_controller_class_init),
10697         (gst_controller_get_type):
10698         * libs/gst/controller/gstcontroller.h:
10699         * libs/gst/controller/gstinterpolation.c:
10700         (gst_controlled_property_find_timed_value_node):
10701           convert // to /**/ comments
10702
10703 2005-09-28  Wim Taymans  <wim@fluendo.com>
10704
10705         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10706         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10707         (gst_bus_sync_signal_handler):
10708         * gst/gstbus.h:
10709         Added async-message and sync-message signals to the bus.
10710         Added helper BusFunc to emit signals for all posted messages.
10711
10712         * gst/gstmessage.c: (gst_message_type_get_name),
10713         (gst_message_type_to_quark), (gst_message_get_type):
10714         * gst/gstmessage.h:
10715         Register quarks for message names.
10716
10717 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10718
10719         * docs/libs/gstreamer-libs-sections.txt:
10720         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10721         (gst_controller_new_list):
10722         * libs/gst/controller/gstcontroller.h:
10723           added another constructor for language bindings
10724
10725 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10726
10727         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10728           add another check
10729         * gst/gstbus.c:
10730           add some doc
10731         * gst/gstinfo.c: (_gst_debug_init):
10732           slightly more readable color for refcount debugging
10733
10734 2005-09-28  Wim Taymans  <wim@fluendo.com>
10735
10736         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10737         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10738         (find_element), (gst_bin_sort_iterator_next),
10739         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10740         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10741         (gst_bin_change_state), (gst_bin_dispose):
10742         Small doc fixes. get_clock -> provide_clock.
10743
10744         * gst/gstelement.c: (gst_element_class_init),
10745         (gst_element_provides_clock), (gst_element_provide_clock),
10746         (gst_element_get_clock), (gst_element_commit_state),
10747         (gst_element_lost_state):
10748         * gst/gstelement.h:
10749         Make get/set_clock() symetric. Add provide_clock vmethod since
10750         that is actually what this function does.
10751
10752         * gst/gstpipeline.c: (gst_pipeline_class_init),
10753         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10754         (gst_pipeline_get_clock):
10755         get_clock -> provide_clock.
10756
10757 2005-09-28  Andy Wingo  <wingo@pobox.com>
10758
10759         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10760         lieu of real docs...
10761
10762         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10763
10764 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10765
10766         * gst/elements/gstcapsfilter.c:
10767         * gst/elements/gstfakesink.c:
10768         * gst/elements/gstfakesrc.c:
10769         * gst/elements/gstfdsink.c:
10770         * gst/elements/gstfdsrc.c:
10771         * gst/elements/gstfilesink.c:
10772         * gst/elements/gstfilesrc.c:
10773         * gst/elements/gstidentity.c:
10774         * gst/elements/gsttee.c:
10775         * gst/elements/gsttypefindelement.c:
10776           Make element details static.
10777
10778 2005-09-28  Wim Taymans  <wim@fluendo.com>
10779
10780         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10781         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10782         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10783         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10784         (gst_bin_change_state), (gst_bin_dispose):
10785         Some documentation updates.
10786         Clean up dispose handlers.
10787
10788         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10789         * gst/gstpad.c: (gst_pad_dispose):
10790         Clean up dispose handler.
10791
10792         * gst/gstpipeline.c: (gst_pipeline_change_state):
10793         Removed spurious UNLOCK.
10794
10795 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10796
10797         * docs/gst/gstreamer-sections.txt:
10798         * gst/base/gstbasesrc.h:
10799         * gst/gstelement.h:
10800         * gst/gstevent.h:
10801         * gst/gstobject.h:
10802         * gst/gstpad.h:
10803         * gst/gstpipeline.c:
10804         * gst/gstpipeline.h:
10805         * gst/gstutils.h:
10806         * gst/gstxml.h:
10807           added two new functions to the docs
10808                 documents all undocumented GstXXXFlags
10809                 completed some incomplete docs 
10810
10811 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10812
10813         * gst/gstbin.c: (gst_bin_dispose):
10814         * gst/gstelement.c: (gst_element_dispose):
10815           remove now useless and leaky resurrection code in dispose
10816         * gst/base/gstbasesrc.c: (gst_base_src_init):
10817         * gst/gstelementfactory.c: (gst_element_factory_create):
10818         * gst/gstobject.c: (gst_object_set_parent):
10819           add some debugging
10820
10821 2005-09-27  Wim Taymans  <wim@fluendo.com>
10822
10823         * docs/design/part-TODO.txt:
10824         Update TODO.
10825
10826         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10827         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10828         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10829         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10830         (gst_bin_change_state):
10831         * gst/gstelement.h:
10832         Remove element variable, we keep element info in the iterator now.
10833
10834 2005-09-27  Andy Wingo  <wingo@pobox.com>
10835
10836         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10837         values.
10838
10839 2005-09-27  Wim Taymans  <wim@fluendo.com>
10840
10841         * check/gst/gstbin.c: (GST_START_TEST):
10842         Enable check that works now.
10843
10844         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10845         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10846         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10847         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10848         (gst_bin_change_state):
10849         * gst/gstbin.h:
10850         Redid the state change algorithm using a topological sort algo.
10851         Handles all cases correctly.
10852         Exposed iterator for state change order.
10853
10854         * gst/gstelement.h:
10855         Temp storage for state changes. Need to get rid of this soon.
10856
10857 2005-09-27  Wim Taymans  <wim@fluendo.com>
10858
10859         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10860         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10861         (link_fold_func), (gst_pad_proxy_setcaps):
10862         Leak fixes, the fold functions need to unref the passed object and
10863         _get_parent_*() returns ref to parent.
10864
10865 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10866
10867         * check/gst/gstbuffer.c: (test_make_writable):
10868           Plug leak in test case and fix 'make check-valgrind'
10869
10870 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10871
10872         * gst/gstbuffer.c: (gst_subbuffer_init):
10873           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10874           works correctly in all circumstances (we could have just copied
10875           the parent buffer's readonly flag, but conceptually it seems
10876           cleaner to mark all subbuffers as read-only). (based on patch
10877           by Alessandro Decina, #314710).
10878         
10879         * check/gst/gstbuffer.c: (create_read_only_buffer),
10880         (test_make_writable), (test_subbuffer_make_writable),
10881         (gst_test_suite):
10882           Add some tests for gst_buffer_make_writable().
10883
10884 2005-09-27  Wim Taymans  <wim@fluendo.com>
10885
10886         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10887         use gst_object_has_ancestor().
10888
10889         * gst/gstobject.c: (gst_object_has_ancestor):
10890         * gst/gstobject.h:
10891         gst_object_has_ancestor() copied from gstbin.c as it is a
10892         usefull function.
10893
10894         * tests/instantiate/create.c: (create_all_elements):
10895         * tests/lat.c: (handoff_src), (handoff_sink):
10896         * tests/sched/runxml.c: (main):
10897         * tests/seeking/seeking1.c: (main):
10898         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10899         (main):
10900         Fix compilation of some tests.
10901
10902 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10903
10904         * gst/gsterror.h:
10905           Remove comment. GST_TYPE_G_ERROR is here to stay,
10906           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10907           (#316961, #300610).
10908
10909 2005-09-26  Wim Taymans  <wim@fluendo.com>
10910
10911         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10912         Added check that shows error in state change order.
10913
10914 2005-09-26  Wim Taymans  <wim@fluendo.com>
10915
10916         * gst/gstbin.c: (gst_bin_change_state):
10917         Make state change function use 3 queues again, we were
10918         adding elements in the wrong order.
10919
10920         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10921         Some debug info,
10922
10923         * gst/gstpad.c: (gst_pad_dispose):
10924         Added some debug info first.
10925
10926 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10927
10928         * docs/design/draft-push-pull.txt:
10929         * docs/design/part-events.txt:
10930         * docs/design/part-overview.txt:
10931         * docs/design/part-scheduling.txt:
10932           Replace all _pull_region() with _pull_range()
10933           
10934 2005-09-26  Andy Wingo  <wingo@pobox.com>
10935
10936         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10937
10938         * check/gst-libs/controller.c: Update for controller api change.
10939
10940         * configure.ac: 
10941         * tests/Makefile.am:
10942         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10943         over by GLib bug 118439.
10944         
10945         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10946         routines to a function.
10947
10948         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10949
10950         * libs/gst/controller/gsthelper.c:
10951         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10952         (gst_object_sync_values): Renamed from sink_values. Ugh.
10953
10954         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10955
10956         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10957         Renamed from controller_key, as it is exported.
10958
10959         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10960
10961 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10962
10963         * gst/Makefile.am:
10964         * gst/gst.h:
10965         * gst/gstpad.h:
10966         * gst/gstpadtemplate.h:
10967         * gst/gstquery.c:
10968         * gst/gstquery.h:
10969         * gst/gstqueryutils.c:
10970         * gst/gstqueryutils.h:
10971           remove queryutils headers after moving the two used functions
10972           to gstquery.  also fixes build problem for gstsiddec
10973
10974 2005-09-26  Michael Smith <msmith@fluendo.com>
10975
10976         * tools/gst-launch.1.in:
10977         Correct documentation in manpage of debug syntax
10978
10979 2005-09-26  Wim Taymans  <wim@fluendo.com>
10980
10981         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10982         (gst_base_src_is_seekable), (gst_base_src_change_state):
10983         Some more debugging info.
10984
10985 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10986
10987         * docs/gst/gstreamer-sections.txt:
10988         * gst/base/gstbasetransform.h:
10989         * gst/gstindex.h:
10990           added more docs
10991
10992 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10993
10994         * docs/gst/.cvsignore:
10995         * docs/gst/tmpl/.cvsignore:
10996         * docs/gst/tmpl/gstpipeline.sgml:
10997         * docs/gst/tmpl/gstplugin.sgml:
10998         * gst/gstpipeline.c:
10999         * gst/gstplugin.c:
11000         * gst/gstplugin.h:
11001           inlined the last two docs files
11002           removed the tmpl directory from cvs (no more conflicts here!)
11003
11004 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
11005
11006         * docs/gst/gstreamer-sections.txt:
11007         * docs/gst/tmpl/.cvsignore:
11008         * docs/gst/tmpl/gstpad.sgml:
11009         * docs/gst/tmpl/gstpadtemplate.sgml:
11010         * gst/Makefile.am:
11011         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
11012         (gst_pad_finalize), (gst_pad_set_pad_template):
11013         * gst/gstpad.h:
11014         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
11015         (gst_pad_template_class_init), (gst_pad_template_init),
11016         (gst_pad_template_dispose), (name_is_valid),
11017         (gst_static_pad_template_get), (gst_pad_template_new),
11018         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
11019         (gst_pad_template_pad_created):
11020         * gst/gstpadtemplate.h:
11021           inlined two more docs
11022           factored gstpadtemplate out of gstpad
11023
11024 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
11025
11026         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11027         (test_children_state_change_order_semi_sink):
11028           Fix test case: we can't rely on a fixed state change order when
11029           going from READY => PAUSED because the sink might commit its 
11030           new state first when the first buffer created by the source 
11031           reaches the sink before the source has finished its change state.
11032           (Test case still fails at times, see #316856, comment 5 onwards)
11033
11034 2005-09-24  Wim Taymans  <wim@fluendo.com>
11035
11036         * docs/design/part-events.txt:
11037         * docs/design/part-gstbus.txt:
11038         * docs/design/part-gstpipeline.txt:
11039         * docs/design/part-messages.txt:
11040         * docs/design/part-overview.txt:
11041         * docs/design/part-segments.txt:
11042         * gst/gstbin.c:
11043         * gst/gstbuffer.c:
11044         * gst/gstclock.c:
11045         * gst/gstelement.c:
11046         * gst/gstevent.c:
11047         * gst/gstfilter.c:
11048         * gst/gstiterator.c:
11049         Various documentation updates.
11050
11051 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11052
11053         * gst/gstclock.h:
11054           Well, that's embarassing.  Luckily we weren't using
11055           GST_CLOCK_DIFF anywhere.
11056
11057 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11058
11059         * common/gtk-doc.mak:
11060           don't fail on building XML, FC4 slave shows a bunch of doc
11061           missing bits that I don't get
11062         * gst/gstpad.c:
11063         * gst/gstpipeline.c:
11064         * gst/gststructure.c:
11065           some doc updates
11066
11067 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11068
11069         * docs/design/part-gstbin.txt:
11070         * docs/design/part-gstbus.txt:
11071         * gst/gstbus.c:
11072           Add blurb about how the bus goes into flushing mode and
11073           drops all messages when its bin goes from READY into NULL 
11074           state.
11075
11076 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11077
11078         * docs/gst/gstreamer-sections.txt:
11079         * gst/gststructure.c: (gst_structure_get_clock_time):
11080         * gst/gststructure.h:
11081           add a method to get a GstClockTime out of a structure
11082
11083 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
11084
11085         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
11086         (test_children_state_change_order_semi_sink), (gst_bin_suite):
11087           Added test to check state change order in bins (can still be made
11088           to fail here under heavy disk load; bails out with 'Push on pad
11089           fakesink:sink0, but it was not activated in push mode').
11090
11091         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
11092           Fix state change order when there is only a semi sink (#316856)
11093
11094         * gst/gstbus.c: (gst_bus_class_init):
11095           Use _class_peek_parent(), not _class_ref(); fix docs to say
11096           'default main context' instead of 'mainloop' where that is
11097           what's meant.
11098
11099         * gst/gstelement.c: (gst_element_commit_state),
11100         (gst_element_set_state):
11101           Fix typos in debug messages
11102
11103 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11104
11105         * docs/README:
11106         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
11107         * gst/gstpluginfeature.c:
11108         * gst/gstutils.c:
11109           various doc updates
11110         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11111           change an assert into an error until it gets fixed properly
11112
11113 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
11114
11115         * docs/gst/gstreamer-sections.txt:
11116         * docs/gst/tmpl/.cvsignore:
11117         * docs/gst/tmpl/gstelement.sgml:
11118         * docs/gst/tmpl/gstinfo.sgml:
11119         * docs/gst/tmpl/gstobject.sgml:
11120         * gst/gstelement.c:
11121         * gst/gstelement.h:
11122         * gst/gstinfo.c:
11123         * gst/gstinfo.h:
11124         * gst/gstobject.c: (gst_object_class_init):
11125         * gst/gstobject.h:
11126           inlined 3 more biiiig doc files and added some missing docs on the fly
11127
11128 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11129
11130         * check/gst/.cvsignore:
11131         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
11132         * gst/gstregistryxml.c: (load_plugin),
11133         (gst_registry_xml_save_plugin):
11134           put back source in registry.  add checks for find_plugin.
11135         * testsuite/states/bin.c: (assert_state), (empty_bin),
11136         (test_adding_one_element), (main):
11137         * testsuite/states/locked.c: (main):
11138           some compile/run fixes
11139
11140 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11141
11142         * check/gst/gstvalue.c: (GST_START_TEST):
11143           fix leaks in the test itself
11144
11145 2005-09-22  Wim Taymans  <wim@fluendo.com>
11146
11147         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11148         (gst_base_sink_send_event), (gst_base_sink_peer_query),
11149         (gst_base_sink_query):
11150         Prepare for more accurate position reporting and query
11151         handling.
11152
11153         * gst/gstelement.c: (gst_element_send_event),
11154         (gst_element_set_state):
11155         Add some comment.
11156
11157 2005-09-22  Wim Taymans  <wim@fluendo.com>
11158
11159         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
11160         (gst_query_parse_segment):
11161         * gst/gstquery.h:
11162         More documentation.
11163         Add segment query for future use.
11164
11165 2005-09-22  Wim Taymans  <wim@fluendo.com>
11166
11167         * gst/gstbin.c: (gst_bin_add_func):
11168         Some more debug info.
11169
11170         * gst/gstelement.c: (gst_element_send_event):
11171         Simplify send_event
11172
11173         * gst/gstelement.h:
11174         Don't know how flags got broken.
11175
11176         * gst/gstquery.h:
11177         Added new query.
11178
11179 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11180
11181         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
11182           Add simplistic test suite for GST_TYPE_DATE serialisation and
11183           deserialisation.
11184
11185 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
11186
11187         * docs/gst/gstreamer-sections.txt:
11188         * gst/gststructure.c: (gst_structure_set_valist),
11189         (gst_structure_get_date):
11190         * gst/gststructure.h:
11191         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
11192         (gst_date_copy), (gst_value_compare_date),
11193         (gst_value_serialize_date), (gst_value_deserialize_date),
11194         (gst_value_transform_date_string),
11195         (gst_value_transform_string_date), (_gst_value_initialize):
11196         * gst/gstvalue.h:
11197           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
11198           bunch of utility functions along with a hack that checks that
11199           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
11200           is required. Part of the grand scheme in #170777.
11201
11202 2005-09-22  Andy Wingo  <wingo@pobox.com>
11203
11204         * gst/gstconfig.h.in: Psych out gtk-doc.
11205
11206         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
11207
11208         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
11209
11210         * tools/gst-inspect.c (print_element_list): Plug some
11211         inconsequential leaks.
11212
11213         * gst/gstregistry.c (gst_registry_get_default): Doc.
11214
11215         * check/gst/gstplugin.c: 
11216         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
11217         * gst/gstelementfactory.c (gst_element_factory_create): 
11218         * gst/gstindexfactory.c (gst_index_factory_create): Update for
11219         refcount changes.
11220
11221         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
11222         (gst_plugin_feature_load): Doc, don't eat refs.
11223
11224         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
11225         (gst_plugin_list_free): Doc.
11226         (gst_plugin_load_file): Doc updates.
11227
11228         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
11229         accessors returning refcounted objects, return a ref.
11230
11231         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
11232         accessor for caps. IDEMPOTENCE. Oh yes.
11233
11234 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
11235
11236         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11237
11238         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
11239         (_gst_debug_register_funcptr):
11240           Add mutex to serialise access to the hash table with
11241           the function pointer => function name string mapping;
11242           make that hash table static scope (#316809).
11243
11244         * gst/registries/.cvsignore:
11245           Remove left-over file.
11246
11247 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11248
11249         * docs/pwg/appendix-porting.xml:
11250           And something about newsegment events and caps-on-buffers to
11251           the porting guide (feel free to improve).
11252
11253 2005-09-21  Andy Wingo  <wingo@pobox.com>
11254
11255         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
11256         data and event probes on the same pad.
11257         (test_buffer_probe_once): Test that removing probes from within
11258         the probe functions works.
11259
11260 2005-09-21  Andy Wingo  <wingo@pobox.com>
11261
11262         * check/gst/gstutils.c: New file.
11263         (test_buffer_probe_n_times): A simple buffer probe test. More to
11264         come, foolios.
11265
11266         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
11267         have-data::buffer, not have-data.
11268         (gst_pad_add_event_probe): Likewise for have-data::event.
11269         (gst_pad_add_data_probe): More docs. The part about 'resolving the
11270         peer' isn't quite right yet though.
11271         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
11272         (gst_pad_remove_data_probe): Change to take the guint handler_id
11273         as their arg, not the function+data, which is more glib-like.
11274
11275         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
11276         the signal emission to indicate if the data is a buffer or an
11277         event.
11278         (gst_pad_get_type): Initialize buffer and event quarks.
11279         (gst_pad_class_init): have-data is now a detailed signal, yes it
11280         is.
11281
11282 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
11283
11284         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11285         * gst/gstutils.c: (gst_util_set_value_from_string),
11286         (gst_util_set_object_arg):
11287           Don't put functional code in g_return_if_fail() or
11288           g_return_val_if_fail() statements, otherwise things will 
11289           break when G_DISABLE_CHECKS is defined during compilation.
11290
11291 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11292
11293         * docs/gst/tmpl/.cvsignore:
11294         * docs/gst/tmpl/gstvalue.sgml:
11295         * gst/gstvalue.c:
11296         * gst/gstvalue.h:
11297           inlied another one and added  some obvious docs
11298
11299 2005-09-21  Wim Taymans  <wim@fluendo.com>
11300
11301         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11302         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
11303         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
11304         (gst_fdsrc_get_property), (gst_fdsrc_create):
11305         * gst/elements/gstfdsrc.h:
11306         Properly implement fdsrc. Removed signal and timeout,
11307         better implemented somewhere else.
11308
11309 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11310
11311         * docs/gst/tmpl/.cvsignore:
11312         * docs/gst/tmpl/gstimplementsinterface.sgml:
11313         * gst/gstinterface.c:
11314           inlined more docs
11315
11316 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11317
11318         * docs/gst/gstreamer-sections.txt:
11319         * docs/gst/tmpl/.cvsignore:
11320         * docs/gst/tmpl/gstenumtypes.sgml:
11321           remove obsolete doc file
11322
11323 2005-09-21  David Schleef  <ds@schleef.org>
11324
11325         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
11326         little beer, fix a little leak.
11327
11328 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
11329
11330         * docs/gst/gstreamer-docs.sgml:
11331         * docs/gst/gstreamer-sections.txt:
11332         * docs/gst/tmpl/.cvsignore:
11333         * gst/Makefile.am:
11334         * gst/gst.h:
11335         * gst/gstbin.c:
11336         * gst/gstelement.h:
11337         * gst/gstindex.c: (gst_index_class_init):
11338         * gst/gstindex.h:
11339         * gst/gstindexfactory.c: (gst_index_factory_get_type),
11340         (gst_index_factory_class_init), (gst_index_factory_init),
11341         (gst_index_factory_finalize), (gst_index_factory_new),
11342         (gst_index_factory_destroy), (gst_index_factory_find),
11343         (gst_index_factory_create), (gst_index_factory_make):
11344         * gst/gstindexfactory.h:
11345         * gst/gstpluginfeature.c:
11346         * gst/gstpluginfeature.h:
11347         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11348           more docs inlined, splitted gstindex.{c,h}
11349
11350 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11351
11352         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11353           fix a leak
11354
11355 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11356
11357         * gst/elements/gstfilesink.c: (gst_file_sink_init):
11358           Set sync to FALSE by default.
11359
11360 2005-09-20  Wim Taymans  <wim@fluendo.com>
11361
11362         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11363         (gst_base_sink_init):
11364         Make sync property settable from subclass.
11365
11366         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11367         (gst_fake_sink_change_state):
11368         Set sync to FALSE by default.
11369
11370 2005-09-20  Wim Taymans  <wim@fluendo.com>
11371
11372         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
11373         * tools/gst-launch.c: (main):
11374         The timeout handler should have lower priority than the source
11375         so we don't timeout before popping a message with 0 timeout.
11376         Dump error messages after failed state change.
11377
11378 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
11379
11380         * tools/gst-inspect.c: (print_element_properties_info):
11381           Fix two typos.
11382
11383 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11384
11385         * check/gst/gstevent.c:
11386         * gst/elements/gstfakesink.c:
11387         * gst/elements/gstfakesink.h:
11388           remove the sync property from fakesink.
11389           has the side effect of setting sync TRUE
11390           for fakesink, which is a change.  Anyone who knows how
11391           to fix this nicely in a GObject-y way, feel free.
11392
11393 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11394
11395         * docs/gst/gstreamer-docs.sgml:
11396           remove probe refsection
11397
11398 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11399
11400         * check/Makefile.am:
11401           disable valgrinding the controller test again
11402         * docs/gst/gstreamer-sections.txt:
11403           update for api-changes
11404
11405 2005-09-20  Wim Taymans  <wim@fluendo.com>
11406
11407         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11408         (gst_base_sink_set_property), (gst_base_sink_get_property),
11409         (gst_base_sink_do_sync):
11410         * gst/base/gstbasesink.h:
11411         Added sync property to basesink to disable clock sync.
11412
11413 2005-09-20  Andy Wingo  <wingo@pobox.com>
11414
11415         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
11416         eating the caller's refcount.
11417
11418         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
11419         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
11420         refcount.
11421
11422         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
11423         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
11424         of GLib 2.8 public, so we can know which refcount to check in
11425         tests.
11426
11427         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
11428         (gst_object_init): Only set the gst refcount if we're going ahead
11429         with the refcount hack.
11430
11431 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11432
11433         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11434         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
11435           more leaks plumbed, added more debug-logging
11436         * gst/gstmacros.h:
11437           whitespace fix
11438
11439 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11440
11441         * gst/gstmessage.c:
11442           remove include of gstmemchunk.h
11443
11444 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11445
11446         * gst/gstclock.c: (_gst_clock_id_free):
11447           Commit from the Political Party For More Atomic CVS Commits,
11448           so that people don't waste too much of their day fishing
11449           out obvious leaks out of massive commits.
11450           Oh, and fix a pretty damn obvious leak in the memchunk
11451           removal code.
11452
11453 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
11454
11455         * check/Makefile.am:
11456         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
11457           plug mem-leak, re-add to valgrindable tests
11458
11459 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
11460
11461         * gst/gstplugin.h:
11462           unbreak the build for those who have chronic arthritis
11463           and typing "make check" is just too taxing on the hands
11464
11465 2005-09-20  Andy Wingo  <wingo@pobox.com>
11466
11467         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
11468         really want it out, you should fix plugins at the same time.
11469
11470 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
11471
11472         * configure.ac:
11473         * docs/gst/gstreamer-sections.txt:
11474         * gst/gstobject.c:
11475           added missing symbols to api docs
11476           disable ref-count hack if we have glib >= 2.8
11477
11478 2005-09-19  David Schleef  <ds@schleef.org>
11479
11480         * docs/gst/Makefile.am: Ignore a few more internal headers
11481         * docs/gst/gstreamer-docs.sgml: Remove old sections
11482         * docs/gst/gstreamer-sections.txt: Remove old sections
11483         * docs/gst/tmpl/gstobject.sgml: update
11484         * docs/gst/tmpl/gstplugin.sgml: update
11485         * docs/gst/tmpl/gstpluginfeature.sgml: update
11486         * docs/random/ds/0.9-suggested-changes: update.
11487         * gst/Makefile.am: remove memchunk and trashstack, since they're
11488           not used.
11489         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
11490         * gst/gst.h: don't include some headers
11491         * gst/gstchildproxy.c: add gstmarshal.h
11492         * gst/gstclock.c: Don't use memchunks
11493         * gst/gstminiobject.c: Add some docs
11494         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
11495         * gst/gstobject.h: same
11496         * gst/gstplugin.c: include gstmacros.h
11497         * gst/gstplugin.h: don't include gstmacros.h, since it's private
11498         * gst/gstquery.c: don't use memchunks
11499         * gst/gstregistry.c: rename gst_registry_deinit()
11500         * gst/gstregistry.h: same
11501
11502 2005-09-19  David Schleef  <ds@schleef.org>
11503
11504         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
11505         * docs/libs/gstreamer-libs-sections.txt:
11506         * docs/libs/tmpl/gstgetbits.sgml:
11507         * docs/libs/tmpl/gstputbits.sgml:
11508
11509 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11510
11511         * win32/gstenumtypes.c:
11512         * win32/gstenumtypes.h:
11513           Update.
11514
11515 2005-09-19  Wim Taymans  <wim@fluendo.com>
11516
11517         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11518         Automatically PAUSE and RESUME a pipeline when a flushing seek
11519         is performed.
11520
11521 2005-09-19  Andy Wingo  <wingo@pobox.com>
11522
11523         * gst/gstregistry.h: Spacing fixen.
11524
11525 2005-09-19  Wim Taymans  <wim@fluendo.com>
11526
11527         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11528         Handle state change failure more correctly.
11529
11530 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11531
11532         * check/Makefile.am:
11533         * check/pipelines/cleanup.c: (run_pipeline):
11534         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11535         (GST_START_TEST):
11536           enable cleanup again after fixing the leak
11537         * docs/README:
11538           some more info on docs
11539
11540 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11541
11542         * check/Makefile.am:
11543           re-enable tests now that leaks are plugged
11544         * check/gst/gst.c:
11545         * check/gst/gstbin.c:
11546         * check/gst/gstpipeline.c:
11547           add some more tests while fixing leaks
11548         * common/check.mak:
11549           make sure binaries are uptodate when valgrinding/gdbing
11550         * gst/gst.c:
11551         * gst/gstelementfactory.c:
11552           remove a ref too many, and add a FIXME for when we get
11553           round to disposing of classes
11554         * gst/gstplugin.c:
11555           fix the refcounting when loading a plugin from a file and
11556           the code pretends that the pointer is the same even though
11557           of course it can change
11558         * gst/gstpluginfeature.c:
11559           unref plugins marked cached (a bit confusing as a name)
11560           as the docs state should be done
11561           various doc additions to explain refcounting
11562         * gst/gstregistry.c:
11563         * gst/gstregistryxml.c:
11564           debugging
11565
11566 2005-09-19  Wim Taymans  <wim@fluendo.com>
11567
11568         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11569         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11570         (send_messages), (GST_START_TEST), (gstbus_suite):
11571         * check/gst/gstpipeline.c: (GST_START_TEST):
11572         * check/pipelines/cleanup.c: (run_pipeline):
11573         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11574         (GST_START_TEST):
11575         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11576         (gst_bus_source_check), (gst_bus_source_dispatch),
11577         (gst_bus_create_watch), (gst_bus_add_watch_full),
11578         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11579         * gst/gstbus.h:
11580         * tools/gst-launch.c: (event_loop):
11581         * tools/gst-md5sum.c: (event_loop):
11582         GstBusHandler -> GstBusFunc, return value has the same meaning as
11583         any other GSource (FALSE == remove source).
11584         _add_watch() and _add_watch_full() now take a MessageType mask to
11585         only handle specific types of messages.
11586         _poll() returns the GstMessage instead of the message type to avoid
11587         race conditions.
11588         _have_pending() takes a MessageType mask now too.
11589         Added testsuite for multiple bus watches.
11590         Fix testsuites and applications for new bus API.
11591
11592 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11593
11594         * check/Makefile.am:
11595           mark a bunch of the tests as to fix until we fix them
11596
11597 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11598
11599         * common/check.mak:
11600           use GST_PLUGIN settings for valgrind tests as well, so we're
11601           valgrinding the correct thing
11602         * gst/gst.c: (init_post):
11603           plug another leak
11604
11605 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11606
11607         * gst/gst.c: (init_post), (gst_deinit):
11608         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11609         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11610         * gst/gstindex.c: (gst_index_factory_class_init),
11611         (gst_index_factory_finalize):
11612         * gst/gstobject.c: (gst_object_dispose):
11613         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11614         (gst_plugin_load_file), (gst_plugin_desc_free):
11615         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11616         (gst_plugin_feature_finalize):
11617         * gst/gstregistry.c: (gst_registry_class_init),
11618         (gst_registry_init), (gst_registry_finalize),
11619         (gst_registry_get_default), (gst_registry_deinit):
11620         * gst/gstregistry.h:
11621         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11622           various cleanups and memleak plugging.  make valgrind is happy now.
11623
11624 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11625
11626         * common/check.mak:
11627           add a check-valgrind target
11628
11629 2005-09-18  David Schleef  <ds@schleef.org>
11630
11631         * tools/gst-inspect.c: Revert the GOption code.
11632
11633 2005-09-17  David Schleef  <ds@schleef.org>
11634
11635         * check/Makefile.am: Fix environment variables.
11636         * check/gst/gstplugin.c: Fix for API changes.
11637         * tools/gst-inspect.c: Fix for API changes.
11638         * tools/gst-xmlinspect.c: Fix for API changes.
11639         * gst/gstelementfactory.c:
11640         * gst/gstplugin.c:
11641         * gst/gstplugin.h:
11642         * gst/gstpluginfeature.c:
11643         * gst/gstpluginfeature.h:
11644         * gst/gstregistry.c:
11645         * gst/gstregistry.h:
11646         * gst/gstregistryxml.c:
11647         * gst/gsttypefind.c:
11648         * gst/gsttypefindfactory.c:
11649         * gst/indexers/gstfileindex.c:
11650         * gst/indexers/gstmemindex.c:
11651         * gst/schedulers/Makefile.am:
11652           Change registry to keep track of both plugins and features,
11653           removing the feature tracking from plugins themselves.
11654
11655 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11656
11657         * check/Makefile.am:
11658         * tools/gst-register.1.in:
11659           remove gst-register
11660
11661 2005-09-15  David Schleef  <ds@schleef.org>
11662
11663         * check/gst/gstplugin.c:
11664         * gst/gstelementfactory.c:
11665         * gst/gstplugin.c:
11666         * gst/gstpluginfeature.c:
11667         * gst/gstregistry.c:
11668           Getting tired of debugging.  Disabled all the unreffing of
11669           plugins and features, which fixes the segfaults, but of
11670           course leaks like crazy.  At least playbin works.
11671
11672 2005-09-15  David Schleef  <ds@schleef.org>
11673
11674         * check/gst/gstplugin.c: (register_check_elements),
11675         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11676         More testing
11677         * gst/elements/gsttypefindelement.c: Fix refcounting.
11678         * gst/gsttypefind.c:
11679         * gst/gsttypefindfactory.c:
11680         * gst/gsttypefindfactory.h:
11681
11682 2005-09-15  David Schleef  <ds@schleef.org>
11683
11684         * gst/gstindex.c: get refcounting correct.
11685         * gst/gstregistry.c: Handle the case where a feature/plugin is
11686           not found.
11687
11688 2005-09-15  David Schleef  <ds@schleef.org>
11689
11690         * check/Makefile.am:
11691         * check/gst/gstplugin.c: Add test
11692         * gst/gstplugin.c: Fix problems noticed by testsuite
11693         * gst/gstplugin.h:
11694         * gst/gstregistry.c: 
11695         * gst/gstregistry.h:
11696
11697 2005-09-15  David Schleef  <ds@schleef.org>
11698
11699         * gst/gstplugin.c: Implement semi-decent recounting and locking
11700           in plugins and plugin features.
11701         * gst/gstplugin.h:
11702         * gst/gstpluginfeature.c:
11703         * gst/gstpluginfeature.h:
11704         * gst/gstregistry.c:
11705
11706 2005-09-15  Michael Smith <msmith@fluendo.com>
11707
11708         * gst/gstregistry.c: (gst_registry_get_feature_list):
11709           Implement this. Makes oggdemux work; decodebin still broken.
11710
11711 2005-09-14  David Schleef  <ds@schleef.org>
11712
11713         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11714           #316076)
11715         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11716         * gst/check/Makefile.am:
11717         * libs/gst/controller/Makefile.am:
11718         * libs/gst/dataprotocol/Makefile.am:
11719
11720 2005-09-14  David Schleef  <ds@schleef.org>
11721
11722         * configure.ac: Remove getbits library.  Nothing uses it, and
11723           it should be in something like liboil if someone did want
11724           to use it.
11725         * libs/gst/Makefile.am:
11726         * libs/gst/getbits/Makefile.am:
11727         * libs/gst/getbits/gbtest.c:
11728         * libs/gst/getbits/getbits.c:
11729         * libs/gst/getbits/getbits.h:
11730         * libs/gst/getbits/gstgetbits_generic.c:
11731         * libs/gst/getbits/gstgetbits_i386.s:
11732         * libs/gst/getbits/gstgetbits_inl.h:
11733
11734 2005-09-14  David Schleef  <ds@schleef.org>
11735
11736         * gst/Makefile.am: Dist glib-compat.h
11737
11738 2005-09-14  David Schleef  <ds@schleef.org>
11739
11740         * configure.ac: Remove gst/registries, since it's no longer used.
11741         * gst/registries/Makefile.am:
11742         * gst/registries/gstlibxmlregistry.c:
11743         * gst/registries/gstlibxmlregistry.h:
11744         * gst/registries/gstxmlregistry.c:
11745         * gst/registries/gstxmlregistry.h:
11746         * gst/registries/registrytest.c:
11747
11748 2005-09-14  David Schleef  <ds@schleef.org>
11749
11750         * gst/glib-compat.h:
11751         * gst/gstregistryxml.c:
11752           Convergence is near.  Seriously.
11753
11754 2005-09-14  David Schleef  <ds@schleef.org>
11755
11756         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11757         * gst/glib-compat.h:
11758           Attempt #4 to appease the buildbots.
11759
11760 2005-09-14  David Schleef  <ds@schleef.org>
11761
11762         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11763           Attempt #3.
11764
11765 2005-09-14  David Schleef  <ds@schleef.org>
11766
11767         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11768         Attempt #2.
11769
11770 2005-09-14  David Schleef  <ds@schleef.org>
11771
11772         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11773           the new functions.
11774
11775 2005-09-14  David Schleef  <ds@schleef.org>
11776
11777         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11778         * gst/glib-compat.h: Add some functions that are in newer versions
11779           of glib than we care to require.
11780         * gst/gstregistryxml.c: Use them.
11781
11782 2005-09-14  David Schleef  <ds@schleef.org>
11783
11784         * po/POTFILES.in: remove gst-register.c
11785
11786 2005-09-14  David Schleef  <ds@schleef.org>
11787
11788         * docs/gst/gstreamer-docs.sgml:
11789         * docs/gst/gstreamer-sections.txt:
11790         * docs/gst/gstreamer.types:
11791         * docs/gst/tmpl/gstelement.sgml:
11792         * docs/gst/tmpl/gstplugin.sgml:
11793         * docs/gst/tmpl/gstpluginfeature.sgml:
11794           Documentation updates for registry changes.
11795
11796 2005-09-14  David Schleef  <ds@schleef.org>
11797
11798         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11799           because we don't require glib-2.8.
11800
11801 2005-09-14  David Schleef  <ds@schleef.org>
11802
11803         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11804           registries directory.
11805
11806 2005-09-14  David Schleef  <ds@schleef.org>
11807
11808         * check/Makefile.am:
11809         * check/generic/states.c:
11810         * gst/Makefile.am:
11811         * gst/gst.c:
11812         * gst/gst.h:
11813         * gst/gst_private.h:
11814         * gst/gstelementfactory.c:
11815         * gst/gstindex.c:
11816         * gst/gstinfo.c:
11817         * gst/gstplugin.c:
11818         * gst/gstplugin.h:
11819         * gst/gstpluginfeature.c:
11820         * gst/gstpluginfeature.h:
11821         * gst/gstregistry.c:
11822         * gst/gstregistry.h:
11823         * gst/gstregistrypool.c: remove
11824         * gst/gstregistrypool.h: remove
11825         * gst/gsttypefind.c:
11826         * gst/gsttypefindfactory.c:
11827         * gst/gsturi.c:
11828         * tools/Makefile.am:
11829         * tools/gst-compprep.c:
11830         * tools/gst-inspect.c:
11831         * tools/gst-register.c: remove
11832         * tools/gst-xmlinspect.c:
11833           Registry rewrite.  Changes registry from being a file created
11834           by a tool into a simple cache file created automatically by 
11835           libgstreamer.  Removed gst-register (because it's no longer
11836           needed).  Remove registry pools, because we only have one
11837           registry implementation (XML).  Fix up other subsystems as
11838           necessary.
11839
11840 2005-09-13  Michael Smith <msmith@fluendo.com>
11841
11842         * gst/gstconfig.h.in:
11843           Don't Use windows linking attributes for MinGW. Fixes #316157
11844
11845 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11846
11847         * gst/gstutils.c: (set_state_async_thread_func),
11848         (gst_element_set_state_async):
11849           Apparently people think it's better if this function doesn't
11850           try to set the state to whatever state was asked for on the first
11851           call to this function for any object.  Seriously.
11852
11853 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11854
11855         * check/gst/gstpipeline.c: (GST_START_TEST):
11856         * docs/gst/gstreamer-sections.txt:
11857         * gst/gstutils.c: (set_state_async_thread_func),
11858         (gst_element_set_state_async):
11859         * gst/gstutils.h:
11860           add a "gst_element_set_state_async" method that
11861           sets the state and starts a thread to make sure the state
11862           change completes as best as it can
11863
11864 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11865
11866         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11867           codify design+behaviour in testsuite after discussion
11868
11869 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * docs/gst/tmpl/gstelement.sgml:
11872         * docs/manual/appendix-quotes.xml:
11873           add a quote
11874         * gst/gstelement.c: (gst_element_set_state):
11875           add some debug
11876
11877 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11878
11879         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11880         (gst_base_transform_prepare_output_buf),
11881         (gst_base_transform_handle_buffer):
11882         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11883         (gst_capsfilter_prepare_buf):
11884           Remove the requirement for sub-classes to call the parent
11885           implementation of prepare_output_buffer with a wrapper function.
11886           
11887         * gst/gsttaglist.h:
11888         * gst/gsttagsetter.h:
11889           Fix #define wrapper
11890
11891 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11892
11893         * docs/gst/gstreamer-sections.txt:
11894           more doc cleanups
11895
11896 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11897
11898         * docs/gst/gstreamer-sections.txt:
11899         * docs/gst/tmpl/gstelement.sgml:
11900         * docs/gst/tmpl/gstplugin.sgml:
11901         * gst/gstminiobject.c:
11902         * gst/gstvalue.h:
11903           docs now stop throwing warnings
11904
11905 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11906
11907         * docs/gst/gstreamer-sections.txt:
11908         * docs/gst/gstreamer.types:
11909         * docs/gst/tmpl/gstpad.sgml:
11910         * docs/gst/tmpl/gsttypes.sgml:
11911         * gst/base/gstadapter.h:
11912         * gst/base/gstbasesink.h:
11913         * gst/base/gstbasesrc.h:
11914         * gst/gstbin.h:
11915         * gst/gstbuffer.h:
11916         * gst/gstbus.h:
11917         * gst/gstcaps.h:
11918         * gst/gstclock.h:
11919         * gst/gstelement.h:
11920         * gst/gstevent.h:
11921         * gst/gstmessage.h:
11922         * gst/gstpad.h:
11923         * gst/gststructure.c:
11924         * gst/registries/gstlibxmlregistry.h:
11925           various documentation fixes
11926
11927 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11928
11929         * docs/gst/gstreamer-sections.txt:
11930         * docs/gst/tmpl/gstvalue.sgml:
11931           rearrange gstvalue section
11932         * gst/gstutils.c: (gst_element_state_get_name):
11933           NONE -> VOID
11934         * gst/gstvalue.c: (_gst_value_initialize):
11935         * gst/gstvalue.h:
11936           doc updates
11937
11938 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11939
11940         * check/gst-libs/controller.c:
11941           Header include fix.
11942         * gst/base/gstbasetransform.c:
11943         (gst_base_transform_default_prepare_buf),
11944         (gst_base_transform_handle_buffer):
11945         * gst/base/gstbasetransform.h:
11946           Some more basetransform changes and fixes to enable sub-classes
11947           that modify buffer metadata only.
11948         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11949         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11950         (gst_capsfilter_prepare_buf):
11951           If the output pad has fixed allowed caps and input buffers 
11952           don't have any, set the fixed caps on outgoing buffers.
11953
11954 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11955         * check/elements/identity.c: (GST_START_TEST):
11956           Make the error a little clearer when the test fails because
11957           identity made a copy of the buffer.
11958         * docs/gst/gstreamer-sections.txt:
11959           New symbols in gstbasetransform.h
11960         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11961         (gst_base_transform_init), (gst_base_transform_transform_size),
11962         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11963         (gst_base_transform_default_prepare_buf),
11964         (gst_base_transform_get_unit_size),
11965         (gst_base_transform_buffer_alloc),
11966         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11967         (gst_base_transform_change_state),
11968         (gst_base_transform_set_passthrough),
11969         (gst_base_transform_set_in_place),
11970         (gst_base_transform_is_in_place):
11971         * gst/base/gstbasetransform.h:
11972           Change BaseTransform to separate in_place operate from same_caps
11973           output. in_place implies that the element can perform the transform
11974           on incoming buffers in-place, even if the caps on the output are
11975           different.
11976           Sub-class elements can now implement special buffer allocation
11977           methods for outgoing buffers if they wish to.
11978           Big documentation addition.
11979         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11980         * gst/elements/gstelements.c:
11981           Changes for basetransform modifications.
11982         * gst/elements/Makefile.am:
11983         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11984           Compile fix. Extra debug output.
11985
11986 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11987
11988         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11989         (gst_pad_suite):
11990           add tests for valid pad naming
11991         * gst/check/gstcheck.c: (gst_check_log_message_func),
11992         (gst_check_log_critical_func):
11993           add ASSERT_WARNING
11994           remove printing of code, it is fragile when the code contains
11995           % and the line number is enough info
11996         * gst/check/gstcheck.h:
11997         * gst/gstpad.c: (gst_pad_template_new):
11998           fix memleaks
11999
12000 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12001
12002         * configure.ac:
12003           say what CHECK flags we use
12004         * docs/libs/gstreamer-libs.types:
12005         * libs/gst/controller/Makefile.am:
12006         * libs/gst/controller/gst-controller.c:
12007         * libs/gst/controller/gst-controller.h:
12008         * libs/gst/controller/gst-helper.c:
12009         * libs/gst/controller/gst-interpolation.c:
12010         * libs/gst/controller/gstcontroller.c:
12011         * libs/gst/controller/gsthelper.c:
12012         * libs/gst/controller/gstinterpolation.c:
12013         * tools/gst-inspect.c: (print_plugin_info):
12014           we don't use dashes in header names
12015
12016 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12017
12018         * check/Makefile.am:
12019         * check/gst/.cvsignore:
12020         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
12021         (gst_pipeline_suite), (main):
12022           adding a test for pipelines and state changes
12023         * gst/gstutils.c: (get_state_func):
12024           add some debugging
12025         * gstreamer.spec.in:
12026           fix up spec file
12027
12028 2005-09-08  Michael Smith <msmith@fluendo.com>
12029
12030         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
12031         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
12032         (gst_file_src_is_seekable), (gst_file_src_get_size),
12033         (gst_file_src_start):
12034         * gst/elements/gstfilesrc.h:
12035           Various fixes for unseekable, unmmapable, and non-normal files, so
12036           that fallback to read() rather than mmap() works.
12037         * gst/gstevent.c: (gst_event_new_newsegment):
12038           Allow newsegment events with segment_start == segment_end, as will
12039           correctly happen if you use filesrc on a zero-size file, for
12040           example.
12041
12042 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12043
12044         * gst/gstplugin.c: (gst_plugin_load_file):
12045           Call g_module_close when we don't load the module
12046
12047         * gst/registries/gstlibxmlregistry.c:
12048         (gst_xml_registry_get_property):
12049           Port leak fix from 0.8
12050
12051 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12052
12053         * docs/gst/gstreamer-docs.sgml:
12054         * docs/gst/tmpl/.cvsignore:
12055         * docs/gst/tmpl/gsttrace.sgml:
12056         * docs/gst/tmpl/gsttrashstack.sgml:
12057         * gst/Makefile.am:
12058         * gst/gst.h:
12059         * gst/gstelement.h:
12060         * gst/gstevent.h:
12061         * gst/gstmessage.c:
12062         * gst/gstmessage.h:
12063         * gst/gsttag.c:
12064         * gst/gsttag.h:
12065         * gst/gsttaginterface.c:
12066         * gst/gsttaginterface.h:
12067         * gst/gsttaglist.c:
12068         * gst/gsttaglist.h:
12069         * gst/gsttagsetter.c:
12070         * gst/gsttagsetter.h:
12071         * gst/gsttrace.c:
12072         * gst/gsttrace.h:
12073         * gst/gsttrashstack.c:
12074           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
12075           inlined docs for gsttrace, gsttrashstack
12076
12077 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12078
12079         * gst/Makefile.am:
12080         * gst/elements/gstbufferstore.h:
12081         * gst/elements/gsttypefindelement.c:
12082         * gst/elements/gsttypefindelement.h:
12083         * gst/gst.h:
12084         * gst/gsttypefind.c:
12085         * gst/gsttypefind.h:
12086         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
12087         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
12088         (gst_type_find_factory_dispose),
12089         (gst_type_find_factory_unload_thyself),
12090         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
12091         (gst_type_find_factory_get_caps),
12092         (gst_type_find_factory_get_extensions),
12093         (gst_type_find_factory_call_function):
12094         * gst/gsttypefindfactory.h:
12095         * gst/registries/gstlibxmlregistry.c:
12096         * gst/registries/gstxmlregistry.c:
12097           splitted gsttypefind into gsttypefind, gsttypefindfactory
12098
12099 2005-09-07  Andy Wingo  <wingo@pobox.com>
12100
12101         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
12102         condition whereby the pad's task function is entered before the
12103         pad_mode variable was set.
12104
12105 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
12106
12107         * gst/gstpad.c: (gst_pad_alloc_buffer):
12108           Catch misbehaving pad_alloc functions that don't
12109           set up caps and do it for them.
12110
12111 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
12112
12113         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12114           test for pipe!=NULL
12115         * docs/gst/tmpl/.cvsignore:
12116         * docs/gst/tmpl/gstmemchunk.sgml:
12117         * docs/gst/tmpl/gstparse.sgml:
12118         * docs/gst/tmpl/gsttaglist.sgml:
12119         * docs/gst/tmpl/gsttagsetter.sgml:
12120         * docs/gst/tmpl/gsttypefind.sgml:
12121         * docs/gst/tmpl/gsttypefindfactory.sgml:
12122         * gst/gstmemchunk.c:
12123         * gst/gstparse.c:
12124         * gst/gsttag.c:
12125         * gst/gsttaginterface.c:
12126         * gst/gsttypefind.c:
12127         * gst/gsttypefind.h:
12128           inlined more docs
12129
12130 === release 0.9.2 ===
12131
12132 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12133
12134         * NEWS:
12135         * RELEASE:
12136         * configure.ac:
12137           releasing 0.9.2, "South"
12138
12139 2005-09-05  Andy Wingo  <wingo@pobox.com>
12140
12141         * gst/registries/gstxmlregistry.h:
12142         * gst/registries/gstxmlregistry.c: Um... resurrect...
12143         
12144         * gst/registries/gstxmlregistry.h:
12145         * gst/registries/gstxmlregistry.c: and update to newer API.
12146         Incidentally they should be a bit faster now that they don't have
12147         to parse the caps.
12148         
12149 2005-09-05  Andy Wingo  <wingo@pobox.com>
12150
12151         * gst/registries/gstxmlregistry.h:
12152         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
12153         replaced by the libxml registry a while back
12154
12155 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12156
12157         * docs/gst/tmpl/gstplugin.sgml:
12158         * gst/elements/gstelements.c:
12159         * gst/gst.c:
12160         * gst/gstplugin.c: (gst_plugin_register_func),
12161         (gst_plugin_desc_copy), (gst_plugin_desc_free),
12162         (gst_plugin_get_source):
12163         * gst/gstplugin.h:
12164         * gst/registries/gstlibxmlregistry.c: (load_plugin),
12165         (gst_xml_registry_save_plugin):
12166         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
12167         (gst_xml_registry_save_plugin):
12168         * tools/gst-inspect.c: (print_plugin_info):
12169           add a "source" plugin description field, to represent the source
12170           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
12171           will set it to PACKAGE, which is automake's idea of the name of
12172           the source project.
12173
12174 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12175
12176         * Makefile.am:
12177         * autogen.sh:
12178         * configure.ac:
12179         * docs/Makefile.am:
12180         * docs/faq/Makefile.am:
12181         * docs/gst/tmpl/gstelement.sgml:
12182         * docs/gst/tmpl/gsttypes.sgml:
12183         * docs/htmlinstall.mak:
12184         * docs/manual/Makefile.am:
12185         * docs/pwg/Makefile.am:
12186           reorganize doc build a little
12187           split out docbook and gtk-doc stuff
12188           have two separate --enable's and enable them through autogen
12189           but disable by default in configure (to be similar to other
12190           projects)
12191         * gstreamer.spec.in:
12192           clean up docs install
12193         * po/af.po:
12194         * po/az.po:
12195         * po/ca.po:
12196         * po/cs.po:
12197         * po/de.po:
12198         * po/en_GB.po:
12199         * po/fr.po:
12200         * po/it.po:
12201         * po/nb.po:
12202         * po/nl.po:
12203         * po/ru.po:
12204         * po/sq.po:
12205         * po/sr.po:
12206         * po/sv.po:
12207         * po/tr.po:
12208         * po/uk.po:
12209         * po/vi.po:
12210           translation updates
12211
12212 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12213
12214         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
12215           Add comment.
12216           
12217         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12218         (gst_fake_sink_change_state):
12219           Make state change function thread-safe.
12220           
12221         * gst/gstpad.c: (gst_pad_alloc_buffer):
12222           Set offset on generic buffer allocated by fallback.
12223
12224 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
12225
12226         * docs/gst/gstreamer-sections.txt:
12227         * docs/gst/tmpl/gstelement.sgml:
12228         * gst/gstpad.c:
12229         * libs/gst/controller/gst-controller.c:
12230         (gst_controlled_property_set_interpolation_mode),
12231         (gst_controlled_property_new),
12232         (gst_controller_find_controlled_property):
12233          run the wingo-magic script against the docs
12234
12235 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12236
12237         * docs/gst/gstreamer-docs.sgml:
12238         * docs/gst/gstreamer-sections.txt:
12239         * docs/gst/tmpl/.cvsignore:
12240         * docs/gst/tmpl/gstelementdetails.sgml:
12241         * docs/gst/tmpl/gstelementfactory.sgml:
12242         * gst/gst.c:
12243         * gst/gstbus.c:
12244         * gst/gstelementfactory.c:
12245         * gst/gstelementfactory.h:
12246           merged elementdetails docs into elementfactory docs
12247           inlined both
12248
12249 2005-09-02  Andy Wingo  <wingo@pobox.com>
12250
12251         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
12252         consider this enum an enum and not a flags.
12253
12254 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
12255
12256         * docs/gst/gstreamer-docs.sgml:
12257         * docs/gst/tmpl/.cvsignore:
12258         * docs/gst/tmpl/gstghostpad.sgml:
12259         * docs/gst/tmpl/gstiterator.sgml:
12260         * docs/gst/tmpl/gstmacros.sgml:
12261         * docs/gst/tmpl/gstrealpad.sgml:
12262         * docs/gst/tmpl/gstregistry.sgml:
12263         * docs/gst/tmpl/gstregistrypool.sgml:
12264         * docs/gst/tmpl/gststructure.sgml:
12265         * docs/gst/tmpl/gstsystemclock.sgml:
12266         * docs/gst/tmpl/gsttrace.sgml:
12267         * gst/gstghostpad.c:
12268         * gst/gstmacros.h:
12269         * gst/gstmemchunk.c:
12270         * gst/gstmemchunk.h:
12271         * gst/gstqueue.c:
12272         * gst/gstregistry.c:
12273         * gst/gstregistrypool.c:
12274         * gst/gststructure.c:
12275         * gst/gstsystemclock.c:
12276           more docs inlined
12277
12278 2005-09-02  Andy Wingo  <wingo@pobox.com>
12279
12280         * gst/gstelement.h (GstState): Renamed from GstElementState,
12281         changed to be a normal enum instead of flags.
12282         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
12283         munged to be GST_STATE_CHANGE_*.
12284         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
12285         work with the new state representation.
12286         (GstStateChange): New enumeration of possible state transitions.
12287         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
12288         (GstElementClass::change_state): Pass the GstStateChange along as
12289         an argument. Helps language bindings, so they don't have to use
12290         tricky lock-needing macros like GST_STATE_CHANGE ().
12291
12292         * scripts/update-states (file): New script. Run it on a file to
12293         update it for state naming and API changes. Updates files in
12294         place.
12295
12296         * All files updated for the new API.
12297
12298 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12299
12300         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
12301         * gst/gstutils.c: (gst_util_set_value_from_string),
12302         (gst_util_set_object_arg):
12303           fix a bunch of unchecked return values
12304         * tools/gst-complete.c: (main):
12305         * gstreamer.spec.in:
12306           clean up a little
12307
12308 2005-09-01  Wim Taymans  <wim@fluendo.com>
12309
12310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12311         (gst_base_sink_event), (gst_base_sink_do_sync),
12312         (gst_base_sink_handle_event):
12313         * gst/base/gstbasesink.h:
12314         Handle newsegments more correctly.
12315
12316         * gst/gstbus.c:
12317         Fix docs.
12318
12319         * gst/gstevent.c: (gst_event_new_newsegment):
12320         A newsegment cannot have a start_time of -1
12321
12322 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12323
12324         * win32/gstenumtypes.c:
12325         * win32/gstenumtypes.h:
12326           Update
12327
12328 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12329
12330         * libs/gst/controller/gst-controller.c:
12331         (gst_controlled_property_set_interpolation_mode),
12332         (gst_controlled_property_new):
12333          fixed boolean again
12334
12335 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
12336
12337         * docs/faq/gst-uninstalled:
12338           add -good
12339         * gst/gstevent.c:
12340         * gst/gstevent.h:
12341           remove wrong docs
12342         * gst/gstutils.c: (gst_element_link_filtered):
12343         * gst/gstutils.h:
12344           add gst_element_link_filtered
12345
12346 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12347
12348         * docs/gst/gstreamer-docs.sgml:
12349         * docs/gst/gstreamer-sections.txt:
12350         * docs/gst/tmpl/.cvsignore:
12351         * docs/gst/tmpl/gsterror.sgml:
12352         * docs/gst/tmpl/gstfilter.sgml:
12353         * docs/gst/tmpl/gsturihandler.sgml:
12354         * docs/gst/tmpl/gsturitype.sgml:
12355         * docs/gst/tmpl/gstutils.sgml:
12356         * docs/gst/tmpl/gstxml.sgml:
12357         * gst/gsterror.c:
12358         * gst/gsterror.h:
12359         * gst/gstfilter.c:
12360         * gst/gsturi.c:
12361         * gst/gsturitype.c:
12362         * gst/gstutils.c:
12363         * gst/gstxml.c:
12364           inlined more docs, fixed double id-ref
12365
12366 2005-08-31  Wim Taymans  <wim@fluendo.com>
12367
12368         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12369         (gst_base_transform_handle_buffer):
12370         Passthrough elements don't need the caps as they don't care.
12371
12372 2005-08-31  Wim Taymans  <wim@fluendo.com>
12373
12374         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12375         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
12376         Don't leak refcounts on buffers.
12377
12378 2005-08-31  Wim Taymans  <wim@fluendo.com>
12379
12380         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
12381         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
12382         (gst_base_transform_chain), (gst_base_transform_change_state):
12383         * gst/base/gstbasetransform.h:
12384         Handle the case where we are not negotiated more gracefully.
12385
12386 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
12387
12388         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
12389         (gst_file_src_map_region):
12390           Set READONLY flag on mmap'ed buffers, otherwise
12391           gst_buffer_make_writable() won't work properly (#314708).
12392
12393 2005-08-31  Wim Taymans  <wim@fluendo.com>
12394
12395         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
12396         passthrough elements can even do inplace on non writable
12397         buffers (as they don't touch them).
12398
12399 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
12400
12401         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12402         (gst_test_mono_source_set_property),
12403         (gst_test_mono_source_class_init), (GST_START_TEST),
12404         (gst_controller_suite):
12405           more tests (hehe I have the most)
12406         * gst/gstbus.c:
12407           describe popping messages whenusing mulltiple sources
12408         * libs/gst/controller/gst-controller.c:
12409         (gst_controlled_property_set_interpolation_mode),
12410         (gst_controlled_property_new):
12411         * libs/gst/controller/gst-controller.h:
12412         * libs/gst/controller/gst-interpolation.c:
12413           implement boolean properties
12414
12415 2005-08-31  Wim Taymans  <wim@fluendo.com>
12416
12417         * gst/gstminiobject.c: (gst_mini_object_ref):
12418         Cannot assert that the refcount has to be positive
12419         since a disposed object can be resurrected.
12420
12421 2005-08-31  Wim Taymans  <wim@fluendo.com>
12422
12423         * gst/gstpad.c: (gst_pad_init):
12424         Revert change, need to first fix badly behaving 
12425         apps.
12426
12427 2005-08-30  Wim Taymans  <wim@fluendo.com>
12428
12429         * check/elements/fakesrc.c: (setup_fakesrc):
12430         * check/elements/identity.c: (setup_identity):
12431         Activate pads before using them.
12432
12433 2005-08-30  Wim Taymans  <wim@fluendo.com>
12434
12435         * gst/base/gstadapter.c: (gst_adapter_flush):
12436         Flushing out 0 bytes is ok for this function.
12437
12438         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12439         no newsegment gives a warning and sets the start/stop to 
12440         invalid.
12441
12442         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
12443         (gst_base_transform_set_passthrough):
12444         Some debug info.
12445
12446         * gst/gstminiobject.c: (gst_mini_object_ref):
12447         Check refcount here too.
12448
12449         * gst/gstpad.c: (gst_pad_init):
12450         Pads are initially flushing and refusing data.
12451
12452         * gst/gstutils.c: (gst_element_link_pads_filtered):
12453         When adding a capsfilter element make sure it has the
12454         same state as the parent bin.
12455
12456 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12457
12458         * docs/gst/tmpl/.cvsignore:
12459         * docs/gst/tmpl/gstformat.sgml:
12460         * docs/gst/tmpl/gstversion.sgml:
12461         * gst/gstbus.h:
12462         * gst/gstformat.c:
12463         * gst/gstformat.h:
12464         * gst/gstversion.h.in:
12465           more docs and two more inlined
12466
12467 2005-08-30  Wim Taymans  <wim@fluendo.com>
12468
12469         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
12470         Don't sync to clock.
12471
12472 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12473
12474         * docs/gst/gstreamer-sections.txt:
12475           ultral33t func10ns deserve to appear in the docs actually
12476         * docs/gst/tmpl/.cvsignore:
12477         * docs/gst/tmpl/gstcompat.sgml:
12478         * docs/gst/tmpl/gstconfig.sgml:
12479         * gst/check/gstcheck.c:
12480         * gst/gstcompat.h:
12481         * gst/gstconfig.h.in:
12482           inlined more docs
12483
12484 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12485
12486         * docs/gst/tmpl/.cvsignore:
12487         * docs/gst/tmpl/gstquery.sgml:
12488         * docs/gst/tmpl/gstutils.sgml:
12489         * gst/gstquery.c:
12490         * gst/gstquery.h:
12491           inlined and extended docs
12492
12493 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
12494
12495         * check/gst-libs/controller.c: (GST_START_TEST),
12496         (gst_controller_suite):
12497           more tests
12498         * docs/gst/tmpl/gstutils.sgml:
12499         * docs/libs/gstreamer-libs-sections.txt:
12500         * docs/libs/tmpl/gstdataprotocol.sgml:
12501           include path fixes
12502         * examples/controller/audio-example.c: (main):
12503           controller example works now
12504         * gst/gstclock.h:
12505           doc fixes
12506         * tools/gst-inspect.c: (print_element_properties_info):
12507           show param spec flags
12508
12509 2005-08-29  Andy Wingo  <wingo@pobox.com>
12510
12511         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12512
12513 2005-08-28  Andy Wingo  <wingo@pobox.com>
12514
12515         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12516         as having two arguments instead of just one. Allows superclasses
12517         to access information on subclasses -- see the terrible for() loop
12518         in gtype.c:g_type_create_instance for the reason why. All callers
12519         changed.
12520
12521 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12522
12523         * docs/design/part-messages.txt:
12524           update info
12525         * docs/gst/tmpl/.cvsignore:
12526         * docs/gst/tmpl/gstcaps.sgml:
12527         * docs/gst/tmpl/gstclock.sgml:
12528         * gst/gstbus.c:
12529         * gst/gstcaps.c:
12530         * gst/gstcaps.h:
12531         * gst/gstclock.c:
12532         * gst/gstclock.h:
12533         * gst/gstmessage.c:
12534           added descriptions for bus and message
12535           inline caps and clock docs
12536
12537 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12538
12539         * gst/gstmessage.c:
12540         * gst/gstmessage.h:
12541           doc fixes
12542
12543 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12544
12545         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12546           fix div-by-zero
12547
12548 2005-08-26  Andy Wingo  <wingo@pobox.com>
12549
12550         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12551         element_set_state's return val.
12552         (test_2_elements): Add test that's been disabled for months.
12553
12554         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12555         can-activate-pull properties.
12556
12557         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12558         can-activate-pull properties. Implement is_seekable so fakesrc can
12559         operate in pull mode.
12560
12561         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12562         properties.
12563         (gst_base_sink_activate, gst_base_sink_activate_pull)
12564         (gst_base_sink_activate_push): Make activation mode choosing work.
12565         Cleanups.
12566         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12567         is right. Make pull mode work. Post an eos before pausing in pull
12568         mode.
12569         (gst_base_sink_change_state): Pay attention to the core's
12570         change_state() return val.
12571         
12572         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12573         has-getrange properties. Cleanups.
12574         
12575         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12576         has_getrange and replace with can_activate_pull and
12577         can_activate_push.
12578
12579         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12580         locking comments. Remove has_loop, has_chain and replace with
12581         can_activate_pull and can_activate_push.
12582
12583 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12584
12585         * configure.ac:
12586         * examples/Makefile.am:
12587         * examples/metadata/Makefile.am:
12588         * examples/metadata/read-metadata.c: (message_loop),
12589         (have_pad_handler), (make_pipeline), (print_tag), (main):
12590           Add metadata reading example that loops over a list of filenames,
12591           dumping any tags found.
12592
12593         * gst/gstbus.c: (gst_bus_dispose):
12594         * gst/gstelement.c: (gst_element_dispose):
12595           Release a few potentially-held references in dispose.
12596
12597 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12598
12599         * docs/gst/tmpl/gstminiobject.sgml:
12600           do *not* add tmpl/*.sgml files to CVS!
12601
12602 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12603
12604         * libs/gst/bytestream/.cvsignore:
12605         * libs/gst/bytestream/Makefile.am:
12606         * libs/gst/bytestream/adapter.c:
12607         * libs/gst/bytestream/adapter.h:
12608         * libs/gst/bytestream/bytestream.c:
12609         * libs/gst/bytestream/bytestream.h:
12610         * libs/gst/bytestream/filepad.c:
12611         * libs/gst/bytestream/filepad.h:
12612           removing obsolete files
12613
12614 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12615
12616         * docs/gst/gstreamer-docs.sgml:
12617         * docs/libs/gstreamer-libs-docs.sgml:
12618           disabed additional index entries again, as this makes docs-gen just
12619           slow and they aren't useful yet
12620         * docs/libs/gstreamer-libs-sections.txt:
12621           little -section.txt cleanup for libs
12622
12623 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12624
12625         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12626         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12627           fix up some debugging
12628         (gst_base_transform_get_unit_size),
12629         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12630         (gst_base_transform_handle_buffer):
12631         * gst/base/gstbasetransform.h:
12632           handle and store timed NEWSEGMENT events so that subclasses that
12633           calculate time by counting samples have a segment_start time they
12634           need to add to their timestamps - see audioresample
12635
12636 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12637
12638         * gst/gstbin.h:
12639           removed ';' from the end of macro defs
12640         * docs/gst/gstreamer-docs.sgml:
12641         * docs/gst/gstreamer-sections.txt:
12642         * docs/gst/tmpl/.cvsignore:
12643         * gst/gstbus.h:
12644         * gst/gstelement.c: (gst_element_class_init),
12645         (gst_element_set_state), (activate_pads),
12646         (gst_element_save_thyself):
12647         * gst/gstevent.c: (gst_event_new_newsegment):
12648         * gst/gstevent.h:
12649         * gst/gstiterator.c:
12650         * gst/gstiterator.h:
12651         * gst/gstpad.c:
12652         * gst/gstprobe.h:
12653         * gst/gstutils.c: (gst_pad_query_convert):
12654         * gst/gstutils.h:
12655           fixed parameter name mismatches between source, header and docs
12656           added some more docs, resolved the last batch of unused elements in
12657           docs (now someone needs to doc them)
12658
12659 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12660
12661         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12662         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12663           don't walk through the plugins backwards.  Where is all this
12664           reversed logic coming from ?
12665
12666 2005-08-25  Wim Taymans  <wim@fluendo.com>
12667
12668         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12669         (gst_base_transform_transform_size),
12670         (gst_base_transform_configure_caps),
12671         (gst_base_transform_get_unit_size),
12672         (gst_base_transform_buffer_alloc),
12673         (gst_base_transform_change_state):
12674         * gst/base/gstbasetransform.h:
12675         Cache caps unit_size.
12676         Make sure we cannot negotiate up and downstream at the
12677         same time.
12678
12679 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12680
12681         * gst/gst.c: (init_pre), (init_post):
12682           register the installed plugin path after the env var
12683         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12684         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12685           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12686           directories, so the tests can prefer uninstalled over installed
12687
12688 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12689
12690         * gst/base/gstbasetransform.h:
12691           comment
12692         * gst/gstpad.c:
12693           add to docs
12694
12695 2005-08-25  Wim Taymans  <wim@fluendo.com>
12696
12697         * gst/gstbin.c: (bin_bus_handler):
12698         Be a bit more conservative about the posted message.
12699         
12700         * gst/gstbus.c: (gst_bus_post):
12701         Some cleanups, warn wrong return values.
12702
12703 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12704
12705         * check/gst/gstbin.c: (GST_START_TEST):
12706         * gst/gstbin.c: (bin_bus_handler):
12707         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12708         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12709         (gst_message_new_warning), (gst_message_new_tag),
12710         (gst_message_new_state_changed), (gst_message_new_segment_start),
12711         (gst_message_new_segment_done), (gst_message_new_custom):
12712         * gst/gstmessage.h:
12713         * tools/gst-launch.c: (event_loop):
12714         * tools/gst-md5sum.c: (event_loop):
12715           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12716
12717 2005-08-25  Wim Taymans  <wim@fluendo.com>
12718
12719         * check/generic/states.c: (GST_START_TEST):
12720         Cleanup can be done at the end.
12721
12722         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12723         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12724         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12725         Oh boy.. Thanks for finding this, Thomas. 
12726
12727 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12728
12729         * docs/gst/gstreamer.types:
12730           added missing types
12731
12732 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12733
12734         * docs/gst/gstreamer-docs.sgml:
12735         * docs/gst/gstreamer-sections.txt:
12736         * docs/gst/tmpl/.cvsignore:
12737         * gst/gstbin.c:
12738         * gst/gstiterator.c:
12739         * gst/gstutils.c:
12740         * gst/registries/gstxmlregistry.h:
12741           added missing classes and symbols (123 more to go)
12742           removed removed symbols from section file
12743           fixed many doc-comments
12744
12745 2005-08-24  Wim Taymans  <wim@fluendo.com>
12746
12747         * check/generic/states.c: (GST_START_TEST):
12748         Make sure all tasks are stopped.
12749
12750         * check/gst/gstbin.c: (GST_START_TEST):
12751         Unref after usage for proper valgrinding.
12752
12753         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12754         Really wait for the task to stop before destroying the
12755         mutex.
12756
12757         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12758         (gst_queue_src_activate_push):
12759         Small cleanups. Don't stop the task when we did not start
12760         it.
12761
12762         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12763         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12764         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12765         (gst_task_join):
12766         * gst/gsttask.h:
12767         Protect the stream lock with the object lock.
12768         Disallow setting the stream lock when running.
12769         Add cleanup_all to wait for the threadpool to finish.
12770         Remove code to autoallocate a mutex if none was provided.
12771         Add _join() to wait for a task to stop.
12772         Protect the thread pool with a global lock.
12773
12774 2005-08-24  Wim Taymans  <wim@fluendo.com>
12775
12776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12777         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12778         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12779         * gst/base/gstbasesink.h:
12780         Handle newsegment events correctly.
12781         Drop buffers out of the segment range.
12782
12783 2005-08-22  Andy Wingo  <wingo@pobox.com>
12784
12785         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12786         macro, implements an interface and gstimplementsinterface for a
12787         new type.
12788
12789 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12790
12791         * check/Makefile.am:
12792         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12793           add a test that does a bunch of state changes on elements
12794           needs some fixing for valgrind
12795         * check/states/sinks.c: (gst_object_suite):
12796           whitespace
12797         * gst/gstcaps.h:
12798           add prototype for gst_caps_is_equal_fixed
12799         * gst/gstplugin.c:
12800         * gst/gstregistrypool.c:
12801           doc fixes
12802
12803 2005-08-24  Andy Wingo  <wingo@pobox.com>
12804
12805         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12806         convert a negative value. Doesn't make much sense. Mostly this is
12807         here to force callers to ensure -1 maps to -1.
12808
12809 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12810
12811         * docs/pwg/advanced-types.xml:
12812           Well done to Michael for catching my deliberate introduction
12813           of this spelling mistake. 
12814         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12815         * gst/gstelement.h:
12816           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12817           unlink pads before removing the element from the bin.
12818
12819 2005-08-24  Andy Wingo  <wingo@pobox.com>
12820
12821         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12822         the same thing as GST_DEBUG=*:4.
12823         (parse_debug_level, parse_debug_category): New helper parsers.
12824
12825 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12826
12827         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12828         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12829         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12830         (gst_base_transform_buffer_alloc),
12831         (gst_base_transform_handle_buffer):
12832           use gboolean return values and pointers to size so we can use the
12833           full GST_BUFFER_SIZE range (guint) for buffer sizes
12834           use GstPadDirection for transform_caps
12835         * gst/base/gstbasetransform.h:
12836           rename get_size to get_unit_size since that's what it is
12837         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12838           use GstPadDirection for transform_caps
12839         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12840         * gst/gstutils.h:
12841           cleanup and debugging
12842
12843 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12844
12845         * gst/gstelement.c: (gst_element_class_init),
12846         (gst_element_set_state), (activate_pads),
12847         (gst_element_save_thyself):
12848         * tools/gst-compprep.c: (main):
12849         * tools/gst-inspect.c: (print_element_properties_info):
12850         * tools/gst-xmlinspect.c: (print_element_properties):
12851           Fixed long standing mem-leak
12852
12853 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12854
12855         * check/gst/gstbin.c: (GST_START_TEST):
12856         * gst/gstbin.c: (bin_bus_handler):
12857         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12858         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12859         (gst_message_new_warning), (gst_message_new_tag),
12860         (gst_message_new_state_changed), (gst_message_new_segment_start),
12861         (gst_message_new_segment_done), (gst_message_new_custom):
12862         * gst/gstmessage.h:
12863         * tools/gst-launch.c: (event_loop):
12864         * tools/gst-md5sum.c: (event_loop):
12865           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12866           that applications can sensibly post custom messages with references
12867           to their own objects.
12868
12869 2005-08-24  Andy Wingo  <wingo@pobox.com>
12870
12871         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12872         already.
12873
12874 2005-08-24  Wim Taymans  <wim@fluendo.com>
12875
12876         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12877         (gst_base_transform_transform_caps),
12878         (gst_base_transform_transform_size),
12879         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12880         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12881         (gst_base_transform_handle_buffer):
12882         * gst/base/gstbasetransform.h:
12883         Many fixes and new features added by Thomas. Can now also do
12884         transforms with variable sizes and a custom fixate_caps function.
12885
12886 2005-08-24  Wim Taymans  <wim@fluendo.com>
12887
12888         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12889         Some debugging.
12890
12891         * gst/gstclock.h:
12892         Cast to ClockTime before formatting to time.
12893
12894         * gst/gstutils.h:
12895         Cleanups.
12896
12897 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12898
12899         * check/gst-libs/controller.c: (GST_START_TEST),
12900         (gst_controller_suite):
12901         * docs/gst/tmpl/gstcaps.sgml:
12902         * docs/gst/tmpl/gstghostpad.sgml:
12903         * docs/gst/tmpl/gstquery.sgml:
12904         * docs/gst/tmpl/gstutils.sgml:
12905         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12906         (gst_object_sink_values), (gst_object_get_value_arrays),
12907         (gst_object_get_value_array):
12908           gracefully handle helper method calls to objects that are not beeing
12909           controlled, added test case for that          
12910
12911 2005-08-23  Wim Taymans  <wim@fluendo.com>
12912
12913         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12914         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12915         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12916         (gst_event_parse_qos), (gst_event_new_seek),
12917         (gst_event_parse_seek):
12918         * gst/gstevent.h:
12919         Some more debugging output and doc cleanups.
12920
12921         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12922         Fix possible deadlock.
12923
12924 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12925
12926         * docs/gst/gstreamer-docs.sgml:
12927         * docs/gst/gstreamer-sections.txt:
12928         * docs/gst/gstreamer.types:
12929         * docs/gst/tmpl/.cvsignore:
12930         * gst/gstbin.h:
12931         * gst/gstbus.c:
12932         * gst/gstelement.c:
12933         * gst/gstevent.h:
12934           added 100 symbols from gstreamer-unused.txt to the right sections
12935           fixed more broken comments
12936           added GstBus to docs
12937
12938 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12939
12940         * docs/gst/gstreamer-sections.txt:
12941         * docs/gst/tmpl/.cvsignore:
12942         * docs/gst/tmpl/gstbin.sgml:
12943         * docs/gst/tmpl/gstbuffer.sgml:
12944         * gst/base/gstbasesrc.c:
12945         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12946         * gst/gstbuffer.c:
12947         * gst/gstbuffer.h:
12948         * tools/gst-launch.1.in:
12949           inlined more doc comments, added missing comments and fixed comments
12950           fixed typos
12951
12952 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12953
12954         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12955           some debugging
12956         * gst/gstcaps.h:
12957           whitespace fixes
12958         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12959           more debugging
12960         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12961         * gst/gststructure.h:
12962           add a fixate function for booleans; add a FIXME that these func
12963           names should probably be gst_structure_fixate_*
12964
12965 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12966
12967         * docs/gst/gstreamer-docs.sgml:
12968         * docs/gst/gstreamer-sections.txt:
12969         * gst/Makefile.am:
12970         * gst/gstbin.c: (gst_bin_get_type),
12971         (gst_bin_child_proxy_get_child_by_index),
12972         (gst_bin_child_proxy_get_children_count),
12973         (gst_bin_child_proxy_init):
12974         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12975         (gst_child_proxy_get_child_by_index),
12976         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12977         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12978         (gst_child_proxy_get), (gst_child_proxy_set_property),
12979         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12980         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12981         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12982         * gst/gstchildproxy.h:
12983         * gst/parse/grammar.y:
12984         * tools/gst-inspect.c: (print_interfaces),
12985         (print_element_properties_info), (print_element_info):
12986           ported gstchildproxy over from 0.8
12987           ported gst-inspect fixes and enhancements over from 0.8
12988
12989 2005-08-22  Wim Taymans  <wim@fluendo.com>
12990
12991         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12992         (gst_base_transform_handle_buffer):
12993         Also call the transform function if we have ANY caps.
12994
12995         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12996         Fix debug info.
12997
12998 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12999
13000         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
13001           Don't pretend to handle seek events if the source is not seekable
13002
13003 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
13004
13005         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13006           Remove extra parameter to debug output
13007
13008         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13009         (gst_base_src_do_seek), (gst_base_src_activate_push):
13010           Fix seek event handling.
13011
13012         * gst/gstpipeline.c: (gst_pipeline_change_state):
13013         * gst/gstqueue.c: (gst_queue_handle_sink_event),
13014         (gst_queue_src_activate_push):
13015           Don't start the src pad task on FLUSH_STOP if the pad
13016           isn't linked.
13017           Debug changes.
13018
13019 2005-08-22  Wim Taymans  <wim@fluendo.com>
13020
13021         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13022         Added check for gst_static_caps_get() refcounting.
13023
13024 2005-08-22  Wim Taymans  <wim@fluendo.com>
13025
13026         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
13027         Make _static_caps_get() refcounting sane.
13028         
13029         * gst/gstelement.c: (gst_element_set_state):
13030         Add g_return_val_if_fail() to protect against segfaults.
13031
13032 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
13033
13034         * docs/gst/tmpl/gstevent.sgml:
13035         * gst/gstevent.c:
13036         * gst/gstevent.h:
13037           inlined remaining docs, added missing doc comments
13038
13039 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13040
13041         * check/gst/gstbin.c: (GST_START_TEST):
13042           since we don't know when preroll is done, use refcount range
13043           check for the sink
13044         * gst/check/gstcheck.h:
13045           add macro for checking refcount range
13046
13047 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13048
13049         * check/Makefile.am:
13050           clean up environment for when registry gets built versus
13051           when actual tests are run; valgrind seems to not report
13052           leaks if GST_PLUGIN_PATH is set to some specific values
13053         * check/gst/gstbin.c: (GST_START_TEST):
13054           add more refcounting checks; maybe this exposes a
13055           preroll lock bug ?
13056         * common/check.mak:
13057         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13058         * gst/check/gstcheck.h:
13059         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
13060         (gst_bin_change_state):
13061         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
13062           add/fix debugging/whitespace
13063
13064 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13065
13066         * check/gst/gstevent.c: (event_probe), (test_event),
13067         (GST_START_TEST):
13068          Er, don't call gst_bin_watch_for_state_change you idiot.
13069
13070 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
13071
13072         * check/Makefile.am:
13073           Use CHECK_CFLAGS and CHECK_LIBS
13074         * check/gst/gstevent.c: (event_probe), (test_event),
13075         (GST_START_TEST):
13076           Don't leak events.
13077         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13078         (gst_base_src_start), (gst_base_src_stop),
13079         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13080         (gst_base_src_change_state):
13081           Sprinkle gst_base_src_stop liberally around error paths to fix
13082           problems reusing a source after failed state changes.
13083         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13084         (helper_find_suggest), (gst_type_find_helper):
13085           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
13086         * gst/gstevent.h:
13087         * docs/gst/tmpl/gstevent.sgml:
13088           Migrate part of the docs from the SGML file. Wait for ensonic to
13089           tell me how I did it wrong ;)
13090         * tools/gst-typefind.c: (main):
13091           Extra robustness to state changes between files.
13092
13093 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
13094
13095         * check/Makefile.am:
13096           don't valgrind the controller test - it's leaking - Stefan, HELP
13097         * gst/check/gstcheck.c: (gst_check_message_error),
13098         (gst_check_chain_func), (gst_check_setup_element),
13099         (gst_check_teardown_element), (gst_check_setup_src_pad),
13100         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
13101         (gst_check_teardown_sink_pad):
13102         * gst/check/gstcheck.h:
13103           add a bunch of methods to set up elements, and src and sink pads
13104         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
13105         * check/elements/identity.c: (setup_identity), (cleanup_identity),
13106         (GST_START_TEST):
13107           use them
13108         * gst/gstmessage.c:
13109         * gst/gsttag.h:
13110           whitespace/doc fixes
13111
13112 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13113
13114         * gst/gstelement.h:
13115           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
13116           be handled by the application and not always printed as well
13117
13118 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13119
13120         * check/Makefile.am:
13121           set GST_TOOLS_DIR
13122         * gst/check/gstcheck.c: (gst_check_message_error):
13123         * gst/check/gstcheck.h:
13124           add a fail_unless_equals_int
13125           add fail_unless for error messages
13126
13127 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13128
13129         * check/Makefile.am:
13130         * check/gst.supp:
13131         * common/Makefile.am:
13132         * common/check.mak:
13133         * common/gst.supp:
13134           factor out some of the common stuff so we can use it
13135
13136 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13137
13138         * check/Makefile.am:
13139         * check/gst/gstiterator.c: (GST_START_TEST):
13140         * check/gst/gstsystemclock.c: (GST_START_TEST),
13141         (gst_systemclock_suite):
13142         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13143         * gst/gstclock.c:
13144           valgrind more tests
13145
13146 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13147
13148         * check/elements/.cvsignore:
13149         * check/elements/gstfakesrc.c:
13150           rename to name of element
13151         * check/elements/identity.c: (chain_func), (event_func),
13152         (setup_identity), (cleanup_identity), (GST_START_TEST),
13153         (identity_suite), (main):
13154           add a test for identity
13155         * check/Makefile.am:
13156         * pkgconfig/Makefile.am:
13157         * pkgconfig/gstreamer-check.pc.in:
13158         * pkgconfig/gstreamer-check-uninstalled.pc.in:
13159         * gst/check:
13160         * gst/Makefile.am:
13161         * configure.ac:
13162           move the check stuff to a library that gets installed
13163         * check/gst-libs/controller.c: (GST_START_TEST):
13164         * check/gst-libs/gdp.c:
13165         * check/gst/gst.c: (GST_START_TEST):
13166         * check/gst/gstbin.c:
13167         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13168         * check/gst/gstbus.c:
13169         * check/gst/gstcaps.c: (GST_START_TEST):
13170         * check/gst/gstelement.c:
13171         * check/gst/gstghostpad.c:
13172         * check/gst/gstiterator.c:
13173         * check/gst/gstmessage.c:
13174         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
13175         * check/gst/gstobject.c:
13176         * check/gst/gstpad.c: (GST_START_TEST):
13177         * check/gst/gststructure.c: (GST_START_TEST):
13178         * check/gst/gstsystemclock.c: (GST_START_TEST),
13179         (gst_systemclock_suite):
13180         * check/gst/gsttag.c: (gst_tag_suite):
13181         * check/gst/gstvalue.c:
13182         * check/pipelines/cleanup.c:
13183         * check/pipelines/simple_launch_lines.c:
13184         * check/states/sinks.c:
13185           change include statement
13186
13187         * docs/gst/gstreamer-sections.txt:
13188         * docs/gst/tmpl/gstpad.sgml:
13189           document more pad stuff
13190         * gst/gstminiobject.c: (gst_mini_object_ref),
13191         (gst_mini_object_unref):
13192           debug refcounting
13193
13194 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
13195
13196         * docs/gst/tmpl/gst.sgml:
13197         * gst/gst.c:
13198           eliminate another tmpl file, fix spelling in the long-description
13199
13200 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13201
13202         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13203         (test_event), (timediff), (gstevents_suite):
13204           Should fix build on 64-bit arch's
13205
13206 2005-08-18  Andy Wingo  <wingo@pobox.com>
13207
13208         Make sure that when a pipeline goes to PLAYING, that data has
13209         actually hit the sink.
13210
13211         * check/states/sinks.c (test_sink): A sink that doesn't get any
13212         data shouldn't return SUCCESS for going to either PLAYING or
13213         PAUSED. Test also the return values on the way back down.
13214
13215         * gst/gstelement.c (gst_element_set_state): When changing the
13216         state of an element currently changing state asynchronously, go to
13217         lost-state after commiting the pending state. Makes future calls
13218         to get_state continue to return ASYNC.
13219
13220         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
13221         ASYNC when going to PLAYING if we still don't have preroll, as can
13222         happen with live sources.
13223
13224 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13225
13226         * docs/pwg/advanced-types.xml:
13227           Hack long paragraph into 2 chunks as a workaround for buggy
13228           jadetex version in sid and breezy that loops infinitely and
13229           eats all RAM.
13230
13231 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13232
13233         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13234         (test_event), (timediff), (gstevents_suite):
13235           Provide more error margin in clock measurements to allow for 
13236           g_get_current_time inaccuracies.
13237
13238 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13239
13240         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13241         (test_event), (timediff), (gstevents_suite):
13242            Fix error message output so I might be able to tell why the
13243            test works here but fails on the build farm.
13244
13245 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
13246
13247         * check/Makefile.am:
13248         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
13249         (test_event), (timediff), (gstevents_suite), (main):
13250           I wrote a test!
13251
13252         * docs/design/part-seeking.txt:
13253           Spelling correction
13254
13255         * docs/gst/tmpl/gstevent.sgml:
13256         * docs/gst/tmpl/gstfakesrc.sgml:
13257           Docs updates.
13258
13259         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13260           Treat a buffer-without-newsegment the same as a receiving 
13261           a newsegment not in time format, and disable syncing to the clock
13262           with a warning.
13263
13264         * gst/gstbus.c: (gst_bus_set_sync_handler):
13265           Assert if anyone tries to replace the existing sync_handler for bus, 
13266           as only the owner should be setting it.
13267
13268         * gst/gstevent.h:
13269           Have a fixed set of custom event enums with events identified by
13270           their structure name (as in 0.8), rather than a free-for-all
13271           allowing collisions between enum values from different plugins.
13272
13273         * gst/gstpad.c: (gst_pad_class_init):
13274           Docs change.
13275           
13276         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13277           Handle out-of-band downstream events from the sending thread.
13278
13279 2005-08-17  Andy Wingo  <wingo@pobox.com>
13280
13281         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
13282         play-timeout==0 to mean no timeout at all. In that case, don't
13283         bother with a get_state or a warning, just return directly, even
13284         if it's ASYNC.
13285
13286         * gst/base/gstbasetransform.c: Debug changes.
13287
13288         * gst/gstutils.h:
13289         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
13290         ensure bins post state change messages. A bit of a hack but I can't
13291         think of a way to avoid it.
13292
13293         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
13294
13295 2005-08-16  Andy Wingo  <wingo@pobox.com>
13296
13297         * gst/base/gstadapter.h:
13298         * gst/base/gstadapter.c (gst_adapter_take): New function, like
13299         peek() but you own the data. Not terribly efficient atm.
13300
13301 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13302
13303         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
13304         (gst_element_found_tags):
13305         * gst/gstutils.h:
13306           Add two utility functions for tag handling.
13307
13308 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13309
13310         * docs/manual/advanced-dataaccess.xml:
13311         * docs/manual/basics-helloworld.xml:
13312           Fix docs to use _bin_add() before _link(), which fixes the examples
13313           with recent core versions (reported by Madhan Raj M
13314           <raj_madan@rediffmail.com>, #313199).
13315
13316 2005-08-16  Wim Taymans  <wim@fluendo.com>
13317
13318         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13319         Added subtract checks.
13320
13321         * docs/design/part-events.txt:
13322         Some more docs about newsegment
13323
13324         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13325         Fix FIXME
13326
13327         * gst/gstcaps.c: (gst_caps_to_string):
13328         Add comments, cleanups.
13329         
13330         * gst/gstelement.c: (gst_element_save_thyself):
13331         cleanups
13332         
13333         * gst/gstvalue.c: (gst_value_collect_int_range),
13334         (gst_string_unwrap), (gst_value_union_int_int_range),
13335         (gst_value_union_int_range_int_range),
13336         (gst_value_intersect_int_int_range),
13337         (gst_value_intersect_int_range_int_range),
13338         (gst_value_intersect_double_double_range),
13339         (gst_value_intersect_double_range_double_range),
13340         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
13341         (gst_value_subtract_int_range_int),
13342         (gst_value_subtract_double_range_double),
13343         (gst_value_subtract_double_range_double_range),
13344         (gst_value_subtract_from_list), (gst_value_subtract_list),
13345         (gst_value_can_compare), (gst_value_compare_fraction):
13346         Cleanups, add comments, remove unneeded asserts.
13347
13348 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13349
13350         * tools/gst-launch.c: (event_loop):
13351           don't convert NULL structures to strings
13352
13353 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
13354
13355         * docs/gst/gstreamer-sections.txt:
13356           made some defines private
13357         * docs/gst/tmpl/gstconfig.sgml:
13358         * docs/gst/tmpl/gstqueue.sgml:
13359         * docs/gst/tmpl/gsttaglist.sgml:
13360         * docs/gst/tmpl/gsttypes.sgml:
13361         * docs/gst/tmpl/gstutils.sgml:
13362         * docs/pwg/appendix-porting.xml:
13363         * gst/base/gstbasesink.h:
13364         * gst/base/gstbasesrc.c:
13365         * gst/base/gstbasesrc.h:
13366         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
13367         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
13368         * gst/gstelement.c: (gst_element_class_init):
13369         * gst/gstpad.c: (gst_pad_class_init):
13370         * gst/gstqueue.c: (gst_queue_class_init):
13371         * gst/gstxml.c: (gst_xml_class_init):
13372           documented all undocumented signal inline
13373         * libs/gst/controller/gst-controller.h:
13374           added padding
13375
13376 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13377
13378         * docs/pwg/appendix-porting.xml:
13379           Document _set_link_function -> _set_setcaps_function.
13380
13381 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13382
13383         * check/Makefile.am:
13384           add a .check target for running the check
13385         * check/gst-libs/controller.c: (GST_START_TEST):
13386           cosmetic fixups
13387         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13388           complete checks for gstbuffer; would be nice if I could get the
13389           gcov stuff to work so I can see if I actually completed gstbuffer.c
13390         * check/gstcheck.h:
13391           add ASSERT_BUFFER_REFCOUNT
13392
13393 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
13394
13395         * docs/gst/gstreamer-sections.txt:
13396         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
13397         * gst/gsttag.h:
13398           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
13399           spew out a warning if a tag that is already registered
13400           is re-registered, unless it is re-registered with a 
13401           different type (#308438).
13402
13403 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
13404
13405         * docs/pwg/appendix-porting.xml:
13406         * docs/pwg/building-state.xml:
13407           Add some paragraphs about state changes in 0.9 to the PWG
13408           and the porting guide, in particular about the new meaning
13409           of GST_STATE_PAUSED and how to write state change functions
13410           with concurrent access by multiple threads in mind.
13411
13412 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
13413
13414         * docs/gst/gstreamer-docs.sgml:
13415         * docs/libs/gstreamer-libs-docs.sgml:
13416           added deprecation and since indexes
13417         * libs/gst/controller/gst-controller.c:
13418         * libs/gst/controller/gst-helper.c:
13419           added since tags
13420
13421
13422 2005-08-11  Wim Taymans  <wim@fluendo.com>
13423
13424         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
13425         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
13426         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
13427         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
13428         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
13429         (gst_ghost_pad_set_target):
13430         Actually implement (re)setting the target on a ghostpad
13431         as described in the docs.
13432
13433 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13434
13435         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
13436           Check whether GST_DEBUG_NO_COLOR environment variable is
13437           set and disable coloured debug output if that is the case.
13438
13439 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
13440
13441         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13442         (gst_type_find_helper):
13443           The memory returned by gst_type_find_peek() needs to
13444           stay valid until the end of a typefind function, and
13445           typefind functions may keep results from different 
13446           offsets around, so we can't just unref the buffer from
13447           the previous _peek(), but have to save all buffers 
13448           returned by _peek() until typefinding is done and only
13449           free them then.
13450
13451 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13452
13453         * docs/gst/gstreamer-sections.txt:
13454         * gst/gstutils.h:
13455           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
13456
13457 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13458
13459         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
13460           Fix a pretty good memleak.
13461
13462 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13463
13464         * gst/gstiterator.h:
13465           Fix wrong include and 'make distcheck'.
13466
13467 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13468
13469         * gst/gstbin.c: (bin_bus_handler):
13470           Use gst_element_post_message() instead.
13471
13472 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13473
13474         * gst/base/gstadapter.h:
13475         * gst/base/gstbasesink.h:
13476         * gst/base/gstbasesrc.h:
13477         * gst/base/gstbasetransform.h:
13478         * gst/base/gstcollectpads.h:
13479         * gst/base/gstpushsrc.h:
13480         * gst/gstiterator.h:
13481           Add padding to our base elements' class and instance structs and
13482           to GstIterator (you will need to rebuild all plugins and apps!)
13483
13484 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13485
13486         * gst/gstbin.c: (bin_bus_handler):
13487           Make default message forwarding from child->bus to bin->bus
13488           threadsafe and make it not emit warnings if the parent has no bus.
13489
13490 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13491
13492         * gst/gstelement.c: (activate_pads):
13493           On paused->ready, set pad->caps to NULL, as is the documented
13494           behaviour in this state change. Fixes playback of series of
13495           media files when visualization is enabled in Totem.
13496
13497 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13498
13499         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
13500           Allow NULL as filter-caps (which means "any").
13501
13502 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13503
13504         * docs/libs/gstreamer-libs-sections.txt:
13505         * libs/gst/controller/gst-controller.c:
13506         * libs/gst/controller/gst-controller.h:
13507         * libs/gst/controller/gst-helper.c:
13508           adding more entries to the docs and fix small doc-bugs
13509
13510 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13511
13512         * docs/gst/gstreamer-docs.sgml:
13513         * docs/gst/gstreamer-sections.txt:
13514         * docs/gst/gstreamer.types:
13515         * docs/gst/tmpl/gstbasesink.sgml:
13516         * docs/gst/tmpl/gstbasesrc.sgml:
13517         * docs/gst/tmpl/gstbasetransform.sgml:
13518         * docs/gst/tmpl/gstfakesrc.sgml:
13519         * gst/base/gstcollectpads.c:
13520         * gst/base/gstcollectpads.h:
13521         * libs/gst/controller/gst-controller.c:
13522         * libs/gst/controller/gst-controller.h:
13523         * libs/gst/controller/gst-helper.c:
13524         * libs/gst/controller/gst-interpolation.c:
13525         * libs/gst/controller/lib.c:
13526           added long/short desc for controller docs
13527           added collectpads base class docs
13528           added correct includes to base-class docs
13529
13530 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13531
13532         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13533         (gst_test_mono_source_set_property),
13534         (gst_test_mono_source_class_init), (GST_START_TEST),
13535         (gst_controller_suite):
13536         * docs/gst/gstreamer-docs.sgml:
13537         * docs/gst/gstreamer-sections.txt:
13538         * docs/gst/gstreamer.types:
13539         * docs/libs/gstreamer-libs-docs.sgml:
13540         * docs/libs/gstreamer-libs-sections.txt:
13541         * gst/base/gstadapter.c:
13542         * libs/gst/controller/gst-controller.c:
13543         (gst_controlled_property_new), (gst_controlled_property_free),
13544         (gst_controller_new_valist),
13545         (gst_controller_remove_properties_valist),
13546         (gst_controller_sink_values), (_gst_controller_finalize):
13547         * libs/gst/controller/gst-controller.h:
13548         * libs/gst/controller/gst-helper.c:
13549         (gst_object_control_properties), (gst_object_uncontrol_properties),
13550         (gst_object_get_controller), (gst_object_set_controller),
13551         (gst_object_sink_values), (gst_object_get_value_arrays),
13552         (gst_object_get_value_array):
13553           more tests (and fixes) for the controller
13554           more docs for the controller
13555           integrated companies docs for the adapter 
13556
13557 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13558
13559         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13560         (GST_START_TEST), (fakesrc_suite):
13561           add tests for sizetype
13562
13563 2005-08-04  Andy Wingo  <wingo@pobox.com>
13564
13565         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13566         fixes buffer_alloc proxying among other things.
13567
13568         * gst/base/gstbasetransform.c:
13569         * gst/base/gstbasetransform.h:
13570         Revert patch to gstbasetransform from 7-28 removing
13571         delay_configure.
13572
13573         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13574         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13575         Semantics changed, should return not the size of the output buffer
13576         but the byte size of a buffer with a given caps.
13577
13578         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13579         debug object.
13580         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13581         out) are not the pad caps until setcaps finishes.
13582         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13583         not-in-place case as well. Deal with changing from in-place to
13584         not-in-place within calling pad_alloc_buffer. Still a bit
13585         concerned about the overhead here...
13586
13587 2005-08-03  Andy Wingo  <wingo@pobox.com>
13588
13589         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13590         fixating is an error.
13591
13592 2005-08-04  Edward Hervey  <edward@fluendo.com>
13593
13594         * gst/base/gstadapter.h: 
13595         Added gst_adapter_get_type() to the header
13596
13597 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13598
13599         * check/Makefile.am:
13600         * check/gst-libs/controller.c:
13601         * libs/gst/controller/gst-controller.c:
13602         (gst_controller_new_valist):
13603           added check test suite for the controller
13604         * gst/base/gstpushsrc.c:
13605           fixed a doc typo
13606
13607 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13608
13609         * docs/gst/Makefile.am:
13610         * docs/gst/gstreamer-docs.sgml:
13611         * docs/gst/gstreamer-sections.txt:
13612         * docs/gst/gstreamer.types:
13613         * docs/gst/tmpl/gstfakesrc.sgml:
13614         * gst/base/README:
13615         * gst/base/gstbasesink.c:
13616         * gst/base/gstbasesink.h:
13617         * gst/base/gstbasesrc.c:
13618         * gst/base/gstbasesrc.h:
13619         * gst/base/gstbasetransform.c:
13620         * gst/base/gstpushsrc.c:
13621         * gst/base/gstpushsrc.h:
13622           add short/long description docs to base classes
13623           add pushsrc to the docs
13624           remove consolidated doc fragments
13625
13626 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13627
13628         * configure.ac:
13629         * docs/libs/Makefile.am:
13630         * docs/libs/gstreamer-libs-docs.sgml:
13631         * docs/libs/gstreamer-libs-sections.txt:
13632         * docs/libs/gstreamer-libs.types:
13633         * examples/Makefile.am:
13634         * examples/controller/.cvsignore:
13635         * examples/controller/Makefile.am:
13636         * examples/controller/audio-example.c: (main):
13637         * libs/gst/Makefile.am:
13638         * libs/gst/controller/.cvsignore:
13639         * libs/gst/controller/Makefile.am:
13640         * libs/gst/controller/gst-controller.c:
13641         (on_object_controlled_property_changed), (gst_timed_value_compare),
13642         (gst_timed_value_find),
13643         (gst_controlled_property_set_interpolation_mode),
13644         (gst_controlled_property_new), (gst_controlled_property_free),
13645         (gst_controller_find_controlled_property),
13646         (gst_controller_new_valist), (gst_controller_new),
13647         (gst_controller_remove_properties_valist),
13648         (gst_controller_remove_properties), (gst_controller_set),
13649         (gst_controller_set_from_list), (gst_controller_unset),
13650         (gst_controller_get), (gst_controller_get_all),
13651         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13652         (gst_controller_get_value_array),
13653         (gst_controller_set_interpolation_mode),
13654         (_gst_controller_finalize), (_gst_controller_init),
13655         (_gst_controller_class_init), (gst_controller_get_type):
13656         * libs/gst/controller/gst-controller.h:
13657         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13658         (g_object_uncontrol_properties), (g_object_get_controller),
13659         (g_object_set_controller), (g_object_sink_values),
13660         (g_object_get_value_arrays), (g_object_get_value_array):
13661         * libs/gst/controller/gst-interpolation.c:
13662         (gst_controlled_property_find_timed_value_node),
13663         (interpolate_none_get), (interpolate_trigger_get),
13664         (interpolate_trigger_get_value_array):
13665         * libs/gst/controller/lib.c: (gst_controller_init):
13666         * pkgconfig/Makefile.am:
13667         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13668         * pkgconfig/gstreamer-control.pc.in:
13669         * testsuite/Makefile.am:
13670         * testsuite/controller/.cvsignore:
13671         * testsuite/controller/Makefile.am:
13672         * testsuite/controller/interpolator.c: (main):
13673           added controller code
13674           removed dparam pc files
13675
13676 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13677         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13678         (gst_collectpads_stop):
13679           Broadcast the condition when shutting down, to make sure we wake all
13680           threads up. Shut down pads on finalize, for safety.
13681
13682 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13683         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13684         (gst_base_transform_handle_buffer),
13685         (gst_base_transform_change_state):
13686           Handle PAUSED->READY->PAUSED transition after negotiation
13687           occurred already.
13688         * gst/gstmessage.c: (gst_message_init):
13689           Extra piece of debug for new messages.
13690
13691 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13692
13693         * configure.ac:
13694         * docs/gst/tmpl/gstbasesrc.sgml:
13695         * docs/gst/tmpl/gstelement.sgml:
13696         * docs/gst/tmpl/gstevent.sgml:
13697         * docs/gst/tmpl/gstfakesrc.sgml:
13698         * docs/gst/tmpl/gstformat.sgml:
13699         * docs/gst/tmpl/gstghostpad.sgml:
13700         * docs/gst/tmpl/gstpad.sgml:
13701         * docs/gst/tmpl/gstquery.sgml:
13702         * docs/gst/tmpl/gststructure.sgml:
13703         * docs/gst/tmpl/gsttaglist.sgml:
13704         * docs/gst/tmpl/gstvalue.sgml:
13705         * docs/libs/gstreamer-libs-docs.sgml:
13706         * docs/libs/gstreamer-libs-sections.txt:
13707         * docs/libs/gstreamer-libs.types:
13708         * libs/gst/Makefile.am:
13709         * libs/gst/control/.cvsignore:
13710         * libs/gst/control/Makefile.am:
13711         * libs/gst/control/control.c:
13712         * libs/gst/control/control.h:
13713         * libs/gst/control/dparam.c:
13714         * libs/gst/control/dparam.h:
13715         * libs/gst/control/dparam_smooth.c:
13716         * libs/gst/control/dparam_smooth.h:
13717         * libs/gst/control/dparamcommon.h:
13718         * libs/gst/control/dparammanager.c:
13719         * libs/gst/control/dparammanager.h:
13720         * libs/gst/control/dplinearinterp.c:
13721         * libs/gst/control/dplinearinterp.h:
13722         * libs/gst/control/unitconvert.c:
13723         * libs/gst/control/unitconvert.h:
13724         * testsuite/Makefile.am:
13725         * testsuite/dynparams/.cvsignore:
13726         * testsuite/dynparams/Makefile.am:
13727         * testsuite/dynparams/dparamstest.c:
13728         * tools/Makefile.am:
13729         * tools/gst-inspect.c: (print_element_info), (main):
13730         * tools/gst-xmlinspect.c: (print_element_info), (main):
13731           deactivate and remove dparams (libgstcontrol)
13732
13733 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13734
13735         * gst/elements/gsttypefindelement.c:
13736         (gst_type_find_element_have_type), (gst_type_find_element_init),
13737         (stop_typefinding), (gst_type_find_element_handle_event),
13738         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13739         * gst/elements/gsttypefindelement.h:
13740           Set caps on all outgoing buffers, not just the first one.
13741
13742 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13743
13744         * gst/elements/gsttypefindelement.c:
13745         (gst_type_find_element_have_type),
13746         (gst_type_find_element_check_set_buffer_caps),
13747         (gst_type_find_element_init), (stop_typefinding),
13748         (gst_type_find_element_handle_event),
13749         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13750         * gst/elements/gsttypefindelement.h:
13751           Set caps on first outgoing buffer when we've found the type.
13752
13753 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13754
13755         * docs/gst/gstreamer-docs.sgml:
13756         * docs/gst/gstreamer-sections.txt:
13757         * docs/gst/tmpl/gstscheduler.sgml:
13758         * docs/gst/tmpl/gstschedulerfactory.sgml:
13759           Remove some old cruft from docs.
13760
13761 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13762
13763         * gst/gstpad.h:
13764           Fix inline docs for GstPadLinkReturn.
13765           
13766         * gst/gststructure.c: (gst_structure_has_name):
13767         * gst/gststructure.h:
13768         * docs/gst/gstreamer-sections.txt:
13769           New API: gst_structure_has_name().
13770
13771 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13772
13773         * configure.ac:
13774           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13775           and _LARGEFILE_SOURCE in config.h as required. Do not 
13776           export those flags in our .pc files any longer (#142209).
13777
13778           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13779
13780         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13781         (gst_file_sink_do_seek), (gst_file_sink_event),
13782         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13783           Redo seek/tell calls with large file support in mind; add some
13784           debugging messages; add log message that tells us when large
13785           file support is unavailable or not enabled for some reason.
13786
13787         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13788           Add log message that tells us when large file support 
13789           is unavailable or not enabled for some reason.
13790
13791 2005-07-29  Wim Taymans  <wim@fluendo.com>
13792
13793         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13794         Added test for removing an element with ghostpad from a bin.
13795         Fixed test as current implementation does the right thing.
13796
13797         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13798         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13799         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13800         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13801         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13802         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13803         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13804         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13805         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13806         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13807         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13808         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13809         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13810         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13811         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13812         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13813         * gst/gstghostpad.h:
13814         Clean up ghostpads, remove properties for internal stuff.
13815         Make threadsafe.
13816         Fix refcounting.
13817         Prepare for switching targets, not all use cases work yet.
13818
13819 2005-07-29  Wim Taymans  <wim@fluendo.com>
13820
13821         * docs/design/part-gstghostpad.txt:
13822         Small update.
13823
13824         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13825         (gst_bin_remove_func):
13826         Unlinking pads while holding the bin LOCK is not a good
13827         idea.
13828
13829         * gst/gstpad.c: (gst_pad_class_init),
13830         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13831         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13832         No prob setting template after creating the pad.
13833
13834 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13835
13836         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13837         (gst_bus_peek), (gst_bus_source_dispatch),
13838         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13839         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13840           gst_bus_poll may be called from other threads. Handle
13841           this nicely by not making poll_data disappear off the
13842           stack once gst_bus_poll returns.
13843           gst_bus_peek now increments the refcount on the returned
13844           message.
13845
13846 2005-07-29  Wim Taymans  <wim@fluendo.com>
13847
13848         * docs/design/part-gstghostpad.txt:
13849         Overview of current GhostPad datastructures and use
13850         cases for changing the target.
13851
13852 2005-07-28  Wim Taymans  <wim@fluendo.com>
13853
13854         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13855         Added checks for hierarchy consistency whan adding linked
13856         elements to bins.
13857
13858         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13859         Added check to test element scheduling without bin/pipeline.
13860
13861         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13862         First add elements to bin, then link.
13863         
13864         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13865         (gst_bin_remove_func):
13866         Unlink pads from elements added/removed from bin to maintain
13867         hierarchy consistency.
13868
13869 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13870
13871         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13872         (gst_base_transform_handle_buffer):
13873         * gst/base/gstbasetransform.h:
13874           Remove broken delay_configure (fixes renegotiation of software
13875           scaling pipelines); remove some leftover printf()s.
13876
13877 2005-07-28  Wim Taymans  <wim@fluendo.com>
13878
13879         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13880         Added some more tests for wrong hierarchy
13881
13882         * docs/design/part-overview.txt:
13883         Some updates.
13884
13885         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13886         Cleanups.
13887
13888         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13889         (gst_element_dispose):
13890         Some more cleanups.
13891
13892         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13893         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13894         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13895         (gst_pad_set_caps), (gst_pad_send_event):
13896         Check for correct hierarchy when linking pads. Moving to
13897         strict requirement for ghostpads when linking elements in
13898         different bins.
13899
13900         * gst/gstpad.h:
13901         Clean ups. Added WRONG_HIERARCHY return value.
13902
13903 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13904
13905         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13906           Better debug if no transform is possible.
13907
13908 2005-07-27  Wim Taymans  <wim@fluendo.com>
13909
13910         * docs/random/wtay/network-transp:
13911         Some old doc I had.
13912
13913 2005-07-27  Wim Taymans  <wim@fluendo.com>
13914
13915         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13916         (gst_dp_event_from_packet):
13917         Fix serialization of seek events.
13918
13919 2005-07-27  Wim Taymans  <wim@fluendo.com>
13920
13921         * check/gst-libs/gdp.c: (GST_START_TEST):
13922         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13923         Fix compilation and fix event serialization.
13924
13925 2005-07-27  Wim Taymans  <wim@fluendo.com>
13926
13927         * CHANGES-0.9:
13928         * docs/design/part-TODO.txt:
13929         * docs/design/part-events.txt:
13930         Some docs updates
13931
13932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13933         (gst_base_sink_event), (gst_base_sink_do_sync),
13934         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13935         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13936         (gst_base_src_do_seek), (gst_base_src_event_handler),
13937         (gst_base_src_loop):
13938         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13939         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13940         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13941         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13942         (gst_base_transform_set_passthrough),
13943         (gst_base_transform_is_passthrough):
13944         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13945         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13946         Event updates.
13947
13948         * gst/gstbuffer.h:
13949         Use faster casts.
13950
13951         * gst/gstelement.c: (gst_element_seek):
13952         * gst/gstelement.h:
13953         Update gst_element_seek.
13954
13955         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13956         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13957         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13958         (gst_event_new_eos), (gst_event_new_newsegment),
13959         (gst_event_parse_newsegment), (gst_event_new_tag),
13960         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13961         (gst_event_parse_qos), (gst_event_new_seek),
13962         (gst_event_parse_seek), (gst_event_new_navigation):
13963         * gst/gstevent.h:
13964         Make GstEvent use GstStructure. Add parsing code, make sure the
13965         API is sufficiently generic.
13966         Mark possible directions of events and serialization.
13967
13968         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13969         (_gst_message_copy), (gst_message_new_segment_start),
13970         (gst_message_new_segment_done), (gst_message_new_custom),
13971         (gst_message_parse_segment_start),
13972         (gst_message_parse_segment_done):
13973         Small cleanups.
13974
13975         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13976         (gst_pad_set_caps), (gst_pad_send_event):
13977         Update for new events. 
13978         Catch events sent in wrong directions.
13979
13980         * gst/gstqueue.c: (gst_queue_link_src),
13981         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13982         (gst_queue_handle_src_query):
13983         Event updates.
13984
13985         * gst/gsttag.c:
13986         * gst/gsttag.h:
13987         Remove event code from this file.
13988
13989         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13990         (gst_dp_event_from_packet):
13991         Event updates.
13992
13993 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13994
13995         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13996         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13997         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13998           Make debugging actually useful.
13999
14000 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14001
14002         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
14003         (gst_pad_fixate_caps):
14004           Implement default fixation once again, so that gst_pad_fixate()
14005           actually does anything at all. This probably needs to be some
14006           sort of a last resort, and use profile-based fixation first, but
14007           since that doesn't exist yet, this is the best we have. Fixes
14008           visualization in Totem.
14009
14010 2005-07-22  Wim Taymans  <wim@fluendo.com>
14011
14012         * docs/design/part-events.txt:
14013         Small update.
14014
14015         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14016         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
14017         (gst_base_sink_activate_pull):
14018         Some more comments.
14019
14020         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
14021         (gst_fake_src_create):
14022         Fix handoff marshall.
14023
14024         * gst/elements/gstidentity.c: (gst_identity_class_init),
14025         (gst_identity_transform_ip):
14026         We're a real inplace element.
14027
14028         * gst/gstbus.c: (gst_bus_post):
14029         Added some comments.
14030
14031         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
14032         * tests/muxing/case1.c: (main):
14033         * tests/sched/dynamic-pipeline.c: (main):
14034         * tests/sched/interrupt1.c: (main):
14035         * tests/sched/interrupt2.c: (main):
14036         * tests/sched/interrupt3.c: (main):
14037         * tests/sched/runxml.c: (main):
14038         * tests/sched/sched-stress.c: (main):
14039         * tests/seeking/seeking1.c: (event_received), (main):
14040         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
14041         (main):
14042         * tests/threadstate/threadstate3.c: (main):
14043         * tests/threadstate/threadstate4.c: (main):
14044         * tests/threadstate/threadstate5.c: (main):
14045         Fix the tests.
14046
14047 2005-07-21  Wim Taymans  <wim@fluendo.com>
14048
14049         * docs/design/part-seeking.txt:
14050         Some small additions.
14051
14052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14053         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14054         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
14055         * gst/base/gstbasesink.h:
14056         discont values are gint64, handle the math correctly.
14057
14058         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14059         Make the basesrc report error if the source pad is not linked.
14060
14061         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
14062         (gst_queue_loop), (gst_queue_handle_src_query),
14063         (gst_queue_src_activate_push):
14064         Make queue collect data even if the srcpad is not linked.
14065         Start pushing out data as soon as it is linked.
14066
14067         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
14068         * gst/gstutils.h:
14069         Added gst_flow_get_name() to ease error reporting.
14070
14071 2005-07-20  Wim Taymans  <wim@fluendo.com>
14072
14073         * gst/gstmessage.c: (gst_message_new_segment_start),
14074         (gst_message_new_segment_done), (gst_message_parse_segment_start),
14075         (gst_message_parse_segment_done):
14076         * gst/gstmessage.h:
14077         Added a bunch of messages for advanced seeking.
14078
14079         * gst/parse/grammar.y:
14080         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
14081         (gst_dpman_state_changed):
14082         Fix some new-pad -> pad-added signals
14083
14084 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14085
14086         * docs/manual/appendix-porting.xml:
14087         * docs/pwg/appendix-porting.xml:
14088           Document new-pad/state-change signal renames and the FixedList
14089           type rename.
14090
14091 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14092
14093         * docs/manual/advanced-autoplugging.xml:
14094         * docs/manual/basics-helloworld.xml:
14095         * docs/manual/basics-pads.xml:
14096         * docs/random/ds/0.9-suggested-changes:
14097         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
14098         * gst/gstelement.h:
14099         * gst/gstevent.h:
14100         * gst/gstformat.h:
14101         * gst/gstquery.h:
14102         * gst/gststructure.c: (gst_structure_value_get_generic_type),
14103         (gst_structure_parse_array), (gst_structure_parse_value):
14104         * gst/gstvalue.c: (gst_type_is_fixed),
14105         (gst_value_list_prepend_value), (gst_value_list_append_value),
14106         (gst_value_list_get_size), (gst_value_list_get_value),
14107         (gst_value_transform_array_string), (gst_value_serialize_array),
14108         (gst_value_deserialize_array), (gst_value_intersect_array),
14109         (gst_value_is_fixed), (_gst_value_initialize):
14110         * gst/gstvalue.h:
14111           GstElement::new-pad -> pad-added, GstElement::state-change ->
14112           state-changed, GstValueFixedList -> GstValueArray, add format and
14113           flags as their own arguments in gst_element_seek() (should improve
14114           "bindeability"), remove function generators since they don't work
14115           under a whole bunch of compilers (they were deprecated already
14116           anyway).
14117
14118 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14119
14120         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
14121         (_gst_debug_register_funcptr):
14122         * gst/gstinfo.h:
14123           Fix illegal cast on some platforms (#309253).
14124
14125 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14126
14127         * gst/gstmessage.c: (gst_message_new_custom):
14128         * gst/gstmessage.h:
14129           Add _new_custom, make _new_application a macro to _new_custom.
14130
14131 2005-07-20  Wim Taymans  <wim@fluendo.com>
14132
14133         * gst/base/gstbasesrc.c: (gst_base_src_init),
14134         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
14135         * gst/base/gstbasesrc.h:
14136         Add a gboolean to decide when to push out a discont.
14137
14138         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
14139         (gst_queue_loop), (gst_queue_handle_src_query),
14140         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
14141         (gst_queue_set_property), (gst_queue_get_property):
14142         Some cleanups.
14143
14144         * tests/threadstate/threadstate1.c: (main):
14145         Make a thread test compile and run... very silly..
14146
14147
14148 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14149
14150         * docs/manual/appendix-porting.xml:
14151           Mention removal of libgstgconf-0.9.la and existence of gconf
14152           elements.
14153
14154 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14155
14156         * docs/pwg/advanced-clock.xml:
14157         * docs/pwg/appendix-porting.xml:
14158         * docs/pwg/intro-preface.xml:
14159         * docs/pwg/other-base.xml:
14160         * docs/pwg/other-manager.xml:
14161         * docs/pwg/other-nton.xml:
14162         * docs/pwg/other-ntoone.xml:
14163         * docs/pwg/other-oneton.xml:
14164         * docs/pwg/pwg.xml:
14165           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
14166           demuxer), remove n-to-n (was never written), fix some code examples
14167           and links and update the porting section to include all this.
14168
14169 2005-07-19  Wim Taymans  <wim@fluendo.com>
14170
14171         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
14172         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
14173         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
14174         (gst_queue_src_activate_push), (gst_queue_change_state),
14175         (gst_queue_get_property):
14176         * gst/gstqueue.h:
14177         Propagate GstFlowReturn more intelligently upstream and output
14178         an ERROR/EOS when streaming stopped due to fatal error.
14179
14180 2005-07-19  Wim Taymans  <wim@fluendo.com>
14181
14182         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14183         Don't block forever for the state change to complete, the
14184         pipeline already did with a sensible timeout.
14185
14186 2005-07-19  Wim Taymans  <wim@fluendo.com>
14187
14188         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14189         Make sure we never call the create function is we
14190         got deactivated.
14191
14192 2005-07-19  Andy Wingo  <wingo@pobox.com>
14193
14194         * gst/parse/parse.l: Attempt to solve bug #172815.
14195
14196 2005-07-19  Wim Taymans  <wim@fluendo.com>
14197
14198         * docs/design/part-clocks.txt:
14199         * docs/design/part-events.txt:
14200         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
14201         Small docs updates.
14202         Only update the seeking values when we are not
14203         busy streaming.
14204
14205 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14206
14207         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14208           Oops, ignore the result of gst_pad_push_event here.
14209
14210 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
14211
14212         * gst/base/gstbasesrc.c: (gst_base_src_loop),
14213         (gst_base_src_activate_push):
14214           Send discont event from the loop function, as pads
14215           aren't activated yet in the activate_push handler.
14216
14217         * gst/gstbin.c: (bin_bus_handler):
14218           Don't leak element name.
14219
14220 2005-07-18  Andy Wingo  <wingo@pobox.com>
14221
14222         * configure.ac: Use AS_LIBTOOL_TAGS.
14223
14224 2005-07-18  Wim Taymans  <wim@fluendo.com>
14225
14226         * docs/gst/gstreamer.types:
14227         Remove deleted types.
14228
14229 2005-07-18  Wim Taymans  <wim@fluendo.com>
14230
14231         * check/elements/gstfakesrc.c: (GST_START_TEST):
14232         * configure.ac:
14233         * gst/Makefile.am:
14234         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
14235         (init_popt_callback):
14236         * gst/gst.h:
14237         * gst/gst_private.h:
14238         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
14239         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
14240         * gst/gstbin.h:
14241         * gst/gstbus.h:
14242         * gst/gstconfig.h.in:
14243         * gst/gstelement.c: (gst_element_class_init),
14244         (gst_element_set_base_time), (gst_element_get_base_time),
14245         (iterator_fold_with_resync), (gst_element_change_state),
14246         (gst_element_dispose), (gst_element_get_bus):
14247         * gst/gstelement.h:
14248         * gst/gstelementfactory.h:
14249         * gst/gsterror.c: (_gst_core_errors_init):
14250         * gst/gsterror.h:
14251         * gst/gstevent.h:
14252         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14253         * gst/gstindex.c:
14254         * gst/gstinfo.c: (_gst_debug_init):
14255         * gst/gstmessage.c: (_gst_message_copy):
14256         * gst/gstmessage.h:
14257         * gst/gstminiobject.h:
14258         * gst/gstobject.c:
14259         * gst/gstobject.h:
14260         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14261         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
14262         * gst/gstpad.h:
14263         * gst/gstparse.h:
14264         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14265         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14266         (gst_pipeline_get_last_stream_time):
14267         * gst/gstpipeline.h:
14268         * gst/gstpluginfeature.h:
14269         * gst/gstquery.h:
14270         * gst/gstscheduler.c:
14271         * gst/gstscheduler.h:
14272         * gst/gststructure.h:
14273         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14274         (gst_task_finalize), (gst_task_func), (gst_task_create),
14275         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
14276         (gst_task_stop), (gst_task_pause):
14277         * gst/gsttask.h:
14278         * gst/gsttypefind.h:
14279         * gst/gsttypes.h:
14280         * gst/registries/gstlibxmlregistry.c: (load_feature),
14281         (gst_xml_registry_load), (gst_xml_registry_save_feature):
14282         * gst/registries/gstxmlregistry.c:
14283         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
14284         * gst/schedulers/threadscheduler.c:
14285         * libs/gst/control/dparammanager.h:
14286         * tools/gst-inspect.c: (print_element_list),
14287         (print_plugin_features), (print_element_features):
14288         * tools/gst-xmlinspect.c: (print_element_list),
14289         (print_plugin_info), (main):
14290         Removed plugable schedulers.
14291         Removed Scheduler/Manager from elements.
14292         Removed gsttypes.h, rearranged includes.
14293         Removed dependency pad<->element, element<>pipeline, and
14294         various others,  fix includes.
14295         implement gst_pad_get_parent() with gst_object_get_parent()
14296         Make GstTask sefcontained.
14297         Fix _get_state() on GstBin, it did not return ASYNC with a 0
14298         timeout.
14299         Fix endless loop in iterator_fold_with_resync.
14300
14301
14302 2005-07-18  Wim Taymans  <wim@fluendo.com>
14303
14304         * gst/Makefile.am:
14305         * gst/gstarch.h:
14306         Remove old file.
14307
14308 2005-07-18  Wim Taymans  <wim@fluendo.com>
14309
14310         * gst/Makefile.am:
14311         No more cothreads.h
14312
14313 2005-07-18  Wim Taymans  <wim@fluendo.com>
14314
14315         * gst/cothreads.c:
14316         * gst/cothreads.h:
14317         Let's remove these.
14318
14319 2005-07-18  Wim Taymans  <wim@fluendo.com>
14320
14321         * docs/design/part-dynamic.txt:
14322         * docs/design/part-events.txt:
14323         * docs/design/part-seeking.txt:
14324         Some more docs in the works.
14325
14326         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14327         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
14328         (gst_base_transform_setcaps), (gst_base_transform_get_size),
14329         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14330         (gst_base_transform_handle_buffer),
14331         (gst_base_transform_sink_activate_push),
14332         (gst_base_transform_src_activate_pull),
14333         (gst_base_transform_set_passthrough),
14334         (gst_base_transform_is_passthrough):
14335         Refcounting fixes.
14336
14337         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
14338         Cleanups.
14339
14340         * gst/gstevent.c: (gst_event_finalize):
14341         Set SRC to NULL.
14342
14343         * gst/gstutils.c: (gst_element_unlink),
14344         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
14345         (gst_pad_proxy_setcaps):
14346         * gst/gstutils.h:
14347         Add _get_parent_element() to get a pads parent as an element.
14348
14349 2005-07-18  Wim Taymans  <wim@fluendo.com>
14350
14351         * check/gst/gstbin.c: (GST_START_TEST):
14352         Remove bogus test.
14353
14354 2005-07-18  Wim Taymans  <wim@fluendo.com>
14355
14356         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14357         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14358         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14359         (gst_base_sink_event), (gst_base_sink_do_sync),
14360         (gst_base_sink_chain), (gst_base_sink_loop),
14361         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
14362         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
14363         Refcounting fixes.
14364         Fix logic for returning ASYNC when not prerolled.
14365
14366 2005-07-18  Wim Taymans  <wim@fluendo.com>
14367
14368         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14369         Fix nasty refcount bug.
14370
14371 2005-07-16 Philippe Khalaf <burger@speedy.org>
14372
14373         * gst/elements/gstfdsrc.c:
14374         * gst/elements/gstfdsrc.h:
14375         * gst/elements/gstelements.c:
14376         * gst/elements/Makefile.am:
14377         Ported fdsrc to 0.9.
14378
14379 2005-07-16  Wim Taymans  <wim@fluendo.com>
14380
14381         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14382         (gst_base_sink_do_sync):
14383         Fix compile error.
14384
14385 2005-07-16  Wim Taymans  <wim@fluendo.com>
14386
14387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14388         (gst_base_sink_event), (gst_base_sink_get_times),
14389         (gst_base_sink_do_sync), (gst_base_sink_change_state):
14390         * gst/base/gstbasesink.h:
14391         Store and use discont values when syncing buffers as described
14392         in design docs.
14393         
14394         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14395         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
14396         (gst_base_src_activate_push):
14397         Push discont event when starting.
14398
14399         * gst/elements/gstidentity.c: (gst_identity_transform):
14400         Small cleanups.
14401
14402         * gst/gstbin.c: (gst_bin_change_state):
14403         Small cleanups in base_time  distribution.
14404
14405         * gst/gstelement.c: (gst_element_set_base_time),
14406         (gst_element_get_base_time), (gst_element_change_state):
14407         * gst/gstelement.h:
14408         Added methods for the base_time of the element.
14409         Some MT fixes.
14410
14411         * gst/gstpipeline.c: (gst_pipeline_send_event),
14412         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
14413         (gst_pipeline_get_last_stream_time):
14414         * gst/gstpipeline.h:
14415         MT fixes.
14416         Handle seeking as described in design doc, remove stream_time
14417         hack.
14418         Cleanups clock and stream_time selection code. Added accessors
14419         for the stream_time.
14420         
14421
14422 2005-07-16  Andy Wingo  <wingo@pobox.com>
14423
14424         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
14425         (#305291).
14426
14427 2005-07-16  Wim Taymans  <wim@fluendo.com>
14428
14429         * check/gst/gstbin.c: (GST_START_TEST):
14430         Make elements silent as the deep_notify refs the
14431         parent, which might make the test fail.
14432
14433         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
14434         Don't hold the lock for too long.
14435
14436 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
14437
14438         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
14439           Don't unref the caps we passed to gst_caps_make_writable() after
14440           passing them. gst_caps_make_writable() will do that for us.
14441
14442 2005-07-15  Andy Wingo  <wingo@pobox.com>
14443
14444         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
14445         (#157311).
14446
14447         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
14448         own marshalling function for the handoff signal. Properly type the
14449         buffer as a buffer. Fixes some warnings. Should do a more general
14450         solution.
14451         (gst_identity_class_init): Plug into the right marshaller.
14452
14453 2005-07-15  Wim Taymans  <wim@fluendo.com>
14454
14455         * docs/design/part-TODO.txt:
14456         * docs/design/part-clocks.txt:
14457         * docs/design/part-element-sink.txt:
14458         * docs/design/part-events.txt:
14459         * docs/design/part-gstpipeline.txt:
14460         Updated docs, mostly DISCONT related.
14461
14462 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
14463
14464         * docs/pwg/building-pads.xml:
14465           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
14466
14467 2005-07-15  Andy Wingo  <wingo@pobox.com>
14468
14469         * tools/gst-typefind.c: Update, add copyright block.
14470
14471         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
14472         Normalize and truncate caps before fixation.
14473
14474         * gst/gstcaps.h:
14475         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
14476         discards all but the first structure from its argument.
14477
14478 2005-07-15  Wim Taymans  <wim@fluendo.com>
14479
14480         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14481         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
14482         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14483         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14484         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
14485         (gst_base_transform_chain), (gst_base_transform_change_state),
14486         (gst_base_transform_set_passthrough),
14487         (gst_base_transform_is_passthrough):
14488         * gst/base/gstbasetransform.h:
14489         Make passthrough work using the bufferpools.
14490         Changed API a bit, subclasses have to write into a buffer
14491         provided by the base class.
14492         More debug info in nego functions.
14493         
14494         * gst/elements/gstidentity.c: (gst_identity_init),
14495         (gst_identity_transform):
14496         Port to new base class.
14497
14498 2005-07-15  Wim Taymans  <wim@fluendo.com>
14499
14500         * gst/gstmessage.c: (gst_message_new_state_changed):
14501         * tools/gst-launch.c: (event_loop), (main):
14502         Totally dump messages in -launch with the -m option.
14503         Fix message name for State messages,
14504
14505 2005-07-14  Wim Taymans  <wim@fluendo.com>
14506
14507         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14508         Post error messages on errors.
14509
14510 2005-07-14  Wim Taymans  <wim@fluendo.com>
14511
14512         * gst/gstcaps.c: (gst_caps_do_simplify):
14513         Remove debug info.
14514
14515         * gst/gsterror.h:
14516         Define error for stream stopped.
14517
14518         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14519         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14520         Do proper return values.
14521
14522         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14523         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14524         (gst_pad_get_range):
14525         Better return values.
14526
14527         * gst/gstpad.h:
14528         Reorganise return values, add macro to check for fatal errors.
14529
14530         * gst/gstqueue.c: (gst_queue_chain):
14531         Return proper GstFlowReturn values,
14532
14533 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14534
14535         * docs/gst/gstreamer-sections.txt:
14536         * docs/gst/gstreamer.types:
14537         * docs/gst/tmpl/gst.sgml:
14538         * docs/gst/tmpl/gstbasesink.sgml:
14539         * docs/gst/tmpl/gstbasesrc.sgml:
14540         * docs/gst/tmpl/gstbasetransform.sgml:
14541         * docs/gst/tmpl/gstbin.sgml:
14542         * docs/gst/tmpl/gstbuffer.sgml:
14543         * docs/gst/tmpl/gstcaps.sgml:
14544         * docs/gst/tmpl/gstclock.sgml:
14545         * docs/gst/tmpl/gstcompat.sgml:
14546         * docs/gst/tmpl/gstconfig.sgml:
14547         * docs/gst/tmpl/gstelement.sgml:
14548         * docs/gst/tmpl/gstelementdetails.sgml:
14549         * docs/gst/tmpl/gstelementfactory.sgml:
14550         * docs/gst/tmpl/gstenumtypes.sgml:
14551         * docs/gst/tmpl/gsterror.sgml:
14552         * docs/gst/tmpl/gstevent.sgml:
14553         * docs/gst/tmpl/gstfakesink.sgml:
14554         * docs/gst/tmpl/gstfakesrc.sgml:
14555         * docs/gst/tmpl/gstfilesink.sgml:
14556         * docs/gst/tmpl/gstfilesrc.sgml:
14557         * docs/gst/tmpl/gstfilter.sgml:
14558         * docs/gst/tmpl/gstformat.sgml:
14559         * docs/gst/tmpl/gstghostpad.sgml:
14560         * docs/gst/tmpl/gstimplementsinterface.sgml:
14561         * docs/gst/tmpl/gstindex.sgml:
14562         * docs/gst/tmpl/gstindexfactory.sgml:
14563         * docs/gst/tmpl/gstinfo.sgml:
14564         * docs/gst/tmpl/gstiterator.sgml:
14565         * docs/gst/tmpl/gstmacros.sgml:
14566         * docs/gst/tmpl/gstmemchunk.sgml:
14567         * docs/gst/tmpl/gstminiobject.sgml:
14568         * docs/gst/tmpl/gstobject.sgml:
14569         * docs/gst/tmpl/gstpad.sgml:
14570         * docs/gst/tmpl/gstpadtemplate.sgml:
14571         * docs/gst/tmpl/gstparse.sgml:
14572         * docs/gst/tmpl/gstpipeline.sgml:
14573         * docs/gst/tmpl/gstplugin.sgml:
14574         * docs/gst/tmpl/gstpluginfeature.sgml:
14575         * docs/gst/tmpl/gstquery.sgml:
14576         * docs/gst/tmpl/gstqueue.sgml:
14577         * docs/gst/tmpl/gstregistry.sgml:
14578         * docs/gst/tmpl/gstregistrypool.sgml:
14579         * docs/gst/tmpl/gstscheduler.sgml:
14580         * docs/gst/tmpl/gstschedulerfactory.sgml:
14581         * docs/gst/tmpl/gststructure.sgml:
14582         * docs/gst/tmpl/gstsystemclock.sgml:
14583         * docs/gst/tmpl/gsttaglist.sgml:
14584         * docs/gst/tmpl/gsttagsetter.sgml:
14585         * docs/gst/tmpl/gsttrace.sgml:
14586         * docs/gst/tmpl/gsttrashstack.sgml:
14587         * docs/gst/tmpl/gsttypefind.sgml:
14588         * docs/gst/tmpl/gsttypefindfactory.sgml:
14589         * docs/gst/tmpl/gsttypes.sgml:
14590         * docs/gst/tmpl/gsturihandler.sgml:
14591         * docs/gst/tmpl/gsturitype.sgml:
14592         * docs/gst/tmpl/gstutils.sgml:
14593         * docs/gst/tmpl/gstvalue.sgml:
14594         * docs/gst/tmpl/gstversion.sgml:
14595         * docs/gst/tmpl/gstxml.sgml:
14596         * docs/libs/tmpl/gstcontrol.sgml:
14597         * docs/libs/tmpl/gstdataprotocol.sgml:
14598         * docs/libs/tmpl/gstdparam.sgml:
14599         * docs/libs/tmpl/gstdplinint.sgml:
14600         * docs/libs/tmpl/gstdpman.sgml:
14601         * docs/libs/tmpl/gstdpsmooth.sgml:
14602         * docs/libs/tmpl/gstgetbits.sgml:
14603         * docs/libs/tmpl/gstunitconvert.sgml:
14604         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14605         (gst_push_src_base_init), (gst_push_src_class_init),
14606         (gst_push_src_init), (gst_push_src_create):
14607         * gst/base/gstpushsrc.h:
14608         * gst/elements/gstelements.c:
14609         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14610         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14611         (gst_fake_sink_init), (gst_fake_sink_set_property),
14612         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14613         (gst_fake_sink_event), (gst_fake_sink_preroll),
14614         (gst_fake_sink_render), (gst_fake_sink_change_state):
14615         * gst/elements/gstfakesink.h:
14616         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14617         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14618         (gst_fake_src_base_init), (gst_fake_src_class_init),
14619         (gst_fake_src_init), (gst_fake_src_event_handler),
14620         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14621         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14622         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14623         (gst_fake_src_create_buffer), (gst_fake_src_create),
14624         (gst_fake_src_start), (gst_fake_src_stop):
14625         * gst/elements/gstfakesrc.h:
14626         * gst/elements/gstfilesink.c: (_do_init),
14627         (gst_file_sink_base_init), (gst_file_sink_class_init),
14628         (gst_file_sink_init), (gst_file_sink_dispose),
14629         (gst_file_sink_set_location), (gst_file_sink_set_property),
14630         (gst_file_sink_get_property), (gst_file_sink_open_file),
14631         (gst_file_sink_close_file), (gst_file_sink_query),
14632         (gst_file_sink_event), (gst_file_sink_render),
14633         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14634         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14635         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14636         * gst/elements/gstfilesink.h:
14637         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14638         (gst_file_src_class_init), (gst_file_src_init),
14639         (gst_file_src_finalize), (gst_file_src_set_location),
14640         (gst_file_src_set_property), (gst_file_src_get_property),
14641         (gst_file_src_map_region), (gst_file_src_map_small_region),
14642         (gst_file_src_create_mmap), (gst_file_src_create_read),
14643         (gst_file_src_create), (gst_file_src_is_seekable),
14644         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14645         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14646         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14647         (gst_file_src_uri_handler_init):
14648         * gst/elements/gstfilesrc.h:
14649           more autistic cleanliness in functions/names/defines
14650
14651 2005-07-13  Andy Wingo  <wingo@pobox.com>
14652
14653         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14654         source couldn't negotiate.
14655
14656         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14657         connections again.
14658
14659         * gst/gstutils.h:
14660         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14661         function. I am channeling Hades. Put your boots on suckers!!!
14662
14663 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14664
14665         * testsuite/caps/Makefile.am:
14666         * testsuite/caps/value_compare.c:
14667         * testsuite/caps/value_intersect.c:
14668         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14669           move two testsuite apps over to the check dir
14670
14671 2005-07-12  Wim Taymans  <wim@fluendo.com>
14672
14673         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14674         Added more debug info in the negotiate process.
14675
14676         * gst/gstmessage.h:
14677         Prepare for segment playback.
14678
14679         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14680         Better debugging.
14681
14682         * gst/gstutils.c:
14683         Some more docs.
14684
14685         * tools/gst-launch.c: (main):
14686         NULL pipeline on errors.
14687
14688 2005-07-12  Andy Wingo  <wingo@pobox.com>
14689
14690         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14691         not it comes from a malloc region. Make sure our copy gets freed.
14692
14693 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14694
14695         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14696         * check/gst/gstmessage.c: (GST_START_TEST):
14697         * check/gst/gststructure.c: (GST_START_TEST),
14698         (gst_structure_suite), (main):
14699           more testing
14700         * gst/gstelement.c: (gst_element_message_full):
14701           clean up GError and debug string now that they get copied
14702         * gst/gstmessage.c: (gst_message_new_error),
14703         (gst_message_new_warning), (gst_message_parse_error),
14704         (gst_message_parse_warning):
14705           use GST_TYPE_G_ERROR for structure_new, and take copies of
14706           arguments, so that we don't mess up refcounting
14707
14708 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14709
14710         * check/Makefile.am:
14711           add per-test valgrind targets
14712         * check/gst-libs/gdp.c: (GST_START_TEST),
14713         (gst_data_protocol_suite), (main):
14714           clean up
14715
14716 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14717
14718         * check/Makefile.am:
14719           instate more valgrindable tests
14720         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14721         (GST_START_TEST), (fakesrc_suite):
14722         * check/gst/gstpad.c: (GST_START_TEST):
14723         * check/gst/gststructure.c: (GST_START_TEST):
14724           fix test leaks
14725         * docs/gst/tmpl/gstminiobject.sgml:
14726         * gst/gstpad.c: (gst_pad_finalize):
14727           fix the static mutex leak
14728
14729 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14730
14731         * check/Makefile.am:
14732           add two more tests for valgrinding
14733         * check/gst/gstvalue.c: (GST_START_TEST):
14734           test refcount of deserialized buffer, found a leak
14735         * docs/gst/gstreamer-docs.sgml:
14736         * docs/gst/gstreamer-sections.txt:
14737         * docs/gst/gstreamer.types:
14738         * docs/gst/tmpl/gstminiobject.sgml:
14739           add miniobject to docs
14740         * gst/gstminiobject.c:
14741           add some docs
14742         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14743         (gst_string_unwrap):
14744           fix a hard-to-find invalid write for one of the tests
14745           fix a leak for deserialized buffers
14746
14747 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14748
14749         * docs/pwg/advanced-events.xml:
14750         * docs/pwg/advanced-request.xml:
14751         * docs/pwg/advanced-scheduling.xml:
14752         * docs/pwg/appendix-porting.xml:
14753         * docs/pwg/building-boiler.xml:
14754         * docs/pwg/intro-preface.xml:
14755         * docs/pwg/other-ntoone.xml:
14756           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14757           of example code and explanation for pad activation, loop() and
14758           getrange() functions and a bit more. Remove old comments pointing
14759           to loop-functions.
14760         * examples/pwg/Makefile.am:
14761           Add loop/getrange examples.
14762
14763 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14764
14765         * configure.ac:
14766           check for valgrind binary + some fixes
14767         * check/gst.supp:
14768           valgrind suppressions for the tests
14769         * check/Makefile.am:
14770           add a valgrind: target that valgrinds the unit tests
14771         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14772         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14773         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14774         * check/gst/gstghostpad.c:
14775           added some cleanup
14776         * check/gst/gstdata.c:
14777           removed
14778         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14779         (thread_unref), (gst_mini_object_suite), (main):
14780           added
14781         * gst/gst.c: (gst_deinit):
14782         * gst/gst.h:
14783           add a method to clean up.
14784         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14785         (gst_system_clock_obtain):
14786           allow for disposing the system clock.
14787         * tools/gst-launch.c: (main):
14788           deinit
14789
14790 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14791
14792         * docs/gst/tmpl/gstbasesrc.sgml:
14793         * docs/gst/tmpl/gstfakesrc.sgml:
14794         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14795         (gst_base_src_init), (gst_base_src_set_property),
14796         (gst_base_src_get_property), (gst_base_src_get_range),
14797         (gst_base_src_start):
14798         * gst/base/gstbasesrc.h:
14799           add num-buffers property
14800         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14801         (gst_fakesrc_init), (gst_fakesrc_set_property),
14802         (gst_fakesrc_get_property), (gst_fakesrc_create),
14803         (gst_fakesrc_start):
14804           remove num-buffers property
14805
14806 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14807
14808         * docs/gst/gstreamer-sections.txt:
14809         * docs/gst/tmpl/gstbasesink.sgml:
14810         * docs/gst/tmpl/gstbasesrc.sgml:
14811         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14812         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14813         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14814         (gst_base_sink_set_property), (gst_base_sink_get_property),
14815         (gst_base_sink_handle_object), (gst_base_sink_event),
14816         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14817         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14818         (gst_base_sink_loop), (gst_base_sink_deactivate),
14819         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14820         (gst_base_sink_change_state):
14821         * gst/base/gstbasesink.h:
14822         * gst/base/gstbasesrc.h:
14823         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14824         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14825         (gst_filesink_init):
14826           more macro splitting
14827
14828 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14829
14830         * gst/gstelement.c: (gst_element_get_bus):
14831           add debug
14832         * tools/gst-launch.c: (check_intr), (event_loop):
14833           fix bus leaks
14834
14835 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14836
14837         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14838           fix a caps leak
14839
14840 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14841
14842         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14843         (gst_base_src_finalize):
14844           add finalize method and clean up properly
14845         * gst/gstpipeline.c: (gst_pipeline_dispose):
14846           add debug
14847
14848 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14849
14850         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14851         (gst_bin_suite):
14852           add more things to check
14853         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14854         * gst/gstelement.c:
14855           more debug
14856
14857 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14858
14859         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14860         (GST_START_TEST), (fakesrc_suite):
14861         * check/gst-libs/gdp.c: (GST_START_TEST):
14862         * check/gst/gst.c: (GST_START_TEST):
14863         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14864         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14865         * check/gst/gstbus.c: (GST_START_TEST):
14866         * check/gst/gstcaps.c: (GST_START_TEST):
14867         * check/gst/gstdata.c: (GST_START_TEST):
14868         * check/gst/gstelement.c: (GST_START_TEST):
14869         * check/gst/gstghostpad.c: (GST_START_TEST):
14870         * check/gst/gstiterator.c: (GST_START_TEST):
14871         * check/gst/gstmessage.c: (GST_START_TEST):
14872         * check/gst/gstobject.c: (GST_START_TEST):
14873         * check/gst/gstpad.c: (GST_START_TEST):
14874         * check/gst/gststructure.c: (GST_START_TEST):
14875         * check/gst/gstsystemclock.c: (GST_START_TEST),
14876         (gst_systemclock_suite):
14877         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14878         * check/gst/gstvalue.c: (GST_START_TEST):
14879         * check/pipelines/cleanup.c: (GST_START_TEST):
14880         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14881         * check/states/sinks.c: (GST_START_TEST):
14882         * check/gstcheck.c: (gst_check_init):
14883         * check/gstcheck.h:
14884           add debugging category
14885           use GST_START_TEST now, so we add a debug line
14886
14887 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14888
14889         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14890           add test for state change message on a bin
14891         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14892           add another test
14893         * gst/gstbin.c: (gst_bin_init):
14894         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14895         * gst/gstelement.c: (gst_element_post_message),
14896         (gst_element_set_state):
14897         * gst/gstelementfactory.c: (gst_element_factory_create):
14898         * gst/gstmessage.c: (gst_message_new):
14899         * gst/gstscheduler.c:
14900           various debugging additions and cleanups
14901
14902 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14903
14904         * check/Makefile.am:
14905         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14906         (main):
14907           adding tests for elements
14908         * gst/gstelement.c: (gst_element_dispose):
14909
14910 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14911
14912         * gst/registries/gstlibxmlregistry.c: (load_feature):
14913           plug more leaks.  A simple gst_init() now is leakfree, yay.
14914
14915 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14916
14917         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14918         (gst_xml_registry_load):
14919           plug another memleak
14920
14921 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14922
14923         * configure.ac:
14924           use GST_SET_ERROR_CFLAGS
14925         * docs/faq/cvs.xml:
14926           change to ERROR_CFLAGS
14927
14928 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14929
14930         * configure.ac:
14931           make GST_ERROR_CFLAGS overridable and re-enable Werror
14932         * docs/faq/cvs.xml:
14933           add a note about error CFLAGS
14934         * docs/gst/tmpl/gstfakesrc.sgml:
14935         * gst/elements/gstfakesrc.c:
14936           comment out some unused code
14937         * gst/gst.c: (split_and_iterate):
14938         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14939         (load_feature):
14940           plug some memleaks
14941
14942 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14943
14944         * common/Makefile.am:
14945         * common/gtk-doc.mak:
14946         * docs/gst/Makefile.am:
14947           factor out gtk-doc.mak
14948
14949 2005-07-07  Wim Taymans  <wim@fluendo.com>
14950
14951         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14952         (gst_thread_scheduler_dispose):
14953         Unlock the STREAM_LOCK completely.
14954
14955 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14956
14957         * check/Makefile.am:
14958         * check/elements/.cvsignore:
14959         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14960         (START_TEST), (fakesrc_suite), (main):
14961         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14962         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14963         (gst_fakesrc_create), (gst_fakesrc_start):
14964         * gst/elements/gstfakesrc.h:
14965           adding a first element test
14966
14967 2005-07-07  Andy Wingo  <wingo@pobox.com>
14968
14969         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14970         debug message.
14971
14972 2005-07-07  Wim Taymans  <wim@fluendo.com>
14973
14974         * gst/gstquery.c:
14975         * gst/gstquery.h:
14976         Remove old types
14977
14978 2005-07-07  Wim Taymans  <wim@fluendo.com>
14979
14980         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14981         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14982         Allow subclasses to implement their own negotiation.
14983
14984 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14985
14986         * docs/design/part-gstbin.txt:
14987         * docs/design/part-gstpipeline.txt:
14988           Update design notes to reflect the movement of
14989           responsibility for bus handling from GstPipeline to
14990           GstBin
14991
14992 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14993
14994         * configure.ac:
14995           Remove unnecessary queue2/3/4 examples.
14996
14997 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14998
14999         * examples/Makefile.am:
15000         * examples/helloworld/helloworld.c: (event_loop), (main):
15001         * examples/queue/queue.c: (event_loop), (main):
15002         * examples/queue2/queue2.c: (main):
15003           Update a couple of the examples to work again.
15004
15005         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15006         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
15007          Spelling corrections and extra debug.
15008         
15009         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
15010         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
15011         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
15012         * gst/gstbin.h:
15013         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15014         (gst_pipeline_change_state):
15015         * gst/gstpipeline.h:
15016           Move the bus handler for children to the GstBin, and create a
15017           separate bus for receiving messages from children to the one the
15018           bus sends 'upwards' on.
15019
15020 2005-07-06  Wim Taymans  <wim@fluendo.com>
15021
15022         * gst/base/README:
15023         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15024         (gst_base_sink_handle_object), (gst_base_sink_loop),
15025         (gst_base_sink_change_state):
15026         * gst/base/gstbasesink.h:
15027         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15028         (gst_base_src_init), (gst_base_src_setcaps),
15029         (gst_base_src_getcaps), (gst_base_src_loop),
15030         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
15031         (gst_base_src_start), (gst_base_src_change_state):
15032         * gst/base/gstbasesrc.h:
15033         Make basesrc negotiate.
15034         Handle the case where preroll fails in basesink.
15035         Update README.
15036
15037 2005-07-06  Wim Taymans  <wim@fluendo.com>
15038
15039         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
15040         Implement the fixate function.
15041         Clean up acceptcaps.
15042
15043 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15044
15045         * docs/pwg/building-filterfactory.xml:
15046         * docs/pwg/pwg.xml:
15047           Remove never-written filter-factory chapter; I'll add the various
15048           base classes to part 4 ("other element types") later on.
15049
15050 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15051
15052         * docs/pwg/advanced-negotiation.xml:
15053         * docs/pwg/building-boiler.xml:
15054         * docs/pwg/building-pads.xml:
15055         * docs/pwg/pwg.xml:
15056         * examples/pwg/Makefile.am:
15057           Add a chapter on caps negotiation, simplify the original code
15058           samples a bit w.r.t. caps negotiation, add link to the advanced
15059           section. Add a bunch of examples showing different use cases of
15060           different types of caps negotiation. Upstream renegotiation isn't
15061           fully documented yet since nobody knows how that works.
15062
15063 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15064
15065         * check/gst/gstpad.c:
15066         * check/gstcheck.c:
15067         * gst/gstpad.c: (gst_pad_get_internal_links_default):
15068           if pad has no parent, return NULL as list of internal links
15069
15070 2005-07-05  Andy Wingo  <wingo@pobox.com>
15071
15072         * gst/elements/gstfilesrc.c:
15073         * gst/elements/gstfakesrc.c: 
15074         * gst/base/gstpushsrc.c:
15075         * gst/base/gstbasesrc.h: 
15076         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
15077         
15078 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
15079
15080         * Makefile.am:
15081           better report generation target (lcov needs a patch)
15082
15083 2005-07-05  Andy Wingo  <wingo@pobox.com>
15084
15085         * gst/elements, testsuite: Null if we got it...
15086
15087 2005-07-05  Wim Taymans  <wim@fluendo.com>
15088
15089         * configure.ac:
15090         * libs/gst/dataprotocol/Makefile.am:
15091         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
15092         * libs/gst/dataprotocol/dataprotocol.h:
15093         * pkgconfig/Makefile.am:
15094         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
15095         * pkgconfig/gstreamer-dataprotocol.pc.in:
15096         Ported dataprotol to 0.9. 
15097         Added pkgconfig files.
15098
15099 2005-07-05  Andy Wingo  <wingo@pobox.com>
15100
15101         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
15102         Default to returning TRUE for the case when tranform_caps returns
15103         a fixed caps, like for identity or volume.
15104
15105         * check/gst/gstbus.c (pound_bus_with_messages): 
15106         * check/gst/gstmessage.c (START_TEST): 
15107         * check/pipelines/simple_launch_lines.c (got_handoff): Application
15108         message API change.
15109
15110         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
15111         logic weaks here: always run transform_caps, trying passthrough
15112         operation only if the original caps intersects with the transform.
15113
15114         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
15115         source and sink caps.
15116
15117         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
15118         Intersect the peer caps with the pad template before going into
15119         transform_caps.
15120         (gst_base_transform_transform_caps): More debugging.
15121
15122         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
15123         src argument.
15124
15125 2005-07-04  Edward Hervey  <edward@fluendo.com>
15126
15127         * gst/gstutils.c:
15128         * gst/gstutils.h:
15129         (gst_pad_add_*_probe): now returns the signal id for better wrapping
15130         in bindings.
15131
15132 2005-07-04  Andy Wingo  <wingo@pobox.com>
15133
15134         * check/gst/gstpad.c: Only set explicit caps on pads.
15135
15136 2005-07-01  Andy Wingo  <wingo@pobox.com>
15137
15138         * tests/network-clock.scm: Commentary update.
15139
15140         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
15141         Didn't really make sense, not implementable with basetransform,
15142         etc.
15143         (gst_identity_transform): Unref inbuf via make_writable. Feeble
15144         attempt at implementing the sync property, needs an unlock method.
15145
15146         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
15147         New func, by default returns the same caps (the identity
15148         transformation).
15149         (gst_base_transform_getcaps): Uses transform_caps to return
15150         something sensible.
15151         (gst_base_transform_setcaps): Complicated logic to get caps on
15152         both pads, even if they are different, and to call set_caps once
15153         for every time both pads get their caps set.
15154         (gst_base_transform_handle_buffer): Give the ref to the transform
15155         function. Allows in-place modification of the buffer.
15156
15157         * gst/base/gstbasetransform.h (transform_caps): New class method.
15158         Given caps on one side, what can I do on the other.
15159         (set_caps): Take two caps, one for each side of the element.
15160
15161         * gst/gstpad.h:
15162         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
15163         caps in place. This is safe because we can check the mutability of
15164         the caps, and a good idea because fixate functions are just called
15165         as a matter of last resort. (Not actually implemented.)
15166         (gst_pad_set_caps): If the caps we're setting is actually the same
15167         as the existing pad caps, just update the pointer without calling
15168         setcaps. Assert that caps is either NULL or fixed, as per the
15169         docs.
15170
15171         * gst/gstghostpad.c: Update for fixate changes.
15172
15173 2005-07-02  Andy Wingo  <wingo@pobox.com>
15174
15175         * gst/gstcaps.c:
15176         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
15177         two refcounts makes it immutable, which is enough. Doc more.
15178
15179 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
15180
15181         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
15182           Put the mini_object into GValue as a mini_object,
15183           not a gpointer, since that's how we declared
15184           the signal.
15185
15186 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15187
15188         * examples/pwg/Makefile.am:
15189           Fix buildbot again.
15190
15191 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15192
15193         * docs/pwg/building-testapp.xml:
15194           Add extra check.
15195         * examples/pwg/Makefile.am:
15196           Fix buildbot.
15197
15198 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15199
15200         * configure.ac:
15201         * examples/Makefile.am:
15202         * examples/pwg/Makefile.am:
15203         * examples/pwg/extract.pl:
15204           Enable building the PWG examples.
15205         * docs/pwg/advanced-interfaces.xml:
15206           Add URI interface stub.
15207         * docs/pwg/advanced-types.xml:
15208         * docs/pwg/other-autoplugger.xml:
15209         * docs/pwg/appendix-porting.xml:
15210         * docs/pwg/pwg.xml:
15211           Add porting guide (mostly stubs), remove autoplugging (see ADM).
15212         * docs/pwg/building-boiler.xml:
15213         * docs/pwg/building-chainfn.xml:
15214         * docs/pwg/building-pads.xml:
15215         * docs/pwg/building-props.xml:
15216         * docs/pwg/building-state.xml:
15217         * docs/pwg/building-testapp.xml:
15218           Update the building-*.xml parts for 0.9 changes. All examples
15219           code blocks compile in examples/pwg/*.
15220
15221 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15222
15223         * docs/manual/advanced-autoplugging.xml:
15224         * docs/manual/appendix-checklist.xml:
15225         * docs/manual/appendix-integration.xml:
15226         * docs/manual/highlevel-components.xml:
15227           Fix playbin/decodebin examples, update docs a bit, mention bus
15228           instead of signals in various places, mention kmplayer and
15229           kaffeine since they have a working GStreamer backend in the KDE
15230           section.
15231
15232 2005-06-30  Wim Taymans  <wim@fluendo.com>
15233
15234         * CHANGES-0.9:
15235         * docs/design/draft-ghostpads.txt:
15236         * docs/design/draft-push-pull.txt:
15237         * docs/design/draft-query.txt:
15238         * docs/design/part-TODO.txt:
15239         * docs/design/part-query.txt:
15240         Added CHANGES-0.9 doc, updated status of other docs.
15241         
15242         * gst/gstquery.h:
15243         Remove "hmm" macro
15244
15245 2005-06-30  Wim Taymans  <wim@fluendo.com>
15246
15247         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
15248         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15249         (gst_base_sink_change_state):
15250         * gst/base/gstbasesink.h:
15251         Some tweaks, only EOS and a buffer complete a preroll.
15252
15253 2005-06-30  Andy Wingo  <wingo@pobox.com>
15254
15255         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
15256         activate_push down to the internal pad as well.
15257
15258 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
15259
15260         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15261
15262         * gst/gsttaginterface.c:
15263           Some documentation fixes (#307394 and #307397).
15264
15265 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
15266
15267         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15268
15269         * gst/gstvalue.c: (gst_value_intersect_list):
15270           Fix memleak (#309125).
15271
15272 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15273
15274         * docs/manual/advanced-dataaccess.xml:
15275           Fix fakesrc example to compile; doesn't work, bug somewhere...?
15276         * docs/manual/basics-pads.xml:
15277           Add reference for filtered caps to above chapter.
15278
15279 2005-06-30  Wim Taymans  <wim@fluendo.com>
15280
15281         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
15282         (gst_bin_change_state):
15283         Probes are gone.
15284         Lame attempt at making the state change function a bit
15285         more readable.
15286
15287 2005-06-30  Wim Taymans  <wim@fluendo.com>
15288
15289         * docs/design/part-clocks.txt:
15290         * docs/design/part-element-sink.txt:
15291         * docs/design/part-events.txt:
15292         * docs/design/part-preroll.txt:
15293         * docs/design/part-states.txt:
15294         Some more tweeks and additions to the docs.
15295
15296 2005-06-30  Wim Taymans  <wim@fluendo.com>
15297
15298         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15299         (default_have_data), (gst_pad_class_init), (gst_pad_init),
15300         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15301         (gst_pad_check_pull_range), (gst_pad_get_range),
15302         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
15303         * gst/gstpad.h:
15304         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
15305         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15306         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15307         (gst_pad_remove_buffer_probe):
15308         Removed atomic operations, use existing LOCK.
15309         Move exception handling out of main code path.
15310
15311 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15312
15313         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15314         (silly_return_true_function), (gst_pad_class_init),
15315         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
15316         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
15317         (gst_pad_send_event):
15318           Fix accumulator, add default value by using _emitv() instead
15319           of _emit() for signal emission.
15320
15321 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15322
15323         * docs/manual/advanced-dataaccess.xml:
15324         * examples/manual/Makefile.am:
15325           Add probe example.
15326         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
15327           Make work (??).
15328
15329 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
15330
15331         * gst/elements/gstfilesink.c: (gst_filesink_render):
15332           Simplify code so that we don't have to handle short
15333           writes and return GST_FLOW_ERROR if an error occured.
15334
15335 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15336
15337         * docs/gst/gstreamer-docs.sgml:
15338           Remove probes more.
15339
15340 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15341
15342         * docs/gst/gstreamer-sections.txt:
15343         * docs/gst/tmpl/gstpad.sgml:
15344         * docs/gst/tmpl/gstprobe.sgml:
15345         * gst/Makefile.am:
15346         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
15347         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
15348         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15349         (gst_pad_push_event), (gst_pad_send_event):
15350         * gst/gstpad.h:
15351         * gst/gstutils.c: (gst_pad_add_data_probe),
15352         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
15353         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
15354         (gst_pad_remove_buffer_probe):
15355         * gst/gstutils.h:
15356           Remove old probes, add new g-signal-based probes and some utility
15357           functions.
15358
15359 2005-06-29  Edward Hervey  <edward@fluendo.com>
15360
15361         * gst/gstelementfactory.c:
15362         * gst/gstutils.h:
15363         * gst/gstutils.c:
15364         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
15365         the definition to the header file.
15366
15367 2005-06-29  Andy Wingo  <wingo@pobox.com>
15368
15369         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
15370         plugins from the source directory.
15371
15372 2005-06-29  Wim Taymans  <wim@fluendo.com>
15373
15374         * docs/gst/tmpl/gstbuffer.sgml:
15375         * docs/gst/tmpl/gstclock.sgml:
15376         Some fixings for blantently wrong text.
15377
15378 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15379
15380         * check/Makefile.am:
15381         * gst/gst.c: (add_path_func), (init_pre):
15382         * gst/gstregistry.c: (gst_registry_add_path):
15383           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
15384           only scan the GST_PLUGIN_PATH locations, and not add
15385           system locations
15386
15387 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15388
15389         * docs/gst/gstreamer-sections.txt:
15390         * docs/gst/tmpl/gstbasesrc.sgml:
15391         * gst/gstelement.c:
15392         * gst/gstelement.h:
15393         * gst/gstevent.c:
15394         * gst/gstutils.c:
15395           doc fixes
15396
15397 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15398
15399         * docs/manual/advanced-autoplugging.xml:
15400           Fix autoplugging example.
15401
15402 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15403
15404         * docs/manual/advanced-autoplugging.xml:
15405         * docs/manual/mime-world.fig:
15406           Try to get autoplugging working, fix type detection. Fix text
15407           in hello-world image.
15408
15409 2005-06-29  Wim Taymans  <wim@fluendo.com>
15410
15411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15412         (gst_base_sink_change_state):
15413         Small debug line.
15414
15415         * gst/gstclock.h:
15416         map SIGNAL and BROADCAST to the right function.
15417
15418         * gst/gstobject.h:
15419         Remove redundant braces.
15420
15421         * gst/gstpad.c: (gst_pad_set_caps):
15422         Don't call setcaps function when reseting caps to NULL.
15423
15424         * gst/gstsystemclock.c: (gst_system_clock_dispose),
15425         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
15426         (gst_system_clock_id_unschedule):
15427         Use BROADCAST as this is what we do.
15428
15429 2005-06-29  Wim Taymans  <wim@fluendo.com>
15430
15431         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15432         We are actually prerolling before commiting the state
15433         change. 
15434
15435 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15436
15437         * docs/manual/advanced-clocks.xml:
15438         * docs/manual/advanced-interfaces.xml:
15439         * docs/manual/advanced-metadata.xml:
15440         * docs/manual/advanced-position.xml:
15441         * docs/manual/advanced-schedulers.xml:
15442         * docs/manual/advanced-threads.xml:
15443         * docs/manual/appendix-porting.xml:
15444         * docs/manual/basics-bins.xml:
15445         * docs/manual/basics-bus.xml:
15446         * docs/manual/basics-elements.xml:
15447         * docs/manual/basics-helloworld.xml:
15448         * docs/manual/basics-pads.xml:
15449         * docs/manual/highlevel-components.xml:
15450         * docs/manual/manual.xml:
15451         * docs/manual/thread.fig:
15452           Update (until threads/scheduling) Application Development Manual;
15453           remove GstThread, add GstBus, add simple porting checklist, add
15454           documentation for tag writing, clocks, make all examples until this
15455           part compile and run.
15456         * examples/manual/Makefile.am:
15457           Update from changes to Application Development Manual; add bus
15458           example, remove thread example.
15459
15460 2005-06-28  Wim Taymans  <wim@fluendo.com>
15461
15462         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
15463         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
15464         (gst_bus_source_dispatch):
15465         Add debugging messages.
15466         Make internal methods static.
15467         Handle the case where the bus is flushed in the handler.
15468         
15469         * gst/gstelement.c: (gst_element_get_bus):
15470         Fix refcount in _get_bus();
15471
15472         * gst/gstpipeline.c: (gst_pipeline_change_state),
15473         (gst_pipeline_get_clock_func):
15474         Clock refcounting fixes.
15475         Handle the case where preroll timed out more gracefully.
15476         
15477         * gst/gstsystemclock.c: (gst_system_clock_dispose):
15478         Clean up the internal thread in dispose. This is needed
15479         for subclasses that actually get disposed.
15480         
15481         * gst/schedulers/threadscheduler.c:
15482         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
15483         (gst_thread_scheduler_dispose):
15484         Free thread pool in dispose.
15485
15486 2005-06-28  Andy Wingo  <wingo@pobox.com>
15487
15488         * tests/network-clock-utils.scm (debug, print-event): New utils.
15489
15490         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
15491         (*packet-loss*): Unified loss probability.
15492         (network-time): Report out-of-band events.
15493
15494         * tests/plot-data: Add support for out-of-band events. Hack it
15495         into this script instead of passing it down the pipe; should fix
15496         this later.
15497
15498 2005-06-28  Wim Taymans  <wim@fluendo.com>
15499
15500         * docs/gst/gstreamer.types:
15501         * docs/gst/tmpl/gstbasesrc.sgml:
15502         * docs/gst/tmpl/gstpad.sgml:
15503         Docs fixes.
15504
15505 2005-06-28  Wim Taymans  <wim@fluendo.com>
15506
15507         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15508         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15509         (gst_proxy_pad_do_fixatecaps):
15510         Correctly proxy the check_pull_range function.
15511
15512 2005-06-28  Andy Wingo  <wingo@pobox.com>
15513
15514         * tests/network-clock.scm: Removed need for slib.
15515         
15516 2005-06-28  Wim Taymans  <wim@fluendo.com>
15517
15518         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15519         (gst_basesink_preroll_queue_flush):
15520         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15521         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15522         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15523         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15524         (gst_proxy_pad_set_property):
15525         * gst/gstpad.c:
15526         * gst/gstpad.h:
15527         * gst/gstqueue.c: (gst_queue_init):
15528         The deprecated pad loop function is removed now.
15529
15530 2005-06-28  Andy Wingo  <wingo@pobox.com>
15531
15532         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15533         New parameters, simulate network packet loss.
15534
15535         * tests/network-clock-utils.scm: Initialize the RNG.
15536
15537 2005-06-28  Wim Taymans  <wim@fluendo.com>
15538
15539         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15540         (gst_basesink_event), (gst_basesink_deactivate):
15541         Flushing the preroll queue always needs to unlock the waiters.
15542
15543 2005-06-28  Edward Hervey  <edward@fluendo.com>
15544
15545         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15546         Wheen a seek was successful on a pipeline, set the stream_time to the
15547         seek offset in order to have a synchronized stream_time.
15548
15549 2005-06-28  Wim Taymans  <wim@fluendo.com>
15550
15551         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15552         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15553         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15554         (gst_proxy_pad_do_fixatecaps):
15555         Call wrapper function instead of just calling the function
15556         pointers. This takes care of any locking and whatmore.
15557
15558 2005-06-28  Wim Taymans  <wim@fluendo.com>
15559
15560         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15561         (gst_pad_pull_range):
15562         * gst/gstpad.h:
15563         CONNECTED -> LINKED.
15564
15565 2005-06-28  Andy Wingo  <wingo@pobox.com>
15566
15567         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15568         source-munging commit!!!
15569
15570         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15571         (gst_object_sink): Take gpointer arguments, not GstObject --
15572         avoids casts. Like GLib.
15573
15574         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15575         activate.
15576
15577 2005-06-27  Andy Wingo  <wingo@pobox.com>
15578
15579         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15580         remaining buffer.
15581
15582         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15583         returns a sorted copy of the trace list.
15584         (gst_alloc_trace_print_live): New API, only prints traces with
15585         live objects. Sort the list.
15586         (gst_alloc_trace_print_all): Sort the list.
15587         (gst_alloc_trace_print): Align columns.
15588
15589         * gst/elements/gstttypefindelement.c:
15590         * gst/elements/gsttee.c:
15591         * gst/base/gstbasesrc.c:
15592         * gst/base/gstbasesink.c:
15593         * gst/base/gstbasetransform.c:
15594         * gst/gstqueue.c: Adapt for pad activation changes.
15595
15596         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15597         sched.
15598         (gst_pipeline_dispose): Drop ref on sched.
15599
15600         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15601         (gst_pad_activate_default): Push mode by default.
15602         (pre_activate_switch, post_activate_switch): New stubs, things to
15603         do before and after switching activation modes on pads.
15604         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15605         the pad's activate function to choose which mode to activate.
15606         Shortcut on deactivation and call the right function directly.
15607         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15608         mode.
15609         (gst_pad_activate_push): New API, same for push mode.
15610         (gst_pad_set_activate_function) 
15611         (gst_pad_set_activatepull_function) 
15612         (gst_pad_set_activatepush_function): Setters for new API.
15613
15614         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15615         Trace all miniobjects.
15616         (gst_mini_object_make_writable): Unref the arg if we copy, like
15617         gst_caps_make_writable.
15618
15619         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15620
15621         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15622         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15623         Adapt for new pad API.
15624
15625         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15626
15627         * gst/gstelement.h:
15628         * gst/gstelement.c (gst_element_iterate_src_pads) 
15629         (gst_element_iterate_sink_pads): New API functions.
15630         
15631         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15632         should fold into gstiterator.c in some form.
15633         (gst_element_pads_activate): Simplified via use of fold and
15634         delegation of decisions to gstpad->activate.
15635
15636         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15637         help in debugging.
15638
15639         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15640         class once in init, like gstmessage. Didn't run into this issue
15641         but it seems correct. Don't initialize a trace, gstminiobject does
15642         that.
15643
15644         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15645         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15646         to the bus.
15647         (assert_live_count): New util function, uses alloc traces to check
15648         cleanup.
15649
15650         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15651         To be modified when unlink drops the internal pad.
15652
15653 2005-06-27  Wim Taymans  <wim@fluendo.com>
15654
15655         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15656         (gst_bin_change_state):
15657         Cleanup the get_state() function a little, make sure it
15658         iterates the same set of elements.
15659         Added stub iterate_state_order().
15660
15661 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15662
15663         * docs/gst/gstreamer-docs.sgml:
15664         * docs/gst/gstreamer-sections.txt:
15665         * docs/gst/gstreamer.types:
15666         * docs/gst/tmpl/gstbasesink.sgml:
15667         * docs/gst/tmpl/gstbasesrc.sgml:
15668         * docs/gst/tmpl/gstbasetransform.sgml:
15669         * docs/gst/tmpl/gstelement.sgml:
15670         * docs/gst/tmpl/gstiterator.sgml:
15671         * gst/base/gstbasesrc.c:
15672         * gst/base/gstbasesrc.h:
15673         * gst/base/gstbasetransform.h:
15674         * gst/gstelement.c:
15675         * gst/gstiterator.h:
15676           adding basetransform and iterator docs
15677
15678 2005-06-27  Andy Wingo  <wingo@pobox.com>
15679
15680         * docs/design/part-activation.txt: Notes on how activation should
15681         work -- not quite implemented yet.
15682
15683 2005-06-25  Wim Taymans  <wim@fluendo.com>
15684
15685         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15686         At least get the chain function correct, needs more
15687         fixing.
15688
15689 2005-06-25  Wim Taymans  <wim@fluendo.com>
15690
15691         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15692         (gst_basesink_handle_object), (gst_basesink_event),
15693         (gst_basesink_do_sync), (gst_basesink_handle_event),
15694         (gst_basesink_change_state):
15695         * gst/gsttask.h:
15696         Right, two problems here: ghostpads don't take locks and
15697         glib _rec_mutex_lock_full() with depth==0 still locks.
15698         Catch illegal locking and g_warn them.
15699
15700 2005-06-25  Wim Taymans  <wim@fluendo.com>
15701
15702         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15703         Have to check for completion now...
15704
15705 2005-06-25  Wim Taymans  <wim@fluendo.com>
15706
15707         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15708         (gst_basesink_handle_object), (gst_basesink_event),
15709         (gst_basesink_do_sync), (gst_basesink_handle_event),
15710         (gst_basesink_change_state):
15711         * gst/gstpad.h:
15712         Unlock STREAM_LOCK whatever the recursion was.
15713
15714 2005-06-25  Wim Taymans  <wim@fluendo.com>
15715
15716         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15717         (gst_basesink_preroll_queue_empty),
15718         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15719         (gst_basesink_event), (gst_basesink_do_sync),
15720         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15721         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15722         (gst_basesink_change_state):
15723         Reworked the base sink, handle event and buffer serialisation
15724         correctly and removed possible deadlock.
15725         Handle EOS correctly.
15726
15727 2005-06-25  Wim Taymans  <wim@fluendo.com>
15728
15729         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15730         (gst_pipeline_change_state):
15731         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15732         Allow elements to post EOS in the state change function.
15733         Fix up -launch, make it exit the poll loop when the
15734         pipeline actually changed state.
15735         Fix up warning parsing in -launch.
15736
15737 2005-06-25  Wim Taymans  <wim@fluendo.com>
15738
15739         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15740         (gst_tee_sink_activate):
15741         Core takes STREAM_LOCK for us now.
15742
15743 2005-06-25  Wim Taymans  <wim@fluendo.com>
15744
15745         * gst/gstelement.c: (gst_element_get_state_func),
15746         (gst_element_set_state):
15747         * gst/gstelement.h:
15748         * gst/gstmessage.c: (gst_message_parse_error),
15749         (gst_message_parse_warning):
15750         Keep track of current target state while performing a state
15751         change so that subclasses can do something interesting.
15752         Fix parsing of warning/error messages when GError is NULL.
15753
15754 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15755
15756         * docs/gst/Makefile.am:
15757         * docs/gst/gstreamer-docs.sgml:
15758         * docs/gst/gstreamer-sections.txt:
15759         * docs/gst/gstreamer.types:
15760         * docs/gst/tmpl/gstbasesink.sgml:
15761         * docs/gst/tmpl/gstbasesrc.sgml:
15762         * docs/gst/tmpl/gstbin.sgml:
15763         * docs/gst/tmpl/gstcompat.sgml:
15764         * docs/gst/tmpl/gstfakesink.sgml:
15765         * docs/gst/tmpl/gstfakesrc.sgml:
15766         * docs/gst/tmpl/gstfilesink.sgml:
15767         * docs/gst/tmpl/gstfilesrc.sgml:
15768         * docs/gst/tmpl/gstindex.sgml:
15769         * docs/manual/appendix-quotes.xml:
15770         * gst/base/gstbasesrc.h:
15771         * gst/elements/gstfakesrc.h:
15772         * gst/gstmessage.h:
15773           start pulling in base classes and elements in our docs
15774
15775 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15776
15777         * docs/gst/Makefile.am:
15778         * docs/libs/Makefile.am:
15779           fixed make distcheck with gtk-doc 1.3
15780
15781 2005-06-23  Wim Taymans  <wim@fluendo.com>
15782
15783         * gst/gstelement.c: (gst_element_get_state_func),
15784         (gst_element_set_state), (gst_element_change_state):
15785         When the state did not change, also report NO_PREROLL
15786         when it matters.
15787
15788 2005-06-23  Wim Taymans  <wim@fluendo.com>
15789
15790         * gst/gstpad.c: (gst_pad_event_default):
15791         * gst/gstqueue.c: (gst_queue_loop):
15792         No unsafe task pausing please.
15793
15794 2005-06-23  Wim Taymans  <wim@fluendo.com>
15795
15796         * gst/schedulers/threadscheduler.c:
15797         (gst_thread_scheduler_task_start),
15798         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15799         Ref the task before pushing it on the threadpool. This
15800         makes sure that we have a ref when the threadfunction is
15801         actually called.
15802
15803 2005-06-23  Andy Wingo  <wingo@pobox.com>
15804
15805         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15806         offset is greater than the file's size.
15807
15808         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15809         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15810         * gst/gstobject.c (gst_object_class_init): Make the class lock
15811         recursive. Wim won't let me drop deep_notify. Decodebin works
15812         again, whoopdy doo.
15813
15814         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15815         internal pad, and hacks accordingly. Doesn't do it on the target
15816         pad because we change its caps. Probably catches all cases of
15817         interest tho.
15818         (gst_ghost_pad_set_property): Connect to notify::caps as
15819         appropritate.
15820
15821         * tests/network-clock.scm (plot-simulation): Pipe data to the
15822         elite python skript.
15823
15824         * tests/network-clock-utils.scm (define-parameter): New macro,
15825         defines a parameter that can be set via the command line.
15826         (set-parameter!, parse-parameter-arguments): Command line args
15827         parser.
15828
15829         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15830         stdin.
15831
15832 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15833
15834         * gst/elements/gsttypefindelement.c:
15835         (gst_type_find_element_handle_event):
15836           Don't restart typefinding on a discont.
15837         * gst/gstelement.c: (gst_element_set_state):
15838           Debug spelling fix.
15839         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15840           Allow changing mode of an active pad.
15841           Debug output fixes.
15842         * gst/registries/gstlibxmlregistry.c: (load_feature):
15843           Don't cast a static pad template to a normal pad template.
15844
15845 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15846
15847         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15848         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15849           remove gst_strtoll completely, since it didn't actually do
15850           anything more than what g_ascii_strtoull already does.
15851           check for range errors when deserializing
15852           do a cast for the unsigned cases; but further fixing needs
15853           a decision on what the interpretation of "(int)" and
15854           deserialization should be for values that fall outside the
15855           type's boundaries (ie, refuse, or interpret as casting)
15856
15857 2005-06-23  Wim Taymans  <wim@fluendo.com>
15858
15859         * check/Makefile.am:
15860         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15861         * docs/design/part-live-source.txt:
15862         * docs/design/part-states.txt:
15863         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15864         (gst_basesrc_set_live), (gst_basesrc_is_live),
15865         (gst_basesrc_get_range), (gst_basesrc_activate),
15866         (gst_basesrc_change_state):
15867         * gst/base/gstbasesrc.h:
15868         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15869         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15870         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15871         * gst/gstelement.c: (gst_element_get_state_func),
15872         (gst_element_set_state):
15873         * gst/gstelement.h:
15874         * gst/gsttypes.h:
15875         * tools/gst-launch.c: (event_loop), (main):
15876         Added support for live sources and other elements that
15877         cannot do preroll.
15878         Updated design docs, added live-source design doc.
15879         Implemented live source functionality in basesrc
15880         Fix error condition in _bin_get_state()
15881         Implement live source handling in -launch.
15882         Added check for live sources.
15883         Fixed case in GstBin where elements were changed state
15884         multiple times.
15885
15886
15887 2005-06-23  Andy Wingo  <wingo@pobox.com>
15888
15889         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15890         borken refcounting.
15891
15892         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15893         gst_caps_replace takes care of this for us.
15894
15895         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15896         gst_pad_set_caps on the target, not just its setcaps() function.
15897
15898         * tests/network-clock.scm: 
15899         * tests/network-clock-utils.scm: A network clock simulator.
15900         Something of an algorithmic testbed before doing something in C.
15901
15902 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15903
15904         * check/Makefile.am:
15905         * check/gst/capslist.h:
15906           copy over from 0.8, and add two with bitmasks specified with
15907           (int) 0xFF...
15908         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15909           add test to parse everything from capslist.h
15910         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15911         (main):
15912           add test for structure deserialization
15913         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15914           add tests for deserialization of strings to int types
15915         * gst/gststructure.c: (gst_structure_nth_field_name):
15916         * gst/gststructure.h:
15917           add a way to get the name of a field referenced by index
15918         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15919           instead of checking if the resulting long long lies between
15920           min and max, we check if the long long would fit into
15921           a number of bytes for the final type.
15922           This fixes cases where a string represents 2^32 - 1, which
15923           when cast to int would be the (valid) -1, but is bigger than
15924           G_MAXINT
15925
15926 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15927
15928         * gst/parse/grammar.y:
15929           add a log line for type deserialization
15930
15931 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15932
15933         * check/gst/gstvalue.c: (START_TEST):
15934         * gst/gstvalue.c: (gst_value_deserialize):
15935           return long long, not int, so gint64 deserialization actually
15936           works.  Is there any flag that makes the compiler check this ?
15937           Fixes #308559
15938
15939 2005-06-22  Wim Taymans  <wim@fluendo.com>
15940
15941         * gst/gstbuffer.h:
15942         Added convenience macros for setting buffers in GValue.
15943
15944 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15945
15946         * check/gst/.cvsignore:
15947         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15948           add a test deserializing int64, and comment part out because
15949           it fails, yay !
15950
15951 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15952
15953         * check/Makefile.am:
15954         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15955         * testsuite/Makefile.am:
15956         * testsuite/caps/Makefile.am:
15957         * testsuite/caps/value_serialize.c:
15958         * testsuite/test_gst_init.c:
15959           move a value_serialize test over
15960
15961 2005-06-20  Wim Taymans  <wim@fluendo.com>
15962
15963         * gst/gstpad.c:
15964         Small doc updates.
15965         
15966         * gst/gstvalue.c: (gst_value_compare_buffer),
15967         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15968         (gst_value_compare_flags), (gst_value_serialize_flags),
15969         (gst_value_deserialize_flags), (_gst_value_initialize):
15970         Fix serialisation of buffers, they are not boxed types anymore
15971
15972 2005-06-20  Wim Taymans  <wim@fluendo.com>
15973
15974         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15975         Testcase to show error in buffer-on-caps serialisation.
15976
15977 2005-06-20  Andy Wingo  <wingo@pobox.com>
15978
15979         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15980         will be adding to later.
15981
15982         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15983         if its socks fill with rocks.
15984         (gst_system_clock_obtain): Set the name on object construction.
15985         Avoid double-checked locking.
15986
15987 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15988
15989         * gst/gsturi.c: (gst_element_make_from_uri):
15990           Fix potential endless loop.
15991
15992 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15993
15994         * check/Makefile.am:
15995           add gsttag
15996         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15997         (main):
15998           move over from testsuite dir and clean up
15999         * configure.ac:
16000         * gst/gsttag.c:
16001         * testsuite/Makefile.am:
16002         * testsuite/tags/.cvsignore:
16003         * testsuite/tags/Makefile.am:
16004         * testsuite/tags/merge.c:
16005           remove testsuite/tags
16006
16007 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16008
16009         * docs/gst/gstreamer-sections.txt:
16010         * docs/gst/tmpl/gstenumtypes.sgml:
16011         * win32/gstenumtypes.c:
16012           clean up documentation build a little
16013
16014 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16015
16016         * check/gstcheck.h:
16017           add macros for checking refcounts on objects and caps
16018         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
16019           add some more unit tests
16020         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16021         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
16022           fix leaked refcounts (I hope :)) so unittest works
16023         * gst/gstpad.h:
16024           whitespace removal
16025
16026 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16027
16028         * configure.ac: back to HEAD
16029
16030 === release 0.9.1 ===
16031
16032 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16033
16034         * NEWS:
16035         * RELEASE:
16036           updated
16037
16038 2005-06-17  Andy Wingo  <wingo@pobox.com>
16039
16040         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
16041         assert; it's always possible that the pad gets deactivated in
16042         between the checks in gstpad.c and the implementation. Rely on
16043         finish_preroll() to return a FLUSHING or similar instead of on the
16044         assert.
16045         
16046         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
16047         clock and post an EOS message if we come out of finish_preroll in
16048         the playing state.
16049
16050 2005-06-16  David Schleef  <ds@schleef.org>
16051
16052         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16053         (gst_capsfilter_set_property): Allow NULL as possible value
16054         for filter_caps property, indicating GST_CAPS_ANY.
16055
16056 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16057
16058         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
16059           fix debug output
16060         * gst/schedulers/Makefile.am:
16061           use libgst prefix
16062         * gstreamer.spec.in:
16063           fix spec for it
16064
16065 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16066
16067         * gstreamer.spec.in:
16068           clean up
16069
16070 2005-06-08  Andy Wingo  <wingo@pobox.com>
16071
16072         * gst/gstutils.c: RPAD fixes all around.
16073         (gst_element_link_pads): Refcounting fixes.
16074
16075         * tools/gst-inspect.c:
16076         * tools/gst-xmlinspect.c:
16077         * parse/grammar.y:
16078         * gst/base/gsttypefindhelper.c:
16079         * gst/base/gstbasesink.c:
16080         * gst/gstqueue.c: RPAD fixes.
16081
16082         * gst/gstghostpad.h:
16083         * gst/gstghostpad.c: New ghost pad implementation as full proxy
16084         pads. The tricky thing is they provide both source and sink
16085         interfaces, since they proxy the internal pad for the external
16086         pad, and vice versa. Implement with lower-level ProxyPad objects,
16087         with the interior proxy pad as a child of the exterior ghost pad.
16088         Should write a doc on this.
16089         
16090         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
16091         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
16092         gst_object API.
16093         
16094         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
16095         pads are real pads. No ghost pads in this file. Not documenting
16096         the myriad s/RPAD/PAD/ and REALIZE fixes.
16097         (gst_pad_class_init): Add properties for "direction" and
16098         "template". Both are construct-only, so they can't change during
16099         the life of the pad. Fixes properly deriving from GstPad.
16100         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
16101         derived objects, just set properties when creating the objects via
16102         g_object_new.
16103         (gst_pad_get_parent): Implement as a function, return NULL if the
16104         parent is not an element.
16105         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
16106         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
16107         
16108         * gst/gstobject.c (gst_object_class_init): Make name a construct
16109         property. Don't set it in the object init.
16110
16111         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
16112         with UNKNOWN direction.
16113         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
16114         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
16115         (gst_element_remove_pad): Remove ghost-pad special cases.
16116         (gst_element_pads_activate): Remove rpad cruft.
16117
16118         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
16119         catch the pad's-parent-not-an-element case.
16120
16121         * gst/gst.h: Include gstghostpad.h.
16122
16123         * gst/gst.c (init_post): No more real, ghost pads.
16124
16125         * gst/Makefile.am: Add gstghostpad.[ch].
16126
16127         * check/Makefile.am:
16128         * check/gst/gstbin.c:
16129         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
16130         into a bin creates ghost pads, and that the refcounts are right.
16131         Partly moved from gstbin.c.
16132
16133 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16134
16135         * check/gst-libs/.cvsignore:
16136         * check/gst/.cvsignore:
16137         * check/pipelines/.cvsignore:
16138           ignore more
16139         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
16140         (START_TEST), (cleanup_suite), (main):
16141           add some tests related to cleanup after running pipelines
16142
16143 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16144
16145         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
16146           add a testsuite for GstBuffer
16147
16148 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16149
16150         * gst/gstminiobject.h:
16151           add defines for accessing the refcount
16152
16153 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
16154
16155         * Makefile.am: added support for html unit test coverage reports
16156
16157 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
16158
16159         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16160           Free existing caps if the capsfilter changes. Add a FIXME about
16161           setting those caps on the pads.
16162
16163         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
16164           Before adding a ghost pad to a parent bin, check that there isn't
16165           already one for the element on the bin. Prevents infinite recursion
16166           when using decodebin in parse pipelines. Andy says he'll rewrite the
16167           way this works anyway, so ignore the hack.
16168
16169 2005-06-02  Andy Wingo  <wingo@pobox.com>
16170
16171         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
16172         file size, pass it on to the type find helper.
16173
16174         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
16175         segment_start and segment_end properly according to the seek
16176         method. Segment_end is still a bit flaky because offset can be
16177         negative for CUR and END cases, but it takes -1 as an "unset"
16178         value.
16179
16180 2005-06-02  Wim Taymans  <wim@fluendo.com>
16181
16182         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
16183         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
16184         (gst_basesink_activate):
16185         * gst/base/gstbasesink.h:
16186         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16187         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16188         (gst_pad_query), (gst_pad_start_task):
16189         * gst/gstpad.h:
16190         * gst/gstqueue.c: (gst_queue_bufferalloc),
16191         (gst_queue_handle_sink_event), (gst_queue_chain):
16192         Bufferalloc: return GstFlowReturn to more accuratly report
16193         why allocation failed.
16194
16195 2005-06-02  Wim Taymans  <wim@fluendo.com>
16196
16197         * gst/gstpipeline.c: (gst_pipeline_send_event):
16198         Take snapshot of state without blocking.
16199
16200 2005-06-02  Wim Taymans  <wim@fluendo.com>
16201
16202         * docs/design/part-TODO.txt:
16203         * docs/design/part-caps.txt:
16204         * docs/design/part-clocks.txt:
16205         * docs/design/part-negotiation.txt:
16206         * docs/design/part-preroll.txt:
16207         Small doc updates 
16208
16209 2005-05-30  Wim Taymans  <wim@fluendo.com>
16210
16211         * gst/elements/gstidentity.c: (gst_identity_event),
16212         (gst_identity_transform), (gst_identity_get_property):
16213         Protect last_message property as it is accessed from
16214         multiple threads.
16215
16216 2005-05-30  Wim Taymans  <wim@fluendo.com>
16217
16218         * gst/gstelement.c: (gst_element_init),
16219         (gst_element_pads_activate), (gst_element_change_state):
16220         Slicker pad activation code.
16221
16222 2005-05-30  Wim Taymans  <wim@fluendo.com>
16223
16224         * gst/Makefile.am:
16225         * gst/gstelement.h:
16226         * gst/gstelementfactory.h:
16227         * gst/gsttypes.h:
16228         Move elementfactory methods to separate .h file.
16229
16230 2005-05-30  Wim Taymans  <wim@fluendo.com>
16231
16232         * docs/design/part-overview.txt:
16233         * gst/gstsystemclock.h:
16234         Small typo fixes, doc updates.
16235
16236 2005-05-30  Wim Taymans  <wim@fluendo.com>
16237
16238         * gst/gst.c: (gst_init_get_popt_table), (init_post),
16239         (init_popt_callback):
16240         Remove cpu-opt flag.
16241
16242 2005-05-30  Wim Taymans  <wim@fluendo.com>
16243
16244         * gst/gstbuffer.c: (gst_subbuffer_finalize),
16245         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
16246         * gst/gstbuffer.h:
16247         Avoid typechecking in places where not needed.
16248         Added accessor for malloc_data.
16249
16250 2005-05-30  Wim Taymans  <wim@fluendo.com>
16251
16252         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
16253         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
16254         (gst_pad_configure_sink), (gst_pad_configure_src),
16255         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
16256         (gst_pad_start_task):
16257         Propagate errors from _set_caps() in configure_src/sink
16258         functions instead of returning TRUE.
16259         FLUSH events can travel up and downstream
16260
16261
16262 2005-05-30  Wim Taymans  <wim@fluendo.com>
16263
16264         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16265         (gst_basesink_activate):
16266         Handle EOS in preroll.
16267
16268 2005-05-30  Wim Taymans  <wim@fluendo.com>
16269
16270         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16271         (gst_queue_loop), (gst_queue_handle_src_event):
16272         Remove old pieces of code
16273         Flushing the queue in an upstream event is a very bad idea.
16274
16275 2005-05-26  Andy Wingo  <wingo@pobox.com>
16276
16277         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
16278         gst_value_set_mini_object so as to add a ref on the object (which
16279         will be removed when the value is unset).
16280
16281         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
16282         arg type in ::handoff.
16283
16284         * gst/gstelement.c (gst_element_change_state): Also deactivate
16285         pads in READY->NULL, just in case the element didn't make it to
16286         PAUSED. Wingo tested, Wim approved.
16287
16288 2005-05-26  Wim Taymans  <wim@fluendo.com>
16289
16290         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16291         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
16292         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
16293         A flushing pad cannot be used to alloc_buffer from.
16294
16295 2005-05-26  Wim Taymans  <wim@fluendo.com>
16296
16297         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
16298         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
16299         (gst_bus_source_dispatch), (gst_bus_source_finalize),
16300         (gst_bus_create_watch), (gst_bus_add_watch_full):
16301         * gst/gstbus.h:
16302         Implement a real GSource and use g_main_context_wakeup() to
16303         signal new messages instead of the socketpair.
16304
16305 2005-05-25  Wim Taymans  <wim@fluendo.com>
16306
16307         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
16308         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
16309         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16310         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16311         (gst_pad_send_event), (gst_pad_start_task):
16312         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
16313         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16314         (gst_queue_sink_activate), (gst_queue_src_activate),
16315         (gst_queue_change_state):
16316         * gst/gstqueue.h:
16317         Fix state changes for non sinks. We now change sinks, then elements
16318         with unconnected srcpads, then the rest.
16319         More efficient queue unlocking in flush and state changes.
16320         Set the pad activate mode even if it does not have an activate
16321         function.
16322
16323 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16324
16325         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
16326           Don't go in pull mode for non-seekable sources.
16327         * gst/elements/gsttypefindelement.h:
16328         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16329         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
16330         (free_entry), (stop_typefinding),
16331         (gst_type_find_element_handle_event), (find_peek),
16332         (gst_type_find_element_chain), (do_pull_typefind),
16333         (gst_type_find_element_change_state):
16334           Allow typefinding (w/o seeking) in push-mode, simplified version
16335           of what was in 0.8.
16336         * gst/gstutils.c: (gst_buffer_join):
16337         * gst/gstutils.h:
16338           gst_buffer_join() from 0.8.
16339
16340 2005-05-25  Wim Taymans  <wim@fluendo.com>
16341
16342         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
16343         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
16344         (gst_pad_send_event), (gst_pad_start_task):
16345         Disable attempt at mode switching until it is figured out.
16346
16347 2005-05-25  Wim Taymans  <wim@fluendo.com>
16348
16349         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
16350         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
16351         (gst_basesink_finish_preroll), (gst_basesink_chain),
16352         (gst_basesink_loop), (gst_basesink_activate),
16353         (gst_basesink_change_state):
16354         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
16355         (gst_basesrc_get_range), (gst_basesrc_loop),
16356         (gst_basesrc_activate):
16357         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16358         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
16359         (gst_real_pad_init), (gst_real_pad_set_property),
16360         (gst_real_pad_get_property), (gst_pad_set_active),
16361         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
16362         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
16363         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
16364         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
16365         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16366         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
16367         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
16368         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16369         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
16370         (gst_pad_stop_task):
16371         * gst/gstpad.h:
16372         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16373         (gst_queue_loop), (gst_queue_src_activate):
16374         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
16375         (gst_task_get_state):
16376         * gst/gsttask.h:
16377         * gst/schedulers/threadscheduler.c:
16378         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
16379         Implement gst_pad_pause/start/stop_task(), take STREAM lock
16380         in task function.
16381         Remove ACTIVE pad flag, use FLUSHING everywhere
16382         Added _pad_chain(), _pad_get_range() to call chain/getrange 
16383         functions.
16384         Add locks around IS_FLUSHING when reading.
16385         Take STREAM lock in chain(), get_range() functions so plugins
16386         don't need to take it anymore.
16387         
16388
16389
16390 2005-05-25  Wim Taymans  <wim@fluendo.com>
16391
16392         * tools/gst-launch.c: (event_loop):
16393         Unref message after using its contents instead of
16394         before.
16395
16396 2005-05-24  Wim Taymans  <wim@fluendo.com>
16397
16398         * docs/design/draft-ghostpads.txt:
16399         * docs/design/draft-push-pull.txt:
16400         * docs/design/draft-query.txt:
16401         * docs/design/part-overview.txt:
16402         Docs updates, added general overview doc.
16403
16404 2005-05-21  David Schleef  <ds@schleef.org>
16405
16406         * docs/gst/tmpl/old/GstBin.sgml:
16407         * docs/gst/tmpl/old/GstBuffer.sgml:
16408         * docs/gst/tmpl/old/GstCaps.sgml:
16409         * docs/gst/tmpl/old/GstClock.sgml:
16410         * docs/gst/tmpl/old/GstCompat.sgml:
16411         * docs/gst/tmpl/old/GstData.sgml:
16412         * docs/gst/tmpl/old/GstElement.sgml:
16413         * docs/gst/tmpl/old/GstEvent.sgml:
16414         * docs/gst/tmpl/old/GstIndex.sgml:
16415         * docs/gst/tmpl/old/GstStructure.sgml:
16416         * docs/gst/tmpl/old/GstTag.sgml:
16417         * docs/gst/tmpl/old/cothreads.sgml:
16418         * docs/gst/tmpl/old/cothreads_compat.sgml:
16419         * docs/gst/tmpl/old/gettext.sgml:
16420         * docs/gst/tmpl/old/gobject2gtk.sgml:
16421         * docs/gst/tmpl/old/grammar.tab.sgml:
16422         * docs/gst/tmpl/old/gst-i18n-app.sgml:
16423         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
16424         * docs/gst/tmpl/old/gst_private.sgml:
16425         * docs/gst/tmpl/old/gstaggregator.sgml:
16426         * docs/gst/tmpl/old/gstarch.sgml:
16427         * docs/gst/tmpl/old/gstatomic_impl.sgml:
16428         * docs/gst/tmpl/old/gstbufferstore.sgml:
16429         * docs/gst/tmpl/old/gstdata_private.sgml:
16430         * docs/gst/tmpl/old/gstdisksink.sgml:
16431         * docs/gst/tmpl/old/gstdisksrc.sgml:
16432         * docs/gst/tmpl/old/gstelementfactory.sgml:
16433         * docs/gst/tmpl/old/gstextratypes.sgml:
16434         * docs/gst/tmpl/old/gstfakesink.sgml:
16435         * docs/gst/tmpl/old/gstfakesrc.sgml:
16436         * docs/gst/tmpl/old/gstfdsink.sgml:
16437         * docs/gst/tmpl/old/gstfdsrc.sgml:
16438         * docs/gst/tmpl/old/gstfilesink.sgml:
16439         * docs/gst/tmpl/old/gstfilesrc.sgml:
16440         * docs/gst/tmpl/old/gsthttpsrc.sgml:
16441         * docs/gst/tmpl/old/gstidentity.sgml:
16442         * docs/gst/tmpl/old/gstindexfactory.sgml:
16443         * docs/gst/tmpl/old/gstmarshal.sgml:
16444         * docs/gst/tmpl/old/gstmd5sink.sgml:
16445         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
16446         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
16447         * docs/gst/tmpl/old/gstpadtemplate.sgml:
16448         * docs/gst/tmpl/old/gstpipefilter.sgml:
16449         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
16450         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
16451         * docs/gst/tmpl/old/gstshaper.sgml:
16452         * docs/gst/tmpl/old/gstspider.sgml:
16453         * docs/gst/tmpl/old/gstspideridentity.sgml:
16454         * docs/gst/tmpl/old/gststatistics.sgml:
16455         * docs/gst/tmpl/old/gsttee.sgml:
16456         * docs/gst/tmpl/old/gsttimecache.sgml:
16457         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
16458         * docs/gst/tmpl/old/gstxmlregistry.sgml:
16459         * docs/gst/tmpl/old/gthread-cothreads.sgml:
16460         * docs/gst/tmpl/old/types.sgml:
16461           I didn't intend to add these or check them in.
16462
16463 2005-05-19  David Schleef  <ds@schleef.org>
16464
16465         * configure.ac: Use -no-common everywhere.  In a sane world, it
16466           would be the default in libtool, because without it, you can't
16467           build DLLs on Windows.
16468         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
16469         * docs/gst/gstreamer-sections.txt:
16470         * docs/gst/tmpl/gstcpu.sgml:
16471         * docs/gst/tmpl/gstdata.sgml:
16472         * docs/gst/tmpl/gstthread.sgml:
16473
16474 2005-05-19  David Schleef  <ds@schleef.org>
16475
16476         * gst/gstminiobject.c: (gst_value_set_mini_object),
16477         (gst_value_take_mini_object), (gst_value_get_mini_object):
16478         * gst/gstminiobject.h: Add GValue set/get functions.
16479
16480 2005-05-19  Wim Taymans  <wim@fluendo.com>
16481
16482         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
16483         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
16484         (gst_subbuffer_init), (gst_buffer_is_span_fast):
16485         * gst/gstbuffer.h:
16486         * gst/gstbus.c: (gst_bus_post):
16487         * gst/gstelement.c: (gst_element_get_random_pad):
16488         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
16489         Make subbufer unref the parent in finalize.
16490         some more debugging info.
16491
16492
16493 2005-05-19  Wim Taymans  <wim@fluendo.com>
16494
16495         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16496         (gst_basesink_init), (gst_basesink_finalize),
16497         (gst_basesink_activate), (gst_basesink_change_state):
16498         Don't free preroll queue too early.
16499
16500 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16501
16502         * gst/Makefile.am:
16503         * gst/ROADMAP:
16504           Hi, I'm outdated. Please shoot me.
16505
16506 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16507
16508         * gst/gstpipeline.c: (gst_pipeline_send_event):
16509           Do not access variables after they have been deleted.
16510
16511 2005-05-19  Wim Taymans  <wim@fluendo.com>
16512
16513         * tools/gst-inspect.c: (print_plugin_features):
16514         A plugin feature does unfortunatly not use the
16515         object name yet...
16516
16517 2005-05-18  Wim Taymans  <wim@fluendo.com>
16518
16519         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16520         Port _span() functions to new subbuffers.
16521
16522 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16523
16524         * gst/gstbin.c: (gst_bin_add_func):
16525           Fix clock settery in bins when adding kids after the clock has
16526           been selected.
16527
16528 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16529
16530         * gst/elements/gstidentity.c: (gst_identity_class_init):
16531           Workaround until signals support GstMiniObject.
16532
16533 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16534
16535         * gst/gstbuffer.c:
16536         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16537
16538 2005-05-18  Wim Taymans  <wim@fluendo.com>
16539
16540         * gst/base/Makefile.am:
16541         * gst/base/gstadapter.c: (gst_adapter_base_init),
16542         (gst_adapter_class_init), (gst_adapter_init),
16543         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16544         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16545         (gst_adapter_flush), (gst_adapter_available),
16546         (gst_adapter_available_fast):
16547         * gst/base/gstadapter.h:
16548         Ported and added adapter to the base classes.
16549
16550 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16551
16552         * gst/gst.c:
16553         * gst/gstmessage.c:
16554           Make sure the class is reffed/unreffed once before threads can be
16555           used.  Fixes #304551.
16556
16557 2005-05-17  Wim Taymans  <wim@fluendo.com>
16558
16559         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16560         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16561         * gst/gstminiobject.c: (gst_mini_object_get_type),
16562         (gst_mini_object_free):
16563         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16564         (gst_pad_push), (gst_pad_push_event):
16565         * gst/gstqueue.c: (gst_queue_change_state):
16566         Don't queue buffers in basesink when we are flushing.
16567         Unref buffer when flushing in basesink.
16568         Flush queue when going to READY
16569         Unref buffer when _push() returns an error.
16570         Don't free MiniObject instance when refcount is incremented
16571         in _finalize() so that we can recover objects.
16572
16573 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16574
16575         * docs/manual/advanced-schedulers.xml:
16576         * docs/manual/appendix-checklist.xml:
16577         * docs/pwg/advanced-clock.xml:
16578         * docs/pwg/advanced-interfaces.xml:
16579         * docs/pwg/advanced-request.xml:
16580         * docs/pwg/advanced-types.xml:
16581         * docs/pwg/intro-preface.xml:
16582         * examples/plugins/example.c: (gst_example_get_type),
16583         (gst_example_class_init), (gst_example_chain),
16584         (gst_example_set_property), (gst_example_get_property),
16585         (gst_example_change_state), (plugin_init):
16586         * examples/plugins/example.h:
16587           small doc fixes
16588
16589 2005-05-17  Wim Taymans  <wim@fluendo.com>
16590
16591         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16592         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16593         * gst/gstqueue.c: (gst_queue_change_state):
16594         Clear queue when going to READY.
16595         Remove IN_SETCAPS flag too.
16596
16597 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16598
16599         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16600           Remove implicit cast from gboolean to GstElementStateReturn;
16601           make sure we still return failure in paused => ready case if
16602           the parent class fails to change state and our own stop 
16603           vfunc succeeds.
16604
16605 2005-05-17  Wim Taymans  <wim@fluendo.com>
16606
16607         * tools/gst-launch.c: (event_loop):
16608         Message was unreffed too soon.
16609
16610 2005-05-16  Andy Wingo  <wingo@pobox.com>
16611
16612         * gst/gstbin.c (sink_iterator_filter): Err... um...
16613
16614         * check/gst/gstbin.c (test_ghost_pads): New test for the
16615         ghosting-if-elements-not-in-same-bin behavior.
16616
16617 2005-05-16  David Schleef  <ds@schleef.org>
16618
16619         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16620         accessing refcount directly.
16621
16622 2005-05-15  David Schleef  <ds@schleef.org>
16623
16624         * check/Makefile.am: remove GstData checks
16625         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16626         * gst/Makefile.am: add miniobject, remove data
16627         * gst/gst.h: add miniobject, remove data
16628         * gst/gstdata.c: remove
16629         * gst/gstdata.h: remove
16630         * gst/gstdata_private.h: remove
16631         * gst/gsttypes.h: remove GstEvent and GstMessage
16632         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16633         * gst/gstmarshal.list: change BOXED -> OBJECT
16634
16635         Implement GstMiniObject.
16636         * gst/gstminiobject.c:
16637         * gst/gstminiobject.h:
16638
16639         Modify to be subclasses of GstMiniObject.
16640         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16641         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16642         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16643         (gst_subbuffer_get_type), (gst_subbuffer_init),
16644         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16645         (gst_buffer_span):
16646         * gst/gstbuffer.h:
16647         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16648         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16649         (_gst_event_copy), (gst_event_new):
16650         * gst/gstevent.h:
16651         * gst/gstmessage.c: (_gst_message_initialize),
16652         (gst_message_get_type), (gst_message_class_init),
16653         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16654         (gst_message_new), (gst_message_new_error),
16655         (gst_message_new_warning), (gst_message_new_tag),
16656         (gst_message_new_state_changed), (gst_message_new_application):
16657         * gst/gstmessage.h:
16658         * gst/gstprobe.c: (gst_probe_perform),
16659         (gst_probe_dispatcher_dispatch):
16660         * gst/gstprobe.h:
16661         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16662         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16663         (_gst_query_copy), (gst_query_new):
16664
16665         Update elements for GstData -> GstMiniObject changes
16666         * gst/gstquery.h:
16667         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16668         (gst_queue_chain), (gst_queue_loop):
16669         * gst/elements/gstbufferstore.c:
16670         (gst_buffer_store_add_buffer_func),
16671         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16672         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16673         (gst_fakesink_render):
16674         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16675         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16676         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16677         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16678         (gst_filesrc_create_read):
16679         * gst/elements/gstidentity.c: (gst_identity_class_init):
16680         * gst/elements/gsttypefindelement.c:
16681         (gst_type_find_element_src_event), (free_entry_buffers),
16682         (gst_type_find_element_handle_event):
16683         * libs/gst/dataprotocol/dataprotocol.c:
16684         (gst_dp_header_from_buffer):
16685         * libs/gst/dataprotocol/dataprotocol.h:
16686         * libs/gst/dataprotocol/dp-private.h:
16687
16688 2005-05-15  David Schleef  <ds@schleef.org>
16689
16690         * gst/elements/gstelements.c: Don't include headers that were
16691         just removed.
16692
16693 2005-05-15  David Schleef  <ds@schleef.org>
16694
16695         * gst/elements/Makefile.am: Remove some elements that don't
16696         need to be in the core (or even exist at all).
16697         * gst/elements/gstaggregator.c:
16698         * gst/elements/gstaggregator.h:
16699         * gst/elements/gstmd5sink.c:
16700         * gst/elements/gstmd5sink.h:
16701         * gst/elements/gstmultifilesrc.c:
16702         * gst/elements/gstmultifilesrc.h:
16703         * gst/elements/gstpipefilter.c:
16704         * gst/elements/gstpipefilter.h:
16705         * gst/elements/gstshaper.c:
16706         * gst/elements/gstshaper.h:
16707         * gst/elements/gststatistics.c:
16708         * gst/elements/gststatistics.h:
16709         * po/POTFILES.in: Remove above files.
16710
16711 2005-05-14  Andy Wingo  <wingo@pobox.com>
16712
16713         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16714         so as to get the refs right.
16715         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16716         unreffing objects that don't pass the filter.
16717
16718         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16719         gst_element_set_bus.
16720         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16721         normal cases, this will destroy the bus.
16722
16723         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16724         object.
16725
16726         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16727         has no sinks.
16728
16729 2005-05-13  Andy Wingo  <wingo@pobox.com>
16730
16731         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16732         gst_pad_link, call pad_link_maybe_ghosting,
16733         (pad_link_maybe_ghosting): Links pads, making sure that the
16734         elements being linked are in the same bin.
16735         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16736         Helpers for pad_link_maybe_ghosting.
16737
16738 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16739
16740         * configure.ac:
16741           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16742
16743 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16744
16745         * docs/design/part-element-source.txt:
16746           Mention GstPushSrc
16747
16748 2005-05-12  Wim Taymans  <wim@fluendo.com>
16749
16750         * gst/base/gstbasesink.c: (gst_basesink_init),
16751         (gst_basesink_activate):
16752         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16753         (gst_basesrc_is_seekable):
16754         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16755         (bin_element_is_sink), (gst_bin_change_state):
16756         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16757         * gst/gstelement.h:
16758         Identify sinks by their flag to avoid overly complicated
16759         checks (fow now).
16760         Do state changes even for elements not reachable from the
16761         sinks.
16762         BaseSink is a sink now :)
16763         Some more debugging info in the basesrc.
16764
16765
16766 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16767
16768         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16769           Implement _query on a bin, similar to _send_event.
16770
16771 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16772
16773         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16774           Discont event offset format should be GST_FORMAT_BYTES,
16775           not GST_FORMAT_TIME.
16776
16777 2005-05-12  Wim Taymans  <wim@fluendo.com>
16778
16779         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16780         Same fix as Ronald's but without the signal. 
16781
16782 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16783
16784         * gst/gstutils.c: (gst_element_query_position):
16785           No, an element is not a pad.
16786
16787 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16788
16789         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16790         (gst_bin_get_state):
16791           If a child is removed from a bin while we remove the child from
16792           the bin and while we're retrieving its state, signal this to the
16793           get_state function so we abort the wait (instead of waiting for
16794           a timeout) and can immediately re-iterate over all other elements.
16795
16796 2005-05-12  Wim Taymans  <wim@fluendo.com>
16797
16798         * gst/base/Makefile.am:
16799         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16800         (gst_basesrc_start):
16801         * gst/base/gstbasesrc.h:
16802         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16803         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16804         (gst_pushsrc_init), (gst_pushsrc_create):
16805         * gst/base/gstpushsrc.h:
16806         Added is_seekable to BaseSrc
16807         Added simple PushSrc.
16808
16809 2005-05-11  Wim Taymans  <wim@fluendo.com>
16810
16811         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16812         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16813         (gst_element_link_pads), (gst_element_query_position),
16814         (gst_element_query_convert), (intersect_caps_func),
16815         (gst_pad_query_position), (gst_pad_query_convert):
16816         Fix refcounting in utils function.
16817         No point in trying to activate a pad when it's added, it could
16818         be added from the state change function and then we deadlock, the
16819         element has to decide what to do.
16820
16821 2005-05-10  Andy Wingo  <wingo@pobox.com>
16822
16823         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16824         *all* the arguments.
16825
16826         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16827         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16828         lock (according to the docs -- if this is wrong change the docs).
16829
16830         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16831         flush messages in the NULL state.
16832
16833         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16834         message immediately and return.
16835         (gst_bus_set_flushing): New function. If a bus is flushing, it
16836         flushes out any queued messages and immediately unrefs new
16837         messages. This is so when an element goes to NULL, all of the
16838         unhandled messages coming from it can be freed, and their
16839         references to the element dropped. In other words: message source
16840         ref considered harmful :P
16841
16842         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16843         we're finished with it.
16844
16845         * gst/gstmessage.c (gst_message_new_state_changed): 
16846
16847 2005-05-10  Wim Taymans  <wim@fluendo.com>
16848
16849         * gst/gstvalue.c: (gst_value_compare_flags),
16850         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16851         (_gst_value_initialize):
16852         Added flags serialize/deserialize/compare code.
16853
16854 2005-05-09  Andy Wingo  <wingo@pobox.com>
16855
16856         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16857         Intersect the peer's caps with our caps.
16858
16859 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16860
16861         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16862         * gst/elements/gsttypefindelement.c: (find_peek):
16863           Handle negative offsets better. Fixes decodebin.
16864
16865 2005-05-09  Wim Taymans  <wim@fluendo.com>
16866
16867         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16868         (gst_base_transform_event):
16869         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16870         Implement accept_caps.
16871         Fix silly lock/unlock mismatch in base class.
16872
16873 2005-05-09  Wim Taymans  <wim@fluendo.com>
16874
16875         * docs/design/draft-push-pull.txt:
16876         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16877         * gst/elements/gstfilesink.c: (gst_filesink_init),
16878         (gst_filesink_query):
16879         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16880         (gst_type_find_handle_src_query), (find_element_get_length):
16881         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16882         * gst/gstelement.h:
16883         * gst/gstmessage.c:
16884         * gst/gstmessage.h:
16885         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16886         (gst_real_pad_get_caps_unlocked),
16887         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16888         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16889         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16890         (gst_real_pad_dispose), (gst_real_pad_finalize),
16891         (gst_pad_load_and_link), (gst_pad_save_thyself),
16892         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16893         (gst_pad_check_pull_range), (gst_pad_pull_range),
16894         (gst_pad_template_get_type), (gst_pad_template_class_init),
16895         (gst_pad_template_init), (gst_pad_template_dispose),
16896         (name_is_valid), (gst_static_pad_template_get),
16897         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16898         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16899         (gst_pad_get_element_private), (gst_pad_start_task),
16900         (gst_pad_pause_task), (gst_pad_stop_task),
16901         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16902         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16903         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16904         (gst_ghost_pad_new):
16905         * gst/gstpad.h:
16906         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16907         (gst_query_new_position), (gst_query_set_position),
16908         (gst_query_parse_position), (gst_query_new_convert),
16909         (gst_query_set_convert), (gst_query_parse_convert):
16910         * gst/gstquery.h:
16911         * gst/gstqueryutils.c:
16912         * gst/gstqueryutils.h:
16913         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16914         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16915         (gst_queue_handle_src_query):
16916         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16917         (gst_element_query_position), (gst_element_query_convert),
16918         (intersect_caps_func), (gst_pad_query_position),
16919         (gst_pad_query_convert):
16920         * gst/gstutils.h:
16921         * tools/gst-inspect.c: (print_pad_info):
16922         * tools/gst-xmlinspect.c: (print_element_info):
16923         Remove old query functions. Ported old code.
16924         Added position/convert helper functions to gstutils.
16925         Reordered gstpad.c code, grouping relevant things.
16926         Remove gst_message_new(), always need to speficy a specific
16927         message.
16928
16929
16930 2005-05-09  Andy Wingo  <wingo@pobox.com>
16931
16932         * gst/gstiterator.h: Add some includes.
16933
16934         * gst/gstqueryutils.h: Include more headers.
16935
16936         * gst/gstpad.h:
16937         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16938         some uses of gst_pad_query.
16939
16940         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16941         NULL out parameters.
16942         (gst_query_new_position): New proc, allocates a new position
16943         query.
16944
16945         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16946         gstqueryutils.c to the build.
16947
16948         * gst/gststructure.c (gst_structure_set_valist): Implement with
16949         the generic G_VALUE_COLLECT.
16950         
16951 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16952
16953         * gst/Makefile.am: (gst_headers):
16954         Added gstqueryutils.h to the list of headers to install, that was
16955         a 'nachty' move wingo :)
16956
16957 2005-05-06  Andy Wingo  <wingo@pobox.com>
16958
16959         * gst/gstquery.h
16960         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16961         GstData, init a memchunk.
16962         (standard_definitions): Add a few query types, deprecate a few.
16963         (gst_query_get_type): New proc.
16964         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16965         implementation.
16966         (gst_query_new_application, gst_query_get_structure): New public
16967         procs.
16968
16969         * docs/design/draft-query.txt: Removed LINKS from the query types,
16970         because all the rest can be dispatched to other pads -- seemed
16971         ugly to have a query that couldn't be dispatched. internal_links
16972         is fine as a pad method.
16973
16974         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16975         in gstpad.c, but maintain binary compatibility for the moment.
16976         Will fix before 0.9 is out.
16977
16978         * gst/gstqueryutils.c: 
16979         * gst/gstqueryutils.h: New files, implement 3 methods for each
16980         query type: parse_query, parse_response, and set. Probably need an
16981         allocator as well.
16982
16983         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16984
16985         * gst/elements/gstfilesink.c (gst_filesink_query2):
16986         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16987         query_types, and formats methods.
16988
16989         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16990         (gst_pad_set_query2_function): New functions.
16991         (gst_real_pad_init): Set query2_default as the default query2
16992         function. Basically just dispatches to internally linked pads.
16993
16994         Needs review!
16995         
16996         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16997         without using the atomic operations. Only one thread can possibly
16998         be accessing the data at this point. Changed so as to avoid
16999         gst_atomic operations.
17000
17001 2005-05-06  Wim Taymans  <wim@fluendo.com>
17002
17003         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
17004         Also set caps if we use the fallback buffer alloc.
17005
17006 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
17007
17008         * docs/gst/Makefile.am:
17009         * docs/gst/gstreamer-docs.sgml:
17010         * docs/gst/gstreamer-sections.txt:
17011         * docs/gst/tmpl/gstatomic.sgml:
17012         * docs/gst/tmpl/gstmemchunk.sgml:
17013         * testsuite/elements/struct_i386.h:
17014         * win32/GStreamer.vcproj:
17015         * win32/Makefile:
17016           Purge GstAtomic stuff from docs and win32 makefiles as well
17017
17018 2005-05-06  Wim Taymans  <wim@fluendo.com>
17019
17020         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
17021         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
17022         * gst/gstpad.c: (gst_pad_peer_get_caps):
17023         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
17024         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
17025         (gst_queue_src_activate), (gst_queue_change_state):
17026         * gst/gstqueue.h:
17027         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17028         (intersect_caps_func):
17029         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
17030         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
17031         Some fixes for the peer_get_caps() change.
17032
17033 2005-05-06  Wim Taymans  <wim@fluendo.com>
17034
17035         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17036         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
17037         (gst_basesink_activate):
17038         Actually do something with error codes returned from the push
17039         functions.
17040
17041 2005-05-06  Wim Taymans  <wim@fluendo.com>
17042
17043         * docs/design/part-element-sink.txt:
17044         * docs/design/part-element-source.txt:
17045         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17046         (gst_basesink_event), (gst_basesink_activate):
17047         * gst/base/gstbasesink.h:
17048         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
17049         (gst_basesrc_activate):
17050         * gst/base/gstbasesrc.h:
17051         * gst/gstelement.c: (gst_element_pads_activate):
17052         Some more documentation.
17053         Fixed scheduling decision in _pads_activate().
17054
17055 2005-05-05  Andy Wingo  <wingo@pobox.com>
17056
17057         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
17058         the test suite.
17059
17060 2005-05-05  Wim Taymans  <wim@fluendo.com>
17061
17062         * gst/base/Makefile.am:
17063         * gst/base/gstbasesink.h:
17064         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17065         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
17066         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
17067         (gst_collectpads_class_init), (gst_collectpads_init),
17068         (gst_collectpads_finalize), (gst_collectpads_new),
17069         (gst_collectpads_set_function), (gst_collectpads_add_pad),
17070         (find_pad), (gst_collectpads_remove_pad),
17071         (gst_collectpads_is_active), (gst_collectpads_collect),
17072         (gst_collectpads_collect_range), (gst_collectpads_start),
17073         (gst_collectpads_stop), (gst_collectpads_peek),
17074         (gst_collectpads_pop), (gst_collectpads_available),
17075         (gst_collectpads_read), (gst_collectpads_flush),
17076         (gst_collectpads_chain):
17077         * gst/base/gstcollectpads.h:
17078         * gst/elements/Makefile.am:
17079         * gst/elements/gstelements.c:
17080         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17081         (gst_fakesink_get_times), (gst_fakesink_event),
17082         (gst_fakesink_preroll), (gst_fakesink_render):
17083         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17084         (gst_filesink_init), (gst_filesink_set_location),
17085         (gst_filesink_open_file), (gst_filesink_close_file),
17086         (gst_filesink_pad_query), (gst_filesink_event),
17087         (gst_filesink_render), (gst_filesink_change_state):
17088         * gst/elements/gstfilesink.h:
17089         Added object to help in making collect pad based elements.
17090         Ported filesink.
17091         Make event function in sink baseclass return gboolean.
17092
17093 2005-05-05  Wim Taymans  <wim@fluendo.com>
17094
17095         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
17096         (gst_bin_get_by_name):
17097         * gst/gstbuffer.h:
17098         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
17099         (gst_clock_finalize):
17100         * gst/gstdata.c: (gst_data_replace):
17101         * gst/gstdata.h:
17102         * gst/gstelement.c: (gst_element_request_pad),
17103         (gst_element_pads_activate):
17104         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
17105         (gst_object_unref):
17106         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17107         (gst_pad_set_checkgetrange_function),
17108         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
17109         (gst_pad_check_pull_range), (gst_pad_pull_range),
17110         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17111         (gst_pad_pause_task), (gst_pad_stop_task):
17112         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17113         (gst_element_request_pad), (gst_pad_proxy_getcaps):
17114         Fix name lookup in GstBin.
17115         Added _data_replace() function and _buffer_replace()
17116         Use finalize method to clean up clock.
17117         Fix refcounting on request pads.
17118         Fix pad schedule mode error.
17119         Some more object refcounting debug info,
17120
17121
17122 2005-05-04  Andy Wingo <wingo@pobox.com>
17123
17124         * check/Makefile.am:
17125         * docs/gst/tmpl/gstatomic.sgml:
17126         * docs/gst/tmpl/gstplugin.sgml:
17127         * gst/base/gstbasesink.c: (gst_basesink_activate):
17128         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
17129         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
17130         (gst_basesrc_query), (gst_basesrc_set_property),
17131         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
17132         (gst_basesrc_activate):
17133         * gst/base/gstbasesrc.h:
17134         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
17135         (gst_base_transform_src_activate):
17136         * gst/elements/gstelements.c:
17137         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17138         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17139         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17140         * gst/elements/gsttypefindelement.c: (find_element_get_length),
17141         (gst_type_find_element_checkgetrange),
17142         (gst_type_find_element_activate):
17143         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
17144         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
17145         (gst_caps_load_thyself):
17146         * gst/gstelement.c: (gst_element_pads_activate),
17147         (gst_element_save_thyself), (gst_element_restore_thyself):
17148         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
17149         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
17150         * gst/gstpad.h:
17151         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
17152         (gst_xml_parse_file), (gst_xml_parse_memory),
17153         (gst_xml_get_element), (gst_xml_make_element):
17154         * gst/indexers/gstfileindex.c: (gst_file_index_load),
17155         (_file_index_id_save_xml), (gst_file_index_commit):
17156         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
17157         (read_enum), (load_pad_template), (load_feature), (load_plugin),
17158         (load_paths):
17159         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
17160         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
17161         * tools/gst-complete.c: (main):
17162         * tools/gst-compprep.c: (main):
17163         * tools/gst-inspect.c: (print_element_properties_info):
17164         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
17165         * tools/gst-xmlinspect.c: (print_element_properties):
17166         GCC 4 fixen.
17167         
17168 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
17169
17170         * gst/gstplugin.c: (gst_plugin_check_module),
17171         (gst_plugin_check_file), (gst_plugin_load_file):
17172             apply patch from #172526 to make register work on MacOSX
17173
17174 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17175
17176         * docs/gst/tmpl/gstconfig.sgml:
17177         * gst/gstconfig.h.in:
17178           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
17179         * testsuite/debug/printf_extension.c: (main):
17180           Do not use GST_PTR_FORMAT on pointers to types with
17181           sizeof < sizeof(gpointer).  Fixes test on 64-bit
17182         * testsuite/elements/property.h:
17183           use correct printf format
17184
17185 2005-05-02  Wim Taymans  <wim@fluendo.com>
17186
17187         * docs/design/draft-push-pull.txt:
17188         * docs/design/draft-query.txt:
17189         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
17190         (gst_basesrc_start):
17191         Added draft for new query API.
17192         Added draft for better selecting scheduling methods.
17193         Make basesrc ignore length if the subclass does not support
17194         it.
17195
17196 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17197
17198         * gst/Makefile.am:
17199           possible fixes for automake-1.5 - _LIBADD is reserved
17200
17201 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17202
17203         * docs/faq/Makefile.am:
17204         * docs/manual/Makefile.am:
17205         * docs/manuals.mak:
17206         * docs/pwg/Makefile.am:
17207         * gst/Makefile.am:
17208           possible fixes for automake-1.5
17209
17210 2005-04-28  Wim Taymans  <wim@fluendo.com>
17211
17212         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17213         (gst_basesink_pad_getcaps), (gst_basesink_init),
17214         (gst_basesink_do_sync):
17215         * gst/gstclock.c: (gst_clock_entry_new):
17216         * gst/gstevent.c: (gst_event_discont_get_value):
17217         * gst/gstpipeline.c: (pipeline_bus_handler),
17218         (gst_pipeline_change_state):
17219         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17220         Better debugging of clocking info.
17221         Allow NULL values when getting discont values.
17222
17223 2005-04-27  Wim Taymans  <wim@fluendo.com>
17224
17225         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17226         * check/gst/gstpad.c: (gst_pad_suite):
17227         Increase timeout for checks.
17228
17229 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17230
17231         * check/Makefile.am:
17232           fix the broken rule for cleanup.  Apparently this rule is
17233           only needed on FC2, so maybe this warrants further autotool
17234           inspection.
17235
17236 2005-04-26  Wim Taymans  <wim@fluendo.com>
17237
17238         * gst/gsttrashstack.h:
17239         Ooohh. a nasty one! After having a failed pop() from the stack,
17240         it's possible that the stack is empty. In that case, don't
17241         follow the NULL pointer.
17242
17243 2005-04-25  Wim Taymans  <wim@fluendo.com>
17244
17245         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17246         (gst_pad_set_checkgetrange_function),
17247         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
17248         (gst_pad_check_pull_range), (gst_pad_pull_range),
17249         (gst_static_pad_template_get_caps), (gst_pad_start_task),
17250         (gst_pad_pause_task), (gst_pad_stop_task):
17251         * gst/gstplugin.c: (gst_plugin_load):
17252         * gst/gstplugin.h:
17253         Remove gst_library_load as it does more harm than good with
17254         the new g_module flags.
17255         Revert bogus caps template check in pad linking, pad caps
17256         are important when linking not the template, which is more
17257         general than the current caps.
17258
17259 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17260
17261         * gst/autoplug/.cvsignore:
17262         * gst/autoplug/Makefile.am:
17263         * gst/autoplug/gstsearchfuncs.c:
17264         * gst/autoplug/gstsearchfuncs.h:
17265         * gst/autoplug/gstspider.c:
17266         * gst/autoplug/gstspider.h:
17267         * gst/autoplug/gstspideridentity.c:
17268         * gst/autoplug/gstspideridentity.h:
17269         * gst/autoplug/spidertest.c:
17270           Die, spider, die.
17271
17272 2005-04-25  Wim Taymans  <wim@fluendo.com>
17273
17274         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17275         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17276         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
17277         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
17278         * gst/gstpad.h:
17279         Added stubs for unimplemented functions. 
17280
17281 2005-04-24  David Schleef  <ds@schleef.org>
17282
17283         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
17284         please fix.
17285
17286 2005-04-24  David Schleef  <ds@schleef.org>
17287
17288         Convert everything from GstAtomicInt to g_atomic_int_*, and
17289         remove gstatomic.
17290         * gst/Makefile.am:
17291         * gst/gstatomic.c:
17292         * gst/gstatomic.h:
17293         * gst/gstatomic_impl.h:
17294         * gst/gstbuffer.c:
17295         * gst/gstcaps.c:
17296         * gst/gstcaps.h:
17297         * gst/gstclock.c:
17298         * gst/gstclock.h:
17299         * gst/gstdata.c:
17300         * gst/gstdata.h:
17301         * gst/gstdata_private.h:
17302         * gst/gstevent.c:
17303         * gst/gstinfo.c:
17304         * gst/gstinfo.h:
17305         * gst/gstmessage.c:
17306         * gst/gstobject.c:
17307         * gst/gstobject.h:
17308         * gst/gststructure.c:
17309         * gst/gststructure.h:
17310         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
17311         * gst/gstutils.h:
17312
17313 2005-04-24  David Schleef  <ds@schleef.org>
17314
17315         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
17316         make the regressions tests work.  Remove some code that is no
17317         longer true.
17318         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
17319         Disable warning for pads without templates.
17320
17321 2005-04-24  David Schleef  <ds@schleef.org>
17322
17323         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
17324         functions that handle filtered links.
17325         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
17326         removed functions.
17327         * gst/gstutils.c: Fix/remove utility functions that handle
17328         filtered caps.
17329         * gst/gstutils.h:
17330         * gst/gstvalue.c: Add serialization/deserialization of caps
17331         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
17332         requires fixing so that the filter caps notation creates
17333         a capsfilter element and sets the filter_caps property.  I
17334         think everyone probably wants to keep the shorthand notation.
17335         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
17336         * docs/gst/tmpl/gstpad.sgml:
17337
17338         * gst/elements/gstelements.c: Register capsfilter element.
17339         * gst/Makefile.am: fix spacing
17340         * docs/random/ds/0.9-suggested-changes: random
17341
17342 2005-04-23  David Schleef  <ds@schleef.org>
17343
17344         * gst/elements/Makefile.am:
17345         * gst/elements/gstcapsfilter.c: New element that acts like an
17346         identity, but filters caps.  Will eventually replace filtered
17347         caps in pad linking.
17348         * gst/gstutils.c: (gst_element_create_all_pads): New function
17349         to create all the ALWAYS pads that are registered with an
17350         element class.  This functionality should eventually be
17351         merged in with GstElement initialization.
17352         * gst/gstutils.h:
17353         * testsuite/trigger/README: part of trigger test code that should
17354         have been checked in a long time ago.
17355
17356 2005-04-23  David Schleef  <ds@schleef.org>
17357
17358         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
17359         needed with new versions of libtool (nobody will confirm this),
17360         and hard to carry around.
17361         * gst/autoplug/Makefile.am:
17362         * gst/base/Makefile.am:
17363         * gst/elements/Makefile.am:
17364         * gst/indexers/Makefile.am:
17365         * gst/schedulers/Makefile.am:
17366         * libs/gst/bytestream/Makefile.am:
17367         * libs/gst/control/Makefile.am:
17368         * libs/gst/dataprotocol/Makefile.am:
17369         * libs/gst/getbits/Makefile.am:
17370
17371 2005-04-21  Wim Taymans  <wim@fluendo.com>
17372
17373         * docs/design/draft-push-pull.txt:
17374         * docs/design/part-MT-refcounting.txt:
17375         * docs/design/part-TODO.txt:
17376         * docs/design/part-caps.txt:
17377         * docs/design/part-events.txt:
17378         * docs/design/part-gstbus.txt:
17379         * docs/design/part-gstpipeline.txt:
17380         * docs/design/part-messages.txt:
17381         * docs/design/part-push-pull.txt:
17382         * docs/design/part-query.txt:
17383         Some more docs.
17384
17385 2005-04-21  Wim Taymans  <wim@fluendo.com>
17386
17387         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
17388         (gst_message_new), (gst_message_new_error),
17389         (gst_message_new_warning), (gst_message_new_tag),
17390         (gst_message_new_state_changed), (gst_message_new_application),
17391         (gst_message_get_structure):
17392         * gst/gstmessage.h:
17393         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17394         (gst_structure_copy_conditional):
17395         Use parent refcount in GstMessage to ensure GstStructure
17396         consistency.
17397         Cleaned up headers a bit.
17398         
17399
17400 2005-04-20  Wim Taymans  <wim@fluendo.com>
17401
17402         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17403         (gst_basesink_pad_getcaps), (gst_basesink_init),
17404         (gst_basesink_chain_unlocked):
17405         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
17406         (gst_type_find_helper):
17407         * gst/elements/gsttypefindelement.c:
17408         (gst_type_find_element_have_type), (gst_type_find_element_init),
17409         (stop_typefinding), (gst_type_find_element_handle_event),
17410         (find_suggest), (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/gstbuffer.c: (_gst_buffer_sub_free),
17415         (gst_buffer_default_free), (gst_buffer_default_copy),
17416         (gst_buffer_set_caps):
17417         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
17418         (gst_caps_replace):
17419         * gst/gstmessage.c: (gst_message_new),
17420         (gst_message_new_state_changed):
17421         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17422         (gst_pad_set_checkgetrange_function),
17423         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
17424         (gst_pad_set_caps), (gst_pad_check_pull_range),
17425         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
17426         * gst/gstpad.h:
17427         * gst/gsttypefind.c: (gst_type_find_register):
17428         Make gst_caps_replace() work like other _replace() functions.
17429         Use _caps_replace() where possible.
17430         Make sure _message_new() initialises its field.
17431         Add gst_static_pad_template_get_caps()
17432
17433
17434 2005-04-18  Andy Wingo  <wingo@pobox.com>
17435
17436         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
17437         on the peer, not the pad. I think that was a typo. Pass an extra
17438         arg to see if random access is possible. Activate the pads as
17439         PULL_RANGE if possible.
17440
17441         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
17442
17443         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
17444         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
17445         to PROP_....
17446
17447 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17448
17449         * docs/faq/using.xml:
17450           Add note on gstreamer-properties (#154996).
17451
17452 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17453
17454         * docs/random/bbb/optional-properties:
17455           Some analysis on optional properties.
17456
17457 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17458
17459         * docs/gst/tmpl/gstelementfactory.sgml:
17460         * gst/gstelement.h:
17461         * gst/gstelementfactory.c: (gst_element_factory_init),
17462         (gst_element_factory_cleanup), (gst_element_register),
17463         (__gst_element_factory_add_static_pad_template),
17464         (gst_element_factory_get_static_pad_templates),
17465         (gst_element_factory_can_src_caps),
17466         (gst_element_factory_can_sink_caps):
17467         * gst/registries/Makefile.am:
17468         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
17469         (gst_xml_registry_class_init), (gst_xml_registry_init),
17470         (gst_xml_registry_new), (gst_xml_registry_set_property),
17471         (gst_xml_registry_get_property), (get_time), (make_dir),
17472         (gst_xml_registry_get_perms_func),
17473         (plugin_times_older_than_recurse), (plugin_times_older_than),
17474         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
17475         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
17476         (add_to_char_array), (read_string), (read_uint), (read_enum),
17477         (load_pad_template), (load_feature), (load_plugin), (load_paths),
17478         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
17479         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
17480         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
17481         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
17482         (gst_xml_registry_rebuild):
17483         * gst/registries/gstlibxmlregistry.h:
17484         * tools/gst-compprep.c: (main):
17485         * tools/gst-inspect.c: (print_pad_templates_info):
17486         * tools/gst-xmlinspect.c: (print_element_info):
17487           Use libxml2 for registry parsing, use staticpadtemplates in
17488           elementfactories. Makes gst_init() +/- 10x faster.
17489
17490 2005-04-12  Wim Taymans  <wim@fluendo.com>
17491
17492         * gst/base/Makefile.am:
17493         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17494         (gst_basesink_pad_getcaps), (gst_basesink_init),
17495         (gst_basesink_event), (gst_basesink_change_state):
17496         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17497         (gst_basesrc_init), (gst_basesrc_query),
17498         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17499         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17500         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17501         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17502         (gst_basesrc_stop), (gst_basesrc_activate),
17503         (gst_basesrc_change_state):
17504         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17505         (helper_find_suggest), (gst_type_find_helper):
17506         * gst/base/gsttypefindhelper.h:
17507         * gst/elements/Makefile.am:
17508         * gst/elements/gstelements.c:
17509         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17510         (gst_fakesink_get_times), (gst_fakesink_event),
17511         (gst_fakesink_preroll), (gst_fakesink_render):
17512         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17513         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17514         (gst_fakesrc_get_property), (gst_fakesrc_create),
17515         (gst_fakesrc_start), (gst_fakesrc_stop):
17516         * gst/elements/gstfakesrc.h:
17517         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17518         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17519         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17520         (gst_filesrc_create_read), (gst_filesrc_create),
17521         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17522         (gst_filesrc_start):
17523         * gst/elements/gsttypefindelement.c:
17524         (gst_type_find_element_have_type), (gst_type_find_element_init),
17525         (start_typefinding), (stop_typefinding), (push_buffer_store),
17526         (gst_type_find_element_handle_event),
17527         (gst_type_find_element_chain),
17528         (gst_type_find_element_checkgetrange),
17529         (gst_type_find_element_getrange), (do_typefind),
17530         (gst_type_find_element_activate),
17531         (gst_type_find_element_change_state):
17532         * gst/elements/gsttypefindelement.h:
17533         * gst/gstpipeline.c: (pipeline_bus_handler):
17534         Added typefind helper.
17535         Small preroll fix in the base sink.
17536         Disable typefind code in basesrc.
17537         Crude port of typefindelement.
17538         Fakesrc cleanups.
17539
17540
17541 2005-04-11  Wim Taymans  <wim@fluendo.com>
17542
17543         * check/gst/gstbus.c: (gstbus_suite):
17544         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17545         * check/gstcheck.h:
17546           Fix up the timeout so that the test does not fail.
17547
17548 2005-04-06  Wim Taymans  <wim@fluendo.com>
17549
17550         * gst/base/README:
17551         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17552         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17553         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17554         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17555         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17556         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17557         (gst_basesrc_stop), (gst_basesrc_activate),
17558         (gst_basesrc_change_state), (basesrc_find_peek),
17559         (basesrc_find_suggest), (gst_basesrc_type_find):
17560         * gst/base/gstbasesrc.h:
17561         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17562         (gst_filesrc_class_init), (gst_filesrc_init),
17563         (gst_filesrc_finalize), (gst_filesrc_set_location),
17564         (gst_filesrc_set_property), (gst_filesrc_get_property),
17565         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17566         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17567         (gst_filesrc_create_read), (gst_filesrc_create),
17568         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17569         * gst/elements/gstfilesrc.h:
17570         * gst/gstelement.c: (gst_element_get_state_func),
17571         (gst_element_lost_state), (gst_element_pads_activate):
17572         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17573         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17574         (gst_pad_pull_range):
17575         * gst/gstpad.h:
17576         More work on the generic source base class, implement seeking,
17577         query.
17578         Make filesrc extend the base source class.
17579         Added gst_pad_set_checkgetrange_function to GstPad.
17580
17581 2005-04-06  Andy Wingo  <wingo@pobox.com>
17582
17583         * pkgconfig/gstreamer-base.pc.in:
17584         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17585
17586         * pkgconfig/Makefile.am:
17587         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17588
17589 2005-04-04  Wim Taymans  <wim@fluendo.com>
17590
17591         * gst/base/Makefile.am:
17592         * gst/base/README:
17593         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17594         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17595         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17596         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17597         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17598         (gst_basesrc_base_init), (gst_basesrc_class_init),
17599         (gst_basesrc_init), (gst_basesrc_get_formats),
17600         (gst_basesrc_get_query_types), (gst_basesrc_query),
17601         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17602         (gst_basesrc_set_property), (gst_basesrc_get_property),
17603         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17604         (gst_basesrc_loop), (gst_basesrc_activate),
17605         (gst_basesrc_change_state):
17606         * gst/base/gstbasesrc.h:
17607         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17608         (gst_fakesrc_class_init), (gst_fakesrc_init),
17609         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17610         (gst_fakesrc_get_property), (gst_fakesrc_create):
17611         * gst/elements/gstfakesrc.h:
17612         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17613         (gst_filesrc_open_file), (gst_filesrc_loop),
17614         (gst_filesrc_activate), (filesrc_find_peek),
17615         (gst_filesrc_type_find):
17616         Made base source class, make fakesrc extend it.
17617         Add comments to basesink class.
17618         Some filesrc cleanup.
17619
17620 2005-03-31  David Schleef  <ds@schleef.org>
17621
17622         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17623         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17624         expected to link against libgstreamer.
17625         * gst/base/Makefile.am: link against libgstreamer
17626         * gst/elements/Makefile.am: same
17627
17628 2005-03-31  Andy Wingo  <wingo@pobox.com>
17629
17630         * tests/instantiate/Makefile.am:
17631         * tests/instantiate/caps.c: Add test to test speed of caps copy
17632         and free.
17633
17634         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17635         GMemChunk to be fair.
17636
17637         * gst/gsttrashstack.h: Remove warning about using the fallback
17638         trash stack implementation, it's still faster than malloc.
17639
17640 2005-03-30  Andy Wingo  <wingo@pobox.com>
17641
17642         * tests/complexity.c: Add a copyright.
17643
17644 2005-03-31  Wim Taymans  <wim@fluendo.com>
17645
17646         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17647         (gst_base_transform_class_init), (gst_base_transform_init),
17648         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17649         (gst_base_transform_get_property),
17650         (gst_base_transform_sink_activate),
17651         (gst_base_transform_src_activate),
17652         (gst_base_transform_change_state):
17653         * gst/base/gstbasetransform.h:
17654         * gst/elements/gstidentity.c: (gst_identity_class_init),
17655         (gst_identity_event), (gst_identity_check_perfect),
17656         (gst_identity_transform), (gst_identity_start),
17657         (gst_identity_stop):
17658         Added start/stop methods to transform base class so subclasses 
17659         don't need to deal with state changes even.
17660
17661 2005-03-31  Wim Taymans  <wim@fluendo.com>
17662
17663         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17664         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17665         * gst/gstevent.h:
17666         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17667         (gst_pad_pull_range):
17668         Added rate to the discont event to prepare for variable speed
17669         and reverse playback.
17670
17671 2005-03-29  David Schleef  <ds@schleef.org>
17672
17673         * configure.ac:
17674         * testsuite/trigger/Makefile.am:
17675         * testsuite/trigger/trigger.c: A little example program to show
17676         how trigger-based elements can work.
17677
17678 2005-03-29  Wim Taymans  <wim@fluendo.com>
17679
17680         * gst/base/Makefile.am:
17681         * gst/base/README:
17682         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17683         (gst_basesink_base_init), (gst_basesink_class_init),
17684         (gst_basesink_pad_getcaps), (gst_basesink_init),
17685         (gst_basesink_activate), (gst_basesink_change_state):
17686         * gst/base/gstbasesink.h:
17687         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17688         (gst_base_transform_base_init), (gst_base_transform_finalize),
17689         (gst_base_transform_class_init), (gst_base_transform_init),
17690         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17691         (gst_base_transform_event), (gst_base_transform_getrange),
17692         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17693         (gst_base_transform_set_property),
17694         (gst_base_transform_get_property),
17695         (gst_base_transform_sink_activate),
17696         (gst_base_transform_src_activate),
17697         (gst_base_transform_change_state):
17698         * gst/base/gstbasetransform.h:
17699         * gst/elements/gstidentity.c: (gst_identity_finalize),
17700         (gst_identity_class_init), (gst_identity_init),
17701         (gst_identity_event), (gst_identity_check_perfect),
17702         (gst_identity_transform), (gst_identity_set_property),
17703         (gst_identity_get_property), (gst_identity_change_state):
17704         * gst/elements/gstidentity.h:
17705         * gst/gstelement.c: (gst_element_get_state_func),
17706         (gst_element_lost_state), (gst_element_pads_activate):
17707         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17708         (gst_pad_check_pull_range), (gst_pad_pull_range):
17709         * gst/gstpad.h:
17710         Simplify pad activation.
17711         Added function to check if pull_range can be performed.
17712         Error out when pulling inactive or flushing pads.
17713         Removed const from refcounted types as it does not make sense.
17714         Simplify pad templates in basesink
17715         Added base class for simple 1-to-1 transforms.
17716         Make identity subclass the base transform.
17717
17718 2005-03-29  Andy Wingo  <wingo@pobox.com>
17719
17720         * docs/libs/gstreamer-libs-overrides.txt: 
17721         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17722         really don't understand what's going on, but like whatever. I want
17723         green buildbot!
17724
17725         * docs/gst/Makefile.am:
17726         * docs/libs/Makefile.am: Dist the overrides files.
17727
17728         * check/Makefile.am (clean-local): Remove .libs directories.
17729
17730         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17731         elements to EXTRA_DIST, so po/ files are happy.
17732
17733         * po/POTFILES.in: Er, remove it here.
17734
17735         * po/POTFILES: Remove gstspider.c.
17736
17737         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17738
17739         * docs/libs/gstreamer-libs-docs.sgml: 
17740         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17741         bytestream.
17742
17743         * tests/complexity.c (main): Set the length of the preroll queue
17744         on the sinks to prevent a lockup.
17745
17746         * libs/gst/dataprotocol/Makefile.am: 
17747         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17748         the same as the one in check/gst-libs/gdp.c.
17749
17750         * po/, docs/gst/: Commit automatic changes to docs and po files.
17751
17752         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17753         the versioned libgstbase.
17754
17755         * check/Makefile.am: Depend on an unversioned gst-register, seems
17756         to make autoconf happier.
17757
17758         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17759
17760 2005-03-28  Wim Taymans  <wim@fluendo.com>
17761
17762         * configure.ac:
17763         * docs/design/part-gstelement.txt:
17764         * docs/design/part-negotiation.txt:
17765         * docs/design/part-preroll.txt:
17766         * docs/design/part-scheduling.txt:
17767         * docs/design/part-states.txt:
17768         * gst/Makefile.am:
17769         * gst/base/Makefile.am:
17770         * gst/base/README:
17771         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17772         (gst_basesink_base_init), (gst_basesink_class_init),
17773         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17774         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17775         (gst_basesink_set_pad_functions),
17776         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17777         (gst_basesink_set_property), (gst_basesink_get_property),
17778         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17779         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17780         (gst_basesink_preroll_queue_push),
17781         (gst_basesink_preroll_queue_empty),
17782         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17783         (gst_basesink_event), (gst_basesink_get_times),
17784         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17785         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17786         (gst_basesink_loop), (gst_basesink_activate),
17787         (gst_basesink_change_state):
17788         * gst/base/gstbasesink.h:
17789         * gst/elements/Makefile.am:
17790         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17791         (gst_fakesink_class_init), (gst_fakesink_init),
17792         (gst_fakesink_set_property), (gst_fakesink_get_property),
17793         (gst_fakesink_get_times), (gst_fakesink_event),
17794         (gst_fakesink_preroll), (gst_fakesink_render),
17795         (gst_fakesink_change_state):
17796         * gst/elements/gstfakesink.h:
17797         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17798         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17799         * gst/gstelement.c: (gst_element_add_pad),
17800         (gst_element_get_state_func), (gst_element_abort_state),
17801         (gst_element_commit_state), (gst_element_lost_state),
17802         (gst_element_set_state), (gst_element_pads_activate):
17803         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17804         * gst/gstpipeline.c: (gst_pipeline_send_event),
17805         (gst_pipeline_change_state):
17806         Added state change code.
17807         Added/updated docs.
17808         Added sink base class, make fakesink extend the base class.
17809         Small cleanups in GstPipeline.
17810
17811 2005-03-26  David Schleef  <ds@schleef.org>
17812
17813         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17814         is broken and should be implemented in a different library.
17815         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17816         * gst/gst.h: remove gstcpu.h
17817         * gst/gstcpu.c: remove
17818         * gst/gstcpu.h: remove
17819         * gst/Makefile.am.future: Remove this file.  It's ancient.
17820
17821 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17822
17823         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17824         (gst_bin_send_event):
17825           Add default event/set_manager handlers. The set_manager handler
17826           takes care that the manager is distributed over kids that were
17827           already in the bin before the manager was set. The event handler
17828           is a utility virtual function that sends the event over all sinks,
17829           so that gst_element_send_event (bin, event); has the expected
17830           behaviour.
17831         * gst/gstpad.c: (gst_pad_event_default):
17832           Re-install default event handling for discontinuities, so that
17833           seeking works without requiring hacks in applications or extra
17834           code in sinks.
17835         * gst/gstpipeline.c: (gst_pipeline_class_init),
17836         (gst_pipeline_send_event):
17837           Half hack, half utility: set a pipeline to PAUSED for seek events,
17838           since that is the only way we can guarantee a/v sync. Means that
17839           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17840           and it "just works".
17841
17842 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17843
17844         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17845           Lock/unlock mismatch.
17846
17847 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17848
17849         * docs/faq/gst-uninstalled:
17850           add gst-plugins-base
17851         * docs/gst/Makefile.am:
17852           don't error out until docs are fixed
17853         * docs/gst/gstreamer.types:
17854           remove thread
17855
17856 2005-03-22  Wim Taymans  <wim@fluendo.com>
17857
17858         * check/Makefile.am:
17859         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17860         * gst/gststructure.c: (gst_structure_set_valist),
17861         (gst_structure_copy_conditional):
17862         Activated more tests.
17863         Added message test.
17864         Added G_TYPE_POINTER to GstStructure.
17865         
17866
17867 2005-03-22  Wim Taymans  <wim@fluendo.com>
17868
17869         * docs/design/part-TODO.txt:
17870         * docs/design/part-events.txt:
17871         * docs/design/part-gstbin.txt:
17872         * docs/design/part-gstbus.txt:
17873         * docs/design/part-gstpipeline.txt:
17874         * docs/design/part-messages.txt:
17875         * gst/gstbus.c:
17876         * gst/gstmessage.c:
17877         Docs updates
17878
17879 2005-03-21  Wim Taymans  <wim@fluendo.com>
17880
17881         * gst/gstbus.c: (gst_bus_post):
17882         Fix copy-and-paste error.
17883
17884 2005-03-21  Wim Taymans  <wim@fluendo.com>
17885
17886         * check/Makefile.am:
17887         * gst/Makefile.am:
17888         * gst/elements/Makefile.am:
17889         * gst/elements/gstelements.c:
17890         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17891         (gst_fakesink_event), (gst_fakesink_chain):
17892         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17893         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17894         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17895         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17896         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17897         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17898         (gst_fakesrc_loop), (gst_fakesrc_activate),
17899         (gst_fakesrc_change_state):
17900         * gst/elements/gstfakesrc.h:
17901         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17902         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17903         (gst_filesrc_open_file), (gst_filesrc_loop),
17904         (gst_filesrc_activate), (gst_filesrc_change_state),
17905         (filesrc_find_peek), (filesrc_find_suggest),
17906         (gst_filesrc_type_find):
17907         * gst/elements/gstidentity.c: (gst_identity_finalize),
17908         (gst_identity_class_init), (gst_identity_init),
17909         (gst_identity_proxy_getcaps), (identity_queue_push),
17910         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17911         (gst_identity_getrange), (gst_identity_chain),
17912         (gst_identity_sink_loop), (gst_identity_src_loop),
17913         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17914         (gst_identity_set_property), (gst_identity_get_property),
17915         (gst_identity_change_state):
17916         * gst/elements/gstidentity.h:
17917         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17918         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17919         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17920         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17921         (gst_tee_sink_activate):
17922         * gst/elements/gsttee.h:
17923         * gst/gst.c: (gst_register_core_elements), (init_post):
17924         * gst/gst.h:
17925         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17926         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17927         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17928         (gst_bin_change_state):
17929         * gst/gstbin.h:
17930         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17931         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17932         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17933         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17934         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17935         (bus_watch_callback), (bus_watch_destroy),
17936         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17937         (poll_timeout), (gst_bus_poll):
17938         * gst/gstbus.h:
17939         * gst/gstcaps.h:
17940         * gst/gstdata.h:
17941         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17942         (gst_element_post_message), (gst_element_message_full),
17943         (gst_element_get_state_func), (gst_element_get_state),
17944         (gst_element_abort_state), (gst_element_commit_state),
17945         (gst_element_lost_state), (gst_element_set_state),
17946         (gst_element_pads_activate), (gst_element_change_state),
17947         (gst_element_dispose), (gst_element_set_manager_func),
17948         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17949         (gst_element_set_manager), (gst_element_get_manager),
17950         (gst_element_set_bus), (gst_element_get_bus),
17951         (gst_element_set_scheduler), (gst_element_get_scheduler):
17952         * gst/gstelement.h:
17953         * gst/gstevent.c: (gst_event_new_segment_seek),
17954         (gst_event_new_flush):
17955         * gst/gstevent.h:
17956         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17957         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17958         (gst_message_new_eos), (gst_message_new_error),
17959         (gst_message_new_warning), (gst_message_new_tag),
17960         (gst_message_new_state_changed), (gst_message_new_application),
17961         (gst_message_get_structure), (gst_message_parse_tag),
17962         (gst_message_parse_state_changed), (gst_message_parse_error),
17963         (gst_message_parse_warning):
17964         * gst/gstmessage.h:
17965         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17966         (gst_real_pad_set_property), (gst_pad_set_active),
17967         (gst_pad_is_active), (gst_pad_set_blocked_async),
17968         (gst_pad_set_blocked), (gst_pad_is_blocked),
17969         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17970         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17971         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17972         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17973         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17974         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17975         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17976         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17977         (gst_pad_set_caps), (gst_pad_configure_sink),
17978         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17979         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17980         (gst_real_pad_dispose), (gst_real_pad_finalize),
17981         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17982         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17983         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17984         * gst/gstpad.h:
17985         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17986         (pipeline_bus_handler), (gst_pipeline_change_state),
17987         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17988         * gst/gstpipeline.h:
17989         * gst/gstprobe.h:
17990         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17991         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17992         (gst_queue_link_src), (gst_queue_bufferalloc),
17993         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17994         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17995         (gst_queue_loop), (gst_queue_handle_src_event),
17996         (gst_queue_handle_src_query), (gst_queue_src_activate),
17997         (gst_queue_change_state):
17998         * gst/gstqueue.h:
17999         * gst/gstscheduler.c: (gst_scheduler_init),
18000         (gst_scheduler_dispose), (gst_scheduler_create_task),
18001         (gst_scheduler_factory_create):
18002         * gst/gstscheduler.h:
18003         * gst/gststructure.c: (gst_structure_get_type),
18004         (gst_structure_copy_conditional):
18005         * gst/gststructure.h:
18006         * gst/gsttaginterface.h:
18007         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18008         (gst_task_init), (gst_task_dispose), (gst_task_create),
18009         (gst_task_get_state), (gst_task_start), (gst_task_stop),
18010         (gst_task_pause):
18011         * gst/gsttask.h:
18012         * gst/gstthread.c:
18013         * gst/gstthread.h:
18014         * gst/gsttypes.h:
18015         * gst/schedulers/Makefile.am:
18016         * gst/schedulers/cothreads_compat.h:
18017         * gst/schedulers/entryscheduler.c:
18018         * gst/schedulers/faircothreads.c:
18019         * gst/schedulers/faircothreads.h:
18020         * gst/schedulers/fairscheduler.c:
18021         * gst/schedulers/gstbasicscheduler.c:
18022         * gst/schedulers/gstoptimalscheduler.c:
18023         * gst/schedulers/gthread-cothreads.h:
18024         * gst/schedulers/threadscheduler.c:
18025         (gst_thread_scheduler_task_get_type),
18026         (gst_thread_scheduler_task_class_init),
18027         (gst_thread_scheduler_task_init),
18028         (gst_thread_scheduler_task_start),
18029         (gst_thread_scheduler_task_stop),
18030         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
18031         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18032         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
18033         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
18034         (plugin_init):
18035         * libs/gst/Makefile.am:
18036         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
18037         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
18038         (gst_file_pad_parent_set):
18039         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18040         (gst_dp_event_from_packet):
18041         * tests/complexity.c: (main):
18042         * tests/mass_elements.c: (main):
18043         * testsuite/states/locked.c: (message_received), (main):
18044         * testsuite/states/parent.c: (main):
18045         * tools/gst-inspect.c: (print_element_flag_info),
18046         (print_implementation_info), (print_pad_info):
18047         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
18048         (main):
18049         * tools/gst-md5sum.c: (event_loop), (main):
18050         * tools/gst-typefind.c: (main):
18051         * tools/gst-xmlinspect.c: (print_element_info):
18052         Next big merge.
18053         Added GstBus for mainloop integration.
18054         Added GstMessage for sending notifications on the bus.
18055         Added GstTask as an abstraction for pipeline entry points.
18056         Removed GstThread.
18057         Removed Schedulers.
18058         Simplified GstQueue for multithreaded core.
18059         Made _link threadsafe, removed old capsnego.
18060         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
18061         Added pad blocking functions.
18062         Reworked scheduling functions in GstPad to prepare for
18063         scheduling updates soon.
18064         Moved events out of data stream.
18065         Simplified GstEvent types.
18066         Added return values to push/pull.
18067         Removed clocking from GstElement.
18068         Added prototypes for state change function for next merge.
18069         Removed iterate from bins and state change management.
18070         Fixed some elements, disabled others for now.
18071         Fixed -inspect and -launch.
18072         Added check for GstBus.
18073
18074 2005-03-10  Wim Taymans  <wim@fluendo.com>
18075
18076         * docs/design/part-MT-refcounting.txt:
18077         * docs/design/part-clocks.txt:
18078         * docs/design/part-gstelement.txt:
18079         * docs/design/part-gstobject.txt:
18080         * docs/design/part-standards.txt:
18081         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18082         (gst_bin_remove_func), (gst_bin_remove):
18083         * gst/gstbin.h:
18084         * gst/gstbuffer.c:
18085         * gst/gstcaps.h:
18086         * testsuite/clock/clock1.c: (main):
18087         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
18088         (main):
18089         * testsuite/dlopen/loadgst.c: (do_test):
18090         * testsuite/refcounting/bin.c: (add_remove_test1),
18091         (add_remove_test2), (main):
18092         * testsuite/refcounting/element.c: (main):
18093         * testsuite/refcounting/element_pad.c: (main):
18094         * testsuite/refcounting/pad.c: (main):
18095         * tools/gst-launch.c: (sigint_handler_sighandler):
18096         * tools/gst-typefind.c: (main):
18097         Doc updates.
18098         Added doc about clock.
18099         removed gst_bin_iterate_recurse_up(), marked methods
18100         for removal.
18101         Fix more testsuites.
18102
18103 2005-03-09  Wim Taymans  <wim@fluendo.com>
18104
18105         * gst/gstpad.c: (gst_pad_get_direction),
18106         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
18107         (gst_pad_collect_valist):
18108         * testsuite/bins/interface.c: (main):
18109         * testsuite/caps/audioscale.c: (test_caps):
18110         * testsuite/caps/caps.c: (test1), (test2), (test3):
18111         * testsuite/caps/deserialize.c: (main):
18112         * testsuite/caps/enumcaps.c: (main):
18113         * testsuite/caps/filtercaps.c: (main):
18114         * testsuite/caps/intersect2.c: (main):
18115         * testsuite/caps/random.c: (main):
18116         * testsuite/caps/renegotiate.c: (my_fixate), (main):
18117         * testsuite/caps/sets.c: (check_caps):
18118         * testsuite/caps/simplify.c: (check_caps), (main):
18119         * testsuite/caps/subtract.c: (check_caps):
18120         Fix _pad_get_direction wrt ghostpads.
18121         Fix caps testsuite.
18122
18123 2005-03-09  Wim Taymans  <wim@fluendo.com>
18124
18125         * check/Makefile.am:
18126         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
18127         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
18128         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
18129         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
18130         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
18131         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
18132         (gst_bin_remove), (gst_bin_iterate_recurse_up),
18133         (bin_element_is_sink), (gst_bin_iterate_sinks),
18134         (gst_bin_iterate_all_by_interface):
18135         * gst/gstbin.h:
18136         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
18137         (gst_element_change_state), (gst_element_dispose),
18138         (gst_element_finalize), (gst_element_set_loop_function):
18139         * gst/gstelement.h:
18140         * gst/gstiterator.c: (find_custom_fold_func):
18141         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18142         (gst_pad_collectv), (gst_pad_collect_valist),
18143         (gst_pad_template_new):
18144         * gst/gstpipeline.c: (gst_pipeline_class_init),
18145         (gst_pipeline_dispose), (gst_pipeline_set_property),
18146         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
18147         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
18148         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
18149         * gst/gstutils.h:
18150         * gst/schedulers/entryscheduler.c:
18151         * gst/schedulers/gstbasicscheduler.c:
18152         (gst_basic_scheduler_cothreaded_chain),
18153         (gst_basic_scheduler_chain_add_element):
18154         * testsuite/bins/interface.c: (main):
18155         Added GstBin test.
18156         Added GstSystemClock test.
18157         Implemented clock distribution code in GstBin.
18158         Implemented iterate sinks method for future use.
18159         Rearranged gstelement.h
18160         Fix GstIterator comparison bug.
18161         Moved some code to GstPipeline, mostly clocking related.
18162
18163 2005-03-09  Wim Taymans  <wim@fluendo.com>
18164
18165         * configure.ac:
18166         * gst/gst_private.h:
18167         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18168         (gst_bin_remove_func), (gst_bin_remove),
18169         (gst_bin_get_by_name_recurse_up):
18170         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
18171         (gst_clock_id_compare_func), (gst_clock_id_wait),
18172         (gst_clock_id_wait_async), (gst_clock_init),
18173         (gst_clock_adjust_unlocked), (gst_clock_get_time):
18174         * gst/gstelement.h:
18175         * gst/gstinfo.c: (_gst_debug_init):
18176         * gst/gstobject.h:
18177         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
18178         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
18179         * gst/gstpad.h:
18180         Bump version number, we're now 0.9.0
18181         Add future debugging category.
18182         Fix NULL _unref() in _get_by_name_recurse_up
18183         Rearrange gstpad.h.
18184         Update some docs.
18185
18186 2005-03-08  Wim Taymans  <wim@fluendo.com>
18187
18188         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
18189         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
18190         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18191         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
18192         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
18193         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
18194         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
18195         * gst/elements/gstidentity.c: (gst_identity_class_init):
18196         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
18197         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
18198         * gst/elements/gstshaper.c: (gst_shaper_class_init):
18199         * gst/elements/gststatistics.c: (gst_statistics_class_init):
18200         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
18201         (gst_tee_link):
18202         * gst/gstelement.c: (gst_element_class_init),
18203         (gst_element_base_class_init), (gst_element_init),
18204         (gst_element_get_random_pad), (gst_element_wait_state_change),
18205         (gst_element_change_state), (gst_element_dispose),
18206         (gst_element_finalize), (gst_element_set_loop_function):
18207         * gst/gstelement.h:
18208         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
18209         * gst/gstthread.c: (gst_thread_class_init),
18210         (gst_thread_release_children_locks), (gst_thread_change_state):
18211         * gst/schedulers/gstbasicscheduler.c:
18212         (gst_basic_scheduler_loopfunc_wrapper),
18213         (gst_basic_scheduler_chain_wrapper),
18214         (gst_basic_scheduler_src_wrapper),
18215         (gst_basic_scheduler_remove_element):
18216         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
18217         Remove threadsafe properties. Fix elements because GObject
18218         complains when installing a property before declaring a
18219         set/get_property handler.
18220         Rearrange gstelement.h file, use STATE macros for state locks.
18221         Free mutexes in the finalize method instead of dispose.
18222
18223 2005-03-08  Wim Taymans  <wim@fluendo.com>
18224
18225         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18226         * gst/gstthread.c: (gst_thread_release_children_locks):
18227         Added parentage check.
18228         Fix build og GstThread again.
18229
18230 2005-03-08  Wim Taymans  <wim@fluendo.com>
18231
18232         * docs/design/part-MT-refcounting.txt:
18233         * docs/design/part-conventions.txt:
18234         * docs/design/part-gstobject.txt:
18235         * docs/design/part-relations.txt:
18236         * docs/design/part-standards.txt:
18237         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
18238         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
18239         (gst_bin_get_by_name), (gst_bin_get_by_interface),
18240         (gst_bin_iterate_all_by_interface):
18241         * gst/gstbuffer.h:
18242         * gst/gstclock.h:
18243         * gst/gstelement.c: (gst_element_class_init),
18244         (gst_element_change_state), (gst_element_set_loop_function):
18245         * gst/gstelement.h:
18246         * gst/gstiterator.c:
18247         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
18248         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
18249         (gst_object_dispatch_properties_changed), (gst_object_set_name),
18250         (gst_object_set_parent), (gst_object_unparent),
18251         (gst_object_check_uniqueness):
18252         * gst/gstobject.h:
18253         Docs updates, clean up some headers.
18254
18255 2005-03-07  Wim Taymans  <wim@fluendo.com>
18256
18257         * check/.cvsignore:
18258         * check/Makefile.am:
18259         * check/gst-libs/.cvsignore:
18260         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
18261         * check/gst/.cvsignore:
18262         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
18263         (START_TEST), (gstbus_suite), (main):
18264         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
18265         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
18266         (gst_data_suite), (main):
18267         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
18268         (add_fold_func), (gstiterator_suite), (main):
18269         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
18270         (thread_name_object), (thread_name_object_default),
18271         (gst_object_name_compare), (gst_object_suite), (main):
18272         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
18273         (gst_pad_suite), (main):
18274         * check/gstcheck.c: (gst_check_log_message_func),
18275         (gst_check_log_critical_func), (gst_check_init):
18276         * check/gstcheck.h:
18277         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
18278         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
18279         Added checks.
18280
18281 2005-03-07  Wim Taymans  <wim@fluendo.com>
18282
18283         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
18284         (gst_list_iterator_next), (gst_list_iterator_resync),
18285         (gst_list_iterator_free), (gst_iterator_new_list),
18286         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
18287         (gst_iterator_free), (gst_iterator_push), (filter_next),
18288         (filter_resync), (filter_uninit), (filter_free),
18289         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
18290         (gst_iterator_foreach), (find_custom_fold_func),
18291         (gst_iterator_find_custom):
18292         * gst/gstiterator.h:
18293         Added missing files.
18294
18295 2005-03-07  Wim Taymans  <wim@fluendo.com>
18296
18297         * Makefile.am:
18298         * configure.ac:
18299         * docs/design/part-MT-refcounting.txt:
18300         * docs/design/part-conventions.txt:
18301         * docs/design/part-gstobject.txt:
18302         * docs/design/part-relations.txt:
18303         * examples/mixer/mixer.c: (main):
18304         * examples/thread/thread.c: (eos), (main):
18305         * gst/Makefile.am:
18306         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
18307         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
18308         (gst_spider_plug_from_srcpad):
18309         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
18310         (gst_spider_identity_change_state),
18311         (gst_spider_identity_sink_loop_type_finding):
18312         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
18313         * gst/elements/gstidentity.c: (gst_identity_init):
18314         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
18315         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
18316         * gst/elements/gsttypefindelement.c: (free_entry):
18317         * gst/gst.c:
18318         * gst/gst.h:
18319         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
18320         (gst_bin_set_clock_func), (gst_bin_auto_clock),
18321         (gst_bin_set_index), (gst_bin_set_element_sched),
18322         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
18323         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
18324         (gst_bin_iterate_elements), (iterate_child_recurse),
18325         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
18326         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
18327         (compare_interface), (gst_bin_get_by_interface),
18328         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
18329         * gst/gstbin.h:
18330         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
18331         (gst_buffer_default_free), (gst_buffer_default_copy),
18332         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
18333         (gst_buffer_create_sub):
18334         * gst/gstbuffer.h:
18335         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
18336         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
18337         (gst_caps_unref), (gst_static_caps_get),
18338         (gst_caps_remove_and_get_structure), (gst_caps_append),
18339         (gst_caps_append_structure), (gst_caps_remove_structure),
18340         (gst_caps_copy_nth), (gst_caps_set_simple),
18341         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
18342         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
18343         (gst_caps_structure_intersect_field), (gst_caps_intersect),
18344         (gst_caps_structure_subtract_field), (gst_caps_subtract),
18345         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
18346         (gst_caps_structure_figure_out_union),
18347         (gst_caps_switch_structures), (gst_caps_do_simplify),
18348         (gst_caps_replace), (gst_caps_from_string),
18349         (gst_caps_copy_conditional):
18350         * gst/gstcaps.h:
18351         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
18352         (_gst_clock_id_free), (gst_clock_id_unref),
18353         (gst_clock_id_compare_func), (gst_clock_id_wait),
18354         (gst_clock_id_wait_async), (gst_clock_class_init),
18355         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
18356         (gst_clock_get_time), (gst_clock_set_time_adjust),
18357         (gst_clock_set_property), (gst_clock_get_property):
18358         * gst/gstclock.h:
18359         * gst/gstcompat.h:
18360         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
18361         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
18362         * gst/gstdata.h:
18363         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
18364         (gst_element_requires_clock), (gst_element_provides_clock),
18365         (gst_element_set_clock), (gst_element_clock_wait),
18366         (gst_element_wait), (gst_element_set_time_delay),
18367         (gst_element_is_indexable), (gst_element_add_pad),
18368         (gst_element_add_ghost_pad), (gst_element_remove_pad),
18369         (pad_compare_name), (gst_element_get_static_pad),
18370         (gst_element_request_pad), (gst_element_get_request_pad),
18371         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
18372         (gst_element_class_get_pad_template_list),
18373         (gst_element_class_get_pad_template), (gst_element_error_func),
18374         (gst_element_get_random_pad), (gst_element_get_event_masks),
18375         (gst_element_send_event), (gst_element_seek),
18376         (gst_element_get_query_types), (gst_element_query),
18377         (gst_element_get_formats), (gst_element_convert),
18378         (gst_element_is_locked_state), (gst_element_set_locked_state),
18379         (gst_element_sync_state_with_parent), (gst_element_change_state),
18380         (gst_element_finalize), (gst_element_yield),
18381         (gst_element_interrupt), (gst_element_set_scheduler),
18382         (gst_element_get_scheduler), (gst_element_set_loop_function):
18383         * gst/gstelement.h:
18384         * gst/gstevent.h:
18385         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
18386         (gst_format_get_by_nick), (gst_format_get_details),
18387         (gst_format_iterate_definitions):
18388         * gst/gstformat.h:
18389         * gst/gstindex.c: (gst_index_gtype_resolver):
18390         * gst/gstinfo.c:
18391         * gst/gstinfo.h:
18392         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
18393         (gst_mem_chunk_free):
18394         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18395         (gst_object_ref), (gst_object_unref), (gst_object_sink),
18396         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
18397         (gst_object_dispatch_properties_changed),
18398         (gst_object_set_name_default), (gst_object_set_name),
18399         (gst_object_get_name), (gst_object_set_name_prefix),
18400         (gst_object_get_name_prefix), (gst_object_set_parent),
18401         (gst_object_get_parent), (gst_object_unparent),
18402         (gst_object_check_uniqueness), (gst_object_save_thyself),
18403         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
18404         (gst_object_set_property), (gst_object_get_property),
18405         (gst_object_get_path_string):
18406         * gst/gstobject.h:
18407         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18408         (gst_real_pad_init), (gst_real_pad_get_property),
18409         (gst_pad_custom_new), (gst_pad_get_direction),
18410         (gst_pad_set_active), (gst_pad_is_active),
18411         (gst_pad_set_event_function), (gst_pad_is_linked),
18412         (gst_pad_link_free), (gst_pad_link_intersect),
18413         (gst_pad_link_fixate), (gst_pad_set_caps),
18414         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
18415         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
18416         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
18417         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
18418         (gst_pad_get_caps), (gst_pad_peer_get_caps),
18419         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
18420         (gst_pad_realize), (gst_pad_get_allowed_caps),
18421         (gst_real_pad_dispose), (gst_real_pad_finalize),
18422         (gst_pad_collectv), (gst_pad_collect_valist),
18423         (gst_pad_template_dispose), (gst_pad_template_new),
18424         (gst_pad_get_internal_links):
18425         * gst/gstpad.h:
18426         * gst/gstpipeline.c: (gst_pipeline_dispose),
18427         (gst_pipeline_change_state):
18428         * gst/gstpipeline.h:
18429         * gst/gstplugin.c:
18430         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
18431         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
18432         * gst/gstpluginfeature.h:
18433         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
18434         * gst/gstquery.c: (_gst_query_type_initialize),
18435         (gst_query_type_register), (gst_query_type_get_by_nick),
18436         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
18437         * gst/gstquery.h:
18438         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
18439         * gst/gstscheduler.c: (gst_scheduler_add_element),
18440         (gst_scheduler_factory_create):
18441         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18442         (gst_structure_free), (gst_structure_set_name),
18443         (gst_structure_id_set_value), (gst_structure_set_value),
18444         (gst_structure_set_valist), (gst_structure_remove_field),
18445         (gst_structure_remove_fields),
18446         (gst_structure_remove_fields_valist),
18447         (gst_structure_remove_all_fields), (gst_structure_foreach),
18448         (gst_structure_map_in_place),
18449         (gst_caps_structure_fixate_field_nearest_int),
18450         (gst_caps_structure_fixate_field_nearest_double):
18451         * gst/gststructure.h:
18452         * gst/gstsystemclock.c: (gst_system_clock_class_init),
18453         (gst_system_clock_init), (gst_system_clock_dispose),
18454         (gst_system_clock_async_thread),
18455         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
18456         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
18457         * gst/gstsystemclock.h:
18458         * gst/gsttag.c: (gst_tag_list_add_value_internal),
18459         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
18460         * gst/gsttaginterface.c:
18461         * gst/gstthread.c: (gst_thread_dispose),
18462         (gst_thread_release_children_locks), (gst_thread_change_state),
18463         (gst_thread_main_loop):
18464         * gst/gsttrashstack.h:
18465         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
18466         * gst/gsttypes.h:
18467         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18468         (gst_element_request_pad), (gst_element_get_pad_from_template),
18469         (gst_element_request_compatible_pad),
18470         (gst_element_get_compatible_pad_filtered),
18471         (gst_element_get_compatible_pad), (gst_element_state_get_name),
18472         (gst_element_link_pads_filtered), (gst_element_link_filtered),
18473         (gst_element_link_many), (gst_element_link),
18474         (gst_element_link_pads), (gst_element_unlink_pads),
18475         (gst_element_unlink_many), (gst_element_unlink),
18476         (gst_pad_can_link_filtered), (gst_pad_can_link),
18477         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
18478         (gst_object_default_error), (gst_bin_add_many),
18479         (gst_bin_remove_many), (gst_element_populate_std_props),
18480         (gst_element_class_install_std_props), (gst_buffer_merge),
18481         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
18482         (link_fold_func), (gst_pad_proxy_setcaps):
18483         * gst/gstutils.h:
18484         * gst/gstvalue.c: (gst_value_deserialize_string):
18485         * gst/parse/grammar.y:
18486         * gst/schedulers/gstbasicscheduler.c:
18487         (gst_basic_scheduler_cothreaded_chain),
18488         (gst_basic_scheduler_chain_recursive_add),
18489         (gst_basic_scheduler_pad_link):
18490         * gst/schedulers/gstoptimalscheduler.c:
18491         (get_group_schedule_function),
18492         (gst_opt_scheduler_state_transition),
18493         (gst_opt_scheduler_add_element), (element_get_reachables_func):
18494         * libs/gst/bytestream/bytestream.c:
18495         * libs/gst/dataprotocol/dataprotocol.c:
18496         (gst_dp_header_from_buffer):
18497         * po/nb.po:
18498         * po/ru.po:
18499         * tests/threadstate/threadstate2.c: (eos):
18500         * tools/gst-compprep.c: (main):
18501         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
18502         (print_pad_info), (print_children_info):
18503         * tools/gst-launch.c: (idle_func), (main):
18504         * tools/gst-md5sum.c: (idle_func), (main):
18505         * tools/gst-xmlinspect.c: (print_element_info):
18506         First THREADED backport attempt, focusing on adding locks and
18507         making sure the API is threadsafe. Needs more work. More docs
18508         follow this week.
18509
18510 2005-02-24  Andy Wingo  <wingo@pobox.com>
18511
18512         * tests/bench-complexity.scm:
18513         * tests/complexity.gnuplot: New files, good for running complexity
18514         benchmarks.
18515
18516         * tests/Makefile.am:
18517         * tests/complexity.c: New test, sets up N elements, at each level
18518         teeing into M streams per element. Eeeenteresting.
18519
18520         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18521         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18522         running bench-mass_elements.scm.
18523
18524         * tests/bench-mass_elements.scm: New script, runs mass_elements
18525         for various numbers of identities, outputting the results to a
18526         file. Requires guile 1.6. Just for testing.
18527
18528 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18529
18530         * gst/schedulers/fairscheduler.c:
18531           compile with debug disabled
18532
18533 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18534
18535         * configure.ac:
18536           hunting season on 0.9 is now OPEN